This is the mail archive of the
mailing list for the GCC project.
Re: [4.9 PATCH, alpha]: Switch alpha to LRA
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Vladimir Makarov <vmakarov at redhat dot com>
- Date: Mon, 22 Apr 2013 20:18:44 +0200
- Subject: Re: [4.9 PATCH, alpha]: Switch alpha to LRA
- References: <CAFULd4be3azVdXQhpnQE7Qee8350480TdQM1woUnNuav3Ehw9g at mail dot gmail dot com> <51070AFC dot 9060200 at redhat dot com> <CAFULd4aYwsf2xpwbuMznNWE5q35BaCuoG=uB3UUkSvFDOVamfg at mail dot gmail dot com> <51757484 dot 4000608 at redhat dot com>
On Mon, Apr 22, 2013 at 7:33 PM, Jeff Law <email@example.com> wrote:
>> Unfortunately, alphas are much more tied to reload than it was hoped.
>> While latest alphas (with FIX and BWX ISAs) survived transition to LRA
>> without problems, further testing on ev4 and ev5 triggered various
>> problems, one of them is PR57032  that exposed rather unique way of
>> handling aligned/nonaligned memory operands.
>> The patch was reverted.
>> I suspect that fixing older alphas to live with LRA would be quite
>> involved task, and I guess nobody (including me) wants to spend
>> considerable amount of time on a dying architecture. Consequently,
>> this also means that alphas will die together with reload as far as
>> gcc is concerned.
>>  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57032
> Would it make sense to deprecate the older Alpha implementations without
> killing the "modern" ones?
Looking at , I would propose a cutoff point at ev6.
IIUC, the core of the problem is with *movdi, *movhi and *movqi
patterns, where moves to/from memory are blocked for FP (there remains
"Q" constraint in the *movdi case, ignored by LRA) and integer regs.
This situation gets eventually fixed during reload (please see various
instances of reload_in_progress), which is somehow incompatible with