https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57955
--- Comment #15 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- I tried implementing Jakub's suggestion to have CONSTANT_ALIGNMENT return 128 for large constructors. This doesn't fix the r201264 version of the test case, which still generates fairly horrid code. The use of CONSTANT_ALIGNMENT in align_variable causes the destination to receive the 128-bit alignment, but the constructor itself remains with 32-bit alignment, so the aligned-only lvx instruction can't be used. This isn't an area I know much about. Under what circumstances would it be safe to modify the alignment of the type of the constructor?