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 Tue, May 20, 2014 at 1:30 AM, Jeff Law <law@redhat.com> wrote:
> On 05/19/14 00:38, Bin.Cheng wrote:
>>
>> On Sat, May 17, 2014 at 12:32 AM, Jeff Law <law@redhat.com> 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
>>> ARM
>>> 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
>> 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?
I don't know very much with respect to this case, maybe the patch
author can help 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.
This is practicable, but the question is why we would bother with
general cases if the hook interface is needed anyway.  Is it because
target calls are generally more expensive?

Thanks,
bin


-- 
Best Regards.


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