Jeff Law <l...@redhat.com> writes: > On 10/25/2017 09:57 AM, Richard Sandiford wrote: >> We already allow the target to change the size and alignment of a mode. >> This patch does the same thing for the number of units, which is needed >> to give command-line control of the SVE vector length. >> >> Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu, >> on top of the poly_int series. I think I can approve this under the >> gen* maintainership, so if there are no comments in the menatime, >> I'll apply it if the prerequisites are approved. >> >> Thanks, >> Richard >> >> >> 2017-10-25 Richard Sandiford <richard.sandif...@linaro.org> >> Alan Hayward <alan.hayw...@arm.com> >> David Sherwood <david.sherw...@arm.com> >> >> gcc/ >> * machmode.h (mode_precision): Prefix with CONST_MODE_PRECISION. >> (mode_nunits): Likewise CONST_MODE_NUNITS. >> * machmode.def (ADJUST_NUNITS): Document. >> * genmodes.c (mode_data::need_nunits_adj): New field. >> (blank_mode): Update accordingly. >> (adj_nunits): New variable. >> (print_maybe_const_decl): Replace CATEGORY with a NEEDS_ADJ >> parameter. >> (emit_mode_size_inline): Set need_bytesize_adj for all modes >> listed in adj_nunits. >> (emit_mode_nunits_inline): Set need_nunits_adj for all modes >> listed in adj_nunits. Don't emit case statements for such modes. >> (emit_insn_modes_h): Emit definitions of CONST_MODE_NUNITS >> and CONST_MODE_PRECISION. Make CONST_MODE_SIZE expand to >> nothing if adj_nunits is nonnull. >> (emit_mode_precision, emit_mode_nunits): Use print_maybe_const_decl. >> (emit_mode_unit_size, emit_mode_base_align, emit_mode_ibit) >> (emit_mode_fbit): Update use of print_maybe_const_decl. >> (emit_move_size): Likewise. Treat the array as non-const >> if adj_nunits. >> (emit_mode_adjustments): Handle adj_nunits. > Were all the prereqs here approved? Or does this depend on the poly_int > stuff?
Yeah, it depends on the poly_int stuff. Not in a major way though -- I could reorder it if necessary. Thanks, Richard