On Linux/ia32, revision 193229: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html caused: FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp
(In reply to comment #0) > On Linux/ia32, revision 193229: > > http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html > > caused: > > FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp The referred revision removed a bit too much. Following patch fixes the problem: Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 193296) +++ config/i386/i386.c (working copy) @@ -4638,6 +4638,8 @@ ix86_function_ok_for_sibcall (tree decl, tree exp) if (!rtx_equal_p (a, b)) return false; } + else if (VOID_TYPE_P (TREE_TYPE (DECL_RESULT (cfun->decl)))) + ; else if (!rtx_equal_p (a, b)) return false;
Author: uros Date: Wed Nov 7 19:30:48 2012 New Revision: 193305 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193305 Log: PR target/55224 * config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception to make a sibcall if one of the functions has void return type. Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog
Fixed.
Author: uros Date: Wed Nov 7 19:35:25 2012 New Revision: 193306 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193306 Log: PR target/55224 * config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception to make a sibcall if one of the functions has void return type. Modified: trunk/gcc/config/i386/i386.c