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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2026-10-19
                 CC|                            |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Caused by r17-4919:

    i386: Extend _Float16 to double using F16C/AVX512VL extension to float and
then ss2sd [PR127720]

    For AVX512FP16 we have an instruction for direct extension from _Float16
    to _Float64.  Without that ISA, we've been emitting a libgcc API call,
    but for F16C or AVX512VL we can do better, we can emit vcvtph2ps
    followed by vcvtss2sd, _Float32 is a superset of all _Float16
    values and _Float64 is superset of all _Float32 values, so the only
    changes/exceptions we want are for sNaN input and vcvtph2ps should
    handle that already.

    2026-10-06  Jakub Jelinek  <[email protected]>

            PR target/127720
            * config/i386/i386.md (extendhfdf2): Enable also for
            TARGET_F16C || TARGET_AVX512VL, in those cases expand as
            extendhfsf2 followed by extendsfdf2.

            * gcc.target/i386/pr127720-f16c.c: New test.
            * gcc.target/i386/pr127720-avx512vl.c: New test.

Reply via email to