This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Vzeroupper placement/47440


On Tue, Nov 06, 2012 at 02:11:50PM -0800, H.J. Lu wrote:
> On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> > Hello,
> >> OK for mainline SVN, please commit.
> > Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html
> >
> > Thanks, K
> 
> This caused:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55224

Not only that, it also broke --enable-checking=yes,rtl bootstrap.
SET_DEST isn't valid on CALL, but XEXP (call, 0) is a MEM anyway and
the code looks for reg, so I think looking for CALL was just a mistake.

This fixes the bootstrap, ok for trunk?

2012-11-06  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
	look for reg in CALL operand.

--- gcc/config/i386/i386.c.jj	2012-11-06 18:10:22.000000000 +0100
+++ gcc/config/i386/i386.c	2012-11-06 20:15:09.068912242 +0100
@@ -15084,9 +15084,9 @@ ix86_avx_u128_mode_after (int mode, rtx
   /* Check for CALL instruction.  */
   if (CALL_P (insn))
     {
-      if (GET_CODE (pat) == SET || GET_CODE (pat) == CALL)
+      if (GET_CODE (pat) == SET)
 	reg = SET_DEST (pat);
-      else if (GET_CODE (pat) ==  PARALLEL)
+      else if (GET_CODE (pat) == PARALLEL)
 	for (i = XVECLEN (pat, 0) - 1; i >= 0; i--)
 	  {
 	    rtx x = XVECEXP (pat, 0, i);


	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]