On Tue, May 20, 2014 at 5:02 AM, Mike Stump <mikest...@comcast.net> wrote:
> On May 19, 2014, at 10:30 AM, Jeff Law <l...@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.
One problem is load/store_multiple only supports consecutive
registers, while targets like arm and aarch64 supports load/store of
non-consecutive registers.

Thanks,
bin


-- 
Best Regards.

Reply via email to