453 lines
7.1 KiB
ArmAsm
453 lines
7.1 KiB
ArmAsm
.text
|
|
.attribute 4, 16
|
|
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
|
|
.file "31_many_indirections.sy"
|
|
.globl main
|
|
.p2align 1
|
|
.type main,@function
|
|
main:
|
|
addi sp, sp, -16
|
|
sd ra, 8(sp)
|
|
li a0, 0
|
|
lui a1, %hi(array)
|
|
addi a1, a1, %lo(array)
|
|
li a2, 100
|
|
.LBB0_1:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_1
|
|
li a0, 0
|
|
lui a1, %hi(array+400)
|
|
addi a1, a1, %lo(array+400)
|
|
li a2, 100
|
|
.LBB0_3:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_3
|
|
li a0, 0
|
|
lui a1, %hi(array+800)
|
|
addi a1, a1, %lo(array+800)
|
|
li a2, 100
|
|
.LBB0_5:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_5
|
|
li a0, 0
|
|
lui a1, %hi(array+1200)
|
|
addi a1, a1, %lo(array+1200)
|
|
li a2, 100
|
|
.LBB0_7:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_7
|
|
li a0, 0
|
|
lui a1, %hi(array+1600)
|
|
addi a1, a1, %lo(array+1600)
|
|
li a2, 100
|
|
.LBB0_9:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_9
|
|
li a0, 0
|
|
lui a1, %hi(array+2000)
|
|
addi a1, a1, %lo(array+2000)
|
|
li a2, 100
|
|
.LBB0_11:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_11
|
|
li a0, 0
|
|
lui a1, %hi(array+1200)
|
|
addi a1, a1, %lo(array+1200)
|
|
addi a1, a1, 1200
|
|
li a2, 100
|
|
.LBB0_13:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_13
|
|
li a0, 0
|
|
lui a1, %hi(array+1400)
|
|
addi a1, a1, %lo(array+1400)
|
|
addi a1, a1, 1400
|
|
li a2, 100
|
|
.LBB0_15:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_15
|
|
li a0, 0
|
|
lui a1, %hi(array+1600)
|
|
addi a1, a1, %lo(array+1600)
|
|
addi a1, a1, 1600
|
|
li a2, 100
|
|
.LBB0_17:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_17
|
|
li a0, 0
|
|
lui a1, %hi(array+1800)
|
|
addi a1, a1, %lo(array+1800)
|
|
addi a1, a1, 1800
|
|
li a2, 100
|
|
.LBB0_19:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_19
|
|
li a0, 0
|
|
lui a1, %hi(array+2000)
|
|
addi a1, a1, %lo(array+2000)
|
|
addi a1, a1, 2000
|
|
li a2, 100
|
|
.LBB0_21:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_21
|
|
li a0, 0
|
|
lui a1, 1
|
|
addiw a1, a1, 304
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_23:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_23
|
|
li a0, 0
|
|
lui a1, 1
|
|
addiw a1, a1, 704
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_25:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_25
|
|
li a0, 0
|
|
lui a1, 1
|
|
addiw a1, a1, 1104
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_27:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_27
|
|
li a0, 0
|
|
lui a1, 1
|
|
addiw a1, a1, 1504
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_29:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_29
|
|
li a0, 0
|
|
lui a1, 1
|
|
addiw a1, a1, 1904
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_31:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_31
|
|
li a0, 0
|
|
lui a1, 2
|
|
addiw a1, a1, -1792
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_33:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_33
|
|
li a0, 0
|
|
lui a1, 2
|
|
addiw a1, a1, -1392
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_35:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_35
|
|
li a0, 0
|
|
lui a1, 2
|
|
addiw a1, a1, -992
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_37:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_37
|
|
li a0, 0
|
|
lui a1, 2
|
|
addiw a1, a1, -592
|
|
lui a2, %hi(array)
|
|
addi a2, a2, %lo(array)
|
|
add a1, a1, a2
|
|
li a2, 100
|
|
.LBB0_39:
|
|
sw a0, 0(a1)
|
|
addi a0, a0, 1
|
|
addi a1, a1, 4
|
|
bne a0, a2, .LBB0_39
|
|
lui a1, 2
|
|
addiw a2, a1, -500
|
|
lui a0, %hi(array)
|
|
addi a0, a0, %lo(array)
|
|
add a2, a2, a0
|
|
lw a2, 0(a2)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
addiw a3, a1, -992
|
|
add a2, a2, a3
|
|
lw a2, 0(a2)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
addiw a3, a1, -1392
|
|
add a2, a2, a3
|
|
lw a2, 0(a2)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
addiw a3, a1, -1792
|
|
add a2, a2, a3
|
|
lw a2, 0(a2)
|
|
slli a2, a2, 2
|
|
add a3, a0, a2
|
|
lui a2, 1
|
|
addiw a4, a2, 1904
|
|
add a3, a3, a4
|
|
lw a3, 0(a3)
|
|
slli a3, a3, 2
|
|
add a3, a3, a0
|
|
addiw a4, a2, 1504
|
|
add a3, a3, a4
|
|
lw a3, 0(a3)
|
|
slli a3, a3, 2
|
|
add a3, a3, a0
|
|
addiw a4, a2, 1104
|
|
add a3, a3, a4
|
|
lw a3, 0(a3)
|
|
slli a3, a3, 2
|
|
add a3, a3, a0
|
|
addiw a4, a2, 704
|
|
addiw a1, a1, -520
|
|
add a1, a1, a0
|
|
lw a1, 0(a1)
|
|
add a3, a3, a4
|
|
lw a3, 0(a3)
|
|
li a4, 400
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 68(a1)
|
|
slli a3, a3, 2
|
|
add a3, a3, a0
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 64(a1)
|
|
addiw a2, a2, 304
|
|
add a2, a2, a3
|
|
lw a2, 0(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 60(a1)
|
|
slli a2, a2, 2
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 56(a1)
|
|
add a2, a2, a0
|
|
addi a2, a2, 2000
|
|
lw a2, 2000(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 52(a1)
|
|
slli a2, a2, 2
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 48(a1)
|
|
add a2, a2, a0
|
|
addi a2, a2, 1800
|
|
lw a2, 1800(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 44(a1)
|
|
slli a2, a2, 2
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 40(a1)
|
|
add a2, a2, a0
|
|
addi a2, a2, 1600
|
|
lw a2, 1600(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 36(a1)
|
|
slli a2, a2, 2
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 32(a1)
|
|
add a2, a2, a0
|
|
addi a2, a2, 1400
|
|
lw a2, 1400(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 28(a1)
|
|
slli a2, a2, 2
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 24(a1)
|
|
add a2, a2, a0
|
|
addi a2, a2, 1200
|
|
lw a2, 1200(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 20(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 2000(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 16(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 1600(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 12(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 1200(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 8(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 800(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 4(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 400(a2)
|
|
mul a1, a1, a4
|
|
add a1, a1, a0
|
|
lw a1, 0(a1)
|
|
slli a2, a2, 2
|
|
add a2, a2, a0
|
|
lw a2, 0(a2)
|
|
mul a1, a1, a4
|
|
add a0, a0, a1
|
|
lw a0, 224(a0)
|
|
addw a0, a0, a2
|
|
call putint
|
|
li a0, 0
|
|
ld ra, 8(sp)
|
|
addi sp, sp, 16
|
|
ret
|
|
.Lfunc_end0:
|
|
.size main, .Lfunc_end0-main
|
|
|
|
.type array,@object
|
|
.bss
|
|
.globl array
|
|
.p2align 2
|
|
array:
|
|
.zero 8000
|
|
.size array, 8000
|
|
|
|
.type _sysy_start,@object
|
|
.globl _sysy_start
|
|
.p2align 3
|
|
_sysy_start:
|
|
.zero 16
|
|
.size _sysy_start, 16
|
|
|
|
.type _sysy_end,@object
|
|
.globl _sysy_end
|
|
.p2align 3
|
|
_sysy_end:
|
|
.zero 16
|
|
.size _sysy_end, 16
|
|
|
|
.type _sysy_l1,@object
|
|
.globl _sysy_l1
|
|
.p2align 2
|
|
_sysy_l1:
|
|
.zero 4096
|
|
.size _sysy_l1, 4096
|
|
|
|
.type _sysy_l2,@object
|
|
.globl _sysy_l2
|
|
.p2align 2
|
|
_sysy_l2:
|
|
.zero 4096
|
|
.size _sysy_l2, 4096
|
|
|
|
.type _sysy_h,@object
|
|
.globl _sysy_h
|
|
.p2align 2
|
|
_sysy_h:
|
|
.zero 4096
|
|
.size _sysy_h, 4096
|
|
|
|
.type _sysy_m,@object
|
|
.globl _sysy_m
|
|
.p2align 2
|
|
_sysy_m:
|
|
.zero 4096
|
|
.size _sysy_m, 4096
|
|
|
|
.type _sysy_s,@object
|
|
.globl _sysy_s
|
|
.p2align 2
|
|
_sysy_s:
|
|
.zero 4096
|
|
.size _sysy_s, 4096
|
|
|
|
.type _sysy_us,@object
|
|
.globl _sysy_us
|
|
.p2align 2
|
|
_sysy_us:
|
|
.zero 4096
|
|
.size _sysy_us, 4096
|
|
|
|
.type _sysy_idx,@object
|
|
.section .sbss,"aw",@nobits
|
|
.globl _sysy_idx
|
|
.p2align 2
|
|
_sysy_idx:
|
|
.word 0
|
|
.size _sysy_idx, 4
|
|
|
|
.ident "Debian clang version 14.0.6"
|
|
.section ".note.GNU-stack","",@progbits
|
|
.addrsig
|