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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-01-13

--- Comment #1 from Kewen Lin <linkw at gcc dot gnu.org> ---
Thanks for reporting!

We have the below check in rs6000_expand_set_fpscr_rn_builtin before:

  if (rs6000_isa_flags & OPTION_MASK_SOFT_FLOAT)
    {
      error ("%<__builtin_set_fpscr_rn%> not supported with %<-msoft-float%>");
      return const0_rtx;
    }

It's supposed to be updated with new attribute nosoft in new bif support.

But grepping in the latest trunk code, there are no bifs using nosoft, I guess
there are something not upstreamed eventually unexpectedly.

The fix seems to add nosoft attribute for __builtin_set_fpscr_rn entry.
Besides, by checking in old bif support, the below ones also require nosoft:

__builtin_set_fpscr_drn (this one needs no32bit)
__builtin_mffsl
__builtin_mtfsb0
__builtin_mtfsb1

Reply via email to