On Wed, Oct 7, 2015 at 3:26 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
> Define x86 CALL_USED_REGISTERS_MASK used on x86 CALL_USED_REGISTERS.
> OK for trunk?
>
> H.J.
>         * config/i386/i386.c (ix86_conditional_register_usage): Use
>         CALL_USED_REGISTERS_MASK.
>         * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.

OK.

FTR, rhis will be further used in x86 interrupt handler patch.

Uros.

> ---
>  gcc/config/i386/i386.c | 4 +---
>  gcc/config/i386/i386.h | 3 +++
>  2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index c44f0af..c5ebff5 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -5583,9 +5583,7 @@ ix86_conditional_register_usage (void)
>      }
>
>    /*  See the definition of CALL_USED_REGISTERS in i386.h.  */
> -  c_mask = (TARGET_64BIT_MS_ABI ? (1 << 3)
> -           : TARGET_64BIT ? (1 << 2)
> -           : (1 << 1));
> +  c_mask = CALL_USED_REGISTERS_MASK (TARGET_64BIT_MS_ABI);
>
>    CLEAR_HARD_REG_SET (reg_class_contents[(int)CLOBBERED_REGS]);
>
> diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
> index a24dea5..ad17460 100644
> --- a/gcc/config/i386/i386.h
> +++ b/gcc/config/i386/i386.h
> @@ -1018,6 +1018,9 @@ extern const char *host_detect_local_cpu (int argc, 
> const char **argv);
>
>     Proper values are computed in TARGET_CONDITIONAL_REGISTER_USAGE.  */
>
> +#define CALL_USED_REGISTERS_MASK(IS_64BIT_MS_ABI) \
> +  ((IS_64BIT_MS_ABI) ? (1 << 3) : TARGET_64BIT ? (1 << 2) : (1 << 1))
> +
>  #define CALL_USED_REGISTERS                                    \
>  /*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/     \
>  {  1, 1, 1, 0, 4, 4, 0, 1, 1,  1,  1,  1,  1,  1,  1,  1,      \
> --
> 2.4.3
>

Reply via email to