diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 73abcc640e873cf5d122b0e0625e1bdcfb0d8d4e..fdad97dd2ce771cd16f81a412e1f65d93bb7404e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+	* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
+
 2001-02-21  Kazu Hirata  <kazu@hxi.com>
 
 	* config/h8300/h8300.md (iorsi3): Do not output an extra newline
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 1f341f4ab808b13e5b93ef48d88903a21477491e..350af1cedbdb37e86f256715a5684e271c5df2e0 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14336,8 +14336,9 @@
 ;; See logical MMX insns.
 (define_insn "mmx_lshrdi3"
   [(set (match_operand:DI 0 "register_operand" "=y")
-        (lshiftrt:DI (match_operand:DI 1 "register_operand" "0")
-		     (match_operand:DI 2 "nonmemory_operand" "yi")))]
+        (unspec:DI
+	  [(lshiftrt:DI (match_operand:DI 1 "register_operand" "0")
+		       (match_operand:DI 2 "nonmemory_operand" "yi"))] 45))]
   "TARGET_MMX"
   "psrlq\\t{%2, %0|%0, %2}"
   [(set_attr "type" "mmx")])
@@ -14361,8 +14362,9 @@
 ;; See logical MMX insns.
 (define_insn "mmx_ashldi3"
   [(set (match_operand:DI 0 "register_operand" "=y")
-        (ashift:DI (match_operand:DI 1 "register_operand" "0")
-		   (match_operand:DI 2 "nonmemory_operand" "yi")))]
+        (unspec:DI
+	 [(ashift:DI (match_operand:DI 1 "register_operand" "0")
+		     (match_operand:DI 2 "nonmemory_operand" "yi"))] 45))]
   "TARGET_MMX"
   "psllq\\t{%2, %0|%0, %2}"
   [(set_attr "type" "mmx")])