diff options
author | Richard Henderson <rth@redhat.com> | 2005-01-18 03:08:33 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-01-18 03:08:33 -0800 |
commit | 51d7bae6e0a26d07cb4875e6c1350f718dfc2d51 (patch) | |
tree | 9f08e2aec04b758080bfbacfc0936b90f1a3e1b1 /gcc | |
parent | f5975bd51bcdd12433883f4b39506140b74941e6 (diff) | |
download | gcc-51d7bae6e0a26d07cb4875e6c1350f718dfc2d51.zip gcc-51d7bae6e0a26d07cb4875e6c1350f718dfc2d51.tar.gz gcc-51d7bae6e0a26d07cb4875e6c1350f718dfc2d51.tar.bz2 |
re PR target/19496 (ICE in gcc.c-torture/execute/ieee/fp-cmp-8.c for x86_64 and i686 with -msse2 -mfpmath=sse)
PR target/19496
* config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
From-SVN: r93826
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dc927c..cf9dd40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-01-18 Richard Henderson <rth@redhat.com> + + PR target/19496 + * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ. + 2005-01-18 Marc Espie <espie@openbsd.org> * config/i386/openbsdelf.h: Typo. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index c3aff8e..b6cfde3 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -9764,6 +9764,12 @@ ix86_expand_fp_movcc (rtx operands[]) if (cmode != mode) return 0; + /* We have no LTGT as an operator. We could implement it with + NE & ORDERED, but this requires an extra temporary. It's + not clear that it's worth it. */ + if (code == LTGT || code == UNEQ) + return 0; + /* Massage condition to satisfy sse_comparison_operator. Try to canonicalize the destination operand to be first in the comparison - this helps reload to avoid extra moves. */ |