aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68hc11
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2004-03-02 21:44:38 +0100
committerStephane Carrez <ciceron@gcc.gnu.org>2004-03-02 21:44:38 +0100
commit77d2a36d1db2b70ad5e9f6824b341b09109628f7 (patch)
tree7de446b71dfb3fb9833cb3126a7a01299204dad4 /gcc/config/m68hc11
parentf2dca5108e3a8bf721c56b446aa2aeb2091d5a47 (diff)
downloadgcc-77d2a36d1db2b70ad5e9f6824b341b09109628f7.zip
gcc-77d2a36d1db2b70ad5e9f6824b341b09109628f7.tar.gz
gcc-77d2a36d1db2b70ad5e9f6824b341b09109628f7.tar.bz2
m68hc11.c (m68hc11_check_z_replacement): Fix when comparing with Z register.
* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when comparing with Z register. From-SVN: r78779
Diffstat (limited to 'gcc/config/m68hc11')
-rw-r--r--gcc/config/m68hc11/m68hc11.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index e5bca2e..a0e83c3 100644
--- a/gcc/config/m68hc11/m68hc11.c
+++ b/gcc/config/m68hc11/m68hc11.c
@@ -4169,8 +4169,10 @@ m68hc11_check_z_replacement (rtx insn, struct replace_info *info)
{
if ((GET_CODE (src) == REG && REGNO (src) == HARD_Z_REGNUM)
|| (GET_CODE (src) == COMPARE &&
- (rtx_equal_p (XEXP (src, 0), z_reg)
- || rtx_equal_p (XEXP (src, 1), z_reg))))
+ ((rtx_equal_p (XEXP (src, 0), z_reg)
+ && H_REG_P (XEXP (src, 1)))
+ || (rtx_equal_p (XEXP (src, 1), z_reg)
+ && H_REG_P (XEXP (src, 0))))))
{
if (insn == info->first)
{