diff options
author | Joseph Myers <joseph@codesourcery.com> | 2008-06-28 20:40:03 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2008-06-28 20:40:03 +0100 |
commit | 624b157f704da414d40ed60003ecb21b5b2f380a (patch) | |
tree | dd09b607d835b86880e74fde9c35f2dc55b20c8a | |
parent | e5e9ea16b8b7f3b4c1c39cabff6c054dd5f911fa (diff) | |
download | gcc-624b157f704da414d40ed60003ecb21b5b2f380a.zip gcc-624b157f704da414d40ed60003ecb21b5b2f380a.tar.gz gcc-624b157f704da414d40ed60003ecb21b5b2f380a.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/predicates.md | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20080628-1.c | 15 |
4 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 909e4a6..22c3649 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index 98cbdc6..8e97c79 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 39d0a71..b56104c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. diff --git a/gcc/testsuite/gcc.c-torture/compile/20080628-1.c b/gcc/testsuite/gcc.c-torture/compile/20080628-1.c new file mode 100644 index 0000000..aca4ff8 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20080628-1.c @@ -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); +} |