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
This commit is contained in:
parent
3f4d9b9881
commit
5d2b84f840
@ -1,3 +1,9 @@
|
||||
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>
|
||||
|
||||
* rtlanal.c: Fix uses of "it's" with "its" where appropriate.
|
||||
|
@ -115,8 +115,8 @@
|
||||
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:QI 0 "nonimmediate_operand" "=d*a,d,d*a,d,m")
|
||||
(match_operand:QI 1 "general_operand" "0,I,dai,m,d"))]
|
||||
[(set (match_operand:QI 0 "nonimmediate_operand" "=d*a,d,d,!*a,d*a,d,m")
|
||||
(match_operand:QI 1 "general_operand" "0,I,i,i,da,m,d"))]
|
||||
"register_operand (operands[0], QImode)
|
||||
|| register_operand (operands[1], QImode)"
|
||||
"*
|
||||
@ -128,6 +128,8 @@
|
||||
case 1:
|
||||
return \"clr %0\";
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
if (GET_CODE (operands[1]) == CONST_DOUBLE)
|
||||
{
|
||||
rtx xoperands[2];
|
||||
@ -138,14 +140,14 @@
|
||||
}
|
||||
|
||||
return \"mov %1,%0\";
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
return \"movbu %1,%0\";
|
||||
default:
|
||||
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
|
||||
|
||||
@ -208,8 +210,8 @@
|
||||
[(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:HI 0 "nonimmediate_operand" "=d*a,d,d*a,d,m")
|
||||
(match_operand:HI 1 "general_operand" "0,I,dai,m,d"))]
|
||||
[(set (match_operand:HI 0 "nonimmediate_operand" "=d*a,d,d,!*a,d*a,d,m")
|
||||
(match_operand:HI 1 "general_operand" "0,I,i,i,da,m,d"))]
|
||||
"register_operand (operands[0], HImode)
|
||||
|| register_operand (operands[1], HImode)"
|
||||
"*
|
||||
@ -221,6 +223,8 @@
|
||||
case 1:
|
||||
return \"clr %0\";
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
if (GET_CODE (operands[1]) == CONST_DOUBLE)
|
||||
{
|
||||
rtx xoperands[2];
|
||||
@ -230,14 +234,14 @@
|
||||
return \"\";
|
||||
}
|
||||
return \"mov %1,%0\";
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
return \"movhu %1,%0\";
|
||||
default:
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user