]> 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>
Wed, 20 Mar 2024 04:07:36 +0000 (00:07 -0400)
commit98e71fc431df3b382531fcd3d3a87628c07f8f97
tree118fd5c43fb40e1c23bfef57d9521c881cc1aa4b
parent88cc50bad1cb1e15e719ebf000b87d9532fd29bd
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.072038 seconds and 6 git commands to generate.