re PR target/82015 (PowerPC should check if 2nd argument to __builtin_unpackv1ti...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Tue, 29 Aug 2017 20:25:57 +0000 (20:25 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 29 Aug 2017 20:25:57 +0000 (20:25 +0000)
commit72932ccf0ac4837b020d29b386d75fbceeb88735
tree83508cc509acf557a3e02859101e0c4126a73132
parent10f61650f7620a86c7cd48468810082078a09457
re PR target/82015 (PowerPC should check if 2nd argument to __builtin_unpackv1ti and similar functions is 0 or 1)

[gcc]
2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/82015
* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Insure
that the second argument of the built-in functions to unpack
128-bit scalar types to 64-bit values is 0 or 1.  Change to use a
switch statement instead a lot of if statements.
* config/rs6000/rs6000.md (unpack<mode>, FMOVE128_VSX iterator):
Allow 64-bit values to be in Altivec registers as well as
traditional floating point registers.
(pack<mode>, FMOVE128_VSX iterator): Likewise.

[gcc/testsuite]
2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/82015
* gcc.target/powerpc/pr82015.c: New test.

From-SVN: r251432
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/pr82015.c [new file with mode: 0644]