]> gcc.gnu.org Git - gcc.git/commit
Add wD constraint.
authorMichael Meissner <meissner@linux.ibm.com>
Fri, 22 Mar 2024 04:14:19 +0000 (00:14 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Fri, 22 Mar 2024 04:14:19 +0000 (00:14 -0400)
commit935c71424570d5e85a85edb9a1516c3ef578a6f8
tree4e3d7823380a3b5f2aa9ea8a75cc494c5d5cadab
parent889e9e1165b5f84cf84820ca9b1926548941aded
Add wD constraint.

This patch adds a new constraint ('wD') that matches the accumulator registers
that overlap with VSX registers 0..31 on power10.  Future patches will add the
support for a separate accumulator register class that will be used when the
support for dense math registes is added.

2024-03-22   Michael Meissner  <meissner@linux.ibm.com>

* config/rs6000/constraints.md (wD): New constraint.
* config/rs6000/mma.md (mma_disassemble_acc): Likewise.
(mma_<vv>): Likewise.
(mma_<avv>): Likewise.
(mma_<pv>): Likewise.
(mma_<apv>): Likewise.
(mma_<vvi4i4i8>): Likewise.
(mma_<avvi4i4i8>): Likewise.
(mma_<vvi4i4i2>): Likewise.
(mma_<avvi4i4i2>): Likewise.
(mma_<vvi4i4>): Likewise.
(mma_<avvi4i4>): Likewise.
(mma_<pvi4i2): Likewise.
(mma_<apvi4i2>): Likewise.
(mma_<vvi4i4i4>): Likewise.
(mma_<avvi4i4i4): Likewise.
* config/rs6000/predicates.md (accumulator_operand): New predicate.
* config/rs6000/rs6000.cc (rs6000_debug_reg_global): Print the register
class for the 'wD' constraint.
(rs6000_init_hard_regno_mode_ok): Set the 'wD' register constraint
class.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add element for
the 'wD' constraint.
* doc/md.texi (PowerPC constraints): Document the 'wD' constraint.
gcc/config/rs6000/constraints.md
gcc/config/rs6000/mma.md
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000-c.cc
gcc/config/rs6000/rs6000-cpus.def
gcc/config/rs6000/rs6000.cc
gcc/config/rs6000/rs6000.h
gcc/doc/md.texi
This page took 0.066476 seconds and 6 git commands to generate.