.file "set1.c" .text .p2align 4,,15 .globl set .type set, @function set: .LFB0: .cfi_startproc movq %rdi, %rax andl $31, %eax shrq $2, %rax negq %rax andl $7, %eax je .L7 movl (%rdi), %edx movl $42, %r11d imull %r11d, %edx cmpl $1, %eax movl %edx, (%rdi) jbe .L8 movl 4(%rdi), %edx movl $42, %r10d imull %r10d, %edx cmpl $2, %eax movl %edx, 4(%rdi) jbe .L9 movl 8(%rdi), %edx movl $42, %r9d imull %r9d, %edx cmpl $3, %eax movl %edx, 8(%rdi) jbe .L10 movl 12(%rdi), %edx movl $42, %r8d imull %r8d, %edx cmpl $4, %eax movl %edx, 12(%rdi) jbe .L11 movl 16(%rdi), %edx movl $42, %esi imull %esi, %edx cmpl $5, %eax movl %edx, 16(%rdi) jbe .L12 movl 20(%rdi), %edx movl $42, %ecx imull %ecx, %edx cmpl $6, %eax movl %edx, 20(%rdi) jbe .L13 movl 24(%rdi), %edx movl $42, %r11d movl $7, %r9d imull %r11d, %edx movl %edx, 24(%rdi) movl $121, %edx .L2: movl $128, %ecx vmovdqa .LC0(%rip), %ymm0 subl %eax, %ecx movl %eax, %eax leaq (%rdi,%rax,4), %rax movl %ecx, %r8d shrl $3, %r8d vpmulld (%rax), %ymm0, %ymm1 vmovdqa %ymm1, (%rax) cmpl $15, %r8d vpmulld 32(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 32(%rax) leal 0(,%r8,8), %esi vpmulld 64(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 64(%rax) vpmulld 96(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 96(%rax) vpmulld 128(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 128(%rax) vpmulld 160(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 160(%rax) vpmulld 192(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 192(%rax) vpmulld 224(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 224(%rax) vpmulld 256(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 256(%rax) vpmulld 288(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 288(%rax) vpmulld 320(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 320(%rax) vpmulld 352(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 352(%rax) vpmulld 384(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 384(%rax) vpmulld 416(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 416(%rax) vpmulld 448(%rax), %ymm0, %ymm1 vmovdqa %ymm1, 448(%rax) jbe .L4 vpmulld 480(%rax), %ymm0, %ymm0 vmovdqa %ymm0, 480(%rax) .L4: leal (%r9,%rsi), %eax subl %esi, %edx cmpl %esi, %ecx je .L29 movslq %eax, %rcx movl $42, %r9d leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r9d, %esi cmpl $1, %edx movl %esi, (%rcx) leal 1(%rax), %ecx je .L29 movslq %ecx, %rcx movl $42, %r8d leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r8d, %esi cmpl $2, %edx movl %esi, (%rcx) leal 2(%rax), %ecx je .L29 movslq %ecx, %rcx movl $42, %r11d leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r11d, %esi cmpl $3, %edx movl %esi, (%rcx) leal 3(%rax), %ecx je .L29 movslq %ecx, %rcx movl $42, %r10d leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r10d, %esi cmpl $4, %edx movl %esi, (%rcx) leal 4(%rax), %ecx je .L29 movslq %ecx, %rcx movl $42, %r9d leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r9d, %esi cmpl $5, %edx movl %esi, (%rcx) leal 5(%rax), %ecx je .L29 movslq %ecx, %rcx movl $42, %r8d addl $6, %eax leaq (%rdi,%rcx,4), %rcx movl (%rcx), %esi imull %r8d, %esi cmpl $6, %edx movl %esi, (%rcx) je .L29 cltq movl $42, %r10d leaq (%rdi,%rax,4), %rax movl (%rax), %edx imull %r10d, %edx movl %edx, (%rax) .L29: vzeroupper ret .p2align 4,,10 .p2align 3 .L7: movl $128, %edx xorl %r9d, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L13: movl $122, %edx movl $6, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L8: movl $127, %edx movl $1, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L9: movl $126, %edx movl $2, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L10: movl $125, %edx movl $3, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L11: movl $124, %edx movl $4, %r9d jmp .L2 .p2align 4,,10 .p2align 3 .L12: movl $123, %edx movl $5, %r9d jmp .L2 .cfi_endproc .LFE0: .size set, .-set .section .rodata.cst32,"aM",@progbits,32 .align 32 .LC0: .long 42 .long 42 .long 42 .long 42 .long 42 .long 42 .long 42 .long 42 .ident "GCC: (Debian 4.8.1-10) 4.8.1" .section .note.GNU-stack,"",@progbits