------- Comment #2 from rguenth at gcc dot gnu dot org  2010-08-05 15:53 -------
Sth like

Index: config/i386/i386.md
===================================================================
--- config/i386/i386.md (revision 162913)
+++ config/i386/i386.md (working copy)
@@ -1957,6 +1957,30 @@ (define_insn "*movti_internal_sse"
                 (const_string "V4SF")]
              (const_string "TI")))])

+(define_insn "*movdi_internal_rex642"
+  [(set (match_operand:DI 0 "nonimmediate_operand"
+         "=r,m")
+       (subreg:DI
+         (match_operand:V4SF 1 "register_operand"
+         "x,x") 0))]
+  "TARGET_SSE2"
+  "@
+   movq\t{%1, %0|%0, %1}
+   movq\t{%1, %0|%0, %1}"
+  [(set_attr "type" "ssemov")])
+
+(define_insn "*movdi_internal_rex642"
+  [(set (match_operand:DI 0 "nonimmediate_operand"
+         "=r,m")
+       (subreg:DI
+         (match_operand:V4SF 1 "register_operand"
+         "x,x") 8))]
+  "TARGET_SSE2"
+  "@
+   movhps\t{%1, %0|%0, %1}
+   movhps\t{%1, %0|%0, %1}"
+  [(set_attr "type" "ssemov")])
+
 (define_insn "*movdi_internal_rex64"
   [(set (match_operand:DI 0 "nonimmediate_operand"
          "=r,r  ,r,m ,!m,*y,*y,?r ,m ,?*Ym,?*y,*x,*x,?r ,m,?*Yi,*x,?*x,?*Ym")


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45198

Reply via email to