.file "85_long_code.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 QuickSort.part.0, @function QuickSort.part.0: addi sp,sp,-32 sd s1,8(sp) sd s2,0(sp) sd ra,24(sp) sd s0,16(sp) mv s1,a0 mv s2,a2 .L12: slli a5,a1,2 add a5,s1,a5 lw a7,0(a5) mv a4,s2 mv a3,a1 mv s0,a1 bge a1,s2,.L3 .L2: slli a5,a4,2 add a5,s1,a5 j .L10 .L5: addiw a4,a4,-1 beq a4,a3,.L22 .L10: lw a6,0(a5) addi a5,a5,-4 bge a6,a7,.L5 slli a5,a3,2 add a0,s1,a5 addiw s0,a3,1 ble a4,a3,.L4 slli t1,a4,2 add t1,s1,t1 lw a3,0(t1) sw a3,0(a0) ble a4,s0,.L24 addi a5,a5,4 add a5,s1,a5 j .L7 .L9: addi a5,a5,4 beq a4,s0,.L25 .L7: lw a6,0(a5) mv a3,s0 addiw s0,s0,1 blt a6,a7,.L9 ble a4,a3,.L15 sw a6,0(t1) addiw a4,a4,-1 bgt a4,a3,.L2 .L15: mv s0,a3 j .L3 .L25: slli a5,s0,2 add a5,s1,a5 .L3: sw a7,0(a5) addiw a2,s0,-1 bge a1,a2,.L11 mv a0,s1 call QuickSort.part.0 .L11: addiw a1,s0,1 blt a1,s2,.L12 ld ra,24(sp) ld s0,16(sp) ld s1,8(sp) ld s2,0(sp) addi sp,sp,32 jr ra .L24: mv a3,s0 .L22: slli a5,a3,2 .L4: add a5,s1,a5 mv s0,a3 j .L3 .size QuickSort.part.0, .-QuickSort.part.0 .align 1 .globl bubblesort .type bubblesort, @function bubblesort: lla t3,.LANCHOR0 lw a7,0(t3) li a5,1 li t1,0 li t4,1 ble a7,a5,.L28 .L27: subw a3,a7,t1 mv a1,a3 mv a5,a0 li a4,0 ble a3,t4,.L31 .L32: lw a2,0(a5) lw a3,4(a5) addiw a6,a1,-1 ble a2,a3,.L29 sw a3,0(a5) sw a2,4(a5) lw a7,0(t3) addiw a4,a4,1 addi a5,a5,4 subw a1,a7,t1 addiw a3,a1,-1 bgt a3,a4,.L32 .L31: addiw t1,t1,1 addiw a5,a7,-1 bgt a5,t1,.L27 .L28: li a0,0 ret .L29: addiw a4,a4,1 addi a5,a5,4 bgt a6,a4,.L32 addiw t1,t1,1 addiw a5,a7,-1 bgt a5,t1,.L27 j .L28 .size bubblesort, .-bubblesort .align 1 .globl insertsort .type insertsort, @function insertsort: lla t1,.LANCHOR0 lw a5,0(t1) li a6,1 mv a7,a0 li a1,-1 ble a5,a6,.L47 .L42: lw a2,4(a7) addiw a4,a6,-1 mv a5,a7 j .L39 .L41: sw a3,4(a5) addiw a4,a4,-1 addi a5,a5,-4 beq a4,a1,.L44 .L39: lw a3,0(a5) bgt a3,a2,.L41 addiw a5,a4,1 slli a5,a5,2 add a5,a0,a5 .L40: sw a2,0(a5) lw a5,0(t1) addiw a6,a6,1 addi a7,a7,4 bgt a5,a6,.L42 .L47: li a0,0 ret .L44: mv a5,a0 j .L40 .size insertsort, .-insertsort .align 1 .globl QuickSort .type QuickSort, @function QuickSort: bge a1,a2,.L51 addi sp,sp,-16 sd ra,8(sp) call QuickSort.part.0 ld ra,8(sp) li a0,0 addi sp,sp,16 jr ra .L51: li a0,0 ret .size QuickSort, .-QuickSort .align 1 .globl getMid .type getMid, @function getMid: lw a4,.LANCHOR0 srliw a5,a4,31 addw a5,a5,a4 sraiw a5,a5,1 slli a5,a5,2 add a5,a0,a5 andi a4,a4,1 lw a0,0(a5) bne a4,zero,.L55 lw a5,-4(a5) addw a5,a5,a0 srliw a0,a5,31 addw a0,a0,a5 sraiw a0,a0,1 .L55: ret .size getMid, .-getMid .align 1 .globl getMost .type getMost, @function getMost: addi sp,sp,-2032 sd s0,2016(sp) sd s1,2008(sp) mv s0,a0 li s1,4096 li a0,-4096 addi a2,s1,-96 addi a0,a0,96 add a5,a2,a0 sd ra,2024(sp) sd s2,2000(sp) addi sp,sp,-2000 add a0,a5,sp li a1,0 call memset@plt lw a5,.LANCHOR0 ble a5,zero,.L60 slli a5,a5,2 li s2,4096 add a6,s0,a5 addi a5,s2,-96 add a5,a5,sp mv a3,s0 li a0,0 li a7,0 sub t1,a5,s1 .L59: lw a1,0(a3) addi a3,a3,4 slli a5,a1,2 add a5,t1,a5 lw a4,96(a5) addiw a2,a4,1 sw a2,96(a5) ble a2,a7,.L58 mv a0,a1 mv a7,a2 .L58: bne a6,a3,.L59 addi sp,sp,2000 ld ra,2024(sp) ld s0,2016(sp) ld s1,2008(sp) ld s2,2000(sp) addi sp,sp,2032 jr ra .L60: addi sp,sp,2000 ld ra,2024(sp) ld s0,2016(sp) ld s1,2008(sp) ld s2,2000(sp) li a0,0 addi sp,sp,2032 jr ra .size getMost, .-getMost .align 1 .globl revert .type revert, @function revert: li a0,0 ret .size revert, .-revert .align 1 .globl arrCopy .type arrCopy, @function arrCopy: lla a3,.LANCHOR0 lw a5,0(a3) ble a5,zero,.L65 li a5,0 .L66: lw a4,0(a0) addiw a5,a5,1 addi a0,a0,4 sw a4,0(a1) lw a4,0(a3) addi a1,a1,4 bgt a4,a5,.L66 .L65: li a0,0 ret .size arrCopy, .-arrCopy .align 1 .globl calSum .type calSum, @function calSum: lla a6,.LANCHOR0 lw a5,0(a6) ble a5,zero,.L75 addiw a7,a1,-1 li a4,0 .L76: li a2,0 .L73: remw a3,a4,a1 lw a5,0(a0) addw a2,a5,a2 beq a3,a7,.L77 sw zero,0(a0) lw a5,0(a6) addiw a4,a4,1 addi a0,a0,4 bgt a5,a4,.L73 .L75: li a0,0 ret .L77: sw a2,0(a0) lw a5,0(a6) addiw a4,a4,1 addi a0,a0,4 bgt a5,a4,.L76 li a0,0 ret .size calSum, .-calSum .align 1 .globl avgPooling .type avgPooling, @function avgPooling: lla t1,.LANCHOR0 lw a4,0(t1) li t4,0 ble a4,zero,.L79 addiw t3,a1,-1 mv a3,a0 negw a2,a1 li a5,0 li a7,0 .L83: bge a5,t3,.L80 lw a6,0(a3) addw a7,a6,a7 .L81: addiw a5,a5,1 addi a3,a3,4 addiw a2,a2,1 blt a5,a4,.L83 .L79: subw a1,a4,a1 addiw a5,a1,1 slli a3,a5,2 add a0,a0,a3 bge a5,a4,.L90 .L85: sw zero,0(a0) lw a4,0(t1) addiw a5,a5,1 addi a0,a0,4 bgt a4,a5,.L85 .L90: li a0,0 ret .L80: addi a4,a2,1 slli a4,a4,2 add a4,a0,a4 beq a5,t3,.L91 lw a6,0(a3) addw a6,a6,a7 subw a7,a6,t4 divw t5,a7,a1 lw t4,0(a4) sw t5,0(a4) lw a4,0(t1) j .L81 .L91: divw a4,a7,a1 lw t4,0(a0) sw a4,0(a0) lw a4,0(t1) j .L81 .size avgPooling, .-avgPooling .section .text.startup,"ax",@progbits .align 1 .globl main .type main, @function main: addi sp,sp,-320 sd s0,304(sp) sd s1,296(sp) li s0,13 li s1,23 li t2,127 li t0,5 li t6,273 li t5,905 li t4,657 li t3,33 li t1,459 li a7,17 li a6,189 li a0,279 li a1,87 li a2,9 li a3,7 li a5,145 slli s1,s1,32 slli s0,s0,33 slli t2,t2,33 slli t0,t0,32 slli t6,t6,32 slli t5,t5,32 slli t4,t4,32 slli t3,t3,35 slli t1,t1,32 slli a7,a7,34 slli a6,a6,34 slli a0,a0,32 slli a1,a1,32 slli a2,a2,34 slli a3,a3,34 slli a5,a5,33 sd s2,288(sp) sd s3,280(sp) sd s4,272(sp) sd s5,264(sp) addi a4,sp,128 addi a6,a6,929 addi a5,a5,1 sd ra,312(sp) lla s4,.LANCHOR0 mv s5,sp li s2,32 addi s1,s1,7 addi s0,s0,89 addi t2,t2,282 addi t0,t0,27 addi t6,t6,83 addi t5,t5,574 addi t4,t4,354 addi t3,t3,935 addi t1,t1,639 addi a7,a7,29 addi a0,a0,452 addi a1,a1,58 addi a2,a2,96 addi a3,a3,39 sd a6,80(sp) sd a5,120(sp) sw s2,0(s4) sd s1,0(sp) sd s0,8(sp) sd t2,16(sp) sd t0,24(sp) sd t6,32(sp) sd t5,40(sp) sd t4,48(sp) sd t3,56(sp) sd t1,64(sp) sd a7,72(sp) sd a0,88(sp) sd a1,96(sp) sd a2,104(sp) sd a3,112(sp) mv a5,s5 mv s3,a4 mv a6,a4 .L93: ld a0,0(a5) ld a1,8(a5) ld a2,16(a5) ld a3,24(a5) sd a0,0(a4) sd a1,8(a4) sd a2,16(a4) sd a3,24(a4) addi a5,a5,32 addi a4,a4,32 bne a5,a6,.L93 mv s1,s3 addi s0,sp,256 mv s2,s3 .L94: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L94 mv a0,s3 call bubblesort mv s2,s3 .L95: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L95 lw a4,0(s4) srliw a5,a4,31 addw a5,a5,a4 sraiw a5,a5,1 slli a5,a5,2 addi a5,a5,256 add a5,a5,sp andi a4,a4,1 lw a0,-128(a5) bne a4,zero,.L96 lw a5,-132(a5) addw a0,a5,a0 li a5,2 divw a0,a0,a5 .L96: call putint@plt mv a0,s3 call getMost call putint@plt lw a2,0(s4) ble a2,zero,.L97 slli a5,a2,32 srli a2,a5,30 mv a1,s5 mv a0,s3 call memcpy@plt .L97: mv a0,s3 call bubblesort mv s2,s3 .L98: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L98 lw a2,0(s4) ble a2,zero,.L99 slli a5,a2,32 srli a2,a5,30 mv a1,s5 mv a0,s3 call memcpy@plt .L99: mv a0,s3 call insertsort mv s2,s3 .L100: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L100 lw a2,0(s4) ble a2,zero,.L101 slli a5,a2,32 srli a2,a5,30 mv a1,s5 mv a0,s3 call memcpy@plt .L101: li a2,31 li a1,0 mv a0,s3 call QuickSort.part.0 mv s2,s3 .L102: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L102 lw s2,0(s4) ble s2,zero,.L107 slli a5,s2,32 mv a1,s5 srli a2,a5,30 mv a0,s3 call memcpy@plt mv a3,s3 li a1,0 li a4,0 li a0,3 .L108: lw a5,0(a3) andi a2,a4,3 addw a1,a5,a1 beq a2,a0,.L105 sw zero,0(a3) addiw a4,a4,1 addi a3,a3,4 bne s2,a4,.L108 .L107: mv s2,s3 .L104: lw a0,0(s2) addi s2,s2,4 call putint@plt bne s2,s0,.L104 lw a2,0(s4) ble a2,zero,.L109 slli a5,a2,32 srli a2,a5,30 mv a1,s5 mv a0,s3 call memcpy@plt .L109: li a1,3 mv a0,s3 call avgPooling .L110: lw a0,0(s1) addi s1,s1,4 call putint@plt bne s0,s1,.L110 ld ra,312(sp) ld s0,304(sp) ld s1,296(sp) ld s2,288(sp) ld s3,280(sp) ld s4,272(sp) ld s5,264(sp) li a0,0 addi sp,sp,320 jr ra .L105: sw a1,0(a3) addiw a4,a4,1 addi a3,a3,4 beq a4,s2,.L107 li a1,0 j .L108 .size main, .-main .globl n .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 n, @object .size n, 4 n: .zero 4 .type _sysy_idx, @object .size _sysy_idx, 4 _sysy_idx: .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