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][AArch64] PR 68102: Check that operand is REG before checking the REGNO in mov-immediate splitters


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


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