h8300.md (*extzv_8_8): Use shorter code when operands[0] and operands[1] are different.

* config/h8300/h8300.md (*extzv_8_8): Use shorter code when
	operands[0] and operands[1] are different.

From-SVN: r63718
This commit is contained in:
Kazu Hirata 2003-03-03 12:49:38 +00:00 committed by Kazu Hirata
parent 2807791e08
commit 1f7e87909e
2 changed files with 14 additions and 2 deletions

View File

@ -1,4 +1,9 @@
2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md (*extzv_8_8): Use shorter code when
operands[0] and operands[1] are different.
2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
* reload1.c (reload_cse_move2add): Remove variable success.

View File

@ -2630,7 +2630,14 @@
(const_int 8)
(const_int 8)))]
"TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%x1,%w0\;extu.w\\t%f0\;extu.l\\t%S0"
"*
{
if (REG_P (operands[0]) && REG_P (operands[1])
&& REGNO (operands[0]) != REGNO (operands[1]))
return \"sub.l\\t%S0,%S0\;mov.b\\t%x1,%w0\";
else
return \"mov.b\\t%x1,%w0\;extu.w\\t%f0\;extu.l\\t%S0\";
}"
[(set_attr "cc" "set_znv")
(set_attr "length" "6")])