https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94359
--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> ---
so, it seems:
rs6000_function_ok_for_sibcall ()
calls rs6000_decl_ok_for_sibcall ()
which gets a NULL decl and thus this returns false
/* Under the AIX or ELFv2 ABIs we can't allow calls to non-local
functions, because the callee may have a different TOC pointer to
the caller and there's no way to ensure we restore the TOC when
we return. */
if (!decl || DECL_EXTERNAL (decl) || DECL_WEAK (decl)
|| !(*targetm.binds_local_p) (decl))
return false;
====
The signature of the callee is void (void *)
So not sure how to proceed here at the moment (I wonder if this works for PPC
on the clang impl).
The comment indicates that this is going to fail for AIX too as it stands.