rs6000.md (movdi_internal32): Change constraints so that DImode can be allocated...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 21 Nov 2016 20:35:21 +0000 (20:35 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 21 Nov 2016 20:35:21 +0000 (20:35 +0000)
commitd85e598a59f826d0fbd4af684c680b68970e6cda
tree66b37a5fdb0f33b31a0b7685fee5fb8fbc0a964d
parent699e8cb7b4d067cabff5a92bdbbb2d0d0dddc262
rs6000.md (movdi_internal32): Change constraints so that DImode can be allocated to FP/vector registers in...

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

* config/rs6000/rs6000.md (movdi_internal32): Change constraints
so that DImode can be allocated to FP/vector registers in more
cases, and we can avoid direct move operations.  If the register
needs reloading, prefer GPRs over FP/vector registers.  In the
case of FPR vs. Altivec registers, prefer FPR registers unless we
have the ISA 3.0 reg+offset scalar instructions.
(movdi_internal64): Likewise.

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

* gcc.target/powerpc/ppc-round2.c: Allow XSCVDPSXWS and XSCVDPUXWS
to be generated instead of FCTIWUZ or FCTIWZ.

From-SVN: r242679
gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/ppc-round2.c