aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2020-03-06 16:21:33 +0000
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>2020-03-06 16:23:03 +0000
commit4a5c938bbfd4586f16ff0dfde00970c2a1b0f636 (patch)
treeaa2351b05038d5e4d09e7079ca1e0db5cf91b4da
parent3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee (diff)
downloadgcc-4a5c938bbfd4586f16ff0dfde00970c2a1b0f636.zip
gcc-4a5c938bbfd4586f16ff0dfde00970c2a1b0f636.tar.gz
gcc-4a5c938bbfd4586f16ff0dfde00970c2a1b0f636.tar.bz2
[AArch64][SVE] Add missing movprfx attribute to some ternary arithmetic patterns
The two affected SVE2 patterns in this patch output a movprfx'ed instruction in their second alternative but don't set the "movprfx" attribute, which will result in the wrong instruction length being assumed by the midend. This patch fixes that in the same way as the other SVE patterns in the backend. Bootstrapped and tested on aarch64-none-linux-gnu. 2020-03-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/aarch64/aarch64-sve2.md (@aarch64_sve_<sve_int_op><mode>: Specify movprfx attribute. (@aarch64_sve_<sve_int_op>_lane_<mode>): Likewise.
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64-sve2.md2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 843c49e..957c4cc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-03-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-sve2.md (@aarch64_sve_<sve_int_op><mode>:
+ Specify movprfx attribute.
+ (@aarch64_sve_<sve_int_op>_lane_<mode>): Likewise.
+
2020-03-06 David Edelsohn <dje.gcc@gmail.com>
PR target/94065
diff --git a/gcc/config/aarch64/aarch64-sve2.md b/gcc/config/aarch64/aarch64-sve2.md
index f82e60e..e18b9fe 100644
--- a/gcc/config/aarch64/aarch64-sve2.md
+++ b/gcc/config/aarch64/aarch64-sve2.md
@@ -690,6 +690,7 @@
"@
<sve_int_op>\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype>
movprfx\t%0, %1\;<sve_int_op>\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype>"
+ [(set_attr "movprfx" "*,yes")]
)
(define_insn "@aarch64_sve_<sve_int_op>_lane_<mode>"
@@ -706,6 +707,7 @@
"@
<sve_int_op>\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype>[%4]
movprfx\t%0, %1\;<sve_int_op>\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype>[%4]"
+ [(set_attr "movprfx" "*,yes")]
)
;; -------------------------------------------------------------------------