https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89229
--- Comment #16 from H.J. Lu <hjl.tools at gmail dot com> --- [hjl@gnu-4 gcc]$ cat /tmp/y.c /* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2 -march=skylake-avx512 -mprefer-vector-width=512" } */ extern float d; void foo1 (float x) { register float xmm16 __asm ("xmm16") = x; asm volatile ("" : "+v" (xmm16)); d = xmm16; } /* { dg-final { scan-assembler-not "%zmm\[0-9\]+" } } */ [hjl@gnu-4 gcc]$ gcc -S -O2 -march=skylake-avx512 /tmp/y.c -mprefer-vector-width=512 [hjl@gnu-4 gcc]$ cat y.s .file "y.c" .text .p2align 4,,15 .globl foo1 .type foo1, @function foo1: .LFB0: .cfi_startproc vmovaps %zmm0, %zmm16 vmovss %xmm16, d(%rip) ret .cfi_endproc .LFE0: .size foo1, .-foo1 .ident "GCC: (GNU) 8.2.1 20190209 (Red Hat 8.2.1-8)" .section .note.GNU-stack,"",@progbits [hjl@gnu-4 gcc]$