gcc/testsuite/
* lib/target-supports.exp (check_effective_target_trampolines,
check_profiling_available, check_effective_target_lto,
check_effective_target_vect_natural): False for nvptx-*-*.
* gcc.c-torture/compile/limits-fndefn.c: Skip for nvptx-*-*.
* gcc.c-torture/compile/pr34334.c: Likewise.
* gcc.c-torture/compile/pr37056.c: Likewise.
* gcc.c-torture/compile/pr39423-1.c: Likewise.
* gcc.c-torture/compile/pr46534.c: Likewise.
* gcc.c-torture/compile/pr49049.c: Likewise.
* gcc.c-torture/compile/pr59417.c: Likewise.
* gcc.c-torture/compile/20080721-1.c: Likewise.
* gcc.c-torture/compile/920501-4.c: Likewise.
* gcc.c-torture/compile/921011-1.c: Likewise.
* gcc.dg/20040813-1.c: Likewise.
* gcc.dg/pr28755.c: Likewise.
* gcc.dg/pr44194-1.c: Likewise.
* gcc.c-torture/compile/pr42717.c: Xfail for nvptx-*-*.
* gcc.c-torture/compile/pr61684.c: Likewise.
* gcc.c-torture/compile/pr20601-1.c: Likewise.
* gcc.c-torture/compile/pr59221.c: Likewise.
* gcc.c-torture/compile/20060208-1.c: Likewise.
* gcc.c-torture/execute/pr52129.c: Likewise.
* gcc.c-torture/execute/20020310-1.c: Likewise.
* gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for nvptx.
* gcc.c-torture/execute20020312-2.c: Add case for for nvptx.
* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections
for nvptx-*-*.
* gcc.dg/pr36400.c: Xfail scan-assembler test on nvptx-*-*.
* gcc.dg/const-elim-2.c: Likewise.
------------------------------------------------------------------------
===================================================================
@@ -436,6 +436,7 @@ proc check_effective_target_trampolines
}
if { [istarget avr-*-*]
|| [istarget msp430-*-*]
+ || [istarget nvptx-*-*]
|| [istarget hppa2.0w-hp-hpux11.23]
|| [istarget hppa64-hp-hpux11.23] } {
return 0;
@@ -532,6 +533,7 @@ proc check_profiling_available { test_wh
|| [istarget msp430-*-*]
|| [istarget nds32*-*-elf]
|| [istarget nios2-*-elf]
+ || [istarget nvptx-*-*]
|| [istarget powerpc-*-eabi*]
|| [istarget powerpc-*-elf]
|| [istarget rx-*-*]
@@ -4216,7 +4218,8 @@ proc check_effective_target_vect_natural
verbose "check_effective_target_vect_natural_alignment: using cached result" 2
} else {
set et_vect_natural_alignment_saved 1
- if { [check_effective_target_arm_eabi] } {
+ if { [check_effective_target_arm_eabi]
+ || [istarget nvptx-*-*] } {
set et_vect_natural_alignment_saved 0
}
}
@@ -5691,6 +5694,9 @@ proc check_effective_target_gld { } {
proc check_effective_target_lto { } {
global ENABLE_LTO
+ if { [istarget nvptx-*-*] } {
+ return 0;
+ }
return [info exists ENABLE_LTO]
}
===================================================================
@@ -1,4 +1,5 @@
/* { dg-skip-if "too complex for avr" { avr-*-* } { "*" } { "" } } */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "*" } { "" } } */
/* { dg-timeout-factor 4.0 } */
#define LIM1(x) x##0, x##1, x##2, x##3, x##4, x##5, x##6, x##7, x##8, x##9,
#define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \
===================================================================
@@ -1,4 +1,4 @@
-/* { dg-options "-fdata-sections" { target { ! { { hppa*-*-hpux* } && { ! lp64 } } } } } */
+/* { dg-options "-fdata-sections" { target { { ! { { hppa*-*-hpux* } && { ! lp64 } } } && { ! nvptx-*-* } } } } */
typedef unsigned char unit;
typedef unit *unitptr;
===================================================================
@@ -1,3 +1,4 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "*" } { "-O0" } } */
__extension__ typedef __SIZE_TYPE__ size_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned int __mode_t;
===================================================================
@@ -1,3 +1,4 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" "-Os" } { "" } } */
extern void abort (void);
static union {
===================================================================
@@ -1,4 +1,5 @@
/* PR target/39423 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" } { "" } } */
int
foo (const char *name, int nmlen, char *flags)
===================================================================
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O0" } { "" } } */
static signed char
foo (signed char si1, unsigned char si2)
{
===================================================================
@@ -1,4 +1,4 @@
-/* { dg-skip-if "too big" { avr-*-* pdp11-*-* } { "*" } { "" } } */
+/* { dg-skip-if "too big" { avr-*-* nvptx-*-* pdp11-*-* } { "*" } { "" } } */
/* PR middle-end/46534 */
extern int printf (const char *, ...);
===================================================================
@@ -1,3 +1,5 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
+
__extension__ typedef unsigned long long int uint64_t;
static int
===================================================================
@@ -1,4 +1,5 @@
/* PR tree-optimization/59417 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" "-O2" "-Os" } { "" } } */
int a, b, d;
short c;
===================================================================
@@ -1,4 +1,5 @@
/* PR tree-optimization/61684 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-O1" "-Os" } } */
int a, c;
static int *b = 0;
===================================================================
@@ -1,4 +1,5 @@
/* PR tree-optimization/20601 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
extern void abort (void);
extern void exit (int);
===================================================================
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-Os" } } */
int a = 1, b, d;
===================================================================
@@ -1,4 +1,5 @@
/* PR middle-end/26092 */
+/* { dg-skip-if "can't take address of malloc" { nvptx-*-* } { "*" } { "" } } */
typedef __SIZE_TYPE__ size_t;
extern void *malloc (size_t);
===================================================================
@@ -1,3 +1,4 @@
+/* { dg-skip-if "can't read function data" { nvptx-*-* } { "*" } { "" } } */
void foo(void);
void bar(void);
===================================================================
@@ -1,4 +1,5 @@
/* { dg-do assemble } */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
foo ()
{
===================================================================
@@ -1,3 +1,5 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
+
void
fun (nb)
int nb;
===================================================================
@@ -71,6 +71,9 @@ __aeabi_idiv0 (int return_value)
/* Nios II requires both hardware support and user configuration to
raise an exception on divide by zero. */
# define DO_TEST 0
+#elif defined (__nvptx__)
+/* There isn't even a signal function. */
+# define DO_TEST 0
#else
# define DO_TEST 1
#endif
===================================================================
@@ -1,4 +1,5 @@
/* PR target/52129 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
extern void abort (void);
struct S { void *p; unsigned int q; };
===================================================================
@@ -3,6 +3,7 @@
/* { dg-do run } */
/* { dg-options "-O2" } */
/* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
+/* { dg-xfail-if "doesn't support self-referential initializers" { nvptx-*-* } } */
struct A
{
===================================================================
@@ -104,6 +104,8 @@ extern void abort (void);
/* No pic register. */
#elif defined(__MSP430__)
/* No pic register. */
+#elif defined (__nvptx__)
+/* No pic register. */
#else
# error "Modify the test for your target."
#endif
===================================================================
@@ -2,7 +2,7 @@
/* Contributed by Devang Patel <dpatel@apple.com> */
/* { dg-do compile } */
-/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* *-*-vxworks* } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* *-*-vxworks* nvptx-*-* } { "*" } { "" } } */
/* { dg-options "-gstabs" } */
int
===================================================================
@@ -3,6 +3,7 @@
/* { dg-require-effective-target ptr32plus } */
/* { dg-options "-Os" } */
/* { dg-final { scan-assembler-times "2112543726\|7deadbee" 2 } } */
+/* { dg-skip-if "integer output is different here" { nvptx-*-* } } */
struct S
{
===================================================================
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { { { { { { { i?86-*-* x86_64-*-* } && x32 } || lp64 } && { ! s390*-*-* } } && { ! hppa*64*-*-* } } && { ! alpha*-*-* } } && { { ! powerpc*-*-linux* } || powerpc_elfv2 } } } } */
+/* { dg-do compile { target { { { { { { { i?86-*-* x86_64-*-* } && x32 } || lp64 } && { ! s390*-*-* } } && { ! hppa*64*-*-* } } && { ! alpha*-*-* } } && { { ! powerpc*-*-linux* } || powerpc_elfv2 } && { ! nvptx-*-* } } } } */
/* { dg-options "-O2 -fdump-rtl-dse1 -fdump-rtl-final" } */
/* Restrict to 64-bit targets since 32-bit targets usually return small
===================================================================
@@ -14,4 +14,4 @@ void baz()
barptr->some_string = "Everything OK";
}
-/* { dg-final { scan-assembler "Everything OK" } } */
+/* { dg-final { scan-assembler "Everything OK" { xfail nvptx-*-* } } } */
===================================================================
@@ -1,7 +1,7 @@
/* The string constant in this test case should be emitted exactly once. */
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-final { scan-assembler-times "hi there" 1 } } */
+/* { dg-final { scan-assembler-times "hi there" 1 { xfail nvptx-*-* } } } */
static inline int returns_23() { return 23; }