https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93047
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jiu Fu Guo <guoji...@gcc.gnu.org>: https://gcc.gnu.org/g:a8532e9927ad6e4bbedbb957b02ca413aedf9098 commit r10-6664-ga8532e9927ad6e4bbedbb957b02ca413aedf9098 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-17 Jiufu Guo <guoji...@linux.ibm.com> PR target/93047 * config/rs6000/rs6000.md (untyped_call): Add emit_clobber. gcc/testsuite 2020-02-17 Jiufu Guo <guoji...@linux.ibm.com> PR target/93047 * gcc.dg/torture/stackalign/builtin-return-2.c: New test case.