diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-01-18 11:08:33 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-01-18 11:08:33 +0000 |
| commit | ef4fb3a73baceccbe4f6f8528a017b6e4a68b6b3 (patch) | |
| tree | 9f08e2aec04b758080bfbacfc0936b90f1a3e1b1 | |
| parent | f575b9d2f6e765d6a155830b4dbd17d67cb84550 (diff) | |
| download | ppe42-gcc-ef4fb3a73baceccbe4f6f8528a017b6e4a68b6b3.tar.gz ppe42-gcc-ef4fb3a73baceccbe4f6f8528a017b6e4a68b6b3.zip | |
PR target/19496
* config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93826 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 4dc927c9de8..cf9dd40ee11 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 c3aff8e305e..b6cfde306e5 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. */ |

