This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [GCC RFC]A new and simple pass merging paired load store instructions


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]