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
This commit is contained in:
Richard Sandiford 2007-09-20 20:17:45 +00:00 committed by Richard Sandiford
parent 1ec3b87bb2
commit 334a954334
6 changed files with 53 additions and 10 deletions

View File

@ -1,3 +1,13 @@
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* 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.
2007-09-20 Tobias Schlüter <tobi@gcc.gnu.org>
* gfortran.dg/g77/19981216-0.f: Remove dg-warning annotation.

View File

@ -1,4 +1,4 @@
/* { dg-do compile } */
/* { dg-do compile { target { ! mips64 } } } */
/* { dg-options "-O -fdump-rtl-subreg" } */
/* { dg-require-effective-target ilp32 } */

View File

@ -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)

View File

@ -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)

View File

@ -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. */

View File

@ -617,6 +617,16 @@ proc check_effective_target_mpaired_single { } {
} "-mpaired-single"]
}
# Return true if the target is a 64-bit MIPS target.
proc check_effective_target_mips64 { } {
return [check_no_compiler_messages mips64 assembly {
#ifndef __mips64
#error FOO
#endif
}]
}
# Return 1 if the current multilib does not generate PIC by default.
proc check_effective_target_nonpic { } {