#if defined(__AVR__) #include /* Automatically generated - do not edit */ .text .global photon256_permute .type photon256_permute, @function photon256_permute: 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 movw r30,r24 in r28,0x3d in r29,0x3e sbiw r28,32 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 49 ldd r18,Z+16 ldd r19,Z+17 ldd r20,Z+18 ldd r21,Z+19 bst r18,0 bld r2,0 bst r18,1 bld r6,0 bst r18,2 bld r10,0 bst r18,3 bld r14,0 bst r18,4 bld r2,1 bst r18,5 bld r6,1 bst r18,6 bld r10,1 bst r18,7 bld r14,1 bst r19,0 bld r2,2 bst r19,1 bld r6,2 bst r19,2 bld r10,2 bst r19,3 bld r14,2 bst r19,4 bld r2,3 bst r19,5 bld r6,3 bst r19,6 bld r10,3 bst r19,7 bld r14,3 bst r20,0 bld r2,4 bst r20,1 bld r6,4 bst r20,2 bld r10,4 bst r20,3 bld r14,4 bst r20,4 bld r2,5 bst r20,5 bld r6,5 bst r20,6 bld r10,5 bst r20,7 bld r14,5 bst r21,0 bld r2,6 bst r21,1 bld r6,6 bst r21,2 bld r10,6 bst r21,3 bld r14,6 bst r21,4 bld r2,7 bst r21,5 bld r6,7 bst r21,6 bld r10,7 bst r21,7 bld r14,7 ldd r18,Z+20 ldd r19,Z+21 ldd r20,Z+22 ldd r21,Z+23 bst r18,0 bld r3,0 bst r18,1 bld r7,0 bst r18,2 bld r11,0 bst r18,3 bld r15,0 bst r18,4 bld r3,1 bst r18,5 bld r7,1 bst r18,6 bld r11,1 bst r18,7 bld r15,1 bst r19,0 bld r3,2 bst r19,1 bld r7,2 bst r19,2 bld r11,2 bst r19,3 bld r15,2 bst r19,4 bld r3,3 bst r19,5 bld r7,3 bst r19,6 bld r11,3 bst r19,7 bld r15,3 bst r20,0 bld r3,4 bst r20,1 bld r7,4 bst r20,2 bld r11,4 bst r20,3 bld r15,4 bst r20,4 bld r3,5 bst r20,5 bld r7,5 bst r20,6 bld r11,5 bst r20,7 bld r15,5 bst r21,0 bld r3,6 bst r21,1 bld r7,6 bst r21,2 bld r11,6 bst r21,3 bld r15,6 bst r21,4 bld r3,7 bst r21,5 bld r7,7 bst r21,6 bld r11,7 bst r21,7 bld r15,7 ldd r18,Z+24 ldd r19,Z+25 ldd r20,Z+26 ldd r21,Z+27 bst r18,0 bld r4,0 bst r18,1 bld r8,0 bst r18,2 bld r12,0 bst r18,3 bld r24,0 bst r18,4 bld r4,1 bst r18,5 bld r8,1 bst r18,6 bld r12,1 bst r18,7 bld r24,1 bst r19,0 bld r4,2 bst r19,1 bld r8,2 bst r19,2 bld r12,2 bst r19,3 bld r24,2 bst r19,4 bld r4,3 bst r19,5 bld r8,3 bst r19,6 bld r12,3 bst r19,7 bld r24,3 bst r20,0 bld r4,4 bst r20,1 bld r8,4 bst r20,2 bld r12,4 bst r20,3 bld r24,4 bst r20,4 bld r4,5 bst r20,5 bld r8,5 bst r20,6 bld r12,5 bst r20,7 bld r24,5 bst r21,0 bld r4,6 bst r21,1 bld r8,6 bst r21,2 bld r12,6 bst r21,3 bld r24,6 bst r21,4 bld r4,7 bst r21,5 bld r8,7 bst r21,6 bld r12,7 bst r21,7 bld r24,7 ldd r18,Z+28 ldd r19,Z+29 ldd r20,Z+30 ldd r21,Z+31 bst r18,0 bld r5,0 bst r18,1 bld r9,0 bst r18,2 bld r13,0 bst r18,3 bld r25,0 bst r18,4 bld r5,1 bst r18,5 bld r9,1 bst r18,6 bld r13,1 bst r18,7 bld r25,1 bst r19,0 bld r5,2 bst r19,1 bld r9,2 bst r19,2 bld r13,2 bst r19,3 bld r25,2 bst r19,4 bld r5,3 bst r19,5 bld r9,3 bst r19,6 bld r13,3 bst r19,7 bld r25,3 bst r20,0 bld r5,4 bst r20,1 bld r9,4 bst r20,2 bld r13,4 bst r20,3 bld r25,4 bst r20,4 bld r5,5 bst r20,5 bld r9,5 bst r20,6 bld r13,5 bst r20,7 bld r25,5 bst r21,0 bld r5,6 bst r21,1 bld r9,6 bst r21,2 bld r13,6 bst r21,3 bld r25,6 bst r21,4 bld r5,7 bst r21,5 bld r9,7 bst r21,6 bld r13,7 bst r21,7 bld r25,7 std Z+16,r2 std Z+17,r3 std Z+18,r4 std Z+19,r5 std Z+20,r6 std Z+21,r7 std Z+22,r8 std Z+23,r9 std Z+24,r10 std Z+25,r11 std Z+26,r12 std Z+27,r13 std Z+28,r14 std Z+29,r15 std Z+30,r24 std Z+31,r25 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 bst r18,0 bld r2,0 bst r18,1 bld r6,0 bst r18,2 bld r10,0 bst r18,3 bld r14,0 bst r18,4 bld r2,1 bst r18,5 bld r6,1 bst r18,6 bld r10,1 bst r18,7 bld r14,1 bst r19,0 bld r2,2 bst r19,1 bld r6,2 bst r19,2 bld r10,2 bst r19,3 bld r14,2 bst r19,4 bld r2,3 bst r19,5 bld r6,3 bst r19,6 bld r10,3 bst r19,7 bld r14,3 bst r20,0 bld r2,4 bst r20,1 bld r6,4 bst r20,2 bld r10,4 bst r20,3 bld r14,4 bst r20,4 bld r2,5 bst r20,5 bld r6,5 bst r20,6 bld r10,5 bst r20,7 bld r14,5 bst r21,0 bld r2,6 bst r21,1 bld r6,6 bst r21,2 bld r10,6 bst r21,3 bld r14,6 bst r21,4 bld r2,7 bst r21,5 bld r6,7 bst r21,6 bld r10,7 bst r21,7 bld r14,7 ldd r18,Z+4 ldd r19,Z+5 ldd r20,Z+6 ldd r21,Z+7 bst r18,0 bld r3,0 bst r18,1 bld r7,0 bst r18,2 bld r11,0 bst r18,3 bld r15,0 bst r18,4 bld r3,1 bst r18,5 bld r7,1 bst r18,6 bld r11,1 bst r18,7 bld r15,1 bst r19,0 bld r3,2 bst r19,1 bld r7,2 bst r19,2 bld r11,2 bst r19,3 bld r15,2 bst r19,4 bld r3,3 bst r19,5 bld r7,3 bst r19,6 bld r11,3 bst r19,7 bld r15,3 bst r20,0 bld r3,4 bst r20,1 bld r7,4 bst r20,2 bld r11,4 bst r20,3 bld r15,4 bst r20,4 bld r3,5 bst r20,5 bld r7,5 bst r20,6 bld r11,5 bst r20,7 bld r15,5 bst r21,0 bld r3,6 bst r21,1 bld r7,6 bst r21,2 bld r11,6 bst r21,3 bld r15,6 bst r21,4 bld r3,7 bst r21,5 bld r7,7 bst r21,6 bld r11,7 bst r21,7 bld r15,7 ldd r18,Z+8 ldd r19,Z+9 ldd r20,Z+10 ldd r21,Z+11 bst r18,0 bld r4,0 bst r18,1 bld r8,0 bst r18,2 bld r12,0 bst r18,3 bld r24,0 bst r18,4 bld r4,1 bst r18,5 bld r8,1 bst r18,6 bld r12,1 bst r18,7 bld r24,1 bst r19,0 bld r4,2 bst r19,1 bld r8,2 bst r19,2 bld r12,2 bst r19,3 bld r24,2 bst r19,4 bld r4,3 bst r19,5 bld r8,3 bst r19,6 bld r12,3 bst r19,7 bld r24,3 bst r20,0 bld r4,4 bst r20,1 bld r8,4 bst r20,2 bld r12,4 bst r20,3 bld r24,4 bst r20,4 bld r4,5 bst r20,5 bld r8,5 bst r20,6 bld r12,5 bst r20,7 bld r24,5 bst r21,0 bld r4,6 bst r21,1 bld r8,6 bst r21,2 bld r12,6 bst r21,3 bld r24,6 bst r21,4 bld r4,7 bst r21,5 bld r8,7 bst r21,6 bld r12,7 bst r21,7 bld r24,7 ldd r18,Z+12 ldd r19,Z+13 ldd r20,Z+14 ldd r21,Z+15 bst r18,0 bld r5,0 bst r18,1 bld r9,0 bst r18,2 bld r13,0 bst r18,3 bld r25,0 bst r18,4 bld r5,1 bst r18,5 bld r9,1 bst r18,6 bld r13,1 bst r18,7 bld r25,1 bst r19,0 bld r5,2 bst r19,1 bld r9,2 bst r19,2 bld r13,2 bst r19,3 bld r25,2 bst r19,4 bld r5,3 bst r19,5 bld r9,3 bst r19,6 bld r13,3 bst r19,7 bld r25,3 bst r20,0 bld r5,4 bst r20,1 bld r9,4 bst r20,2 bld r13,4 bst r20,3 bld r25,4 bst r20,4 bld r5,5 bst r20,5 bld r9,5 bst r20,6 bld r13,5 bst r20,7 bld r25,5 bst r21,0 bld r5,6 bst r21,1 bld r9,6 bst r21,2 bld r13,6 bst r21,3 bld r25,6 bst r21,4 bld r5,7 bst r21,5 bld r9,7 bst r21,6 bld r13,7 bst r21,7 bld r25,7 ldi r22,225 ldi r23,240 ldi r26,210 ldi r27,150 rcall 621f ldi r22,195 ldi r23,210 ldi r26,240 ldi r27,180 rcall 621f ldi r22,135 ldi r23,150 ldi r26,180 ldi r27,240 rcall 621f ldi r22,30 ldi r23,15 ldi r26,45 ldi r27,105 rcall 621f ldi r22,45 ldi r23,60 ldi r26,30 ldi r27,90 rcall 621f ldi r22,75 ldi r23,90 ldi r26,120 ldi r27,60 rcall 621f ldi r22,150 ldi r23,135 ldi r26,165 ldi r27,225 rcall 621f ldi r22,60 ldi r23,45 ldi r26,15 ldi r27,75 rcall 621f ldi r22,105 ldi r23,120 ldi r26,90 ldi r27,30 rcall 621f ldi r22,210 ldi r23,195 ldi r26,225 ldi r27,165 rcall 621f ldi r22,165 ldi r23,180 ldi r26,150 ldi r27,210 rcall 621f ldi r22,90 ldi r23,75 ldi r26,105 ldi r27,45 rcall 621f rjmp 1960f 621: movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r2,r18 eor r3,r19 eor r4,r20 eor r5,r21 lsr r22 lsr r23 lsr r26 lsr r27 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r6,r18 eor r7,r19 eor r8,r20 eor r9,r21 lsr r22 lsr r23 lsr r26 lsr r27 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r10,r18 eor r11,r19 eor r12,r20 eor r13,r21 lsr r22 lsr r23 lsr r26 lsr r27 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r14,r18 eor r15,r19 eor r24,r20 eor r25,r21 lsr r22 lsr r23 lsr r26 lsr r27 eor r6,r10 mov r0,r10 and r0,r6 eor r14,r0 mov r18,r14 and r14,r6 eor r14,r10 mov r16,r14 eor r14,r2 com r14 mov r10,r14 or r16,r2 eor r2,r18 eor r6,r2 or r10,r6 eor r10,r18 eor r6,r16 eor r14,r6 eor r7,r11 mov r0,r11 and r0,r7 eor r15,r0 mov r19,r15 and r15,r7 eor r15,r11 mov r16,r15 eor r15,r3 com r15 mov r11,r15 or r16,r3 eor r3,r19 eor r7,r3 or r11,r7 eor r11,r19 eor r7,r16 eor r15,r7 eor r8,r12 mov r0,r12 and r0,r8 eor r24,r0 mov r20,r24 and r24,r8 eor r24,r12 mov r16,r24 eor r24,r4 com r24 mov r12,r24 or r16,r4 eor r4,r20 eor r8,r4 or r12,r8 eor r12,r20 eor r8,r16 eor r24,r8 eor r9,r13 mov r0,r13 and r0,r9 eor r25,r0 mov r21,r25 and r25,r9 eor r25,r13 mov r16,r25 eor r25,r5 com r25 mov r13,r25 or r16,r5 eor r5,r21 eor r9,r5 or r13,r9 eor r13,r21 eor r9,r16 eor r25,r9 bst r3,0 lsr r3 bld r3,7 bst r7,0 lsr r7 bld r7,7 bst r11,0 lsr r11 bld r11,7 bst r15,0 lsr r15 bld r15,7 mov r0,r1 lsr r4 ror r0 lsr r4 ror r0 or r4,r0 mov r0,r1 lsr r8 ror r0 lsr r8 ror r0 or r8,r0 mov r0,r1 lsr r12 ror r0 lsr r12 ror r0 or r12,r0 mov r0,r1 lsr r24 ror r0 lsr r24 ror r0 or r24,r0 mov r0,r1 lsr r5 ror r0 lsr r5 ror r0 lsr r5 ror r0 or r5,r0 mov r0,r1 lsr r9 ror r0 lsr r9 ror r0 lsr r9 ror r0 or r9,r0 mov r0,r1 lsr r13 ror r0 lsr r13 ror r0 lsr r13 ror r0 or r13,r0 mov r0,r1 lsr r25 ror r0 lsr r25 ror r0 lsr r25 ror r0 or r25,r0 std Y+1,r2 std Y+2,r3 std Y+3,r4 std Y+4,r5 std Y+5,r6 std Y+6,r7 std Y+7,r8 std Y+8,r9 std Y+9,r10 std Y+10,r11 std Y+11,r12 std Y+12,r13 std Y+13,r14 std Y+14,r15 std Y+15,r24 std Y+16,r25 ldd r2,Z+16 ldd r3,Z+17 ldd r4,Z+18 ldd r5,Z+19 ldd r6,Z+20 ldd r7,Z+21 ldd r8,Z+22 ldd r9,Z+23 ldd r10,Z+24 ldd r11,Z+25 ldd r12,Z+26 ldd r13,Z+27 ldd r14,Z+28 ldd r15,Z+29 ldd r24,Z+30 ldd r25,Z+31 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r2,r18 eor r3,r19 eor r4,r20 eor r5,r21 lsr r22 lsr r23 lsr r26 lsr r27 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r6,r18 eor r7,r19 eor r8,r20 eor r9,r21 lsr r22 lsr r23 lsr r26 lsr r27 movw r18,r22 movw r20,r26 andi r18,1 andi r19,1 andi r20,1 andi r21,1 eor r10,r18 eor r11,r19 eor r12,r20 eor r13,r21 lsr r22 lsr r23 lsr r26 lsr r27 eor r14,r22 eor r15,r23 eor r24,r26 eor r25,r27 eor r6,r10 mov r0,r10 and r0,r6 eor r14,r0 mov r18,r14 and r14,r6 eor r14,r10 mov r22,r14 eor r14,r2 com r14 mov r10,r14 or r22,r2 eor r2,r18 eor r6,r2 or r10,r6 eor r10,r18 eor r6,r22 eor r14,r6 eor r7,r11 mov r0,r11 and r0,r7 eor r15,r0 mov r19,r15 and r15,r7 eor r15,r11 mov r22,r15 eor r15,r3 com r15 mov r11,r15 or r22,r3 eor r3,r19 eor r7,r3 or r11,r7 eor r11,r19 eor r7,r22 eor r15,r7 eor r8,r12 mov r0,r12 and r0,r8 eor r24,r0 mov r20,r24 and r24,r8 eor r24,r12 mov r22,r24 eor r24,r4 com r24 mov r12,r24 or r22,r4 eor r4,r20 eor r8,r4 or r12,r8 eor r12,r20 eor r8,r22 eor r24,r8 eor r9,r13 mov r0,r13 and r0,r9 eor r25,r0 mov r21,r25 and r25,r9 eor r25,r13 mov r22,r25 eor r25,r5 com r25 mov r13,r25 or r22,r5 eor r5,r21 eor r9,r5 or r13,r9 eor r13,r21 eor r9,r22 eor r25,r9 swap r2 swap r6 swap r10 swap r14 lsl r3 adc r3,r1 lsl r3 adc r3,r1 lsl r3 adc r3,r1 lsl r7 adc r7,r1 lsl r7 adc r7,r1 lsl r7 adc r7,r1 lsl r11 adc r11,r1 lsl r11 adc r11,r1 lsl r11 adc r11,r1 lsl r15 adc r15,r1 lsl r15 adc r15,r1 lsl r15 adc r15,r1 lsl r4 adc r4,r1 lsl r4 adc r4,r1 lsl r8 adc r8,r1 lsl r8 adc r8,r1 lsl r12 adc r12,r1 lsl r12 adc r12,r1 lsl r24 adc r24,r1 lsl r24 adc r24,r1 lsl r5 adc r5,r1 lsl r9 adc r9,r1 lsl r13 adc r13,r1 lsl r25 adc r25,r1 std Y+17,r2 std Y+18,r3 std Y+19,r4 std Y+20,r5 std Y+21,r6 std Y+22,r7 std Y+23,r8 std Y+24,r9 std Y+25,r10 std Y+26,r11 std Y+27,r12 std Y+28,r13 std Y+29,r14 std Y+30,r15 std Y+31,r24 std Y+32,r25 ldd r2,Y+1 ldd r6,Y+2 ldd r10,Y+3 ldd r14,Y+4 ldd r3,Y+5 ldd r7,Y+6 ldd r11,Y+7 ldd r15,Y+8 ldd r4,Y+9 ldd r8,Y+10 ldd r12,Y+11 ldd r24,Y+12 ldd r5,Y+13 ldd r9,Y+14 ldd r13,Y+15 ldd r25,Y+16 movw r22,r2 movw r26,r4 eor r22,r27 mov r18,r27 mov r19,r22 mov r20,r23 mov r21,r26 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r10 movw r26,r12 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 st Z,r18 std Z+4,r19 std Z+8,r20 std Z+12,r21 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 movw r18,r26 movw r20,r22 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+1,r18 std Z+5,r19 std Z+9,r20 std Z+13,r21 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 movw r18,r26 movw r20,r22 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+2,r18 std Z+6,r19 std Z+10,r20 std Z+14,r21 movw r18,r2 movw r20,r4 movw r22,r6 movw r26,r8 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 std Z+3,r18 std Z+7,r19 std Z+11,r20 std Z+15,r21 movw r18,r2 movw r20,r4 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+16,r18 std Z+20,r19 std Z+24,r20 std Z+28,r21 movw r18,r2 movw r20,r4 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r6 movw r26,r8 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+17,r18 std Z+21,r19 std Z+25,r20 std Z+29,r21 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 movw r18,r26 movw r20,r22 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r6 movw r26,r8 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 movw r22,r10 movw r26,r12 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+18,r18 std Z+22,r19 std Z+26,r20 std Z+30,r21 movw r18,r2 movw r20,r4 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+19,r18 std Z+23,r19 std Z+27,r20 std Z+31,r21 ldd r2,Y+17 ldd r6,Y+18 ldd r10,Y+19 ldd r14,Y+20 ldd r3,Y+21 ldd r7,Y+22 ldd r11,Y+23 ldd r15,Y+24 ldd r4,Y+25 ldd r8,Y+26 ldd r12,Y+27 ldd r24,Y+28 ldd r5,Y+29 ldd r9,Y+30 ldd r13,Y+31 ldd r25,Y+32 ld r18,Z ldd r19,Z+4 ldd r20,Z+8 ldd r21,Z+12 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 st Z,r18 std Z+4,r19 std Z+8,r20 std Z+12,r21 ldd r18,Z+1 ldd r19,Z+5 ldd r20,Z+9 ldd r21,Z+13 eor r18,r2 eor r19,r3 eor r20,r4 eor r21,r5 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r22,r6 movw r26,r8 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 std Z+1,r18 std Z+5,r19 std Z+9,r20 std Z+13,r21 ldd r18,Z+2 ldd r19,Z+6 ldd r20,Z+10 ldd r21,Z+14 eor r18,r2 eor r19,r3 eor r20,r4 eor r21,r5 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+2,r18 std Z+6,r19 std Z+10,r20 std Z+14,r21 ldd r18,Z+3 ldd r19,Z+7 ldd r20,Z+11 ldd r21,Z+15 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+3,r18 std Z+7,r19 std Z+11,r20 std Z+15,r21 ldd r18,Z+16 ldd r19,Z+20 ldd r20,Z+24 ldd r21,Z+28 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r10 movw r26,r12 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+16,r18 std Z+20,r19 std Z+24,r20 std Z+28,r21 ldd r18,Z+17 ldd r19,Z+21 ldd r20,Z+25 ldd r21,Z+29 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r6 movw r26,r8 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r10 movw r26,r12 eor r22,r27 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 std Z+17,r18 std Z+21,r19 std Z+25,r20 std Z+29,r21 ldd r18,Z+18 ldd r19,Z+22 ldd r20,Z+26 ldd r21,Z+30 eor r18,r2 eor r19,r3 eor r20,r4 eor r21,r5 movw r22,r2 movw r26,r4 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 eor r18,r10 eor r19,r11 eor r20,r12 eor r21,r13 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 std Z+18,r18 std Z+22,r19 std Z+26,r20 std Z+30,r21 ldd r18,Z+19 ldd r19,Z+23 ldd r20,Z+27 ldd r21,Z+31 eor r18,r2 eor r19,r3 eor r20,r4 eor r21,r5 movw r22,r2 movw r26,r4 eor r22,r27 eor r27,r26 eor r18,r26 eor r19,r27 eor r20,r22 eor r21,r23 movw r22,r6 movw r26,r8 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r27,r26 eor r26,r23 eor r18,r23 eor r19,r26 eor r20,r27 eor r21,r22 movw r22,r10 movw r26,r12 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 eor r18,r14 eor r19,r15 eor r20,r24 eor r21,r25 movw r22,r14 movw r26,r24 eor r22,r27 eor r18,r27 eor r19,r22 eor r20,r23 eor r21,r26 std Z+19,r18 std Z+23,r19 std Z+27,r20 std Z+31,r21 ld r2,Z ldd r3,Z+1 ldd r4,Z+2 ldd r5,Z+3 ldd r6,Z+4 ldd r7,Z+5 ldd r8,Z+6 ldd r9,Z+7 ldd r10,Z+8 ldd r11,Z+9 ldd r12,Z+10 ldd r13,Z+11 ldd r14,Z+12 ldd r15,Z+13 ldd r24,Z+14 ldd r25,Z+15 ret 1960: bst r2,0 bld r18,0 bst r6,0 bld r18,1 bst r10,0 bld r18,2 bst r14,0 bld r18,3 bst r2,1 bld r18,4 bst r6,1 bld r18,5 bst r10,1 bld r18,6 bst r14,1 bld r18,7 bst r2,2 bld r19,0 bst r6,2 bld r19,1 bst r10,2 bld r19,2 bst r14,2 bld r19,3 bst r2,3 bld r19,4 bst r6,3 bld r19,5 bst r10,3 bld r19,6 bst r14,3 bld r19,7 bst r2,4 bld r20,0 bst r6,4 bld r20,1 bst r10,4 bld r20,2 bst r14,4 bld r20,3 bst r2,5 bld r20,4 bst r6,5 bld r20,5 bst r10,5 bld r20,6 bst r14,5 bld r20,7 bst r2,6 bld r21,0 bst r6,6 bld r21,1 bst r10,6 bld r21,2 bst r14,6 bld r21,3 bst r2,7 bld r21,4 bst r6,7 bld r21,5 bst r10,7 bld r21,6 bst r14,7 bld r21,7 st Z,r18 std Z+1,r19 std Z+2,r20 std Z+3,r21 bst r3,0 bld r18,0 bst r7,0 bld r18,1 bst r11,0 bld r18,2 bst r15,0 bld r18,3 bst r3,1 bld r18,4 bst r7,1 bld r18,5 bst r11,1 bld r18,6 bst r15,1 bld r18,7 bst r3,2 bld r19,0 bst r7,2 bld r19,1 bst r11,2 bld r19,2 bst r15,2 bld r19,3 bst r3,3 bld r19,4 bst r7,3 bld r19,5 bst r11,3 bld r19,6 bst r15,3 bld r19,7 bst r3,4 bld r20,0 bst r7,4 bld r20,1 bst r11,4 bld r20,2 bst r15,4 bld r20,3 bst r3,5 bld r20,4 bst r7,5 bld r20,5 bst r11,5 bld r20,6 bst r15,5 bld r20,7 bst r3,6 bld r21,0 bst r7,6 bld r21,1 bst r11,6 bld r21,2 bst r15,6 bld r21,3 bst r3,7 bld r21,4 bst r7,7 bld r21,5 bst r11,7 bld r21,6 bst r15,7 bld r21,7 std Z+4,r18 std Z+5,r19 std Z+6,r20 std Z+7,r21 bst r4,0 bld r18,0 bst r8,0 bld r18,1 bst r12,0 bld r18,2 bst r24,0 bld r18,3 bst r4,1 bld r18,4 bst r8,1 bld r18,5 bst r12,1 bld r18,6 bst r24,1 bld r18,7 bst r4,2 bld r19,0 bst r8,2 bld r19,1 bst r12,2 bld r19,2 bst r24,2 bld r19,3 bst r4,3 bld r19,4 bst r8,3 bld r19,5 bst r12,3 bld r19,6 bst r24,3 bld r19,7 bst r4,4 bld r20,0 bst r8,4 bld r20,1 bst r12,4 bld r20,2 bst r24,4 bld r20,3 bst r4,5 bld r20,4 bst r8,5 bld r20,5 bst r12,5 bld r20,6 bst r24,5 bld r20,7 bst r4,6 bld r21,0 bst r8,6 bld r21,1 bst r12,6 bld r21,2 bst r24,6 bld r21,3 bst r4,7 bld r21,4 bst r8,7 bld r21,5 bst r12,7 bld r21,6 bst r24,7 bld r21,7 std Z+8,r18 std Z+9,r19 std Z+10,r20 std Z+11,r21 bst r5,0 bld r18,0 bst r9,0 bld r18,1 bst r13,0 bld r18,2 bst r25,0 bld r18,3 bst r5,1 bld r18,4 bst r9,1 bld r18,5 bst r13,1 bld r18,6 bst r25,1 bld r18,7 bst r5,2 bld r19,0 bst r9,2 bld r19,1 bst r13,2 bld r19,2 bst r25,2 bld r19,3 bst r5,3 bld r19,4 bst r9,3 bld r19,5 bst r13,3 bld r19,6 bst r25,3 bld r19,7 bst r5,4 bld r20,0 bst r9,4 bld r20,1 bst r13,4 bld r20,2 bst r25,4 bld r20,3 bst r5,5 bld r20,4 bst r9,5 bld r20,5 bst r13,5 bld r20,6 bst r25,5 bld r20,7 bst r5,6 bld r21,0 bst r9,6 bld r21,1 bst r13,6 bld r21,2 bst r25,6 bld r21,3 bst r5,7 bld r21,4 bst r9,7 bld r21,5 bst r13,7 bld r21,6 bst r25,7 bld r21,7 std Z+12,r18 std Z+13,r19 std Z+14,r20 std Z+15,r21 ldd r2,Z+16 ldd r3,Z+17 ldd r4,Z+18 ldd r5,Z+19 ldd r6,Z+20 ldd r7,Z+21 ldd r8,Z+22 ldd r9,Z+23 ldd r10,Z+24 ldd r11,Z+25 ldd r12,Z+26 ldd r13,Z+27 ldd r14,Z+28 ldd r15,Z+29 ldd r24,Z+30 ldd r25,Z+31 bst r2,0 bld r18,0 bst r6,0 bld r18,1 bst r10,0 bld r18,2 bst r14,0 bld r18,3 bst r2,1 bld r18,4 bst r6,1 bld r18,5 bst r10,1 bld r18,6 bst r14,1 bld r18,7 bst r2,2 bld r19,0 bst r6,2 bld r19,1 bst r10,2 bld r19,2 bst r14,2 bld r19,3 bst r2,3 bld r19,4 bst r6,3 bld r19,5 bst r10,3 bld r19,6 bst r14,3 bld r19,7 bst r2,4 bld r20,0 bst r6,4 bld r20,1 bst r10,4 bld r20,2 bst r14,4 bld r20,3 bst r2,5 bld r20,4 bst r6,5 bld r20,5 bst r10,5 bld r20,6 bst r14,5 bld r20,7 bst r2,6 bld r21,0 bst r6,6 bld r21,1 bst r10,6 bld r21,2 bst r14,6 bld r21,3 bst r2,7 bld r21,4 bst r6,7 bld r21,5 bst r10,7 bld r21,6 bst r14,7 bld r21,7 std Z+16,r18 std Z+17,r19 std Z+18,r20 std Z+19,r21 bst r3,0 bld r18,0 bst r7,0 bld r18,1 bst r11,0 bld r18,2 bst r15,0 bld r18,3 bst r3,1 bld r18,4 bst r7,1 bld r18,5 bst r11,1 bld r18,6 bst r15,1 bld r18,7 bst r3,2 bld r19,0 bst r7,2 bld r19,1 bst r11,2 bld r19,2 bst r15,2 bld r19,3 bst r3,3 bld r19,4 bst r7,3 bld r19,5 bst r11,3 bld r19,6 bst r15,3 bld r19,7 bst r3,4 bld r20,0 bst r7,4 bld r20,1 bst r11,4 bld r20,2 bst r15,4 bld r20,3 bst r3,5 bld r20,4 bst r7,5 bld r20,5 bst r11,5 bld r20,6 bst r15,5 bld r20,7 bst r3,6 bld r21,0 bst r7,6 bld r21,1 bst r11,6 bld r21,2 bst r15,6 bld r21,3 bst r3,7 bld r21,4 bst r7,7 bld r21,5 bst r11,7 bld r21,6 bst r15,7 bld r21,7 std Z+20,r18 std Z+21,r19 std Z+22,r20 std Z+23,r21 bst r4,0 bld r18,0 bst r8,0 bld r18,1 bst r12,0 bld r18,2 bst r24,0 bld r18,3 bst r4,1 bld r18,4 bst r8,1 bld r18,5 bst r12,1 bld r18,6 bst r24,1 bld r18,7 bst r4,2 bld r19,0 bst r8,2 bld r19,1 bst r12,2 bld r19,2 bst r24,2 bld r19,3 bst r4,3 bld r19,4 bst r8,3 bld r19,5 bst r12,3 bld r19,6 bst r24,3 bld r19,7 bst r4,4 bld r20,0 bst r8,4 bld r20,1 bst r12,4 bld r20,2 bst r24,4 bld r20,3 bst r4,5 bld r20,4 bst r8,5 bld r20,5 bst r12,5 bld r20,6 bst r24,5 bld r20,7 bst r4,6 bld r21,0 bst r8,6 bld r21,1 bst r12,6 bld r21,2 bst r24,6 bld r21,3 bst r4,7 bld r21,4 bst r8,7 bld r21,5 bst r12,7 bld r21,6 bst r24,7 bld r21,7 std Z+24,r18 std Z+25,r19 std Z+26,r20 std Z+27,r21 bst r5,0 bld r18,0 bst r9,0 bld r18,1 bst r13,0 bld r18,2 bst r25,0 bld r18,3 bst r5,1 bld r18,4 bst r9,1 bld r18,5 bst r13,1 bld r18,6 bst r25,1 bld r18,7 bst r5,2 bld r19,0 bst r9,2 bld r19,1 bst r13,2 bld r19,2 bst r25,2 bld r19,3 bst r5,3 bld r19,4 bst r9,3 bld r19,5 bst r13,3 bld r19,6 bst r25,3 bld r19,7 bst r5,4 bld r20,0 bst r9,4 bld r20,1 bst r13,4 bld r20,2 bst r25,4 bld r20,3 bst r5,5 bld r20,4 bst r9,5 bld r20,5 bst r13,5 bld r20,6 bst r25,5 bld r20,7 bst r5,6 bld r21,0 bst r9,6 bld r21,1 bst r13,6 bld r21,2 bst r25,6 bld r21,3 bst r5,7 bld r21,4 bst r9,7 bld r21,5 bst r13,7 bld r21,6 bst r25,7 bld r21,7 std Z+28,r18 std Z+29,r19 std Z+30,r20 std Z+31,r21 adiw r28,32 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 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 photon256_permute, .-photon256_permute #endif