1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-linux-gnueabihf -O1 %s -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_jump_table: 4*9880d681SAndroid Build Coastguard Worker; CHECK: b{{.*}} .LBB 5*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: tbh 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine i32 @test_jump_table(i32 %x, float %in) { 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerh1: 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker %b0 = fadd float %in, 1234.5 12*9880d681SAndroid Build Coastguard Worker %b1 = fptoui float %b0 to i32 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker switch i32 %x, label %h2 [ 15*9880d681SAndroid Build Coastguard Worker i32 0, label %h3 16*9880d681SAndroid Build Coastguard Worker i32 2, label %h4 17*9880d681SAndroid Build Coastguard Worker i32 4, label %h5 18*9880d681SAndroid Build Coastguard Worker i32 6, label %h6 19*9880d681SAndroid Build Coastguard Worker ] 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerh2: 22*9880d681SAndroid Build Coastguard Worker %a0 = add i32 %x, 5 23*9880d681SAndroid Build Coastguard Worker br label %h3 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerh3: 26*9880d681SAndroid Build Coastguard Worker %d2 = phi i32 [%b1, %h1], [%a0, %h2] 27*9880d681SAndroid Build Coastguard Worker %d3 = add i32 %d2, 3 28*9880d681SAndroid Build Coastguard Worker br label %h4 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerh4: 31*9880d681SAndroid Build Coastguard Worker %c2 = phi i32 [%b1, %h1], [%d3, %h3] 32*9880d681SAndroid Build Coastguard Worker %c3 = add i32 %c2, 5 33*9880d681SAndroid Build Coastguard Worker br label %h5 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Workerh5: 36*9880d681SAndroid Build Coastguard Worker %a2 = phi i32 [%b1, %h1], [%c3, %h4] 37*9880d681SAndroid Build Coastguard Worker %a3 = add i32 %a2, 6 38*9880d681SAndroid Build Coastguard Worker br label %h6 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workerh6: 41*9880d681SAndroid Build Coastguard Worker %y = phi i32 [0, %h1], [%a3, %h5] 42*9880d681SAndroid Build Coastguard Worker call i32 @llvm.arm.space(i32 2000, i32 undef) 43*9880d681SAndroid Build Coastguard Worker ret i32 %y 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker} 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.arm.space(i32, i32) 48