#if defined(__AVR__) #include /* Automatically generated - do not edit */ .section .progmem.data,"a",@progbits .p2align 8 .type table_7, @object .size table_7, 104 table_7: .byte 1 .byte 2 .byte 4 .byte 8 .byte 16 .byte 32 .byte 65 .byte 3 .byte 6 .byte 12 .byte 24 .byte 48 .byte 97 .byte 66 .byte 5 .byte 10 .byte 20 .byte 40 .byte 81 .byte 35 .byte 71 .byte 15 .byte 30 .byte 60 .byte 121 .byte 114 .byte 100 .byte 72 .byte 17 .byte 34 .byte 69 .byte 11 .byte 22 .byte 44 .byte 89 .byte 51 .byte 103 .byte 78 .byte 29 .byte 58 .byte 117 .byte 106 .byte 84 .byte 41 .byte 83 .byte 39 .byte 79 .byte 31 .byte 62 .byte 125 .byte 122 .byte 116 .byte 104 .byte 80 .byte 33 .byte 67 .byte 7 .byte 14 .byte 28 .byte 56 .byte 113 .byte 98 .byte 68 .byte 9 .byte 18 .byte 36 .byte 73 .byte 19 .byte 38 .byte 77 .byte 27 .byte 54 .byte 109 .byte 90 .byte 53 .byte 107 .byte 86 .byte 45 .byte 91 .byte 55 .byte 111 .byte 94 .byte 61 .byte 123 .byte 118 .byte 108 .byte 88 .byte 49 .byte 99 .byte 70 .byte 13 .byte 26 .byte 52 .byte 105 .byte 82 .byte 37 .byte 75 .byte 23 .byte 46 .byte 93 .byte 59 .byte 119 .byte 110 .byte 92 .text .global knot384_permute_7 .type knot384_permute_7, @function knot384_permute_7: 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 movw r30,r24 in r28,0x3d in r29,0x3e subi r28,72 sbci r29,0 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 87 ld r26,Z ldd r27,Z+1 ldd r2,Z+2 ldd r3,Z+3 ldd r4,Z+4 ldd r5,Z+5 ldd r6,Z+6 ldd r7,Z+7 ldd r8,Z+8 ldd r9,Z+9 ldd r10,Z+10 ldd r11,Z+11 std Y+1,r26 std Y+2,r27 std Y+3,r2 std Y+4,r3 std Y+5,r4 std Y+6,r5 std Y+7,r6 std Y+8,r7 std Y+9,r8 std Y+10,r9 std Y+11,r10 std Y+12,r11 ldd r26,Z+12 ldd r27,Z+13 ldd r2,Z+14 ldd r3,Z+15 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 std Y+13,r26 std Y+14,r27 std Y+15,r2 std Y+16,r3 std Y+17,r4 std Y+18,r5 std Y+19,r6 std Y+20,r7 std Y+21,r8 std Y+22,r9 std Y+23,r10 std Y+24,r11 ldd r26,Z+24 ldd r27,Z+25 ldd r2,Z+26 ldd r3,Z+27 ldd r4,Z+28 ldd r5,Z+29 ldd r6,Z+30 ldd r7,Z+31 ldd r8,Z+32 ldd r9,Z+33 ldd r10,Z+34 ldd r11,Z+35 std Y+25,r26 std Y+26,r27 std Y+27,r2 std Y+28,r3 std Y+29,r4 std Y+30,r5 std Y+31,r6 std Y+32,r7 std Y+33,r8 std Y+34,r9 std Y+35,r10 std Y+36,r11 ldd r26,Z+36 ldd r27,Z+37 ldd r2,Z+38 ldd r3,Z+39 ldd r4,Z+40 ldd r5,Z+41 ldd r6,Z+42 ldd r7,Z+43 ldd r8,Z+44 ldd r9,Z+45 ldd r10,Z+46 ldd r11,Z+47 std Y+37,r26 std Y+38,r27 std Y+39,r2 std Y+40,r3 std Y+41,r4 std Y+42,r5 std Y+43,r6 std Y+44,r7 std Y+45,r8 std Y+46,r9 std Y+47,r10 std Y+48,r11 push r31 push r30 ldi r30,lo8(table_7) ldi r31,hi8(table_7) #if defined(RAMPZ) ldi r24,hh8(table_7) in r0,_SFR_IO_ADDR(RAMPZ) push r0 out _SFR_IO_ADDR(RAMPZ),r24 #endif 99: ldd r12,Y+1 #if defined(RAMPZ) elpm r18,Z #elif defined(__AVR_HAVE_LPMX__) lpm r18,Z #elif defined(__AVR_TINY__) ld r18,Z #else lpm mov r18,r0 #endif eor r12,r18 inc r30 ldd r18,Y+13 ldd r19,Y+25 ldd r20,Y+37 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 std Y+61,r23 mov r14,r20 eor r14,r12 mov r26,r18 or r26,r19 eor r26,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+1,r21 mov r21,r26 and r21,r12 eor r21,r13 std Y+49,r21 ldd r12,Y+2 ldd r18,Y+14 ldd r19,Y+26 ldd r20,Y+38 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 std Y+62,r23 mov r14,r20 eor r14,r12 mov r27,r18 or r27,r19 eor r27,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+2,r21 mov r21,r27 and r21,r12 eor r21,r13 std Y+50,r21 ldd r12,Y+3 ldd r18,Y+15 ldd r19,Y+27 ldd r20,Y+39 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 std Y+63,r23 mov r14,r20 eor r14,r12 mov r2,r18 or r2,r19 eor r2,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+3,r21 mov r21,r2 and r21,r12 eor r21,r13 std Y+51,r21 ldd r12,Y+4 ldd r18,Y+16 ldd r19,Y+28 ldd r20,Y+40 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,192 sbci r29,255 st Y,r23 subi r28,64 sbc r29,r1 mov r14,r20 eor r14,r12 mov r3,r18 or r3,r19 eor r3,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+4,r21 mov r21,r3 and r21,r12 eor r21,r13 std Y+52,r21 ldd r12,Y+5 ldd r18,Y+17 ldd r19,Y+29 ldd r20,Y+41 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,191 sbci r29,255 st Y,r23 subi r28,65 sbc r29,r1 mov r14,r20 eor r14,r12 mov r4,r18 or r4,r19 eor r4,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+5,r21 mov r21,r4 and r21,r12 eor r21,r13 std Y+53,r21 ldd r12,Y+6 ldd r18,Y+18 ldd r19,Y+30 ldd r20,Y+42 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,190 sbci r29,255 st Y,r23 subi r28,66 sbc r29,r1 mov r14,r20 eor r14,r12 mov r5,r18 or r5,r19 eor r5,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+6,r21 mov r21,r5 and r21,r12 eor r21,r13 std Y+54,r21 ldd r12,Y+7 ldd r18,Y+19 ldd r19,Y+31 ldd r20,Y+43 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,189 sbci r29,255 st Y,r23 subi r28,67 sbc r29,r1 mov r14,r20 eor r14,r12 mov r6,r18 or r6,r19 eor r6,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+7,r21 mov r21,r6 and r21,r12 eor r21,r13 std Y+55,r21 ldd r12,Y+8 ldd r18,Y+20 ldd r19,Y+32 ldd r20,Y+44 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,188 sbci r29,255 st Y,r23 subi r28,68 sbc r29,r1 mov r14,r20 eor r14,r12 mov r7,r18 or r7,r19 eor r7,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+8,r21 mov r21,r7 and r21,r12 eor r21,r13 std Y+56,r21 ldd r12,Y+9 ldd r18,Y+21 ldd r19,Y+33 ldd r20,Y+45 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,187 sbci r29,255 st Y,r23 subi r28,69 sbc r29,r1 mov r14,r20 eor r14,r12 mov r8,r18 or r8,r19 eor r8,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+9,r21 mov r21,r8 and r21,r12 eor r21,r13 std Y+57,r21 ldd r12,Y+10 ldd r18,Y+22 ldd r19,Y+34 ldd r20,Y+46 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,186 sbci r29,255 st Y,r23 subi r28,70 sbc r29,r1 mov r14,r20 eor r14,r12 mov r9,r18 or r9,r19 eor r9,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+10,r21 mov r21,r9 and r21,r12 eor r21,r13 std Y+58,r21 ldd r12,Y+11 ldd r18,Y+23 ldd r19,Y+35 ldd r20,Y+47 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,185 sbci r29,255 st Y,r23 subi r28,71 sbc r29,r1 mov r14,r20 eor r14,r12 mov r10,r18 or r10,r19 eor r10,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+11,r21 mov r21,r10 and r21,r12 eor r21,r13 std Y+59,r21 ldd r12,Y+12 ldd r18,Y+24 ldd r19,Y+36 ldd r20,Y+48 com r12 mov r13,r18 and r13,r12 eor r13,r19 mov r23,r20 eor r23,r13 subi r28,184 sbci r29,255 st Y,r23 subi r28,72 sbc r29,r1 mov r14,r20 eor r14,r12 mov r11,r18 or r11,r19 eor r11,r14 mov r12,r18 eor r12,r20 mov r21,r13 and r21,r14 eor r21,r12 std Y+12,r21 mov r21,r11 and r21,r12 eor r21,r13 std Y+60,r21 std Y+25,r11 std Y+26,r26 std Y+27,r27 std Y+28,r2 std Y+29,r3 std Y+30,r4 std Y+31,r5 std Y+32,r6 std Y+33,r7 std Y+34,r8 std Y+35,r9 std Y+36,r10 ldd r26,Y+49 ldd r27,Y+50 ldd r2,Y+51 ldd r3,Y+52 ldd r4,Y+53 ldd r5,Y+54 ldd r6,Y+55 ldd r7,Y+56 ldd r8,Y+57 ldd r9,Y+58 ldd r10,Y+59 ldd r11,Y+60 lsl r26 rol r27 rol r2 rol r3 rol r4 rol r5 rol r6 rol r7 rol r8 rol r9 rol r10 rol r11 adc r26,r1 std Y+13,r26 std Y+14,r27 std Y+15,r2 std Y+16,r3 std Y+17,r4 std Y+18,r5 std Y+19,r6 std Y+20,r7 std Y+21,r8 std Y+22,r9 std Y+23,r10 std Y+24,r11 adiw r28,61 ld r26,Y+ ld r27,Y+ ld r2,Y+ ld r3,Y+ ld r4,Y+ ld r5,Y+ ld r6,Y+ ld r7,Y+ ld r8,Y+ ld r9,Y+ ld r10,Y+ ld r11,Y subi r28,72 sbc r29,r1 bst r26,0 lsr r11 ror r10 ror r9 ror r8 ror r7 ror r6 ror r5 ror r4 ror r3 ror r2 ror r27 ror r26 bld r11,7 std Y+37,r5 std Y+38,r6 std Y+39,r7 std Y+40,r8 std Y+41,r9 std Y+42,r10 std Y+43,r11 std Y+44,r26 std Y+45,r27 std Y+46,r2 std Y+47,r3 std Y+48,r4 dec r22 breq 5542f rjmp 99b 5542: #if defined(RAMPZ) pop r0 out _SFR_IO_ADDR(RAMPZ),r0 #endif pop r30 pop r31 ldd r26,Y+1 ldd r27,Y+2 ldd r2,Y+3 ldd r3,Y+4 ldd r4,Y+5 ldd r5,Y+6 ldd r6,Y+7 ldd r7,Y+8 ldd r8,Y+9 ldd r9,Y+10 ldd r10,Y+11 ldd r11,Y+12 st Z,r26 std Z+1,r27 std Z+2,r2 std Z+3,r3 std Z+4,r4 std Z+5,r5 std Z+6,r6 std Z+7,r7 std Z+8,r8 std Z+9,r9 std Z+10,r10 std Z+11,r11 ldd r26,Y+13 ldd r27,Y+14 ldd r2,Y+15 ldd r3,Y+16 ldd r4,Y+17 ldd r5,Y+18 ldd r6,Y+19 ldd r7,Y+20 ldd r8,Y+21 ldd r9,Y+22 ldd r10,Y+23 ldd r11,Y+24 std Z+12,r26 std Z+13,r27 std Z+14,r2 std Z+15,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 ldd r26,Y+25 ldd r27,Y+26 ldd r2,Y+27 ldd r3,Y+28 ldd r4,Y+29 ldd r5,Y+30 ldd r6,Y+31 ldd r7,Y+32 ldd r8,Y+33 ldd r9,Y+34 ldd r10,Y+35 ldd r11,Y+36 std Z+24,r26 std Z+25,r27 std Z+26,r2 std Z+27,r3 std Z+28,r4 std Z+29,r5 std Z+30,r6 std Z+31,r7 std Z+32,r8 std Z+33,r9 std Z+34,r10 std Z+35,r11 ldd r26,Y+37 ldd r27,Y+38 ldd r2,Y+39 ldd r3,Y+40 ldd r4,Y+41 ldd r5,Y+42 ldd r6,Y+43 ldd r7,Y+44 ldd r8,Y+45 ldd r9,Y+46 ldd r10,Y+47 ldd r11,Y+48 std Z+36,r26 std Z+37,r27 std Z+38,r2 std Z+39,r3 std Z+40,r4 std Z+41,r5 std Z+42,r6 std Z+43,r7 std Z+44,r8 std Z+45,r9 std Z+46,r10 std Z+47,r11 subi r28,184 sbci r29,255 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 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 knot384_permute_7, .-knot384_permute_7 #endif