Hi Suwa-san, On Sat, Feb 25, 2023 at 3:33 AM Takayuki 'January June' Suwa <jjsuwa_sys3...@yahoo.co.jp> wrote: > On 2023/02/25 19:01, Max Filippov wrote: > > diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc > > index e52fba082550..babe7f0ebd68 100644 > > --- a/gcc/config/xtensa/xtensa.cc > > +++ b/gcc/config/xtensa/xtensa.cc > > @@ -2183,8 +2183,10 @@ xtensa_emit_movcc (bool inverted, bool isfp, bool > > isbool, rtx *operands) > > > > > > void > > -xtensa_prepare_expand_call (int callop, rtx *operands) > > +xtensa_expand_call (int callop, rtx *operands) > > { > > + rtx call; > > + rtx call_insn; > > ;; This should be rtx_insn* rather than rtx, > - rtx call_insn; > + rtx_insn *call_insn; > > > rtx addr = XEXP (operands[callop], 0); > > > > if (flag_pic && SYMBOL_REF_P (addr) > > @@ -2202,6 +2204,27 @@ xtensa_prepare_expand_call (int callop, rtx > > *operands) > > Pmode); > > XEXP (operands[callop], 0) = reg; > > } > > + > > + call = gen_rtx_CALL (VOIDmode, operands[callop], operands[callop + 1]); > > + > > + if (callop) > > + call_insn = emit_call_insn (gen_rtx_SET (operands[0], call)); > > + else > > + call_insn = emit_call_insn (call); > > ;; Simpler, > call = gen_rtx_CALL (VOIDmode, operands[callop], operands[callop + 1]); > - > if (callop) > - call_insn = emit_call_insn (gen_rtx_SET (operands[0], call)); > - else > - call_insn = emit_call_insn (call); > + call = gen_rtx_SET (operands[0], call); > + call_insn = emit_call_insn (call);
Thank you for the review! > (I had just removed "WIP" from the set of backported patches to the > esp8266/Arduino toolchain, > so I am worried that it was a bit premature, but relieved soon to find that > it has nothing to do > with the CALL0 ABI...) Unrelated indeed, just popped up during the recent testing. -- Thanks. -- Max