diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 237c5edb9503b47c931ee8947e5d897fad9390f2..b51551e795213e8f0b26893a9bb892a747293d71 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
 Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
 
+	* i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
+	signed integer comparisons.
+
 	* i386.c (output_int_conditional_move): Use "enum rtx_code" for code
 	type.
 
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 323838e2bb4c0efd23da9a0b4a608b7d595917c7..e288a15b3cfc1e2bf9531faf270c835bce16f649 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5491,6 +5491,13 @@ output_fp_conditional_move (which_alternative, operands)
      int which_alternative;
      rtx operands[];
 {
+  enum rtx_code code = GET_CODE (operands[1]);
+
+  /* This should never happen.  */
+  if (!(cc_prev_status.flags & CC_IN_80387)
+      && (code == GT || code == LE || code == GE || code == LT))
+    abort ();
+
   switch (which_alternative)
     {
     case 0: