https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67958
Bug ID: 67958 Summary: The tests changed by r223498 now FAILs on darwin Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: dominiq at lps dot ens.fr CC: andreast at gcc dot gnu.org, iains at gcc dot gnu.org Target Milestone: --- Host: x86_64-apple-darwin* Target: x86_64-apple-darwin* Build: x86_64-apple-darwin* The tests changed by r223498 now FAILs on darwin FAIL: gcc.target/i386/pr32219-1.c scan-assembler movl[ \\t]xxx@GOTOFF\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-2.c scan-assembler movl[ \\t]xxx@GOT\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-3.c scan-assembler movl[ \\t]xxx@GOTOFF\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-4.c scan-assembler movl[ \\t]xxx@GOT\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-5.c scan-assembler movl[ \\t]xxx@GOTOFF\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-6.c scan-assembler movl[ \\t]xxx@GOT\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-7.c scan-assembler movl[ \\t]xxx@GOTOFF\\\\(%[^,]*\\\\), %eax FAIL: gcc.target/i386/pr32219-8.c scan-assembler movl[ \\t]xxx@GOT\\\\(%[^,]*\\\\), %eax with -m32 and FAIL: gcc.target/i386/pr32219-1.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\), %eax FAIL: gcc.target/i386/pr32219-3.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\), %eax FAIL: gcc.target/i386/pr32219-3.c scan-assembler-not xxx@GOTPCREL FAIL: gcc.target/i386/pr32219-5.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\), %eax FAIL: gcc.target/i386/pr32219-6.c scan-assembler xxx@GOTPCREL FAIL: gcc.target/i386/pr32219-7.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\), %eax FAIL: gcc.target/i386/pr32219-7.c scan-assembler-not xxx@GOTPCREL with -m64 and FAIL: gcc.target/i386/pr39013-1.c scan-assembler bar@PLT FAIL: gcc.target/i386/pr39013-1.c scan-assembler foo@PLT FAIL: gcc.target/i386/pr39013-2.c scan-assembler bar@PLT FAIL: gcc.target/i386/pr39013-2.c scan-assembler foo@PLT with -m32 or -m64. With the following patch --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-1.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-1.c 2015-10-13 19:20:57.000000000 +0200 @@ -12,7 +12,7 @@ foo () return xxx; } -/* { dg-final { scan-assembler "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler "movl\[ \t\]_?xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "xxx@GOTPCREL" { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\]_?xxx(@GOTOFF|-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-2.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-2.c 2015-10-13 22:40:20.000000000 +0200 @@ -14,4 +14,4 @@ foo () /* { dg-final { scan-assembler-not "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler "xxx@GOTPCREL" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\](L_)?xxx(@GOT|\\\$non_lazy_ptr-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-4.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-4.c 2015-10-13 22:11:56.000000000 +0200 @@ -15,4 +15,4 @@ foo () /* { dg-final { scan-assembler-not "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler "xxx@GOTPCREL" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\](L_)?xxx(@GOT|\\\$non_lazy_ptr-L1\\\$pb)\\(%\[^,\]*\\)(\\(%\[^,\]*\\))?, %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-5.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-5.c 2015-10-13 22:14:11.000000000 +0200 @@ -11,7 +11,7 @@ foo () return xxx; } -/* { dg-final { scan-assembler "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler "movl\[ \t\]_?xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "xxx@GOTPCREL" { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\]_?xxx(@GOTOFF|-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-6.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-6.c 2015-10-13 22:16:33.000000000 +0200 @@ -14,4 +14,4 @@ foo () /* { dg-final { scan-assembler-not "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler "xxx@GOTPCREL" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\]_?xxx(@GOT|-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-7.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-7.c 2015-10-13 22:18:45.000000000 +0200 @@ -14,5 +14,5 @@ foo () /* { dg-final { scan-assembler "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "xxx@GOTPCREL" { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\](L_)?xxx(@GOTOFF|\\\$non_lazy_ptr-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr32219-8.c 2015-05-21 23:58:24.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr32219-8.c 2015-10-13 22:21:07.000000000 +0200 @@ -15,4 +15,4 @@ foo () /* { dg-final { scan-assembler-not "movl\[ \t\]xxx\\(%rip\\), %eax" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler "xxx@GOTPCREL" { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-not "movl\[ \t\]xxx@GOTOFF\\(%\[^,\]*\\), %eax" { target ia32 } } } */ -/* { dg-final { scan-assembler "movl\[ \t\]xxx@GOT\\(%\[^,\]*\\), %eax" { target ia32 } } } */ +/* { dg-final { scan-assembler "movl\[ \t\](L_)?xxx(@GOT|\\\$non_lazy_ptr-L1\\\$pb)\\(%\[^,\]*\\), %eax" { target ia32 } } } */ the failures reduce to FAIL: gcc.target/i386/pr32219-3.c scan-assembler movl[ \t]xxx\\(%rip\\), %eax FAIL: gcc.target/i386/pr32219-3.c scan-assembler-not xxx@GOTPCREL FAIL: gcc.target/i386/pr32219-6.c scan-assembler xxx@GOTPCREL FAIL: gcc.target/i386/pr32219-7.c scan-assembler movl[ \t]xxx\\(%rip\\), %eax FAIL: gcc.target/i386/pr32219-7.c scan-assembler-not xxx@GOTPCREL with -m64. Does the patch move in the right direction, should it provide patterns for the scan-assembler-not, any advice for the remaining failures?