On Fri, Jan 13, 2023 at 08:25:01PM +0100, Jakub Jelinek via Gcc-patches wrote: > alignment is 256, which is not <= 16 * BITS_PER_UNIT. > type is pst_uniform4 with user alignment of 32 bytes: > struct pst_uniform4 > { > fixed_int32_t a __attribute__((aligned(SVE_BYTES * 2))); > fixed_int32_t b[3] __attribute__((aligned(SVE_BYTES * 2))); > fixed_int32_t c __attribute__((aligned(SVE_BYTES * 2))); > }; > and with -march=armv8.2-a+sve -msve-vector-bits=128 > __ARM_FEATURE_SVE_BITS and therefore SVE_BYTES is 128 and so > the alignment seems requested.
typedef __SVInt32_t fixed_int32_t __attribute__ ((arm_sve_vector_bits (128))); struct A { fixed_int32_t a[3] __attribute__((aligned((128 / 8) * 2))); }; void foo (struct A x) {} -march=armv8.2-a+sve -O -msve-vector-bits=128 reproduces it too. Jakub