https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56592
--- Comment #4 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Oleg Endo from comment #0) > > Function argument/return value aggregates are decomposed so that the > individual members can be passed in different register classes, based on the > data type. E.g. > > ... > > struct FuncArg > { > float a; // -> fr4 > float b; // -> fr5 > float c; // -> fr6 > float d; // -> fr7 > }; > Maybe such simple cases can be handled by implementing TARGET_ARRAY_MODE_SUPPORTED_P