* 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.
From-SVN: r217298
2014-11-10 Bernd Schmidt <bernds@codesourcery.com>
+ * 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.
+
* lib/target-supports.exp
(check_effective_target_untyped_assembly): New function.
* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
/* PR middle-end/26092 */
+/* { dg-skip-if "can't take address of malloc" { nvptx-*-* } { "*" } { "" } } */
typedef __SIZE_TYPE__ size_t;
extern void *malloc (size_t);
+/* { dg-skip-if "can't read function data" { nvptx-*-* } { "*" } { "" } } */
void foo(void);
void bar(void);
/* { dg-do assemble } */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
foo ()
{
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
+
void
fun (nb)
int nb;
/* { 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) \
+/* { 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;
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" "-Os" } { "" } } */
extern void abort (void);
static union {
/* PR target/39423 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" } { "" } } */
int
foo (const char *name, int nmlen, char *flags)
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O0" } { "" } } */
static signed char
foo (signed char si1, unsigned char si2)
{
-/* { dg-skip-if "too big" { avr-*-* pdp11-*-* } { "*" } { "" } } */
+/* { dg-skip-if "too big" { avr-*-* nvptx-*-* pdp11-*-* } { "*" } { "" } } */
/* PR middle-end/46534 */
extern int printf (const char *, ...);
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
+
__extension__ typedef unsigned long long int uint64_t;
static int
/* PR tree-optimization/59417 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" "-O2" "-Os" } { "" } } */
int a, b, d;
short c;
-/* { dg-options "-fdata-sections" { target { ! { { hppa*-*-hpux* } && { ! lp64 } } } } } */
+/* { dg-options "-fdata-sections" { target { { ! { { hppa*-*-hpux* } && { ! lp64 } } } && { ! nvptx-*-* } } } } */
typedef unsigned char unit;
typedef unit *unitptr;
/* PR tree-optimization/61684 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-O1" "-Os" } } */
int a, c;
static int *b = 0;
/* 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
/* PR tree-optimization/20601 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
extern void abort (void);
extern void exit (int);
/* PR target/52129 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
extern void abort (void);
struct S { void *p; unsigned int q; };
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-Os" } } */
int a = 1, b, d;
/* { 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
{
/* No pic register. */
#elif defined(__MSP430__)
/* No pic register. */
+#elif defined (__nvptx__)
+/* No pic register. */
#else
# error "Modify the test for your target."
#endif
/* 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
/* 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; }
/* { 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
{
-/* { 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
barptr->some_string = "Everything OK";
}
-/* { dg-final { scan-assembler "Everything OK" } } */
+/* { dg-final { scan-assembler "Everything OK" { xfail nvptx-*-* } } } */
}
if { [istarget avr-*-*]
|| [istarget msp430-*-*]
+ || [istarget nvptx-*-*]
|| [istarget hppa2.0w-hp-hpux11.23]
|| [istarget hppa64-hp-hpux11.23] } {
return 0;
|| [istarget msp430-*-*]
|| [istarget nds32*-*-elf]
|| [istarget nios2-*-elf]
+ || [istarget nvptx-*-*]
|| [istarget powerpc-*-eabi*]
|| [istarget powerpc-*-elf]
|| [istarget rx-*-*]
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
}
}
proc check_effective_target_lto { } {
global ENABLE_LTO
+ if { [istarget nvptx-*-*] } {
+ return 0;
+ }
return [info exists ENABLE_LTO]
}