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