https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106106

--- Comment #4 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
> 
> Is the fact that float32x2x2_t is an aggregate with a field named 'val'
> part of the neon API?

Yeah, it's mandated by ACLE
https://arm-software.github.io/acle/main/acle.html#vector-array-data-types-1

> 
> We could heuristically avoid to scalarize arrays when the aggregate has
> a vector mode.  Alternatively instead of scalarizing to the array
> element type we could choose the type of the aggregate mode (but only
> when doing total scalarization, that is, when there are no component
> uses or defs).

I was wondering about this as well, since in principle this would have been a
win if the user had manually extracted one of the vectors.  The scalarization
would have allowed us to ignore the rest of the vector earlier in gimple.  It's
that the type is used whole that seems like the problem

Reply via email to