Hi:
  When dest is memory, zero-masking is not valid, only merging-masking
is available,

  Bootstrap is ok, regression test on i386/x86-64 backend is ok.

gcc/ChangeLog:
        * gcc/config/i386/sse.md (*vcvtps2ph_store<merge_mask_name>):
        Refine from *vcvtps2ph_store<mask_name>.
        (vcvtps2ph256<mask_name>): Refine constraint from vm to v.
        (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
        (*vcvtps2ph256<merge_mask_name>): New define_insn.
        (*avx512f_vcvtps2ph512<merge_mask_name>): Ditto.
        * gcc/config/i386/subst.md (merge_mask): New define_subst.
        (merge_mask_name): New define_subst_attr.
        (merge_mask_operand3): Ditto.

gcc/testsuite/ChangeLog:
        * gcc.target/i386/avx512f-vcvtps2ph-pr95254.c: New test.
        * gcc.target/i386/avx512vl-vcvtps2ph-pr95254.c: Ditto.
-- 
BR,
Hongtao

Attachment: 0001-Fix-zero-masking-for-vcvtps2ph-when-dest-operand-is-.patch
Description: Binary data

Reply via email to