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?

Reply via email to