70 lines · plain
1; RUN: llc -mtriple thumbv7em-apple-darwin -o - < %s | FileCheck %s2 3%"struct.s1" = type { [19 x i32] }4 5define void @f0(ptr byval(%"struct.s1") %0, ptr %1) #1 {6; CHECK-LABEL: _f0: @ @f07; CHECK-NEXT: @ %bb.0:8; CHECK-NEXT: sub sp, #169; CHECK-NEXT: push {r4, lr}10; CHECK-NEXT: sub sp, #7611; CHECK-NEXT: add.w r9, sp, #8412; CHECK-NEXT: stm.w r9, {r0, r1, r2, r3}13; CHECK-NEXT: mov r0, sp14; CHECK-NEXT: add r1, sp, #8415; CHECK-NEXT: movs r2, #7616; CHECK-NEXT: mov r3, r017; CHECK-NEXT: LBB0_1: @ =>This Inner Loop Header: Depth=118; CHECK-NEXT: ldr r4, [r1], #419; CHECK-NEXT: subs r2, #420; CHECK-NEXT: str r4, [r3], #421; CHECK-NEXT: bne LBB0_122; CHECK-NEXT: @ %bb.2:23; CHECK-NEXT: add.w r1, r0, #1224; CHECK-NEXT: add r2, sp, #10025; CHECK-NEXT: ldr r0, [sp, #160]26; CHECK-NEXT: ldr r3, [r1], #427; CHECK-NEXT: str r3, [r2], #428; CHECK-NEXT: ldr r3, [r1], #429; CHECK-NEXT: str r3, [r2], #430; CHECK-NEXT: ldr r3, [r1], #431; CHECK-NEXT: str r3, [r2], #432; CHECK-NEXT: ldr r3, [r1], #433; CHECK-NEXT: str r3, [r2], #434; CHECK-NEXT: ldr r3, [r1], #435; CHECK-NEXT: str r3, [r2], #436; CHECK-NEXT: ldr r3, [r1], #437; CHECK-NEXT: str r3, [r2], #438; CHECK-NEXT: ldr r3, [r1], #439; CHECK-NEXT: str r3, [r2], #440; CHECK-NEXT: ldr r3, [r1], #441; CHECK-NEXT: str r3, [r2], #442; CHECK-NEXT: ldr r3, [r1], #443; CHECK-NEXT: str r3, [r2], #444; CHECK-NEXT: ldr r3, [r1], #445; CHECK-NEXT: str r3, [r2], #446; CHECK-NEXT: ldr r3, [r1], #447; CHECK-NEXT: str r3, [r2], #448; CHECK-NEXT: ldr r3, [r1], #449; CHECK-NEXT: str r3, [r2], #450; CHECK-NEXT: ldr r3, [r1], #451; CHECK-NEXT: str r3, [r2], #452; CHECK-NEXT: ldr r3, [r1], #453; CHECK-NEXT: str r3, [r2], #454; CHECK-NEXT: ldr r3, [r1], #455; CHECK-NEXT: str r3, [r2], #456; CHECK-NEXT: ldr r3, [r1], #457; CHECK-NEXT: str r3, [r2], #458; CHECK-NEXT: ldm.w sp, {r1, r2, r3}59; CHECK-NEXT: add sp, #7660; CHECK-NEXT: pop.w {r4, lr}61; CHECK-NEXT: add sp, #1662; CHECK-NEXT: b.w _f163 tail call void @f1(ptr %1, ptr byval(%"struct.s1") %0)64 ret void65}66 67declare void @f1(ptr, ptr)68 69attributes #1 = { nounwind "frame-pointes"="non-leaf" }70