1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple arm-eabi -disable-fp-elim -filetype asm -o - %s \ 2*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck -check-prefix CHECK-ARM %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple thumb-eabi -disable-fp-elim -filetype asm -o - %s \ 5*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck -check-prefix CHECK-THUMB %s 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple arm-darwin -disable-fp-elim -filetype asm -o - %s \ 8*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck -check-prefix CHECK-DARWIN-ARM %s 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple thumb-darwin -disable-fp-elim -filetype asm -o - %s \ 11*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck -check-prefix CHECK-DARWIN-THUMB %s 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdeclare void @callee(i32) 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdefine i32 @calleer(i32 %i) { 16*9880d681SAndroid Build Coastguard Workerentry: 17*9880d681SAndroid Build Coastguard Worker %i.addr = alloca i32, align 4 18*9880d681SAndroid Build Coastguard Worker %j = alloca i32, align 4 19*9880d681SAndroid Build Coastguard Worker store i32 %i, i32* %i.addr, align 4 20*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %i.addr, align 4 21*9880d681SAndroid Build Coastguard Worker %add = add nsw i32 %0, 1 22*9880d681SAndroid Build Coastguard Worker store i32 %add, i32* %j, align 4 23*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %j, align 4 24*9880d681SAndroid Build Coastguard Worker call void @callee(i32 %1) 25*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %j, align 4 26*9880d681SAndroid Build Coastguard Worker %add1 = add nsw i32 %2, 1 27*9880d681SAndroid Build Coastguard Worker ret i32 %add1 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker; CHECK-ARM: push {r11, lr} 31*9880d681SAndroid Build Coastguard Worker; CHECK-ARM: mov r11, sp 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: push {r7, lr} 34*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: add r7, sp, #0 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-ARM: push {r7, lr} 37*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-THUMB: push {r7, lr} 38*9880d681SAndroid Build Coastguard Worker 39