sysy-data/hidden_functional_c/asm/31_many_indirections.s

453 lines
7.1 KiB
ArmAsm
Raw Normal View History

2024-06-14 13:34:46 +08:00
.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