diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-04-27 14:46:55 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-04-27 14:46:55 +0000 |
commit | bba923e32d6cae421c64036a6a1453a7863ba65e (patch) | |
tree | 1fb4b0ff1db61a90034ef90be3d76feb82967e65 /gcc/config/mn10300/mn10300.md | |
parent | 045efd34d7f2bf9b8ea0a372d4b67f6cde0af3ef (diff) | |
download | gcc-bba923e32d6cae421c64036a6a1453a7863ba65e.tar.gz |
* config/mn10300/mn10300.md (movqi): Simplify. Prefer data
registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33485 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mn10300/mn10300.md')
-rw-r--r-- | gcc/config/mn10300/mn10300.md | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md index 17195b4c203..12e809fdb86 100644 --- a/gcc/config/mn10300/mn10300.md +++ b/gcc/config/mn10300/mn10300.md @@ -56,8 +56,8 @@ }") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=dx,a,dx,a,dx,a,dx,a,dxa,m") - (match_operand:QI 1 "general_operand" "0,0,I,I,a,dx,dxi,ia,m,dxa"))] + [(set (match_operand:QI 0 "general_operand" "=d*x*a,d*x,d*x*a,d*x*a,m") + (match_operand:QI 1 "general_operand" "0,I,d*xai,m,d*xa"))] "TARGET_AM33 && (register_operand (operands[0], QImode) || register_operand (operands[1], QImode))" @@ -66,15 +66,10 @@ switch (which_alternative) { case 0: - case 1: return \"nop\"; - case 2: + case 1: return \"clr %0\"; - case 3: - case 4: - case 5: - case 6: - case 7: + case 2: if (GET_CODE (operands[1]) == CONST_DOUBLE) { rtx xoperands[2]; @@ -94,18 +89,18 @@ return \"movu %1,%0\"; } return \"mov %1,%0\"; - case 8: - case 9: + case 3: + case 4: return \"movbu %1,%0\"; default: abort (); } }" - [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) + [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=dx,*a,dx,*a,dx,*a,dx,*a,dx,m") - (match_operand:QI 1 "general_operand" "0,0,I,I,a,dx,dxi,ia,m,dx"))] + [(set (match_operand:QI 0 "general_operand" "=d*a,d,d*a,d,m") + (match_operand:QI 1 "general_operand" "0,I,dai,m,d"))] "register_operand (operands[0], QImode) || register_operand (operands[1], QImode)" "* @@ -113,15 +108,10 @@ switch (which_alternative) { case 0: - case 1: return \"nop\"; - case 2: + case 1: return \"clr %0\"; - case 3: - case 4: - case 5: - case 6: - case 7: + case 2: if (GET_CODE (operands[1]) == CONST_DOUBLE) { rtx xoperands[2]; @@ -132,14 +122,14 @@ } return \"mov %1,%0\"; - case 8: - case 9: + case 3: + case 4: return \"movbu %1,%0\"; default: abort (); } }" - [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) + [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) ;; movhi |