https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106180
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- That doesn't really matter, many instructions just use the g, q etc. modifiers so that the correct Intel syntax is written, the RTL can have larger MEM just fine, the only thing that is wrong is e.g. if the expander has V2SF operand to widen it to V4SF using a subreg. But if you match an instruction that had V4SF operand, the fact that you actually just read 8 bytes from it rather than 16 isn't that bad. Especially for the unpacks which are paired, one hi and one lo which together read the whole memory anyway.