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.