.text .attribute 4, 16 .attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0" .file "crypto-1.sy" .globl get_random .p2align 1 .type get_random,@function get_random: lui a1, %hi(state) lw a0, %lo(state)(a1) slliw a2, a0, 13 addw a0, a0, a2 sraiw a2, a0, 31 srliw a2, a2, 15 addw a2, a2, a0 sraiw a2, a2, 17 addw a0, a0, a2 slliw a2, a0, 5 addw a0, a0, a2 sw a0, %lo(state)(a1) ret .Lfunc_end0: .size get_random, .Lfunc_end0-get_random .globl rotl1 .p2align 1 .type rotl1,@function rotl1: slliw a1, a0, 1 srliw a2, a0, 31 add a2, a2, a0 andi a2, a2, -2 subw a0, a0, a2 addw a0, a0, a1 ret .Lfunc_end1: .size rotl1, .Lfunc_end1-rotl1 .globl rotl5 .p2align 1 .type rotl5,@function rotl5: slliw a1, a0, 5 sraiw a2, a0, 31 srliw a2, a2, 27 add a2, a2, a0 andi a2, a2, -32 subw a0, a0, a2 addw a0, a0, a1 ret .Lfunc_end2: .size rotl5, .Lfunc_end2-rotl5 .globl rotl30 .p2align 1 .type rotl30,@function rotl30: slliw a1, a0, 30 sraiw a2, a0, 31 srliw a2, a2, 2 add a2, a2, a0 lui a3, 786432 and a2, a2, a3 subw a0, a0, a2 addw a0, a0, a1 ret .Lfunc_end3: .size rotl30, .Lfunc_end3-rotl30 .globl _and .p2align 1 .type _and,@function _and: addw a0, a0, a1 ret .Lfunc_end4: .size _and, .Lfunc_end4-_and .globl _not .p2align 1 .type _not,@function _not: not a0, a0 ret .Lfunc_end5: .size _not, .Lfunc_end5-_not .globl _xor .p2align 1 .type _xor,@function _xor: addw a0, a0, a1 negw a0, a0 ret .Lfunc_end6: .size _xor, .Lfunc_end6-_xor .globl _or .p2align 1 .type _or,@function _or: li a0, 0 ret .Lfunc_end7: .size _or, .Lfunc_end7-_or .globl pseudo_sha1 .p2align 1 .type pseudo_sha1,@function pseudo_sha1: addi sp, sp, -448 sd ra, 440(sp) sd s0, 432(sp) sd s1, 424(sp) sd s2, 416(sp) sd s3, 408(sp) sd s4, 400(sp) sd s5, 392(sp) sd s6, 384(sp) sd s7, 376(sp) sd s8, 368(sp) sd s9, 360(sp) sd s10, 352(sp) sd s11, 344(sp) sd a2, 0(sp) mv s3, a0 slli a0, a1, 2 add a0, a0, s3 li a2, 128 sw a2, 0(a0) addi a0, a1, 1 sraiw a2, a0, 31 srliw a2, a2, 26 add a2, a2, a0 andi a2, a2, -64 subw a3, a0, a2 li a0, 60 addiw a2, a1, 1 bne a3, a0, .LBB8_2 mv a0, a1 j .LBB8_5 .LBB8_2: slli a3, a2, 2 add a3, a3, s3 .LBB8_3: sw zero, 0(a3) addi a2, a2, 1 sraiw a4, a2, 31 srliw a4, a4, 26 add a4, a4, a2 andi a4, a4, -64 subw a4, a2, a4 addi a3, a3, 4 bne a4, a0, .LBB8_3 addi a0, a2, -1 .LBB8_5: srli a3, a1, 31 srliw a4, a3, 8 addw a4, a4, a1 sraiw a4, a4, 24 sext.w a2, a2 slli a2, a2, 2 add a2, a2, s3 sw a4, 0(a2) srliw a2, a3, 16 add a2, a2, a1 lui a4, 65535 slli a4, a4, 4 and a2, a2, a4 srli a4, a2, 16 sraiw a2, a2, 16 srli a2, a2, 23 andi a2, a2, 255 add a2, a2, a4 andi a2, a2, -256 subw a2, a4, a2 slli a2, a2, 48 srai a2, a2, 48 sext.w s0, a0 addiw a4, a0, 2 slli a4, a4, 2 add a4, a4, s3 sw a2, 0(a4) srliw a2, a3, 24 add a2, a2, a1 sraiw a3, a2, 8 srliw a4, a3, 24 add a4, a4, a3 andi a4, a4, -256 subw a3, a3, a4 addiw a4, a0, 3 slli a4, a4, 2 add a4, a4, s3 sw a3, 0(a4) andi a2, a2, -256 subw a1, a1, a2 addiw a0, a0, 4 slli a0, a0, 2 add a0, a0, s3 sw a1, 0(a0) addi a0, sp, 24 li a2, 320 addi s1, sp, 24 li a1, 0 call memset@plt lui a0, 422994 lui a2, 66341 lui a1, 401047 slli a1, a1, 1 lui a3, 312791 slli a3, a3, 1 lui a4, 240 addiw a4, a4, -805 li a5, -4 slli a4, a4, 12 sd s0, 8(sp) blt s0, a5, .LBB8_21 li a6, 0 addi t4, s3, 8 addiw a7, a2, 1142 addiw t1, a0, 769 addi t2, a3, -770 addi t0, a1, 496 addi t3, a4, -1143 li s7, 64 li s8, 256 lui a0, 370728 addiw ra, a0, -1639 li s9, 20 lui s10, 786432 li s11, 80 li t5, 39 lui a0, 454047 addiw s6, a0, -1151 lui a0, 146543 slli a0, a0, 2 addi a0, a0, -804 sd a0, 16(sp) lui a0, 207243 slli a0, a0, 2 addi s5, a0, 262 j .LBB8_8 .LBB8_7: addw t1, a4, t1 addw t3, s4, t3 addw t2, a2, t2 addw a7, s3, a7 addw t0, t6, t0 ori a0, a6, 59 addi a6, a6, 64 addi t4, t4, 256 ld a1, 8(sp) bge a0, a1, .LBB8_22 .LBB8_8: li a0, 0 mv a1, t4 .LBB8_9: lw a2, -8(a1) lw a3, -4(a1) slliw a2, a2, 24 lw a4, 0(a1) slliw a3, a3, 16 lw a5, 4(a1) addw a2, a2, a3 slliw a3, a4, 8 addw a2, a2, a3 addw a2, a2, a5 add a3, s1, a0 sw a2, 0(a3) addi a0, a0, 4 addi a1, a1, 16 bne a0, s7, .LBB8_9 li a0, 0 .LBB8_11: add a1, s1, a0 lw a2, 52(a1) lw a3, 32(a1) lw a4, 0(a1) lw a5, 8(a1) addw a2, a2, a3 addw a2, a2, a4 sub a2, a5, a2 slliw a3, a2, 1 srliw a4, a2, 31 add a4, a4, a2 andi a4, a4, -2 subw a2, a2, a4 addw a2, a2, a3 addi a0, a0, 4 sw a2, 64(a1) bne a0, s8, .LBB8_11 li a5, 0 addi s0, sp, 24 mv a0, t0 mv a1, a7 mv a2, t2 mv a3, t3 mv a4, t1 j .LBB8_15 .LBB8_13: li s2, 0 mv a2, ra .LBB8_14: slliw a1, s4, 5 sraiw a4, s4, 31 srliw a4, a4, 27 add a4, a4, s4 andi a4, a4, -32 subw a4, s4, a4 addw a1, a1, a4 lw a4, 0(s0) addw a0, a0, a1 addw a0, a0, s2 addw a0, a0, a2 addw a4, a4, a0 slliw a0, a3, 30 sraiw a1, a3, 31 srliw a1, a1, 2 add a1, a1, a3 and a1, a1, s10 subw a1, a3, a1 addw a2, a0, a1 addi a5, a5, 1 addi s0, s0, 4 mv a0, t6 mv a1, s3 mv a3, s4 beq a5, s11, .LBB8_7 .LBB8_15: mv s4, a4 mv s3, a2 mv t6, a1 bltu a5, s9, .LBB8_13 bltu t5, a5, .LBB8_18 addw a1, s3, a3 subw s2, a1, t6 mv a2, s6 j .LBB8_14 .LBB8_18: li a1, 60 bgeu a5, a1, .LBB8_20 li s2, 0 ld a2, 16(sp) j .LBB8_14 .LBB8_20: addw a1, s3, a3 subw s2, a1, t6 mv a2, s5 j .LBB8_14 .LBB8_21: addiw t1, a0, 769 addiw a7, a2, 1142 addi t0, a1, 496 addi t2, a3, -770 addi t3, a4, -1143 .LBB8_22: ld a0, 0(sp) sw t1, 0(a0) sw t3, 4(a0) sw t2, 8(a0) sw a7, 12(a0) sw t0, 16(a0) ld ra, 440(sp) ld s0, 432(sp) ld s1, 424(sp) ld s2, 416(sp) ld s3, 408(sp) ld s4, 400(sp) ld s5, 392(sp) ld s6, 384(sp) ld s7, 376(sp) ld s8, 368(sp) ld s9, 360(sp) ld s10, 352(sp) ld s11, 344(sp) addi sp, sp, 448 ret .Lfunc_end8: .size pseudo_sha1, .Lfunc_end8-pseudo_sha1 .globl main .p2align 1 .type main,@function main: addi sp, sp, -176 sd ra, 168(sp) sd s0, 160(sp) sd s1, 152(sp) sd s2, 144(sp) sd s3, 136(sp) sd s4, 128(sp) sd s5, 120(sp) sd s6, 112(sp) sd s7, 104(sp) sd s8, 96(sp) sd s9, 88(sp) sd s10, 80(sp) sd s11, 72(sp) sw zero, 64(sp) sd zero, 56(sp) sd zero, 48(sp) call getint lui s4, %hi(state) sw a0, %lo(state)(s4) call getint mv s0, a0 li a0, 162 call _sysy_starttime sw zero, 40(sp) sd zero, 32(sp) sd zero, 24(sp) blez s0, .LBB9_5 li a2, 0 li s9, 0 li a3, 0 li s5, 0 li s7, 0 li s10, 0 li s8, 0 li s3, 0 li s11, 0 li s2, 0 lui a0, %hi(buffer) addi a0, a0, %lo(buffer) lui a1, 8 addiw s6, a1, -768 .LBB9_2: sd a3, 8(sp) sd a2, 16(sp) lw a2, %lo(state)(s4) mv s1, s6 mv a5, a0 lui a6, %hi(state) .LBB9_3: slliw a3, a2, 13 addw a2, a2, a3 sraiw a3, a2, 31 srliw a3, a3, 15 addw a3, a3, a2 sraiw a3, a3, 17 addw a3, a3, a2 slliw a4, a3, 5 addw a2, a4, a3 add a3, a3, a4 sraiw a4, a3, 31 srliw a4, a4, 24 add a4, a4, a3 andi a4, a4, -256 subw a3, a3, a4 sw a3, 0(a5) addi s1, s1, -1 addi a5, a5, 4 bnez s1, .LBB9_3 sw a2, %lo(state)(a6) addi a2, sp, 48 mv a1, s6 lui s4, %hi(state) mv s1, a0 call pseudo_sha1 mv a0, s1 lw a3, 48(sp) lw a1, 52(sp) subw a6, s11, a3 addw s11, s2, a3 lw a5, 56(sp) subw t0, s8, a1 addw s8, s3, a1 lw a1, 60(sp) subw a4, s7, a5 addw s7, s10, a5 sw a6, 24(sp) ld a2, 8(sp) subw s1, a2, a1 addw a3, s5, a1 lw a1, 64(sp) sw t0, 28(sp) sw a4, 32(sp) sw s1, 36(sp) ld a2, 16(sp) subw a5, a2, a1 addw a2, s9, a1 sext.w a7, s0 addiw s0, s0, -1 sw a5, 40(sp) mv s9, a5 mv s5, s1 mv s10, a4 mv s3, t0 mv s2, a6 li a4, 1 blt a4, a7, .LBB9_2 .LBB9_5: li a0, 185 call _sysy_stoptime li a0, 5 addi a1, sp, 24 call putarray li a0, 0 ld ra, 168(sp) ld s0, 160(sp) ld s1, 152(sp) ld s2, 144(sp) ld s3, 136(sp) ld s4, 128(sp) ld s5, 120(sp) ld s6, 112(sp) ld s7, 104(sp) ld s8, 96(sp) ld s9, 88(sp) ld s10, 80(sp) ld s11, 72(sp) addi sp, sp, 176 ret .Lfunc_end9: .size main, .Lfunc_end9-main .type state,@object .section .sdata,"aw",@progbits .globl state .p2align 2 state: .word 19260817 .size state, 4 .type buffer,@object .bss .globl buffer .p2align 2 buffer: .zero 131072 .size buffer, 131072 .type _sysy_start,@object .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 .addrsig_sym buffer