[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Mips / compactbranches / unsafe-in-forbidden-slot.ll
blobd8046ea0e258a2e0593d0b4bccf64466430ec9d3
1 ; RUN: llc -march=mips64el -O0 -mcpu=mips64r6 < %s | FileCheck %s
2 ; RUN: llc -march=mips64 -O0 -mcpu=mips64r6 < %s | FileCheck %s
4 @boo = global i32 0, align 4
6 ; Function Attrs: nounwind
7 define void @_Z3foov() #0 {
8 entry:
9   %0 = load volatile i32, i32* @boo, align 4
10   switch i32 %0, label %sw.epilog [
11     i32 0, label %sw.bb
12     i32 1, label %sw.bb1
13     i32 2, label %sw.bb1
14   ]
16 sw.bb:                                            ; preds = %entry
17   store volatile i32 1, i32* @boo, align 4
18   br label %sw.epilog
19 ; CHECK: beqzc
20 ; CHECK-NEXT: nop
21 ; CHECK-NEXT: .LBB
22 ; CHECK-NEXT: j
24 sw.bb1:                                           ; preds = %entry, %entry
25   store volatile i32 2, i32* @boo, align 4
26   br label %sw.epilog
27 ; CHECK: bnezc
28 ; CHECK-NEXT: nop
29 ; CHECK-NEXT: .LBB
30 ; CHECK-NEXT: j
32 sw.epilog:                                        ; preds = %entry, %sw.bb1, %sw.bb
33   ret void