https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89967
Tamar Christina <tnfchris at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tnfchris at gcc dot gnu.org See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=106106 --- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> --- This is caused by SRA scalarizing the structural registers. i.e. it breaks apart the uint8x16x2_t into two uint8x16_t, for use with vld2 we need them as a whole, and so we recreate the type again. This causes a copy through scalarization and then constructing the type again in RTL. Reload is able to remove one copy but not the other. The fix for #106106 will also fix this.