rs6000: Fix vector homogeneous aggregates (PR86197)
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 19 Jun 2018 10:52:39 +0000 (12:52 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 19 Jun 2018 10:52:39 +0000 (12:52 +0200)
commit6b3a917093b98258a1a23dd1839be76bd4051065
tree0cba56082f3d32d179a5733fb852ade0d908694f
parent7f1387e0f270d42df03d33c41e4bdac8d1491cdb
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.

From-SVN: r261738
gcc/ChangeLog
gcc/config/rs6000/rs6000.c