Fix some fallout for small targets.
gcc/testsuite/ Fix some fallout for small targets. PR testsuite/52641 * gcc.c-torture/execute/20190820-1.c: Add dg-require-effective-target int32plus. * gcc.c-torture/execute/pr85331.c Add dg-require-effective-target double64plus. * gcc.dg/pow-sqrt-1.c: Same. * gcc.dg/pow-sqrt-2.c: Same. * gcc.dg/pow-sqrt-3.c: Same. * gcc.c-torture/execute/20190901-1.c: Same. * gcc.c-torture/execute/user-printf.c [avr]: Skip. * gcc.c-torture/execute/fprintf-2.c [avr]: Skip. * gcc.c-torture/execute/printf-2.c [avr]: Skip. * gcc.dg/Wlarger-than3.c [avr]: Skip. * gcc.c-torture/execute/ieee/20041213-1.c (sqrt) [avr,double=float]: Provide custom prototype. * gcc.dg/pr36017.c: Same. * gcc.c-torture/execute/pr90025.c: Use 32-bit int. * gcc.dg/complex-7.c: Add dg-require-effective-target double64. * gcc.dg/loop-versioning-1.c: Add dg-require-effective-target size32plus. * gcc.dg/loop-versioning-2.c: Same. From-SVN: r277142
This commit is contained in:
parent
cc1facefe3
commit
8d1a718e06
17 changed files with 53 additions and 3 deletions
|
@ -1,3 +1,29 @@
|
|||
2019-10-18 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
Fix some fallout for small targets.
|
||||
|
||||
PR testsuite/52641
|
||||
* gcc.c-torture/execute/20190820-1.c:
|
||||
Add dg-require-effective-target int32plus.
|
||||
* gcc.c-torture/execute/pr85331.c
|
||||
Add dg-require-effective-target double64plus.
|
||||
* gcc.dg/pow-sqrt-1.c: Same.
|
||||
* gcc.dg/pow-sqrt-2.c: Same.
|
||||
* gcc.dg/pow-sqrt-3.c: Same.
|
||||
* gcc.c-torture/execute/20190901-1.c: Same.
|
||||
* gcc.c-torture/execute/user-printf.c [avr]: Skip.
|
||||
* gcc.c-torture/execute/fprintf-2.c [avr]: Skip.
|
||||
* gcc.c-torture/execute/printf-2.c [avr]: Skip.
|
||||
* gcc.dg/Wlarger-than3.c [avr]: Skip.
|
||||
* gcc.c-torture/execute/ieee/20041213-1.c (sqrt)
|
||||
[avr,double=float]: Provide custom prototype.
|
||||
* gcc.dg/pr36017.c: Same.
|
||||
* gcc.c-torture/execute/pr90025.c: Use 32-bit int.
|
||||
* gcc.dg/complex-7.c: Add dg-require-effective-target double64.
|
||||
* gcc.dg/loop-versioning-1.c:
|
||||
Add dg-require-effective-target size32plus.
|
||||
* gcc.dg/loop-versioning-2.c: Same.
|
||||
|
||||
2019-10-18 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||||
Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* PR rtl-optimization/91347 */
|
||||
/* Reported by John David Anglin <danglin@gcc.gnu.org> */
|
||||
/* { dg-require-effective-target int32plus } */
|
||||
|
||||
typedef unsigned short __u16;
|
||||
typedef __signed__ int __s32;
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
/* PR target/91472 */
|
||||
/* Reported by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> */
|
||||
/* { dg-require-effective-target double64plus } */
|
||||
|
||||
#if __SIZEOF_INT__ >= 4
|
||||
typedef unsigned int gmp_uint_least32_t;
|
||||
#else
|
||||
typedef __UINT_LEAST32_TYPE__ gmp_uint_least32_t;
|
||||
#endif
|
||||
|
||||
union ieee_double_extract
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* Verify that calls to fprintf don't get eliminated even if their
|
||||
result on success can be computed at compile time (they can fail).
|
||||
The calls can still be transformed into those of other functions.
|
||||
{ dg-skip-if "requires io" { avr-*-* } }
|
||||
{ dg-skip-if "requires io" { freestanding } } */
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
#if defined (__AVR__) && (__SIZEOF_DOUBLE__ == __SIZEOF_FLOAT__)
|
||||
extern double sqrt (double) __asm ("sqrtf");
|
||||
#else
|
||||
extern double sqrt (double);
|
||||
#endif
|
||||
extern void abort (void);
|
||||
int once;
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* PR tree-optimization/85331 */
|
||||
/* { dg-require-effective-target double64plus } */
|
||||
|
||||
typedef double V __attribute__((vector_size (2 * sizeof (double))));
|
||||
typedef long long W __attribute__((vector_size (2 * sizeof (long long))));
|
||||
|
|
|
@ -13,10 +13,10 @@ bar (char *p)
|
|||
}
|
||||
|
||||
__attribute__((noipa)) void
|
||||
foo (unsigned int x)
|
||||
foo (__UINT32_TYPE__ x)
|
||||
{
|
||||
char s[32] = { 'f', 'o', 'o', 'b', 'a', 'r', 0 };
|
||||
((unsigned int *) s)[2] = __builtin_bswap32 (x);
|
||||
((__UINT32_TYPE__ *) s)[2] = __builtin_bswap32 (x);
|
||||
bar (s);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
result on success can be computed at compile time (they can fail).
|
||||
The calls can still be transformed into those of other functions.
|
||||
{ dg-require-effective-target unwrapped }
|
||||
{ dg-skip-if "requires io" { avr-*-* } }
|
||||
{ dg-skip-if "requires io" { freestanding } } */
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
don't get eliminated even if their result on success can be computed at
|
||||
compile time (they can fail).
|
||||
{ dg-require-effective-target unwrapped }
|
||||
{ dg-skip-if "requires io" { avr-*-* } }
|
||||
{ dg-skip-if "requires io" { freestanding } } */
|
||||
|
||||
#include <stdarg.h>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Exercise -Wlarger-than= with a byte-size suffix.
|
||||
{ dg-do compile }
|
||||
{ dg-skip-if "small address space" { "pdp11-*-*" } }
|
||||
{ dg-skip-if "small address space" { "pdp11-*-*" } { "avr-*-*" } }
|
||||
{ dg-options "-Wlarger-than=1MiB" } */
|
||||
|
||||
#define MB (1000 * 1000) /* MegaByte */
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fdump-tree-cplxlower" } */
|
||||
/* { dg-require-effective-target double64 } */
|
||||
|
||||
__complex double
|
||||
foo (__complex double a, __complex double b)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* { dg-options "-O3 -fdump-tree-lversion-details" } */
|
||||
/* { dg-require-effective-target size32plus } */
|
||||
|
||||
/* The simplest IV case. */
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* { dg-options "-O3 -fdump-tree-lversion-details" } */
|
||||
/* { dg-require-effective-target size32plus } */
|
||||
|
||||
/* Versioning for step == 1 in these loops would allow loop interchange,
|
||||
but otherwise isn't worthwhile. At the moment we decide not to version. */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-O2 -ffast-math --param max-pow-sqrt-depth=5" } */
|
||||
/* { dg-require-effective-target double64plus } */
|
||||
|
||||
#define EXPN (-6 * (0.5*0.5*0.5*0.5))
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-O2 -ffast-math --param max-pow-sqrt-depth=5" } */
|
||||
/* { dg-require-effective-target double64plus } */
|
||||
|
||||
#define EXPN (-5.875)
|
||||
#include "pow-sqrt.x"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-O2 -ffast-math --param max-pow-sqrt-depth=3" } */
|
||||
/* { dg-require-effective-target double64plus } */
|
||||
|
||||
#define EXPN (1.25)
|
||||
#include "pow-sqrt.x"
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
#if defined (__AVR__) && (__SIZEOF_DOUBLE__ == __SIZEOF_FLOAT__)
|
||||
extern double sqrt (double) __asm ("sqrtf");
|
||||
#else
|
||||
extern double sqrt (double);
|
||||
#endif
|
||||
extern void abort (void);
|
||||
|
||||
__attribute__((noinline)) double
|
||||
|
|
Loading…
Add table
Reference in a new issue