https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64210
Bug ID: 64210 Summary: FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: dominiq at lps dot ens.fr CC: hjl at gcc dot gnu.org, iains at gcc dot gnu.org, tocarip at gcc dot gnu.org Target: x86_64-*-* Compiling the following tests with -fpic fail some scan-assembler-times tests FAIL: gcc.target/i386/avx512vl-vmovdqa64-1.c scan-assembler-times vmovdqa64[ \\\\t]+[^{\\n]*%ymm[0-9]+[^\\n^x^y]*\\\\(.{5}(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/avx512vl-vmovdqa64-1.c scan-assembler-times vmovdqa64[ \\\\t]+\\\\([^\\n]*%xmm[0-9]+(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/avx512vl-vmovdqa64-1.c scan-assembler-times vmovdqa64[ \\\\t]+\\\\([^\\n]*%ymm[0-9]+(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/avx512vl-vpbroadcastd-1.c scan-assembler-times vpbroadcastd[ \\\\t]+%e[^\\n]*%ymm[0-9]+{%k[1-7]}(?:\\n|[ \\\\t]+#) 1 see, e.g., https://gcc.gnu.org/ml/gcc-testresults/2014-12/msg00687.html, with both -m32 and -m64, except gcc.target/i386/avx512vl-vpbroadcastd-1.c which fails with -m64 only. In the later case the failure is likely due to vpbroadcastd %r8d, %ymm0{%k5} For gcc.target/i386/avx512vl-vmovdqa64-1.c, grepping vmovdqa64 gives vmovdqa64 (%eax), %ymm1 vmovdqa64 (%ecx), %ymm0 vmovdqa64 %ymm1, %ymm0{%k1} vmovdqa64 %ymm0, (%ecx) vmovdqa64 (%edi), %xmm1 vmovdqa64 (%esi), %xmm0 vmovdqa64 %xmm1, %xmm0{%k2} vmovdqa64 (%esi), %ymm0 vmovdqa64 %ymm0, %ymm0{%k3}{z} vmovdqa64 %ymm0, (%ecx) vmovdqa64 (%edi), %xmm0 vmovdqa64 %xmm0, %xmm0{%k4}{z} vmovdqa64 (%esi), %ymm0 vmovdqa64 %ymm0, (%ecx) vmovdqa64 (%esi), %xmm0 vmovdqa64 (%ecx), %ymm0 vmovdqa64 (%ebx), %ymm0{%k5} vmovdqa64 %ymm0, (%ecx) vmovdqa64 (%edx), %xmm0 vmovdqa64 (%ebx), %xmm0{%k6} vmovdqa64 (%ebx), %ymm0{%k7}{z} vmovdqa64 %ymm0, (%ecx) vmovdqa64 (%ebx), %xmm0{%k1}{z} vmovdqa64 (%ecx), %ymm0 vmovdqa64 %ymm0, (%ebx) vmovdqa64 (%edx), %xmm0 vmovdqa64 (%ecx), %ymm0 vmovdqa64 %ymm0, (%ecx){%k2} vmovdqa64 (%edx), %xmm0 vmovdqa64 %xmm0, (%eax){%k3} but I failed to see where are the problems.