.file "70_dijkstra.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 Dijkstra .type Dijkstra, @function Dijkstra: addi sp,sp,-48 sd s1,24(sp) lla s1,.LANCHOR0 sd s0,32(sp) lw s0,0(s1) sd ra,40(sp) sd s2,16(sp) sd s3,8(sp) ble s0,zero,.L2 slli a5,s0,32 srli s3,a5,30 lla a1,.LANCHOR0+140 addiw a5,s0,-1 mv a2,s3 lla a0,.LANCHOR0+12 slli s2,a5,32 call memcpy@plt mv a2,s3 li a1,0 lla a0,.LANCHOR0+1100 call memset@plt li a5,1 sw a5,1100(s1) srli s2,s2,32 sext.w t3,s0 beq s0,a5,.L1 li t1,65536 slli a5,s2,2 lla a4,.LANCHOR0+16 addi t6,t1,-1 add a7,a5,a4 li t5,1 lla t2,.LANCHOR0+72 addiw t3,t3,1 li t0,1 addi t1,t1,-2 .L6: lla a4,.LANCHOR0+12 lla a1,.LANCHOR0+1100 mv a2,a4 li a3,1 li a5,0 mv a6,t6 .L8: lw a0,0(a2) addi a2,a2,4 ble a6,a0,.L7 lw t4,0(a1) bne t4,zero,.L7 mv a5,a3 mv a6,a0 .L7: addiw a3,a3,1 addi a1,a1,4 bne a3,t3,.L8 slli a0,a5,2 slli a5,a5,6 add a0,s1,a0 addi a5,a5,4 sw t0,1096(a0) add a5,t2,a5 .L10: lw a3,0(a5) addi a5,a5,4 bgt a3,t1,.L9 lw a2,8(a0) lw a1,0(a4) addw a2,a2,a3 ble a1,a2,.L9 sw a2,0(a4) .L9: addi a4,a4,4 bne a7,a4,.L10 addiw t5,t5,1 bne t5,s0,.L6 .L1: ld ra,40(sp) ld s0,32(sp) ld s1,24(sp) ld s2,16(sp) ld s3,8(sp) addi sp,sp,48 jr ra .L2: ld ra,40(sp) ld s0,32(sp) li a5,1 sw a5,1100(s1) ld s2,16(sp) ld s1,24(sp) ld s3,8(sp) addi sp,sp,48 jr ra .size Dijkstra, .-Dijkstra .section .text.startup,"ax",@progbits .align 1 .globl main .type main, @function main: addi sp,sp,-48 sd ra,40(sp) sd s2,16(sp) sd s0,32(sp) lla s2,.LANCHOR0 sd s1,24(sp) sd s3,8(sp) call getint@plt sw a0,0(s2) call getint@plt lw a4,0(s2) sw a0,1160(s2) ble a4,zero,.L16 sw zero,.LANCHOR0+140,a5 li a5,1 lla a2,.LANCHOR0+72 lla a3,.LANCHOR0+140 addiw t5,a4,1 beq a4,a5,.L18 li a5,65536 addi a5,a5,-1 sw a5,72(a2) li a1,2 beq a4,a1,.L72 sw a5,76(a2) li a1,3 mv a2,a3 li a5,1 bne a4,a1,.L24 .L18: li a1,65536 addi a1,a1,-1 li a7,1 li t1,2 li t3,2 .L49: addiw a5,a5,1 addi a3,a3,64 beq a5,t5,.L16 sw a1,0(a3) mv a2,a3 beq a4,a7,.L49 beq a5,t1,.L73 sw a1,4(a3) beq a4,t3,.L49 li a6,3 beq a5,a6,.L74 .L20: li a6,65536 addi a6,a6,-1 sw a6,8(a3) li t4,3 ble a4,t4,.L49 li t4,4 beq a5,t4,.L75 .L24: li a1,65536 addi a1,a1,-1 sw a1,12(a2) li a6,4 ble a4,a6,.L18 li a6,5 beq a5,a6,.L76 .L27: li a1,65536 addi a1,a1,-1 sw a1,16(a2) li a6,5 ble a4,a6,.L18 li a6,6 bne a5,a6,.L29 sw zero,20(a2) beq a4,a5,.L18 .L30: sw a1,24(a2) li a1,7 beq a4,a1,.L18 .L33: li a1,65536 addi a1,a1,-1 sw a1,28(a2) li a6,8 ble a4,a6,.L18 li a6,9 beq a5,a6,.L77 sw a1,32(a2) beq a4,a6,.L18 li a6,10 bne a5,a6,.L37 sw zero,36(a2) beq a4,a5,.L18 .L38: sw a1,40(a2) li a1,11 beq a4,a1,.L18 .L41: li a1,65536 addi a1,a1,-1 sw a1,44(a2) li a6,12 ble a4,a6,.L18 li a6,13 beq a5,a6,.L78 sw a1,48(a2) beq a4,a6,.L18 li a6,14 bne a5,a6,.L45 sw zero,52(a2) beq a4,a5,.L18 .L46: sw a1,56(a2) j .L18 .L80: sw zero,40(a2) beq a4,a5,.L18 sw a1,44(a2) li a6,12 beq a4,a6,.L18 .L42: sw a1,48(a2) li a1,13 beq a4,a1,.L18 .L45: li a1,65536 addi a1,a1,-1 sw a1,52(a2) li a6,14 ble a4,a6,.L18 li a6,15 bne a5,a6,.L46 li a1,0 sw a1,56(a2) j .L18 .L75: sw zero,12(a3) beq a4,a5,.L49 sw a6,16(a3) li a6,5 beq a4,a6,.L49 .L29: li a1,65536 addi a1,a1,-1 sw a1,20(a2) li a6,6 ble a4,a6,.L18 li a6,7 beq a5,a6,.L79 sw a1,24(a2) beq a4,a6,.L18 li a6,8 bne a5,a6,.L33 sw zero,28(a2) beq a4,a5,.L18 .L34: sw a1,32(a2) li a1,9 beq a4,a1,.L18 .L37: li a1,65536 addi a1,a1,-1 sw a1,36(a2) li a6,10 ble a4,a6,.L18 li a6,11 beq a5,a6,.L80 sw a1,40(a2) beq a4,a6,.L18 li a6,12 bne a5,a6,.L41 sw zero,44(a2) bne a4,a5,.L42 j .L18 .L73: sw zero,4(a3) bne a4,a5,.L20 j .L49 .L74: sw zero,8(a3) beq a4,a5,.L49 sw a1,12(a3) li a6,4 bne a4,a6,.L27 j .L49 .L76: sw zero,16(a2) beq a4,a5,.L18 sw a1,20(a2) li a6,6 bne a4,a6,.L30 j .L18 .L16: li s3,1 ble a0,zero,.L54 .L51: call getint@plt mv s0,a0 call getint@plt mv s1,a0 call getint@plt slli a5,s0,4 add a5,a5,s1 slli a5,a5,2 lw a4,1160(s2) add a5,s2,a5 sw a0,72(a5) addiw s3,s3,1 bge a4,s3,.L51 .L54: call Dijkstra lw a5,0(s2) lla s1,.LANCHOR0+12 li s0,1 ble a5,zero,.L53 .L55: lw a0,0(s1) addiw s0,s0,1 addi s1,s1,4 call putint@plt li a0,32 call putch@plt lw a5,0(s2) bge a5,s0,.L55 .L53: li a0,10 call putch@plt ld ra,40(sp) ld s0,32(sp) ld s1,24(sp) ld s2,16(sp) ld s3,8(sp) li a0,0 addi sp,sp,48 jr ra .L79: sw zero,24(a2) beq a4,a5,.L18 sw a1,28(a2) li a6,8 bne a4,a6,.L34 j .L18 .L77: sw zero,32(a2) beq a4,a5,.L18 sw a1,36(a2) li a6,10 bne a4,a6,.L38 j .L18 .L78: sw zero,48(a2) beq a4,a5,.L18 sw a1,52(a2) li a6,14 beq a4,a6,.L18 sw a1,56(a2) j .L18 .L72: li a5,1 j .L18 .size main, .-main .globl w .globl v2 .globl v1 .globl m .globl n .globl dis .globl book .globl e .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 .zero 4 .type dis, @object .size dis, 64 dis: .zero 64 .type e, @object .size e, 1024 e: .zero 1024 .type book, @object .size book, 64 book: .zero 64 .type m, @object .size m, 4 m: .zero 4 .type w, @object .size w, 4 w: .zero 4 .type v2, @object .size v2, 4 v2: .zero 4 .type v1, @object .size v1, 4 v1: .zero 4 .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