predicates.md (easy_fp_constant): Reject TFmode constants for E500 double.

* config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
	constants for E500 double.

testsuite:
	* gcc.c-torture/compile/20080628-1.c: New test.

From-SVN: r137232
This commit is contained in:
Joseph Myers 2008-06-28 20:40:03 +01:00 committed by Joseph Myers
parent e5e9ea16b8
commit 624b157f70
4 changed files with 27 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2008-06-28 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
constants for E500 double.
2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* doc/rtl.texi (const_vector): Document const_fixed as legitimate

View file

@ -213,6 +213,9 @@
switch (mode)
{
case TFmode:
if (TARGET_E500_DOUBLE)
return 0;
REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
REAL_VALUE_TO_TARGET_LONG_DOUBLE (rv, k);

View file

@ -1,3 +1,7 @@
2008-06-28 Joseph Myers <joseph@codesourcery.com>
* gcc.c-torture/compile/20080628-1.c: New test.
2008-06-28 Richard Guenther <rguenther@suse.de>
* gcc.c-torture/execute/pta-field-1.c: Add return 0.

View file

@ -0,0 +1,15 @@
void f (long double, long double);
struct s {
char c;
struct s *p;
} *p;
void
g (void)
{
long double ld;
p->p->c = 1;
ld = p->p->c;
f (ld, 1.0L);
}