diff options
author | Dale Johannesen <dalej@apple.com> | 2005-06-08 03:22:15 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2005-06-08 03:22:15 +0000 |
commit | f66eb2afb53c850946426f1435a7fbb4b7112f94 (patch) | |
tree | 28829ef66f42e0de1eb1780da17bf856f933d872 | |
parent | e79df5ce293e04612c25f970882a2096b6df19a4 (diff) | |
download | gcc-f66eb2afb53c850946426f1435a7fbb4b7112f94.zip gcc-f66eb2afb53c850946426f1435a7fbb4b7112f94.tar.gz gcc-f66eb2afb53c850946426f1435a7fbb4b7112f94.tar.bz2 |
i386.md (movqi_1): Fix case where source is memory and destination EDI.
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18d1845..1c446b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 39ed2b8..000a18e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1455,7 +1455,7 @@ ;; 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,m ,qn"))] "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" { switch (get_attr_type (insn)) @@ -1471,7 +1471,9 @@ } } [(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") @@ -1479,7 +1481,7 @@ (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)) |