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: [Patch, RTL] Eliminate redundant vec_select moves.


On Thu, Dec 5, 2013 at 5:17 AM, Tejas Belagod <tbelagod@arm.com> wrote:
> H.J. Lu wrote:
>>
>> On Wed, Dec 4, 2013 at 9:29 AM, Jeff Law <law@redhat.com> wrote:
>>>
>>> On 12/04/13 09:14, H.J. Lu wrote:
>>>
>>>>> +
>>>>> +/* { dg-final { scan-rtl-dump "deleting noop move" "combine" { target
>>>>> aarch64*-*-* } } } */
>>>>
>>>>
>>>> Any particular reason why it doesn't work for x86?
>>>
>>> I don't think so.  I'm pretty sure Tejas is focused on ARM platforms for
>>> the
>>> obvious reason.
>>>
>>
>> Then please add "i?86-*-* x86_64-*-*".
>
>
> Hi,
>
> I tried this test on x86_64. Though the same RTL gets generated
>
>   (set (reg:Sf) (vec_select:SF (reg:V4Sf) (parallel [const 0]))
>
> for -msse2, this optimization does not seem to trigger. Only later in a
> post-reload-split does it get eliminated to something like
>
>    (set (reg:SF 21 xmm0) (reg:SF 21 xmm0))
>
> I suspect simplify_subreg_regno () may not be returning what we want here -
> sorry, I don't know enough about x86 to debug deeper.

Kirill, can you take a look why it doesn't work for x86?

> I could either keep this test case as is or if you could give it a quick
> look to see why it does not trigger, it would be useful to add x86 to this
> test.
>
> Thanks,
> Tejas.
>



-- 
H.J.


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