rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use the...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Tue, 20 Sep 2016 16:22:24 +0000 (16:22 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 20 Sep 2016 16:22:24 +0000 (16:22 +0000)
commit00cc7cbfb534eca268ddd53a113636b5cd64948c
tree9a71906cf48d36954fc14b7e6540e66ca6a416d6
parentc55b54403ea3a3e781eaf14d3057d103bd77ade3
rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use the VMRGEW instruction instead of a permute.

2016-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF
inits on power8 and above, use the VMRGEW instruction instead of a
permute.

* config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec.
(p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating
initialization.

From-SVN: r240272
gcc/ChangeLog
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000.c