This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] Allow MIPS call-saved-{4-6}.c tests to correctly run for micromips
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: Andrew Bennett <Andrew dot Bennett at imgtec dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 15 Jan 2015 11:23:16 +0000
- Subject: RE: [PATCH] Allow MIPS call-saved-{4-6}.c tests to correctly run for micromips
- Authentication-results: sourceware.org; auth=none
- References: <0DA23CC379F5F945ACB41CF394B9827720F4BF02 at LEMAIL01 dot le dot imgtec dot org>
> I have tested this for both mips and micromips, and the tests now pass
> successfully.
> The ChangeLog and patch are below.
>
> Ok to commit?
Since you had not got to committing this yet. I have added the micromips
variants of the tests and committed your patch for you. Thanks for
finding the failures.
Thanks,
Matthew
gcc/testsuite/
* gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION.
* gcc.target/mips/call-saved-5.c (foo): Likewise.
* gcc.target/mips/call-saved-6.c (foo): Likewise.
* gcc.target/mips/call-saved-7.c: New file.
* gcc.target/mips/call-saved-8.c: New file.
* gcc.target/mips/call-saved-9.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219640 138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/testsuite/ChangeLog | 10 ++++++++++
gcc/testsuite/gcc.target/mips/call-saved-4.c | 2 +-
gcc/testsuite/gcc.target/mips/call-saved-5.c | 2 +-
gcc/testsuite/gcc.target/mips/call-saved-6.c | 2 +-
gcc/testsuite/gcc.target/mips/call-saved-7.c | 25 +++++++++++++++++++++++++
gcc/testsuite/gcc.target/mips/call-saved-8.c | 25 +++++++++++++++++++++++++
gcc/testsuite/gcc.target/mips/call-saved-9.c | 25 +++++++++++++++++++++++++
7 files changed, 88 insertions(+), 3 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/mips/call-saved-7.c
create mode 100644 gcc/testsuite/gcc.target/mips/call-saved-8.c
create mode 100644 gcc/testsuite/gcc.target/mips/call-saved-9.c
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6b73d31..1285633 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2015-01-15 Andrew Bennett <andrew.bennett@imgtec.com>
+ Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION.
+ * gcc.target/mips/call-saved-5.c (foo): Likewise.
+ * gcc.target/mips/call-saved-6.c (foo): Likewise.
+ * gcc.target/mips/call-saved-7.c: New file.
+ * gcc.target/mips/call-saved-8.c: New file.
+ * gcc.target/mips/call-saved-9.c: New file.
+
2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
* gcc.target/mips/lsa.c: New file.
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-4.c b/gcc/testsuite/gcc.target/mips/call-saved-4.c
index 846ea32..92881c4 100644
--- a/gcc/testsuite/gcc.target/mips/call-saved-4.c
+++ b/gcc/testsuite/gcc.target/mips/call-saved-4.c
@@ -3,7 +3,7 @@
void bar (void);
-void
+NOCOMPRESSION void
foo (int x)
{
__builtin_unwind_init ();
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-5.c b/gcc/testsuite/gcc.target/mips/call-saved-5.c
index 2937b31..152b28f 100644
--- a/gcc/testsuite/gcc.target/mips/call-saved-5.c
+++ b/gcc/testsuite/gcc.target/mips/call-saved-5.c
@@ -3,7 +3,7 @@
void bar (void);
-void
+NOCOMPRESSION void
foo (int x)
{
__builtin_unwind_init ();
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-6.c b/gcc/testsuite/gcc.target/mips/call-saved-6.c
index 0d1a4c8..a384d4a 100644
--- a/gcc/testsuite/gcc.target/mips/call-saved-6.c
+++ b/gcc/testsuite/gcc.target/mips/call-saved-6.c
@@ -3,7 +3,7 @@
void bar (void);
-void
+NOCOMPRESSION void
foo (int x)
{
__builtin_unwind_init ();
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-7.c b/gcc/testsuite/gcc.target/mips/call-saved-7.c
new file mode 100644
index 0000000..2ebc2f1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/call-saved-7.c
@@ -0,0 +1,25 @@
+/* Check that we save the correct call-saved GPRs and FPRs. */
+/* { dg-options "(HAS_LDC) -mmicromips -mabi=32 -mfp32" } */
+
+void bar (void);
+
+void
+foo (int x)
+{
+ __builtin_unwind_init ();
+ __builtin_eh_return (x, bar);
+}
+/* { dg-final { scan-assembler "\\\$16-\\\$23" } } */
+/* { dg-final { scan-assembler "\\\$(30|fp)" } } */
+/* { dg-final { scan-assembler "\\\$f20" } } */
+/* { dg-final { scan-assembler "\\\$f22" } } */
+/* { dg-final { scan-assembler "\\\$f24" } } */
+/* { dg-final { scan-assembler "\\\$f26" } } */
+/* { dg-final { scan-assembler "\\\$f28" } } */
+/* { dg-final { scan-assembler "\\\$f30" } } */
+/* { dg-final { scan-assembler-not "\\\$f21" } } */
+/* { dg-final { scan-assembler-not "\\\$f23" } } */
+/* { dg-final { scan-assembler-not "\\\$f25" } } */
+/* { dg-final { scan-assembler-not "\\\$f27" } } */
+/* { dg-final { scan-assembler-not "\\\$f29" } } */
+/* { dg-final { scan-assembler-not "\\\$f31" } } */
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-8.c b/gcc/testsuite/gcc.target/mips/call-saved-8.c
new file mode 100644
index 0000000..4e8f8d7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/call-saved-8.c
@@ -0,0 +1,25 @@
+/* Check that we save the correct call-saved GPRs and FPRs. */
+/* { dg-options "-mmicromips -mabi=32 -mfpxx" } */
+
+void bar (void);
+
+void
+foo (int x)
+{
+ __builtin_unwind_init ();
+ __builtin_eh_return (x, bar);
+}
+/* { dg-final { scan-assembler "\\\$16-\\\$23" } } */
+/* { dg-final { scan-assembler "\\\$(30|fp)" } } */
+/* { dg-final { scan-assembler "\\\$f20" } } */
+/* { dg-final { scan-assembler "\\\$f22" } } */
+/* { dg-final { scan-assembler "\\\$f24" } } */
+/* { dg-final { scan-assembler "\\\$f26" } } */
+/* { dg-final { scan-assembler "\\\$f28" } } */
+/* { dg-final { scan-assembler "\\\$f30" } } */
+/* { dg-final { scan-assembler-not "\\\$f21" } } */
+/* { dg-final { scan-assembler-not "\\\$f23" } } */
+/* { dg-final { scan-assembler-not "\\\$f25" } } */
+/* { dg-final { scan-assembler-not "\\\$f27" } } */
+/* { dg-final { scan-assembler-not "\\\$f29" } } */
+/* { dg-final { scan-assembler-not "\\\$f31" } } */
diff --git a/gcc/testsuite/gcc.target/mips/call-saved-9.c b/gcc/testsuite/gcc.target/mips/call-saved-9.c
new file mode 100644
index 0000000..91ebc0b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/call-saved-9.c
@@ -0,0 +1,25 @@
+/* Check that we save the correct call-saved GPRs and FPRs. */
+/* { dg-options "-mmicromips -mabi=32 -mfp64" } */
+
+void bar (void);
+
+void
+foo (int x)
+{
+ __builtin_unwind_init ();
+ __builtin_eh_return (x, bar);
+}
+/* { dg-final { scan-assembler "\\\$16-\\\$23" } } */
+/* { dg-final { scan-assembler "\\\$(30|fp)" } } */
+/* { dg-final { scan-assembler "\\\$f20" } } */
+/* { dg-final { scan-assembler "\\\$f22" } } */
+/* { dg-final { scan-assembler "\\\$f24" } } */
+/* { dg-final { scan-assembler "\\\$f26" } } */
+/* { dg-final { scan-assembler "\\\$f28" } } */
+/* { dg-final { scan-assembler "\\\$f30" } } */
+/* { dg-final { scan-assembler-not "\\\$f21" } } */
+/* { dg-final { scan-assembler-not "\\\$f23" } } */
+/* { dg-final { scan-assembler-not "\\\$f25" } } */
+/* { dg-final { scan-assembler-not "\\\$f27" } } */
+/* { dg-final { scan-assembler-not "\\\$f29" } } */
+/* { dg-final { scan-assembler-not "\\\$f31" } } */
--
2.2.1