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.