@aarch64_sme_write<mode> and *aarch64_sme_write<mode>_plus
were using UNSPEC_SME_READ instead of UNSPEC_SME_WRITE.
gcc/
* config/aarch64/aarch64-sme.md (@aarch64_sme_write<mode>)
(*aarch64_sme_write<mode>_plus): Use UNSPEC_SME_WRITE instead
of UNSPEC_SME_READ.
---
gcc/config/aarch64/aarch64-sme.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-sme.md
b/gcc/config/aarch64/aarch64-sme.md
index 525ded44c99..e8a24e0b2f6 100644
--- a/gcc/config/aarch64/aarch64-sme.md
+++ b/gcc/config/aarch64/aarch64-sme.md
@@ -848,7 +848,7 @@ (define_insn "@aarch64_sme_write<mode>"
(reg:DI SME_STATE_REGNUM)
(match_operand:SI 0 "register_operand" "Uci")
(match_operand:SVE_DIx24 1 "aligned_register_operand"
"Uw<vector_count>")]
- UNSPEC_SME_READ))]
+ UNSPEC_SME_WRITE))]
"TARGET_STREAMING_SME2"
"mova\tza.d[%w0, 0, vgx<vector_count>], %1"
)
@@ -861,7 +861,7 @@ (define_insn "*aarch64_sme_write<mode>_plus"
(plus:SI (match_operand:SI 0 "register_operand" "Uci")
(match_operand:SI 1 "const_0_to_7_operand"))
(match_operand:SVE_DIx24 2 "aligned_register_operand"
"Uw<vector_count>")]
- UNSPEC_SME_READ))]
+ UNSPEC_SME_WRITE))]
"TARGET_STREAMING_SME2"
"mova\tza.d[%w0, %1, vgx<vector_count>], %2"
)
--
2.25.1