]> gcc.gnu.org Git - gcc.git/commit
Add wD constraint.
authorMichael Meissner <meissner@linux.ibm.com>
Tue, 19 Mar 2024 04:51:39 +0000 (00:51 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Tue, 19 Mar 2024 04:51:39 +0000 (00:51 -0400)
commitb4e92a4c01ad9a381321282139e4b0e8e273add9
treeae3ef7b158e6164681e47c76ea9f9b2669e465e8
parent615936cbdb0e207b8629e84e1f86037ec956cba2
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-19   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.cc
gcc/config/rs6000/rs6000.h
gcc/doc/md.texi
This page took 0.06732 seconds and 6 git commands to generate.