aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-4.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-5.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-6.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-7.c25
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-8.c25
-rw-r--r--gcc/testsuite/gcc.target/mips/call-saved-9.c25
7 files changed, 88 insertions, 3 deletions
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" } } */