| ; RUN: llc < %s -mtriple=thumbv7-linux-gnueabihf -O1 %s -o - | FileCheck %s | |
| ; CHECK-LABEL: test_jump_table: | |
| ; CHECK: b{{.*}} .LBB | |
| ; CHECK-NOT: tbh | |
| define i32 @test_jump_table(i32 %x, float %in) { | |
| h1: | |
| %b0 = fadd float %in, 1234.5 | |
| %b1 = fptoui float %b0 to i32 | |
| switch i32 %x, label %h2 [ | |
| i32 0, label %h3 | |
| i32 2, label %h4 | |
| i32 4, label %h5 | |
| i32 6, label %h6 | |
| ] | |
| h2: | |
| %a0 = add i32 %x, 5 | |
| br label %h3 | |
| h3: | |
| %d2 = phi i32 [%b1, %h1], [%a0, %h2] | |
| %d3 = add i32 %d2, 3 | |
| br label %h4 | |
| h4: | |
| %c2 = phi i32 [%b1, %h1], [%d3, %h3] | |
| %c3 = add i32 %c2, 5 | |
| br label %h5 | |
| h5: | |
| %a2 = phi i32 [%b1, %h1], [%c3, %h4] | |
| %a3 = add i32 %a2, 6 | |
| br label %h6 | |
| h6: | |
| %y = phi i32 [0, %h1], [%a3, %h5] | |
| call i32 @llvm.arm.space(i32 2000, i32 undef) | |
| ret i32 %y | |
| } | |
| declare i32 @llvm.arm.space(i32, i32) |