https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387
--- Comment #16 from Segher Boessenkool <segher at gcc dot gnu.org> --- > > > --- gcc/config/rs6000/rs6000.c (revision 255700) > > > +++ gcc/config/rs6000/rs6000.c (working copy) > > > @@ -11095,7 +11095,8 @@ rs6000_discover_homogeneous_aggregate (m > > > homogeneous aggregates; these types are handled via the > > > targetm.calls.split_complex_arg mechanism. Complex types > > > can be elements of homogeneous aggregates, however. */ > > > - if (DEFAULT_ABI == ABI_ELFv2 && type && AGGREGATE_TYPE_P (type)) > > > + if (TARGET_HARD_FLOAT && DEFAULT_ABI == ABI_ELFv2 && type > > > + && AGGREGATE_TYPE_P (type)) > > > { > > > machine_mode field_mode = VOIDmode; > > > int field_count = rs6000_aggregate_candidate (type, &field_mode); > > > > > > > > > > > > > With this patch I can build an Ada compiler with a -m64 and -msoft-float > > multilib. > > How do we want to continue with this PR? Close it as WONTFIX or apply the > patch and close it as FIXED? If it works, and doesn't regress anything, it is pre-approved. So please test it on powerp64le-linux (gcc112 for example).