aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c8
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 25004ba..750c1c2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2000-10-31 Richard Henderson <rth@redhat.com>
+ * config/i386/i386.c (fcmov_comparison_operator): Check for
+ CCFPmode or CCFPUmode instead of CCmode.
+ (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
+ unordered operations as well.
+
+2000-10-31 Richard Henderson <rth@redhat.com>
+
* c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
of integer_zero_node.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b27edaa..396df6e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1339,7 +1339,7 @@ fcmov_comparison_operator (op, mode)
case EQ: case NE:
return 1;
case LTU: case GTU: case LEU: case ORDERED: case UNORDERED: case GEU:
- if (inmode == CCmode)
+ if (inmode == CCFPmode || inmode == CCFPUmode)
return 1;
return 0;
default:
@@ -5600,6 +5600,12 @@ ix86_expand_fp_movcc (operands)
case LE:
case GE:
case GT:
+ case UNEQ:
+ case UNGE:
+ case UNGT:
+ case UNLE:
+ case UNLT:
+ case LTGT:
tmp = gen_reg_rtx (QImode);
ix86_expand_setcc (code, tmp);
code = NE;