Tobias, thanks, and greetings.
change this to: int t3(void);
Yes, in fact without the 'void' the bitcast is there. When I take your suggestion to add 'void', the inlining happens. There does seem to be a difference in behavior between x86 and ARM, though. On X86 there is no bitcast.
How is the linker-script-friendly LTO coming along?