diff options
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. */ |