ASM_OUTPUT_DEF isn't defined for TARGET_MACHO.  Use ASM_OUTPUT_LABEL to
generate the __x86_return_thunk label, instead of the set directive.
Update testcase to remove the __x86_return_thunk label check.  Since
-fno-pic is ignored on Darwin, update testcases to sscan or "push"
only on Linux.

Tested with a cross compiler to x86_64-apple-darwin10.4.0.  OK for
trunk?

H.J.
---
gcc/

        PR target/83839
        * config/i386/i386.c (output_indirect_thunk_function): Use
        ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
        for  __x86.return_thunk.

gcc/testsuite/

        PR target/83839
        * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on
        Linux.
        * gcc.target/i386/indirect-thunk-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-4.c: Likewise.
        * gcc.target/i386/indirect-thunk-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-4.c: Likewise.
        * gcc.target/i386/ret-thunk-10.c: Likewise.
        * gcc.target/i386/ret-thunk-11.c: Likewise.
        * gcc.target/i386/ret-thunk-12.c: Likewise.
        * gcc.target/i386/ret-thunk-13.c: Likewise.
        * gcc.target/i386/ret-thunk-14.c: Likewise.
        * gcc.target/i386/ret-thunk-15.c: Likewise.
        * gcc.target/i386/ret-thunk-9.c: Don't check the
        __x86_return_thunk label.
        Scan for "push" only for Linux.
---
 gcc/config/i386/i386.c                                  | 3 ++-
 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c        | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c        | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c        | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c        | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c        | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c    | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c    | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-10.c            | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-11.c            | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-13.c            | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-14.c            | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-15.c            | 2 +-
 gcc/testsuite/gcc.target/i386/ret-thunk-9.c             | 3 +--
 31 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 5e4f845a1bd..bfb31db8752 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -10970,7 +10970,6 @@ output_indirect_thunk_function (bool need_bnd_p, int 
regno)
       char alias[32];
 
       indirect_thunk_name (alias, regno, need_bnd_p, true);
-      ASM_OUTPUT_DEF (asm_out_file, alias, name);
 #if TARGET_MACHO
       if (TARGET_MACHO)
        {
@@ -10979,8 +10978,10 @@ output_indirect_thunk_function (bool need_bnd_p, int 
regno)
          fputs ("\n\t.private_extern\t", asm_out_file);
          assemble_name (asm_out_file, alias);
          putc ('\n', asm_out_file);
+         ASM_OUTPUT_LABEL (asm_out_file, alias);
        }
 #else
+      ASM_OUTPUT_DEF (asm_out_file, alias, name);
       if (USE_HIDDEN_LINKONCE)
        {
          fputs ("\t.globl\t", asm_out_file);
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
index 9eb9b273ade..60d09881a99 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch(offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
index c63795e4127..aac75163794 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch[offset](offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
index 82973cda771..9e24a385387 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
index a5f3d1cbed8..127b5d94523 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
index ebfb8aab937..17c2d0faf88 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
@@ -35,7 +35,7 @@ bar (int i)
     }
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ ! x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ { ! x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
index a08022db8e4..9194ccf3cbc 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
   dispatch(offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
index b257c695ad1..e51f261a612 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   dispatch[offset](offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
index dfb1370d23d..4aeec1833cd 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler {\tpause} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
index a6e3f6f9f2b..ac0e5999f63 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
@@ -13,7 +13,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler {\tpause} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
index 4bb1c5f9220..573cf1ef09e 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
index 4e33a638862..b2b37fc6e2e 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
@@ -13,7 +13,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
index 427ba3ddbb4..4a43e199931 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
@@ -36,7 +36,7 @@ bar (int i)
     }
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ ! x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ { ! x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" } } */
 /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
index dc7143414fb..ac84ab623fa 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
@@ -10,7 +10,7 @@ foo (void)
   dispatch (buf);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
 /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
index 737c60946f6..ce655e8be1c 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
@@ -11,7 +11,7 @@ foo (void)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
 /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
 /* { dg-final { scan-assembler "bnd jmp\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
index 5c20a35ecec..579441f250e 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch(offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
index b2fb6e1bcd2..c92e6f2b02d 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch[offset](offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
index 9c84547cd7c..d9964c25bbd 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
index 457849564bb..d4dca4dc5fe 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } 
} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
index d4747ea0764..aece9383697 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
@@ -35,7 +35,7 @@ bar (int i)
     }
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ ! x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ { ! x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
index 536abfa74e4..3aba5e8c81f 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch(offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler {\tpause} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
index bd2b6246aa1..0f0181d6672 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
   dispatch[offset](offset);
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler {\tpause} } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
index 9885eebbcff..2eef6f35a75 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times {\tpause} 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
index 7b3983949d2..e825a10f14c 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
   return 0;
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! 
x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! 
x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
 /* { dg-final { scan-assembler-times {\tpause} 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c 
b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
index cc592f89aba..c67066cf197 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
@@ -35,7 +35,7 @@ bar (int i)
     }
 }
 
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ ! x32 } } } } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target 
{ { ! x32 } && *-*-linux* } } } } */
 /* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-10.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
index b4f9d48065d..e6fea84a4d9 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
@@ -15,7 +15,7 @@ foo (void)
 /* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
 /* { dg-final { scan-assembler-times {\tpause} 2 } } */
 /* { dg-final { scan-assembler-times {\tlfence} 2 } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } }  } } */
 /* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } }  } 
} */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target { x32 } }  } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-11.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
index 0312577a043..e239ec4542f 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
@@ -15,7 +15,7 @@ foo (void)
 /* { dg-final { scan-assembler-times {\tlfence} 1 } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } }  } 
} */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target { x32 } }  } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-13.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
index 7a08e71c76b..fd5b41fdd3f 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
@@ -14,7 +14,7 @@ foo (void)
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
 /* { dg-final { scan-assembler-times {\tpause} 2 } } */
 /* { dg-final { scan-assembler-times {\tlfence} 2 } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 3 } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 3 } } */
 /* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_indirect_thunk" } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-14.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
index dacf0c769fc..d606373ead1 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
@@ -16,7 +16,7 @@ foo (void)
 /* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target { x32 } }  } } */
 /* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-15.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
index cf06a5f35c7..75e45e226b8 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
@@ -16,7 +16,7 @@ foo (void)
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler-times {\tpause} 1 } } */
 /* { dg-final { scan-assembler-times {\tlfence} 1 } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { 
target x32 } } } */
 /* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-9.c 
b/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
index 6da5ab97081..d1db41cc128 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
@@ -11,13 +11,12 @@ foo (void)
 }
 
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
-/* { dg-final { scan-assembler-not "__x86_return_thunk:" } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "__x86_indirect_thunk:" } } */
 /* { dg-final { scan-assembler-times {\tpause} 1 { target { ! x32 } } } } */
 /* { dg-final { scan-assembler-times {\tlfence} 1 { target { ! x32 } } } } */
-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { ! x32 } } 
} } */
+/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } 
&& *-*-linux* } } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! 
x32 } } } } */
 /* { dg-final { scan-assembler-times {\tpause} 2 { target { x32 } } } } */
 /* { dg-final { scan-assembler-times {\tlfence} 2 { target { x32 } } } } */
-- 
2.14.3

Reply via email to