| /* Copyright 2015, Kenneth MacKay. Licensed under the BSD 2-clause license. */ |
| |
| #ifndef _UECC_ASM_AVR_MULT_SQUARE_H_ |
| #define _UECC_ASM_AVR_MULT_SQUARE_H_ |
| |
| #define FAST_MULT_ASM_20 \ |
| "adiw r30, 10 \n\t" \ |
| "adiw r28, 10 \n\t" \ |
| "ld r2, x+ \n\t" \ |
| "ld r3, x+ \n\t" \ |
| "ld r4, x+ \n\t" \ |
| "ld r5, x+ \n\t" \ |
| "ld r6, x+ \n\t" \ |
| "ld r7, x+ \n\t" \ |
| "ld r8, x+ \n\t" \ |
| "ld r9, x+ \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r12, y+ \n\t" \ |
| "ld r13, y+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "ld r18, y+ \n\t" \ |
| "ld r19, y+ \n\t" \ |
| "ld r20, y+ \n\t" \ |
| "ld r21, y+ \n\t" \ |
| "ldi r25, 0 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "st z+, r0 \n\t" \ |
| "mov r22, r1 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r3, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r4, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r5, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r6, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r7, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r8, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r9, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r10, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "mul r11, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "st z+, r24 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "sbiw r30, 30 \n\t" \ |
| "sbiw r28, 20 \n\t" \ |
| "ld r12, y+ \n\t" \ |
| "ld r13, y+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "ld r18, y+ \n\t" \ |
| "ld r19, y+ \n\t" \ |
| "ld r20, y+ \n\t" \ |
| "ld r21, y+ \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "st z+, r0 \n\t" \ |
| "mov r22, r1 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r2, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r3, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r3, x+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r4, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r4, x+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r5, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r5, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r6, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r6, x+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r7, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r7, x+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r8, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r8, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r9, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r2, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r9, x+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r10, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r2, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r10, x+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r11, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r2, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r11, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r12, y+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r13, y+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r14, y+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r15, y+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r16, y+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r17, y+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r18, y+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r19, y+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r20, y+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r21, y+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r3, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r4, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r5, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r6, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r7, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r8, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r9, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r10, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "mul r11, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "st z+, r23 \n\t" \ |
| "st z+, r24 \n\t" |
| |
| #define FAST_MULT_ASM_20_TO_24 \ |
| "cpi r18, 20 \n\t" \ |
| "brne 1f \n\t" \ |
| "jmp 2f \n\t" \ |
| "1: \n\t" \ |
| "ld r2, x+ \n\t" \ |
| "ld r6, y+ \n\t" \ |
| "ld r3, x+ \n\t" \ |
| "ld r7, y+ \n\t" \ |
| "ld r4, x+ \n\t" \ |
| "ld r8, y+ \n\t" \ |
| "ld r5, x+ \n\t" \ |
| "ld r9, y+ \n\t" \ |
| "sbiw r26, 24 \n\t" \ |
| "sbiw r28, 24 \n\t" \ |
| "sbiw r30, 20 \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "ld r12, x+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "ld r13, x+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| \ |
| "mul r2, r14 \n\t" \ |
| "mov r19, r0 \n\t" \ |
| "mov r20, r1 \n\t" \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "ld r12, x+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r13, x+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r9, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r12, x+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "ld r13, x+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r9, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "ld r12, x+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "ld r13, x+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "ld r11, x+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r6, r11 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r7, r10 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "ld r12, x+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r7, r11 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r8, r10 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "ld r13, x+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r8, r11 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r9, r10 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "mul r11, r9 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r12, r8 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r13, r7 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r2, r6 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "mul r12, r9 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r13, r8 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r2, r7 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r3, r6 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "mul r13, r9 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r2, r8 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r3, r7 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r4, r6 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "ldi r20, 0 \n\t" \ |
| "mul r2, r9 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r3, r8 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r4, r7 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "mul r5, r6 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "adc r20, r25 \n\t" \ |
| "st z+, r21 \n\t" \ |
| \ |
| "ldi r21, 0 \n\t" \ |
| "mul r3, r9 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r4, r8 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "mul r5, r7 \n\t" \ |
| "add r19, r0 \n\t" \ |
| "adc r20, r1 \n\t" \ |
| "adc r21, r25 \n\t" \ |
| "st z+, r19 \n\t" \ |
| \ |
| "ldi r19, 0 \n\t" \ |
| "mul r4, r9 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "mul r5, r8 \n\t" \ |
| "add r20, r0 \n\t" \ |
| "adc r21, r1 \n\t" \ |
| "adc r19, r25 \n\t" \ |
| "st z+, r20 \n\t" \ |
| \ |
| "mul r5, r9 \n\t" \ |
| "add r21, r0 \n\t" \ |
| "adc r19, r1 \n\t" \ |
| "st z+, r21 \n\t" \ |
| "st z+, r19 \n\t" \ |
| "adiw r26, 4 \n\t" \ |
| "adiw r28, 4 \n\t" |
| |
| #define FAST_MULT_ASM_24 \ |
| "adiw r30, 20 \n\t" \ |
| "adiw r28, 20 \n\t" \ |
| "ld r2, x+ \n\t" \ |
| "ld r3, x+ \n\t" \ |
| "ld r4, x+ \n\t" \ |
| "ld r5, x+ \n\t" \ |
| "ld r12, y+ \n\t" \ |
| "ld r13, y+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "ldi r25, 0 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "st z+, r0 \n\t" \ |
| "mov r22, r1 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "mul r5, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "st z+, r24 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "sbiw r30, 18 \n\t" \ |
| "sbiw r28, 14 \n\t" \ |
| "ld r12, y+ \n\t" \ |
| "ld r13, y+ \n\t" \ |
| "ld r14, y+ \n\t" \ |
| "ld r15, y+ \n\t" \ |
| "ld r16, y+ \n\t" \ |
| "ld r17, y+ \n\t" \ |
| "ld r18, y+ \n\t" \ |
| "ld r19, y+ \n\t" \ |
| "ld r20, y+ \n\t" \ |
| "ld r21, y+ \n\t" \ |
| "ld r6, x+ \n\t" \ |
| "ld r7, x+ \n\t" \ |
| "ld r8, x+ \n\t" \ |
| "ld r9, x+ \n\t" \ |
| "ld r10, x+ \n\t" \ |
| "ld r11, x+ \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "st z+, r0 \n\t" \ |
| "mov r22, r1 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ldi r24, 0 \n\t" \ |
| "mul r2, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ldi r22, 0 \n\t" \ |
| "mul r2, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ldi r23, 0 \n\t" \ |
| "mul r2, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r2, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r3, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r6, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r2, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r3, x+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r4, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r6, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r2, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r4, x+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r5, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r6, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r2, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r5, x+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r6, r21 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r7, r20 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r8, r19 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r9, r18 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r10, r17 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r11, r16 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r2, r15 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r3, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r4, r13 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "mul r5, r12 \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r1 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r22, r0 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "st z+, r22 \n\t" \ |
| \ |
| "ld r12, y+ \n\t" \ |
| "ldi r22, 0 \n\t" \ |
| "mul r6, r12 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r7, r21 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r8, r20 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r9, r19 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r10, r18 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r11, r17 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r2, r16 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r3, r15 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r4, r14 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "mul r5, r13 \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r1 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r23, r0 \n\t" \ |
| "adc r24, r25 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "st z+, r23 \n\t" \ |
| \ |
| "ld r13, y+ \n\t" \ |
| "ldi r23, 0 \n\t" \ |
| "mul r6, r13 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r7, r12 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r8, r21 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r9, r20 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r10, r19 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r11, r18 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r2, r17 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r3, r16 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r4, r15 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "mul r5, r14 \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r1 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "ld r0, z \n\t" \ |
| "add r24, r0 \n\t" \ |
| "adc r22, r25 \n\t" \ |
| "adc r23, r25 \n\t" \ |
| "st z+, r24 \n\t" \ |
| \ |
| "ld r14, y+ \n\t" \ |
| "ldi r24, 0 \n\t" \ |
| "mul r6, r14 \n\t" \ |
| "add r22, r0 \n\t" \ |
| |