1 ; RUN: llc -march=mipsel -relocation-model=pic -O0 -fast-isel-abort=1 -mcpu=mips32r2 \ 2 ; RUN: < %s | FileCheck %s 3 ; RUN: llc -march=mipsel -relocation-model=pic -O0 -fast-isel-abort=1 -mcpu=mips32 \ 4 ; RUN: < %s | FileCheck %s 5 6 @b = global i32 1, align 4 7 @i = global i32 0, align 4 8 @.str = private unnamed_addr constant [5 x i8] c"%i \0A\00", align 1 9 10 ; Function Attrs: nounwind 11 define void @br() #0 { 12 entry: 13 %0 = load i32, i32* @b, align 4 14 %tobool = icmp eq i32 %0, 0 15 br i1 %tobool, label %if.end, label %if.then 16 17 if.then: ; preds = %entry 18 store i32 6754, i32* @i, align 4 19 br label %if.end 20 21 if.end: ; preds = %entry, %if.then 22 ret void 23 ; FIXME: This instruction is redundant. 24 ; CHECK: xor $[[REG1:[0-9]+]], ${{[0-9]+}}, $zero 25 ; CHECK: sltiu $[[REG2:[0-9]+]], $[[REG1]], 1 26 ; CHECK: bgtz $[[REG2]], $BB[[BL:[0-9]+_[0-9]+]] 27 ; CHECK: nop 28 ; CHECK: addiu ${{[0-9]+}}, $zero, 6754 29 ; CHECK: sw ${{[0-9]+}}, 0(${{[0-9]+}}) 30 ; CHECK: $BB[[BL]]: 31 32 } 33 34 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 35