sysy-data/functional_c/asm/89_many_globals.s

728 lines
10 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 "89_many_globals.sy"
.globl testParam8
.p2align 1
.type testParam8,@function
testParam8:
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
addw a0, a0, a5
addw a0, a0, a6
addw a0, a0, a7
ret
.Lfunc_end0:
.size testParam8, .Lfunc_end0-testParam8
.globl testParam16
.p2align 1
.type testParam16,@function
testParam16:
addi sp, sp, -16
sd s0, 8(sp)
lw t0, 72(sp)
lw t1, 64(sp)
lw t2, 56(sp)
lw t3, 48(sp)
lw t4, 40(sp)
lw t5, 32(sp)
lw t6, 24(sp)
lw s0, 16(sp)
addw a0, a0, a1
addw a0, a0, a2
addw a1, a3, a4
addw a1, a1, a5
addw a1, a1, a6
addw a1, a1, a7
subw a0, a0, a1
addw a0, a0, s0
addw a0, a0, t6
addw a0, a0, t5
addw a0, a0, t4
addw a0, a0, t3
addw a0, a0, t2
addw a0, a0, t1
addw a0, a0, t0
ld s0, 8(sp)
addi sp, sp, 16
ret
.Lfunc_end1:
.size testParam16, .Lfunc_end1-testParam16
.globl testParam32
.p2align 1
.type testParam32,@function
testParam32:
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
lw a1, 88(sp)
addw a0, a0, a5
lw a2, 0(sp)
addw a0, a0, a6
lw a3, 8(sp)
addw a0, a0, a7
lw a4, 16(sp)
addw a0, a0, a2
lw a2, 24(sp)
addw a0, a0, a3
lw a3, 32(sp)
addw a0, a0, a4
lw a4, 40(sp)
addw a0, a0, a2
lw a2, 48(sp)
addw a0, a0, a3
lw a3, 56(sp)
addw a0, a0, a4
lw a4, 64(sp)
addw a0, a0, a2
lw a2, 72(sp)
addw a0, a0, a3
lw a3, 80(sp)
addw a0, a0, a4
lw a4, 96(sp)
addw a0, a0, a2
lw a2, 104(sp)
addw a1, a1, a3
lw a3, 112(sp)
addw a1, a1, a4
lw a4, 176(sp)
addw a1, a1, a2
lw a2, 120(sp)
addw a1, a1, a3
lw a3, 128(sp)
subw a0, a0, a1
lw a1, 136(sp)
addw a0, a0, a2
lw a2, 144(sp)
addw a0, a0, a3
lw a3, 152(sp)
addw a0, a0, a1
lw a1, 160(sp)
addw a0, a0, a2
lw a2, 168(sp)
addw a0, a0, a3
lw a3, 184(sp)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a4
addw a0, a0, a3
ret
.Lfunc_end2:
.size testParam32, .Lfunc_end2-testParam32
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -112
sd ra, 104(sp)
sd s0, 96(sp)
sd s1, 88(sp)
sd s2, 80(sp)
sd s3, 72(sp)
sd s4, 64(sp)
sd s5, 56(sp)
sd s6, 48(sp)
sd s7, 40(sp)
sd s8, 32(sp)
sd s9, 24(sp)
sd s10, 16(sp)
sd s11, 8(sp)
lui a0, %hi(a2)
li a5, 2
sw a5, %lo(a2)(a0)
lui a0, %hi(a3)
li s0, 3
sw s0, %lo(a3)(a0)
lui a1, %hi(a4)
li a0, 4
sw a0, %lo(a4)(a1)
lui a2, %hi(a5)
li a1, 5
sw a1, %lo(a5)(a2)
lui a3, %hi(a6)
li a2, 6
sw a2, %lo(a6)(a3)
lui a4, %hi(a7)
li a3, 7
sw a3, %lo(a7)(a4)
lui s1, %hi(a8)
li a4, 8
sw a4, %lo(a8)(s1)
lui s1, %hi(a12)
sw a5, %lo(a12)(s1)
lui s1, %hi(a13)
sw s0, %lo(a13)(s1)
lui s1, %hi(a14)
sw a0, %lo(a14)(s1)
lui s1, %hi(a15)
sw a1, %lo(a15)(s1)
lui s1, %hi(a16)
sw a2, %lo(a16)(s1)
lui s1, %hi(a17)
sw a3, %lo(a17)(s1)
lui s1, %hi(a18)
sw a4, %lo(a18)(s1)
lui s1, %hi(a22)
sw a5, %lo(a22)(s1)
lui a5, %hi(a23)
sw s0, %lo(a23)(a5)
lui a5, %hi(a24)
sw a0, %lo(a24)(a5)
lui a5, %hi(a25)
sw a1, %lo(a25)(a5)
lui a5, %hi(a26)
sw a2, %lo(a26)(a5)
lui a5, %hi(a27)
sw a3, %lo(a27)(a5)
lui a5, %hi(a28)
sw a4, %lo(a28)(a5)
lui s0, %hi(a32)
sw a0, %lo(a32)(s0)
lui s8, %hi(a33)
sw a1, %lo(a33)(s8)
lui s10, %hi(a34)
sw a2, %lo(a34)(s10)
lui s2, %hi(a35)
sw a3, %lo(a35)(s2)
lui s3, %hi(a36)
sw a4, %lo(a36)(s3)
li a0, 9
lui s6, %hi(a9)
sw a0, %lo(a9)(s6)
lui a1, %hi(a19)
sw a0, %lo(a19)(a1)
lui a1, %hi(a29)
sw a0, %lo(a29)(a1)
lui s1, %hi(a37)
sw a0, %lo(a37)(s1)
lui s4, %hi(a1)
li a0, 1
sw a0, %lo(a1)(s4)
lui a1, %hi(a11)
sw a0, %lo(a11)(a1)
lui s7, %hi(a11)
lui a1, %hi(a21)
sw a0, %lo(a21)(a1)
lui a1, %hi(a31)
sw a0, %lo(a31)(a1)
lui s5, %hi(a39)
sw a0, %lo(a39)(s5)
lui a1, %hi(a0)
li a0, 28
sw a0, %lo(a0)(a1)
lui a0, %hi(a10)
sw zero, %lo(a10)(a0)
lui s11, %hi(a10)
lui a0, %hi(a20)
sw zero, %lo(a20)(a0)
lui a0, %hi(a30)
sw zero, %lo(a30)(a0)
lui s9, %hi(a38)
sw zero, %lo(a38)(s9)
li a0, 28
call putint
lw a0, %lo(a32)(s0)
lw a1, %lo(a33)(s8)
lw a2, %lo(a34)(s10)
lw a3, %lo(a35)(s2)
lw a4, %lo(a36)(s3)
lw a5, %lo(a37)(s1)
lw s1, %lo(a38)(s9)
lw s0, %lo(a39)(s5)
lui s2, %hi(a8)
lw a6, %lo(a8)(s2)
lw a7, %lo(a9)(s6)
lw t0, %lo(a10)(s11)
lui s3, %hi(a10)
lw t1, %lo(a11)(s7)
lui s10, %hi(a11)
lui s5, %hi(a12)
lw t2, %lo(a12)(s5)
lui s6, %hi(a13)
lw t3, %lo(a13)(s6)
lui s8, %hi(a14)
lw t4, %lo(a14)(s8)
lui s9, %hi(a15)
lw t5, %lo(a15)(s9)
addw a0, a0, a1
addw a0, a0, a2
addw a1, a3, a4
addw a1, a1, a5
addw a1, a1, s1
addw a1, a1, s0
subw a0, a0, a1
addw a0, a0, a6
addw a0, a0, a7
addw a0, a0, t0
addw a0, a0, t1
addw a0, a0, t2
addw a0, a0, t3
addw a0, a0, t4
addw a0, a0, t5
lui s0, %hi(a0)
sw a0, %lo(a0)(s0)
call putint
lw a0, %lo(a1)(s4)
lw a1, %lo(a0)(s0)
lui a5, %hi(a0)
lui a2, %hi(a2)
lw a2, %lo(a2)(a2)
lui a3, %hi(a3)
lw a3, %lo(a3)(a3)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
lui a1, %hi(a4)
lw a1, %lo(a4)(a1)
lui a2, %hi(a5)
lw a2, %lo(a5)(a2)
lui a3, %hi(a6)
lw a3, %lo(a6)(a3)
lui a4, %hi(a7)
lw a4, %lo(a7)(a4)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
lw a1, %lo(a8)(s2)
lui a2, %hi(a9)
lw a2, %lo(a9)(a2)
lw a3, %lo(a10)(s3)
lw a4, %lo(a11)(s10)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
lw a1, %lo(a12)(s5)
lw a2, %lo(a13)(s6)
lw a3, %lo(a14)(s8)
lw a4, %lo(a15)(s9)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
lui a1, %hi(a16)
lw a1, %lo(a16)(a1)
lui a2, %hi(a17)
lw a2, %lo(a17)(a2)
lui a3, %hi(a18)
lw a3, %lo(a18)(a3)
lui a4, %hi(a19)
lw a4, %lo(a19)(a4)
addw a0, a0, a1
addw a0, a0, a2
lui a1, %hi(a20)
lw a1, %lo(a20)(a1)
addw a2, a3, a4
lui a3, %hi(a21)
lw a3, %lo(a21)(a3)
lui a4, %hi(a22)
lw a4, %lo(a22)(a4)
addw a1, a1, a2
lui a2, %hi(a23)
lw a2, %lo(a23)(a2)
addw a1, a1, a3
addw a1, a1, a4
subw a0, a0, a1
addw a0, a0, a2
lui a1, %hi(a24)
lw a1, %lo(a24)(a1)
lui a2, %hi(a25)
lw a2, %lo(a25)(a2)
lui a3, %hi(a26)
lw a3, %lo(a26)(a3)
lui a4, %hi(a27)
lw a4, %lo(a27)(a4)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
lui a1, %hi(a28)
lw a1, %lo(a28)(a1)
lui a2, %hi(a29)
lw a2, %lo(a29)(a2)
lui a3, %hi(a30)
lw a3, %lo(a30)(a3)
lui a4, %hi(a31)
lw a4, %lo(a31)(a4)
addw a0, a0, a1
addw a0, a0, a2
addw a0, a0, a3
addw a0, a0, a4
sw a0, %lo(a0)(a5)
call putint
li a0, 0
ld ra, 104(sp)
ld s0, 96(sp)
ld s1, 88(sp)
ld s2, 80(sp)
ld s3, 72(sp)
ld s4, 64(sp)
ld s5, 56(sp)
ld s6, 48(sp)
ld s7, 40(sp)
ld s8, 32(sp)
ld s9, 24(sp)
ld s10, 16(sp)
ld s11, 8(sp)
addi sp, sp, 112
ret
.Lfunc_end3:
.size main, .Lfunc_end3-main
.type a0,@object
.section .sbss,"aw",@nobits
.globl a0
.p2align 2
a0:
.word 0
.size a0, 4
.type a1,@object
.globl a1
.p2align 2
a1:
.word 0
.size a1, 4
.type a2,@object
.globl a2
.p2align 2
a2:
.word 0
.size a2, 4
.type a3,@object
.globl a3
.p2align 2
a3:
.word 0
.size a3, 4
.type a4,@object
.globl a4
.p2align 2
a4:
.word 0
.size a4, 4
.type a5,@object
.globl a5
.p2align 2
a5:
.word 0
.size a5, 4
.type a6,@object
.globl a6
.p2align 2
a6:
.word 0
.size a6, 4
.type a7,@object
.globl a7
.p2align 2
a7:
.word 0
.size a7, 4
.type a8,@object
.globl a8
.p2align 2
a8:
.word 0
.size a8, 4
.type a9,@object
.globl a9
.p2align 2
a9:
.word 0
.size a9, 4
.type a10,@object
.globl a10
.p2align 2
a10:
.word 0
.size a10, 4
.type a11,@object
.globl a11
.p2align 2
a11:
.word 0
.size a11, 4
.type a12,@object
.globl a12
.p2align 2
a12:
.word 0
.size a12, 4
.type a13,@object
.globl a13
.p2align 2
a13:
.word 0
.size a13, 4
.type a14,@object
.globl a14
.p2align 2
a14:
.word 0
.size a14, 4
.type a15,@object
.globl a15
.p2align 2
a15:
.word 0
.size a15, 4
.type a16,@object
.globl a16
.p2align 2
a16:
.word 0
.size a16, 4
.type a17,@object
.globl a17
.p2align 2
a17:
.word 0
.size a17, 4
.type a18,@object
.globl a18
.p2align 2
a18:
.word 0
.size a18, 4
.type a19,@object
.globl a19
.p2align 2
a19:
.word 0
.size a19, 4
.type a20,@object
.globl a20
.p2align 2
a20:
.word 0
.size a20, 4
.type a21,@object
.globl a21
.p2align 2
a21:
.word 0
.size a21, 4
.type a22,@object
.globl a22
.p2align 2
a22:
.word 0
.size a22, 4
.type a23,@object
.globl a23
.p2align 2
a23:
.word 0
.size a23, 4
.type a24,@object
.globl a24
.p2align 2
a24:
.word 0
.size a24, 4
.type a25,@object
.globl a25
.p2align 2
a25:
.word 0
.size a25, 4
.type a26,@object
.globl a26
.p2align 2
a26:
.word 0
.size a26, 4
.type a27,@object
.globl a27
.p2align 2
a27:
.word 0
.size a27, 4
.type a28,@object
.globl a28
.p2align 2
a28:
.word 0
.size a28, 4
.type a29,@object
.globl a29
.p2align 2
a29:
.word 0
.size a29, 4
.type a30,@object
.globl a30
.p2align 2
a30:
.word 0
.size a30, 4
.type a31,@object
.globl a31
.p2align 2
a31:
.word 0
.size a31, 4
.type a32,@object
.globl a32
.p2align 2
a32:
.word 0
.size a32, 4
.type a33,@object
.globl a33
.p2align 2
a33:
.word 0
.size a33, 4
.type a34,@object
.globl a34
.p2align 2
a34:
.word 0
.size a34, 4
.type a35,@object
.globl a35
.p2align 2
a35:
.word 0
.size a35, 4
.type a36,@object
.globl a36
.p2align 2
a36:
.word 0
.size a36, 4
.type a37,@object
.globl a37
.p2align 2
a37:
.word 0
.size a37, 4
.type a38,@object
.globl a38
.p2align 2
a38:
.word 0
.size a38, 4
.type a39,@object
.globl a39
.p2align 2
a39:
.word 0
.size a39, 4
.type _sysy_start,@object
.bss
.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