https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107432
--- Comment #10 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Hu <hu...@gcc.gnu.org>: https://gcc.gnu.org/g:c320a7efcd35ba6c6be70dc9b2fe562a9673e363 commit r15-1677-gc320a7efcd35ba6c6be70dc9b2fe562a9673e363 Author: Hu, Lin1 <lin1...@intel.com> Date: Thu Feb 1 15:15:01 2024 +0800 vect: generate suitable convert insn for int -> int, float -> float and int <-> float. gcc/ChangeLog: PR target/107432 * tree-vect-generic.cc (expand_vector_conversion): Support convert for int -> int, float -> float and int <-> float. * tree-vect-stmts.cc (vectorizable_conversion): Wrap the indirect convert part. (supportable_indirect_convert_operation): New function. * tree-vectorizer.h (supportable_indirect_convert_operation): Define the new function. gcc/testsuite/ChangeLog: PR target/107432 * gcc.target/i386/pr107432-1.c: New test. * gcc.target/i386/pr107432-2.c: Ditto. * gcc.target/i386/pr107432-3.c: Ditto. * gcc.target/i386/pr107432-4.c: Ditto. * gcc.target/i386/pr107432-5.c: Ditto. * gcc.target/i386/pr107432-6.c: Ditto. * gcc.target/i386/pr107432-7.c: Ditto. --- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Hu <hu...@gcc.gnu.org>: https://gcc.gnu.org/g:e5f8a39941f6f0f25dac88bd71fd368fb284a10f commit r15-1678-ge5f8a39941f6f0f25dac88bd71fd368fb284a10f Author: Hu, Lin1 <lin1...@intel.com> Date: Wed Feb 28 18:11:55 2024 +0800 vect: Support v4hi -> v4qi. gcc/ChangeLog: PR target/107432 * config/i386/mmx.md (VI2_32_64): New mode iterator. (mmxhalfmode): New mode atter. (mmxhalfmodelower): Ditto. (truncv2hiv2qi2): Extend mode v4hi and change name from truncv2hiv2qi to trunc<mode><mmxhalfmodelower>2. gcc/testsuite/ChangeLog: PR target/107432 * gcc.target/i386/pr107432-1.c: Modify test. * gcc.target/i386/pr107432-6.c: Add test. * gcc.target/i386/pr108938-3.c: This patch supports truncv4hiv4qi affect bswap optimization, so I added the -mno-avx option for now, and open a bugzilla.