diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 85a7ae0f755b4bb54ddbb1d148f48ca955e39b7b..ecae5172ad825120264aef98a2de327b93392502 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2407,7 +2407,7 @@
 
 (define_insn ""
   [(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
-	(fix:DI (fix:XF (match_operand:XF 1 "register_operand" "f"))))
+	(fix:DI (fix:XF (match_operand:XF 1 "register_operand" "+f"))))
    (clobber (match_dup 1))
    (clobber (match_operand:SI 2 "memory_operand" "m"))
    (clobber (match_operand:DI 3 "memory_operand" "m"))
@@ -2417,7 +2417,7 @@
 
 (define_insn ""
   [(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
-	(fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
+	(fix:DI (fix:DF (match_operand:DF 1 "register_operand" "+f"))))
    (clobber (match_dup 1))
    (clobber (match_operand:SI 2 "memory_operand" "m"))
    (clobber (match_operand:DI 3 "memory_operand" "m"))
@@ -2427,7 +2427,7 @@
 
 (define_insn ""
   [(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
-	(fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f"))))
+	(fix:DI (fix:SF (match_operand:SF 1 "register_operand" "+f"))))
    (clobber (match_dup 1))
    (clobber (match_operand:SI 2 "memory_operand" "m"))
    (clobber (match_operand:DI 3 "memory_operand" "m"))