.text .attribute 4, 16 .attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0" .file "19_search.sy" .globl search .p2align 1 .type search,@function search: addi sp, sp, -64 sd ra, 56(sp) sd s0, 48(sp) sd s1, 40(sp) sd s2, 32(sp) sd s3, 24(sp) sd s4, 16(sp) sd s5, 8(sp) sd s6, 0(sp) mv s5, a1 mv s6, a0 li a1, 10 lui a0, 262144 blt a1, a2, .LBB0_60 li a0, 120 mul a0, s6, a0 slli a1, s5, 2 add a0, a0, a1 lui a1, %hi(a) addi a1, a1, %lo(a) add s3, a0, a1 lw a6, 0(s3) lui a0, %hi(x_1) lw a7, %lo(x_1)(a0) lui a0, %hi(y_1) lw t0, %lo(y_1)(a0) li a0, 1 bne a6, a0, .LBB0_3 li s1, 0 mv a3, s6 mv a4, s5 mv s0, s3 j .LBB0_8 .LBB0_3: xor a1, a7, s6 xor a3, t0, s5 or a1, a1, a3 sext.w a1, a1 li s1, 0 mv a3, a7 mv a4, t0 mv s0, s3 beqz a1, .LBB0_8 li s1, 0 lui a1, %hi(step) lw t2, %lo(step)(a1) addi a1, a1, %lo(step) lw t4, 4(a1) li t1, 120 lui a3, %hi(a) addi t5, a3, %lo(a) li t3, 1 mv a3, s6 mv a4, s5 .LBB0_5: addw a3, t2, a3 addw a4, t4, a4 mul a1, a3, t1 slli a5, a4, 2 add a1, a1, a5 add s0, a1, t5 lw a1, 0(s0) addiw s1, s1, 1 beq a1, t3, .LBB0_8 xor a1, a3, a7 xor a5, a4, t0 or a1, a1, a5 bnez a1, .LBB0_5 mv a3, a7 mv a4, t0 .LBB0_8: xor a1, a3, a7 xor a5, a4, t0 or a1, a1, a5 sext.w a1, a1 beqz a1, .LBB0_60 addiw s2, a2, 1 sltiu a1, s1, 2 sext.w a0, a3 seqz a2, a0 or a1, a1, a2 lui s4, 262144 bnez a1, .LBB0_15 lui a1, %hi(h) lw a1, %lo(h)(a1) addiw a1, a1, 1 xor a0, a0, a1 seqz a1, a0 sext.w a0, a4 seqz a2, a0 or a1, a1, a2 bnez a1, .LBB0_15 lui a1, %hi(w) lw a1, %lo(w)(a1) addiw a1, a1, 1 beq a0, a1, .LBB0_15 lui a0, %hi(step) lw a1, %lo(step)(a0) addi a0, a0, %lo(step) lw a2, 4(a0) sw zero, 0(s0) subw a0, a3, a1 subw a1, a4, a2 mv a2, s2 call search lui a1, 262144 addiw a1, a1, -1 blt a0, a1, .LBB0_14 mv a0, a1 .LBB0_14: li a1, 1 sw a1, 0(s0) lw a6, 0(s3) addiw s4, a0, 1 .LBB0_15: lui a0, %hi(x_1) lw a7, %lo(x_1)(a0) lui a0, %hi(y_1) lw t1, %lo(y_1)(a0) li a0, 1 bne a6, a0, .LBB0_17 li a5, 0 mv a2, s6 mv a3, s5 mv s0, s3 j .LBB0_22 .LBB0_17: xor a1, a7, s6 xor a2, t1, s5 or a1, a1, a2 sext.w a1, a1 li a5, 0 mv a2, a7 mv a3, t1 mv s0, s3 beqz a1, .LBB0_22 li a5, 0 lui a1, %hi(step) addi a1, a1, %lo(step) lw t3, 8(a1) lw t4, 12(a1) li t0, 120 lui a1, %hi(a) addi a1, a1, %lo(a) li t2, 1 mv a2, s6 mv a3, s5 .LBB0_19: addw a2, t3, a2 addw a3, t4, a3 mul a4, a2, t0 slli s1, a3, 2 add a4, a4, s1 add s0, a4, a1 lw a4, 0(s0) addiw a5, a5, 1 beq a4, t2, .LBB0_22 xor s1, a2, a7 xor a4, a3, t1 or a4, a4, s1 bnez a4, .LBB0_19 mv a2, a7 mv a3, t1 .LBB0_22: xor a1, a2, a7 xor a4, a3, t1 or a1, a1, a4 sext.w a1, a1 beqz a1, .LBB0_60 sltiu a1, a5, 2 sext.w a0, a2 seqz a4, a0 or a1, a1, a4 bnez a1, .LBB0_29 lui a1, %hi(h) lw a1, %lo(h)(a1) addiw a1, a1, 1 xor a0, a0, a1 seqz a1, a0 sext.w a0, a3 seqz a4, a0 or a1, a1, a4 bnez a1, .LBB0_29 lui a1, %hi(w) lw a1, %lo(w)(a1) addiw a1, a1, 1 beq a0, a1, .LBB0_29 lui a0, %hi(step) addi a0, a0, %lo(step) lw a1, 8(a0) lw a4, 12(a0) sw zero, 0(s0) subw a0, a2, a1 subw a1, a3, a4 mv a2, s2 call search addiw a0, a0, 1 blt a0, s4, .LBB0_28 mv a0, s4 .LBB0_28: li a1, 1 sw a1, 0(s0) lw a6, 0(s3) mv s4, a0 .LBB0_29: lui a0, %hi(x_1) lw a7, %lo(x_1)(a0) lui a0, %hi(y_1) lw t1, %lo(y_1)(a0) li a0, 1 bne a6, a0, .LBB0_31 li a5, 0 mv a2, s6 mv a3, s5 mv s0, s3 j .LBB0_36 .LBB0_31: xor a1, a7, s6 xor a2, t1, s5 or a1, a1, a2 sext.w a1, a1 li a5, 0 mv a2, a7 mv a3, t1 mv s0, s3 beqz a1, .LBB0_36 li a5, 0 lui a1, %hi(step) addi a1, a1, %lo(step) lw t3, 16(a1) lw t4, 20(a1) li t0, 120 lui a1, %hi(a) addi a1, a1, %lo(a) li t2, 1 mv a2, s6 mv a3, s5 .LBB0_33: addw a2, t3, a2 addw a3, t4, a3 mul a4, a2, t0 slli s1, a3, 2 add a4, a4, s1 add s0, a4, a1 lw a4, 0(s0) addiw a5, a5, 1 beq a4, t2, .LBB0_36 xor s1, a2, a7 xor a4, a3, t1 or a4, a4, s1 bnez a4, .LBB0_33 mv a2, a7 mv a3, t1 .LBB0_36: xor a1, a2, a7 xor a4, a3, t1 or a1, a1, a4 sext.w a1, a1 beqz a1, .LBB0_60 sltiu a1, a5, 2 sext.w a0, a2 seqz a4, a0 or a1, a1, a4 bnez a1, .LBB0_43 lui a1, %hi(h) lw a1, %lo(h)(a1) addiw a1, a1, 1 xor a0, a0, a1 seqz a1, a0 sext.w a0, a3 seqz a4, a0 or a1, a1, a4 bnez a1, .LBB0_43 lui a1, %hi(w) lw a1, %lo(w)(a1) addiw a1, a1, 1 beq a0, a1, .LBB0_43 lui a0, %hi(step) addi a0, a0, %lo(step) lw a1, 16(a0) lw a4, 20(a0) sw zero, 0(s0) subw a0, a2, a1 subw a1, a3, a4 mv a2, s2 call search addiw a0, a0, 1 blt a0, s4, .LBB0_42 mv a0, s4 .LBB0_42: li a1, 1 sw a1, 0(s0) lw a6, 0(s3) mv s4, a0 .LBB0_43: lui a0, %hi(x_1) lw t0, %lo(x_1)(a0) lui a0, %hi(y_1) lw a1, %lo(y_1)(a0) li a0, 1 bne a6, a0, .LBB0_46 li a3, 0 .LBB0_45: mv a4, s6 mv a5, s5 j .LBB0_51 .LBB0_46: xor a3, t0, s6 xor a4, a1, s5 or a3, a3, a4 sext.w s1, a3 li a3, 0 mv a4, t0 mv a5, a1 beqz s1, .LBB0_51 li a3, 0 lui a4, %hi(step) addi a5, a4, %lo(step) lw a4, 24(a5) lw a5, 28(a5) li a6, 120 lui s1, %hi(a) addi s0, s1, %lo(a) li a7, 1 .LBB0_48: addw s6, a4, s6 addw s5, a5, s5 mul a2, s6, a6 slli s1, s5, 2 add a2, a2, s1 add s3, a2, s0 lw a2, 0(s3) addiw a3, a3, 1 beq a2, a7, .LBB0_45 xor s1, s6, t0 xor a2, s5, a1 or a2, a2, s1 bnez a2, .LBB0_48 mv a4, t0 mv a5, a1 .LBB0_51: xor a2, a4, t0 xor a1, a1, a5 or a1, a1, a2 sext.w a1, a1 beqz a1, .LBB0_60 sltiu a1, a3, 2 sext.w a0, a4 seqz a2, a0 or a1, a1, a2 bnez a1, .LBB0_58 lui a1, %hi(h) lw a1, %lo(h)(a1) addiw a1, a1, 1 xor a0, a0, a1 seqz a1, a0 sext.w a0, a5 seqz a2, a0 or a1, a1, a2 bnez a1, .LBB0_58 lui a1, %hi(w) lw a1, %lo(w)(a1) addiw a1, a1, 1 beq a0, a1, .LBB0_58 lui a0, %hi(step) addi a0, a0, %lo(step) lw a1, 24(a0) lw a2, 28(a0) sw zero, 0(s3) subw a0, a4, a1 subw a1, a5, a2 mv a2, s2 call search addiw a0, a0, 1 blt a0, s4, .LBB0_57 mv a0, s4 .LBB0_57: li a1, 1 sw a1, 0(s3) mv s4, a0 .LBB0_58: li a1, 10 lui a0, 262144 blt a1, s4, .LBB0_60 mv a0, s4 .LBB0_60: ld ra, 56(sp) ld s0, 48(sp) ld s1, 40(sp) ld s2, 32(sp) ld s3, 24(sp) ld s4, 16(sp) ld s5, 8(sp) ld s6, 0(sp) addi sp, sp, 64 ret .Lfunc_end0: .size search, .Lfunc_end0-search .globl main .p2align 1 .type main,@function main: addi sp, sp, -128 sd ra, 120(sp) sd s0, 112(sp) sd s1, 104(sp) sd s2, 96(sp) sd s3, 88(sp) sd s4, 80(sp) sd s5, 72(sp) sd s6, 64(sp) sd s7, 56(sp) sd s8, 48(sp) sd s9, 40(sp) sd s10, 32(sp) sd s11, 24(sp) call getint lui s8, %hi(w) sw a0, %lo(w)(s8) call getint lw a1, %lo(w)(s8) lui a2, %hi(h) sw a0, %lo(h)(a2) beqz a1, .LBB1_19 lui a2, %hi(a) addi a2, a2, %lo(a) addi a3, a2, 60 sd a3, 16(sp) li s1, 1 lui s4, %hi(x_0) lui s5, %hi(y_0) addi a2, a2, 124 sd a2, 8(sp) li s0, 3 lui s9, %hi(x_1) lui a2, %hi(y_1) addi s10, a2, %lo(y_1) li s11, 2 j .LBB1_3 .LBB1_2: call putint li a0, 10 call putch call getint sw a0, %lo(w)(s8) call getint lw a1, %lo(w)(s8) lui a2, %hi(h) sw a0, %lo(h)(a2) beqz a1, .LBB1_19 .LBB1_3: li a2, 30 ld a3, 16(sp) .LBB1_4: sw s1, -60(a3) sw s1, -56(a3) sw s1, -52(a3) sw s1, -48(a3) sw s1, -44(a3) sw s1, -40(a3) sw s1, -36(a3) sw s1, -32(a3) sw s1, -28(a3) sw s1, -24(a3) sw s1, -20(a3) sw s1, -16(a3) sw s1, -12(a3) sw s1, -8(a3) sw s1, -4(a3) sw s1, 0(a3) sw s1, 4(a3) sw s1, 8(a3) sw s1, 12(a3) sw s1, 16(a3) sw s1, 20(a3) sw s1, 24(a3) sw s1, 28(a3) sw s1, 32(a3) sw s1, 36(a3) sw s1, 40(a3) sw s1, 44(a3) sw s1, 48(a3) sw s1, 52(a3) sw s1, 56(a3) addi a2, a2, -1 addi a3, a3, 120 bnez a2, .LBB1_4 sext.w a2, a0 slti a2, a2, 1 slti a3, a1, 1 or a2, a2, a3 beqz a2, .LBB1_8 .LBB1_6: lw a0, %lo(x_0)(s4) lw a1, %lo(y_0)(s5) li a2, 1 call search li a1, 11 blt a0, a1, .LBB1_2 li a0, -1 j .LBB1_2 .LBB1_8: li a2, 1 ld s2, 8(sp) j .LBB1_11 .LBB1_9: lui a0, %hi(h) lw a0, %lo(h)(a0) .LBB1_10: addi a2, s6, 1 sext.w a3, a0 addi s2, s2, 120 bge s6, a3, .LBB1_6 .LBB1_11: mv s6, a2 blez a1, .LBB1_10 li a0, 1 mv s7, s2 j .LBB1_16 .LBB1_13: sw s6, %lo(x_1)(s9) mv a0, s10 .LBB1_14: sw s3, 0(a0) .LBB1_15: lw a1, %lo(w)(s8) addi a0, s3, 1 addi s7, s7, 4 bge s3, a1, .LBB1_9 .LBB1_16: mv s3, a0 call getint sw a0, 0(s7) beq a0, s0, .LBB1_13 bne a0, s11, .LBB1_15 sw s6, %lo(x_0)(s4) addi a0, s5, %lo(y_0) j .LBB1_14 .LBB1_19: li a0, 0 ld ra, 120(sp) ld s0, 112(sp) ld s1, 104(sp) ld s2, 96(sp) ld s3, 88(sp) ld s4, 80(sp) ld s5, 72(sp) ld s6, 64(sp) ld s7, 56(sp) ld s8, 48(sp) ld s9, 40(sp) ld s10, 32(sp) ld s11, 24(sp) addi sp, sp, 128 ret .Lfunc_end1: .size main, .Lfunc_end1-main .type step,@object .data .globl step .p2align 2 step: .word 1 .word 0 .word 4294967295 .word 0 .word 0 .word 1 .word 0 .word 4294967295 .size step, 32 .type a,@object .bss .globl a .p2align 2 a: .zero 3600 .size a, 3600 .type x_1,@object .section .sbss,"aw",@nobits .globl x_1 .p2align 2 x_1: .word 0 .size x_1, 4 .type y_1,@object .globl y_1 .p2align 2 y_1: .word 0 .size y_1, 4 .type h,@object .globl h .p2align 2 h: .word 0 .size h, 4 .type w,@object .globl w .p2align 2 w: .word 0 .size w, 4 .type x_0,@object .globl x_0 .p2align 2 x_0: .word 0 .size x_0, 4 .type y_0,@object .globl y_0 .p2align 2 y_0: .word 0 .size y_0, 4 .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