1115 lines
14 KiB
ArmAsm
1115 lines
14 KiB
ArmAsm
|
.file "29_long_line.sy"
|
||
|
.option pic
|
||
|
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
|
||
|
.attribute unaligned_access, 0
|
||
|
.attribute stack_align, 16
|
||
|
.text
|
||
|
.align 1
|
||
|
.type fib.part.0, @function
|
||
|
fib.part.0:
|
||
|
addi sp,sp,-464
|
||
|
sraiw t3,a0,7
|
||
|
sraiw t1,a0,8
|
||
|
sraiw a7,a0,9
|
||
|
sraiw a6,a0,10
|
||
|
sraiw a1,a0,11
|
||
|
sraiw a2,a0,12
|
||
|
sraiw a4,a0,13
|
||
|
sraiw a5,a0,14
|
||
|
sraiw a3,a0,15
|
||
|
sd s1,440(sp)
|
||
|
sd s2,432(sp)
|
||
|
sraiw s1,a0,1
|
||
|
sraiw s2,a0,6
|
||
|
sd s3,424(sp)
|
||
|
sd s4,416(sp)
|
||
|
sraiw s3,a0,5
|
||
|
sraiw s4,a0,4
|
||
|
sd s5,408(sp)
|
||
|
sd s6,400(sp)
|
||
|
sraiw s5,a0,3
|
||
|
sraiw s6,a0,2
|
||
|
sd s9,376(sp)
|
||
|
andi s9,a0,1
|
||
|
andi a0,t3,1
|
||
|
sd a0,104(sp)
|
||
|
andi a0,t1,1
|
||
|
sd a0,112(sp)
|
||
|
andi a0,a7,1
|
||
|
sd a0,120(sp)
|
||
|
andi a1,a1,1
|
||
|
andi a0,a6,1
|
||
|
sd s7,392(sp)
|
||
|
sd s8,384(sp)
|
||
|
sd s11,360(sp)
|
||
|
sd ra,456(sp)
|
||
|
sd s0,448(sp)
|
||
|
sd s10,368(sp)
|
||
|
sd a0,128(sp)
|
||
|
sd a1,136(sp)
|
||
|
andi s1,s1,1
|
||
|
andi s6,s6,1
|
||
|
andi s5,s5,1
|
||
|
andi s4,s4,1
|
||
|
andi s3,s3,1
|
||
|
andi s2,s2,1
|
||
|
andi s11,a2,1
|
||
|
andi s8,a4,1
|
||
|
andi s7,a5,1
|
||
|
andi a3,a3,1
|
||
|
beq s9,zero,.L63
|
||
|
mv a4,s9
|
||
|
li a2,0
|
||
|
.L2:
|
||
|
beq s1,zero,.L64
|
||
|
mv a1,a4
|
||
|
li a5,0
|
||
|
mv a4,s1
|
||
|
sd zero,168(sp)
|
||
|
.L3:
|
||
|
beq s6,zero,.L65
|
||
|
mv a0,a4
|
||
|
mv s10,s1
|
||
|
mv a4,s6
|
||
|
li a5,0
|
||
|
sd zero,280(sp)
|
||
|
.L4:
|
||
|
beq s5,zero,.L66
|
||
|
mv a6,a4
|
||
|
li a5,0
|
||
|
mv a4,s5
|
||
|
sd zero,96(sp)
|
||
|
.L5:
|
||
|
beq s4,zero,.L67
|
||
|
mv a7,a4
|
||
|
li a5,0
|
||
|
mv a4,s4
|
||
|
sd zero,8(sp)
|
||
|
.L6:
|
||
|
beq s3,zero,.L68
|
||
|
mv t1,a4
|
||
|
li a5,0
|
||
|
mv a4,s3
|
||
|
sd zero,16(sp)
|
||
|
.L7:
|
||
|
beq s2,zero,.L69
|
||
|
mv t3,a4
|
||
|
li a5,0
|
||
|
mv a4,s2
|
||
|
sd zero,48(sp)
|
||
|
.L8:
|
||
|
ld s0,104(sp)
|
||
|
beq s0,zero,.L70
|
||
|
mv t4,a4
|
||
|
mv a4,s0
|
||
|
ld s0,112(sp)
|
||
|
sd zero,64(sp)
|
||
|
li a5,0
|
||
|
beq s0,zero,.L71
|
||
|
.L209:
|
||
|
mv t5,a4
|
||
|
mv a4,s0
|
||
|
ld s0,120(sp)
|
||
|
sd zero,80(sp)
|
||
|
li a5,0
|
||
|
beq s0,zero,.L72
|
||
|
.L210:
|
||
|
mv t6,a4
|
||
|
mv a4,s0
|
||
|
ld s0,128(sp)
|
||
|
sd zero,88(sp)
|
||
|
li a5,0
|
||
|
beq s0,zero,.L73
|
||
|
.L211:
|
||
|
mv t0,a4
|
||
|
mv a4,s0
|
||
|
ld s0,136(sp)
|
||
|
sd zero,72(sp)
|
||
|
li a5,0
|
||
|
beq s0,zero,.L74
|
||
|
.L212:
|
||
|
sd zero,56(sp)
|
||
|
mv t2,a4
|
||
|
li a5,0
|
||
|
mv a4,s0
|
||
|
beq s11,zero,.L75
|
||
|
.L213:
|
||
|
sd a4,160(sp)
|
||
|
sd zero,40(sp)
|
||
|
li a5,0
|
||
|
mv a4,s11
|
||
|
beq s8,zero,.L76
|
||
|
.L214:
|
||
|
sd a4,152(sp)
|
||
|
sd zero,32(sp)
|
||
|
li a5,0
|
||
|
mv a4,s8
|
||
|
beq s7,zero,.L77
|
||
|
.L215:
|
||
|
sd a4,144(sp)
|
||
|
li a5,0
|
||
|
mv a4,s7
|
||
|
sd zero,24(sp)
|
||
|
.L16:
|
||
|
li s0,1
|
||
|
sd s0,0(sp)
|
||
|
beq a3,zero,.L17
|
||
|
mv a5,a4
|
||
|
sd zero,0(sp)
|
||
|
.L17:
|
||
|
ld a4,144(sp)
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a4
|
||
|
ld a4,152(sp)
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a4
|
||
|
ld a4,160(sp)
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a4
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t2
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t0
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t6
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t5
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t4
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t3
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t1
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a7
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a6
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a0
|
||
|
slliw a5,a5,1
|
||
|
addw a0,a5,a1
|
||
|
slliw a0,a0,1
|
||
|
addw a0,a0,a2
|
||
|
li a5,2
|
||
|
ble a0,a5,.L79
|
||
|
call fib.part.0
|
||
|
sraiw s0,a0,15
|
||
|
sraiw t6,a0,14
|
||
|
sraiw t5,a0,13
|
||
|
sd s0,144(sp)
|
||
|
andi s0,t6,1
|
||
|
sraiw t4,a0,12
|
||
|
sd s0,240(sp)
|
||
|
andi s0,t5,1
|
||
|
sraiw t3,a0,11
|
||
|
sd s0,192(sp)
|
||
|
andi s0,t4,1
|
||
|
sraiw t1,a0,10
|
||
|
sd s0,184(sp)
|
||
|
andi s0,t3,1
|
||
|
sraiw a7,a0,9
|
||
|
sd s0,176(sp)
|
||
|
andi s0,t1,1
|
||
|
sraiw a5,a0,8
|
||
|
sd s0,160(sp)
|
||
|
andi s0,a7,1
|
||
|
sraiw a6,a0,7
|
||
|
sd s0,248(sp)
|
||
|
andi s0,a5,1
|
||
|
sraiw a1,a0,6
|
||
|
sd s0,256(sp)
|
||
|
andi s0,a6,1
|
||
|
sraiw a2,a0,5
|
||
|
sd s0,264(sp)
|
||
|
andi s0,a1,1
|
||
|
sraiw a3,a0,4
|
||
|
sd s0,272(sp)
|
||
|
andi s0,a2,1
|
||
|
sraiw a4,a0,3
|
||
|
sd s0,208(sp)
|
||
|
andi s0,a3,1
|
||
|
sraiw t0,a0,2
|
||
|
sd s0,200(sp)
|
||
|
andi s0,a4,1
|
||
|
sraiw t2,a0,1
|
||
|
sd s0,216(sp)
|
||
|
andi s0,t0,1
|
||
|
sd s0,224(sp)
|
||
|
andi a0,a0,1
|
||
|
andi s0,t2,1
|
||
|
sd s0,232(sp)
|
||
|
sd a0,152(sp)
|
||
|
.L18:
|
||
|
beq s10,zero,.L19
|
||
|
ld a0,280(sp)
|
||
|
beq a0,zero,.L19
|
||
|
li s10,0
|
||
|
beq s1,zero,.L193
|
||
|
.L20:
|
||
|
ld a0,96(sp)
|
||
|
bne a0,zero,.L81
|
||
|
li a0,1
|
||
|
sd a0,96(sp)
|
||
|
bne s5,zero,.L22
|
||
|
.L23:
|
||
|
bne s4,zero,.L24
|
||
|
.L25:
|
||
|
bne s3,zero,.L26
|
||
|
.L27:
|
||
|
bne s2,zero,.L28
|
||
|
.L29:
|
||
|
ld a0,104(sp)
|
||
|
bne a0,zero,.L30
|
||
|
.L31:
|
||
|
ld a0,112(sp)
|
||
|
bne a0,zero,.L32
|
||
|
.L33:
|
||
|
ld a0,120(sp)
|
||
|
bne a0,zero,.L34
|
||
|
.L35:
|
||
|
ld a0,128(sp)
|
||
|
bne a0,zero,.L36
|
||
|
.L37:
|
||
|
ld a0,136(sp)
|
||
|
bne a0,zero,.L38
|
||
|
.L39:
|
||
|
bne s11,zero,.L40
|
||
|
.L41:
|
||
|
bne s8,zero,.L42
|
||
|
.L43:
|
||
|
bne s7,zero,.L44
|
||
|
.L45:
|
||
|
sd a5,328(sp)
|
||
|
ld a5,0(sp)
|
||
|
sd a1,344(sp)
|
||
|
sd a6,336(sp)
|
||
|
slliw a0,a5,1
|
||
|
ld a5,24(sp)
|
||
|
sd t6,320(sp)
|
||
|
sd t2,312(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,32(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd t0,304(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,40(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd a4,296(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,56(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd t5,288(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,72(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd a2,280(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,88(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd a3,136(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,80(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd t4,128(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,64(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd t3,120(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,48(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd t1,112(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,16(sp)
|
||
|
slliw a0,a0,1
|
||
|
sd a7,104(sp)
|
||
|
addw a0,a0,a5
|
||
|
ld a5,8(sp)
|
||
|
slliw a0,a0,1
|
||
|
li s0,2
|
||
|
addw a0,a0,a5
|
||
|
ld a5,96(sp)
|
||
|
slliw a0,a0,1
|
||
|
addw a0,a0,a5
|
||
|
slliw a0,a0,1
|
||
|
ld a5,168(sp)
|
||
|
addw a0,a0,s10
|
||
|
slliw a0,a0,1
|
||
|
addw a0,a0,a5
|
||
|
slliw a0,a0,1
|
||
|
addw a0,a0,s9
|
||
|
ble a0,s0,.L93
|
||
|
call fib.part.0
|
||
|
ld a1,344(sp)
|
||
|
sraiw s1,a0,6
|
||
|
ld t2,312(sp)
|
||
|
ld a6,336(sp)
|
||
|
sd s1,8(sp)
|
||
|
or a1,s1,a1
|
||
|
ld s1,144(sp)
|
||
|
sraiw s9,a0,12
|
||
|
sraiw s5,a0,8
|
||
|
sraiw a5,a0,1
|
||
|
sraiw a4,a0,2
|
||
|
sraiw a3,a0,3
|
||
|
sraiw s0,a0,7
|
||
|
sraiw s3,a0,4
|
||
|
sraiw s2,a0,5
|
||
|
sraiw s6,a0,9
|
||
|
sraiw s7,a0,10
|
||
|
sraiw s8,a0,11
|
||
|
sraiw s10,a0,13
|
||
|
sraiw s11,a0,14
|
||
|
andi s4,a0,1
|
||
|
sraiw a0,a0,15
|
||
|
sd s0,24(sp)
|
||
|
ld t4,128(sp)
|
||
|
sd a5,32(sp)
|
||
|
or t2,t2,a5
|
||
|
or a6,s0,a6
|
||
|
ld a5,328(sp)
|
||
|
mv s0,a0
|
||
|
or s0,s0,s1
|
||
|
ld t0,304(sp)
|
||
|
sd a4,16(sp)
|
||
|
sd a3,40(sp)
|
||
|
sd s0,0(sp)
|
||
|
andi s0,s9,1
|
||
|
or a5,s5,a5
|
||
|
or t4,t4,s9
|
||
|
sd s0,56(sp)
|
||
|
ld s9,16(sp)
|
||
|
andi s0,s5,1
|
||
|
ld s5,40(sp)
|
||
|
or t0,a4,t0
|
||
|
ld a4,296(sp)
|
||
|
andi s5,s5,1
|
||
|
andi s9,s9,1
|
||
|
ld s1,8(sp)
|
||
|
ld a2,280(sp)
|
||
|
ld a7,104(sp)
|
||
|
ld t1,112(sp)
|
||
|
ld t3,120(sp)
|
||
|
ld t5,288(sp)
|
||
|
ld t6,320(sp)
|
||
|
or a4,a4,a3
|
||
|
sd a0,64(sp)
|
||
|
ld a3,136(sp)
|
||
|
ld a0,152(sp)
|
||
|
sd s0,48(sp)
|
||
|
sd s9,16(sp)
|
||
|
ld s0,24(sp)
|
||
|
sd s5,8(sp)
|
||
|
ld s5,32(sp)
|
||
|
or a3,s3,a3
|
||
|
or a2,a2,s2
|
||
|
andi s5,s5,1
|
||
|
or a7,a7,s6
|
||
|
or t1,s7,t1
|
||
|
or t3,t3,s8
|
||
|
or t5,s10,t5
|
||
|
or t6,s11,t6
|
||
|
sd s5,24(sp)
|
||
|
or a0,s4,a0
|
||
|
andi t2,t2,1
|
||
|
andi t0,t0,1
|
||
|
andi a4,a4,1
|
||
|
andi a3,a3,1
|
||
|
andi a2,a2,1
|
||
|
andi a1,a1,1
|
||
|
andi a6,a6,1
|
||
|
andi a5,a5,1
|
||
|
andi a7,a7,1
|
||
|
andi t1,t1,1
|
||
|
andi t3,t3,1
|
||
|
andi t4,t4,1
|
||
|
andi t5,t5,1
|
||
|
andi t6,t6,1
|
||
|
andi s11,s11,1
|
||
|
andi s10,s10,1
|
||
|
andi s8,s8,1
|
||
|
andi s7,s7,1
|
||
|
andi s6,s6,1
|
||
|
andi s0,s0,1
|
||
|
andi s1,s1,1
|
||
|
andi s2,s2,1
|
||
|
andi s3,s3,1
|
||
|
li s9,0
|
||
|
li s5,1
|
||
|
bne a0,zero,.L46
|
||
|
.L47:
|
||
|
beq t2,zero,.L96
|
||
|
.L195:
|
||
|
ld t2,232(sp)
|
||
|
beq t2,zero,.L98
|
||
|
ld t2,24(sp)
|
||
|
beq t2,zero,.L98
|
||
|
li s5,0
|
||
|
.L48:
|
||
|
beq t0,zero,.L99
|
||
|
.L196:
|
||
|
ld t0,224(sp)
|
||
|
beq t0,zero,.L101
|
||
|
ld t0,16(sp)
|
||
|
beq t0,zero,.L101
|
||
|
li s5,0
|
||
|
.L49:
|
||
|
beq a4,zero,.L102
|
||
|
.L197:
|
||
|
ld a4,216(sp)
|
||
|
beq a4,zero,.L104
|
||
|
ld a4,8(sp)
|
||
|
beq a4,zero,.L104
|
||
|
li s5,0
|
||
|
.L50:
|
||
|
beq a3,zero,.L105
|
||
|
.L198:
|
||
|
ld a3,200(sp)
|
||
|
beq a3,zero,.L107
|
||
|
beq s3,zero,.L107
|
||
|
mv a3,s3
|
||
|
li s5,0
|
||
|
.L51:
|
||
|
beq a2,zero,.L108
|
||
|
.L199:
|
||
|
ld a2,208(sp)
|
||
|
beq a2,zero,.L110
|
||
|
beq s2,zero,.L110
|
||
|
mv a2,s2
|
||
|
li s5,0
|
||
|
.L52:
|
||
|
beq a1,zero,.L111
|
||
|
.L200:
|
||
|
ld a1,272(sp)
|
||
|
beq a1,zero,.L113
|
||
|
beq s1,zero,.L113
|
||
|
mv a1,s1
|
||
|
li s5,0
|
||
|
.L53:
|
||
|
beq a6,zero,.L114
|
||
|
.L201:
|
||
|
ld s1,264(sp)
|
||
|
beq s1,zero,.L116
|
||
|
beq s0,zero,.L116
|
||
|
mv a6,s0
|
||
|
li s5,0
|
||
|
.L54:
|
||
|
beq a5,zero,.L117
|
||
|
.L202:
|
||
|
ld a5,256(sp)
|
||
|
beq a5,zero,.L119
|
||
|
ld a5,48(sp)
|
||
|
beq a5,zero,.L119
|
||
|
li s5,0
|
||
|
.L55:
|
||
|
beq a7,zero,.L120
|
||
|
.L203:
|
||
|
ld s0,248(sp)
|
||
|
beq s0,zero,.L122
|
||
|
beq s6,zero,.L122
|
||
|
mv a7,s6
|
||
|
li s5,0
|
||
|
.L56:
|
||
|
beq t1,zero,.L123
|
||
|
.L204:
|
||
|
ld s0,160(sp)
|
||
|
beq s0,zero,.L125
|
||
|
beq s7,zero,.L125
|
||
|
mv t1,s7
|
||
|
li s5,0
|
||
|
.L57:
|
||
|
beq t3,zero,.L126
|
||
|
.L205:
|
||
|
ld s0,176(sp)
|
||
|
beq s0,zero,.L128
|
||
|
beq s8,zero,.L128
|
||
|
mv t3,s8
|
||
|
li s5,0
|
||
|
.L58:
|
||
|
beq t4,zero,.L129
|
||
|
.L206:
|
||
|
ld s0,184(sp)
|
||
|
beq s0,zero,.L131
|
||
|
ld t4,56(sp)
|
||
|
beq t4,zero,.L131
|
||
|
li s5,0
|
||
|
.L59:
|
||
|
beq t5,zero,.L132
|
||
|
.L207:
|
||
|
ld s0,192(sp)
|
||
|
beq s0,zero,.L134
|
||
|
beq s10,zero,.L134
|
||
|
mv t5,s10
|
||
|
li s5,0
|
||
|
.L60:
|
||
|
beq t6,zero,.L135
|
||
|
.L208:
|
||
|
ld s0,240(sp)
|
||
|
beq s0,zero,.L137
|
||
|
beq s11,zero,.L137
|
||
|
ld s0,0(sp)
|
||
|
mv t6,s11
|
||
|
li s5,0
|
||
|
bne s0,zero,.L194
|
||
|
.L62:
|
||
|
slliw t6,t6,1
|
||
|
addw t6,t6,t5
|
||
|
slliw t6,t6,1
|
||
|
addw t4,t6,t4
|
||
|
slliw t4,t4,1
|
||
|
addw t3,t4,t3
|
||
|
slliw t3,t3,1
|
||
|
addw t1,t3,t1
|
||
|
slliw t1,t1,1
|
||
|
addw a7,t1,a7
|
||
|
slliw a7,a7,1
|
||
|
addw a5,a5,a7
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a6
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a1
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a2
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a3
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,a4
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t0
|
||
|
slliw a5,a5,1
|
||
|
addw a5,a5,t2
|
||
|
ld ra,456(sp)
|
||
|
ld s0,448(sp)
|
||
|
slliw a5,a5,1
|
||
|
addw a0,a5,a0
|
||
|
slliw a0,a0,1
|
||
|
ld s1,440(sp)
|
||
|
ld s2,432(sp)
|
||
|
ld s3,424(sp)
|
||
|
ld s4,416(sp)
|
||
|
ld s5,408(sp)
|
||
|
ld s6,400(sp)
|
||
|
ld s7,392(sp)
|
||
|
ld s8,384(sp)
|
||
|
ld s10,368(sp)
|
||
|
ld s11,360(sp)
|
||
|
addw a0,a0,s9
|
||
|
ld s9,376(sp)
|
||
|
addi sp,sp,464
|
||
|
jr ra
|
||
|
.L193:
|
||
|
mv s10,a0
|
||
|
.L19:
|
||
|
bne s6,zero,.L20
|
||
|
beq s5,zero,.L23
|
||
|
j .L22
|
||
|
.L81:
|
||
|
sd zero,96(sp)
|
||
|
.L22:
|
||
|
ld a0,8(sp)
|
||
|
bne a0,zero,.L82
|
||
|
li a0,1
|
||
|
sd a0,8(sp)
|
||
|
beq s4,zero,.L25
|
||
|
j .L24
|
||
|
.L93:
|
||
|
ld a4,144(sp)
|
||
|
ld a5,256(sp)
|
||
|
ld a1,272(sp)
|
||
|
sd a4,0(sp)
|
||
|
ld a3,200(sp)
|
||
|
ld t6,240(sp)
|
||
|
ld t0,224(sp)
|
||
|
ld t1,160(sp)
|
||
|
ld t5,192(sp)
|
||
|
ld t4,184(sp)
|
||
|
ld t2,232(sp)
|
||
|
ld a4,216(sp)
|
||
|
ld a6,264(sp)
|
||
|
ld a7,248(sp)
|
||
|
ld t3,176(sp)
|
||
|
ld a2,208(sp)
|
||
|
li s7,0
|
||
|
li s8,0
|
||
|
li s3,0
|
||
|
li s1,0
|
||
|
li s0,0
|
||
|
sd zero,24(sp)
|
||
|
sd zero,16(sp)
|
||
|
sd zero,48(sp)
|
||
|
sd zero,56(sp)
|
||
|
li s10,0
|
||
|
li s11,0
|
||
|
sd zero,64(sp)
|
||
|
li s6,0
|
||
|
sd zero,8(sp)
|
||
|
li s2,0
|
||
|
li s4,1
|
||
|
.L46:
|
||
|
ld a0,152(sp)
|
||
|
beq a0,zero,.L95
|
||
|
xori s5,s4,1
|
||
|
mv s9,s5
|
||
|
mv a0,s4
|
||
|
bne t2,zero,.L195
|
||
|
.L96:
|
||
|
li s5,1
|
||
|
bne t0,zero,.L196
|
||
|
.L99:
|
||
|
li s5,1
|
||
|
bne a4,zero,.L197
|
||
|
.L102:
|
||
|
li s5,1
|
||
|
bne a3,zero,.L198
|
||
|
.L105:
|
||
|
li s5,1
|
||
|
bne a2,zero,.L199
|
||
|
.L108:
|
||
|
li s5,1
|
||
|
bne a1,zero,.L200
|
||
|
.L111:
|
||
|
li s5,1
|
||
|
bne a6,zero,.L201
|
||
|
.L114:
|
||
|
li s5,1
|
||
|
bne a5,zero,.L202
|
||
|
.L117:
|
||
|
li s5,1
|
||
|
bne a7,zero,.L203
|
||
|
.L120:
|
||
|
li s5,1
|
||
|
bne t1,zero,.L204
|
||
|
.L123:
|
||
|
li s5,1
|
||
|
bne t3,zero,.L205
|
||
|
.L126:
|
||
|
li s5,1
|
||
|
bne t4,zero,.L206
|
||
|
.L129:
|
||
|
li s5,1
|
||
|
bne t5,zero,.L207
|
||
|
.L132:
|
||
|
li s5,1
|
||
|
bne t6,zero,.L208
|
||
|
.L135:
|
||
|
li s5,1
|
||
|
.L61:
|
||
|
ld s0,0(sp)
|
||
|
beq s0,zero,.L62
|
||
|
.L194:
|
||
|
ld s0,144(sp)
|
||
|
beq s0,zero,.L139
|
||
|
ld s0,64(sp)
|
||
|
bne s0,zero,.L62
|
||
|
.L139:
|
||
|
mv t6,s5
|
||
|
j .L62
|
||
|
.L70:
|
||
|
li s0,1
|
||
|
sd s0,64(sp)
|
||
|
ld s0,112(sp)
|
||
|
mv t4,a5
|
||
|
bne s0,zero,.L209
|
||
|
.L71:
|
||
|
li s0,1
|
||
|
sd s0,80(sp)
|
||
|
ld s0,120(sp)
|
||
|
mv t5,a5
|
||
|
bne s0,zero,.L210
|
||
|
.L72:
|
||
|
li s0,1
|
||
|
sd s0,88(sp)
|
||
|
ld s0,128(sp)
|
||
|
mv t6,a5
|
||
|
bne s0,zero,.L211
|
||
|
.L73:
|
||
|
li s0,1
|
||
|
sd s0,72(sp)
|
||
|
ld s0,136(sp)
|
||
|
mv t0,a5
|
||
|
bne s0,zero,.L212
|
||
|
.L74:
|
||
|
li s0,1
|
||
|
sd s0,56(sp)
|
||
|
mv t2,a5
|
||
|
bne s11,zero,.L213
|
||
|
.L75:
|
||
|
li s0,1
|
||
|
sd a5,160(sp)
|
||
|
sd s0,40(sp)
|
||
|
bne s8,zero,.L214
|
||
|
.L76:
|
||
|
li s0,1
|
||
|
sd a5,152(sp)
|
||
|
sd s0,32(sp)
|
||
|
bne s7,zero,.L215
|
||
|
.L77:
|
||
|
li s0,1
|
||
|
sd a5,144(sp)
|
||
|
sd s0,24(sp)
|
||
|
j .L16
|
||
|
.L69:
|
||
|
li s0,1
|
||
|
mv t3,a5
|
||
|
sd s0,48(sp)
|
||
|
j .L8
|
||
|
.L68:
|
||
|
li s0,1
|
||
|
mv t1,a5
|
||
|
sd s0,16(sp)
|
||
|
j .L7
|
||
|
.L67:
|
||
|
li s0,1
|
||
|
mv a7,a5
|
||
|
sd s0,8(sp)
|
||
|
j .L6
|
||
|
.L66:
|
||
|
li s0,1
|
||
|
mv a6,a5
|
||
|
sd s0,96(sp)
|
||
|
j .L5
|
||
|
.L65:
|
||
|
li s0,1
|
||
|
mv a0,a5
|
||
|
li s10,1
|
||
|
sd s0,280(sp)
|
||
|
j .L4
|
||
|
.L64:
|
||
|
li a0,1
|
||
|
mv a5,a2
|
||
|
mv a1,a2
|
||
|
sd a0,168(sp)
|
||
|
j .L3
|
||
|
.L63:
|
||
|
li a4,0
|
||
|
li a2,1
|
||
|
j .L2
|
||
|
.L137:
|
||
|
mv t6,t5
|
||
|
mv t5,s5
|
||
|
j .L61
|
||
|
.L134:
|
||
|
mv t5,t4
|
||
|
mv t4,s5
|
||
|
j .L60
|
||
|
.L131:
|
||
|
mv t4,t3
|
||
|
mv t3,s5
|
||
|
j .L59
|
||
|
.L128:
|
||
|
mv t3,t1
|
||
|
mv t1,s5
|
||
|
j .L58
|
||
|
.L125:
|
||
|
mv t1,a7
|
||
|
mv a7,s5
|
||
|
j .L57
|
||
|
.L122:
|
||
|
mv a7,a5
|
||
|
mv a5,s5
|
||
|
j .L56
|
||
|
.L119:
|
||
|
mv a5,a6
|
||
|
mv a6,s5
|
||
|
j .L55
|
||
|
.L116:
|
||
|
mv a6,a1
|
||
|
mv a1,s5
|
||
|
j .L54
|
||
|
.L113:
|
||
|
mv a1,a2
|
||
|
mv a2,s5
|
||
|
j .L53
|
||
|
.L110:
|
||
|
mv a2,a3
|
||
|
mv a3,s5
|
||
|
j .L52
|
||
|
.L107:
|
||
|
mv a3,a4
|
||
|
mv a4,s5
|
||
|
j .L51
|
||
|
.L104:
|
||
|
mv a4,t0
|
||
|
mv t0,s5
|
||
|
j .L50
|
||
|
.L101:
|
||
|
mv t0,t2
|
||
|
mv t2,s5
|
||
|
j .L49
|
||
|
.L98:
|
||
|
mv t2,a0
|
||
|
mv a0,s5
|
||
|
j .L48
|
||
|
.L95:
|
||
|
li a0,0
|
||
|
li s5,1
|
||
|
li s9,1
|
||
|
j .L47
|
||
|
.L83:
|
||
|
sd zero,16(sp)
|
||
|
.L26:
|
||
|
ld a0,48(sp)
|
||
|
bne a0,zero,.L84
|
||
|
li a0,1
|
||
|
sd a0,48(sp)
|
||
|
beq s2,zero,.L29
|
||
|
.L28:
|
||
|
ld a0,64(sp)
|
||
|
bne a0,zero,.L85
|
||
|
.L216:
|
||
|
li a0,1
|
||
|
sd a0,64(sp)
|
||
|
ld a0,104(sp)
|
||
|
beq a0,zero,.L31
|
||
|
.L30:
|
||
|
ld a0,80(sp)
|
||
|
bne a0,zero,.L86
|
||
|
.L217:
|
||
|
li a0,1
|
||
|
sd a0,80(sp)
|
||
|
ld a0,112(sp)
|
||
|
beq a0,zero,.L33
|
||
|
.L32:
|
||
|
ld a0,88(sp)
|
||
|
bne a0,zero,.L87
|
||
|
.L218:
|
||
|
li a0,1
|
||
|
sd a0,88(sp)
|
||
|
ld a0,120(sp)
|
||
|
beq a0,zero,.L35
|
||
|
.L34:
|
||
|
ld a0,72(sp)
|
||
|
bne a0,zero,.L88
|
||
|
.L219:
|
||
|
li a0,1
|
||
|
sd a0,72(sp)
|
||
|
ld a0,128(sp)
|
||
|
beq a0,zero,.L37
|
||
|
.L36:
|
||
|
ld a0,56(sp)
|
||
|
bne a0,zero,.L89
|
||
|
.L220:
|
||
|
li a0,1
|
||
|
sd a0,56(sp)
|
||
|
ld a0,136(sp)
|
||
|
beq a0,zero,.L39
|
||
|
.L38:
|
||
|
ld a0,40(sp)
|
||
|
bne a0,zero,.L90
|
||
|
li a0,1
|
||
|
sd a0,40(sp)
|
||
|
beq s11,zero,.L41
|
||
|
j .L40
|
||
|
.L82:
|
||
|
sd zero,8(sp)
|
||
|
.L24:
|
||
|
ld a0,16(sp)
|
||
|
bne a0,zero,.L83
|
||
|
li a0,1
|
||
|
sd a0,16(sp)
|
||
|
beq s3,zero,.L27
|
||
|
j .L26
|
||
|
.L91:
|
||
|
sd zero,32(sp)
|
||
|
.L42:
|
||
|
ld a0,24(sp)
|
||
|
bne a0,zero,.L92
|
||
|
li a0,1
|
||
|
sd a0,24(sp)
|
||
|
beq s7,zero,.L45
|
||
|
.L44:
|
||
|
ld s0,0(sp)
|
||
|
li a0,1
|
||
|
subw a0,a0,s0
|
||
|
sd a0,0(sp)
|
||
|
j .L45
|
||
|
.L90:
|
||
|
sd zero,40(sp)
|
||
|
.L40:
|
||
|
ld a0,32(sp)
|
||
|
bne a0,zero,.L91
|
||
|
li a0,1
|
||
|
sd a0,32(sp)
|
||
|
beq s8,zero,.L43
|
||
|
j .L42
|
||
|
.L79:
|
||
|
li a5,1
|
||
|
sd a5,152(sp)
|
||
|
sd zero,232(sp)
|
||
|
li t2,0
|
||
|
sd zero,224(sp)
|
||
|
li t0,0
|
||
|
sd zero,216(sp)
|
||
|
li a4,0
|
||
|
sd zero,200(sp)
|
||
|
li a3,0
|
||
|
sd zero,208(sp)
|
||
|
li a2,0
|
||
|
sd zero,272(sp)
|
||
|
li a1,0
|
||
|
sd zero,264(sp)
|
||
|
li a6,0
|
||
|
sd zero,256(sp)
|
||
|
li a5,0
|
||
|
sd zero,248(sp)
|
||
|
li a7,0
|
||
|
sd zero,160(sp)
|
||
|
li t1,0
|
||
|
sd zero,176(sp)
|
||
|
li t3,0
|
||
|
sd zero,184(sp)
|
||
|
li t4,0
|
||
|
sd zero,192(sp)
|
||
|
li t5,0
|
||
|
sd zero,240(sp)
|
||
|
li t6,0
|
||
|
sd zero,144(sp)
|
||
|
j .L18
|
||
|
.L84:
|
||
|
ld a0,64(sp)
|
||
|
sd zero,48(sp)
|
||
|
beq a0,zero,.L216
|
||
|
.L85:
|
||
|
ld a0,80(sp)
|
||
|
sd zero,64(sp)
|
||
|
beq a0,zero,.L217
|
||
|
.L86:
|
||
|
ld a0,88(sp)
|
||
|
sd zero,80(sp)
|
||
|
beq a0,zero,.L218
|
||
|
.L87:
|
||
|
ld a0,72(sp)
|
||
|
sd zero,88(sp)
|
||
|
beq a0,zero,.L219
|
||
|
.L88:
|
||
|
ld a0,56(sp)
|
||
|
sd zero,72(sp)
|
||
|
beq a0,zero,.L220
|
||
|
.L89:
|
||
|
sd zero,56(sp)
|
||
|
j .L38
|
||
|
.L92:
|
||
|
ld s0,0(sp)
|
||
|
li a0,1
|
||
|
sd zero,24(sp)
|
||
|
subw a0,a0,s0
|
||
|
sd a0,0(sp)
|
||
|
j .L45
|
||
|
.size fib.part.0, .-fib.part.0
|
||
|
.align 1
|
||
|
.globl fib
|
||
|
.type fib, @function
|
||
|
fib:
|
||
|
li a5,2
|
||
|
ble a0,a5,.L222
|
||
|
tail fib.part.0
|
||
|
.L222:
|
||
|
li a0,1
|
||
|
ret
|
||
|
.size fib, .-fib
|
||
|
.section .text.startup,"ax",@progbits
|
||
|
.align 1
|
||
|
.globl main
|
||
|
.type main, @function
|
||
|
main:
|
||
|
addi sp,sp,-32
|
||
|
sd s0,16(sp)
|
||
|
sd s1,8(sp)
|
||
|
sd s2,0(sp)
|
||
|
sd ra,24(sp)
|
||
|
li s0,1
|
||
|
li s1,2
|
||
|
li s2,21
|
||
|
.L227:
|
||
|
li a0,102
|
||
|
call putch@plt
|
||
|
li a0,105
|
||
|
call putch@plt
|
||
|
li a0,98
|
||
|
call putch@plt
|
||
|
li a0,40
|
||
|
call putch@plt
|
||
|
mv a0,s0
|
||
|
call putint@plt
|
||
|
li a0,41
|
||
|
call putch@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
li a0,61
|
||
|
call putch@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
mv a0,s0
|
||
|
ble s0,s1,.L224
|
||
|
call fib.part.0
|
||
|
call putint@plt
|
||
|
addiw s0,s0,1
|
||
|
li a0,10
|
||
|
call putch@plt
|
||
|
bne s0,s2,.L227
|
||
|
ld ra,24(sp)
|
||
|
ld s0,16(sp)
|
||
|
ld s1,8(sp)
|
||
|
ld s2,0(sp)
|
||
|
li a0,0
|
||
|
addi sp,sp,32
|
||
|
jr ra
|
||
|
.L224:
|
||
|
li a0,1
|
||
|
call putint@plt
|
||
|
li a0,10
|
||
|
call putch@plt
|
||
|
addiw s0,s0,1
|
||
|
j .L227
|
||
|
.size main, .-main
|
||
|
.globl _sysy_idx
|
||
|
.globl _sysy_us
|
||
|
.globl _sysy_s
|
||
|
.globl _sysy_m
|
||
|
.globl _sysy_h
|
||
|
.globl _sysy_l2
|
||
|
.globl _sysy_l1
|
||
|
.globl _sysy_end
|
||
|
.globl _sysy_start
|
||
|
.bss
|
||
|
.align 3
|
||
|
.type _sysy_idx, @object
|
||
|
.size _sysy_idx, 4
|
||
|
_sysy_idx:
|
||
|
.zero 4
|
||
|
.zero 4
|
||
|
.type _sysy_us, @object
|
||
|
.size _sysy_us, 4096
|
||
|
_sysy_us:
|
||
|
.zero 4096
|
||
|
.type _sysy_s, @object
|
||
|
.size _sysy_s, 4096
|
||
|
_sysy_s:
|
||
|
.zero 4096
|
||
|
.type _sysy_m, @object
|
||
|
.size _sysy_m, 4096
|
||
|
_sysy_m:
|
||
|
.zero 4096
|
||
|
.type _sysy_h, @object
|
||
|
.size _sysy_h, 4096
|
||
|
_sysy_h:
|
||
|
.zero 4096
|
||
|
.type _sysy_l2, @object
|
||
|
.size _sysy_l2, 4096
|
||
|
_sysy_l2:
|
||
|
.zero 4096
|
||
|
.type _sysy_l1, @object
|
||
|
.size _sysy_l1, 4096
|
||
|
_sysy_l1:
|
||
|
.zero 4096
|
||
|
.type _sysy_end, @object
|
||
|
.size _sysy_end, 16
|
||
|
_sysy_end:
|
||
|
.zero 16
|
||
|
.type _sysy_start, @object
|
||
|
.size _sysy_start, 16
|
||
|
_sysy_start:
|
||
|
.zero 16
|
||
|
.ident "GCC: (Debian 12.2.0-13) 12.2.0"
|
||
|
.section .note.GNU-stack,"",@progbits
|