1*9880d681SAndroid Build Coastguard Worker; RUN: llc %s -march=mipsel -mcpu=mips32r2 -mattr=micromips -filetype=asm \ 2*9880d681SAndroid Build Coastguard Worker; RUN: -relocation-model=static -o - | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine i32 @sum(i32 %a, i32 %b) nounwind uwtable { 5*9880d681SAndroid Build Coastguard Workerentry: 6*9880d681SAndroid Build Coastguard Worker %a.addr = alloca i32, align 4 7*9880d681SAndroid Build Coastguard Worker %b.addr = alloca i32, align 4 8*9880d681SAndroid Build Coastguard Worker store i32 %a, i32* %a.addr, align 4 9*9880d681SAndroid Build Coastguard Worker store i32 %b, i32* %b.addr, align 4 10*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %a.addr, align 4 11*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %b.addr, align 4 12*9880d681SAndroid Build Coastguard Worker %add = add nsw i32 %0, %1 13*9880d681SAndroid Build Coastguard Worker ret i32 %add 14*9880d681SAndroid Build Coastguard Worker} 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdefine i32 @main() nounwind uwtable { 17*9880d681SAndroid Build Coastguard Workerentry: 18*9880d681SAndroid Build Coastguard Worker %retval = alloca i32, align 4 19*9880d681SAndroid Build Coastguard Worker %x = alloca i32, align 4 20*9880d681SAndroid Build Coastguard Worker %y = alloca i32, align 4 21*9880d681SAndroid Build Coastguard Worker %z = alloca i32, align 4 22*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %retval 23*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %y, align 4 24*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %z, align 4 25*9880d681SAndroid Build Coastguard Worker %call = call i32 @sum(i32 %0, i32 %1) 26*9880d681SAndroid Build Coastguard Worker store i32 %call, i32* %x, align 4 27*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %x, align 4 28*9880d681SAndroid Build Coastguard Worker ret i32 %2 29*9880d681SAndroid Build Coastguard Worker} 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker; CHECK: .text 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker; CHECK: .globl sum 34*9880d681SAndroid Build Coastguard Worker; CHECK: .type sum,@function 35*9880d681SAndroid Build Coastguard Worker; CHECK: .set micromips 36*9880d681SAndroid Build Coastguard Worker; CHECK: .ent sum 37*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: sum: 38*9880d681SAndroid Build Coastguard Worker; CHECK: .end sum 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker; CHECK: .globl main 41*9880d681SAndroid Build Coastguard Worker; CHECK: .type main,@function 42*9880d681SAndroid Build Coastguard Worker; CHECK: .set micromips 43*9880d681SAndroid Build Coastguard Worker; CHECK: .ent main 44*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: main: 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Worker; CHECK: jal sum 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker; CHECK: .end main 49