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.

545 lines
11 KiB

.data
.globl N
.p2align 2
N:
.word 10000
.text
.globl long_array
.p2align 2
long_array:
.L.long_array.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #4095
sub sp, sp, #1293
str x21, [sp, #0]
str x19, [sp, #8]
str x20, [sp, #16]
mov w20, w0
mov w10, #0
b .L.long_array.1
.L.long_array.29:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #3145
ldr w8, [x8, w21, uxtw #2]
add w9, w19, w8
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #1245
ldr w8, [x8, w10, uxtw #2]
add w9, w9, w8
mov w8, #13333
sdiv w14, w9, w8
msub w9, w14, w8, w9
mov w8, #2
add w8, w10, #2
b .L.long_array.30
.L.long_array.30:
mov w10, w8
mov w19, w9
b .L.long_array.25
.L.long_array.25:
mov w8, #10000
cmp w10, w8
b.ge .L.long_array.27
.L.long_array.26:
mov w8, #2233
cmp w10, w8
b.le .L.long_array.29
.L.long_array.28:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #2195
ldr w8, [x8, w21, uxtw #2]
add w8, w19, w8
mov x9, x29
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #3145
ldr w9, [x9, w10, uxtw #2]
sub w9, w8, w9
mov w8, #1
add w8, w10, #1
b .L.long_array.30
.L.long_array.23:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #1245
ldr w8, [x8, w21, uxtw #2]
mul w9, w8, w20
madd w8, w8, w20, w19
movz w9, #34452
movk w9, #1, lsl #16
sdiv w14, w8, w9
msub w19, w14, w9, w8
b .L.long_array.24
.L.long_array.24:
mov w8, w21
b .L.long_array.18
.L.long_array.18:
mov w21, w8
b .L.long_array.15
.L.long_array.15:
mov w8, #1
add w21, w21, #1
b .L.long_array.10
.L.long_array.10:
mov w8, #10000
cmp w21, w8
b.ge .L.long_array.12
.L.long_array.11:
mov w8, #10
cmp w21, w8
b.ge .L.long_array.14
.L.long_array.13:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #1245
ldr w8, [x8, w21, uxtw #2]
add w9, w19, w8
mov w8, #1333
sdiv w14, w9, w8
msub w19, w14, w8, w9
mov w0, w19
bl putint
b .L.long_array.15
.L.long_array.20:
mov x9, x29
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #1245
ldr w9, [x9, w21, uxtw #2]
add w10, w19, w9
mov x9, x29
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #3145
ldr w9, [x9, w8, uxtw #2]
sub w19, w10, w9
mov w9, #1
add w8, w8, #1
b .L.long_array.19
.L.long_array.19:
mov w9, #10000
cmp w8, w9
b.lt .L.long_array.20
.L.long_array.21:
mov w0, w19
bl putint
mov w8, w21
b .L.long_array.18
.L.long_array.27:
mov w0, w19
bl putint
b .L.long_array.24
.L.long_array.14:
mov w8, #20
cmp w21, w8
b.ge .L.long_array.17
.L.long_array.16:
mov w8, #5000
b .L.long_array.19
.L.long_array.17:
mov w8, #30
cmp w21, w8
b.ge .L.long_array.23
.L.long_array.22:
mov w10, #5000
b .L.long_array.25
.L.long_array.12:
mov w0, w19
ldr x21, [sp, #0]
ldr x19, [sp, #8]
ldr x20, [sp, #16]
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #4095
add sp, sp, #1293
ldp x29, x30, [sp], #16
ret
.L.long_array.8:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #2195
ldr w8, [x8, w10, uxtw #2]
mul w9, w8, w8
mov w8, #100
sdiv w14, w9, w8
msub w9, w14, w8, w9
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #3145
ldr w8, [x8, w10, uxtw #2]
add w9, w9, w8
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #1245
str w9, [x8, w10, uxtw #2]
mov w8, #1
add w8, w10, #1
mov w10, w8
b .L.long_array.7
.L.long_array.7:
mov w8, #10000
cmp w10, w8
b.lt .L.long_array.8
.L.long_array.9:
mov w8, #0
mov w19, w8
mov w21, w8
b .L.long_array.10
.L.long_array.5:
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #3145
ldr w8, [x8, w10, uxtw #2]
mul w9, w8, w8
mov w8, #10
sdiv w14, w9, w8
msub w9, w14, w8, w9
mov x8, x29
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #4095
sub x8, x8, #2195
str w9, [x8, w10, uxtw #2]
mov w8, #1
add w8, w10, #1
mov w10, w8
b .L.long_array.4
.L.long_array.4:
mov w8, #10000
cmp w10, w8
b.lt .L.long_array.5
.L.long_array.6:
mov w10, #0
b .L.long_array.7
.L.long_array.2:
mul w8, w10, w10
mov w9, #10
sdiv w14, w8, w9
msub w8, w14, w9, w8
mov x9, x29
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #4095
sub x9, x9, #3145
str w8, [x9, w10, uxtw #2]
mov w8, #1
add w8, w10, #1
mov w10, w8
b .L.long_array.1
.L.long_array.1:
mov w8, #10000
cmp w10, w8
b.lt .L.long_array.2
.L.long_array.3:
mov w10, #0
b .L.long_array.4
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
mov w8, #9
mov w0, w8
bl long_array
mov w8, w0
mov w0, w8
ldp x29, x30, [sp], #16
ret