diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2007-09-20 20:17:45 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-09-20 20:17:45 +0000 |
commit | 334a954334bb79ff5acfbbc42759524965db2026 (patch) | |
tree | 901e19bbaa8a1787f60db2c2198223c64d915e88 /gcc/testsuite/gcc.dg | |
parent | 1ec3b87bb2a787a5e2a50fb984dc3d48f08a4ec6 (diff) | |
download | gcc-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.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sibcall-3.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sibcall-4.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c | 9 |
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. */ |