On 5/11/23 10:55, Paul Koning wrote:


On May 11, 2023, at 11:05 AM, Hans-Peter Nilsson via Gcc-patches 
<gcc-patches@gcc.gnu.org> wrote:

...
Yes, very interesting.  Thank you for sharing this.  I've
seen regressions with LRA for CRIS too, for
"double-register-sized" types, which for CRIS, a 32-bit
target, translates to 64-bit types (DFmode and DImode), and
where LRA does a much worse job than reload; spills a lot
more often to stack, even after trying every
register-allocation-related hook I found (and also an LRA
patch which helped only by a fraction, but regressed results
on x86_64-linux, so let's quickly forget it again).

That observation makes me a bit worried.  While CRIS may not be a priority 
platform, that description makes it sound like a case that would be significant 
in any 32 bit platform, which would include priority ones like i386 and ARM.
If I understood things correctly, it seems to impact more when the target exposes double-word patterns but doesn't actually have instructions for those operations. That's an implementation pattern we've largely been moving away from over the last decade or so.

Jeff

Reply via email to