On Fri, Aug 18, 2023 at 06:31:10PM +0200, Jose E. Marchesi wrote: > > This won't work if target can't use a direct call instruction. > > Consider > > __int128 a, b; void foo () { a = a / b; } > > on x86_64-linux. With just -O2, the above works fine, with > > -O2 -mcmodel=large it will not, the call is indirect, but at least one has > > REG_CALL_DECL note that could be used as fallback to the above. > > And with -O0 -mcmodel=large because flag_ipa_ra is false REG_CALL_DECL isn't > > emitted at all. > > So, perhaps you could emit the REG_CALL_DECL note even if !flag_ipa_ra > > when SYMBOL_REF_LIBCALL is set? > > Hmm something like this?
Yes. Jakub