This is the mail archive of the
mailing list for the GCC project.
Re: [GCC RFC]A new and simple pass merging paired load store instructions
- From: Jeff Law <law at redhat dot com>
- To: Wei Mi <wmi at google dot com>, "Bin.Cheng" <amker dot cheng at gmail dot com>
- Cc: Steven Bosscher <stevenb dot gcc at gmail dot com>, "bin.cheng" <bin dot cheng at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 20 May 2014 11:23:16 -0600
- Subject: Re: [GCC RFC]A new and simple pass merging paired load store instructions
- Authentication-results: sourceware.org; auth=none
- References: <004d01cf700e$ef1e30e0$cd5a92a0$ at arm dot com> <CABu31nMY6zapHfhr5x4BjZ3kvFuEKuhagBfx2cYbD4bbSwybTg at mail dot gmail dot com> <CAHFci2_PoNZVA15gKGDPet73UeEsay3-Ez6qKDu=E7PUVxgeiA at mail dot gmail dot com> <53763DAA dot 1030104 at redhat dot com> <CAHFci2-oCaofsEiBdF2z5k=ueSwJyLVOBHDjJ95PYFjzXOoTag at mail dot gmail dot com> <537A3FAD dot 4040603 at redhat dot com> <CAHFci28AC-eFp_EY-LRf2XkztdZ3Gmbv0Zjzg2f7_+xXkmMP3w at mail dot gmail dot com> <CA+4CFy4D=xWr6B5JJo7dyfKZxY56OXf6ZkYMmqrnjuZP5HqoDw at mail dot gmail dot com>
On 05/20/14 11:14, Wei Mi wrote:
On Tue, May 20, 2014 at 12:13 AM, Bin.Cheng <firstname.lastname@example.org> wrote:
On Tue, May 20, 2014 at 1:30 AM, Jeff Law <email@example.com> wrote:
On 05/19/14 00:38, Bin.Cheng wrote:
On Sat, May 17, 2014 at 12:32 AM, Jeff Law <firstname.lastname@example.org> wrote:
On 05/16/14 04:07, Bin.Cheng wrote:
But can't you go through movXX to generate either the simple insn on the
or the PARALLEL on the thumb?
Yes, I think it's more than upsizing the mode. There is another
example from one of x86's candidate peephole patch at
The patch wants to do below transformation, which I think is very
Presumably there's no way to go through an expander here?
I don't know very much with respect to this case, maybe the patch
author can help here.
I just checked the expand result for my case. TER could make expand
see the two intrinsics at the same time so in theory it is possible to
make the merge happen in expand. I havn't looked into detail.
I'm not referring to in the gimple->rtl expansion.
I'm referring to using a define_expand to generate the load/store
multiple instructions. Given define_expand in the backend, the target
independent code can use HAVE_XXX and gen_XXX to test for the existence
of the expander and to call the expander to generate insns.