https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115606
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is a reduced testcase for aarch64: ``` class Foo { public: int a, b[1024]; Foo(int a, int b); }; Foo __attribute__((noinline,noclone,noipa)) callee (int i); Foo __attribute__((noinline,noclone,noipa)) caller (int i) { return callee (i + 1); } ``` Which gives: ;; Cannot tail-call: callee returns a structure: callee (_1) [return slot optimization] [tail call] Which is the same as the original one for arm: ;; Cannot tail-call: callee returns a structure: callee (_1) [return slot optimization] [tail call]