diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1c32728175deb311c84f970f4d0cad11cd601942..12d7aa79f479272edb9ce62a5b0025288f08a129 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+	* i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
+
 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
 	* doc/contrib.texi (Contributors): Add Paolo Carlini and
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 972564b337710a2061be101deff40c31afa372cb..d327f4923b82b5eb6df4800533c79e191d94fa4f 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -16543,8 +16543,8 @@
 (define_insn "sse_movsfcc"
   [(set (match_operand:SF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?f#xr,?f#xr,?r#xf,?r#xf,?r#xf,?r#xf")
 	(if_then_else:SF (match_operator 1 "sse_comparison_operator"
-			[(match_operand:SF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")
-			 (match_operand:SF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")])
+			[(match_operand:SF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")
+			 (match_operand:SF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")])
 		      (match_operand:SF 2 "nonimmediate_operand" "x#fr,0#fr,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx,0#rx")
 		      (match_operand:SF 3 "nonimmediate_operand" "x#fr,x#fr,0#fx,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx")))
    (clobber (match_scratch:SF 6 "=2,&4,X,X,X,X,X,X,X,X"))
@@ -16557,8 +16557,8 @@
 
 (define_insn "sse_movsfcc_eq"
   [(set (match_operand:SF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?r#xf,?r#xf")
-	(if_then_else:SF (eq (match_operand:SF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,x#f,f#x,x#f")
-			     (match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,xm#f,f#x,xm#f"))
+	(if_then_else:SF (eq (match_operand:SF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,xm#f,f#x,xm#f")
+			     (match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f"))
 		      (match_operand:SF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx")
 		      (match_operand:SF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx")))
    (clobber (match_scratch:SF 5 "=1,&3,X,X,X,X"))
@@ -16570,8 +16570,8 @@
 (define_insn "sse_movdfcc"
   [(set (match_operand:DF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?f#xr,?f#xr,?r#xf,?r#xf,?r#xf,?r#xf")
 	(if_then_else:DF (match_operator 1 "sse_comparison_operator"
-			[(match_operand:DF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")
-			 (match_operand:DF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")])
+			[(match_operand:DF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")
+			 (match_operand:DF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")])
 		      (match_operand:DF 2 "nonimmediate_operand" "x#fr,0#fr,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx,0#rx")
 		      (match_operand:DF 3 "nonimmediate_operand" "x#fr,x#fr,0#fx,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx")))
    (clobber (match_scratch:DF 6 "=2,&4,X,X,X,X,X,X,X,X"))
@@ -16584,8 +16584,8 @@
 
 (define_insn "sse_movdfcc_eq"
   [(set (match_operand:DF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?r#xf,?r#xf")
-	(if_then_else:DF (eq (match_operand:DF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,x#f,f#x,x#f")
-			     (match_operand:DF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,xm#f,f#x,xm#f"))
+	(if_then_else:DF (eq (match_operand:DF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,xm#f,f#x,xm#f")
+			     (match_operand:DF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f"))
 		      (match_operand:DF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx")
 		      (match_operand:DF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx")))
    (clobber (match_scratch:DF 5 "=1,&3,X,X,X,X"))
@@ -16599,7 +16599,7 @@
   [(set (match_operand 0 "register_operand" "")
 	(if_then_else (match_operator 1 "comparison_operator"
 			[(match_operand 4 "nonimmediate_operand" "")
-			 (match_operand 5 "nonimmediate_operand" "")])
+			 (match_operand 5 "register_operand" "")])
 		      (match_operand 2 "nonimmediate_operand" "")
 		      (match_operand 3 "nonimmediate_operand" "")))
    (clobber (match_operand 6 "" ""))