| ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM |
| ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-linux-gnueabi | FileCheck %s --check-prefix=ARM |
| ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB |
| |
| define i32 @t1(i32 %a, i32 %b) nounwind uwtable ssp { |
| entry: |
| ; THUMB-LABEL: t1: |
| ; ARM-LABEL: t1: |
| %x = add i32 %a, %b |
| br i1 1, label %if.then, label %if.else |
| ; THUMB-NOT: b {{\.?}}LBB0_1 |
| ; ARM-NOT: b {{\.?}}LBB0_1 |
| |
| if.then: ; preds = %entry |
| call void @foo1() |
| br label %if.end7 |
| |
| if.else: ; preds = %entry |
| br i1 0, label %if.then2, label %if.else3 |
| ; THUMB: b {{\.?}}LBB0_4 |
| ; ARM: b {{\.?}}LBB0_4 |
| |
| if.then2: ; preds = %if.else |
| call void @foo2() |
| br label %if.end6 |
| |
| if.else3: ; preds = %if.else |
| %y = sub i32 %a, %b |
| br i1 1, label %if.then5, label %if.end |
| ; THUMB-NOT: b {{\.?}}LBB0_5 |
| ; ARM-NOT: b {{\.?}}LBB0_5 |
| |
| if.then5: ; preds = %if.else3 |
| call void @foo1() |
| br label %if.end |
| |
| if.end: ; preds = %if.then5, %if.else3 |
| br label %if.end6 |
| |
| if.end6: ; preds = %if.end, %if.then2 |
| br label %if.end7 |
| |
| if.end7: ; preds = %if.end6, %if.then |
| ret i32 0 |
| } |
| |
| declare void @foo1() |
| |
| declare void @foo2() |