{"id":2230851,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2230851/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/afL5JvWWaOxJN12y@cowardly-lion.the-meissners.org/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<afL5JvWWaOxJN12y@cowardly-lion.the-meissners.org>","date":"2026-04-30T06:39:34","name":"GCC 17, PowerPC Dense Math V7 (patch 1/7) -- Add wD constraint","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c86fabe49da93f1ab159c281062be5979aea1ae7","submitter":{"id":73991,"url":"http://patchwork.ozlabs.org/api/1.1/people/73991/?format=json","name":"Michael Meissner","email":"meissner@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/afL5JvWWaOxJN12y@cowardly-lion.the-meissners.org/mbox/","series":[{"id":502212,"url":"http://patchwork.ozlabs.org/api/1.1/series/502212/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=502212","date":"2026-04-30T06:39:34","name":"GCC 17, PowerPC Dense Math V7 (patch 1/7) -- Add wD constraint","version":1,"mbox":"http://patchwork.ozlabs.org/series/502212/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2230851/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2230851/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=hL+rvHzq;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=hL+rvHzq","sourceware.org;\n dmarc=none (p=none dis=none) header.from=linux.ibm.com","sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com","server2.sourceware.org;\n arc=none smtp.remote-ip=148.163.156.1"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5l0Y1fz1z1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 16:40:13 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 3A4FF4BB588E\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 06:40:11 +0000 (GMT)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n by sourceware.org (Postfix) with ESMTPS id 828FA4BB3BDC\n for <gcc-patches@gcc.gnu.org>; Thu, 30 Apr 2026 06:39:41 +0000 (GMT)","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63TInL7K2688397; Thu, 30 Apr 2026 06:39:40 GMT","from ppma13.dal12v.mail.ibm.com\n (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4drn9re8jb-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 30 Apr 2026 06:39:40 +0000 (GMT)","from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])\n by ppma13.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63U6cxdo009581;\n Thu, 30 Apr 2026 06:39:39 GMT","from smtprelay02.wdc07v.mail.ibm.com ([172.16.1.69])\n by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dsa5ghkqc-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 30 Apr 2026 06:39:39 +0000 (GMT)","from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com\n [10.241.53.100])\n by smtprelay02.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63U6da7c26018332\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Thu, 30 Apr 2026 06:39:36 GMT","from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 55BAC5805D;\n Thu, 30 Apr 2026 06:39:36 +0000 (GMT)","from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id A765F58059;\n Thu, 30 Apr 2026 06:39:35 +0000 (GMT)","from cowardly-lion.the-meissners.org (unknown [9.61.149.103])\n by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTPS;\n Thu, 30 Apr 2026 06:39:35 +0000 (GMT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 3A4FF4BB588E","OpenDKIM Filter v2.11.0 sourceware.org 828FA4BB3BDC"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 828FA4BB3BDC","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 828FA4BB3BDC","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777531181; cv=none;\n b=b8Ine/+5HRrsbE+XuoeeBqn5pGgvpQTRSQZoUa/gd8gp7Nw8MU7WAWfCUfIBV0GgnfFhlSXlIOdQa2IswxO6GPVECuuXBytWcDhZ5Tt+s1XDJdXMcFbVoqF2p+/aJ7vU57PZzm1nQJ6VvNRyzHMtM+2yHzT4BOiLPrcENYA5Czk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777531181; c=relaxed/simple;\n bh=wWtB7XtUkqL8fMhxNK024k/XvTR4QI8NhMHGHpFadtk=;\n h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version;\n b=YPO1JULIOcJvTOwR6Gg2RDg1RbgLK9uD/jXFYpyXx/qzfFYjZtHVMHTs3amSZ2EEZHhRZElPGc+aEgsEIg3WtZy1gJFoR5dRdSTG2dhePLz3n+p94gWrdtjeLZewP8z0nOAiov6rM6tD6iAo7Zi+QPFxLLY+cJmXaNnl4ZozLCU=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=\n content-type:date:from:in-reply-to:message-id:mime-version\n :references:subject:to; s=pp1; bh=czNa9/L/btZQkEQ83lnWZ35reWR5pO\n Rf4VVZLmkhXfc=; b=hL+rvHzqvWeOILRfWDAsFPcMO51zVZ3IUBi1OMTXf+QkDT\n gdyAonbNtRjck1p8cPnGPc76PBgTYJSSSswvOa8PeNgJx7FxsgPJ6pMp9gi0MYni\n mgSzHVJ4qSjiiZCC551v3/wqEvyG9G5iSnj1JJxP7IJMPq7efrfv9O5/8s7QrzbC\n qs25byOxue6nMImmiyDlDwLvA+KvlO7U3XUw3F1dts8Lfob/AiKSRdxsIv9rQ1oa\n J6ndlr8Ki6UB3QsiCsb2So94WG71XcayXcooKEhBV/6/8mCjKz2giyUPKA4WGb3l\n +9Yvhj9pRLxfCDwd3uDmqrtmqU+u5tuuA9TLPdrA==","Date":"Thu, 30 Apr 2026 02:39:34 -0400","From":"Michael Meissner <meissner@linux.ibm.com>","To":"Michael Meissner <meissner@linux.ibm.com>, gcc-patches@gcc.gnu.org,\n Segher Boessenkool <segher@kernel.crashing.org>,\n jeevitha <jeevitha@linux.ibm.com>,\n Surya Kumari Jangala <jskumari@linux.ibm.com>,\n Kishan Parmar <kishan@linux.ibm.com>,\n Avinash Jayakar <avinashd@linux.ibm.com>,\n Ayappan Perumal <ayappap2@in.ibm.com>,\n Juergen Christ <jchrist@linux.ibm.com>","Subject":"GCC 17, PowerPC Dense Math V7 (patch 1/7) -- Add wD constraint","Message-ID":"<afL5JvWWaOxJN12y@cowardly-lion.the-meissners.org>","Mail-Followup-To":"Michael Meissner <meissner@linux.ibm.com>,\n gcc-patches@gcc.gnu.org,\n Segher Boessenkool <segher@kernel.crashing.org>,\n jeevitha <jeevitha@linux.ibm.com>,\n Surya Kumari Jangala <jskumari@linux.ibm.com>,\n Kishan Parmar <kishan@linux.ibm.com>,\n Avinash Jayakar <avinashd@linux.ibm.com>,\n Ayappan Perumal <ayappap2@in.ibm.com>,\n Juergen Christ <jchrist@linux.ibm.com>","References":"<afL4oa26tUJlc9zg@cowardly-lion.the-meissners.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<afL4oa26tUJlc9zg@cowardly-lion.the-meissners.org>","X-TM-AS-GCONF":"00","X-Proofpoint-GUID":"SoE4Mx16x2L63nFwVwFxzEdFVX00rX8l","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDMwMDA2MCBTYWx0ZWRfX6oGFZr5uqEbS\n J3T6OFgSkKYmJbf0p81gYvvFWxEzK4NrPvccDXk/yKvidN9+RwJjrkGO46LhvukM6DNQnjiM8M8\n wNtnYW0o2EQw8vcjZ3h6vgz1wd+HgKEalwfnviMOK7mcuvJWALp5NWNhLuds+e8sjxYztD7j5Ks\n HNqdWWSeNONNAxYV3I2OEzfz/LDpb9tT//TjeLaD+Xz2Wy0ZnoAJBueC49LocZSKA5LCq9tkcdo\n mr+sxF92dc879HiK3cj53ml9CRnuIHF5drJwFrhvV/f+gSPQeBkdN4ElCvJ68TFO9Q5e+cueMkD\n tV/j3yJFjP5b/qXzhZAz1Bg7wgQOJEcJMrl7lkZ9kMcug2v/5sRX7wKJG5F0+UvMUfRlR4lbiY1\n +oVpMvmr0n6mB5ivvivsJ+hL2s3s+5ssbTciSjMHEMS4iV7Gj74XyfYd8SEArUBNgNyYcUdMBCG\n fxfuePnV034pWfjTwTQ==","X-Authority-Analysis":"v=2.4 cv=Kc7idwYD c=1 sm=1 tr=0 ts=69f2f92c cx=c_pps\n a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17\n a=kj9zAlcOel0A:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=mDV3o1hIAAAA:8\n a=VnNF1IyMAAAA:8 a=PNVkRuOr210gsube6MIA:9 a=CjuIK1q_8ugA:10","X-Proofpoint-ORIG-GUID":"SoE4Mx16x2L63nFwVwFxzEdFVX00rX8l","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-30_02,2026-04-28_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 spamscore=0\n malwarescore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0\n suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604300060","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"This is part one of the dense math register patches for the PowerPC.\nThis is the 7th version of the dense math patches.\n\nVersion 6 of the dense math register patches were posted on April 21st,\n2026.\n\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713352.html\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713353.html\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713354.html\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713355.html\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713356.html\n * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713357.html\n\nThis patch needs the -mcpu=future patch posted on April 8th, 2026:\n\n  * https://gcc.gnu.org/pipermail/gcc-patches/2026-April/712532.html\n\nThis particular patch did not change from version 6.\n\nThis patch adds a new constraint ('wD') that matches the accumulator registers\nused by the MMA instructions.  Possible future PowerPC machines are thinking\nabout having a new set of 8 dense math accumulators that will be 1,024 bits in\nsize.  The 'wD' constaint was chosen because the VSX constraints start with 'w'.\nThe 'wd' constraint was already used, so I chose 'wD' to be similar.\n\nTo change code to possibly use dense math registers, the 'd' constraint should\nbe changed to 'wD', and the predicate 'fpr_reg_operand' should be changed to\n'accumulator_operand'.\n\nOn current power10/power11 systems, the accumulators overlap with the 32\ntraditional FPR registers (i.e. VSX vector registers 0..31).  Each accumulator\nuses 4 adjacent FPR/VSX registers for a 512 bit logical register.\n\nPossible future PowerPC machines would have these 8 accumulator registers be\nseparate registers, called dense math registers.  It is anticipated that when in\ndense math register mode, the MMA instructions would use the accumulators\ninstead of the adjacent VSX registers.  I.e. in power10/power11 mode,\naccumulator 1 will overlap with vector registers 4-7, but in dense math register\nmode, accumulator 1 will be a separate register.\n\nCode compiled for power10/power11 systems will continue to work on the potential\nfuture machine with dense math register support but the compiler will have fewer\nvector registers available for allocation because it believe the accumulators\nare using vector registers.  For example, the file mma-double-test.c in the\ngcc.target/powerpc testsuite directory has 8 more register spills to/from the\nstack for power10/power11 code then when compiled with dense math register\nsupport.\n\nI have built bootstrap little endian compilers on power10 systems, and\nbig endian compiler on power9 systems.  There were no regression in the\ntests.  Can I add the patches to the GCC trunk after the -mcpu=future\npatch is applied and GCC 17 has opened up?\n\n2026-04-29  Michael Meissner  <meissner@linux.ibm.com>\n\ngcc/\n\n\t* config/rs6000/constraints.md (wD): New constraint.\n\t* config/rs6000/predicates.md (accumulator_operand): New predicate.\n\t* config/rs6000/rs6000.cc (rs6000_debug_reg_global): Print the register\n\tclass for the 'wD' constraint.\n\t(rs6000_init_hard_regno_mode_ok): Set up the 'wD' register constraint\n\tclass.\n\t* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add element for\n\tthe 'wD' constraint.\n\t* doc/md.texi (PowerPC constraints): Document the 'wD' constraint.\n---\n gcc/config/rs6000/constraints.md |  3 +++\n gcc/config/rs6000/predicates.md  | 18 ++++++++++++++++++\n gcc/config/rs6000/rs6000.cc      |  7 ++++++-\n gcc/config/rs6000/rs6000.h       |  1 +\n gcc/doc/md.texi                  |  5 +++++\n 5 files changed, 33 insertions(+), 1 deletion(-)","diff":"diff --git a/gcc/config/rs6000/constraints.md b/gcc/config/rs6000/constraints.md\nindex d0ed47faab8..0d1cde5bd4d 100644\n--- a/gcc/config/rs6000/constraints.md\n+++ b/gcc/config/rs6000/constraints.md\n@@ -107,6 +107,9 @@ (define_constraint \"wB\"\n        (match_test \"TARGET_P8_VECTOR\")\n        (match_operand 0 \"s5bit_cint_operand\")))\n \n+(define_register_constraint \"wD\" \"rs6000_constraints[RS6000_CONSTRAINT_wD]\"\n+  \"Accumulator register.\")\n+\n (define_constraint \"wE\"\n   \"@internal Vector constant that can be loaded with the XXSPLTIB instruction.\"\n   (match_test \"xxspltib_constant_nosplit (op, mode)\"))\ndiff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md\nindex 54dbc8bcc95..682fd2dc6e8 100644\n--- a/gcc/config/rs6000/predicates.md\n+++ b/gcc/config/rs6000/predicates.md\n@@ -186,6 +186,24 @@ (define_predicate \"vlogical_operand\"\n   return VLOGICAL_REGNO_P (REGNO (op));\n })\n \n+;; Return 1 if op is an accumulator.  On power10 systems, the accumulators\n+;; overlap with the FPRs.\n+(define_predicate \"accumulator_operand\"\n+  (match_operand 0 \"register_operand\")\n+{\n+  if (SUBREG_P (op))\n+    op = SUBREG_REG (op);\n+\n+  if (!REG_P (op))\n+    return 0;\n+\n+  if (!HARD_REGISTER_P (op))\n+    return 1;\n+\n+  int r = REGNO (op);\n+  return FP_REGNO_P (r) && (r & 3) == 0;\n+})\n+\n ;; Return 1 if op is the carry register.\n (define_predicate \"ca_operand\"\n   (match_operand 0 \"register_operand\")\ndiff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc\nindex 7d61001cb34..38df0b43f6f 100644\n--- a/gcc/config/rs6000/rs6000.cc\n+++ b/gcc/config/rs6000/rs6000.cc\n@@ -2328,6 +2328,7 @@ rs6000_debug_reg_global (void)\n \t   \"wr reg_class = %s\\n\"\n \t   \"wx reg_class = %s\\n\"\n \t   \"wA reg_class = %s\\n\"\n+\t   \"wD reg_class = %s\\n\"\n \t   \"\\n\",\n \t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_d]],\n \t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_v]],\n@@ -2335,7 +2336,8 @@ rs6000_debug_reg_global (void)\n \t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_we]],\n \t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wr]],\n \t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wx]],\n-\t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wA]]);\n+\t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wA]],\n+\t   reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wD]]);\n \n   nl = \"\\n\";\n   for (m = 0; m < NUM_MACHINE_MODES; ++m)\n@@ -2992,6 +2994,9 @@ rs6000_init_hard_regno_mode_ok (bool global_init_p)\n   if (TARGET_DIRECT_MOVE_128)\n     rs6000_constraints[RS6000_CONSTRAINT_we] = VSX_REGS;\n \n+  if (TARGET_MMA)\n+    rs6000_constraints[RS6000_CONSTRAINT_wD] = FLOAT_REGS;\n+\n   /* Set up the reload helper and direct move functions.  */\n   if (TARGET_VSX || TARGET_ALTIVEC)\n     {\ndiff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h\nindex 2d3016db513..04709f0dcd6 100644\n--- a/gcc/config/rs6000/rs6000.h\n+++ b/gcc/config/rs6000/rs6000.h\n@@ -1183,6 +1183,7 @@ enum r6000_reg_class_enum {\n   RS6000_CONSTRAINT_wr,\t\t/* GPR register if 64-bit  */\n   RS6000_CONSTRAINT_wx,\t\t/* FPR register for STFIWX */\n   RS6000_CONSTRAINT_wA,\t\t/* BASE_REGS if 64-bit.  */\n+  RS6000_CONSTRAINT_wD,\t\t/* Accumulator regs if MMA/Dense Math.  */\n   RS6000_CONSTRAINT_MAX\n };\n \ndiff --git a/gcc/doc/md.texi b/gcc/doc/md.texi\nindex 6af646e3e01..d70e7beb52e 100644\n--- a/gcc/doc/md.texi\n+++ b/gcc/doc/md.texi\n@@ -3415,6 +3415,11 @@ Like @code{d}, if @option{-mpowerpc-gfxopt} is used; otherwise, @code{NO_REGS}.\n @item wA\n Like @code{b}, if @option{-mpowerpc64} is used; otherwise, @code{NO_REGS}.\n \n+@item wD\n+Accumulator register if @option{-mma} is used; otherwise,\n+@code{NO_REGS}.  For @option{-mcpu=power10} the accumulator registers\n+overlap with VSX vector registers 0..31.\n+\n @item wB\n Signed 5-bit constant integer that can be loaded into an Altivec register.\n \n","prefixes":[]}