i386.md (movqi_1): Fix case where source is memory and destination EDI.
authorDale Johannesen <dalej@apple.com>
Wed, 8 Jun 2005 03:22:15 +0000 (03:22 +0000)
committerDale Johannesen <dalej@gcc.gnu.org>
Wed, 8 Jun 2005 03:22:15 +0000 (03:22 +0000)
2005-06-07  Dale Johannesen  <dalej@apple.com>

        * config/i386/i386.md (movqi_1):  Fix case where source
        is memory and destination EDI.

From-SVN: r100740

gcc/ChangeLog
gcc/config/i386/i386.md

index 18d1845fb26493e236ae422d3ceed3da929909ae..1c446b209b4375e838ccbf64f9c3cf4866810162 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-07  Dale Johannesen  <dalej@apple.com>
+
+       * config/i386/i386.md (movqi_1):  Fix case where source
+       is memory and destination EDI.
+
 2005-06-08  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/c4x/c4x.h (PREDICATE_CODES): Remove mem_operand.
index 39ed2b83f86abd2aa6f7f73b85f7297630313431..000a18e80929edf1afdb38e0f0054a0daeccf97a 100644 (file)
 ;; partial register stall can be caused there.  Then we use movzx.
 (define_insn "*movqi_1"
   [(set (match_operand:QI 0 "nonimmediate_operand" "=q,q ,q ,r,r ,?r,m")
-       (match_operand:QI 1 "general_operand"      " q,qn,qm,q,rn,qm,qn"))]
+       (match_operand:QI 1 "general_operand"      " q,qn,qm,q,rn,,qn"))]
   "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
 {
   switch (get_attr_type (insn))
     }
 }
   [(set (attr "type")
-     (cond [(ne (symbol_ref "optimize_size") (const_int 0))
+     (cond [(eq_attr "alternative" "5")
+             (const_string "imovx")
+           (ne (symbol_ref "optimize_size") (const_int 0))
              (const_string "imov")
            (and (eq_attr "alternative" "3")
                 (ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
                      (eq (symbol_ref "TARGET_QIMODE_MATH")
                          (const_int 0))))
              (const_string "imov")
-           (eq_attr "alternative" "3,5")
+           (eq_attr "alternative" "3")
              (const_string "imovx")
            (and (ne (symbol_ref "TARGET_MOVX")
                     (const_int 0))