https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111119
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>: https://gcc.gnu.org/g:945217845db7edb499d66ac56480ce569002b83e commit r14-3509-g945217845db7edb499d66ac56480ce569002b83e Author: liuhongt <hongtao....@intel.com> Date: Fri Aug 25 08:46:26 2023 +0800 Use vmaskmov{ps,pd} for VI48_128_256 when TARGET_AVX2 is not available. vpmaskmov{d,q} is available for TARGET_AVX2, vmaskmov{ps,ps} is available for TARGET_AVX, w/o TARGET_AVX2, we can use vmaskmov{ps,pd} for VI48_128_256 gcc/ChangeLog: PR target/111119 * config/i386/sse.md (V48_AVX2): Rename to .. (V48_128_256): .. this. (ssefltmodesuffix): Extend to V4SF/V8SF/V2DF/V4DF. (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Change V48_AVX2 to V48_128_256, also generate vmaskmov{ps,pd} for integral modes when TARGET_AVX2 is not available. (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Ditto. (maskload<mode><sseintvecmodelower>): Change V48_AVX2 to V48_128_256. (maskstore<mode><sseintvecmodelower>): Ditto.