aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2019-09-28 20:05:38 +0000
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2019-09-28 20:05:38 +0000
commit2f1053e545c6ce2276b4dd40d1f99e4d5876cd26 (patch)
treed62a7f9c32019f3771e0cc1f2d9cccb882bc1a64
parent9f8de7c662dba9da5d55f7e05fae03a027c8bd7d (diff)
[X86, Darwin] Backport fix for pr82920 (part 4).
As part of the backport for pr82920, the following three testcases that are only present on the 7 and 8 branch, also needed amendment. 2019-09-28 Iain Sandoe <iain@sandoe.co.uk> PR target/82920 * gcc.target/i386/indirect-thunk-bnd-1.c: Adjust scan-asms for Darwin, do not use -fno-pic on Darwin. * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. * gcc.target/i386/ret-thunk-25.c: Skip for Darwin, which has a different ABI for returning this category of complex value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@276259 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/ret-thunk-25.c1
4 files changed, 18 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8f18d59a3b6..7a748e6406a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2019-09-28 Iain Sandoe <iain@sandoe.co.uk>
+ PR target/82920
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Adjust scan-asms for Darwin,
+ do not use -fno-pic on Darwin.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/ret-thunk-25.c: Skip for Darwin, which has a
+ different ABI for returning this category of complex value.
+
+2019-09-28 Iain Sandoe <iain@sandoe.co.uk>
+
Backport from mainline.
2019-05-14 Iain Sandoe <iain@sandoe.co.uk>
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 73d16baddc7..6dce9045812 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target { ! x32 } } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx" } */
+/* { dg-additional-options "-fno-pic" { target { ! *-*-darwin* } } } */
void (*dispatch) (char *);
char buf[10];
@@ -11,8 +12,8 @@ foo (void)
}
/* { dg-final { scan-assembler "mov(?:l|q)\[ \t\]*_?dispatch" { target *-*-linux* } } } */
-/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd_rax" { target lp64 } } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*__x86_indirect_thunk_bnd_eax" { target ia32 } } } */
+/* { dg-final { scan-assembler "bnd jmp\[ \t\]*_?__x86_indirect_thunk_bnd_rax" { target lp64 } } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*_?__x86_indirect_thunk_bnd_eax" { target ia32 } } } */
/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
/* { dg-final { scan-assembler "bnd ret" } } */
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 856751ac224..20091c852d7 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target { ! x32 } } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx" } */
+/* { dg-additional-options "-fno-pic" { target { ! *-*-darwin* } } } */
void (*dispatch) (char *);
char buf[10];
@@ -12,8 +13,8 @@ foo (void)
}
/* { dg-final { scan-assembler "mov(?:l|q)\[ \t\]*_?dispatch" { target *-*-linux* } } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*__x86_indirect_thunk_bnd_(r|e)ax" } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*_?__x86_indirect_thunk_bnd_(r|e)ax" } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*\.?LIND" } } */
/* { dg-final { scan-assembler "bnd ret" } } */
/* { dg-final { scan-assembler {\tpause} } } */
/* { dg-final { scan-assembler {\tlfence} } } */
diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-25.c b/gcc/testsuite/gcc.target/i386/ret-thunk-25.c
index f73553c9a9f..c0fd9bab257 100644
--- a/gcc/testsuite/gcc.target/i386/ret-thunk-25.c
+++ b/gcc/testsuite/gcc.target/i386/ret-thunk-25.c
@@ -1,5 +1,6 @@
/* PR target/r84530 */
/* { dg-do compile { target ia32 } } */
+/* { dg-skip-if "ABI differs for return complex value" { *-*-darwin* } } */
/* { dg-options "-O2 -mfunction-return=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
struct s { _Complex unsigned short x; };