https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113484
Bug ID: 113484 Summary: Add support for _Float16 type on PowerPC Product: gcc Version: 12.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: john_platts at hotmail dot com Target Milestone: --- POWER9 has instructions for _Float16 to float, _Float16 to double, float to _Float16, and double to _Float16 conversions, but the _Float16 type is not currently supported on POWER9 platforms. There are also currently no intrinsics available for the POWER9 _Float16 to double (xscvhpdp) and double to _Float16 (xscvdphp) instructions on GCC. GCC does have intrinsics for POWER9 _Float16 vector to float vector (xvcvhpsp) and float vector to _Float16 vector (xvcvsphp) instructions, but the vec_extract_fp32_from_shorth, vec_extract_fp32_from_shortl, and vec_pack_to_short_fp32 intrinsics use __vector unsigned short to represent _Float16 values. Adding support for _Float16 on POWER9 would allow conversions between _Float64 and double to be done using casts instead of having to resort to inline assembly.