Hello, Thanyou for investigation and fixing the problem. I'll answer on remarks later.
Regards, Vladimir 2012/11/7 Jakub Jelinek <[email protected]>: > 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 <[email protected]> >> 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 <[email protected]> > > * 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
