This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [GCC RFC]A new and simple pass merging paired load store instructions
- From: Mike Stump <mikestump at comcast dot net>
- To: Jeff Law <law at redhat dot com>
- Cc: "Bin.Cheng" <amker dot cheng at gmail dot com>, 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: Mon, 19 May 2014 14:02:46 -0700
- 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>
On May 19, 2014, at 10:30 AM, Jeff Law <law@redhat.com> wrote:
>> Yes, I think it's more than upsizing the mode. There is another
>> example from one of x86's candidate peephole patch at
>> https://gcc.gnu.org/ml/gcc-patches/2014-04/msg00467.html
>>
>> The patch wants to do below transformation, which I think is very
>> target dependent.
> Presumably there's no way to go through an expander here?
> The idea being that common cases where a pair moves can be turned into a single wider move without having to write target code to make that happen much of the time. ie 2xQI->HI, 2xHI->SI, 2xSI->DI 2xSF->DF. For things outside those simple cases, fall back to a target hook or a target expander.
For completeness, load_multiple can handle quite a bit in a generic way. For example, mine is wired to support 3 DI.