http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163
--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Perhaps add new attribute ssememalign, with default 0, which would be (maximum for all alternatives) required alignment for memory operands in the instruction pre-AVX, or 0 for GET_MODE_ALIGNMENT. So, instructions that can handle completely unaligned loads/stores in all alternatives would have ssememalign 8, instructions that require everything properly aligned would have default ssememalign 0, and say movlps/movhps would have ssememalign 64. The default would be conservatively correct, so whether instructions would have ssememalign attribute would be just an optimization issue (but, if it would be non-zero, it would have to be correct).