aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2007-09-20 20:17:45 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-09-20 20:17:45 +0000
commit334a954334bb79ff5acfbbc42759524965db2026 (patch)
tree901e19bbaa8a1787f60db2c2198223c64d915e88 /gcc/testsuite/gcc.dg
parent1ec3b87bb2a787a5e2a50fb984dc3d48f08a4ec6 (diff)
downloadgcc-334a954334bb79ff5acfbbc42759524965db2026.zip
gcc-334a954334bb79ff5acfbbc42759524965db2026.tar.gz
gcc-334a954334bb79ff5acfbbc42759524965db2026.tar.bz2
target-supports.exp (check_effective_target_mips64): New procedure.
gcc/testsuite/ * lib/target-supports.exp (check_effective_target_mips64): New procedure. * gcc.dg/lower-subreg-1.c: Require !mips64. * gcc.dg/sibcall-3.c (ATTR): New macro. (recurser_void1, recurser_void2): Use it. * gcc.dg/sibcall-4.c: As for gcc.dg/sibcall-3.c. * gcc.dg/tree-ssa/ssa-fre-3.c: Require !mips64. From-SVN: r128626
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/lower-subreg-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/sibcall-3.c16
-rw-r--r--gcc/testsuite/gcc.dg/sibcall-4.c16
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c9
4 files changed, 33 insertions, 10 deletions
diff --git a/gcc/testsuite/gcc.dg/lower-subreg-1.c b/gcc/testsuite/gcc.dg/lower-subreg-1.c
index f3a29f6..37c884a 100644
--- a/gcc/testsuite/gcc.dg/lower-subreg-1.c
+++ b/gcc/testsuite/gcc.dg/lower-subreg-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { ! mips64 } } } */
/* { dg-options "-O -fdump-rtl-subreg" } */
/* { dg-require-effective-target ilp32 } */
diff --git a/gcc/testsuite/gcc.dg/sibcall-3.c b/gcc/testsuite/gcc.dg/sibcall-3.c
index 0ea5ef3..6e6b3ae 100644
--- a/gcc/testsuite/gcc.dg/sibcall-3.c
+++ b/gcc/testsuite/gcc.dg/sibcall-3.c
@@ -18,8 +18,16 @@
extern void abort (void);
extern void exit (int);
-static void recurser_void1 (int);
-static void recurser_void2 (int);
+/* Sibcalls are not supported in MIPS16 mode, which has direct calls but
+ not direct jumps. */
+#ifdef __mips
+#define ATTR __attribute__((nomips16))
+#else
+#define ATTR
+#endif
+
+static ATTR void recurser_void1 (int);
+static ATTR void recurser_void2 (int);
extern void track (int);
int main ()
@@ -32,7 +40,7 @@ int main ()
reasonably sure is to make them have the same contents (regarding the
n tests). */
-static void __attribute__((noinline))
+static void __attribute__((noinline)) ATTR
recurser_void1 (int n)
{
if (n == 0 || n == 7 || n == 8)
@@ -44,7 +52,7 @@ recurser_void1 (int n)
recurser_void2 (n + 1);
}
-static void __attribute__((noinline))
+static void __attribute__((noinline)) ATTR
recurser_void2 (int n)
{
if (n == 0 || n == 7 || n == 8)
diff --git a/gcc/testsuite/gcc.dg/sibcall-4.c b/gcc/testsuite/gcc.dg/sibcall-4.c
index f1c1ca6..c852c8a 100644
--- a/gcc/testsuite/gcc.dg/sibcall-4.c
+++ b/gcc/testsuite/gcc.dg/sibcall-4.c
@@ -18,8 +18,16 @@
extern void abort (void);
extern void exit (int);
-static void recurser_void1 (void);
-static void recurser_void2 (void);
+/* Sibcalls are not supported in MIPS16 mode, which has direct calls but
+ not direct jumps. */
+#ifdef __mips
+#define ATTR __attribute__((nomips16))
+#else
+#define ATTR
+#endif
+
+static ATTR void recurser_void1 (void);
+static ATTR void recurser_void2 (void);
extern void track (void);
int n = 0;
@@ -33,7 +41,7 @@ int main ()
reasonably sure is to make them have the same contents (regarding the
n tests). */
-static void __attribute__((noinline))
+static void __attribute__((noinline)) ATTR
recurser_void1 (void)
{
if (n == 0 || n == 7 || n == 8)
@@ -45,7 +53,7 @@ recurser_void1 (void)
recurser_void2 ();
}
-static void __attribute__((noinline))
+static void __attribute__((noinline)) ATTR
recurser_void2 (void)
{
if (n == 0 || n == 7 || n == 8)
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
index ebc91e7..3b7a547 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
@@ -1,4 +1,11 @@
-/* { dg-do compile } */
+/* This test requires:
+
+ TRULY_NOOP_TRUNCATION (sizeof (int) * CHAR_BIT,
+ sizeof (long long) * CHAR_BIT)
+
+ When the condition is true, we distribute "(int) (a + b)" as
+ "(int) a + (int) b", otherwise we keep the original. */
+/* { dg-do compile { target { ! mips64 } } } */
/* { dg-options "-O -fwrapv -fdump-tree-fre-details" } */
/* From PR14844. */