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.
+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
(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