https://gcc.gnu.org/g:ce3c312f6788a379a4ca7b55f5ca00be7308f18a

commit ce3c312f6788a379a4ca7b55f5ca00be7308f18a
Author: Surya Kumari Jangala <[email protected]>
Date:   Fri Jul 10 01:43:04 2026 -0500

    fix mma_disassemble_acc
    
    It is incorrect to use wD constraint for the first operand
    because we cannot copy from DMR to memory.

Diff:
---
 gcc/config/rs6000/mma.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/mma.md b/gcc/config/rs6000/mma.md
index 382bd1f1f294..c12085fe3f00 100644
--- a/gcc/config/rs6000/mma.md
+++ b/gcc/config/rs6000/mma.md
@@ -824,11 +824,11 @@
 
 (define_insn_and_split "*mma_disassemble_acc"
   [(set (match_operand:V16QI 0 "mma_disassemble_output_operand" "=mwa")
-       (unspec:V16QI [(match_operand:XO 1 "accumulator_operand" "wD")
+       (unspec:V16QI [(match_operand:XO 1 "fpr_reg_operand" "d")
                       (match_operand 2 "const_0_to_3_operand")]
                       UNSPEC_MMA_EXTRACT))]
   "TARGET_MMA
-   && accumulator_operand (operands[1], XOmode)"
+   && fpr_reg_operand (operands[1], XOmode)"
   "#"
   "&& reload_completed"
   [(const_int 0)]

Reply via email to