https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86197
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Mon Jun 25 11:31:45 2018 New Revision: 262010 URL: https://gcc.gnu.org/viewcvs?rev=262010&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. Backport from trunk 2018-06-19 Segher Boessenkool <seg...@kernel.crashing.org> 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: branches/gcc-8-branch/gcc/ChangeLog branches/gcc-8-branch/gcc/config/rs6000/rs6000.c