https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102639
--- Comment #3 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:0d788c358b94d0e1983e0c6bf6269fa105b6d007 commit r12-4270-g0d788c358b94d0e1983e0c6bf6269fa105b6d007 Author: liuhongt <hongtao....@intel.com> Date: Fri Oct 8 15:21:44 2021 +0800 Refine movhfcc. For AVX512-FP16, HFmode only supports vcmpsh whose dest is mask register, so for movhfcc, it's vcmpsh op2, op1, %k1 vmovsh op1, op2{%k1} mov op2, dest gcc/ChangeLog: PR target/102639 * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Handle HFmode. (ix86_use_mask_cmp_p): Ditto. (ix86_expand_sse_movcc): Ditto. * config/i386/i386.md (setcc_hf_mask): New define_insn. (movhf_mask): Ditto. (UNSPEC_MOVCC_MASK): New unspec. * config/i386/sse.md (UNSPEC_PCMP): Move to i386.md. gcc/testsuite/ChangeLog: * g++.target/i386/pr102639.C: New test.