https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107748

--- Comment #10 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:a1ecc5600464f6a62faab246d522b6328badda90

commit r13-4314-ga1ecc5600464f6a62faab246d522b6328badda90
Author: liuhongt <hongtao....@intel.com>
Date:   Wed Nov 23 21:58:09 2022 +0800

    Fix incorrect _mm_cvtsbh_ss.

    After supporting real __bf16, the implementation of _mm_cvtsbh_ss went
    wrong.

    The patch add a builtin to generate pslld for the intrinsic, also
    extendbfsf2 is supported with pslld when !HONOR_NANS (BFmode).

    truncsfbf2 is supported with vcvtneps2bf16 when
    !HONOR_NANS (BFmode) && flag_unsafe_math_optimizations.

    gcc/ChangeLog:

            PR target/107748
            * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined.
            * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16):
            New function type.
            * config/i386/i386-builtin.def (BDESC): New builtin.
            * config/i386/i386-expand.cc (ix86_expand_args_builtin):
            Handle the builtin.
            * config/i386/i386.md (extendbfsf2): New expander.
            (extendbfsf2_1): New define_insn.
            (truncsfbf2): Ditto.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Scan pslld.
            * gcc.target/i386/extendbfsf.c: New test.

Reply via email to