https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115161
--- Comment #28 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:b5d3ad256afdfd891d37d8fdb126d599f150e78b commit r15-1370-gb5d3ad256afdfd891d37d8fdb126d599f150e78b Author: Hu, Lin1 <lin1...@intel.com> Date: Wed Jun 12 16:25:34 2024 +0800 i386: Refine all cvtt* instructions with UNSPEC instead of FIX/UNSIGNED_FIX. gcc/ChangeLog: PR target/115161 * config/i386/i386-builtin.def: Change CODE_FOR_* for cvtt*'s builtins. * config/i386/sse.md: (unspec_avx512fp16_fix<vcvtt_uns_suffix> _trunc<mode>2<mask_name><round_saeonly_name>): Use UNSPEC instead of FIX/UNSIGNED_FIX. (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): Ditto. (unspec_avx512fp16_fix<vcvtt_uns_suffix>_truncv2di2<mask_name>): Ditto. (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<round_saeonly_name>): Ditto. (unspec_sse_cvttps2pi): Ditto. (unspec_sse_cvttss2si<rex64namesuffix><round_saeonly_name>): Ditto. (unspec_fix<vcvtt_uns_suffix>_truncv16sfv16si2<mask_name><round_saeonly_name>): Ditto. (unspec_fix_truncv8sfv8si2<mask_name>): Ditto. (unspec_fix_truncv4sfv4si2<mask_name>): Ditto. (unspec_sse2_cvttpd2pi): Ditto. (unspec_fixuns_truncv2dfv2si2): Ditto. (unspec_avx512f_vcvttss2usi<rex64namesuffix><round_saeonly_name>): Ditto. (unspec_avx512f_vcvttsd2usi<rex64namesuffix><round_saeonly_name>): Ditto. (unspec_sse2_cvttsd2si<rex64namesuffix><round_saeonly_name>): Ditto. (unspec_fix<vcvtt_uns_suffix>_truncv8dfv8si2<mask_name><round_saeonly_name>): Ditto. (*unspec_fixuns_truncv2dfv2si2): Ditto. (unspec_fixuns_truncv2dfv2si2_mask): Ditto. (unspec_fix_truncv4dfv4si2<mask_name>): Ditto. (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. (unspec_fix<vcvtt_uns_suffix> _trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>): Ditto. (unspec_fix<vcvtt_uns_suffix> _trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): Ditto. (unspec_avx512dq_fix<vcvtt_uns_suffix>_truncv2sfv2di2<mask_name>): Ditto. (<mask_codefor>unspec_fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): Ditto. (unspec_sse2_cvttpd2dq<mask_name>): Ditto. gcc/testsuite/ChangeLog: PR target/115161 * gcc.target/i386/pr115161-1.c: New test.