https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86197
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Tue Jun 19 10:52:39 2018 New Revision: 261738 URL: https://gcc.gnu.org/viewcvs?rev=261738&root=gcc&view=rev Log: rs6000: Fix vector homogeneous aggregates (PR86197) The existing code allows only 4 vectors worth of ieee128 homogeneous aggregates, but it should be 8. This happens because at one spot it is mistakenly qualified as being passed in floating point registers. PR target/86197 * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An ieee128 argument takes up only one (vector) register, not two (floating point) registers. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c