On 07/13/2017 03:01 AM, Richard Sandiford wrote: > This patch adds a scalar_mode class that can hold any scalar mode, > specifically: > > - scalar integers > - scalar floating-point values > - scalar fractional modes > - scalar accumulator modes > - pointer bounds modes > > To start with this patch uses this type for GET_MODE_INNER. > Later patches add more uses. > > 2017-07-13 Richard Sandiford <richard.sandif...@linaro.org> > Alan Hayward <alan.hayw...@arm.com> > David Sherwood <david.sherw...@arm.com> > > gcc/ > * coretypes.h (scalar_mode): New class. > * machmode.h (scalar_mode): Likewise. > (scalar_mode::includes_p): New function. > (mode_to_inner): Return a scalar_mode rather than a machine_mode. > * gdbhooks.py (build_pretty_printers): Handle scalar_mode. > * genmodes.c (get_mode_class): Handle remaining scalar modes. > * cfgexpand.c (expand_debug_expr): Use scalar_mode. > * expmed.c (store_bit_field_1): Likewise. > (extract_bit_field_1): Likewise. > * expr.c (write_complex_part): Likewise. > (read_complex_part): Likewise. > (emit_move_complex_push): Likewise. > (expand_expr_real_2): Likewise. > * function.c (assign_parm_setup_reg): Likewise. > (assign_parms_unsplit_complex): Likewise. > * optabs.c (expand_binop): Likewise. > * rtlanal.c (subreg_get_info): Likewise. > * simplify-rtx.c (simplify_immed_subreg): Likewise. > * varasm.c (output_constant_pool_2): Likewise. OK. jeff