aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>2020-03-20 08:25:56 +0000
committerAndre Vieira <andre.simoesdiasvieira@arm.com>2020-03-20 08:27:30 +0000
commit05009698eeb925d691a8ebb51539df8d8f28d849 (patch)
tree8c2d2ef53fe55fcaf773ac015b448b24654ad019
parent4a18f168f47cfa4a41a01aad64a6041eab64ad7b (diff)
downloadgcc-05009698eeb925d691a8ebb51539df8d8f28d849.zip
gcc-05009698eeb925d691a8ebb51539df8d8f28d849.tar.gz
gcc-05009698eeb925d691a8ebb51539df8d8f28d849.tar.bz2
gcc, Arm: Fix no_cond issue introduced by MVE
This was a matter of mistaken logic in (define_attr "conds" ..). This was setting the conds attribute for any neon instruction to no_cond which was messing up code generation. gcc/ChangeLog: 2020-03-20 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/arm/arm.md (define_attr "conds"): Fix logic for neon and mve.
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/arm.md8
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44e3206..f7672cc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2020-03-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/arm.md (define_attr "conds"): Fix logic for neon and mve.
+
2020-03-19 Jan Hubicka <hubicka@ucw.cz>
PR ipa/94202
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 5387f97..b45109e 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -306,10 +306,10 @@
(eq_attr "type" "call"))
(const_string "clob")
(if_then_else
- (ior (eq_attr "is_neon_type" "no")
- (eq_attr "is_mve_type" "no"))
- (const_string "nocond")
- (const_string "unconditional"))))
+ (ior (eq_attr "is_neon_type" "yes")
+ (eq_attr "is_mve_type" "yes"))
+ (const_string "unconditional")
+ (const_string "nocond"))))
; Predicable means that the insn can be conditionally executed based on
; an automatically added predicate (additional patterns are generated by