On Mon, Jul 07, 2014 at 04:52:39PM +1000, Kugan wrote: Ok with following nit:
> +/* Checks if RTX of SUBREG_PROMOTED_VAR_P() is promoted for given SIGN. */ > +#define SUBREG_CHECK_PROMOTED_SIGN(RTX, SIGN) \ > +((SIGN) == SRP_POINTER ? SUBREG_PROMOTED_GET (RTX) == SRP_POINTER \ > + : (SIGN) == SRP_SIGNED ? SUBREG_PROMOTED_SIGNED_P (RTX) \ > + : SUBREG_PROMOTED_UNSIGNED_P (RTX)) > > /* True if the subreg was generated by LRA for reload insns. Such > subregs are valid only during LRA. */ > #define LRA_SUBREG_P(RTX) \ > (RTL_FLAG_CHECK1 ("LRA_SUBREG_P", (RTX), SUBREG)->jump) > > +/* Returns sign of promoted mode for SUBREG_PROMOTED_VAR_P(). */ > +#define SUBREG_PROMOTED_SIGN(RTX) \ > + ((RTL_FLAG_CHECK1 ("SUBREG_PROMOTED_SIGN", (RTX), SUBREG)->volatil) ? 1\ > + : (RTX)->unchanging - 1) > + > /* Access various components of an ASM_OPERANDS rtx. */ Can you please move SUBREG_PROMOTED_SIGN definition right below SUBREG_CHECK_PROMOTED_SIGN, so all the SUBREG promotion macros are next to each other? Jakub