#if defined(__AVR__) /* * Copyright (C) 2021 Southern Storm Software, Pty Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ #include /* Automatically generated - do not edit */ .text .global tiny_jambu_permutation_128 .type tiny_jambu_permutation_128, @function tiny_jambu_permutation_128: 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 r26,r24 movw r30,r22 .L__stack_usage = 18 ld r18,X+ ld r19,X+ ld r22,X+ ld r23,X+ ld r2,X+ ld r3,X+ ld r4,X+ ld r5,X+ ld r6,X+ ld r7,X+ ld r8,X+ ld r9,X+ ld r10,X+ ld r11,X+ ld r12,X+ ld r13,X+ 16: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ld r0,Z eor r18,r0 ldd r0,Z+1 eor r19,r0 ldd r0,Z+2 eor r22,r0 ldd r0,Z+3 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+4 eor r2,r0 ldd r0,Z+5 eor r3,r0 ldd r0,Z+6 eor r4,r0 ldd r0,Z+7 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ldd r0,Z+8 eor r6,r0 ldd r0,Z+9 eor r7,r0 ldd r0,Z+10 eor r8,r0 ldd r0,Z+11 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 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 dec r20 breq 5374f rjmp 16b 5374: 375: st -X,r13 st -X,r12 st -X,r11 st -X,r10 st -X,r9 st -X,r8 st -X,r7 st -X,r6 st -X,r5 st -X,r4 st -X,r3 st -X,r2 st -X,r23 st -X,r22 st -X,r19 st -X,r18 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 tiny_jambu_permutation_128, .-tiny_jambu_permutation_128 .text .global tiny_jambu_permutation_192 .type tiny_jambu_permutation_192, @function tiny_jambu_permutation_192: 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 r26,r24 movw r30,r22 .L__stack_usage = 18 ld r18,X+ ld r19,X+ ld r22,X+ ld r23,X+ ld r2,X+ ld r3,X+ ld r4,X+ ld r5,X+ ld r6,X+ ld r7,X+ ld r8,X+ ld r9,X+ ld r10,X+ ld r11,X+ ld r12,X+ ld r13,X+ 16: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ld r0,Z eor r18,r0 ldd r0,Z+1 eor r19,r0 ldd r0,Z+2 eor r22,r0 ldd r0,Z+3 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+4 eor r2,r0 ldd r0,Z+5 eor r3,r0 ldd r0,Z+6 eor r4,r0 ldd r0,Z+7 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ldd r0,Z+8 eor r6,r0 ldd r0,Z+9 eor r7,r0 ldd r0,Z+10 eor r8,r0 ldd r0,Z+11 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 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 dec r20 brne 5374f rjmp 1091f 5374: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ldd r0,Z+16 eor r18,r0 ldd r0,Z+17 eor r19,r0 ldd r0,Z+18 eor r22,r0 ldd r0,Z+19 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+20 eor r2,r0 ldd r0,Z+21 eor r3,r0 ldd r0,Z+22 eor r4,r0 ldd r0,Z+23 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ld r0,Z eor r6,r0 ldd r0,Z+1 eor r7,r0 ldd r0,Z+2 eor r8,r0 ldd r0,Z+3 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 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 dec r20 brne 5732f rjmp 1091f 5732: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ldd r0,Z+8 eor r18,r0 ldd r0,Z+9 eor r19,r0 ldd r0,Z+10 eor r22,r0 ldd r0,Z+11 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+12 eor r2,r0 ldd r0,Z+13 eor r3,r0 ldd r0,Z+14 eor r4,r0 ldd r0,Z+15 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ldd r0,Z+16 eor r6,r0 ldd r0,Z+17 eor r7,r0 ldd r0,Z+18 eor r8,r0 ldd r0,Z+19 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 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 dec r20 breq 6090f rjmp 16b 6090: 1091: st -X,r13 st -X,r12 st -X,r11 st -X,r10 st -X,r9 st -X,r8 st -X,r7 st -X,r6 st -X,r5 st -X,r4 st -X,r3 st -X,r2 st -X,r23 st -X,r22 st -X,r19 st -X,r18 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 tiny_jambu_permutation_192, .-tiny_jambu_permutation_192 .text .global tiny_jambu_permutation_256 .type tiny_jambu_permutation_256, @function tiny_jambu_permutation_256: 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 r26,r24 movw r30,r22 .L__stack_usage = 18 ld r18,X+ ld r19,X+ ld r22,X+ ld r23,X+ ld r2,X+ ld r3,X+ ld r4,X+ ld r5,X+ ld r6,X+ ld r7,X+ ld r8,X+ ld r9,X+ ld r10,X+ ld r11,X+ ld r12,X+ ld r13,X+ 16: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ld r0,Z eor r18,r0 ldd r0,Z+1 eor r19,r0 ldd r0,Z+2 eor r22,r0 ldd r0,Z+3 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+4 eor r2,r0 ldd r0,Z+5 eor r3,r0 ldd r0,Z+6 eor r4,r0 ldd r0,Z+7 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ldd r0,Z+8 eor r6,r0 ldd r0,Z+9 eor r7,r0 ldd r0,Z+10 eor r8,r0 ldd r0,Z+11 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 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 dec r20 brne 5374f rjmp 733f 5374: movw r24,r4 movw r16,r6 mov r15,r3 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r18,r24 eor r19,r25 eor r22,r16 eor r23,r17 mov r14,r7 mov r15,r8 mov r24,r9 mov r25,r10 mov r0,r6 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r9 mov r0,r8 mov r17,r10 mov r21,r11 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r11 mov r17,r12 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r18,r14 eor r19,r15 eor r22,r24 eor r23,r25 movw r24,r10 movw r16,r12 mov r15,r9 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r18,r15 eor r19,r24 eor r22,r25 eor r23,r16 ldd r0,Z+16 eor r18,r0 ldd r0,Z+17 eor r19,r0 ldd r0,Z+18 eor r22,r0 ldd r0,Z+19 eor r23,r0 movw r24,r8 movw r16,r10 mov r15,r7 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r2,r24 eor r3,r25 eor r4,r16 eor r5,r17 mov r14,r11 mov r15,r12 mov r24,r13 mov r25,r18 mov r0,r10 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r13 mov r0,r12 mov r17,r18 mov r21,r19 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r19 mov r17,r22 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r2,r14 eor r3,r15 eor r4,r24 eor r5,r25 movw r24,r18 movw r16,r22 mov r15,r13 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r2,r15 eor r3,r24 eor r4,r25 eor r5,r16 ldd r0,Z+20 eor r2,r0 ldd r0,Z+21 eor r3,r0 ldd r0,Z+22 eor r4,r0 ldd r0,Z+23 eor r5,r0 movw r24,r12 movw r16,r18 mov r15,r11 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r6,r24 eor r7,r25 eor r8,r16 eor r9,r17 mov r14,r19 mov r15,r22 mov r24,r23 mov r25,r2 mov r0,r18 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r23 mov r0,r22 mov r17,r2 mov r21,r3 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r3 mov r17,r4 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r6,r14 eor r7,r15 eor r8,r24 eor r9,r25 movw r24,r2 movw r16,r4 mov r15,r23 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r6,r15 eor r7,r24 eor r8,r25 eor r9,r16 ldd r0,Z+24 eor r6,r0 ldd r0,Z+25 eor r7,r0 ldd r0,Z+26 eor r8,r0 ldd r0,Z+27 eor r9,r0 movw r24,r22 movw r16,r2 mov r15,r19 lsl r15 rol r24 rol r25 rol r16 rol r17 eor r10,r24 eor r11,r25 eor r12,r16 eor r13,r17 mov r14,r3 mov r15,r4 mov r24,r5 mov r25,r6 mov r0,r2 lsl r0 rol r14 rol r15 rol r24 rol r25 lsl r0 rol r14 rol r15 rol r24 rol r25 mov r16,r5 mov r0,r4 mov r17,r6 mov r21,r7 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 lsl r0 rol r16 rol r17 rol r21 and r14,r16 and r15,r17 and r24,r21 mov r16,r7 mov r17,r8 lsl r16 rol r17 lsl r16 rol r17 lsl r16 rol r17 and r25,r17 eor r10,r14 eor r11,r15 eor r12,r24 eor r13,r25 movw r24,r6 movw r16,r8 mov r15,r5 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 lsr r17 ror r16 ror r25 ror r24 ror r15 eor r10,r15 eor r11,r24 eor r12,r25 eor r13,r16 ldd r0,Z+28 eor r10,r0 ldd r0,Z+29 eor r11,r0 ldd r0,Z+30 eor r12,r0 ldd r0,Z+31 eor r13,r0 dec r20 breq 5732f rjmp 16b 5732: 733: st -X,r13 st -X,r12 st -X,r11 st -X,r10 st -X,r9 st -X,r8 st -X,r7 st -X,r6 st -X,r5 st -X,r4 st -X,r3 st -X,r2 st -X,r23 st -X,r22 st -X,r19 st -X,r18 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 tiny_jambu_permutation_256, .-tiny_jambu_permutation_256 #endif