On Wed, Apr 27, 2016 at 2:09 AM, Bernd Schmidt <bschm...@redhat.com> wrote: > On 04/27/2016 02:10 AM, H.J. Lu wrote: >> >> On Tue, Apr 26, 2016 at 3:11 PM, Bernd Schmidt <bschm...@redhat.com> >> wrote: >>> >>> On 04/26/2016 09:39 PM, H.J. Lu wrote: >>>> >>>> >>>> make check-gcc RUNTESTFLAGS="--target_board='unix{-mx32}' >>>> i386.exp=avx512vl-vmovdqa64-1.c" >>> >>> >>> >>> Unfortunately, that doesn't work: >>> >>> /usr/include/gnu/stubs.h:13:28: fatal error: gnu/stubs-x32.h: No such >>> file >>> or directory >>> compilation terminated. >>> >>> Trying to follow the recipe to get am x32 glibc built fails with the same >>> error when trying to build an x32 libgcc. I think I'll need you to send >>> me >>> before/after assembly files (I'm assuming it's -frename-registers which >>> makes the test fail on x32). >>> >> >> Here are avx512vl-vmovdqa64-1.i, old.s and new.s. > > > Still somewhat at a loss. Is it trying to match a register name and close > paren with the '.{5}'? What if you replace that with something like > '%[re][0-9a-z]*//)'? Or maybe '.{5,6}'? >
This works for -m32, -mx32 and -m64. OK for trunk? Thanks. -- H.J.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Replace ".{5}" with ".{5,6}". diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vmovdqa64-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vmovdqa64-1.c index 6930f79..14fe4b8 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vl-vmovdqa64-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vl-vmovdqa64-1.c @@ -10,7 +10,7 @@ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\nxy\]*\\(.{5}(?:\n|\[ \\t\]+#)" 1 { target nonpic } } } */ +/* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\nxy\]*\\(.{5,6}(?:\n|\[ \\t\]+#)" 1 { target nonpic } } } */ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\nxy\]*\\((?:\n|\[ \\t\]+#)" 1 { xfail *-*-* } } } */ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */