https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93047
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by Jiu Fu Guo <guoji...@gcc.gnu.org>: https://gcc.gnu.org/g:0ce89ea10d93a583854f02bc115e05cfd9d818e4 commit r9-8282-g0ce89ea10d93a583854f02bc115e05cfd9d818e4 Author: Jiufu Guo <guoji...@linux.ibm.com> Date: Mon Feb 17 10:48:39 2020 +0800 rs6000: mark clobber for registers changed by untpyed_call As PR93047 said, __builtin_apply/__builtin_return does not work well with -frename-registers. This is caused by return register(e.g. r3) is used to rename another register, before return register is stored to stack. This patch fix this issue by emitting clobber for those egisters which maybe changed by untyped call. gcc/ 2020-02-26 Jiufu Guo <guoji...@linux.ibm.com> PR target/93047 * config/rs6000/rs6000.md (untyped_call): Add emit_clobber. gcc/testsuite 2020-02-26 Jiufu Guo <guoji...@linux.ibm.com> PR target/93047 * gcc.dg/torture/stackalign/builtin-return-2.c: New test case.