39 lines · plain
1; RUN: llc -mtriple arm-eabi -frame-pointer=all -filetype asm -o - %s \2; RUN: | FileCheck -check-prefix CHECK-ARM %s3 4; RUN: llc -mtriple thumb-eabi -frame-pointer=all -filetype asm -o - %s \5; RUN: | FileCheck -check-prefix CHECK-THUMB %s6 7; RUN: llc -mtriple arm-darwin -frame-pointer=all -filetype asm -o - %s \8; RUN: | FileCheck -check-prefix CHECK-DARWIN-ARM %s9 10; RUN: llc -mtriple thumb-darwin -frame-pointer=all -filetype asm -o - %s \11; RUN: | FileCheck -check-prefix CHECK-DARWIN-THUMB %s12 13declare void @callee(i32)14 15define i32 @calleer(i32 %i) {16entry:17 %i.addr = alloca i32, align 418 %j = alloca i32, align 419 store i32 %i, ptr %i.addr, align 420 %0 = load i32, ptr %i.addr, align 421 %add = add nsw i32 %0, 122 store i32 %add, ptr %j, align 423 %1 = load i32, ptr %j, align 424 call void @callee(i32 %1)25 %2 = load i32, ptr %j, align 426 %add1 = add nsw i32 %2, 127 ret i32 %add128}29 30; CHECK-ARM: push {r11, lr}31; CHECK-ARM: mov r11, sp32 33; CHECK-THUMB: push {r7, lr}34; CHECK-THUMB: add r7, sp, #035 36; CHECK-DARWIN-ARM: push {r7, lr}37; CHECK-DARWIN-THUMB: push {r7, lr}38 39