2338 lines
33 KiB
ArmAsm
2338 lines
33 KiB
ArmAsm
|
.file "03_sort3.sy"
|
||
|
.option pic
|
||
|
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
|
||
|
.attribute unaligned_access, 0
|
||
|
.attribute stack_align, 16
|
||
|
.text
|
||
|
.align 1
|
||
|
.globl getMaxNum
|
||
|
.type getMaxNum, @function
|
||
|
getMaxNum:
|
||
|
ble a0,zero,.L5
|
||
|
slli a0,a0,2
|
||
|
add a3,a1,a0
|
||
|
li a0,0
|
||
|
.L4:
|
||
|
lw a5,0(a1)
|
||
|
addi a1,a1,4
|
||
|
mv a4,a5
|
||
|
bge a5,a0,.L3
|
||
|
mv a4,a0
|
||
|
.L3:
|
||
|
sext.w a0,a4
|
||
|
bne a3,a1,.L4
|
||
|
ret
|
||
|
.L5:
|
||
|
li a0,0
|
||
|
ret
|
||
|
.size getMaxNum, .-getMaxNum
|
||
|
.align 1
|
||
|
.globl getNumPos
|
||
|
.type getNumPos, @function
|
||
|
getNumPos:
|
||
|
ble a1,zero,.L9
|
||
|
li a4,0
|
||
|
.L10:
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,28
|
||
|
addw a0,a5,a0
|
||
|
addiw a4,a4,1
|
||
|
sraiw a0,a0,4
|
||
|
bne a1,a4,.L10
|
||
|
.L9:
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,28
|
||
|
addw a0,a5,a0
|
||
|
andi a0,a0,15
|
||
|
subw a0,a0,a5
|
||
|
ret
|
||
|
.size getNumPos, .-getNumPos
|
||
|
.align 1
|
||
|
.globl radixSort
|
||
|
.type radixSort, @function
|
||
|
radixSort:
|
||
|
addi sp,sp,-256
|
||
|
sd ra,248(sp)
|
||
|
sd s0,240(sp)
|
||
|
sd s1,232(sp)
|
||
|
sd s2,224(sp)
|
||
|
sd s3,216(sp)
|
||
|
sd s4,208(sp)
|
||
|
sd s5,200(sp)
|
||
|
sd s6,192(sp)
|
||
|
sd zero,0(sp)
|
||
|
sd zero,8(sp)
|
||
|
sd zero,16(sp)
|
||
|
sd zero,24(sp)
|
||
|
sd zero,32(sp)
|
||
|
sd zero,40(sp)
|
||
|
sd zero,48(sp)
|
||
|
sd zero,56(sp)
|
||
|
sd zero,64(sp)
|
||
|
sd zero,72(sp)
|
||
|
sd zero,80(sp)
|
||
|
sd zero,88(sp)
|
||
|
sd zero,96(sp)
|
||
|
sd zero,104(sp)
|
||
|
sd zero,112(sp)
|
||
|
sd zero,120(sp)
|
||
|
sd zero,128(sp)
|
||
|
sd zero,136(sp)
|
||
|
sd zero,144(sp)
|
||
|
sd zero,152(sp)
|
||
|
sd zero,160(sp)
|
||
|
sd zero,168(sp)
|
||
|
sd zero,176(sp)
|
||
|
sd zero,184(sp)
|
||
|
li a4,-1
|
||
|
beq a0,a4,.L12
|
||
|
addiw a4,a2,1
|
||
|
mv s3,a2
|
||
|
bge a4,a3,.L12
|
||
|
subw a3,a3,a2
|
||
|
slli a3,a3,32
|
||
|
srli a3,a3,32
|
||
|
add a3,a3,a2
|
||
|
slli a3,a3,2
|
||
|
slli a2,a2,2
|
||
|
mv s5,a0
|
||
|
mv s2,a1
|
||
|
add a2,a1,a2
|
||
|
add a3,a1,a3
|
||
|
.L20:
|
||
|
lw a1,0(a2)
|
||
|
ble s5,zero,.L15
|
||
|
mv a6,a1
|
||
|
li a0,0
|
||
|
.L16:
|
||
|
sraiw a5,a6,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a6
|
||
|
mv a7,a0
|
||
|
addiw a0,a0,1
|
||
|
sraiw a6,a5,4
|
||
|
bne s5,a0,.L16
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw a4,a6,a5
|
||
|
andi a4,a4,15
|
||
|
subw a5,a4,a5
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,192
|
||
|
add a5,a5,sp
|
||
|
lw t1,-64(a5)
|
||
|
li a0,0
|
||
|
.L19:
|
||
|
sraiw a5,a1,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a1
|
||
|
mv a6,a0
|
||
|
sraiw a1,a5,4
|
||
|
addiw a0,a0,1
|
||
|
bne a6,a7,.L19
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw a4,a1,a5
|
||
|
andi a4,a4,15
|
||
|
subw a5,a4,a5
|
||
|
slli a5,a5,2
|
||
|
.L18:
|
||
|
addi a5,a5,192
|
||
|
add a5,a5,sp
|
||
|
addiw t1,t1,1
|
||
|
sw t1,-64(a5)
|
||
|
addi a2,a2,4
|
||
|
bne a2,a3,.L20
|
||
|
lw t3,128(sp)
|
||
|
lw t4,132(sp)
|
||
|
lw a7,136(sp)
|
||
|
lw t1,140(sp)
|
||
|
addw t3,t3,s3
|
||
|
addw t4,t3,t4
|
||
|
lw a0,144(sp)
|
||
|
addw a7,t4,a7
|
||
|
lw a6,148(sp)
|
||
|
addw t1,a7,t1
|
||
|
lw a2,152(sp)
|
||
|
addw a0,t1,a0
|
||
|
lw a1,156(sp)
|
||
|
addw a6,a0,a6
|
||
|
lw a3,160(sp)
|
||
|
addw a2,a6,a2
|
||
|
lw s4,164(sp)
|
||
|
addw a1,a2,a1
|
||
|
lw a4,168(sp)
|
||
|
addw a3,a1,a3
|
||
|
lw t0,172(sp)
|
||
|
addw s4,a3,s4
|
||
|
lw s0,176(sp)
|
||
|
addw a4,s4,a4
|
||
|
lw t6,180(sp)
|
||
|
addw t0,a4,t0
|
||
|
lw t5,184(sp)
|
||
|
addw s0,t0,s0
|
||
|
lw t2,188(sp)
|
||
|
addw t6,s0,t6
|
||
|
addw t5,t6,t5
|
||
|
li a5,-1
|
||
|
srli a5,a5,32
|
||
|
addw t2,t5,t2
|
||
|
and a7,a5,a7
|
||
|
and a0,a5,a0
|
||
|
and a2,a5,a2
|
||
|
slli t2,t2,32
|
||
|
and t5,a5,t5
|
||
|
slli t4,t4,32
|
||
|
and t3,a5,t3
|
||
|
slli a6,a6,32
|
||
|
slli a1,a1,32
|
||
|
slli s4,s4,32
|
||
|
and a3,a5,a3
|
||
|
slli t0,t0,32
|
||
|
and a4,a5,a4
|
||
|
slli t6,t6,32
|
||
|
and a5,a5,s0
|
||
|
slli t1,t1,32
|
||
|
addi s0,sp,64
|
||
|
or a3,a3,s4
|
||
|
or t1,a7,t1
|
||
|
or a4,a4,t0
|
||
|
or a7,a0,a6
|
||
|
or t5,t5,t2
|
||
|
or a6,a2,a1
|
||
|
or t3,t3,t4
|
||
|
or a5,a5,t6
|
||
|
mv a1,s0
|
||
|
li a2,60
|
||
|
addi a0,sp,4
|
||
|
sd a3,96(sp)
|
||
|
sd a4,104(sp)
|
||
|
mv s4,sp
|
||
|
sw s3,0(sp)
|
||
|
sd t3,64(sp)
|
||
|
sd t1,72(sp)
|
||
|
sd a7,80(sp)
|
||
|
sd a6,88(sp)
|
||
|
sd a5,112(sp)
|
||
|
sd t5,120(sp)
|
||
|
call memcpy@plt
|
||
|
mv a1,s0
|
||
|
mv a3,s4
|
||
|
li a4,0
|
||
|
li a0,16
|
||
|
.L21:
|
||
|
lw a5,0(a3)
|
||
|
lw a2,0(a1)
|
||
|
bge a5,a2,.L33
|
||
|
.L31:
|
||
|
slli a5,a5,2
|
||
|
add a5,s2,a5
|
||
|
lw a6,0(a5)
|
||
|
ble s5,zero,.L23
|
||
|
.L22:
|
||
|
mv t3,a6
|
||
|
li t1,0
|
||
|
.L28:
|
||
|
sraiw a5,t3,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,t3
|
||
|
mv a7,t1
|
||
|
addiw t1,t1,1
|
||
|
sraiw t3,a5,4
|
||
|
bne s5,t1,.L28
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw t4,t3,a5
|
||
|
andi t4,t4,15
|
||
|
subw t4,t4,a5
|
||
|
beq t4,a4,.L30
|
||
|
mv t4,a6
|
||
|
li t3,0
|
||
|
.L24:
|
||
|
sraiw a5,t4,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,t4
|
||
|
mv t5,t3
|
||
|
sraiw t4,a5,4
|
||
|
addiw t3,t3,1
|
||
|
bne t5,a7,.L24
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw t1,t4,a5
|
||
|
andi t1,t1,15
|
||
|
subw a5,t1,a5
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,192
|
||
|
add a5,a5,sp
|
||
|
lw a5,-192(a5)
|
||
|
mv t5,a6
|
||
|
li t4,0
|
||
|
slli a5,a5,2
|
||
|
add a5,s2,a5
|
||
|
lw t1,0(a5)
|
||
|
.L25:
|
||
|
sraiw a5,t5,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,t5
|
||
|
mv t6,t4
|
||
|
sraiw t5,a5,4
|
||
|
addiw t4,t4,1
|
||
|
bne t6,a7,.L25
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw t3,t5,a5
|
||
|
andi t3,t3,15
|
||
|
subw a5,t3,a5
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,192
|
||
|
add a5,a5,sp
|
||
|
lw a5,-192(a5)
|
||
|
mv t5,a6
|
||
|
li t4,0
|
||
|
slli a5,a5,2
|
||
|
add a5,s2,a5
|
||
|
sw a6,0(a5)
|
||
|
.L26:
|
||
|
sraiw a5,t5,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,t5
|
||
|
mv t6,t4
|
||
|
sraiw t5,a5,4
|
||
|
addiw t4,t4,1
|
||
|
bne t6,a7,.L26
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw t3,t5,a5
|
||
|
andi t3,t3,15
|
||
|
subw a5,t3,a5
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,192
|
||
|
add a5,a5,sp
|
||
|
lw t6,-192(a5)
|
||
|
li t4,0
|
||
|
.L27:
|
||
|
sraiw a5,a6,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a6
|
||
|
mv t5,t4
|
||
|
sraiw a6,a5,4
|
||
|
addiw t4,t4,1
|
||
|
bne t5,a7,.L27
|
||
|
sraiw a5,a5,31
|
||
|
srliw a5,a5,28
|
||
|
addw t3,a6,a5
|
||
|
andi t3,t3,15
|
||
|
subw a5,t3,a5
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,192
|
||
|
addiw a6,t6,1
|
||
|
add a5,a5,sp
|
||
|
sw a6,-192(a5)
|
||
|
mv a6,t1
|
||
|
j .L22
|
||
|
.L51:
|
||
|
lw a5,-192(a7)
|
||
|
slli t1,a5,2
|
||
|
add t1,s2,t1
|
||
|
lw t3,0(t1)
|
||
|
addiw a5,a5,1
|
||
|
sw a6,0(t1)
|
||
|
sw a5,-192(a7)
|
||
|
mv a6,t3
|
||
|
.L23:
|
||
|
sraiw a7,a6,31
|
||
|
srliw a7,a7,28
|
||
|
addw a5,a7,a6
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a7
|
||
|
slli a7,a5,2
|
||
|
addi s1,a7,192
|
||
|
add a7,s1,sp
|
||
|
bne a5,a4,.L51
|
||
|
.L30:
|
||
|
lw a7,0(a3)
|
||
|
slli a5,a7,2
|
||
|
add a5,s2,a5
|
||
|
addiw a7,a7,1
|
||
|
sw a6,0(a5)
|
||
|
sw a7,0(a3)
|
||
|
sext.w a5,a7
|
||
|
blt a5,a2,.L31
|
||
|
.L33:
|
||
|
addiw a4,a4,1
|
||
|
addi a3,a3,4
|
||
|
addi a1,a1,4
|
||
|
bne a4,a0,.L21
|
||
|
lw a3,64(sp)
|
||
|
addiw s5,s5,-1
|
||
|
mv a2,s3
|
||
|
mv a1,s2
|
||
|
mv a0,s5
|
||
|
sw s3,0(sp)
|
||
|
addi s4,s4,4
|
||
|
call radixSort
|
||
|
addi s0,s0,4
|
||
|
addi s1,sp,132
|
||
|
li s3,1
|
||
|
li s6,16
|
||
|
.L34:
|
||
|
lw a2,-4(s0)
|
||
|
lw a5,0(s1)
|
||
|
mv a1,s2
|
||
|
sw a2,0(s4)
|
||
|
addw a3,a5,a2
|
||
|
sw a3,0(s0)
|
||
|
mv a0,s5
|
||
|
addiw s3,s3,1
|
||
|
addi s4,s4,4
|
||
|
call radixSort
|
||
|
addi s0,s0,4
|
||
|
addi s1,s1,4
|
||
|
bne s3,s6,.L34
|
||
|
.L12:
|
||
|
ld ra,248(sp)
|
||
|
ld s0,240(sp)
|
||
|
ld s1,232(sp)
|
||
|
ld s2,224(sp)
|
||
|
ld s3,216(sp)
|
||
|
ld s4,208(sp)
|
||
|
ld s5,200(sp)
|
||
|
ld s6,192(sp)
|
||
|
addi sp,sp,256
|
||
|
jr ra
|
||
|
.L15:
|
||
|
sraiw a4,a1,31
|
||
|
srliw a4,a4,28
|
||
|
addw a5,a4,a1
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a4
|
||
|
slli a5,a5,2
|
||
|
addi a4,a5,192
|
||
|
add a4,a4,sp
|
||
|
lw t1,-64(a4)
|
||
|
j .L18
|
||
|
.size radixSort, .-radixSort
|
||
|
.section .text.startup,"ax",@progbits
|
||
|
.align 1
|
||
|
.globl main
|
||
|
.type main, @function
|
||
|
main:
|
||
|
addi sp,sp,-1968
|
||
|
lla a0,a
|
||
|
sd ra,1960(sp)
|
||
|
sd s0,1952(sp)
|
||
|
sd s1,1944(sp)
|
||
|
sd s2,1936(sp)
|
||
|
sd s3,1928(sp)
|
||
|
sd s4,1920(sp)
|
||
|
sd s5,1912(sp)
|
||
|
sd s6,1904(sp)
|
||
|
sd s7,1896(sp)
|
||
|
sd s8,1888(sp)
|
||
|
sd s9,1880(sp)
|
||
|
sd s10,1872(sp)
|
||
|
sd s11,1864(sp)
|
||
|
call getarray@plt
|
||
|
slli s1,a0,32
|
||
|
slli a5,a0,32
|
||
|
mv s0,a0
|
||
|
srli s1,s1,32
|
||
|
li a0,92
|
||
|
or s1,s1,a5
|
||
|
call _sysy_starttime@plt
|
||
|
li a5,1
|
||
|
sd zero,320(sp)
|
||
|
sd zero,328(sp)
|
||
|
sd zero,336(sp)
|
||
|
sd zero,344(sp)
|
||
|
sd zero,352(sp)
|
||
|
sd zero,360(sp)
|
||
|
sd zero,368(sp)
|
||
|
sd zero,376(sp)
|
||
|
sd zero,384(sp)
|
||
|
sd zero,392(sp)
|
||
|
sd zero,400(sp)
|
||
|
sd zero,408(sp)
|
||
|
sd zero,416(sp)
|
||
|
sd zero,424(sp)
|
||
|
sd zero,432(sp)
|
||
|
sd zero,440(sp)
|
||
|
sd zero,448(sp)
|
||
|
sd zero,456(sp)
|
||
|
sd zero,464(sp)
|
||
|
sd zero,472(sp)
|
||
|
sd zero,480(sp)
|
||
|
sd zero,488(sp)
|
||
|
sd zero,496(sp)
|
||
|
sd zero,504(sp)
|
||
|
ble s0,a5,.L187
|
||
|
addi s2,sp,384
|
||
|
li a2,60
|
||
|
mv a1,s2
|
||
|
addi a0,sp,324
|
||
|
sd s1,384(sp)
|
||
|
sd s1,392(sp)
|
||
|
sd s1,400(sp)
|
||
|
sd s1,408(sp)
|
||
|
sd s1,416(sp)
|
||
|
sd s1,424(sp)
|
||
|
sd s1,432(sp)
|
||
|
sd s1,440(sp)
|
||
|
sw s0,448(sp)
|
||
|
call memcpy@plt
|
||
|
lw a4,320(sp)
|
||
|
lw a5,384(sp)
|
||
|
addi a3,sp,320
|
||
|
mv s10,a3
|
||
|
mv s9,s2
|
||
|
lla s1,a
|
||
|
bge a4,a5,.L56
|
||
|
addiw t1,s0,-1
|
||
|
addiw a1,a4,1
|
||
|
slli a2,a4,2
|
||
|
lla s1,a
|
||
|
mv a7,t1
|
||
|
mv a0,a1
|
||
|
mv a6,a4
|
||
|
add a2,a2,s1
|
||
|
.L57:
|
||
|
slli a4,a4,2
|
||
|
add a4,a4,s1
|
||
|
lw t4,0(a4)
|
||
|
sext.w a4,a1
|
||
|
addiw t3,a4,-1
|
||
|
sw t4,0(a2)
|
||
|
addiw a1,a1,1
|
||
|
addi a2,a2,4
|
||
|
blt t3,t1,.L57
|
||
|
li a4,0
|
||
|
blt t1,a6,.L61
|
||
|
subw a4,a7,a6
|
||
|
.L61:
|
||
|
addw a4,a4,a0
|
||
|
sw a4,320(sp)
|
||
|
.L56:
|
||
|
li a2,0
|
||
|
li a1,16
|
||
|
.L63:
|
||
|
addiw a2,a2,1
|
||
|
addi a3,a3,4
|
||
|
addi s2,s2,4
|
||
|
beq a2,a1,.L62
|
||
|
lw a4,0(a3)
|
||
|
lw a0,0(s2)
|
||
|
ble a0,a4,.L63
|
||
|
lw a5,320(sp)
|
||
|
slli a4,a4,2
|
||
|
add a4,a4,s1
|
||
|
lw a4,0(a4)
|
||
|
slli a5,a5,2
|
||
|
add a5,a5,s1
|
||
|
.L59:
|
||
|
lw a3,0(a5)
|
||
|
sw a4,0(a5)
|
||
|
addi a5,a5,4
|
||
|
mv a4,a3
|
||
|
j .L59
|
||
|
.L62:
|
||
|
li a4,-1
|
||
|
sw zero,320(sp)
|
||
|
addi s11,sp,448
|
||
|
li a2,0
|
||
|
li s3,0
|
||
|
srli s5,a4,32
|
||
|
mv s7,s0
|
||
|
mv s6,s1
|
||
|
.L66:
|
||
|
sd zero,512(sp)
|
||
|
sd zero,520(sp)
|
||
|
sd zero,528(sp)
|
||
|
sd zero,536(sp)
|
||
|
sd zero,544(sp)
|
||
|
sd zero,552(sp)
|
||
|
sd zero,560(sp)
|
||
|
sd zero,568(sp)
|
||
|
sd zero,576(sp)
|
||
|
sd zero,584(sp)
|
||
|
sd zero,592(sp)
|
||
|
sd zero,600(sp)
|
||
|
sd zero,608(sp)
|
||
|
sd zero,616(sp)
|
||
|
sd zero,624(sp)
|
||
|
sd zero,632(sp)
|
||
|
sd zero,640(sp)
|
||
|
sd zero,648(sp)
|
||
|
sd zero,656(sp)
|
||
|
sd zero,664(sp)
|
||
|
sd zero,672(sp)
|
||
|
sd zero,680(sp)
|
||
|
sd zero,688(sp)
|
||
|
sd zero,696(sp)
|
||
|
addiw a4,a2,1
|
||
|
bge a4,a5,.L75
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,32
|
||
|
srli a5,a5,32
|
||
|
add a5,a5,a2
|
||
|
slli a3,a2,2
|
||
|
slli a5,a5,2
|
||
|
add a3,a3,s6
|
||
|
add a5,a5,s6
|
||
|
.L67:
|
||
|
lw a1,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a4,a1,31
|
||
|
srliw a4,a4,4
|
||
|
addw a4,a4,a1
|
||
|
sraiw a4,a4,28
|
||
|
slli a4,a4,2
|
||
|
addi a1,sp,320
|
||
|
addi a4,a4,1536
|
||
|
add a4,a4,a1
|
||
|
lw a1,-1216(a4)
|
||
|
addiw a1,a1,1
|
||
|
sw a1,-1216(a4)
|
||
|
bne a3,a5,.L67
|
||
|
lw t4,640(sp)
|
||
|
lw t3,644(sp)
|
||
|
lw t1,648(sp)
|
||
|
addw t4,t4,a2
|
||
|
lw a7,652(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,656(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,660(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,664(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a5,668(sp)
|
||
|
addw a0,a6,a0
|
||
|
addw a1,a0,a1
|
||
|
addw a5,a1,a5
|
||
|
slli s4,a5,32
|
||
|
and a4,s5,a5
|
||
|
and t0,s5,t3
|
||
|
and t6,s5,a7
|
||
|
slli t2,a1,32
|
||
|
and t5,s5,a0
|
||
|
slli s2,t4,32
|
||
|
and a3,a2,s5
|
||
|
slli s1,t1,32
|
||
|
slli ra,a6,32
|
||
|
or a4,a4,s4
|
||
|
or a3,a3,s2
|
||
|
or t0,t0,s1
|
||
|
or t6,t6,ra
|
||
|
or t5,t5,t2
|
||
|
sw t3,580(sp)
|
||
|
sw a7,588(sp)
|
||
|
sw a0,596(sp)
|
||
|
sw a1,600(sp)
|
||
|
sw a5,604(sp)
|
||
|
sw a5,608(sp)
|
||
|
sw a5,612(sp)
|
||
|
sw a5,616(sp)
|
||
|
sw a5,620(sp)
|
||
|
sw a5,624(sp)
|
||
|
sw a5,628(sp)
|
||
|
sw a5,632(sp)
|
||
|
sd a4,544(sp)
|
||
|
sd a4,552(sp)
|
||
|
sd a4,560(sp)
|
||
|
sd a4,568(sp)
|
||
|
sw a5,636(sp)
|
||
|
sw t4,576(sp)
|
||
|
addi a5,sp,512
|
||
|
sw t1,584(sp)
|
||
|
sw a6,592(sp)
|
||
|
sd a3,512(sp)
|
||
|
sd t0,520(sp)
|
||
|
sd t6,528(sp)
|
||
|
sd t5,536(sp)
|
||
|
addi a7,sp,576
|
||
|
sd a7,136(sp)
|
||
|
mv a0,a5
|
||
|
sd a5,120(sp)
|
||
|
mv a4,a2
|
||
|
li a1,0
|
||
|
li t3,16
|
||
|
.L68:
|
||
|
lw t1,0(a7)
|
||
|
ble t1,a4,.L73
|
||
|
.L71:
|
||
|
slli a6,a4,2
|
||
|
add a5,a6,s6
|
||
|
lw a3,0(a5)
|
||
|
sraiw a5,a3,31
|
||
|
srliw a5,a5,4
|
||
|
addw a5,a5,a3
|
||
|
sraiw a5,a5,28
|
||
|
beq a5,a1,.L69
|
||
|
.L70:
|
||
|
slli a5,a5,2
|
||
|
addi a4,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a4
|
||
|
lw a4,-1344(a5)
|
||
|
mv t5,a3
|
||
|
slli t4,a4,2
|
||
|
add t4,t4,s6
|
||
|
lw a3,0(t4)
|
||
|
addiw a6,a4,1
|
||
|
sw a6,-1344(a5)
|
||
|
sraiw a4,a3,31
|
||
|
srliw a4,a4,4
|
||
|
addw a4,a4,a3
|
||
|
sw t5,0(t4)
|
||
|
sraiw a5,a4,28
|
||
|
bne a1,a5,.L70
|
||
|
lw a4,0(a0)
|
||
|
slli a6,a4,2
|
||
|
.L69:
|
||
|
addiw a4,a4,1
|
||
|
add a6,a6,s6
|
||
|
sw a3,0(a6)
|
||
|
sw a4,0(a0)
|
||
|
blt a4,t1,.L71
|
||
|
.L73:
|
||
|
addiw a1,a1,1
|
||
|
addi a7,a7,4
|
||
|
addi a0,a0,4
|
||
|
beq a1,t3,.L72
|
||
|
lw a4,0(a0)
|
||
|
j .L68
|
||
|
.L175:
|
||
|
mv s6,s9
|
||
|
ld s7,280(sp)
|
||
|
ld s3,288(sp)
|
||
|
ld s9,296(sp)
|
||
|
.L75:
|
||
|
addiw s3,s3,1
|
||
|
li a5,16
|
||
|
addi s10,s10,4
|
||
|
addi s9,s9,4
|
||
|
addi s11,s11,4
|
||
|
beq s3,a5,.L65
|
||
|
lw a2,-4(s9)
|
||
|
lw a4,0(s11)
|
||
|
sw a2,0(s10)
|
||
|
addw a5,a4,a2
|
||
|
sw a5,0(s9)
|
||
|
j .L66
|
||
|
.L65:
|
||
|
lla s1,.LANCHOR0
|
||
|
lw a4,0(s1)
|
||
|
mv s0,s7
|
||
|
.L54:
|
||
|
lla a2,a
|
||
|
li a3,0
|
||
|
.L136:
|
||
|
lw a5,0(a2)
|
||
|
addiw a1,a3,2
|
||
|
addi a2,a2,4
|
||
|
remw a5,a5,a1
|
||
|
mulw a5,a5,a3
|
||
|
addiw a3,a3,1
|
||
|
addw a4,a5,a4
|
||
|
bne s0,a3,.L136
|
||
|
sw a4,0(s1)
|
||
|
.L55:
|
||
|
bge a4,zero,.L137
|
||
|
negw a4,a4
|
||
|
sw a4,0(s1)
|
||
|
.L137:
|
||
|
li a0,104
|
||
|
call _sysy_stoptime@plt
|
||
|
lw a0,0(s1)
|
||
|
call putint@plt
|
||
|
li a0,10
|
||
|
call putch@plt
|
||
|
ld ra,1960(sp)
|
||
|
ld s0,1952(sp)
|
||
|
ld s1,1944(sp)
|
||
|
ld s2,1936(sp)
|
||
|
ld s3,1928(sp)
|
||
|
ld s4,1920(sp)
|
||
|
ld s5,1912(sp)
|
||
|
ld s6,1904(sp)
|
||
|
ld s7,1896(sp)
|
||
|
ld s8,1888(sp)
|
||
|
ld s9,1880(sp)
|
||
|
ld s10,1872(sp)
|
||
|
ld s11,1864(sp)
|
||
|
li a0,0
|
||
|
addi sp,sp,1968
|
||
|
jr ra
|
||
|
.L72:
|
||
|
addi a4,sp,640
|
||
|
lw a5,576(sp)
|
||
|
sd a4,128(sp)
|
||
|
addi a4,sp,768
|
||
|
sd s9,296(sp)
|
||
|
sw a2,512(sp)
|
||
|
mv s0,a2
|
||
|
sd zero,0(sp)
|
||
|
sd a4,192(sp)
|
||
|
sd s7,280(sp)
|
||
|
sd s3,288(sp)
|
||
|
mv s9,s6
|
||
|
.L76:
|
||
|
sd zero,704(sp)
|
||
|
sd zero,712(sp)
|
||
|
sd zero,720(sp)
|
||
|
sd zero,728(sp)
|
||
|
sd zero,736(sp)
|
||
|
sd zero,744(sp)
|
||
|
sd zero,752(sp)
|
||
|
sd zero,760(sp)
|
||
|
sd zero,768(sp)
|
||
|
sd zero,776(sp)
|
||
|
sd zero,784(sp)
|
||
|
sd zero,792(sp)
|
||
|
sd zero,800(sp)
|
||
|
sd zero,808(sp)
|
||
|
sd zero,816(sp)
|
||
|
sd zero,824(sp)
|
||
|
sd zero,832(sp)
|
||
|
sd zero,840(sp)
|
||
|
sd zero,848(sp)
|
||
|
sd zero,856(sp)
|
||
|
sd zero,864(sp)
|
||
|
sd zero,872(sp)
|
||
|
sd zero,880(sp)
|
||
|
sd zero,888(sp)
|
||
|
addiw a4,s0,1
|
||
|
bge a4,a5,.L85
|
||
|
subw a4,a5,s0
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s0
|
||
|
slli a3,s0,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s9
|
||
|
add a4,a4,s9
|
||
|
.L77:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,8
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,24
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-1024(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-1024(a5)
|
||
|
bne a3,a4,.L77
|
||
|
lw t2,832(sp)
|
||
|
lw t0,836(sp)
|
||
|
lw t6,840(sp)
|
||
|
addw t2,t2,s0
|
||
|
lw t5,844(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,848(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,852(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,856(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,860(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,864(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,868(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,872(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,876(sp)
|
||
|
addw a0,a6,a0
|
||
|
lw a3,880(sp)
|
||
|
addw a1,a0,a1
|
||
|
lw a4,884(sp)
|
||
|
addw a2,a1,a2
|
||
|
lw a5,888(sp)
|
||
|
slli s3,t1,32
|
||
|
addw a3,a2,a3
|
||
|
lw s8,892(sp)
|
||
|
slli ra,t2,32
|
||
|
sd s3,16(sp)
|
||
|
and s6,s5,t3
|
||
|
and s3,s5,a7
|
||
|
slli s7,a6,32
|
||
|
and s2,s0,s5
|
||
|
addw a4,a3,a4
|
||
|
or s2,s2,ra
|
||
|
sd s6,24(sp)
|
||
|
slli ra,t4,32
|
||
|
slli s6,a1,32
|
||
|
sd s7,32(sp)
|
||
|
sd s3,40(sp)
|
||
|
and s7,s5,a0
|
||
|
and s3,s5,a2
|
||
|
addw a5,a4,a5
|
||
|
sd ra,8(sp)
|
||
|
sd s6,48(sp)
|
||
|
sd s7,56(sp)
|
||
|
sd s3,64(sp)
|
||
|
sw a7,796(sp)
|
||
|
sw t2,768(sp)
|
||
|
sw t0,772(sp)
|
||
|
sw t6,776(sp)
|
||
|
sw t5,780(sp)
|
||
|
sw t4,784(sp)
|
||
|
sw t3,788(sp)
|
||
|
sw t1,792(sp)
|
||
|
sw a6,800(sp)
|
||
|
slli s3,a5,32
|
||
|
addw s8,a5,s8
|
||
|
sw a5,824(sp)
|
||
|
ld a5,8(sp)
|
||
|
and ra,s5,t5
|
||
|
and s6,s5,a4
|
||
|
or ra,ra,a5
|
||
|
sw a4,820(sp)
|
||
|
ld a5,16(sp)
|
||
|
ld a4,24(sp)
|
||
|
slli s7,a3,32
|
||
|
sw a3,816(sp)
|
||
|
or a3,a4,a5
|
||
|
ld a4,40(sp)
|
||
|
ld a5,32(sp)
|
||
|
sw a1,808(sp)
|
||
|
sw a2,812(sp)
|
||
|
or a1,a4,a5
|
||
|
ld a4,56(sp)
|
||
|
ld a5,48(sp)
|
||
|
sw a0,804(sp)
|
||
|
ld a0,192(sp)
|
||
|
or a2,a4,a5
|
||
|
ld a5,64(sp)
|
||
|
slli s1,t6,32
|
||
|
and s4,s5,t0
|
||
|
or a4,a5,s7
|
||
|
or a5,s6,s3
|
||
|
or s1,s4,s1
|
||
|
sd a5,760(sp)
|
||
|
addi a5,sp,704
|
||
|
sd a1,736(sp)
|
||
|
sd a2,744(sp)
|
||
|
sd a4,752(sp)
|
||
|
sd s2,704(sp)
|
||
|
sd s1,712(sp)
|
||
|
sd a0,104(sp)
|
||
|
sd ra,720(sp)
|
||
|
sd a3,728(sp)
|
||
|
sw s8,828(sp)
|
||
|
sd a5,112(sp)
|
||
|
mv a1,a5
|
||
|
mv a4,s0
|
||
|
li a2,0
|
||
|
li a7,16
|
||
|
.L78:
|
||
|
lw t1,0(a0)
|
||
|
ble t1,a4,.L83
|
||
|
.L81:
|
||
|
slli a6,a4,2
|
||
|
add a5,a6,s9
|
||
|
lw a3,0(a5)
|
||
|
sraiw a5,a3,31
|
||
|
srliw a5,a5,8
|
||
|
addw a5,a5,a3
|
||
|
sraiw t3,a5,31
|
||
|
srliw t3,t3,28
|
||
|
sraiw a5,a5,24
|
||
|
addw a5,a5,t3
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t3
|
||
|
beq a5,a2,.L79
|
||
|
.L80:
|
||
|
slli a5,a5,2
|
||
|
addi a4,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a4
|
||
|
lw a4,-1152(a5)
|
||
|
mv t4,a3
|
||
|
slli a6,a4,2
|
||
|
add a6,a6,s9
|
||
|
lw a3,0(a6)
|
||
|
addiw t3,a4,1
|
||
|
sw t4,0(a6)
|
||
|
sraiw a4,a3,31
|
||
|
srliw a4,a4,8
|
||
|
addw a4,a4,a3
|
||
|
sraiw a6,a4,31
|
||
|
srliw a6,a6,28
|
||
|
sraiw a4,a4,24
|
||
|
addw a4,a4,a6
|
||
|
andi a4,a4,15
|
||
|
sw t3,-1152(a5)
|
||
|
subw a5,a4,a6
|
||
|
bne a5,a2,.L80
|
||
|
lw a4,0(a1)
|
||
|
slli a6,a4,2
|
||
|
.L79:
|
||
|
addiw a4,a4,1
|
||
|
add a6,a6,s9
|
||
|
sw a3,0(a6)
|
||
|
sw a4,0(a1)
|
||
|
bgt t1,a4,.L81
|
||
|
.L83:
|
||
|
addiw a2,a2,1
|
||
|
addi a0,a0,4
|
||
|
addi a1,a1,4
|
||
|
beq a2,a7,.L82
|
||
|
lw a4,0(a1)
|
||
|
j .L78
|
||
|
.L176:
|
||
|
mv s9,s10
|
||
|
ld s10,304(sp)
|
||
|
.L85:
|
||
|
ld a3,120(sp)
|
||
|
ld a5,0(sp)
|
||
|
ld a2,128(sp)
|
||
|
addi a1,a3,4
|
||
|
ld a3,136(sp)
|
||
|
addiw a4,a5,1
|
||
|
addi a2,a2,4
|
||
|
addi a3,a3,4
|
||
|
sd a4,0(sp)
|
||
|
li a5,16
|
||
|
sd a1,120(sp)
|
||
|
sd a3,136(sp)
|
||
|
sd a2,128(sp)
|
||
|
beq a4,a5,.L175
|
||
|
lw s0,-4(a3)
|
||
|
lw a4,0(a2)
|
||
|
sw s0,0(a1)
|
||
|
addw a5,a4,s0
|
||
|
sw a5,0(a3)
|
||
|
j .L76
|
||
|
.L82:
|
||
|
ld a5,192(sp)
|
||
|
addi a4,sp,832
|
||
|
sd a4,64(sp)
|
||
|
lw a5,0(a5)
|
||
|
addi a4,sp,1728
|
||
|
sd s10,304(sp)
|
||
|
sw s0,704(sp)
|
||
|
mv s3,s0
|
||
|
sd zero,16(sp)
|
||
|
sd a4,184(sp)
|
||
|
mv s10,s9
|
||
|
.L86:
|
||
|
sd zero,896(sp)
|
||
|
sd zero,904(sp)
|
||
|
sd zero,912(sp)
|
||
|
sd zero,920(sp)
|
||
|
sd zero,928(sp)
|
||
|
sd zero,936(sp)
|
||
|
sd zero,944(sp)
|
||
|
sd zero,952(sp)
|
||
|
sd zero,960(sp)
|
||
|
sd zero,968(sp)
|
||
|
sd zero,976(sp)
|
||
|
sd zero,984(sp)
|
||
|
sd zero,992(sp)
|
||
|
sd zero,1000(sp)
|
||
|
sd zero,1008(sp)
|
||
|
sd zero,1016(sp)
|
||
|
sd zero,1024(sp)
|
||
|
sd zero,1032(sp)
|
||
|
sd zero,1040(sp)
|
||
|
sd zero,1048(sp)
|
||
|
sd zero,1056(sp)
|
||
|
sd zero,1064(sp)
|
||
|
sd zero,1072(sp)
|
||
|
sd zero,1080(sp)
|
||
|
addiw a4,s3,1
|
||
|
bge a4,a5,.L95
|
||
|
subw a4,a5,s3
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s3
|
||
|
slli a3,s3,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s10
|
||
|
add a4,a4,s10
|
||
|
.L87:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,12
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,20
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-832(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-832(a5)
|
||
|
bne a3,a4,.L87
|
||
|
lw t2,1024(sp)
|
||
|
lw t0,1028(sp)
|
||
|
lw t6,1032(sp)
|
||
|
addw t2,t2,s3
|
||
|
lw t5,1036(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,1040(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,1044(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,1048(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,1052(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,1056(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,1060(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,1064(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,1068(sp)
|
||
|
addw a0,a6,a0
|
||
|
lw a3,1072(sp)
|
||
|
addw a1,a0,a1
|
||
|
lw a4,1076(sp)
|
||
|
addw a2,a1,a2
|
||
|
lw a5,1080(sp)
|
||
|
slli ra,t2,32
|
||
|
and s2,s3,s5
|
||
|
addw a3,a2,a3
|
||
|
or s0,s2,ra
|
||
|
and ra,s5,t3
|
||
|
addw a4,a3,a4
|
||
|
sd ra,8(sp)
|
||
|
slli ra,a3,32
|
||
|
addw a5,a4,a5
|
||
|
sd ra,40(sp)
|
||
|
and ra,s5,a2
|
||
|
lw s8,1084(sp)
|
||
|
sd ra,48(sp)
|
||
|
slli ra,a5,32
|
||
|
slli s9,a6,32
|
||
|
slli s2,a1,32
|
||
|
sd ra,56(sp)
|
||
|
and ra,s5,a4
|
||
|
sd s0,896(sp)
|
||
|
sd s9,24(sp)
|
||
|
sd s2,32(sp)
|
||
|
sd ra,72(sp)
|
||
|
sw a7,988(sp)
|
||
|
sw t2,960(sp)
|
||
|
sw t0,964(sp)
|
||
|
sw t6,968(sp)
|
||
|
sw t5,972(sp)
|
||
|
sw t4,976(sp)
|
||
|
sw t3,980(sp)
|
||
|
sw t1,984(sp)
|
||
|
sw a6,992(sp)
|
||
|
addw s8,a5,s8
|
||
|
sw a5,1016(sp)
|
||
|
ld a5,8(sp)
|
||
|
slli s4,t1,32
|
||
|
and s9,s5,a7
|
||
|
or ra,a5,s4
|
||
|
ld a5,24(sp)
|
||
|
and s2,s5,a0
|
||
|
sw a3,1008(sp)
|
||
|
or s9,s9,a5
|
||
|
mv a5,s2
|
||
|
ld s2,32(sp)
|
||
|
sw a4,1012(sp)
|
||
|
ld a4,48(sp)
|
||
|
or a3,a5,s2
|
||
|
ld a5,40(sp)
|
||
|
sw a2,1004(sp)
|
||
|
ld a2,72(sp)
|
||
|
or a4,a4,a5
|
||
|
ld a5,56(sp)
|
||
|
slli s1,t6,32
|
||
|
and s7,s5,t0
|
||
|
or a5,a2,a5
|
||
|
slli s0,t4,32
|
||
|
and s6,s5,t5
|
||
|
sw a1,1000(sp)
|
||
|
or s1,s7,s1
|
||
|
or s0,s6,s0
|
||
|
addi a1,sp,960
|
||
|
sd a5,952(sp)
|
||
|
addi a5,sp,896
|
||
|
sd a3,936(sp)
|
||
|
sw a0,996(sp)
|
||
|
sd s1,904(sp)
|
||
|
sd a1,88(sp)
|
||
|
sd s0,912(sp)
|
||
|
sd ra,920(sp)
|
||
|
sd s9,928(sp)
|
||
|
sd a4,944(sp)
|
||
|
sw s8,1020(sp)
|
||
|
sd a5,96(sp)
|
||
|
mv a2,a5
|
||
|
mv a7,s3
|
||
|
li a3,0
|
||
|
li a6,16
|
||
|
.L88:
|
||
|
lw t1,0(a1)
|
||
|
bge a7,t1,.L93
|
||
|
.L91:
|
||
|
slli a4,a7,2
|
||
|
add a5,a4,s10
|
||
|
lw a0,0(a5)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,12
|
||
|
addw a5,a5,a0
|
||
|
sraiw t3,a5,31
|
||
|
srliw t3,t3,28
|
||
|
sraiw a5,a5,20
|
||
|
addw a5,a5,t3
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t3
|
||
|
beq a5,a3,.L89
|
||
|
.L90:
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,1536
|
||
|
addi a4,sp,320
|
||
|
add a4,a5,a4
|
||
|
lw a5,-960(a4)
|
||
|
mv t4,a0
|
||
|
slli a7,a5,2
|
||
|
add a7,a7,s10
|
||
|
lw a0,0(a7)
|
||
|
addiw t3,a5,1
|
||
|
sw t4,0(a7)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,12
|
||
|
addw a5,a5,a0
|
||
|
sraiw a7,a5,31
|
||
|
srliw a7,a7,28
|
||
|
sraiw a5,a5,20
|
||
|
addw a5,a5,a7
|
||
|
andi a5,a5,15
|
||
|
sw t3,-960(a4)
|
||
|
subw a5,a5,a7
|
||
|
bne a5,a3,.L90
|
||
|
lw a7,0(a2)
|
||
|
slli a4,a7,2
|
||
|
.L89:
|
||
|
addiw a7,a7,1
|
||
|
add a4,a4,s10
|
||
|
sw a0,0(a4)
|
||
|
sw a7,0(a2)
|
||
|
blt a7,t1,.L91
|
||
|
.L93:
|
||
|
addiw a3,a3,1
|
||
|
addi a1,a1,4
|
||
|
addi a2,a2,4
|
||
|
beq a3,a6,.L92
|
||
|
lw a7,0(a2)
|
||
|
j .L88
|
||
|
.L178:
|
||
|
mv s10,s8
|
||
|
.L95:
|
||
|
ld a3,112(sp)
|
||
|
ld a5,16(sp)
|
||
|
ld a2,64(sp)
|
||
|
addi a1,a3,4
|
||
|
ld a3,104(sp)
|
||
|
addiw a4,a5,1
|
||
|
addi a2,a2,4
|
||
|
addi a3,a3,4
|
||
|
sd a4,16(sp)
|
||
|
li a5,16
|
||
|
sd a1,112(sp)
|
||
|
sd a3,104(sp)
|
||
|
sd a2,64(sp)
|
||
|
beq a4,a5,.L176
|
||
|
lw s3,-4(a3)
|
||
|
lw a4,0(a2)
|
||
|
sw s3,0(a1)
|
||
|
addw a5,a4,s3
|
||
|
sw a5,0(a3)
|
||
|
j .L86
|
||
|
.L92:
|
||
|
lw a5,960(sp)
|
||
|
addi a4,sp,1024
|
||
|
sw s3,896(sp)
|
||
|
sd a4,80(sp)
|
||
|
mv s6,s3
|
||
|
sd zero,24(sp)
|
||
|
mv s8,s10
|
||
|
.L96:
|
||
|
sd zero,1088(sp)
|
||
|
sd zero,1096(sp)
|
||
|
sd zero,1104(sp)
|
||
|
sd zero,1112(sp)
|
||
|
sd zero,1120(sp)
|
||
|
sd zero,1128(sp)
|
||
|
sd zero,1136(sp)
|
||
|
sd zero,1144(sp)
|
||
|
sd zero,1152(sp)
|
||
|
sd zero,1160(sp)
|
||
|
sd zero,1168(sp)
|
||
|
sd zero,1176(sp)
|
||
|
sd zero,1184(sp)
|
||
|
sd zero,1192(sp)
|
||
|
sd zero,1200(sp)
|
||
|
sd zero,1208(sp)
|
||
|
sd zero,1216(sp)
|
||
|
sd zero,1224(sp)
|
||
|
sd zero,1232(sp)
|
||
|
sd zero,1240(sp)
|
||
|
sd zero,1248(sp)
|
||
|
sd zero,1256(sp)
|
||
|
sd zero,1264(sp)
|
||
|
sd zero,1272(sp)
|
||
|
addiw a4,s6,1
|
||
|
bge a4,a5,.L105
|
||
|
subw a4,a5,s6
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s6
|
||
|
slli a3,s6,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s8
|
||
|
add a4,a4,s8
|
||
|
.L97:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,16
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,16
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-640(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-640(a5)
|
||
|
bne a4,a3,.L97
|
||
|
lw t2,1216(sp)
|
||
|
lw t0,1220(sp)
|
||
|
lw t6,1224(sp)
|
||
|
addw t2,t2,s6
|
||
|
lw t5,1228(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,1232(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,1236(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,1240(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,1244(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,1248(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,1252(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,1256(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,1260(sp)
|
||
|
addw a0,a6,a0
|
||
|
lw a3,1264(sp)
|
||
|
addw a1,a0,a1
|
||
|
lw a4,1268(sp)
|
||
|
addw a2,a1,a2
|
||
|
lw a5,1272(sp)
|
||
|
slli ra,t2,32
|
||
|
and s3,s6,s5
|
||
|
addw a3,a2,a3
|
||
|
or s0,s3,ra
|
||
|
and ra,s5,a7
|
||
|
addw a4,a3,a4
|
||
|
sd ra,32(sp)
|
||
|
slli ra,a3,32
|
||
|
addw a5,a4,a5
|
||
|
sd ra,48(sp)
|
||
|
and ra,s5,a2
|
||
|
lw s9,1276(sp)
|
||
|
sd ra,56(sp)
|
||
|
slli ra,a5,32
|
||
|
slli s3,a1,32
|
||
|
sd s0,1088(sp)
|
||
|
sd ra,72(sp)
|
||
|
and s0,s5,t0
|
||
|
and ra,s5,a4
|
||
|
sd s0,8(sp)
|
||
|
sd s3,40(sp)
|
||
|
sd ra,144(sp)
|
||
|
sw a7,1180(sp)
|
||
|
sw t2,1152(sp)
|
||
|
sw t0,1156(sp)
|
||
|
sw t6,1160(sp)
|
||
|
sw t5,1164(sp)
|
||
|
sw t4,1168(sp)
|
||
|
sw t3,1172(sp)
|
||
|
sw t1,1176(sp)
|
||
|
sw a6,1184(sp)
|
||
|
addw s9,a5,s9
|
||
|
sw a5,1208(sp)
|
||
|
ld a5,8(sp)
|
||
|
slli s2,t6,32
|
||
|
slli s10,a6,32
|
||
|
or s2,a5,s2
|
||
|
ld a5,32(sp)
|
||
|
and s3,s5,a0
|
||
|
sw a3,1200(sp)
|
||
|
or ra,a5,s10
|
||
|
mv a5,s3
|
||
|
ld s3,40(sp)
|
||
|
sw a4,1204(sp)
|
||
|
ld a4,56(sp)
|
||
|
or a3,a5,s3
|
||
|
ld a5,48(sp)
|
||
|
sw a2,1196(sp)
|
||
|
ld a2,144(sp)
|
||
|
or a4,a4,a5
|
||
|
ld a5,72(sp)
|
||
|
slli s7,t4,32
|
||
|
and s1,s5,t5
|
||
|
or a5,a2,a5
|
||
|
slli s4,t1,32
|
||
|
and s0,s5,t3
|
||
|
sw a1,1192(sp)
|
||
|
or s1,s1,s7
|
||
|
or s0,s0,s4
|
||
|
addi a1,sp,1152
|
||
|
sd a5,1144(sp)
|
||
|
addi a5,sp,1088
|
||
|
sd a3,1128(sp)
|
||
|
sw a0,1188(sp)
|
||
|
sd s2,1096(sp)
|
||
|
sd a1,48(sp)
|
||
|
sd s1,1104(sp)
|
||
|
sd s0,1112(sp)
|
||
|
sd ra,1120(sp)
|
||
|
sd a4,1136(sp)
|
||
|
sw s9,1212(sp)
|
||
|
sd a5,40(sp)
|
||
|
mv a2,a5
|
||
|
mv a7,s6
|
||
|
li a3,0
|
||
|
li a6,16
|
||
|
.L98:
|
||
|
lw t1,0(a1)
|
||
|
bge a7,t1,.L103
|
||
|
.L101:
|
||
|
slli a4,a7,2
|
||
|
add a5,a4,s8
|
||
|
lw a0,0(a5)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,16
|
||
|
addw a5,a5,a0
|
||
|
sraiw t3,a5,31
|
||
|
srliw t3,t3,28
|
||
|
sraiw a5,a5,16
|
||
|
addw a5,a5,t3
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t3
|
||
|
beq a5,a3,.L99
|
||
|
.L100:
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,1536
|
||
|
addi a4,sp,320
|
||
|
add a4,a5,a4
|
||
|
lw a5,-768(a4)
|
||
|
mv t4,a0
|
||
|
slli a7,a5,2
|
||
|
add a7,a7,s8
|
||
|
lw a0,0(a7)
|
||
|
addiw t3,a5,1
|
||
|
sw t4,0(a7)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,16
|
||
|
addw a5,a5,a0
|
||
|
sraiw a7,a5,31
|
||
|
srliw a7,a7,28
|
||
|
sraiw a5,a5,16
|
||
|
addw a5,a5,a7
|
||
|
andi a5,a5,15
|
||
|
sw t3,-768(a4)
|
||
|
subw a5,a5,a7
|
||
|
bne a5,a3,.L100
|
||
|
lw a7,0(a2)
|
||
|
slli a4,a7,2
|
||
|
.L99:
|
||
|
addiw a7,a7,1
|
||
|
add a4,a4,s8
|
||
|
sw a0,0(a4)
|
||
|
sw a7,0(a2)
|
||
|
blt a7,t1,.L101
|
||
|
.L103:
|
||
|
addiw a3,a3,1
|
||
|
addi a1,a1,4
|
||
|
addi a2,a2,4
|
||
|
beq a3,a6,.L102
|
||
|
lw a7,0(a2)
|
||
|
j .L98
|
||
|
.L180:
|
||
|
mv s8,s6
|
||
|
.L105:
|
||
|
ld a3,96(sp)
|
||
|
ld a5,24(sp)
|
||
|
ld a2,80(sp)
|
||
|
addi a1,a3,4
|
||
|
ld a3,88(sp)
|
||
|
addiw a4,a5,1
|
||
|
addi a2,a2,4
|
||
|
addi a3,a3,4
|
||
|
sd a4,24(sp)
|
||
|
li a5,16
|
||
|
sd a1,96(sp)
|
||
|
sd a3,88(sp)
|
||
|
sd a2,80(sp)
|
||
|
beq a4,a5,.L178
|
||
|
lw s6,-4(a3)
|
||
|
lw a4,0(a2)
|
||
|
sw s6,0(a1)
|
||
|
addw a5,a4,s6
|
||
|
sw a5,0(a3)
|
||
|
j .L96
|
||
|
.L102:
|
||
|
addi a4,sp,1216
|
||
|
lw a5,1152(sp)
|
||
|
sd a4,56(sp)
|
||
|
addi a4,sp,1344
|
||
|
sw s6,1088(sp)
|
||
|
mv s10,s6
|
||
|
sd zero,32(sp)
|
||
|
sd a4,176(sp)
|
||
|
mv s6,s8
|
||
|
.L106:
|
||
|
sd zero,1280(sp)
|
||
|
sd zero,1288(sp)
|
||
|
sd zero,1296(sp)
|
||
|
sd zero,1304(sp)
|
||
|
sd zero,1312(sp)
|
||
|
sd zero,1320(sp)
|
||
|
sd zero,1328(sp)
|
||
|
sd zero,1336(sp)
|
||
|
sd zero,1344(sp)
|
||
|
sd zero,1352(sp)
|
||
|
sd zero,1360(sp)
|
||
|
sd zero,1368(sp)
|
||
|
sd zero,1376(sp)
|
||
|
sd zero,1384(sp)
|
||
|
sd zero,1392(sp)
|
||
|
sd zero,1400(sp)
|
||
|
sd zero,1408(sp)
|
||
|
sd zero,1416(sp)
|
||
|
sd zero,1424(sp)
|
||
|
sd zero,1432(sp)
|
||
|
sd zero,1440(sp)
|
||
|
sd zero,1448(sp)
|
||
|
sd zero,1456(sp)
|
||
|
sd zero,1464(sp)
|
||
|
addiw a4,s10,1
|
||
|
bge a4,a5,.L115
|
||
|
subw a4,a5,s10
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s10
|
||
|
slli a3,s10,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s6
|
||
|
add a4,a4,s6
|
||
|
.L107:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,20
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,12
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-448(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-448(a5)
|
||
|
bne a3,a4,.L107
|
||
|
lw t2,1408(sp)
|
||
|
lw t0,1412(sp)
|
||
|
lw t6,1416(sp)
|
||
|
addw t2,t2,s10
|
||
|
lw t5,1420(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,1424(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,1428(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,1432(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,1436(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,1440(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,1444(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,1448(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,1452(sp)
|
||
|
addw a0,a6,a0
|
||
|
lw a3,1456(sp)
|
||
|
addw a1,a0,a1
|
||
|
lw a4,1460(sp)
|
||
|
addw a2,a1,a2
|
||
|
lw a5,1464(sp)
|
||
|
slli ra,t2,32
|
||
|
and s3,s10,s5
|
||
|
addw a3,a2,a3
|
||
|
or s0,s3,ra
|
||
|
and ra,s5,a7
|
||
|
addw a4,a3,a4
|
||
|
sd ra,72(sp)
|
||
|
slli ra,a3,32
|
||
|
addw a5,a4,a5
|
||
|
sd ra,152(sp)
|
||
|
and ra,s5,a2
|
||
|
lw s8,1468(sp)
|
||
|
sd ra,160(sp)
|
||
|
slli ra,a5,32
|
||
|
slli s3,a1,32
|
||
|
sd s0,1280(sp)
|
||
|
sd ra,168(sp)
|
||
|
and s0,s5,t5
|
||
|
and ra,s5,a4
|
||
|
sd s0,8(sp)
|
||
|
sd s3,144(sp)
|
||
|
sd ra,200(sp)
|
||
|
sw a7,1372(sp)
|
||
|
sw t2,1344(sp)
|
||
|
sw t0,1348(sp)
|
||
|
sw t6,1352(sp)
|
||
|
sw t5,1356(sp)
|
||
|
sw t4,1360(sp)
|
||
|
sw t3,1364(sp)
|
||
|
sw t1,1368(sp)
|
||
|
sw a6,1376(sp)
|
||
|
addw s8,a5,s8
|
||
|
sw a5,1400(sp)
|
||
|
ld a5,8(sp)
|
||
|
slli s1,t4,32
|
||
|
slli s9,a6,32
|
||
|
or s1,a5,s1
|
||
|
ld a5,72(sp)
|
||
|
and s3,s5,a0
|
||
|
sw a3,1392(sp)
|
||
|
or ra,a5,s9
|
||
|
mv a5,s3
|
||
|
ld s3,144(sp)
|
||
|
sw a4,1396(sp)
|
||
|
ld a4,160(sp)
|
||
|
or a3,a5,s3
|
||
|
ld a5,152(sp)
|
||
|
sw a2,1388(sp)
|
||
|
ld a2,200(sp)
|
||
|
or a4,a4,a5
|
||
|
ld a5,168(sp)
|
||
|
sw a1,1384(sp)
|
||
|
ld a1,176(sp)
|
||
|
and s7,s5,t0
|
||
|
slli s2,t6,32
|
||
|
slli s4,t1,32
|
||
|
and s0,s5,t3
|
||
|
or s2,s7,s2
|
||
|
or a5,a2,a5
|
||
|
or s0,s0,s4
|
||
|
sw s8,1404(sp)
|
||
|
addi s8,sp,1280
|
||
|
sd a3,1320(sp)
|
||
|
sw a0,1380(sp)
|
||
|
sd s2,1288(sp)
|
||
|
mv s7,a1
|
||
|
sd s1,1296(sp)
|
||
|
sd s0,1304(sp)
|
||
|
sd ra,1312(sp)
|
||
|
sd a4,1328(sp)
|
||
|
sd a5,1336(sp)
|
||
|
mv a2,s8
|
||
|
mv a7,s10
|
||
|
li a3,0
|
||
|
li a6,16
|
||
|
.L108:
|
||
|
lw t1,0(a1)
|
||
|
bge a7,t1,.L113
|
||
|
.L111:
|
||
|
slli a4,a7,2
|
||
|
add a5,a4,s6
|
||
|
lw a0,0(a5)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,20
|
||
|
addw a5,a5,a0
|
||
|
sraiw t3,a5,31
|
||
|
srliw t3,t3,28
|
||
|
sraiw a5,a5,12
|
||
|
addw a5,a5,t3
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t3
|
||
|
beq a3,a5,.L109
|
||
|
.L110:
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,1536
|
||
|
addi a4,sp,320
|
||
|
add a4,a5,a4
|
||
|
lw a5,-576(a4)
|
||
|
mv t4,a0
|
||
|
slli a7,a5,2
|
||
|
add a7,a7,s6
|
||
|
lw a0,0(a7)
|
||
|
addiw t3,a5,1
|
||
|
sw t4,0(a7)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,20
|
||
|
addw a5,a5,a0
|
||
|
sraiw a7,a5,31
|
||
|
srliw a7,a7,28
|
||
|
sraiw a5,a5,12
|
||
|
addw a5,a5,a7
|
||
|
andi a5,a5,15
|
||
|
sw t3,-576(a4)
|
||
|
subw a5,a5,a7
|
||
|
bne a5,a3,.L110
|
||
|
lw a7,0(a2)
|
||
|
slli a4,a7,2
|
||
|
.L109:
|
||
|
addiw a7,a7,1
|
||
|
add a4,a4,s6
|
||
|
sw a0,0(a4)
|
||
|
sw a7,0(a2)
|
||
|
blt a7,t1,.L111
|
||
|
.L113:
|
||
|
addiw a3,a3,1
|
||
|
addi a1,a1,4
|
||
|
addi a2,a2,4
|
||
|
beq a3,a6,.L112
|
||
|
lw a7,0(a2)
|
||
|
j .L108
|
||
|
.L182:
|
||
|
ld s11,312(sp)
|
||
|
mv s6,s4
|
||
|
.L115:
|
||
|
ld a3,40(sp)
|
||
|
ld a5,32(sp)
|
||
|
ld a2,56(sp)
|
||
|
addi a1,a3,4
|
||
|
ld a3,48(sp)
|
||
|
addiw a4,a5,1
|
||
|
addi a2,a2,4
|
||
|
addi a3,a3,4
|
||
|
sd a4,32(sp)
|
||
|
li a5,16
|
||
|
sd a1,40(sp)
|
||
|
sd a3,48(sp)
|
||
|
sd a2,56(sp)
|
||
|
beq a4,a5,.L180
|
||
|
lw s10,-4(a3)
|
||
|
lw a4,0(a2)
|
||
|
sw s10,0(a1)
|
||
|
addw a5,a4,s10
|
||
|
sw a5,0(a3)
|
||
|
j .L106
|
||
|
.L112:
|
||
|
ld a5,176(sp)
|
||
|
addi a4,sp,1408
|
||
|
sd a4,152(sp)
|
||
|
lw a5,0(a5)
|
||
|
addi a4,sp,1536
|
||
|
sd a4,160(sp)
|
||
|
addi a4,sp,1664
|
||
|
sw s10,1280(sp)
|
||
|
li s9,0
|
||
|
sd a4,168(sp)
|
||
|
sd s11,312(sp)
|
||
|
mv s4,s6
|
||
|
.L116:
|
||
|
sd zero,1472(sp)
|
||
|
sd zero,1480(sp)
|
||
|
sd zero,1488(sp)
|
||
|
sd zero,1496(sp)
|
||
|
sd zero,1504(sp)
|
||
|
sd zero,1512(sp)
|
||
|
sd zero,1520(sp)
|
||
|
sd zero,1528(sp)
|
||
|
sd zero,1536(sp)
|
||
|
sd zero,1544(sp)
|
||
|
sd zero,1552(sp)
|
||
|
sd zero,1560(sp)
|
||
|
sd zero,1568(sp)
|
||
|
sd zero,1576(sp)
|
||
|
sd zero,1584(sp)
|
||
|
sd zero,1592(sp)
|
||
|
sd zero,1600(sp)
|
||
|
sd zero,1608(sp)
|
||
|
sd zero,1616(sp)
|
||
|
sd zero,1624(sp)
|
||
|
sd zero,1632(sp)
|
||
|
sd zero,1640(sp)
|
||
|
sd zero,1648(sp)
|
||
|
sd zero,1656(sp)
|
||
|
addiw a4,s10,1
|
||
|
bge a4,a5,.L125
|
||
|
subw a4,a5,s10
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s10
|
||
|
slli a3,s10,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s4
|
||
|
add a4,a4,s4
|
||
|
.L117:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,24
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,8
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-256(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-256(a5)
|
||
|
bne a4,a3,.L117
|
||
|
lw t2,1600(sp)
|
||
|
lw t0,1604(sp)
|
||
|
lw t6,1608(sp)
|
||
|
addw t2,t2,s10
|
||
|
lw t5,1612(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,1616(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,1620(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,1624(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,1628(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,1632(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,1636(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,1640(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,1644(sp)
|
||
|
addw a0,a6,a0
|
||
|
lw a3,1648(sp)
|
||
|
addw a1,a0,a1
|
||
|
lw a4,1652(sp)
|
||
|
slli ra,t2,32
|
||
|
and s1,s10,s5
|
||
|
addw a2,a1,a2
|
||
|
or s0,s1,ra
|
||
|
lw a5,1656(sp)
|
||
|
slli ra,a1,32
|
||
|
addw a3,a2,a3
|
||
|
sd ra,200(sp)
|
||
|
and ra,s5,a0
|
||
|
addw a4,a3,a4
|
||
|
sd ra,208(sp)
|
||
|
slli ra,a3,32
|
||
|
addw a5,a4,a5
|
||
|
sd ra,216(sp)
|
||
|
and ra,s5,a2
|
||
|
lw s6,1660(sp)
|
||
|
slli s1,t4,32
|
||
|
sd ra,224(sp)
|
||
|
slli ra,a5,32
|
||
|
sd s1,8(sp)
|
||
|
slli s11,t1,32
|
||
|
slli s1,a6,32
|
||
|
sd ra,232(sp)
|
||
|
and ra,s5,a4
|
||
|
sd s0,1472(sp)
|
||
|
sd s11,72(sp)
|
||
|
sd s1,144(sp)
|
||
|
sd ra,240(sp)
|
||
|
sw t2,1536(sp)
|
||
|
sw t0,1540(sp)
|
||
|
sw t6,1544(sp)
|
||
|
sw t5,1548(sp)
|
||
|
sw t4,1552(sp)
|
||
|
sw t3,1556(sp)
|
||
|
sw t1,1560(sp)
|
||
|
addw s6,a5,s6
|
||
|
sw a5,1592(sp)
|
||
|
ld a5,8(sp)
|
||
|
and s2,s5,t5
|
||
|
and s1,s5,a7
|
||
|
or ra,s2,a5
|
||
|
ld a5,72(sp)
|
||
|
and s11,s5,t3
|
||
|
sw a2,1580(sp)
|
||
|
or s11,s11,a5
|
||
|
mv a5,s1
|
||
|
ld s1,144(sp)
|
||
|
sw a4,1588(sp)
|
||
|
ld a4,208(sp)
|
||
|
or a2,a5,s1
|
||
|
ld a5,200(sp)
|
||
|
sw a3,1584(sp)
|
||
|
sw a1,1576(sp)
|
||
|
or a3,a4,a5
|
||
|
ld a5,216(sp)
|
||
|
ld a4,224(sp)
|
||
|
ld a1,240(sp)
|
||
|
slli s0,t6,32
|
||
|
or a4,a4,a5
|
||
|
ld a5,232(sp)
|
||
|
and s3,s5,t0
|
||
|
or s0,s3,s0
|
||
|
or a5,a1,a5
|
||
|
ld a1,160(sp)
|
||
|
sw s6,1596(sp)
|
||
|
addi s6,sp,1472
|
||
|
sw a7,1564(sp)
|
||
|
sw a6,1568(sp)
|
||
|
sd a2,1504(sp)
|
||
|
sd a3,1512(sp)
|
||
|
sw a0,1572(sp)
|
||
|
sd s0,1480(sp)
|
||
|
sd a1,144(sp)
|
||
|
sd ra,1488(sp)
|
||
|
sd s11,1496(sp)
|
||
|
sd a4,1520(sp)
|
||
|
sd a5,1528(sp)
|
||
|
mv a2,s6
|
||
|
mv a7,s10
|
||
|
li a3,0
|
||
|
li a6,16
|
||
|
.L118:
|
||
|
lw t1,0(a1)
|
||
|
bge a7,t1,.L123
|
||
|
.L121:
|
||
|
slli a4,a7,2
|
||
|
add a5,a4,s4
|
||
|
lw a0,0(a5)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,24
|
||
|
addw a5,a5,a0
|
||
|
sraiw t3,a5,31
|
||
|
srliw t3,t3,28
|
||
|
sraiw a5,a5,8
|
||
|
addw a5,a5,t3
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t3
|
||
|
beq a3,a5,.L119
|
||
|
.L120:
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,1536
|
||
|
addi a4,sp,320
|
||
|
add a4,a5,a4
|
||
|
lw a5,-384(a4)
|
||
|
mv t4,a0
|
||
|
slli a7,a5,2
|
||
|
add a7,a7,s4
|
||
|
lw a0,0(a7)
|
||
|
addiw t3,a5,1
|
||
|
sw t4,0(a7)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,24
|
||
|
addw a5,a5,a0
|
||
|
sraiw a7,a5,31
|
||
|
srliw a7,a7,28
|
||
|
sraiw a5,a5,8
|
||
|
addw a5,a5,a7
|
||
|
andi a5,a5,15
|
||
|
sw t3,-384(a4)
|
||
|
subw a5,a5,a7
|
||
|
bne a3,a5,.L120
|
||
|
lw a7,0(a2)
|
||
|
slli a4,a7,2
|
||
|
.L119:
|
||
|
addiw a7,a7,1
|
||
|
add a4,a4,s4
|
||
|
sw a0,0(a4)
|
||
|
sw a7,0(a2)
|
||
|
blt a7,t1,.L121
|
||
|
.L123:
|
||
|
addiw a3,a3,1
|
||
|
addi a1,a1,4
|
||
|
addi a2,a2,4
|
||
|
beq a3,a6,.L122
|
||
|
lw a7,0(a2)
|
||
|
j .L118
|
||
|
.L125:
|
||
|
ld a4,152(sp)
|
||
|
addiw s9,s9,1
|
||
|
li a5,16
|
||
|
addi a4,a4,4
|
||
|
sd a4,152(sp)
|
||
|
addi s8,s8,4
|
||
|
addi s7,s7,4
|
||
|
beq s9,a5,.L182
|
||
|
lw s10,-4(s7)
|
||
|
lw a4,0(a4)
|
||
|
sw s10,0(s8)
|
||
|
addw a5,a4,s10
|
||
|
sw a5,0(s7)
|
||
|
j .L116
|
||
|
.L122:
|
||
|
ld a5,160(sp)
|
||
|
addi a4,sp,1600
|
||
|
sw s10,1472(sp)
|
||
|
lw a5,0(a5)
|
||
|
sd a4,72(sp)
|
||
|
sd zero,8(sp)
|
||
|
.L126:
|
||
|
sd zero,1664(sp)
|
||
|
sd zero,1672(sp)
|
||
|
sd zero,1680(sp)
|
||
|
sd zero,1688(sp)
|
||
|
sd zero,1696(sp)
|
||
|
sd zero,1704(sp)
|
||
|
sd zero,1712(sp)
|
||
|
sd zero,1720(sp)
|
||
|
sd zero,1728(sp)
|
||
|
sd zero,1736(sp)
|
||
|
sd zero,1744(sp)
|
||
|
sd zero,1752(sp)
|
||
|
sd zero,1760(sp)
|
||
|
sd zero,1768(sp)
|
||
|
sd zero,1776(sp)
|
||
|
sd zero,1784(sp)
|
||
|
sd zero,1792(sp)
|
||
|
sd zero,1800(sp)
|
||
|
sd zero,1808(sp)
|
||
|
sd zero,1816(sp)
|
||
|
sd zero,1824(sp)
|
||
|
sd zero,1832(sp)
|
||
|
sd zero,1840(sp)
|
||
|
sd zero,1848(sp)
|
||
|
addiw a4,s10,1
|
||
|
bge a4,a5,.L135
|
||
|
subw a4,a5,s10
|
||
|
slli a4,a4,32
|
||
|
srli a4,a4,32
|
||
|
add a4,a4,s10
|
||
|
slli a3,s10,2
|
||
|
slli a4,a4,2
|
||
|
add a3,a3,s4
|
||
|
add a4,a4,s4
|
||
|
.L127:
|
||
|
lw a2,0(a3)
|
||
|
addi a3,a3,4
|
||
|
sraiw a5,a2,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a2
|
||
|
sraiw a2,a5,31
|
||
|
srliw a2,a2,28
|
||
|
sraiw a5,a5,4
|
||
|
addw a5,a5,a2
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,a2
|
||
|
slli a5,a5,2
|
||
|
addi a2,sp,320
|
||
|
addi a5,a5,1536
|
||
|
add a5,a5,a2
|
||
|
lw a2,-64(a5)
|
||
|
addiw a2,a2,1
|
||
|
sw a2,-64(a5)
|
||
|
bne a3,a4,.L127
|
||
|
lw t2,1792(sp)
|
||
|
lw t0,1796(sp)
|
||
|
lw t6,1800(sp)
|
||
|
addw t2,t2,s10
|
||
|
lw t5,1804(sp)
|
||
|
addw t0,t2,t0
|
||
|
lw t4,1808(sp)
|
||
|
addw t6,t0,t6
|
||
|
lw t3,1812(sp)
|
||
|
addw t5,t6,t5
|
||
|
lw t1,1816(sp)
|
||
|
addw t4,t5,t4
|
||
|
lw a7,1820(sp)
|
||
|
addw t3,t4,t3
|
||
|
lw a6,1824(sp)
|
||
|
addw t1,t3,t1
|
||
|
lw a0,1828(sp)
|
||
|
addw a7,t1,a7
|
||
|
lw a1,1832(sp)
|
||
|
addw a6,a7,a6
|
||
|
lw a2,1836(sp)
|
||
|
slli ra,t2,32
|
||
|
and s1,s10,s5
|
||
|
addw a0,a6,a0
|
||
|
or s0,s1,ra
|
||
|
lw a3,1840(sp)
|
||
|
slli ra,a6,32
|
||
|
addw a1,a0,a1
|
||
|
lw a4,1844(sp)
|
||
|
sd ra,216(sp)
|
||
|
and ra,s5,a7
|
||
|
addw a2,a1,a2
|
||
|
lw a5,1848(sp)
|
||
|
sd ra,224(sp)
|
||
|
slli ra,a1,32
|
||
|
addw a3,a2,a3
|
||
|
sd ra,232(sp)
|
||
|
and ra,s5,a0
|
||
|
addw a4,a3,a4
|
||
|
sd ra,240(sp)
|
||
|
slli ra,a3,32
|
||
|
addw a5,a4,a5
|
||
|
sd ra,248(sp)
|
||
|
and ra,s5,a2
|
||
|
lw s11,1852(sp)
|
||
|
slli s1,t4,32
|
||
|
sd ra,256(sp)
|
||
|
slli ra,a5,32
|
||
|
sd s1,200(sp)
|
||
|
sd ra,264(sp)
|
||
|
slli s1,t1,32
|
||
|
and ra,s5,a4
|
||
|
sd s0,1664(sp)
|
||
|
sd s1,208(sp)
|
||
|
sd ra,272(sp)
|
||
|
sw t2,1728(sp)
|
||
|
sw t0,1732(sp)
|
||
|
sw t6,1736(sp)
|
||
|
sw t5,1740(sp)
|
||
|
sw t4,1744(sp)
|
||
|
sw t3,1748(sp)
|
||
|
addw s11,a5,s11
|
||
|
sw a5,1784(sp)
|
||
|
ld a5,200(sp)
|
||
|
and s1,s5,t3
|
||
|
and s2,s5,t5
|
||
|
or ra,s2,a5
|
||
|
mv a5,s1
|
||
|
ld s1,208(sp)
|
||
|
sw a1,1768(sp)
|
||
|
sw a4,1780(sp)
|
||
|
or a1,a5,s1
|
||
|
ld a4,224(sp)
|
||
|
ld a5,216(sp)
|
||
|
sw a0,1764(sp)
|
||
|
sw a3,1776(sp)
|
||
|
or a0,a4,a5
|
||
|
ld a4,240(sp)
|
||
|
ld a5,232(sp)
|
||
|
sw a2,1772(sp)
|
||
|
ld a2,272(sp)
|
||
|
or a3,a4,a5
|
||
|
ld a5,248(sp)
|
||
|
ld a4,256(sp)
|
||
|
slli s0,t6,32
|
||
|
and s3,s5,t0
|
||
|
or a4,a4,a5
|
||
|
ld a5,264(sp)
|
||
|
sd a1,1688(sp)
|
||
|
ld a1,184(sp)
|
||
|
or a5,a2,a5
|
||
|
ld a2,168(sp)
|
||
|
or s0,s3,s0
|
||
|
sw a6,1760(sp)
|
||
|
sd a3,1704(sp)
|
||
|
sw t1,1752(sp)
|
||
|
sw a7,1756(sp)
|
||
|
sd s0,1672(sp)
|
||
|
sd ra,1680(sp)
|
||
|
sd a0,1696(sp)
|
||
|
sd a4,1712(sp)
|
||
|
sd a5,1720(sp)
|
||
|
sw s11,1788(sp)
|
||
|
mv a6,s10
|
||
|
li a3,0
|
||
|
.L128:
|
||
|
lw a7,0(a1)
|
||
|
bge a6,a7,.L133
|
||
|
.L131:
|
||
|
slli a4,a6,2
|
||
|
add a5,a4,s4
|
||
|
lw a0,0(a5)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a0
|
||
|
sraiw t1,a5,31
|
||
|
srliw t1,t1,28
|
||
|
sraiw a5,a5,4
|
||
|
addw a5,a5,t1
|
||
|
andi a5,a5,15
|
||
|
subw a5,a5,t1
|
||
|
beq a3,a5,.L129
|
||
|
.L130:
|
||
|
slli a5,a5,2
|
||
|
addi a5,a5,1536
|
||
|
addi a4,sp,320
|
||
|
add a4,a5,a4
|
||
|
lw a5,-192(a4)
|
||
|
mv t3,a0
|
||
|
slli a6,a5,2
|
||
|
add a6,a6,s4
|
||
|
lw a0,0(a6)
|
||
|
addiw t1,a5,1
|
||
|
sw t3,0(a6)
|
||
|
sraiw a5,a0,31
|
||
|
srliw a5,a5,28
|
||
|
addw a5,a5,a0
|
||
|
sraiw a6,a5,31
|
||
|
srliw a6,a6,28
|
||
|
sraiw a5,a5,4
|
||
|
addw a5,a5,a6
|
||
|
andi a5,a5,15
|
||
|
sw t1,-192(a4)
|
||
|
subw a5,a5,a6
|
||
|
bne a3,a5,.L130
|
||
|
lw a6,0(a2)
|
||
|
slli a4,a6,2
|
||
|
.L129:
|
||
|
addiw a6,a6,1
|
||
|
add a4,a4,s4
|
||
|
sw a0,0(a4)
|
||
|
sw a6,0(a2)
|
||
|
blt a6,a7,.L131
|
||
|
.L133:
|
||
|
addiw a3,a3,1
|
||
|
li a5,16
|
||
|
addi a1,a1,4
|
||
|
addi a2,a2,4
|
||
|
beq a3,a5,.L132
|
||
|
lw a6,0(a2)
|
||
|
j .L128
|
||
|
.L132:
|
||
|
ld s0,184(sp)
|
||
|
ld a5,168(sp)
|
||
|
mv a2,s10
|
||
|
lw a3,0(s0)
|
||
|
lla a1,a
|
||
|
li a0,0
|
||
|
sw s10,1664(sp)
|
||
|
addi s3,a5,4
|
||
|
addi s0,s0,4
|
||
|
call radixSort
|
||
|
addi s2,sp,1796
|
||
|
li s1,1
|
||
|
.L134:
|
||
|
lw a2,-4(s0)
|
||
|
lw a5,0(s2)
|
||
|
lla a1,a
|
||
|
sw a2,0(s3)
|
||
|
addw a3,a5,a2
|
||
|
sw a3,0(s0)
|
||
|
li a0,0
|
||
|
call radixSort
|
||
|
addiw s1,s1,1
|
||
|
li a5,16
|
||
|
addi s3,s3,4
|
||
|
addi s0,s0,4
|
||
|
addi s2,s2,4
|
||
|
bne s1,a5,.L134
|
||
|
.L135:
|
||
|
ld a5,8(sp)
|
||
|
ld a3,72(sp)
|
||
|
addi s6,s6,4
|
||
|
addiw a4,a5,1
|
||
|
ld a5,144(sp)
|
||
|
addi a2,a3,4
|
||
|
sd a4,8(sp)
|
||
|
addi a5,a5,4
|
||
|
sd a5,144(sp)
|
||
|
sd a2,72(sp)
|
||
|
li a3,16
|
||
|
beq a4,a3,.L125
|
||
|
lw s10,-4(a5)
|
||
|
lw a4,0(a2)
|
||
|
mv a3,a5
|
||
|
sw s10,0(s6)
|
||
|
addw a5,a4,s10
|
||
|
sw a5,0(a3)
|
||
|
j .L126
|
||
|
.L187:
|
||
|
lla s1,.LANCHOR0
|
||
|
lw a4,0(s1)
|
||
|
bne s0,a5,.L55
|
||
|
j .L54
|
||
|
.size main, .-main
|
||
|
.globl ans
|
||
|
.globl a
|
||
|
.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
|
||
|
.set .LANCHOR0,. + 0
|
||
|
.type ans, @object
|
||
|
.size ans, 4
|
||
|
ans:
|
||
|
.zero 4
|
||
|
.zero 4
|
||
|
.type a, @object
|
||
|
.size a, 120000040
|
||
|
a:
|
||
|
.zero 120000040
|
||
|
.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
|