On 07/13/2017 02:43 AM, Richard Sandiford wrote:
> Similar to the previous scalar_float_mode patch, but for modes that
> satisfy SCALAR_INT_MODE_P. There are very many uses of scalar integers,
> so this patch only makes a token change to the types of byte_mode,
> word_mode, ptr_mode and rs6000_pmode. The next patches in the series
> gradually replace more uses.
>
> The patch also removes and adds casts to some target-specific code
> due to the new types of SImode, DImode and Pmode.
>
> The as_a <scalar_int_mode> goes away in a later patch.
>
> 2017-07-13 Richard Sandiford <richard.sandif...@linaro.org>
> Alan Hayward <alan.hayw...@arm.com>
> David Sherwood <david.sherw...@arm.com>
>
> gcc/
> * config/powerpcspe/powerpcspe.h (rs6000_pmode): Change type from
> machine_mode to scalar_int_mode.
> * config/powerpcspe/powerpcspe.c (rs6000_pmode): Likewise.
> (rs6000_option_override_internal): Remove cast to int.
> * config/rs6000/rs6000.h (rs6000_pmode): Change type from
> machine_mode to scalar_int_mode.
> * config/rs6000/rs6000.c (rs6000_pmode): Likewise.
> (rs6000_option_override_internal): Remove cast to int.
> * config/s390/s390.h (Pmode): Remove cast to machine_mode.
> * config/epiphany/epiphany.h (RTX_OK_FOR_OFFSET_P): Add cast
> to machine_mode.
> * config/s390/s390.c (s390_expand_builtin): Likewise.
> * coretypes.h (scalar_int_mode): New type.
> (opt_scalar_int_mode): New typedef.
> * machmode.h (scalar_int_mode): New class.
> (scalar_int_mode::includes_p): New function.
> (byte_mode): Change type to scalar_int_mode.
> (word_mode): Likewise.
> (ptr_mode): Likewise.
> * emit-rtl.c (byte_mode): Likewise.
> (word_mode): Likewise.
> (ptr_mode): Likewise.
> (init_derived_machine_modes): Update accordingly.
> * genmodes.c (get_mode_class): Return scalar_int_mode for MODE_INT
> and MODE_PARTIAL_INT.
> * gdbhooks.py (build_pretty_printer): Handle scalar_int_mode and
> opt_scalar_int_mode.
OK.
jeff