This is the mail archive of the
mailing list for the GCC project.
Re: RFC: patch to build GCC for arm with LRA
- From: Yvan Roux <yvan dot roux at linaro dot org>
- To: Yvan Roux <yvan dot roux at linaro dot org>, Vladimir Makarov <vmakarov at redhat dot com>, Richard Earnshaw <rearnsha at arm dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Matthew Gretton-Dann <matthew dot gretton-dann at linaro dot org>, Richard Henderson <rth at redhat dot com>, "rdsandiford at googlemail dot com" <rdsandiford at googlemail dot com>
- Date: Mon, 23 Sep 2013 11:05:31 +0200
- Subject: Re: RFC: patch to build GCC for arm with LRA
- Authentication-results: sourceware.org; auth=none
- References: <CAD57uCfSsANZvkMHmKphMHRnAxJNXGBxGEmSfhHSYwR7Jg9H-Q at mail dot gmail dot com> <877geri40k dot fsf at talisman dot default> <522D06E4 dot 1050602 at redhat dot com> <CAD57uCfpzd-7fKODP1oyWhY9f1QW2J=3BpMT3LAUMqC82Xvy0g at mail dot gmail dot com> <87zjrmgytu dot fsf at talisman dot default> <87vc2agymo dot fsf at talisman dot default> <CAD57uCfU3LMX+JM3yaJopqsp_rkJ3oyJv5g5VmJ5-9iyQvEMvQ at mail dot gmail dot com> <87wqmpg5n4 dot fsf at talisman dot default> <CAD57uCe-GrDqMHTNWtFcLRNDDVVr0_ZUg5E+zwaJdkCquNHagQ at mail dot gmail dot com> <87txhsmql0 dot fsf at talisman dot default> <CAD57uCchQSHKvaaA_Uq4rroiV9sopPgZgfTXnBJM-YpmWaHwdA at mail dot gmail dot com> <87li33n78h dot fsf at talisman dot default> <CAD57uCfsX4o39hPsgMBJ6K6E7p4YFrdqVFQdKAQHPHBADYAwnA at mail dot gmail dot com> <8738pbmep7 dot fsf at talisman dot default> <CAD57uCfqqQbdbHjkVV09KnLqb6tJLH5kNE4ogPY=hh8Ef8dK0Q at mail dot gmail dot com>
here is a status of LRA on ARM, after Vladimir's patch and a rebase of
No more issues in the testsuite, the libstdc++ ones weren't LRA
specific, they happened at the pass manager level and due to PCH
inclusion, but were fixed with the trunk update. Thus, I'll post a
patch to enable LRA on AArch64, but it is still needed to have the RTL
analyser patch accepted.
No more issues in libstdc++ as well (same as reasons as AArch64), and
only 3 failures in the testsuite:
- The first one is invalid as the test sans the assembler for
"ldaex\tr\[0-9\]+..." and it fails because with LRA the chosen
register is r12 and thus the instruction is "ldaex ip,..."
- The two others are the same bug where LRA keeps some REG_NOTES (DEAD
and UNUSED) on a comparison pattern where reload removes then, and the
results is that the comparison is removed. I'm currently working on
- Thumb still doesn't bootstrap.
On 11 September 2013 20:57, Yvan Roux <firstname.lastname@example.org> wrote:
>> Yeah, good point. TBH I prefer it with separate ifs though, because the
>> three cases are dealing with three different types of rtl (unary, binary
>> and ternary). But I don't mind much either way.
> Ok, it's fine for me too.
>> The new patch looks good to me, thanks. Just one minor style nit:
>> "return false" rather than "return 0" for the bool. Maybe also change:
>> /* Bitfield operations [SIGN|ZERO]_EXTRACT from the least significant
>> bit can be used too. */
>> to something like:
>> /* A [SIGN|ZERO]_EXTRACT from the least significant bit effectively
>> acts as a combined truncation and extension. */
> Yeah, its clearer. I'll post the new patch in the other thread.
>> I really will try to make that my last comment and leave things open
>> for an official review :-)
> :-) once again many thanks for your help Richard.