On Mon, Jan 24, 2022 at 06:24:11PM -0300, Raoni Fassina Firmino wrote: > On Mon, Jan 24, 2022 at 02:29:39PM -0600, Bill Schmidt wrote: > > Adding the patch author for his information. > > Thanks Bill. > > > On 1/24/22 2:26 PM, Jakub Jelinek via Gcc-patches wrote: > > > expand_builtin_feclear_feraise_except doesn't check if op0 matches > > > the predicate of operands[1], the backend requires const_int_operand, > > > but because the call isn't done with a constant integer: > > > feraiseexcept (t == LLONG_MIN ? FE_INEXACT : FE_INVALID); > > > op0 is a REG. > > > If CONST_INT is what is expected on all targets, then it should punt if > > > op0 isn't one, otherwise it should the predicate. > > My expectation was for backend expanders to be free to choose when they > expand, to be able to fail and cleanly fallback to libc call, and not > enforce one specific constrains to all targets. > > I will look into it ASAP and see what can be done. > Thanks for the feedback.
These days the usual way of doing this is through maybe_expand_insn and create_{output,input}_operand before that. Jakub