This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/70048] [6 Regression][AArch64] Inefficient local array addressing
- From: "amker at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 02 Mar 2016 15:04:07 +0000
- Subject: [Bug target/70048] [6 Regression][AArch64] Inefficient local array addressing
- Auto-submitted: auto-generated
- References: <bug-70048-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70048
--- Comment #4 from amker at gcc dot gnu.org ---
(In reply to ktkachov from comment #3)
> Started with r233136.
That's why I forced base+offset out of memory reference and kept register
scaling in in the first place. I think my statement still holds, that GIMPLE
optimizers should be improved to CSE register scaling expression among
different memory references, then force base(sp)+offset parts out of memory
reference in legitimize_address so that it can be merged. I suspect this case
is going to be very inefficient in loop context. Unfortunately GIMPLE
optimizers are weak now and r233136 is a workaround to it. I want to revisit
slsr sometime after stage4 to fix this issue.