[i386] : Fix PR55224, FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp

Message ID CAFULd4bYj1RjqfpqpOq_J+FPv=3mJGJHiA1hga4F9WXjM2K+nA@mail.gmail.com
State New
Headers show

Commit Message

Uros Bizjak Nov. 7, 2012, 7:29 p.m.

Apparently, vzeroupper patch removed a couple of unrelated lines.
Attached patch puts back what was there in gcc-4.5.

(Also, the patch finds a better place for check_avx256_stores.)

2012-11-07  Uros Bizjak  <ubizjak@gmail.com>

	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.

Patch was tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN.



Index: i386.c
--- i386.c	(revision 193296)
+++ i386.c	(working copy)
@@ -4638,6 +4622,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;