Commit 5d2b84f8 by Jeff Law Committed by Jeff Law

mn10300.md (movqi, movhi): Split i->d*a case into two cases to avoid the possibility of getting...

	* mn10300.md (movqi, movhi): Split i->d*a case into two cases to
	avoid the possibility of getting DATA_OR_ADDRESS_REGS as the
	preferred class when copying a constant into a partial word register.

From-SVN: r139600
parent 3f4d9b98
2008-08-26 Jeff Law <law@redhat.com>
* mn10300.md (movqi, movhi): Split i->d*a case into two cases to
avoid the possibility of getting DATA_OR_ADDRESS_REGS as the
preferred class when copying a constant into a partial word register.
2008-08-26 Ben Elliston <bje@au.ibm.com> 2008-08-26 Ben Elliston <bje@au.ibm.com>
* rtlanal.c: Fix uses of "it's" with "its" where appropriate. * rtlanal.c: Fix uses of "it's" with "its" where appropriate.
......
...@@ -115,8 +115,8 @@ ...@@ -115,8 +115,8 @@
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
(define_insn "" (define_insn ""
[(set (match_operand:QI 0 "nonimmediate_operand" "=d*a,d,d*a,d,m") [(set (match_operand:QI 0 "nonimmediate_operand" "=d*a,d,d,!*a,d*a,d,m")
(match_operand:QI 1 "general_operand" "0,I,dai,m,d"))] (match_operand:QI 1 "general_operand" "0,I,i,i,da,m,d"))]
"register_operand (operands[0], QImode) "register_operand (operands[0], QImode)
|| register_operand (operands[1], QImode)" || register_operand (operands[1], QImode)"
"* "*
...@@ -128,6 +128,8 @@ ...@@ -128,6 +128,8 @@
case 1: case 1:
return \"clr %0\"; return \"clr %0\";
case 2: case 2:
case 3:
case 4:
if (GET_CODE (operands[1]) == CONST_DOUBLE) if (GET_CODE (operands[1]) == CONST_DOUBLE)
{ {
rtx xoperands[2]; rtx xoperands[2];
...@@ -138,14 +140,14 @@ ...@@ -138,14 +140,14 @@
} }
return \"mov %1,%0\"; return \"mov %1,%0\";
case 3: case 5:
case 4: case 6:
return \"movbu %1,%0\"; return \"movbu %1,%0\";
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
}" }"
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
;; movhi ;; movhi
...@@ -208,8 +210,8 @@ ...@@ -208,8 +210,8 @@
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
(define_insn "" (define_insn ""
[(set (match_operand:HI 0 "nonimmediate_operand" "=d*a,d,d*a,d,m") [(set (match_operand:HI 0 "nonimmediate_operand" "=d*a,d,d,!*a,d*a,d,m")
(match_operand:HI 1 "general_operand" "0,I,dai,m,d"))] (match_operand:HI 1 "general_operand" "0,I,i,i,da,m,d"))]
"register_operand (operands[0], HImode) "register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode)" || register_operand (operands[1], HImode)"
"* "*
...@@ -221,6 +223,8 @@ ...@@ -221,6 +223,8 @@
case 1: case 1:
return \"clr %0\"; return \"clr %0\";
case 2: case 2:
case 3:
case 4:
if (GET_CODE (operands[1]) == CONST_DOUBLE) if (GET_CODE (operands[1]) == CONST_DOUBLE)
{ {
rtx xoperands[2]; rtx xoperands[2];
...@@ -230,14 +234,14 @@ ...@@ -230,14 +234,14 @@
return \"\"; return \"\";
} }
return \"mov %1,%0\"; return \"mov %1,%0\";
case 3: case 5:
case 4: case 6:
return \"movhu %1,%0\"; return \"movhu %1,%0\";
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
}" }"
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
;; movsi and helpers ;; movsi and helpers
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment