https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114185
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- The tail recursion optimization doesn't support non-register argument passing. Of course the example is also broken as Andrew says. A "better" example might be taking the address with like asm ("":: "g" (&u64arg)); Better make it meaningfully do sth with no invisible side-effects or escaping of the address. We should be pretty good these days with not setting TREE_ADDRESSABLE unnecessarily (but I guess DECL_NOT_GIMPLE_REG should also inhibit tail-recursion).