1; RUN: llc -march=mipsel -force-mips-long-branch -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=O32 2; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 -force-mips-long-branch -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=N64 3 4@g0 = external global i32 5 6define void @foo1(i32 %s) nounwind { 7entry: 8; O32: nop 9; O32: addiu $sp, $sp, -8 10; O32: bal 11; O32: lui $1, 0 12; O32: addiu $1, $1, {{[0-9]+}} 13; N64: nop 14; N64: daddiu $sp, $sp, -16 15; N64: lui $1, 0 16; N64: daddiu $1, $1, 0 17; N64: dsll $1, $1, 16 18; N64: daddiu $1, $1, 0 19; N64: bal 20; N64: dsll $1, $1, 16 21; N64: daddiu $1, $1, {{[0-9]+}} 22 23 %tobool = icmp eq i32 %s, 0 24 br i1 %tobool, label %if.end, label %if.then 25 26if.then: ; preds = %entry 27 %0 = load i32* @g0, align 4 28 %add = add nsw i32 %0, 12 29 store i32 %add, i32* @g0, align 4 30 br label %if.end 31 32if.end: ; preds = %entry, %if.then 33 ret void 34} 35 36