This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, i386]: Small adjustment of *movdi_internal pattern


2013-03-21  Uros Bizjak  <>

	* config/i386/ (*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.

---	(revision 196883)
+++	(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")

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]