This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][AArch64] PR 68102: Check that operand is REG before checking the REGNO in mov-immediate splitters
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Wed, 28 Oct 2015 09:51:38 +0000
- Subject: Re: [PATCH][AArch64] PR 68102: Check that operand is REG before checking the REGNO in mov-immediate splitters
- Authentication-results: sourceware.org; auth=none
- References: <562FBD14 dot 3050105 at arm dot com> <20151027182623 dot GA5222 at arm dot com> <56309A47 dot 2030509 at arm dot com>
On Wed, Oct 28, 2015 at 09:49:59AM +0000, Kyrill Tkachov wrote:
> Hi James,
>
> On 27/10/15 18:26, James Greenhalgh wrote:
> >On Tue, Oct 27, 2015 at 06:06:12PM +0000, Kyrill Tkachov wrote:
> >>Hi all,
> >>
> >>This is another RTL checking error occuring in the splitting condition of the
> >>mov-immediate patterns. We take a REGNO of operands[0] which is a
> >>nonimmediate_operand. Since the immediate splitting code only makes sense
> >>when the destination is a register, we should be guarding that condition on
> >>REG_P (operands[0]).
> >>
> >>The reported error occurs on the *movdi_aarch64 pattern but I see the same
> >>vulnerability in the *movsi_aarch64 pattern, although I wasn't able to get it
> >>to trigger an ICE.
> >>
> >>This patch adds a REG_P check on the splitting condition of both. The
> >>testcase (taken from the BZ for PR 68102 and with an #if 1 removed)now
> >>compiles fine on an aarch64 compiler with RTL checking enabled.
> >>Bootstrapped and tested on aarch64-linux with RTL checking enabled.
> >>
> >>Ok for trunk?
> >OK.
> >
> >>Thanks,
> >>Kyrill
> >>
> >>The BZ says this occurs on the GCC 5 branch but I don't have a checking
> >>compiler from that branch yet. I'll be investigating whether to backport this
> >>patch there in the meantime.
> >Sounds good to me.
>
> So I reproduced the checking ICE on the GCC 5 and the patch applies
> cleanly there and fixes it.
>
> So ok to commit it there after a bootstrap and test on that branch?
Yes, please.
Thanks,
James