sysy-data/hidden_functional_c/asm/28_side_effect2.s

556 lines
8.3 KiB
ArmAsm
Raw Permalink Normal View History

2024-06-14 13:34:46 +08:00
.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "28_side_effect2.sy"
.globl f
.p2align 1
.type f,@function
f:
li a2, 0
lui a3, %hi(sum)
lw a4, %lo(sum)(a3)
slt a1, a0, a1
xori a1, a1, 1
li a5, 19
slt a5, a5, a0
or a1, a1, a5
addiw a4, a4, 1
sw a4, %lo(sum)(a3)
bnez a1, .LBB0_4
lui a1, %hi(array)
addi a1, a1, %lo(array)
slli a2, a0, 2
add a2, a2, a1
li a3, 1
sw a3, 0(a2)
beqz a0, .LBB0_3
addiw a0, a0, -1
slli a0, a0, 2
add a1, a1, a0
.LBB0_3:
lw a2, 0(a1)
.LBB0_4:
mv a0, a2
ret
.Lfunc_end0:
.size f, .Lfunc_end0-f
.globl g
.p2align 1
.type g,@function
g:
lui a2, %hi(sum)
lw a3, %lo(sum)(a2)
addiw a3, a3, 2
sw a3, %lo(sum)(a2)
slt a1, a0, a1
xori a1, a1, 1
li a2, 19
slt a2, a2, a0
or a2, a2, a1
li a1, 1
bnez a2, .LBB1_4
lui a1, %hi(array)
addi a1, a1, %lo(array)
slli a2, a0, 2
add a2, a2, a1
sw zero, 0(a2)
beqz a0, .LBB1_3
addiw a0, a0, -1
slli a0, a0, 2
add a1, a1, a0
.LBB1_3:
lw a1, 0(a1)
.LBB1_4:
mv a0, a1
ret
.Lfunc_end1:
.size g, .Lfunc_end1-g
.globl h
.p2align 1
.type h,@function
h:
lui a1, %hi(sum)
lw a2, %lo(sum)(a1)
addiw a2, a2, 3
li a3, 19
sw a2, %lo(sum)(a1)
bgeu a3, a0, .LBB2_2
li a0, 0
ret
.LBB2_2:
lui a1, %hi(array)
addi a1, a1, %lo(array)
slli a0, a0, 32
srli a0, a0, 30
add a0, a0, a1
lw a0, 0(a0)
ret
.Lfunc_end2:
.size h, .Lfunc_end2-h
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -16
sd ra, 8(sp)
lui a0, %hi(sum)
lw a0, %lo(sum)(a0)
lui a1, %hi(array)
li a2, 1
sw a2, %lo(array)(a1)
addiw a0, a0, 3
addi a1, a1, %lo(array)
sw a2, 4(a1)
li a1, 2
li a2, 3
li a3, 5
li a4, 7
li a5, 9
li a6, 11
li a7, 13
li t0, 15
li t1, 17
li t2, 18
j .LBB3_2
.LBB3_1:
addiw a0, a0, 18
addiw a1, a1, 1
.LBB3_2:
bltu a1, a2, .LBB3_20
beq a1, a2, .LBB3_21
bltu a1, a3, .LBB3_22
beq a1, a3, .LBB3_23
bltu a1, a4, .LBB3_24
beq a1, a4, .LBB3_25
bltu a1, a5, .LBB3_26
beq a1, a5, .LBB3_27
bltu a1, a6, .LBB3_28
beq a1, a6, .LBB3_29
bltu a1, a7, .LBB3_30
beq a1, a7, .LBB3_31
bltu a1, t0, .LBB3_32
beq a1, t0, .LBB3_33
bltu a1, t1, .LBB3_34
beq a1, t1, .LBB3_1
bltu t2, a1, .LBB3_35
addiw a0, a0, 19
addiw a1, a1, 1
j .LBB3_2
.LBB3_20:
addiw a0, a0, 3
addiw a1, a1, 1
j .LBB3_2
.LBB3_21:
addiw a0, a0, 4
addiw a1, a1, 1
j .LBB3_2
.LBB3_22:
addiw a0, a0, 5
addiw a1, a1, 1
j .LBB3_2
.LBB3_23:
addiw a0, a0, 6
addiw a1, a1, 1
j .LBB3_2
.LBB3_24:
addiw a0, a0, 7
addiw a1, a1, 1
j .LBB3_2
.LBB3_25:
addiw a0, a0, 8
addiw a1, a1, 1
j .LBB3_2
.LBB3_26:
addiw a0, a0, 9
addiw a1, a1, 1
j .LBB3_2
.LBB3_27:
addiw a0, a0, 10
addiw a1, a1, 1
j .LBB3_2
.LBB3_28:
addiw a0, a0, 11
addiw a1, a1, 1
j .LBB3_2
.LBB3_29:
addiw a0, a0, 12
addiw a1, a1, 1
j .LBB3_2
.LBB3_30:
addiw a0, a0, 13
addiw a1, a1, 1
j .LBB3_2
.LBB3_31:
addiw a0, a0, 14
addiw a1, a1, 1
j .LBB3_2
.LBB3_32:
addiw a0, a0, 15
addiw a1, a1, 1
j .LBB3_2
.LBB3_33:
addiw a0, a0, 16
addiw a1, a1, 1
j .LBB3_2
.LBB3_34:
addiw a0, a0, 17
addiw a1, a1, 1
j .LBB3_2
.LBB3_35:
lui a1, %hi(array)
addi a2, a1, %lo(array)
li a3, 1
sw a3, 8(a2)
sw a3, 12(a2)
sw a3, 16(a2)
sw a3, 20(a2)
sw a3, 24(a2)
sw a3, 28(a2)
sw a3, 32(a2)
sw a3, 36(a2)
sw a3, 40(a2)
sw a3, 44(a2)
sw a3, 48(a2)
sw a3, 52(a2)
addiw a2, a0, 20
lui a3, %hi(sum)
sw a2, %lo(sum)(a3)
addiw a0, a0, 26
sw zero, %lo(array)(a1)
li a1, 2
li a2, 3
li a3, 5
li a4, 7
li a5, 9
li a6, 11
li a7, 13
li t0, 15
li t1, 17
li t2, 18
j .LBB3_37
.LBB3_36:
addiw a0, a0, 36
addiw a1, a1, 1
.LBB3_37:
bltu a1, a2, .LBB3_55
beq a1, a2, .LBB3_56
bltu a1, a3, .LBB3_57
beq a1, a3, .LBB3_58
bltu a1, a4, .LBB3_59
beq a1, a4, .LBB3_60
bltu a1, a5, .LBB3_61
beq a1, a5, .LBB3_62
bltu a1, a6, .LBB3_63
beq a1, a6, .LBB3_64
bltu a1, a7, .LBB3_65
beq a1, a7, .LBB3_66
bltu a1, t0, .LBB3_67
beq a1, t0, .LBB3_68
bltu a1, t1, .LBB3_69
beq a1, t1, .LBB3_36
bltu t2, a1, .LBB3_70
addiw a0, a0, 38
addiw a1, a1, 1
j .LBB3_37
.LBB3_55:
addiw a0, a0, 6
addiw a1, a1, 1
j .LBB3_37
.LBB3_56:
addiw a0, a0, 8
addiw a1, a1, 1
j .LBB3_37
.LBB3_57:
addiw a0, a0, 10
addiw a1, a1, 1
j .LBB3_37
.LBB3_58:
addiw a0, a0, 12
addiw a1, a1, 1
j .LBB3_37
.LBB3_59:
addiw a0, a0, 14
addiw a1, a1, 1
j .LBB3_37
.LBB3_60:
addiw a0, a0, 16
addiw a1, a1, 1
j .LBB3_37
.LBB3_61:
addiw a0, a0, 18
addiw a1, a1, 1
j .LBB3_37
.LBB3_62:
addiw a0, a0, 20
addiw a1, a1, 1
j .LBB3_37
.LBB3_63:
addiw a0, a0, 22
addiw a1, a1, 1
j .LBB3_37
.LBB3_64:
addiw a0, a0, 24
addiw a1, a1, 1
j .LBB3_37
.LBB3_65:
addiw a0, a0, 26
addiw a1, a1, 1
j .LBB3_37
.LBB3_66:
addiw a0, a0, 28
addiw a1, a1, 1
j .LBB3_37
.LBB3_67:
addiw a0, a0, 30
addiw a1, a1, 1
j .LBB3_37
.LBB3_68:
addiw a0, a0, 32
addiw a1, a1, 1
j .LBB3_37
.LBB3_69:
addiw a0, a0, 34
addiw a1, a1, 1
j .LBB3_37
.LBB3_70:
addiw a1, a0, 40
lui a2, %hi(sum)
sw a1, %lo(sum)(a2)
lui a2, %hi(array)
li a1, 1
sw a1, %lo(array)(a2)
addi a2, a2, %lo(array)
sw a1, 4(a2)
sw a1, 8(a2)
sw a1, 12(a2)
sw a1, 16(a2)
sw a1, 20(a2)
sw a1, 24(a2)
sw a1, 28(a2)
sw a1, 32(a2)
sw a1, 36(a2)
sw a1, 40(a2)
sw a1, 44(a2)
sw a1, 48(a2)
sw a1, 52(a2)
sw a1, 56(a2)
sw a1, 60(a2)
sw a1, 64(a2)
sw a1, 68(a2)
sw a1, 72(a2)
bnez zero, .LBB3_74
lw a3, 20(a2)
addiw a0, a0, 65
beqz a3, .LBB3_75
lui a3, %hi(array)
addi a3, a3, %lo(array)
lw a4, 24(a3)
beqz a4, .LBB3_92
addiw a0, a0, 9
j .LBB3_76
.LBB3_74:
addiw a0, a0, 68
j .LBB3_77
.LBB3_75:
addiw a0, a0, 6
.LBB3_76:
addiw a0, a0, 3
.LBB3_77:
lw a2, 36(a2)
beqz a2, .LBB3_85
lui a2, %hi(array+40)
lw a2, %lo(array+40)(a2)
addiw a0, a0, 6
beqz a2, .LBB3_88
lui a2, %hi(array)
addi a2, a2, %lo(array)
lw a3, 44(a2)
beqz a3, .LBB3_86
.LBB3_80:
lw a2, 48(a2)
beqz a2, .LBB3_87
lui a2, %hi(array)
addi a2, a2, %lo(array)
lw a3, 52(a2)
beqz a3, .LBB3_93
lw a3, 56(a2)
li a2, 12
beqz a3, .LBB3_84
li a2, 15
.LBB3_84:
addw a0, a0, a2
lui a2, %hi(array)
addi a3, a2, %lo(array)
lw a2, 8(a3)
bnez a2, .LBB3_89
j .LBB3_94
.LBB3_85:
addiw a0, a0, 3
lui a2, %hi(array)
addi a2, a2, %lo(array)
lw a3, 44(a2)
bnez a3, .LBB3_80
.LBB3_86:
addiw a0, a0, 3
lui a2, %hi(array)
addi a3, a2, %lo(array)
lw a2, 8(a3)
bnez a2, .LBB3_89
j .LBB3_94
.LBB3_87:
addiw a0, a0, 6
.LBB3_88:
lui a2, %hi(array)
addi a3, a2, %lo(array)
lw a2, 8(a3)
beqz a2, .LBB3_94
.LBB3_89:
lw a2, 12(a3)
beqz a2, .LBB3_91
addiw a2, a0, 9
j .LBB3_95
.LBB3_91:
addiw a2, a0, 12
lui a0, %hi(sum)
sw a2, %lo(sum)(a0)
mv a0, a2
bnez a1, .LBB3_95
j .LBB3_99
.LBB3_92:
lw a3, 28(a3)
addiw a0, a0, 12
bnez a3, .LBB3_77
j .LBB3_76
.LBB3_93:
addiw a0, a0, 9
lui a2, %hi(array)
addi a3, a2, %lo(array)
lw a2, 8(a3)
bnez a2, .LBB3_89
.LBB3_94:
addiw a2, a0, 6
.LBB3_95:
lw a1, 20(a3)
addiw a0, a2, 3
lui a3, %hi(sum)
sw a0, %lo(sum)(a3)
bnez a1, .LBB3_99
lui a0, %hi(array)
addi a1, a0, %lo(array)
lw a4, 24(a1)
addiw a0, a2, 6
sw a0, %lo(sum)(a3)
beqz a4, .LBB3_98
lw a3, 28(a1)
addiw a0, a2, 9
lui a2, %hi(sum)
sw a0, %lo(sum)(a2)
beqz a3, .LBB3_99
.LBB3_98:
lw a1, 32(a1)
addiw a0, a0, 3
lui a2, %hi(sum)
sw a0, %lo(sum)(a2)
beqz a1, .LBB3_101
.LBB3_99:
li a1, 1
.LBB3_100:
addw a0, a0, a1
call putint
li a0, 0
ld ra, 8(sp)
addi sp, sp, 16
ret
.LBB3_101:
li a1, 0
j .LBB3_100
.Lfunc_end3:
.size main, .Lfunc_end3-main
.type sum,@object
.section .sbss,"aw",@nobits
.globl sum
.p2align 2
sum:
.word 0
.size sum, 4
.type array,@object
.bss
.globl array
.p2align 2
array:
.zero 80
.size array, 80
.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