https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
--- Comment #2 from Ferruh YIGIT <ferruh.yigit at intel dot com> --- While preparing the support files for this report, via --save-temps, recognized that generated .s file output is a little different, and correct assuming the suspicion on source of the failure was right: 3495 movl $-1, %edx 3496 salq $5, %rax 3497 xorl %ecx, %ecx 3498 kmovb %edx, %k1 3499 .p2align 4,,10 3500 .p2align 3 3501 .L540: 3502 vmovdqu64 (%rsi,%rcx), %ymm1 3503 kmovb %k1, %k2 3504 vpgatherqq 8(,%ymm1,1), %ymm0{%k2} 3505 kmovb %k1, %k3 3506 vpaddq %ymm1, %ymm0, %ymm0 3507 vpgatherqq 0(,%ymm1,1), %ymm2{%k3} 3508 vpsubq %ymm2, %ymm0, %ymm0 3509 vmovdqu64 %ymm0, (%r8,%rcx) It has "vpgatherqq 8 ..." Attaching .s and .i files. Does this mean the problem is in the assembler? /usr/bin/as --version GNU assembler version 2.31.1-24.fc29