diff options
Diffstat (limited to 'test/CodeGen/ARM/constant-islands.ll')
-rw-r--r-- | test/CodeGen/ARM/constant-islands.ll | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/constant-islands.ll b/test/CodeGen/ARM/constant-islands.ll new file mode 100644 index 0000000..afa4b85 --- /dev/null +++ b/test/CodeGen/ARM/constant-islands.ll @@ -0,0 +1,25 @@ +; RUN: llc -mtriple=thumbv7-linux-gnueabihf -O0 -fast-isel=0 -o - %s | FileCheck %s + +define void @test_no_duplicate_branches(float %in) { +; CHECK-LABEL: test_no_duplicate_branches: +; CHECK: vldr {{s[0-9]+}}, [[CONST:\.LCPI[0-9]+_[0-9]+]] +; CHECK: b .LBB +; CHECK-NOT: b .LBB +; CHECK: [[CONST]]: +; CHECK-NEXT: .long 1150963712 + + %tst = fcmp oeq float %in, 1234.5 + + %chain = zext i1 %tst to i32 + + br i1 %tst, label %true, label %false + +true: + call i32 @llvm.arm.space(i32 2000, i32 undef) + ret void + +false: + ret void +} + +declare i32 @llvm.arm.space(i32, i32) |