From: Stephane Carrez Date: Tue, 2 Mar 2004 20:44:38 +0000 (+0100) Subject: m68hc11.c (m68hc11_check_z_replacement): Fix when comparing with Z register. X-Git-Tag: releases/gcc-4.0.0~9683 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=77d2a36d1db2b70ad5e9f6824b341b09109628f7;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31cafc8e44b6..af21040fa878 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-02 Stephane Carrez + + * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when + comparing with Z register. + 2004-03-02 Zdenek Dvorak * cfgloop.h (struct loop_desc): Removed. diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index e5bca2ed56ba..a0e83c39bf2c 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) {