http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163
--- Comment #18 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #17) > 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). This sounds like a good approach to me.