gcc, Arm: Fix no_cond issue introduced by MVE
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Mar 2020 08:25:56 +0000 (08:25 +0000)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Mar 2020 08:27:30 +0000 (08:27 +0000)
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.

gcc/ChangeLog
gcc/config/arm/arm.md

index 44e320626a318ee16ac79236d028b43e28f9084c..f7672cc275efd047e6be0601286d7aea5c30bba9 100644 (file)
@@ -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
index 5387f972f5a864a153873f21b9423d28446daefc..b45109ed5292907dd2fb8ea075f994e510676c8f 100644 (file)
              (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