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: [SLP] SLP vectorization: vectorize vector constructors


On 30/10/2019 14:51, Richard Biener wrote:
> On Wed, 30 Oct 2019, Joel Hutton wrote:
>
>> On 30/10/2019 13:49, Richard Biener wrote:
>>> Why do you need this?  The vectorizer already creates such CTORs.  Any
>>> testcase that you can show?
>> typedef long v2di __attribute__((vector_size(16)));
>> v2di v;
>> void
>> foo()
>> {
>>     v = (v2di){v[1], v[0]};
>> }
> Huh.  On what architecture?  Is that for a V2DI constructor of
> V1DI vectors maybe?  On x86 the code doesn't trigger.

On aarch64.

emode = E_DImode

eltmode = E_DImode


> The condition was indeed to check for vector mode elements so
> maybe it should simply read
>
>    if (VECTOR_MODE_P (emode))
>
> ?  eltmode is always scalar.
I'll try that, thanks.

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