https://gcc.gnu.org/g:4c9dc6b25cdb1498635d0be9a279fda05da699da
commit 4c9dc6b25cdb1498635d0be9a279fda05da699da Author: Peter Bergner <berg...@linux.ibm.com> Date: Fri Apr 25 16:47:45 2025 -0500 MMA+: Remove unneeded mma_xxsetaccz define_expand Diff: --- gcc/config/rs6000/mma.md | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/gcc/config/rs6000/mma.md b/gcc/config/rs6000/mma.md index 4322d0f6ef73..6103dc3c5237 100644 --- a/gcc/config/rs6000/mma.md +++ b/gcc/config/rs6000/mma.md @@ -520,25 +520,14 @@ ;; UNSPEC_VOLATILE. If we have dense math registers, we can just use a normal ;; UNSPEC instead of UNSPEC_VOLATILE. -(define_expand "mma_xxsetaccz" - [(set (match_operand:XO 0 "accumulator_operand") +(define_insn "mma_xxsetaccz" + [(set (match_operand:XO 0 "accumulator_operand" "=wD") (unspec_volatile:XO [(const_int 0)] UNSPECV_MMA_XXSETACCZ))] "TARGET_MMA" { - if (TARGET_DENSE_MATH) - { - emit_insn (gen_mma_dmsetdmrz (operands[0])); - DONE; - } -}) - -(define_insn "*mma_xxsetaccz" - [(set (match_operand:XO 0 "accumulator_operand" "=wD") - (unspec_volatile:XO [(const_int 0)] - UNSPECV_MMA_XXSETACCZ))] - "TARGET_MMA && !TARGET_DENSE_MATH" - "xxsetaccz %A0" + return TARGET_DENSE_MATH ? "dmsetdmrz %A0" : "xxsetaccz %A0"; +} [(set_attr "type" "mma")]) (define_insn "mma_dmsetdmrz"