From: Richard Henderson Date: Tue, 18 Jan 2005 11:08:33 +0000 (-0800) Subject: re PR target/19496 (ICE in gcc.c-torture/execute/ieee/fp-cmp-8.c for x86_64 and i686... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51d7bae6e0a26d07cb4875e6c1350f718dfc2d51;p=gcc.git 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 --- 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 + + PR target/19496 + * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ. + 2005-01-18 Marc Espie * 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. */