sysy-data/hidden_functional_c/asm/26_scope4.s

322 lines
4.9 KiB
ArmAsm

.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "26_scope4.sy"
.globl getA
.p2align 1
.type getA,@function
getA:
lui a1, %hi(count)
lw a0, %lo(count)(a1)
addiw a0, a0, 1
sw a0, %lo(count)(a1)
ret
.Lfunc_end0:
.size getA, .Lfunc_end0-getA
.globl f1
.p2align 1
.type f1,@function
f1:
lui a1, %hi(sum)
lw a2, %lo(sum)(a1)
lui a3, %hi(count)
lw a4, %lo(count)(a3)
addw a0, a0, a2
addiw a2, a4, 1
addw a0, a0, a2
addiw a4, a4, 2
sw a4, %lo(count)(a3)
addw a0, a0, a4
slliw a2, a2, 1
addw a0, a0, a2
sw a0, %lo(sum)(a1)
ret
.Lfunc_end1:
.size f1, .Lfunc_end1-f1
.globl f2
.p2align 1
.type f2,@function
f2:
lui a0, %hi(sum)
lui a1, %hi(count)
lw a2, %lo(count)(a1)
lui a3, %hi(a)
lw a3, %lo(a)(a3)
lw a4, %lo(sum)(a0)
addiw a2, a2, 1
sw a2, %lo(count)(a1)
slliw a1, a3, 1
addw a1, a1, a4
sw a1, %lo(sum)(a0)
ret
.Lfunc_end2:
.size f2, .Lfunc_end2-f2
.globl f3
.p2align 1
.type f3,@function
f3:
lui a0, %hi(count)
lw a1, %lo(count)(a0)
lui a2, %hi(sum)
lw a3, %lo(sum)(a2)
addw a3, a3, a1
slliw a4, a1, 1
addw a3, a3, a4
addiw a1, a1, 3
sw a1, %lo(count)(a0)
addiw a0, a3, 5
sw a0, %lo(sum)(a2)
ret
.Lfunc_end3:
.size f3, .Lfunc_end3-f3
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -16
sd ra, 8(sp)
lui a6, %hi(count)
lw a0, %lo(count)(a6)
li a4, 0
addiw a3, a0, 1
lui a1, %hi(a)
sw a3, %lo(a)(a1)
addiw a1, a0, 2
addw a5, a3, a1
addiw a2, a0, 3
addw a5, a5, a2
addw a5, a5, a0
slliw a2, a2, 1
addw a2, a2, a5
slliw t3, a3, 1
addw a7, a2, t3
slliw t2, a0, 1
addiw t0, a0, 10
addw a2, t2, t0
addw a7, a7, a2
addiw a2, a0, 9
slliw t1, a2, 1
addw a2, a2, a1
addw a2, a2, t0
addw a2, a2, t1
addw a2, a7, a2
addw a7, a2, t3
addiw a2, a0, 16
addw a5, t2, a2
addw a7, a7, a5
addw a5, a2, a1
addw a5, a5, a0
slliw a2, a2, 1
addw a2, a2, a5
addw a2, a7, a2
addw a7, a2, t3
addiw t1, a0, 18
slliw t0, t1, 1
addiw a2, a0, 23
addw a5, a2, t0
addw a7, a7, a5
addiw a5, a0, 24
addw a2, a2, a5
addw a2, a2, a0
slliw a5, a5, 1
addw a2, a2, a5
addw a2, a7, a2
addw a7, a2, t3
sw t1, %lo(count)(a6)
addiw a5, a0, 31
addw a2, t2, a5
addw a2, a7, a2
addiw a6, a2, 130
lui a2, %hi(sum)
sw a6, %lo(sum)(a2)
addw a2, a0, a5
slliw a5, a5, 1
addw a2, a2, a0
addw a2, a2, a5
addw a2, a2, a6
addw a6, a2, t3
addiw a5, a0, 38
addw a2, t2, a5
addw a6, a6, a2
addw a2, a0, a5
slliw a5, a5, 1
addw a2, a2, a0
addw a2, a2, a5
addw a2, a6, a2
addw a6, a2, t3
addiw a5, a0, 45
addw a2, t2, a5
addw a6, a6, a2
addiw a2, a0, 44
slliw a7, a2, 1
addw a2, a2, a1
addw a2, a2, a5
addw a2, a2, a7
addw a2, a6, a2
addw a2, a2, t3
addw a5, t2, a0
addw a5, a5, a2
addiw a2, a0, 49
addiw a0, a5, 427
li a6, 1
li a7, 2
j .LBB4_2
.LBB4_1:
mv a3, a4
addiw a4, a2, 7
addw a1, a1, a4
addw a1, a1, a2
slliw a4, a4, 1
addw a1, a1, a4
addw a1, a1, a5
addw a1, a1, t3
addw a0, a0, a1
addiw a0, a0, 40
addiw a1, a2, 13
addiw a4, a3, 1
mv a2, a1
bge a3, a7, .LBB4_4
.LBB4_2:
addw a0, a0, a1
addiw a5, a2, 1
addw a0, a0, a5
addw a0, a0, a2
slliw a5, a5, 1
addw a0, a0, a5
addw a5, a0, t3
slliw a0, a2, 1
addw a0, a0, a2
addw a5, a5, a0
addiw a5, a5, 16
bne a4, a6, .LBB4_1
addiw a4, a2, 8
addiw t0, a2, 14
addw a3, a2, a4
addw a3, a3, a2
slliw a4, a4, 1
addw a3, a3, a4
addw a3, a3, a5
addw a3, a3, t3
addw a0, a0, a3
addw a0, a0, a1
addw a0, a0, t0
addw a0, a0, a2
addiw a2, a2, 13
slliw a3, a2, 1
addw a3, a3, a2
slliw a4, t0, 1
addw a0, a0, a4
addw a0, a0, t3
addw a0, a0, a3
addiw a5, a0, 80
li a4, 2
mv a0, a3
j .LBB4_1
.LBB4_4:
lui a2, %hi(sum)
sw a0, %lo(sum)(a2)
lui a2, %hi(count)
sw a1, %lo(count)(a2)
call putint
li a0, 0
ld ra, 8(sp)
addi sp, sp, 16
ret
.Lfunc_end4:
.size main, .Lfunc_end4-main
.type count,@object
.section .sbss,"aw",@nobits
.globl count
.p2align 2
count:
.word 0
.size count, 4
.type sum,@object
.globl sum
.p2align 2
sum:
.word 0
.size sum, 4
.type a,@object
.globl a
.p2align 2
a:
.word 0
.size a, 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