> gcc/ > 2013-12-30 Alexander Ivchenko <alexander.ivche...@intel.com> > Maxim Kuznetsov <maxim.kuznet...@intel.com> > Sergey Lega <sergey.s.l...@intel.com> > Anna Tikhonova <anna.tikhon...@intel.com> > Ilya Tocar <ilya.to...@intel.com> > Andrey Turetskiy <andrey.turets...@intel.com> > Ilya Verbin <ilya.ver...@intel.com> > Kirill Yukhin <kirill.yuk...@intel.com> > Michael Zolotukhin <michael.v.zolotuk...@intel.com> > > * config/i386/i386.c (MAX_CLASSES): Increase number of classes. > (classify_argument): Extend for 512 bit vectors. > (construct_container): Ditto. > (function_arg_advance_32): Ditto. > (function_arg_advance_64): Ditto. > (function_arg_32): Ditto. > (function_arg_64): Ditto. > (function_value_32): Ditto. > (return_in_memory_32): Ditto. > (ix86_gimplify_va_arg): Ditto. > (standard_sse_constant_p): Ditto. > (standard_sse_constant_opcode): Ditto. > (ix86_expand_vector_convert_uns_vsivsf): Ditto. > (ix86_build_const_vector): Ditto. > (ix86_build_signbit_mask): Ditto. > (ix86_expand_sse_cmp): Extend for AVX512. > (ix86_expand_sse_movcc): Ditto. > (ix86_expand_int_vcond): Ditto. > (ix86_expand_vec_perm): Ditto. > (ix86_expand_sse_unpack): Ditto. > (ix86_constant_alignment): Ditto.
The change is actually to ix86_data_alignment, not to ix86_constant_alignment: @@ -26219,7 +26433,8 @@ ix86_constant_alignment (tree exp, int align) int ix86_data_alignment (tree type, int align, bool opt) { - int max_align = optimize_size ? BITS_PER_WORD : MIN (256, MAX_OFILE_ALIGNMENT); + int max_align = optimize_size ? BITS_PER_WORD + : MIN (512, MAX_OFILE_ALIGNMENT); if (opt && AGGREGATE_TYPE_P (type) Note that it has unexpected side-effects: previously, in 32-bit mode, 256-bit aggregate objects would have been given 256-bit alignment; now, they will fall back to default alignment, for example 32-bit only. -- Eric Botcazou