; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=mipsel-sony-psx -mcpu=mips1 -relocation-model=pic | FileCheck %s -check-prefixes=MIPS1-PSX @data = internal global <{ [1 x i8] }> <{ [1 x i8] c"\00" }>, align 4 define internal fastcc void @test() unnamed_addr #0 { ; MIPS1-PSX-LABEL: test: ; MIPS1-PSX: # %bb.0: # %start ; MIPS1-PSX-NEXT: lui $2, %hi(_gp_disp) ; MIPS1-PSX-NEXT: addiu $2, $2, %lo(_gp_disp) ; MIPS1-PSX-NEXT: addu $1, $2, $25 ; MIPS1-PSX-NEXT: lw $2, %got(data)($1) ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: addiu $1, $2, %lo(data) ; MIPS1-PSX-NEXT: lbu $1, 2($1) ; MIPS1-PSX-NEXT: addiu $3, $zero, 2 ; MIPS1-PSX-NEXT: bne $1, $3, $BB0_2 ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: $BB0_1: # %unreachable.1 ; MIPS1-PSX-NEXT: .insn ; MIPS1-PSX-NEXT: $BB0_2: # %bb6.i ; MIPS1-PSX-NEXT: lbu $2, %lo(data)($2) ; MIPS1-PSX-NEXT: addiu $1, $zero, 1 ; MIPS1-PSX-NEXT: bnez $1, $BB0_5 ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: # %bb.3: # %bb9.i ; MIPS1-PSX-NEXT: andi $1, $2, 1 ; MIPS1-PSX-NEXT: bnez $1, $BB0_1 ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: # %bb.4: # %bb9.i ; MIPS1-PSX-NEXT: b $BB0_6 ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: $BB0_5: # %bb10.i ; MIPS1-PSX-NEXT: andi $1, $2, 1 ; MIPS1-PSX-NEXT: bnez $1, $BB0_1 ; MIPS1-PSX-NEXT: nop ; MIPS1-PSX-NEXT: $BB0_6: # %unreachable.2 ; MIPS1-PSX-NEXT: .insn start: %0 = load i8, ptr getelementptr inbounds nuw (i8, ptr @data, i32 2), align 2, !range !{i8 0, i8 3}, !noundef !{} %.not.i = icmp eq i8 %0, 2 br i1 %.not.i, label %unreachable.1, label %bb6.i bb6.i: ; preds = %start %1 = trunc nuw i8 0 to i1 %2 = load i8, ptr @data, align 4, !range !{i8 0, i8 2}, !noundef !{} %3 = trunc nuw i8 %2 to i1 br i1 %1, label %bb9.i, label %bb10.i bb9.i: ; preds = %bb6.i br i1 %3, label %unreachable.1, label %unreachable.2 bb10.i: ; preds = %bb6.i br i1 %3, label %unreachable.1, label %unreachable.2 unreachable.1: unreachable unreachable.2: unreachable }