https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68991
--- Comment #16 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #15) > (In reply to H.J. Lu from comment #11) > > (In reply to Jakub Jelinek from comment #10) > > > But why should the *mov<mode>_internal use Bm or vector_operand? It > > > can/should handle both aligned and unaligned memory operands. > > > > Only for historical reason. > > I thought Uros said: > "Looking at the comment in Patch 3, I'd say let's keep *mov<mode>_internal > constraints unchanged." > IMNSHO you only want to touch patterns which don't have ssememalign > attributes (== have it 0) and leave the others as is. Perhaps in the next > step you can kill the UNSPEC_LOADU/UNSPEC_STOREU patterns and handle them in > *mov<mode>_internal too - the unspecs were there just to make sure they > aren't combined into SSE arithmetic instructions. Yes, there is no need to change *mov<mode>_internal constraints.