rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the value...
commit4f58c0d118a18f57ea9fa1ff0d8586660bdbf519
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Fri, 10 Nov 2017 22:59:40 +0000 (10 22:59 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 10 Nov 2017 22:59:40 +0000 (10 22:59 +0000)
tree2aae5451435da35b41f82c6d93a284fab36d5a4f
parentd72b0a3f3b5b650c3ef01859508b619955151d9b
rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the value is in a vector register.

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

* config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems,
enable generating XXBRH if the value is in a vector register.
(bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the
value is in a vector register.
(bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do
register to register bswap64's instead of doing the GPR sequence
used on previous machines.
(bswapdi2_xxbrd): New insn.
(bswapdi2_reg): Disallow on ISA 3.0.
(register to register bswap64 splitter): Do not split the insn on
ISA 3.0 systems that use XXBRD.

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

* gcc.target/powerpc/p9-xxbr-3.c: New test.

From-SVN: r254643
gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/p9-xxbr-3.c [new file with mode: 0644]