This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, i386]: Small adjustment of *movdi_internal pattern
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Mar 2013 21:20:53 +0100
- Subject: [PATCH, i386]: Small adjustment of *movdi_internal pattern
Hello!
2013-03-21 Uros Bizjak <ubizjak@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")