Index: gcc/ChangeLog.RedHat from Alexandre Oliva * config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add mode argument. * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to... * config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to h8300_get_index. Index: gcc/config/h8300/h8300-protos.h =================================================================== RCS file: /cvs/cvsfiles/devo/gcc/config/h8300/h8300-protos.h,v retrieving revision 1.38 diff -u -p -r1.38 h8300-protos.h --- gcc/config/h8300/h8300-protos.h 7 Mar 2004 23:29:18 -0000 1.38 +++ gcc/config/h8300/h8300-protos.h 27 Jun 2004 08:02:37 -0000 @@ -84,7 +84,7 @@ extern int same_cmp_preceding_p (rtx); extern int same_cmp_following_p (rtx); extern int h8300_legitimate_constant_p (rtx); -extern int h8300_legitimate_address_p (rtx, int); +extern int h8300_legitimate_address_p (enum machine_mode, rtx, int); /* Used in builtins.c */ extern rtx h8300_return_addr_rtx (int, rtx); Index: gcc/config/h8300/h8300.c =================================================================== RCS file: /cvs/cvsfiles/devo/gcc/config/h8300/h8300.c,v retrieving revision 1.157 diff -u -p -r1.157 h8300.c --- gcc/config/h8300/h8300.c 21 Jun 2004 19:16:30 -0000 1.157 +++ gcc/config/h8300/h8300.c 27 Jun 2004 08:02:40 -0000 @@ -6369,7 +6369,7 @@ h8300_rtx_ok_for_base_p (rtx x, int stri CONSTANT_ADDRESS. */ int -h8300_legitimate_address_p (rtx x, int strict) +h8300_legitimate_address_p (enum machine_mode mode, rtx x, int strict) { /* The register indirect addresses like @er0 is always valid. */ if (h8300_rtx_ok_for_base_p (x, strict)) @@ -6393,5 +6393,5 @@ h8300_legitimate_address_p (rtx x, int s && h8300_rtx_ok_for_base_p (h8300_get_index (XEXP (x, 0), - GET_MODE (x), 0), strict)) + mode, 0), strict)) return 1; return 0; Index: gcc/config/h8300/h8300.h =================================================================== RCS file: /cvs/cvsfiles/devo/gcc/config/h8300/h8300.h,v retrieving revision 1.162 diff -u -p -r1.162 h8300.h --- gcc/config/h8300/h8300.h 18 Jun 2004 04:07:04 -0000 1.162 +++ gcc/config/h8300/h8300.h 27 Jun 2004 08:02:41 -0000 @@ -1028,7 +1028,7 @@ struct cum_arg #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ do \ { \ - if (h8300_legitimate_address_p ((X), 0)) \ + if (h8300_legitimate_address_p ((MODE), (X), 0)) \ goto ADDR; \ } \ while (0) @@ -1036,7 +1037,7 @@ struct cum_arg #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ do \ { \ - if (h8300_legitimate_address_p ((X), 1)) \ + if (h8300_legitimate_address_p ((MODE), (X), 1)) \ goto ADDR; \ } \ while (0)