This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Vzeroupper placement/47440
Thanyou for investigation and fixing the problem. I'll answer on remarks later.
2012/11/7 Jakub Jelinek <firstname.lastname@example.org>:
> 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@example.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:
> 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 <firstname.lastname@example.org>
> * 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);