#if defined(__AVR__) #include /* Automatically generated - do not edit */ .text .global ascon_permute .type ascon_permute, @function ascon_permute: 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 ldd r3,Z+16 ldd r2,Z+17 ldd r27,Z+18 ldd r26,Z+19 ldd r21,Z+20 ldd r20,Z+21 ldd r19,Z+22 ldd r18,Z+23 ldd r11,Z+32 ldd r10,Z+33 ldd r9,Z+34 ldd r8,Z+35 ldd r7,Z+36 ldd r6,Z+37 ldd r5,Z+38 ldd r4,Z+39 20: eor r18,r22 ldd r23,Z+7 ldd r12,Z+15 ldd r13,Z+31 eor r23,r4 eor r4,r13 eor r18,r12 mov r14,r23 mov r15,r12 mov r24,r18 mov r25,r13 mov r16,r4 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r18 and r24,r13 and r25,r4 and r16,r23 eor r23,r15 eor r12,r24 eor r18,r25 eor r13,r16 eor r4,r14 eor r12,r23 eor r23,r4 eor r13,r18 com r18 std Z+7,r23 std Z+15,r12 std Z+31,r13 std Z+39,r4 ldd r23,Z+6 ldd r12,Z+14 ldd r13,Z+30 eor r23,r5 eor r5,r13 eor r19,r12 mov r14,r23 mov r15,r12 mov r24,r19 mov r25,r13 mov r16,r5 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r19 and r24,r13 and r25,r5 and r16,r23 eor r23,r15 eor r12,r24 eor r19,r25 eor r13,r16 eor r5,r14 eor r12,r23 eor r23,r5 eor r13,r19 com r19 std Z+6,r23 std Z+14,r12 std Z+30,r13 std Z+38,r5 ldd r23,Z+5 ldd r12,Z+13 ldd r13,Z+29 eor r23,r6 eor r6,r13 eor r20,r12 mov r14,r23 mov r15,r12 mov r24,r20 mov r25,r13 mov r16,r6 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r20 and r24,r13 and r25,r6 and r16,r23 eor r23,r15 eor r12,r24 eor r20,r25 eor r13,r16 eor r6,r14 eor r12,r23 eor r23,r6 eor r13,r20 com r20 std Z+5,r23 std Z+13,r12 std Z+29,r13 std Z+37,r6 ldd r23,Z+4 ldd r12,Z+12 ldd r13,Z+28 eor r23,r7 eor r7,r13 eor r21,r12 mov r14,r23 mov r15,r12 mov r24,r21 mov r25,r13 mov r16,r7 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r21 and r24,r13 and r25,r7 and r16,r23 eor r23,r15 eor r12,r24 eor r21,r25 eor r13,r16 eor r7,r14 eor r12,r23 eor r23,r7 eor r13,r21 com r21 std Z+4,r23 std Z+12,r12 std Z+28,r13 std Z+36,r7 ldd r23,Z+3 ldd r12,Z+11 ldd r13,Z+27 eor r23,r8 eor r8,r13 eor r26,r12 mov r14,r23 mov r15,r12 mov r24,r26 mov r25,r13 mov r16,r8 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r26 and r24,r13 and r25,r8 and r16,r23 eor r23,r15 eor r12,r24 eor r26,r25 eor r13,r16 eor r8,r14 eor r12,r23 eor r23,r8 eor r13,r26 com r26 std Z+3,r23 std Z+11,r12 std Z+27,r13 std Z+35,r8 ldd r23,Z+2 ldd r12,Z+10 ldd r13,Z+26 eor r23,r9 eor r9,r13 eor r27,r12 mov r14,r23 mov r15,r12 mov r24,r27 mov r25,r13 mov r16,r9 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r27 and r24,r13 and r25,r9 and r16,r23 eor r23,r15 eor r12,r24 eor r27,r25 eor r13,r16 eor r9,r14 eor r12,r23 eor r23,r9 eor r13,r27 com r27 std Z+2,r23 std Z+10,r12 std Z+26,r13 std Z+34,r9 ldd r23,Z+1 ldd r12,Z+9 ldd r13,Z+25 eor r23,r10 eor r10,r13 eor r2,r12 mov r14,r23 mov r15,r12 mov r24,r2 mov r25,r13 mov r16,r10 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r2 and r24,r13 and r25,r10 and r16,r23 eor r23,r15 eor r12,r24 eor r2,r25 eor r13,r16 eor r10,r14 eor r12,r23 eor r23,r10 eor r13,r2 com r2 std Z+1,r23 std Z+9,r12 std Z+25,r13 std Z+33,r10 ld r23,Z ldd r12,Z+8 ldd r13,Z+24 eor r23,r11 eor r11,r13 eor r3,r12 mov r14,r23 mov r15,r12 mov r24,r3 mov r25,r13 mov r16,r11 com r14 com r15 com r24 com r25 com r16 and r14,r12 and r15,r3 and r24,r13 and r25,r11 and r16,r23 eor r23,r15 eor r12,r24 eor r3,r25 eor r13,r16 eor r11,r14 eor r12,r23 eor r23,r11 eor r13,r3 com r3 st Z,r23 std Z+8,r12 std Z+24,r13 std Z+32,r11 ld r11,Z ldd r10,Z+1 ldd r9,Z+2 ldd r8,Z+3 ldd r7,Z+4 ldd r6,Z+5 ldd r5,Z+6 ldd r4,Z+7 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 mov r0,r12 mov r12,r14 mov r14,r24 mov r24,r16 mov r16,r0 mov r0,r13 mov r13,r15 mov r15,r25 mov r25,r17 mov r17,r0 mov r0,r1 lsr r17 ror r16 ror r25 ror r24 ror r15 ror r14 ror r13 ror r12 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r15 ror r14 ror r13 ror r12 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r15 ror r14 ror r13 ror r12 ror r0 or r17,r0 eor r12,r4 eor r13,r5 eor r14,r6 eor r15,r7 eor r24,r8 eor r25,r9 eor r16,r10 eor r17,r11 mov r23,r4 mov r0,r5 push r6 mov r4,r7 mov r5,r8 mov r6,r9 mov r7,r10 mov r8,r11 pop r11 mov r10,r0 mov r9,r23 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 or r11,r0 eor r4,r12 eor r5,r13 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 eor r10,r16 eor r11,r17 st Z,r11 std Z+1,r10 std Z+2,r9 std Z+3,r8 std Z+4,r7 std Z+5,r6 std Z+6,r5 std Z+7,r4 ldd r11,Z+8 ldd r10,Z+9 ldd r9,Z+10 ldd r8,Z+11 ldd r7,Z+12 ldd r6,Z+13 ldd r5,Z+14 ldd r4,Z+15 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 lsl r12 rol r13 rol r14 rol r15 rol r24 rol r25 rol r16 rol r17 adc r12,r1 lsl r12 rol r13 rol r14 rol r15 rol r24 rol r25 rol r16 rol r17 adc r12,r1 lsl r12 rol r13 rol r14 rol r15 rol r24 rol r25 rol r16 rol r17 adc r12,r1 eor r12,r4 eor r13,r5 eor r14,r6 eor r15,r7 eor r24,r8 eor r25,r9 eor r16,r10 eor r17,r11 mov r23,r9 mov r0,r10 push r11 mov r11,r8 mov r10,r7 mov r9,r6 mov r8,r5 mov r7,r4 pop r6 mov r5,r0 mov r4,r23 lsl r4 rol r5 rol r6 rol r7 rol r8 rol r9 rol r10 rol r11 adc r4,r1 eor r4,r12 eor r5,r13 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 eor r10,r16 eor r11,r17 std Z+8,r11 std Z+9,r10 std Z+10,r9 std Z+11,r8 std Z+12,r7 std Z+13,r6 std Z+14,r5 std Z+15,r4 movw r12,r18 movw r14,r20 movw r24,r26 movw r16,r2 bst r12,0 lsr r17 ror r16 ror r25 ror r24 ror r15 ror r14 ror r13 ror r12 bld r17,7 eor r12,r18 eor r13,r19 eor r14,r20 eor r15,r21 eor r24,r26 eor r25,r27 eor r16,r2 eor r17,r3 mov r0,r18 mov r18,r19 mov r19,r20 mov r20,r21 mov r21,r26 mov r26,r27 mov r27,r2 mov r2,r3 mov r3,r0 lsl r18 rol r19 rol r20 rol r21 rol r26 rol r27 rol r2 rol r3 adc r18,r1 lsl r18 rol r19 rol r20 rol r21 rol r26 rol r27 rol r2 rol r3 adc r18,r1 eor r18,r12 eor r19,r13 eor r20,r14 eor r21,r15 eor r26,r24 eor r27,r25 eor r2,r16 eor r3,r17 ldd r11,Z+24 ldd r10,Z+25 ldd r9,Z+26 ldd r8,Z+27 ldd r7,Z+28 ldd r6,Z+29 ldd r5,Z+30 ldd r4,Z+31 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,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 r15 ror r14 ror r13 ror r12 ror r0 lsr r17 ror r16 ror r25 ror r24 ror r15 ror r14 ror r13 ror r12 ror r0 or r17,r0 eor r12,r4 eor r13,r5 eor r14,r6 eor r15,r7 eor r24,r8 eor r25,r9 eor r16,r10 eor r17,r11 mov r0,r4 mov r4,r6 mov r6,r8 mov r8,r10 mov r10,r0 mov r0,r5 mov r5,r7 mov r7,r9 mov r9,r11 mov r11,r0 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 or r11,r0 eor r4,r12 eor r5,r13 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 eor r10,r16 eor r11,r17 std Z+24,r11 std Z+25,r10 std Z+26,r9 std Z+27,r8 std Z+28,r7 std Z+29,r6 std Z+30,r5 std Z+31,r4 ldd r11,Z+32 ldd r10,Z+33 ldd r9,Z+34 ldd r8,Z+35 ldd r7,Z+36 ldd r6,Z+37 ldd r5,Z+38 ldd r4,Z+39 movw r12,r4 movw r14,r6 movw r24,r8 movw r16,r10 mov r0,r12 mov r12,r13 mov r13,r14 mov r14,r15 mov r15,r24 mov r24,r25 mov r25,r16 mov r16,r17 mov r17,r0 lsl r12 rol r13 rol r14 rol r15 rol r24 rol r25 rol r16 rol r17 adc r12,r1 eor r12,r4 eor r13,r5 eor r14,r6 eor r15,r7 eor r24,r8 eor r25,r9 eor r16,r10 eor r17,r11 mov r23,r9 mov r0,r10 push r11 mov r11,r8 mov r10,r7 mov r9,r6 mov r8,r5 mov r7,r4 pop r6 mov r5,r0 mov r4,r23 mov r0,r1 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r0 or r11,r0 eor r4,r12 eor r5,r13 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 eor r10,r16 eor r11,r17 subi r22,15 ldi r25,60 cpse r22,r25 rjmp 20b std Z+16,r3 std Z+17,r2 std Z+18,r27 std Z+19,r26 std Z+20,r21 std Z+21,r20 std Z+22,r19 std Z+23,r18 std Z+32,r11 std Z+33,r10 std Z+34,r9 std Z+35,r8 std Z+36,r7 std Z+37,r6 std Z+38,r5 std Z+39,r4 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 ascon_permute, .-ascon_permute #endif