Hello!

2013-03-21  Uros Bizjak  <ubiz...@gmail.com>

        * config/i386/i386.md (*movdi_internal): Disparage slightly
        all MMX moves to/from memory.  Use Yi instead of x for SSE-MMX
        conversion alternatives.

Tested on x86_64-pc-linux-gnu, committed to mainline.

Uros.
Index: i386.md
===================================================================
--- i386.md     (revision 196883)
+++ i386.md     (working copy)
@@ -1864,9 +1864,9 @@
 
 (define_insn "*movdi_internal"
   [(set (match_operand:DI 0 "nonimmediate_operand"
-    "=r  ,o  ,r,r  ,r,m ,*y,m*y,*y,?*y,?r ,?*Ym,*x,*x,*x,m ,?r ,?*Yi,?*x,?*Ym")
+    "=r  ,o  ,r,r  ,r,m ,*y,*y,?*y,?m,?r ,?*Ym,*x,*x,*x,m ,?r ,?*Yi,?*Ym,?*Yi")
        (match_operand:DI 1 "general_operand"
-    "riFo,riF,Z,rem,i,re,C ,*y ,m ,m  ,*Ym,r   ,C ,*x,m ,*x,*Yi,r   ,*Ym,*x"))]
+    "riFo,riF,Z,rem,i,re,C ,*y,m  ,*y,*Ym,r   ,C ,*x,m ,*x,*Yi,r   ,*Yi 
,*Ym"))]
   "!(MEM_P (operands[0]) && MEM_P (operands[1]))"
 {
   switch (get_attr_type (insn))
@@ -1936,12 +1936,10 @@
     }
 }
   [(set (attr "isa")
-     (cond [(eq_attr "alternative" "0,1,8")
+     (cond [(eq_attr "alternative" "0,1")
              (const_string "nox64")
-           (eq_attr "alternative" "2,3,4,5,9,10,11,16,17")
+           (eq_attr "alternative" "2,3,4,5,10,11,16,17")
              (const_string "x64")
-           (eq_attr "alternative" "18,19")
-             (const_string "sse2")
           ]
           (const_string "*")))
    (set (attr "type")

Reply via email to