You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nudt-compiler-cpp/test_tmp/test_stack_args_simple.s

142 lines
3.0 KiB

.text
.globl func
.p2align 2
func:
.L.func.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #160
stur w0, [x29, #-4]
stur w1, [x29, #-8]
stur w2, [x29, #-12]
stur w3, [x29, #-16]
stur w4, [x29, #-20]
stur w5, [x29, #-24]
stur w6, [x29, #-28]
stur w7, [x29, #-32]
ldr w8, [sp, #176]
stur w8, [x29, #-36]
ldr w8, [sp, #184]
stur w8, [x29, #-40]
ldr w8, [sp, #192]
stur w8, [x29, #-44]
ldr w8, [sp, #200]
stur w8, [x29, #-48]
ldr w8, [sp, #208]
stur w8, [x29, #-52]
ldr w8, [sp, #216]
stur w8, [x29, #-56]
ldr w8, [sp, #224]
stur w8, [x29, #-60]
ldr w8, [sp, #232]
stur w8, [x29, #-64]
ldur w8, [x29, #-4]
stur w8, [x29, #-68]
ldur w8, [x29, #-8]
stur w8, [x29, #-72]
ldur w8, [x29, #-12]
stur w8, [x29, #-76]
ldur w8, [x29, #-16]
stur w8, [x29, #-80]
ldur w8, [x29, #-20]
stur w8, [x29, #-84]
ldur w8, [x29, #-24]
stur w8, [x29, #-88]
ldur w8, [x29, #-28]
stur w8, [x29, #-92]
ldur w8, [x29, #-32]
stur w8, [x29, #-96]
ldur w8, [x29, #-36]
stur w8, [x29, #-100]
ldur w8, [x29, #-40]
stur w8, [x29, #-104]
ldur w8, [x29, #-44]
stur w8, [x29, #-108]
ldur w8, [x29, #-48]
stur w8, [x29, #-112]
ldur w8, [x29, #-52]
stur w8, [x29, #-116]
ldur w8, [x29, #-56]
stur w8, [x29, #-120]
ldur w8, [x29, #-60]
stur w8, [x29, #-124]
ldur w8, [x29, #-64]
stur w8, [x29, #-128]
ldur w8, [x29, #-100]
stur w8, [x29, #-132]
ldur w8, [x29, #-104]
stur w8, [x29, #-136]
ldur w8, [x29, #-108]
stur w8, [x29, #-140]
ldur w8, [x29, #-112]
stur w8, [x29, #-144]
ldur w8, [x29, #-116]
stur w8, [x29, #-148]
ldur w8, [x29, #-120]
stur w8, [x29, #-152]
ldur w8, [x29, #-124]
stur w8, [x29, #-156]
ldur w8, [x29, #-128]
stur w8, [x29, #-160]
ldur w0, [x29, #-132]
ldur w8, [x29, #-136]
add w0, w0, w8
ldur w13, [x29, #-140]
add w0, w0, w13
ldur w12, [x29, #-144]
add w0, w0, w12
ldur w11, [x29, #-148]
add w0, w0, w11
ldur w10, [x29, #-152]
add w0, w0, w10
ldur w9, [x29, #-156]
add w0, w0, w9
ldur w8, [x29, #-160]
add w0, w0, w8
add sp, sp, #160
ldp x29, x30, [sp], #16
ret
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
mov w0, #1
mov w1, #2
mov w2, #3
mov w3, #4
mov w4, #5
mov w5, #6
mov w6, #7
mov w7, #8
mov x14, #64
sub sp, sp, x14
mov w8, #9
str w8, [sp, #0]
mov w8, #10
str w8, [sp, #8]
mov w8, #11
str w8, [sp, #16]
mov w8, #12
str w8, [sp, #24]
mov w8, #13
str w8, [sp, #32]
mov w8, #14
str w8, [sp, #40]
mov w8, #15
str w8, [sp, #48]
mov w8, #16
str w8, [sp, #56]
bl func
mov x14, #64
add sp, sp, x14
stur w0, [x29, #-4]
ldur w0, [x29, #-4]
add sp, sp, #16
ldp x29, x30, [sp], #16
ret