constraints.md (wo constraint): New constraint for ISA 3.0 (power9).
commit4e8a3a35d8b74ba629dfb0d52cf6296a84cc9a6e
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 4 Jan 2016 18:22:52 +0000 (4 18:22 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 4 Jan 2016 18:22:52 +0000 (4 18:22 +0000)
tree848b6ddea1ebae2f393c4af0fd868bf8f235dd51
parentf29fa917a5d0e7380f0a1d78a766f09689280293
constraints.md (wo constraint): New constraint for ISA 3.0 (power9).

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

* config/rs6000/constraints.md (wo constraint): New constraint for
ISA 3.0 (power9).

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
for wo constraint.
(rs6000_init_hard_regno_mode_ok): Likewise.

* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
wo constraint.

* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
expanders not to have constraints.  Add support for ISA 3.0 xxperm
instruction.  Add support for fusing xxlor with xxperm.
(altivec_vperm_<mode>_internal): Likewise.
(altivec_vperm_v8hiv16qi): Likewise.
(altivec_vperm_<mode>v16q): Likewise.
(altivec_vperm_<mode>_uns): Likewise.
(vperm_v8hiv4si): Likewise.
(vperm_v16qiv8hi): Likewise.

* doc/md.texi (RS/6000 constraints): Document wo constraint.

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

* gcc.target/powerpc/p9-permute.c: New test for xxperm code
generation.

From-SVN: r232060
gcc/ChangeLog
gcc/config/rs6000/altivec.md
gcc/config/rs6000/constraints.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/doc/md.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/p9-permute.c [new file with mode: 0644]