diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7844eb8..7600263 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2003-03-31 Stephane Carrez <stcarrez@nerim.fr> + * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode. + +2003-03-31 Stephane Carrez <stcarrez@nerim.fr> + * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus. (m68hc11_gen_movqi): Likewise. diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index bb3327b..5c762ca 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -1052,8 +1052,11 @@ hard_addr_reg_operand (operand, mode) int hard_reg_operand (operand, mode) rtx operand; - enum machine_mode mode ATTRIBUTE_UNUSED; + enum machine_mode mode; { + if (GET_MODE (operand) != mode && mode != VOIDmode) + return 0; + if (GET_CODE (operand) == SUBREG) operand = XEXP (operand, 0); |