https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69246
--- Comment #11 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Author: rsandifo Date: Fri Jan 15 14:41:10 2016 New Revision: 232428 URL: https://gcc.gnu.org/viewcvs?rev=232428&root=gcc&view=rev Log: PR 69246: Invalid REG_ARGS_SIZE for sibcalls The problem in this PR was that we were treating a sibcall as popping arguments, leading to a negative REG_ARGS_SIZE. It doesn't really make sense to treat sibcalls as popping since (a) they're deallocating the caller's stack, not ours, and (b) there are no optabs for popping sibcalls (any more). Tested on x86_64-linux-gnu. gcc/ PR middle-end/69246 * calls.c (emit_call_1): Force n_popped to zero for sibcalls. gcc/testsuite/ PR middle-end/69246 * gcc.target/i386/pr69246.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr69246.c Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/testsuite/ChangeLog