https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96427
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2020-08-03 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed, the constant initializer doesn't inherit the alignment. But it works for the following for example where with -O -mavx512 we output an aligned load and _do_ align the initializer. So, are you requesting the initializer honor the targets alignment? typedef int v4si __attribute__((vector_size(64))); int bar (v4si v); int foo (int i) { int a_1[131] __attribute__((aligned(64))) = {38580, 691093, 378582, 691095, 938904, 251417, 38906, 251419, 2938908, 251421, 938910, 4863, 92352, 104865, 792354, 4867, 2792356,251429, 938918,251431, 938920,251433, 938922, 104875, 22792364, 104877, 2792366, 104879, 2792368, 104881, 6180210,8492723, 6180212,8492725, 6180214,8492727,33656,346169,33658,346171,33660,346173,33662,8492735, 6180224,8492737, 6180226,8492739, 6180228,346181,33670,346183,33672,346185,33674,7906507, 593996,7906509, 593998,7906511, 594000,7906513,447442,7759955,447444,7759957,447446,7759959, 594008,7906521, 594010,7906523, 594012,7906525, 594014,7759967,447456,7759969,447458,7759971,447460,8492773, 6180262,8492775, 6180264,8492777, 6180266,346219,33708,346221,33710,346223,33712,346225, 6180274,8492787, 6180276,8492789, 6180278,8492791,33720,346233,33722,346235,33724,346237,33726,7906559, 594048,7906561, 594050,7906563, 594052,7760005,447494,7760007,447496,7760009,447498,7906571, 594060,7906573, 594062,7906575, 94064, 7906577, 447506, 760019, 447508, 760021, 447510}; v4si * ptr = (v4si *)a_1; v4si v = ptr[0]; return bar (v); }