[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] gcc, Arm: Fix no_cond issue introduced by MVE
Martin Liska
marxin@gcc.gnu.org
Mon Mar 30 10:58:50 GMT 2020
https://gcc.gnu.org/g:05009698eeb925d691a8ebb51539df8d8f28d849
commit 05009698eeb925d691a8ebb51539df8d8f28d849
Author: Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
Date: Fri Mar 20 08:25:56 2020 +0000
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.
Diff:
---
gcc/ChangeLog | 4 ++++
gcc/config/arm/arm.md | 8 ++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44e320626a3..f7672cc275e 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 5387f972f5a..b45109ed529 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
More information about the Gcc-cvs
mailing list