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

Reply via email to