sysy-data/hidden_functional_c/asm/29_long_line.s

947 lines
14 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 "29_long_line.sy"
.globl fib
.p2align 1
.type fib,@function
fib:
addi sp, sp, -336
sd ra, 328(sp)
sd s0, 320(sp)
sd s1, 312(sp)
sd s2, 304(sp)
sd s3, 296(sp)
sd s4, 288(sp)
sd s5, 280(sp)
sd s6, 272(sp)
sd s7, 264(sp)
sd s8, 256(sp)
sd s9, 248(sp)
sd s10, 240(sp)
sd s11, 232(sp)
li a2, 2
li a1, 1
bge a2, a0, .LBB0_145
andi t6, a0, 1
srliw a1, a0, 1
andi s8, a1, 1
srliw a1, a0, 2
andi s7, a1, 1
srliw a1, a0, 3
andi s4, a1, 1
srliw a1, a0, 4
andi s5, a1, 1
or a6, s8, t6
or t1, a6, s7
or a7, t1, s4
or a1, a7, s5
snez t0, a1
andi a2, a0, 32
srli a1, a2, 5
sd a2, 216(sp)
seqz ra, a2
and a2, ra, t0
or a2, a2, a1
andi a3, a0, 64
srli a4, a3, 6
seqz a1, a3
sd a1, 224(sp)
and a1, a1, a2
xori t2, a1, 1
beqz a3, .LBB0_3
and t2, t2, a2
.LBB0_3:
or a2, a4, a1
andi a5, a0, 128
srli a3, a5, 7
seqz a1, a5
sd a1, 152(sp)
and a1, a1, a2
xori t3, a1, 1
sd a5, 176(sp)
beqz a5, .LBB0_5
and t3, t3, a2
.LBB0_5:
or a1, a1, a3
andi s1, a0, 256
srli a5, s1, 8
seqz a2, s1
sd a2, 128(sp)
and a2, a2, a1
xori t4, a2, 1
sd s1, 160(sp)
sd a3, 200(sp)
beqz s1, .LBB0_7
and t4, t4, a1
.LBB0_7:
or a1, a5, a2
andi s0, a0, 512
srli s1, s0, 9
seqz a2, s0
sd a2, 112(sp)
and a3, a2, a1
xori a2, a3, 1
sd s0, 144(sp)
sd a4, 208(sp)
beqz s0, .LBB0_9
and a2, a2, a1
.LBB0_9:
sd s1, 184(sp)
or a1, s1, a3
andi s0, a0, 1024
srli a3, s0, 10
seqz a4, s0
sd a4, 104(sp)
and a4, a4, a1
xori t5, a4, 1
sd s0, 88(sp)
sd a5, 192(sp)
beqz s0, .LBB0_11
and t5, t5, a1
.LBB0_11:
sd a3, 168(sp)
or a1, a3, a4
lui a5, 1
addiw a3, a5, -2048
and s11, a0, a3
srli a3, s11, 11
seqz a4, s11
sd a4, 80(sp)
and s1, a4, a1
xori s2, s1, 1
beqz s11, .LBB0_13
and s2, s2, a1
.LBB0_13:
or a1, a3, s1
and s3, a0, a5
srli s0, s3, 12
seqz a5, s3
sd a5, 72(sp)
and s1, a5, a1
xori a5, s1, 1
sd a3, 136(sp)
beqz s3, .LBB0_15
and a5, a5, a1
.LBB0_15:
sd s0, 120(sp)
or a1, s0, s1
lui a3, 2
and s9, a0, a3
srli a3, s9, 13
seqz s0, s9
sd s0, 40(sp)
and s0, s0, a1
xori s1, s0, 1
beqz s9, .LBB0_17
and s1, s1, a1
.LBB0_17:
sd a3, 96(sp)
or a3, a3, s0
lui a1, 4
and s6, a0, a1
srli s10, s6, 14
seqz a1, s6
sd a1, 32(sp)
and a1, a1, a3
xori s0, a1, 1
beqz s6, .LBB0_19
and s0, s0, a3
.LBB0_19:
or a1, s10, a1
lui a3, 8
and a3, a3, a0
srli a4, a3, 15
xori a0, a1, 1
sd a4, 16(sp)
or a0, a0, a4
sd a3, 24(sp)
bnez a3, .LBB0_146
bnez t5, .LBB0_147
.LBB0_21:
bnez s2, .LBB0_148
.LBB0_22:
bnez a5, .LBB0_149
.LBB0_23:
bnez s1, .LBB0_150
.LBB0_24:
bnez s0, .LBB0_151
.LBB0_25:
bnez a0, .LBB0_152
.LBB0_26:
slliw a0, a2, 6
bnez t4, .LBB0_153
.LBB0_27:
bnez t3, .LBB0_154
.LBB0_28:
beqz t2, .LBB0_30
.LBB0_29:
ori a0, a0, 8
.LBB0_30:
snez a2, t1
seqz a4, s4
snez a3, a7
seqz s1, s5
beq ra, t0, .LBB0_32
ori a0, a0, 4
.LBB0_32:
snez a1, a6
seqz a5, s7
sd a4, 56(sp)
xor a4, a4, a2
beq s1, a3, .LBB0_34
ori a0, a0, 2
.LBB0_34:
seqz a2, t6
seqz a3, s8
or a0, a0, a4
slliw a0, a0, 3
beq a5, a1, .LBB0_36
ori a0, a0, 4
.LBB0_36:
mv s2, s10
sd a5, 64(sp)
sd s1, 48(sp)
sd a3, 8(sp)
mv s10, ra
mv s1, s8
bne a2, a3, .LBB0_38
ori a0, a0, 2
.LBB0_38:
mv s0, t6
or a0, a0, t6
xori a0, a0, 1
call fib
mv s8, a0
mv t5, s1
or a6, s1, s7
or a7, a6, s4
or t0, a7, s5
ld a0, 216(sp)
or a0, t0, a0
snez t1, a0
ld ra, 224(sp)
and a0, ra, t1
ld a1, 208(sp)
or a1, a1, a0
ld a0, 152(sp)
and a0, a0, a1
xori t2, a0, 1
ld a2, 176(sp)
beqz a2, .LBB0_40
and t2, t2, a1
.LBB0_40:
ld a1, 200(sp)
ld a2, 192(sp)
ld a3, 168(sp)
or a1, a1, a0
ld a0, 128(sp)
and a0, a0, a1
xori t3, a0, 1
mv t4, s0
ld a4, 160(sp)
beqz a4, .LBB0_42
and t3, t3, a1
.LBB0_42:
ld a5, 120(sp)
mv s4, s2
or a1, a2, a0
ld a0, 112(sp)
and a0, a0, a1
xori s1, a0, 1
ld a2, 144(sp)
beqz a2, .LBB0_44
and s1, s1, a1
.LBB0_44:
ld a1, 184(sp)
or a2, a1, a0
ld a0, 104(sp)
and a1, a0, a2
xori s2, a1, 1
ld a4, 88(sp)
beqz a4, .LBB0_46
and s2, s2, a2
.LBB0_46:
or a3, a3, a1
ld a1, 80(sp)
and a2, a1, a3
xori a1, a2, 1
beqz s11, .LBB0_48
and a1, a1, a3
.LBB0_48:
ld a3, 136(sp)
or a4, a3, a2
ld a2, 72(sp)
and a3, a2, a4
xori a2, a3, 1
beqz s3, .LBB0_50
and a2, a2, a4
.LBB0_50:
or a5, a5, a3
ld a3, 40(sp)
and a4, a3, a5
xori a3, a4, 1
beqz s9, .LBB0_52
and a3, a3, a5
.LBB0_52:
ld a5, 96(sp)
or s0, a5, a4
ld a4, 32(sp)
and a5, a4, s0
xori a4, a5, 1
beqz s6, .LBB0_54
and a4, a4, s0
.LBB0_54:
or s0, s4, a5
xori a5, s0, 1
ld a0, 16(sp)
or a5, a5, a0
ld a0, 24(sp)
bnez a0, .LBB0_155
bnez s2, .LBB0_156
.LBB0_56:
bnez a1, .LBB0_157
.LBB0_57:
bnez a2, .LBB0_158
.LBB0_58:
bnez a3, .LBB0_159
.LBB0_59:
bnez a4, .LBB0_160
.LBB0_60:
bnez a5, .LBB0_161
.LBB0_61:
slliw a0, s1, 6
ld a4, 64(sp)
bnez t3, .LBB0_162
.LBB0_62:
bnez t2, .LBB0_163
.LBB0_63:
snez a1, t0
bne ra, t1, .LBB0_164
.LBB0_64:
snez a2, a6
snez a3, a7
bne s10, a1, .LBB0_165
.LBB0_65:
ld a5, 48(sp)
ld a1, 56(sp)
xor a2, a2, a1
beq a5, a3, .LBB0_67
.LBB0_66:
ori a0, a0, 2
.LBB0_67:
slli a1, t5, 1
or a0, a0, a2
slliw a0, a0, 3
ld a2, 8(sp)
bne a2, a4, .LBB0_69
ori a0, a0, 4
.LBB0_69:
or a0, a0, a1
or a0, a0, t4
xori a0, a0, 2
call fib
srliw a1, s8, 31
addw a1, s8, a1
srliw a3, a1, 1
srli s5, s8, 31
srliw a5, s5, 30
srliw a1, a0, 31
addw a1, a1, a0
srliw a4, a1, 1
srli s6, a0, 31
srliw a1, s6, 30
andi s1, s8, 1
and a2, s8, a0
xori a6, a2, 1
bnez s1, .LBB0_71
and a6, a6, a0
.LBB0_71:
addw a5, s8, a5
addw s0, a0, a1
andi s1, a3, 1
and a3, a3, a4
xori a1, a3, 1
bnez s1, .LBB0_73
and a1, a1, a4
.LBB0_73:
srliw s1, s5, 29
srliw t0, s6, 29
srliw a5, a5, 2
srliw a4, s0, 2
andi s0, a1, 1
and a1, a1, a2
xori a7, a1, 1
bnez s0, .LBB0_75
and a7, a7, a2
.LBB0_75:
addw t1, s8, s1
addw t0, a0, t0
or a3, a3, a1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_77
and s1, s1, a4
.LBB0_77:
srliw t2, s5, 28
srliw s0, s6, 28
srliw a5, t1, 3
srliw a4, t0, 3
andi a1, s1, 1
and s1, s1, a3
xori t0, s1, 1
bnez a1, .LBB0_79
and t0, t0, a3
.LBB0_79:
addw t1, s8, t2
addw t2, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_81
and s1, s1, a4
.LBB0_81:
srliw t3, s5, 27
srliw s0, s6, 27
srliw a5, t1, 4
srliw a4, t2, 4
andi a1, s1, 1
and s1, s1, a3
xori t1, s1, 1
bnez a1, .LBB0_83
and t1, t1, a3
.LBB0_83:
addw t2, s8, t3
addw t3, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_85
and s1, s1, a4
.LBB0_85:
srliw t4, s5, 26
srliw s0, s6, 26
srliw a5, t2, 5
srliw a4, t3, 5
andi a1, s1, 1
and s1, s1, a3
xori t2, s1, 1
bnez a1, .LBB0_87
and t2, t2, a3
.LBB0_87:
addw t3, s8, t4
addw t4, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_89
and s1, s1, a4
.LBB0_89:
srliw t5, s5, 25
srliw s0, s6, 25
srliw a5, t3, 6
srliw a4, t4, 6
andi a1, s1, 1
and s1, s1, a3
xori t3, s1, 1
bnez a1, .LBB0_91
and t3, t3, a3
.LBB0_91:
addw t4, s8, t5
addw t5, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_93
and s1, s1, a4
.LBB0_93:
srliw t6, s5, 24
srliw s0, s6, 24
srliw a5, t4, 7
srliw a4, t5, 7
andi a1, s1, 1
and s1, s1, a3
xori t4, s1, 1
bnez a1, .LBB0_95
and t4, t4, a3
.LBB0_95:
addw t5, s8, t6
addw t6, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_97
and s1, s1, a4
.LBB0_97:
srliw s2, s5, 23
srliw s0, s6, 23
srliw a5, t5, 8
srliw a4, t6, 8
andi a1, s1, 1
and s1, s1, a3
xori t5, s1, 1
bnez a1, .LBB0_99
and t5, t5, a3
.LBB0_99:
addw t6, s8, s2
addw s2, a0, s0
or a3, a2, s1
andi a1, a5, 1
and a2, a5, a4
xori s1, a2, 1
bnez a1, .LBB0_101
and s1, s1, a4
.LBB0_101:
srliw s3, s5, 22
srliw s0, s6, 22
srliw a5, t6, 9
srliw a4, s2, 9
andi a1, s1, 1
and s1, s1, a3
xori t6, s1, 1
bnez a1, .LBB0_103
and t6, t6, a3
.LBB0_103:
addw s2, s8, s3
addw s3, a0, s0
or a2, a2, s1
andi a1, a5, 1
and a3, a5, a4
xori s1, a3, 1
bnez a1, .LBB0_105
and s1, s1, a4
.LBB0_105:
srliw s4, s5, 21
srliw s0, s6, 21
srliw a4, s2, 10
srliw a5, s3, 10
andi a1, s1, 1
and s1, s1, a2
xori s2, s1, 1
bnez a1, .LBB0_107
and s2, s2, a2
.LBB0_107:
addw s3, s8, s4
addw s4, a0, s0
or a2, a3, s1
andi a1, a4, 1
and a4, a4, a5
xori s1, a4, 1
bnez a1, .LBB0_109
and s1, s1, a5
.LBB0_109:
srliw s7, s5, 20
srliw s0, s6, 20
srliw a5, s3, 11
srliw a3, s4, 11
andi a1, s1, 1
and s1, s1, a2
xori s3, s1, 1
bnez a1, .LBB0_111
and s3, s3, a2
.LBB0_111:
addw s4, s8, s7
addw s7, a0, s0
or a2, a4, s1
andi a1, a5, 1
and a5, a5, a3
xori s1, a5, 1
bnez a1, .LBB0_113
and s1, s1, a3
.LBB0_113:
srliw s9, s5, 19
srliw a3, s6, 19
srliw s0, s4, 12
srliw a4, s7, 12
andi a1, s1, 1
and s1, s1, a2
xori s4, s1, 1
bnez a1, .LBB0_115
and s4, s4, a2
.LBB0_115:
addw s9, s8, s9
addw s7, a0, a3
or a3, a5, s1
andi a1, s0, 1
and a2, s0, a4
xori s1, a2, 1
bnez a1, .LBB0_117
and s1, s1, a4
.LBB0_117:
srliw a5, s5, 18
srliw s11, s6, 18
srliw s0, s9, 13
srliw a4, s7, 13
andi a1, s1, 1
and s1, s1, a3
xori s7, s1, 1
bnez a1, .LBB0_119
and s7, s7, a3
.LBB0_119:
addw s10, s8, a5
addw s9, a0, s11
or a3, a2, s1
andi a5, s0, 1
and a2, s0, a4
xori a1, a2, 1
bnez a5, .LBB0_121
and a1, a1, a4
.LBB0_121:
srliw s11, s5, 17
srliw s0, s6, 17
srliw s1, s10, 14
srliw a4, s9, 14
andi a5, a1, 1
and a1, a1, a3
xori s5, a1, 1
bnez a5, .LBB0_123
and s5, s5, a3
.LBB0_123:
add a3, s8, s11
addw a0, a0, s0
or s0, a2, a1
andi a5, s1, 1
and a2, s1, a4
xori a1, a2, 1
bnez a5, .LBB0_125
and a1, a1, a4
.LBB0_125:
srli a4, a3, 15
sraiw a3, a0, 15
andi a5, a1, 1
and a1, a1, s0
xori a0, a1, 1
bnez a5, .LBB0_127
and a0, a0, s0
.LBB0_127:
or a2, a2, a1
andi a1, a4, 1
seqz a4, a1
andi a5, a3, 1
seqz a5, a5
or a5, a5, a4
bnez a1, .LBB0_129
and a5, a5, a3
.LBB0_129:
andi a4, s3, 1
xori a1, a2, 1
xori a3, a5, 1
or a3, a3, a1
beqz a5, .LBB0_166
andi a2, s2, 1
andi a1, s4, 1
bnez a4, .LBB0_167
.LBB0_131:
andi a4, s7, 1
bnez a1, .LBB0_168
.LBB0_132:
andi a1, s5, 1
bnez a4, .LBB0_169
.LBB0_133:
andi a0, a0, 1
bnez a1, .LBB0_170
.LBB0_134:
andi a1, a3, 1
bnez a0, .LBB0_171
.LBB0_135:
andi a3, t6, 1
bnez a1, .LBB0_172
.LBB0_136:
andi a1, t5, 1
slliw a0, a2, 6
bnez a3, .LBB0_173
.LBB0_137:
andi a2, t4, 1
bnez a1, .LBB0_174
.LBB0_138:
andi a1, t3, 1
bnez a2, .LBB0_175
.LBB0_139:
andi a2, t2, 1
bnez a1, .LBB0_176
.LBB0_140:
andi a1, t0, 1
andi a3, t1, 1
bnez a2, .LBB0_177
.LBB0_141:
andi a2, a7, 1
or a0, a0, a3
slliw a0, a0, 3
bnez a1, .LBB0_178
.LBB0_142:
andi a1, a6, 1
beqz a2, .LBB0_144
.LBB0_143:
ori a0, a0, 2
.LBB0_144:
or a1, a1, a0
.LBB0_145:
mv a0, a1
ld ra, 328(sp)
ld s0, 320(sp)
ld s1, 312(sp)
ld s2, 304(sp)
ld s3, 296(sp)
ld s4, 288(sp)
ld s5, 280(sp)
ld s6, 272(sp)
ld s7, 264(sp)
ld s8, 256(sp)
ld s9, 248(sp)
ld s10, 240(sp)
ld s11, 232(sp)
addi sp, sp, 336
ret
.LBB0_146:
and a0, a0, a1
beqz t5, .LBB0_21
.LBB0_147:
ori a2, a2, 2
beqz s2, .LBB0_22
.LBB0_148:
ori a2, a2, 4
beqz a5, .LBB0_23
.LBB0_149:
ori a2, a2, 8
beqz s1, .LBB0_24
.LBB0_150:
ori a2, a2, 16
beqz s0, .LBB0_25
.LBB0_151:
ori a2, a2, 32
beqz a0, .LBB0_26
.LBB0_152:
ori a2, a2, 64
slliw a0, a2, 6
beqz t4, .LBB0_27
.LBB0_153:
ori a0, a0, 32
beqz t3, .LBB0_28
.LBB0_154:
ori a0, a0, 16
bnez t2, .LBB0_29
j .LBB0_30
.LBB0_155:
and a5, a5, s0
beqz s2, .LBB0_56
.LBB0_156:
ori s1, s1, 2
beqz a1, .LBB0_57
.LBB0_157:
ori s1, s1, 4
beqz a2, .LBB0_58
.LBB0_158:
ori s1, s1, 8
beqz a3, .LBB0_59
.LBB0_159:
ori s1, s1, 16
beqz a4, .LBB0_60
.LBB0_160:
ori s1, s1, 32
beqz a5, .LBB0_61
.LBB0_161:
ori s1, s1, 64
slliw a0, s1, 6
ld a4, 64(sp)
beqz t3, .LBB0_62
.LBB0_162:
ori a0, a0, 32
beqz t2, .LBB0_63
.LBB0_163:
ori a0, a0, 16
snez a1, t0
beq ra, t1, .LBB0_64
.LBB0_164:
ori a0, a0, 8
snez a2, a6
snez a3, a7
beq s10, a1, .LBB0_65
.LBB0_165:
ori a0, a0, 4
ld a5, 48(sp)
ld a1, 56(sp)
xor a2, a2, a1
bne a5, a3, .LBB0_66
j .LBB0_67
.LBB0_166:
and a3, a3, a2
andi a2, s2, 1
andi a1, s4, 1
beqz a4, .LBB0_131
.LBB0_167:
ori a2, a2, 2
andi a4, s7, 1
beqz a1, .LBB0_132
.LBB0_168:
ori a2, a2, 4
andi a1, s5, 1
beqz a4, .LBB0_133
.LBB0_169:
ori a2, a2, 8
andi a0, a0, 1
beqz a1, .LBB0_134
.LBB0_170:
ori a2, a2, 16
andi a1, a3, 1
beqz a0, .LBB0_135
.LBB0_171:
ori a2, a2, 32
andi a3, t6, 1
beqz a1, .LBB0_136
.LBB0_172:
ori a2, a2, 64
andi a1, t5, 1
slliw a0, a2, 6
beqz a3, .LBB0_137
.LBB0_173:
ori a0, a0, 32
andi a2, t4, 1
beqz a1, .LBB0_138
.LBB0_174:
ori a0, a0, 16
andi a1, t3, 1
beqz a2, .LBB0_139
.LBB0_175:
ori a0, a0, 8
andi a2, t2, 1
beqz a1, .LBB0_140
.LBB0_176:
ori a0, a0, 4
andi a1, t0, 1
andi a3, t1, 1
beqz a2, .LBB0_141
.LBB0_177:
ori a0, a0, 2
andi a2, a7, 1
or a0, a0, a3
slliw a0, a0, 3
beqz a1, .LBB0_142
.LBB0_178:
ori a0, a0, 4
andi a1, a6, 1
bnez a2, .LBB0_143
j .LBB0_144
.Lfunc_end0:
.size fib, .Lfunc_end0-fib
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -32
sd ra, 24(sp)
sd s0, 16(sp)
sd s1, 8(sp)
li a0, 1
li s1, 20
.LBB1_1:
mv s0, a0
li a0, 102
call putch
li a0, 105
call putch
li a0, 98
call putch
li a0, 40
call putch
mv a0, s0
call putint
li a0, 41
call putch
li a0, 32
call putch
li a0, 61
call putch
li a0, 32
call putch
mv a0, s0
call fib
call putint
li a0, 10
call putch
addiw a0, s0, 1
bltu s0, s1, .LBB1_1
li a0, 0
ld ra, 24(sp)
ld s0, 16(sp)
ld s1, 8(sp)
addi sp, sp, 32
ret
.Lfunc_end1:
.size main, .Lfunc_end1-main
.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