]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix the choice of unspec in two SME patterns
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 20 Nov 2024 13:27:40 +0000 (13:27 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 20 Nov 2024 13:27:40 +0000 (13:27 +0000)
@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

index 525ded44c99fcdba9947d468da381fc6955ce72b..e8a24e0b2f6f78f7ac2e9a7b5ca82acad306a0d2 100644 (file)
           (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"
 )
           (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"
 )