84 lines · plain
1; RUN: llc -O2 -mtriple=thumbv7m-eabi < %s | FileCheck %s2; RUN: llc -O2 -mtriple=thumbv8m.main-eabi < %s | FileCheck %s3 4define dso_local i32 @test_for_tbb_tbh_cases(i32 noundef %x) local_unnamed_addr #0 {5entry:6 switch i32 %x, label %sw.default [7 i32 0, label %sw.bb8 i32 1, label %return9 i32 2, label %sw.bb210 i32 3, label %sw.bb311 ]12 13sw.bb: ; preds = %entry14 %call = tail call i32 @g(i32 noundef 0) #215 %add = add nsw i32 %call, 116 br label %return17 18sw.bb2: ; preds = %entry19 br label %return20 21sw.bb3: ; preds = %entry22 br label %return23 24sw.default: ; preds = %entry25 br label %return26 27return: ; preds = %entry, %sw.default, %sw.bb3, %sw.bb2, %sw.bb28 %retval.0 = phi i32 [ 5, %sw.default ], [ 4, %sw.bb3 ], [ 3, %sw.bb2 ], [ %add, %sw.bb ], [ 2, %entry ]29 ret i32 %retval.030 31; CHECK: tbb [pc, r1]32; CHECK-LABEL: .LBB0_3:33; CHECK-NOT: bti34; CHECK-LABEL: .LBB0_4:35; CHECK-NOT: bti36; CHECK-LABEL: .LBB0_5:37; CHECK-NOT: bti38; CHECK-LABEL: .LBB0_6:39; CHECK-NOT: bti40; CHECK-LABEL: .LBB0_7:41; CHECK-NOT: bti42}43 44declare dso_local i32 @g(i32 noundef) local_unnamed_addr #145 46define dso_local i32 @test_for_direct_jump_cases(i32 noundef %x) local_unnamed_addr #0 {47entry:48 switch i32 %x, label %sw.default [49 i32 0, label %sw.bb50 i32 2, label %cleanup51 i32 8, label %sw.bb252 i32 5, label %sw.bb353 ]54 55sw.bb: ; preds = %entry56 tail call void asm sideeffect ".space 140000", ""()57 br label %cleanup58 59sw.bb2: ; preds = %entry60 br label %cleanup61 62sw.bb3: ; preds = %entry63 br label %cleanup64 65sw.default: ; preds = %entry66 br label %cleanup67 68cleanup: ; preds = %entry, %sw.default, %sw.bb3, %sw.bb2, %sw.bb69 %retval.0 = phi i32 [ 5, %sw.default ], [ 4, %sw.bb3 ], [ 3, %sw.bb2 ], [ 1, %sw.bb ], [ %x, %entry ]70 ret i32 %retval.071 72; CHECK: mov pc, r173; CHECK-LABEL: .LBB1_3:74; CHECK-NOT: bti75; CHECK-LABEL: .LBB1_4:76; CHECK-NOT: bti77; CHECK-LABEL: .LBB1_5:78; CHECK-NOT: bti79; CHECK-LABEL: .LBB1_6:80; CHECK-NOT: bti81; CHECK-LABEL: .LBB1_7:82; CHECK-NOT: bti83}84