#if defined(__AVR__) #include /* Automatically generated - do not edit */ .text .global gascon128_core_round .type gascon128_core_round, @function gascon128_core_round: push r2 push r3 push r4 push r5 push r6 push r7 push r8 push r9 push r10 push r11 push r12 push r13 push r14 push r15 push r16 push r17 movw r30,r24 .L__stack_usage = 18 ldi r18,15 sub r18,r22 swap r18 or r22,r18 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 ldd r26,Z+4 ldd r27,Z+5 ldd r2,Z+6 ldd r3,Z+7 ldd r4,Z+16 ldd r5,Z+17 ldd r6,Z+18 ldd r7,Z+19 ldd r8,Z+20 ldd r9,Z+21 ldd r10,Z+22 ldd r11,Z+23 eor r4,r22 ldd r23,Z+8 ldd r12,Z+24 ldd r13,Z+32 eor r18,r13 eor r4,r23 eor r13,r12 mov r14,r23 mov r0,r18 com r0 and r14,r0 mov r15,r4 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r4 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r18 mov r0,r13 com r0 and r16,r0 eor r18,r15 eor r23,r24 eor r4,r25 eor r12,r16 eor r13,r14 eor r23,r18 eor r12,r4 eor r18,r13 com r4 st Z,r18 std Z+8,r23 std Z+24,r12 std Z+32,r13 ldd r23,Z+9 ldd r12,Z+25 ldd r13,Z+33 eor r19,r13 eor r5,r23 eor r13,r12 mov r14,r23 mov r0,r19 com r0 and r14,r0 mov r15,r5 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r5 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r19 mov r0,r13 com r0 and r16,r0 eor r19,r15 eor r23,r24 eor r5,r25 eor r12,r16 eor r13,r14 eor r23,r19 eor r12,r5 eor r19,r13 com r5 std Z+1,r19 std Z+9,r23 std Z+25,r12 std Z+33,r13 ldd r23,Z+10 ldd r12,Z+26 ldd r13,Z+34 eor r20,r13 eor r6,r23 eor r13,r12 mov r14,r23 mov r0,r20 com r0 and r14,r0 mov r15,r6 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r6 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r20 mov r0,r13 com r0 and r16,r0 eor r20,r15 eor r23,r24 eor r6,r25 eor r12,r16 eor r13,r14 eor r23,r20 eor r12,r6 eor r20,r13 com r6 std Z+2,r20 std Z+10,r23 std Z+26,r12 std Z+34,r13 ldd r23,Z+11 ldd r12,Z+27 ldd r13,Z+35 eor r21,r13 eor r7,r23 eor r13,r12 mov r14,r23 mov r0,r21 com r0 and r14,r0 mov r15,r7 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r7 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r21 mov r0,r13 com r0 and r16,r0 eor r21,r15 eor r23,r24 eor r7,r25 eor r12,r16 eor r13,r14 eor r23,r21 eor r12,r7 eor r21,r13 com r7 std Z+3,r21 std Z+11,r23 std Z+27,r12 std Z+35,r13 ldd r23,Z+12 ldd r12,Z+28 ldd r13,Z+36 eor r26,r13 eor r8,r23 eor r13,r12 mov r14,r23 mov r0,r26 com r0 and r14,r0 mov r15,r8 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r8 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r26 mov r0,r13 com r0 and r16,r0 eor r26,r15 eor r23,r24 eor r8,r25 eor r12,r16 eor r13,r14 eor r23,r26 eor r12,r8 eor r26,r13 com r8 std Z+4,r26 std Z+12,r23 std Z+28,r12 std Z+36,r13 ldd r23,Z+13 ldd r12,Z+29 ldd r13,Z+37 eor r27,r13 eor r9,r23 eor r13,r12 mov r14,r23 mov r0,r27 com r0 and r14,r0 mov r15,r9 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r9 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r27 mov r0,r13 com r0 and r16,r0 eor r27,r15 eor r23,r24 eor r9,r25 eor r12,r16 eor r13,r14 eor r23,r27 eor r12,r9 eor r27,r13 com r9 std Z+5,r27 std Z+13,r23 std Z+29,r12 std Z+37,r13 ldd r23,Z+14 ldd r12,Z+30 ldd r13,Z+38 eor r2,r13 eor r10,r23 eor r13,r12 mov r14,r23 mov r0,r2 com r0 and r14,r0 mov r15,r10 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r10 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r2 mov r0,r13 com r0 and r16,r0 eor r2,r15 eor r23,r24 eor r10,r25 eor r12,r16 eor r13,r14 eor r23,r2 eor r12,r10 eor r2,r13 com r10 std Z+6,r2 std Z+14,r23 std Z+30,r12 std Z+38,r13 ldd r23,Z+15 ldd r12,Z+31 ldd r13,Z+39 eor r3,r13 eor r11,r23 eor r13,r12 mov r14,r23 mov r0,r3 com r0 and r14,r0 mov r15,r11 mov r0,r23 com r0 and r15,r0 mov r24,r12 mov r0,r11 com r0 and r24,r0 mov r25,r13 mov r0,r12 com r0 and r25,r0 mov r16,r3 mov r0,r13 com r0 and r16,r0 eor r3,r15 eor r23,r24 eor r11,r25 eor r12,r16 eor r13,r14 eor r23,r3 eor r12,r11 eor r3,r13 com r11 std Z+7,r3 std Z+15,r23 std Z+31,r12 std Z+39,r13 ldd r18,Z+8 ldd r19,Z+9 ldd r20,Z+10 ldd r21,Z+11 ldd r26,Z+12 ldd r27,Z+13 ldd r2,Z+14 ldd r3,Z+15 movw r12,r18 movw r14,r20 movw r24,r26 movw r16,r2 lsl r12 rol r13 rol r14 rol r15 adc r12,r1 lsl r24 rol r25 rol r16 rol r17 adc r24,r1 lsl r24 rol r25 rol r16 rol r17 adc r24,r1 eor r24,r18 eor r25,r19 eor r16,r20 eor r17,r21 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r18,r24 eor r19,r25 eor r20,r16 eor r21,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+8,r18 std Z+9,r19 std Z+10,r20 std Z+11,r21 std Z+12,r26 std Z+13,r27 std Z+14,r2 std Z+15,r3 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 bst r12,0 lsr r15 ror r14 ror r13 ror r12 bld r15,7 eor r24,r4 eor r25,r5 eor r16,r6 eor r17,r7 eor r12,r8 eor r13,r9 eor r14,r10 eor r15,r11 mov r0,r1 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 or r7,r0 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 or r11,r0 eor r4,r24 eor r5,r25 eor r6,r16 eor r7,r17 eor r8,r12 eor r9,r13 eor r10,r14 eor r11,r15 ldd r18,Z+24 ldd r19,Z+25 ldd r20,Z+26 ldd r21,Z+27 ldd r26,Z+28 ldd r27,Z+29 ldd r2,Z+30 ldd r3,Z+31 movw r12,r18 movw r14,r20 movw r24,r26 movw r16,r2 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,r0 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r24 mov r24,r25 mov r25,r16 mov r16,r17 mov r17,r0 eor r24,r18 eor r25,r19 eor r16,r20 eor r17,r21 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r18 mov r18,r19 mov r19,r20 mov r20,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r26 mov r26,r27 mov r27,r2 mov r2,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r24 eor r19,r25 eor r20,r16 eor r21,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+24,r18 std Z+25,r19 std Z+26,r20 std Z+27,r21 std Z+28,r26 std Z+29,r27 std Z+30,r2 std Z+31,r3 ldd r18,Z+32 ldd r19,Z+33 ldd r20,Z+34 ldd r21,Z+35 ldd r26,Z+36 ldd r27,Z+37 ldd r2,Z+38 ldd r3,Z+39 movw r12,r18 movw r14,r20 movw r24,r26 movw r16,r2 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r1 lsr r17 ror r16 ror r25 ror r24 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r0 or r17,r0 eor r24,r18 eor r25,r19 eor r16,r20 eor r17,r21 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r18,r24 eor r19,r25 eor r20,r16 eor r21,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+32,r18 std Z+33,r19 std Z+34,r20 std Z+35,r21 std Z+36,r26 std Z+37,r27 std Z+38,r2 std Z+39,r3 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 ldd r26,Z+4 ldd r27,Z+5 ldd r2,Z+6 ldd r3,Z+7 movw r12,r18 movw r14,r20 movw r24,r26 movw r16,r2 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,r0 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r24 mov r24,r25 mov r25,r16 mov r16,r17 mov r17,r0 mov r0,r1 lsr r17 ror r16 ror r25 ror r24 ror r0 or r17,r0 eor r24,r18 eor r25,r19 eor r16,r20 eor r17,r21 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r24 eor r19,r25 eor r20,r16 eor r21,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 st Z,r18 std Z+1,r19 std Z+2,r20 std Z+3,r21 std Z+4,r26 std Z+5,r27 std Z+6,r2 std Z+7,r3 std Z+16,r4 std Z+17,r5 std Z+18,r6 std Z+19,r7 std Z+20,r8 std Z+21,r9 std Z+22,r10 std Z+23,r11 pop r17 pop r16 pop r15 pop r14 pop r13 pop r12 pop r11 pop r10 pop r9 pop r8 pop r7 pop r6 pop r5 pop r4 pop r3 pop r2 ret .size gascon128_core_round, .-gascon128_core_round .text .global drysponge128_g .type drysponge128_g, @function drysponge128_g: push r2 push r3 push r4 push r5 push r6 push r7 push r8 push r9 push r10 push r11 push r12 push r13 push r14 push r15 push r16 push r17 movw r30,r24 .L__stack_usage = 18 subi r30,180 sbci r31,255 ld r19,Z subi r30,76 sbc r31,r1 ldi r18,240 std Z+40,r1 std Z+41,r1 std Z+42,r1 std Z+43,r1 std Z+44,r1 std Z+45,r1 std Z+46,r1 std Z+47,r1 std Z+48,r1 std Z+49,r1 std Z+50,r1 std Z+51,r1 std Z+52,r1 std Z+53,r1 std Z+54,r1 std Z+55,r1 ld r20,Z ldd r21,Z+1 ldd r22,Z+2 ldd r23,Z+3 ldd r26,Z+4 ldd r27,Z+5 ldd r2,Z+6 ldd r3,Z+7 ldd r4,Z+16 ldd r5,Z+17 ldd r6,Z+18 ldd r7,Z+19 ldd r8,Z+20 ldd r9,Z+21 ldd r10,Z+22 ldd r11,Z+23 38: eor r4,r18 ldd r12,Z+8 ldd r13,Z+24 ldd r14,Z+32 eor r20,r14 eor r4,r12 eor r14,r13 mov r15,r12 mov r0,r20 com r0 and r15,r0 mov r24,r4 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r4 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r20 mov r0,r14 com r0 and r17,r0 eor r20,r24 eor r12,r25 eor r4,r16 eor r13,r17 eor r14,r15 eor r12,r20 eor r13,r4 eor r20,r14 com r4 st Z,r20 std Z+8,r12 std Z+24,r13 std Z+32,r14 ldd r12,Z+9 ldd r13,Z+25 ldd r14,Z+33 eor r21,r14 eor r5,r12 eor r14,r13 mov r15,r12 mov r0,r21 com r0 and r15,r0 mov r24,r5 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r5 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r21 mov r0,r14 com r0 and r17,r0 eor r21,r24 eor r12,r25 eor r5,r16 eor r13,r17 eor r14,r15 eor r12,r21 eor r13,r5 eor r21,r14 com r5 std Z+1,r21 std Z+9,r12 std Z+25,r13 std Z+33,r14 ldd r12,Z+10 ldd r13,Z+26 ldd r14,Z+34 eor r22,r14 eor r6,r12 eor r14,r13 mov r15,r12 mov r0,r22 com r0 and r15,r0 mov r24,r6 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r6 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r22 mov r0,r14 com r0 and r17,r0 eor r22,r24 eor r12,r25 eor r6,r16 eor r13,r17 eor r14,r15 eor r12,r22 eor r13,r6 eor r22,r14 com r6 std Z+2,r22 std Z+10,r12 std Z+26,r13 std Z+34,r14 ldd r12,Z+11 ldd r13,Z+27 ldd r14,Z+35 eor r23,r14 eor r7,r12 eor r14,r13 mov r15,r12 mov r0,r23 com r0 and r15,r0 mov r24,r7 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r7 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r23 mov r0,r14 com r0 and r17,r0 eor r23,r24 eor r12,r25 eor r7,r16 eor r13,r17 eor r14,r15 eor r12,r23 eor r13,r7 eor r23,r14 com r7 std Z+3,r23 std Z+11,r12 std Z+27,r13 std Z+35,r14 ldd r12,Z+12 ldd r13,Z+28 ldd r14,Z+36 eor r26,r14 eor r8,r12 eor r14,r13 mov r15,r12 mov r0,r26 com r0 and r15,r0 mov r24,r8 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r8 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r26 mov r0,r14 com r0 and r17,r0 eor r26,r24 eor r12,r25 eor r8,r16 eor r13,r17 eor r14,r15 eor r12,r26 eor r13,r8 eor r26,r14 com r8 std Z+4,r26 std Z+12,r12 std Z+28,r13 std Z+36,r14 ldd r12,Z+13 ldd r13,Z+29 ldd r14,Z+37 eor r27,r14 eor r9,r12 eor r14,r13 mov r15,r12 mov r0,r27 com r0 and r15,r0 mov r24,r9 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r9 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r27 mov r0,r14 com r0 and r17,r0 eor r27,r24 eor r12,r25 eor r9,r16 eor r13,r17 eor r14,r15 eor r12,r27 eor r13,r9 eor r27,r14 com r9 std Z+5,r27 std Z+13,r12 std Z+29,r13 std Z+37,r14 ldd r12,Z+14 ldd r13,Z+30 ldd r14,Z+38 eor r2,r14 eor r10,r12 eor r14,r13 mov r15,r12 mov r0,r2 com r0 and r15,r0 mov r24,r10 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r10 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r2 mov r0,r14 com r0 and r17,r0 eor r2,r24 eor r12,r25 eor r10,r16 eor r13,r17 eor r14,r15 eor r12,r2 eor r13,r10 eor r2,r14 com r10 std Z+6,r2 std Z+14,r12 std Z+30,r13 std Z+38,r14 ldd r12,Z+15 ldd r13,Z+31 ldd r14,Z+39 eor r3,r14 eor r11,r12 eor r14,r13 mov r15,r12 mov r0,r3 com r0 and r15,r0 mov r24,r11 mov r0,r12 com r0 and r24,r0 mov r25,r13 mov r0,r11 com r0 and r25,r0 mov r16,r14 mov r0,r13 com r0 and r16,r0 mov r17,r3 mov r0,r14 com r0 and r17,r0 eor r3,r24 eor r12,r25 eor r11,r16 eor r13,r17 eor r14,r15 eor r12,r3 eor r13,r11 eor r3,r14 com r11 std Z+7,r3 std Z+15,r12 std Z+31,r13 std Z+39,r14 ldd r20,Z+8 ldd r21,Z+9 ldd r22,Z+10 ldd r23,Z+11 ldd r26,Z+12 ldd r27,Z+13 ldd r2,Z+14 ldd r3,Z+15 movw r12,r20 movw r14,r22 movw r24,r26 movw r16,r2 lsl r12 rol r13 rol r14 rol r15 adc r12,r1 lsl r24 rol r25 rol r16 rol r17 adc r24,r1 lsl r24 rol r25 rol r16 rol r17 adc r24,r1 eor r24,r20 eor r25,r21 eor r16,r22 eor r17,r23 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r20 mov r20,r22 mov r22,r0 mov r0,r21 mov r21,r23 mov r23,r0 mov r0,r1 lsr r23 ror r22 ror r21 ror r20 ror r0 lsr r23 ror r22 ror r21 ror r20 ror r0 lsr r23 ror r22 ror r21 ror r20 ror r0 or r23,r0 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r20,r24 eor r21,r25 eor r22,r16 eor r23,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+8,r20 std Z+9,r21 std Z+10,r22 std Z+11,r23 std Z+12,r26 std Z+13,r27 std Z+14,r2 std Z+15,r3 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 bst r12,0 lsr r15 ror r14 ror r13 ror r12 bld r15,7 eor r24,r4 eor r25,r5 eor r16,r6 eor r17,r7 eor r12,r8 eor r13,r9 eor r14,r10 eor r15,r11 mov r0,r1 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 or r7,r0 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 or r11,r0 eor r4,r24 eor r5,r25 eor r6,r16 eor r7,r17 eor r8,r12 eor r9,r13 eor r10,r14 eor r11,r15 ldd r20,Z+24 ldd r21,Z+25 ldd r22,Z+26 ldd r23,Z+27 ldd r26,Z+28 ldd r27,Z+29 ldd r2,Z+30 ldd r3,Z+31 movw r12,r20 movw r14,r22 movw r24,r26 movw r16,r2 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,r0 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r24 mov r24,r25 mov r25,r16 mov r16,r17 mov r17,r0 eor r24,r20 eor r25,r21 eor r16,r22 eor r17,r23 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r20 mov r20,r21 mov r21,r22 mov r22,r23 mov r23,r0 lsl r20 rol r21 rol r22 rol r23 adc r20,r1 lsl r20 rol r21 rol r22 rol r23 adc r20,r1 lsl r20 rol r21 rol r22 rol r23 adc r20,r1 mov r0,r26 mov r26,r27 mov r27,r2 mov r2,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r20,r24 eor r21,r25 eor r22,r16 eor r23,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+24,r20 std Z+25,r21 std Z+26,r22 std Z+27,r23 std Z+28,r26 std Z+29,r27 std Z+30,r2 std Z+31,r3 ldd r20,Z+32 ldd r21,Z+33 ldd r22,Z+34 ldd r23,Z+35 ldd r26,Z+36 ldd r27,Z+37 ldd r2,Z+38 ldd r3,Z+39 movw r12,r20 movw r14,r22 movw r24,r26 movw r16,r2 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r1 lsr r17 ror r16 ror r25 ror r24 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r0 or r17,r0 eor r24,r20 eor r25,r21 eor r16,r22 eor r17,r23 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r20 mov r20,r22 mov r22,r0 mov r0,r21 mov r21,r23 mov r23,r0 mov r0,r1 lsr r23 ror r22 ror r21 ror r20 ror r0 lsr r23 ror r22 ror r21 ror r20 ror r0 lsr r23 ror r22 ror r21 ror r20 ror r0 lsr r23 ror r22 ror r21 ror r20 ror r0 or r23,r0 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r20,r24 eor r21,r25 eor r22,r16 eor r23,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 std Z+32,r20 std Z+33,r21 std Z+34,r22 std Z+35,r23 std Z+36,r26 std Z+37,r27 std Z+38,r2 std Z+39,r3 ld r20,Z ldd r21,Z+1 ldd r22,Z+2 ldd r23,Z+3 ldd r26,Z+4 ldd r27,Z+5 ldd r2,Z+6 ldd r3,Z+7 movw r12,r20 movw r14,r22 movw r24,r26 movw r16,r2 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,r0 mov r0,r1 lsr r15 ror r14 ror r13 ror r12 ror r0 lsr r15 ror r14 ror r13 ror r12 ror r0 or r15,r0 mov r0,r24 mov r24,r25 mov r25,r16 mov r16,r17 mov r17,r0 mov r0,r1 lsr r17 ror r16 ror r25 ror r24 ror r0 or r17,r0 eor r24,r20 eor r25,r21 eor r16,r22 eor r17,r23 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 mov r0,r20 mov r20,r22 mov r22,r0 mov r0,r21 mov r21,r23 mov r23,r0 lsl r20 rol r21 rol r22 rol r23 adc r20,r1 lsl r20 rol r21 rol r22 rol r23 adc r20,r1 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r20,r24 eor r21,r25 eor r22,r16 eor r23,r17 eor r26,r12 eor r27,r13 eor r2,r14 eor r3,r15 ldd r12,Z+40 ldd r13,Z+41 ldd r14,Z+42 ldd r15,Z+43 eor r12,r20 eor r13,r21 eor r14,r22 eor r15,r23 eor r12,r8 eor r13,r9 eor r14,r10 eor r15,r11 std Z+40,r12 std Z+41,r13 std Z+42,r14 std Z+43,r15 ldd r12,Z+44 ldd r13,Z+45 ldd r14,Z+46 ldd r15,Z+47 eor r12,r26 eor r13,r27 eor r14,r2 eor r15,r3 ldd r0,Z+24 eor r12,r0 ldd r0,Z+25 eor r13,r0 ldd r0,Z+26 eor r14,r0 ldd r0,Z+27 eor r15,r0 std Z+44,r12 std Z+45,r13 std Z+46,r14 std Z+47,r15 ldd r12,Z+48 ldd r13,Z+49 ldd r14,Z+50 ldd r15,Z+51 ldd r0,Z+8 eor r12,r0 ldd r0,Z+9 eor r13,r0 ldd r0,Z+10 eor r14,r0 ldd r0,Z+11 eor r15,r0 ldd r0,Z+28 eor r12,r0 ldd r0,Z+29 eor r13,r0 ldd r0,Z+30 eor r14,r0 ldd r0,Z+31 eor r15,r0 std Z+48,r12 std Z+49,r13 std Z+50,r14 std Z+51,r15 ldd r12,Z+52 ldd r13,Z+53 ldd r14,Z+54 ldd r15,Z+55 ldd r0,Z+12 eor r12,r0 ldd r0,Z+13 eor r13,r0 ldd r0,Z+14 eor r14,r0 ldd r0,Z+15 eor r15,r0 eor r12,r4 eor r13,r5 eor r14,r6 eor r15,r7 std Z+52,r12 std Z+53,r13 std Z+54,r14 std Z+55,r15 subi r18,15 dec r19 breq 5904f rjmp 38b 5904: st Z,r20 std Z+1,r21 std Z+2,r22 std Z+3,r23 std Z+4,r26 std Z+5,r27 std Z+6,r2 std Z+7,r3 std Z+16,r4 std Z+17,r5 std Z+18,r6 std Z+19,r7 std Z+20,r8 std Z+21,r9 std Z+22,r10 std Z+23,r11 pop r17 pop r16 pop r15 pop r14 pop r13 pop r12 pop r11 pop r10 pop r9 pop r8 pop r7 pop r6 pop r5 pop r4 pop r3 pop r2 ret .size drysponge128_g, .-drysponge128_g .text .global gascon256_core_round .type gascon256_core_round, @function gascon256_core_round: push r28 push r29 push r2 push r3 push r4 push r5 push r6 push r7 push r8 push r9 push r10 push r11 push r12 push r13 push r14 push r15 push r16 push r17 movw r30,r24 in r28,0x3d in r29,0x3e sbiw r28,8 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 26 ldi r18,15 sub r18,r22 swap r18 or r22,r18 ld r18,Z+ ld r19,Z+ ld r20,Z+ ld r21,Z+ ld r26,Z+ ld r27,Z+ ld r2,Z+ ld r3,Z+ ldd r4,Z+24 ldd r5,Z+25 ldd r6,Z+26 ldd r7,Z+27 ldd r8,Z+28 ldd r9,Z+29 ldd r10,Z+30 ldd r11,Z+31 eor r4,r22 ld r22,Z ldd r23,Z+8 ldd r12,Z+16 ldd r13,Z+32 ldd r14,Z+40 ldd r15,Z+48 ldd r24,Z+56 eor r18,r24 eor r23,r22 eor r4,r12 eor r14,r13 eor r24,r15 mov r17,r18 mov r25,r22 mov r0,r18 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r18,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r4 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r4 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r4,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r18 eor r12,r23 eor r13,r4 eor r15,r14 eor r18,r24 com r4 std Y+1,r18 st Z,r22 std Z+8,r23 std Z+16,r12 std Z+32,r13 std Z+40,r14 std Z+48,r15 std Z+56,r24 ldd r22,Z+1 ldd r23,Z+9 ldd r12,Z+17 ldd r13,Z+33 ldd r14,Z+41 ldd r15,Z+49 ldd r24,Z+57 eor r19,r24 eor r23,r22 eor r5,r12 eor r14,r13 eor r24,r15 mov r17,r19 mov r25,r22 mov r0,r19 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r19,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r5 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r5 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r5,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r19 eor r12,r23 eor r13,r5 eor r15,r14 eor r19,r24 com r5 std Y+2,r19 std Z+1,r22 std Z+9,r23 std Z+17,r12 std Z+33,r13 std Z+41,r14 std Z+49,r15 std Z+57,r24 ldd r22,Z+2 ldd r23,Z+10 ldd r12,Z+18 ldd r13,Z+34 ldd r14,Z+42 ldd r15,Z+50 ldd r24,Z+58 eor r20,r24 eor r23,r22 eor r6,r12 eor r14,r13 eor r24,r15 mov r17,r20 mov r25,r22 mov r0,r20 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r20,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r6 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r6 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r6,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r20 eor r12,r23 eor r13,r6 eor r15,r14 eor r20,r24 com r6 std Y+3,r20 std Z+2,r22 std Z+10,r23 std Z+18,r12 std Z+34,r13 std Z+42,r14 std Z+50,r15 std Z+58,r24 ldd r22,Z+3 ldd r23,Z+11 ldd r12,Z+19 ldd r13,Z+35 ldd r14,Z+43 ldd r15,Z+51 ldd r24,Z+59 eor r21,r24 eor r23,r22 eor r7,r12 eor r14,r13 eor r24,r15 mov r17,r21 mov r25,r22 mov r0,r21 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r21,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r7 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r7 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r7,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r21 eor r12,r23 eor r13,r7 eor r15,r14 eor r21,r24 com r7 std Y+4,r21 std Z+3,r22 std Z+11,r23 std Z+19,r12 std Z+35,r13 std Z+43,r14 std Z+51,r15 std Z+59,r24 ldd r22,Z+4 ldd r23,Z+12 ldd r12,Z+20 ldd r13,Z+36 ldd r14,Z+44 ldd r15,Z+52 ldd r24,Z+60 eor r26,r24 eor r23,r22 eor r8,r12 eor r14,r13 eor r24,r15 mov r17,r26 mov r25,r22 mov r0,r26 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r26,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r8 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r8 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r8,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r26 eor r12,r23 eor r13,r8 eor r15,r14 eor r26,r24 com r8 std Y+5,r26 std Z+4,r22 std Z+12,r23 std Z+20,r12 std Z+36,r13 std Z+44,r14 std Z+52,r15 std Z+60,r24 ldd r22,Z+5 ldd r23,Z+13 ldd r12,Z+21 ldd r13,Z+37 ldd r14,Z+45 ldd r15,Z+53 ldd r24,Z+61 eor r27,r24 eor r23,r22 eor r9,r12 eor r14,r13 eor r24,r15 mov r17,r27 mov r25,r22 mov r0,r27 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r27,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r9 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r9 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r9,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r27 eor r12,r23 eor r13,r9 eor r15,r14 eor r27,r24 com r9 std Y+6,r27 std Z+5,r22 std Z+13,r23 std Z+21,r12 std Z+37,r13 std Z+45,r14 std Z+53,r15 std Z+61,r24 ldd r22,Z+6 ldd r23,Z+14 ldd r12,Z+22 ldd r13,Z+38 ldd r14,Z+46 ldd r15,Z+54 ldd r24,Z+62 eor r2,r24 eor r23,r22 eor r10,r12 eor r14,r13 eor r24,r15 mov r17,r2 mov r25,r22 mov r0,r2 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r2,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r10 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r10 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r10,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r2 eor r12,r23 eor r13,r10 eor r15,r14 eor r2,r24 com r10 std Y+7,r2 std Z+6,r22 std Z+14,r23 std Z+22,r12 std Z+38,r13 std Z+46,r14 std Z+54,r15 std Z+62,r24 ldd r22,Z+7 ldd r23,Z+15 ldd r12,Z+23 ldd r13,Z+39 ldd r14,Z+47 ldd r15,Z+55 ldd r24,Z+63 eor r3,r24 eor r23,r22 eor r11,r12 eor r14,r13 eor r24,r15 mov r17,r3 mov r25,r22 mov r0,r3 com r0 and r25,r0 mov r16,r23 mov r0,r22 com r0 and r16,r0 eor r3,r16 mov r16,r12 mov r0,r23 com r0 and r16,r0 eor r22,r16 mov r16,r11 mov r0,r12 com r0 and r16,r0 eor r23,r16 mov r16,r13 mov r0,r11 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r11,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r22,r3 eor r12,r23 eor r13,r11 eor r15,r14 eor r3,r24 com r11 std Y+8,r3 std Z+7,r22 std Z+15,r23 std Z+23,r12 std Z+39,r13 std Z+47,r14 std Z+55,r15 std Z+63,r24 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 ldd r26,Z+4 ldd r27,Z+5 ldd r2,Z+6 ldd r3,Z+7 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 st Z,r18 std Z+1,r19 std Z+2,r20 std Z+3,r21 std Z+4,r26 std Z+5,r27 std Z+6,r2 std Z+7,r3 ldd r18,Z+8 ldd r19,Z+9 ldd r20,Z+10 ldd r21,Z+11 ldd r26,Z+12 ldd r27,Z+13 ldd r2,Z+14 ldd r3,Z+15 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 bst r22,0 lsr r13 ror r12 ror r23 ror r22 bld r13,7 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+8,r18 std Z+9,r19 std Z+10,r20 std Z+11,r21 std Z+12,r26 std Z+13,r27 std Z+14,r2 std Z+15,r3 ldd r18,Z+16 ldd r19,Z+17 ldd r20,Z+18 ldd r21,Z+19 ldd r26,Z+20 ldd r27,Z+21 ldd r2,Z+22 ldd r3,Z+23 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r22 mov r22,r23 mov r23,r12 mov r12,r13 mov r13,r0 mov r0,r1 lsr r13 ror r12 ror r23 ror r22 ror r0 or r13,r0 mov r0,r14 mov r14,r15 mov r15,r24 mov r24,r25 mov r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r18 mov r18,r19 mov r19,r20 mov r20,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r26 mov r26,r27 mov r27,r2 mov r2,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+16,r18 std Z+17,r19 std Z+18,r20 std Z+19,r21 std Z+20,r26 std Z+21,r27 std Z+22,r2 std Z+23,r3 movw r22,r4 movw r12,r6 movw r14,r8 movw r24,r10 mov r0,r1 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 or r13,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r4 eor r15,r5 eor r24,r6 eor r25,r7 eor r22,r8 eor r23,r9 eor r12,r10 eor r13,r11 mov r0,r4 mov r4,r6 mov r6,r0 mov r0,r5 mov r5,r7 mov r7,r0 mov r0,r1 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 lsr r7 ror r6 ror r5 ror r4 ror r0 or r7,r0 mov r0,r8 mov r8,r10 mov r10,r0 mov r0,r9 mov r9,r11 mov r11,r0 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r0 or r11,r0 eor r4,r14 eor r5,r15 eor r6,r24 eor r7,r25 eor r8,r22 eor r9,r23 eor r10,r12 eor r11,r13 ldd r18,Z+32 ldd r19,Z+33 ldd r20,Z+34 ldd r21,Z+35 ldd r26,Z+36 ldd r27,Z+37 ldd r2,Z+38 ldd r3,Z+39 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r22 mov r22,r12 mov r12,r0 mov r0,r23 mov r23,r13 mov r13,r0 mov r0,r14 mov r14,r24 mov r24,r0 mov r0,r15 mov r15,r25 mov r25,r0 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+32,r18 std Z+33,r19 std Z+34,r20 std Z+35,r21 std Z+36,r26 std Z+37,r27 std Z+38,r2 std Z+39,r3 ldd r18,Z+40 ldd r19,Z+41 ldd r20,Z+42 ldd r21,Z+43 ldd r26,Z+44 ldd r27,Z+45 ldd r2,Z+46 ldd r3,Z+47 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r13 mov r13,r12 mov r12,r23 mov r23,r22 mov r22,r0 mov r0,r1 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 or r13,r0 mov r0,r25 mov r25,r24 mov r24,r15 mov r15,r14 mov r14,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+40,r18 std Z+41,r19 std Z+42,r20 std Z+43,r21 std Z+44,r26 std Z+45,r27 std Z+46,r2 std Z+47,r3 ldd r18,Z+48 ldd r19,Z+49 ldd r20,Z+50 ldd r21,Z+51 ldd r26,Z+52 ldd r27,Z+53 ldd r2,Z+54 ldd r3,Z+55 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r22 mov r22,r23 mov r23,r12 mov r12,r13 mov r13,r0 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r3 mov r3,r2 mov r2,r27 mov r27,r26 mov r26,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+48,r18 std Z+49,r19 std Z+50,r20 std Z+51,r21 std Z+52,r26 std Z+53,r27 std Z+54,r2 std Z+55,r3 ldd r18,Z+56 ldd r19,Z+57 ldd r20,Z+58 ldd r21,Z+59 ldd r26,Z+60 ldd r27,Z+61 ldd r2,Z+62 ldd r3,Z+63 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r13 mov r13,r12 mov r12,r23 mov r23,r22 mov r22,r0 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 lsl r22 rol r23 rol r12 rol r13 adc r22,r1 mov r0,r25 mov r25,r24 mov r24,r15 mov r15,r14 mov r14,r0 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r3 mov r3,r2 mov r2,r27 mov r27,r26 mov r26,r0 mov r0,r1 lsr r3 ror r2 ror r27 ror r26 ror r0 or r3,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+56,r18 std Z+57,r19 std Z+58,r20 std Z+59,r21 std Z+60,r26 std Z+61,r27 std Z+62,r2 std Z+63,r3 ldd r18,Y+1 ldd r19,Y+2 ldd r20,Y+3 ldd r21,Y+4 ldd r26,Y+5 ldd r27,Y+6 ldd r2,Y+7 ldd r3,Y+8 movw r22,r18 movw r12,r20 movw r14,r26 movw r24,r2 mov r0,r22 mov r22,r23 mov r23,r12 mov r12,r13 mov r13,r0 mov r0,r1 lsr r13 ror r12 ror r23 ror r22 ror r0 lsr r13 ror r12 ror r23 ror r22 ror r0 or r13,r0 mov r0,r14 mov r14,r15 mov r15,r24 mov r24,r25 mov r25,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r22,r26 eor r23,r27 eor r12,r2 eor r13,r3 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r26 mov r26,r2 mov r2,r0 mov r0,r27 mov r27,r3 mov r3,r0 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 lsl r26 rol r27 rol r2 rol r3 adc r26,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r26,r22 eor r27,r23 eor r2,r12 eor r3,r13 std Z+24,r4 std Z+25,r5 std Z+26,r6 std Z+27,r7 std Z+28,r8 std Z+29,r9 std Z+30,r10 std Z+31,r11 st -Z,r3 st -Z,r2 st -Z,r27 st -Z,r26 st -Z,r21 st -Z,r20 st -Z,r19 st -Z,r18 adiw r28,8 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 pop r17 pop r16 pop r15 pop r14 pop r13 pop r12 pop r11 pop r10 pop r9 pop r8 pop r7 pop r6 pop r5 pop r4 pop r3 pop r2 pop r29 pop r28 ret .size gascon256_core_round, .-gascon256_core_round .text .global drysponge256_g .type drysponge256_g, @function drysponge256_g: push r28 push r29 push r2 push r3 push r4 push r5 push r6 push r7 push r8 push r9 push r10 push r11 push r12 push r13 push r14 push r15 push r16 push r17 movw r30,r24 in r28,0x3d in r29,0x3e sbiw r28,26 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 44 subi r30,148 sbci r31,255 ld r19,Z subi r30,108 sbc r31,r1 ldi r18,240 std Y+25,r19 std Y+26,r18 std Y+9,r1 std Y+10,r1 std Y+11,r1 std Y+12,r1 std Y+13,r1 std Y+14,r1 std Y+15,r1 std Y+16,r1 std Y+17,r1 std Y+18,r1 std Y+19,r1 std Y+20,r1 std Y+21,r1 std Y+22,r1 std Y+23,r1 std Y+24,r1 ld r18,Z+ ld r19,Z+ ld r20,Z+ ld r21,Z+ ld r22,Z+ ld r23,Z+ ld r26,Z+ ld r27,Z+ ldd r2,Z+24 ldd r3,Z+25 ldd r4,Z+26 ldd r5,Z+27 ldd r6,Z+28 ldd r7,Z+29 ldd r8,Z+30 ldd r9,Z+31 40: ldd r24,Y+26 eor r2,r24 subi r24,15 std Y+26,r24 ld r10,Z ldd r11,Z+8 ldd r12,Z+16 ldd r13,Z+32 ldd r14,Z+40 ldd r15,Z+48 ldd r24,Z+56 eor r18,r24 eor r11,r10 eor r2,r12 eor r14,r13 eor r24,r15 mov r17,r18 mov r25,r10 mov r0,r18 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r18,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r2 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r2 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r2,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r18 eor r12,r11 eor r13,r2 eor r15,r14 eor r18,r24 com r2 std Y+1,r18 st Z,r10 std Z+8,r11 std Z+16,r12 std Z+32,r13 std Z+40,r14 std Z+48,r15 std Z+56,r24 ldd r10,Z+1 ldd r11,Z+9 ldd r12,Z+17 ldd r13,Z+33 ldd r14,Z+41 ldd r15,Z+49 ldd r24,Z+57 eor r19,r24 eor r11,r10 eor r3,r12 eor r14,r13 eor r24,r15 mov r17,r19 mov r25,r10 mov r0,r19 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r19,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r3 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r3 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r3,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r19 eor r12,r11 eor r13,r3 eor r15,r14 eor r19,r24 com r3 std Y+2,r19 std Z+1,r10 std Z+9,r11 std Z+17,r12 std Z+33,r13 std Z+41,r14 std Z+49,r15 std Z+57,r24 ldd r10,Z+2 ldd r11,Z+10 ldd r12,Z+18 ldd r13,Z+34 ldd r14,Z+42 ldd r15,Z+50 ldd r24,Z+58 eor r20,r24 eor r11,r10 eor r4,r12 eor r14,r13 eor r24,r15 mov r17,r20 mov r25,r10 mov r0,r20 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r20,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r4 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r4 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r4,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r20 eor r12,r11 eor r13,r4 eor r15,r14 eor r20,r24 com r4 std Y+3,r20 std Z+2,r10 std Z+10,r11 std Z+18,r12 std Z+34,r13 std Z+42,r14 std Z+50,r15 std Z+58,r24 ldd r10,Z+3 ldd r11,Z+11 ldd r12,Z+19 ldd r13,Z+35 ldd r14,Z+43 ldd r15,Z+51 ldd r24,Z+59 eor r21,r24 eor r11,r10 eor r5,r12 eor r14,r13 eor r24,r15 mov r17,r21 mov r25,r10 mov r0,r21 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r21,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r5 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r5 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r5,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r21 eor r12,r11 eor r13,r5 eor r15,r14 eor r21,r24 com r5 std Y+4,r21 std Z+3,r10 std Z+11,r11 std Z+19,r12 std Z+35,r13 std Z+43,r14 std Z+51,r15 std Z+59,r24 ldd r10,Z+4 ldd r11,Z+12 ldd r12,Z+20 ldd r13,Z+36 ldd r14,Z+44 ldd r15,Z+52 ldd r24,Z+60 eor r22,r24 eor r11,r10 eor r6,r12 eor r14,r13 eor r24,r15 mov r17,r22 mov r25,r10 mov r0,r22 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r22,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r6 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r6 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r6,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r22 eor r12,r11 eor r13,r6 eor r15,r14 eor r22,r24 com r6 std Y+5,r22 std Z+4,r10 std Z+12,r11 std Z+20,r12 std Z+36,r13 std Z+44,r14 std Z+52,r15 std Z+60,r24 ldd r10,Z+5 ldd r11,Z+13 ldd r12,Z+21 ldd r13,Z+37 ldd r14,Z+45 ldd r15,Z+53 ldd r24,Z+61 eor r23,r24 eor r11,r10 eor r7,r12 eor r14,r13 eor r24,r15 mov r17,r23 mov r25,r10 mov r0,r23 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r23,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r7 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r7 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r7,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r23 eor r12,r11 eor r13,r7 eor r15,r14 eor r23,r24 com r7 std Y+6,r23 std Z+5,r10 std Z+13,r11 std Z+21,r12 std Z+37,r13 std Z+45,r14 std Z+53,r15 std Z+61,r24 ldd r10,Z+6 ldd r11,Z+14 ldd r12,Z+22 ldd r13,Z+38 ldd r14,Z+46 ldd r15,Z+54 ldd r24,Z+62 eor r26,r24 eor r11,r10 eor r8,r12 eor r14,r13 eor r24,r15 mov r17,r26 mov r25,r10 mov r0,r26 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r26,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r8 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r8 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r8,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r26 eor r12,r11 eor r13,r8 eor r15,r14 eor r26,r24 com r8 std Y+7,r26 std Z+6,r10 std Z+14,r11 std Z+22,r12 std Z+38,r13 std Z+46,r14 std Z+54,r15 std Z+62,r24 ldd r10,Z+7 ldd r11,Z+15 ldd r12,Z+23 ldd r13,Z+39 ldd r14,Z+47 ldd r15,Z+55 ldd r24,Z+63 eor r27,r24 eor r11,r10 eor r9,r12 eor r14,r13 eor r24,r15 mov r17,r27 mov r25,r10 mov r0,r27 com r0 and r25,r0 mov r16,r11 mov r0,r10 com r0 and r16,r0 eor r27,r16 mov r16,r12 mov r0,r11 com r0 and r16,r0 eor r10,r16 mov r16,r9 mov r0,r12 com r0 and r16,r0 eor r11,r16 mov r16,r13 mov r0,r9 com r0 and r16,r0 eor r12,r16 mov r16,r14 mov r0,r13 com r0 and r16,r0 eor r9,r16 mov r16,r15 mov r0,r14 com r0 and r16,r0 eor r13,r16 mov r16,r24 mov r0,r15 com r0 and r16,r0 eor r14,r16 mov r0,r24 com r0 and r17,r0 eor r15,r17 eor r24,r25 eor r10,r27 eor r12,r11 eor r13,r9 eor r15,r14 eor r27,r24 com r9 std Y+8,r27 std Z+7,r10 std Z+15,r11 std Z+23,r12 std Z+39,r13 std Z+47,r14 std Z+55,r15 std Z+63,r24 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 ldd r22,Z+4 ldd r23,Z+5 ldd r26,Z+6 ldd r27,Z+7 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r22 mov r22,r26 mov r26,r0 mov r0,r23 mov r23,r27 mov r27,r0 mov r0,r1 lsr r27 ror r26 ror r23 ror r22 ror r0 lsr r27 ror r26 ror r23 ror r22 ror r0 lsr r27 ror r26 ror r23 ror r22 ror r0 or r27,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 st Z,r18 std Z+1,r19 std Z+2,r20 std Z+3,r21 std Z+4,r22 std Z+5,r23 std Z+6,r26 std Z+7,r27 ldd r18,Z+8 ldd r19,Z+9 ldd r20,Z+10 ldd r21,Z+11 ldd r22,Z+12 ldd r23,Z+13 ldd r26,Z+14 ldd r27,Z+15 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 bst r10,0 lsr r13 ror r12 ror r11 ror r10 bld r13,7 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r1 lsr r27 ror r26 ror r23 ror r22 ror r0 lsr r27 ror r26 ror r23 ror r22 ror r0 lsr r27 ror r26 ror r23 ror r22 ror r0 or r27,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+8,r18 std Z+9,r19 std Z+10,r20 std Z+11,r21 std Z+12,r22 std Z+13,r23 std Z+14,r26 std Z+15,r27 ldd r18,Z+16 ldd r19,Z+17 ldd r20,Z+18 ldd r21,Z+19 ldd r22,Z+20 ldd r23,Z+21 ldd r26,Z+22 ldd r27,Z+23 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r10 mov r10,r11 mov r11,r12 mov r12,r13 mov r13,r0 mov r0,r1 lsr r13 ror r12 ror r11 ror r10 ror r0 or r13,r0 mov r0,r14 mov r14,r15 mov r15,r24 mov r24,r25 mov r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r18 mov r18,r19 mov r19,r20 mov r20,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r22 mov r22,r23 mov r23,r26 mov r26,r27 mov r27,r0 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+16,r18 std Z+17,r19 std Z+18,r20 std Z+19,r21 std Z+20,r22 std Z+21,r23 std Z+22,r26 std Z+23,r27 movw r10,r2 movw r12,r4 movw r14,r6 movw r24,r8 mov r0,r1 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 or r13,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r2 eor r15,r3 eor r24,r4 eor r25,r5 eor r10,r6 eor r11,r7 eor r12,r8 eor r13,r9 mov r0,r2 mov r2,r4 mov r4,r0 mov r0,r3 mov r3,r5 mov r5,r0 mov r0,r1 lsr r5 ror r4 ror r3 ror r2 ror r0 lsr r5 ror r4 ror r3 ror r2 ror r0 lsr r5 ror r4 ror r3 ror r2 ror r0 lsr r5 ror r4 ror r3 ror r2 ror r0 or r5,r0 mov r0,r6 mov r6,r8 mov r8,r0 mov r0,r7 mov r7,r9 mov r9,r0 mov r0,r1 lsr r9 ror r8 ror r7 ror r6 ror r0 lsr r9 ror r8 ror r7 ror r6 ror r0 lsr r9 ror r8 ror r7 ror r6 ror r0 lsr r9 ror r8 ror r7 ror r6 ror r0 or r9,r0 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 eor r6,r10 eor r7,r11 eor r8,r12 eor r9,r13 ldd r18,Z+32 ldd r19,Z+33 ldd r20,Z+34 ldd r21,Z+35 ldd r22,Z+36 ldd r23,Z+37 ldd r26,Z+38 ldd r27,Z+39 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r10 mov r10,r12 mov r12,r0 mov r0,r11 mov r11,r13 mov r13,r0 mov r0,r14 mov r14,r24 mov r24,r0 mov r0,r15 mov r15,r25 mov r25,r0 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r22 mov r22,r26 mov r26,r0 mov r0,r23 mov r23,r27 mov r27,r0 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+32,r18 std Z+33,r19 std Z+34,r20 std Z+35,r21 std Z+36,r22 std Z+37,r23 std Z+38,r26 std Z+39,r27 ldd r18,Z+40 ldd r19,Z+41 ldd r20,Z+42 ldd r21,Z+43 ldd r22,Z+44 ldd r23,Z+45 ldd r26,Z+46 ldd r27,Z+47 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r13 mov r13,r12 mov r12,r11 mov r11,r10 mov r10,r0 mov r0,r1 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 or r13,r0 mov r0,r25 mov r25,r24 mov r24,r15 mov r15,r14 mov r14,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+40,r18 std Z+41,r19 std Z+42,r20 std Z+43,r21 std Z+44,r22 std Z+45,r23 std Z+46,r26 std Z+47,r27 ldd r18,Z+48 ldd r19,Z+49 ldd r20,Z+50 ldd r21,Z+51 ldd r22,Z+52 ldd r23,Z+53 ldd r26,Z+54 ldd r27,Z+55 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r10 mov r10,r11 mov r11,r12 mov r12,r13 mov r13,r0 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r27 mov r27,r26 mov r26,r23 mov r23,r22 mov r22,r0 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+48,r18 std Z+49,r19 std Z+50,r20 std Z+51,r21 std Z+52,r22 std Z+53,r23 std Z+54,r26 std Z+55,r27 ldd r18,Z+56 ldd r19,Z+57 ldd r20,Z+58 ldd r21,Z+59 ldd r22,Z+60 ldd r23,Z+61 ldd r26,Z+62 ldd r27,Z+63 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r13 mov r13,r12 mov r12,r11 mov r11,r10 mov r10,r0 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 mov r0,r25 mov r25,r24 mov r24,r15 mov r15,r14 mov r14,r0 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 lsl r14 rol r15 rol r24 rol r25 adc r14,r1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 mov r0,r1 lsr r21 ror r20 ror r19 ror r18 ror r0 or r21,r0 mov r0,r27 mov r27,r26 mov r26,r23 mov r23,r22 mov r22,r0 mov r0,r1 lsr r27 ror r26 ror r23 ror r22 ror r0 or r27,r0 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 std Z+56,r18 std Z+57,r19 std Z+58,r20 std Z+59,r21 std Z+60,r22 std Z+61,r23 std Z+62,r26 std Z+63,r27 ldd r18,Y+1 ldd r19,Y+2 ldd r20,Y+3 ldd r21,Y+4 ldd r22,Y+5 ldd r23,Y+6 ldd r26,Y+7 ldd r27,Y+8 movw r10,r18 movw r12,r20 movw r14,r22 movw r24,r26 mov r0,r10 mov r10,r11 mov r11,r12 mov r12,r13 mov r13,r0 mov r0,r1 lsr r13 ror r12 ror r11 ror r10 ror r0 lsr r13 ror r12 ror r11 ror r10 ror r0 or r13,r0 mov r0,r14 mov r14,r15 mov r15,r24 mov r24,r25 mov r25,r0 mov r0,r1 lsr r25 ror r24 ror r15 ror r14 ror r0 or r25,r0 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 mov r0,r18 mov r18,r20 mov r20,r0 mov r0,r19 mov r19,r21 mov r21,r0 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 adc r18,r1 mov r0,r22 mov r22,r26 mov r26,r0 mov r0,r23 mov r23,r27 mov r27,r0 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 lsl r22 rol r23 rol r26 rol r27 adc r22,r1 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 eor r22,r10 eor r23,r11 eor r26,r12 eor r27,r13 ldd r10,Y+9 ldd r11,Y+10 ldd r12,Y+11 ldd r13,Y+12 eor r10,r18 eor r11,r19 eor r12,r20 eor r13,r21 ldd r0,Z+12 eor r10,r0 ldd r0,Z+13 eor r11,r0 ldd r0,Z+14 eor r12,r0 ldd r0,Z+15 eor r13,r0 ldd r0,Z+32 eor r10,r0 ldd r0,Z+33 eor r11,r0 ldd r0,Z+34 eor r12,r0 ldd r0,Z+35 eor r13,r0 ldd r0,Z+52 eor r10,r0 ldd r0,Z+53 eor r11,r0 ldd r0,Z+54 eor r12,r0 ldd r0,Z+55 eor r13,r0 std Y+9,r10 std Y+10,r11 std Y+11,r12 std Y+12,r13 ldd r10,Y+13 ldd r11,Y+14 ldd r12,Y+15 ldd r13,Y+16 eor r10,r22 eor r11,r23 eor r12,r26 eor r13,r27 ldd r0,Z+16 eor r10,r0 ldd r0,Z+17 eor r11,r0 ldd r0,Z+18 eor r12,r0 ldd r0,Z+19 eor r13,r0 ldd r0,Z+36 eor r10,r0 ldd r0,Z+37 eor r11,r0 ldd r0,Z+38 eor r12,r0 ldd r0,Z+39 eor r13,r0 ldd r0,Z+40 eor r10,r0 ldd r0,Z+41 eor r11,r0 ldd r0,Z+42 eor r12,r0 ldd r0,Z+43 eor r13,r0 std Y+13,r10 std Y+14,r11 std Y+15,r12 std Y+16,r13 ldd r10,Y+17 ldd r11,Y+18 ldd r12,Y+19 ldd r13,Y+20 eor r10,r2 eor r11,r3 eor r12,r4 eor r13,r5 ld r0,Z eor r10,r0 ldd r0,Z+1 eor r11,r0 ldd r0,Z+2 eor r12,r0 ldd r0,Z+3 eor r13,r0 ldd r0,Z+20 eor r10,r0 ldd r0,Z+21 eor r11,r0 ldd r0,Z+22 eor r12,r0 ldd r0,Z+23 eor r13,r0 ldd r0,Z+44 eor r10,r0 ldd r0,Z+45 eor r11,r0 ldd r0,Z+46 eor r12,r0 ldd r0,Z+47 eor r13,r0 std Y+17,r10 std Y+18,r11 std Y+19,r12 std Y+20,r13 ldd r10,Y+21 ldd r11,Y+22 ldd r12,Y+23 ldd r13,Y+24 eor r10,r6 eor r11,r7 eor r12,r8 eor r13,r9 ldd r0,Z+4 eor r10,r0 ldd r0,Z+5 eor r11,r0 ldd r0,Z+6 eor r12,r0 ldd r0,Z+7 eor r13,r0 ldd r0,Z+8 eor r10,r0 ldd r0,Z+9 eor r11,r0 ldd r0,Z+10 eor r12,r0 ldd r0,Z+11 eor r13,r0 ldd r0,Z+48 eor r10,r0 ldd r0,Z+49 eor r11,r0 ldd r0,Z+50 eor r12,r0 ldd r0,Z+51 eor r13,r0 std Y+21,r10 std Y+22,r11 std Y+23,r12 std Y+24,r13 ldd r10,Y+25 dec r10 std Y+25,r10 breq 6623f rjmp 40b 6623: std Z+24,r2 std Z+25,r3 std Z+26,r4 std Z+27,r5 std Z+28,r6 std Z+29,r7 std Z+30,r8 std Z+31,r9 st -Z,r27 st -Z,r26 st -Z,r23 st -Z,r22 st -Z,r21 st -Z,r20 st -Z,r19 st -Z,r18 ldi r25,72 add r30,r25 adc r31,r1 ldd r18,Y+9 ldd r19,Y+10 ldd r20,Y+11 ldd r21,Y+12 ldd r22,Y+13 ldd r23,Y+14 ldd r26,Y+15 ldd r27,Y+16 ldd r2,Y+17 ldd r3,Y+18 ldd r4,Y+19 ldd r5,Y+20 ldd r6,Y+21 ldd r7,Y+22 ldd r8,Y+23 ldd r9,Y+24 st Z,r18 std Z+1,r19 std Z+2,r20 std Z+3,r21 std Z+4,r22 std Z+5,r23 std Z+6,r26 std Z+7,r27 std Z+8,r2 std Z+9,r3 std Z+10,r4 std Z+11,r5 std Z+12,r6 std Z+13,r7 std Z+14,r8 std Z+15,r9 adiw r28,26 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 pop r17 pop r16 pop r15 pop r14 pop r13 pop r12 pop r11 pop r10 pop r9 pop r8 pop r7 pop r6 pop r5 pop r4 pop r3 pop r2 pop r29 pop r28 ret .size drysponge256_g, .-drysponge256_g #endif