947 lines
14 KiB
ArmAsm
947 lines
14 KiB
ArmAsm
|
.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
|