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.
This commit is contained in:
Andre Simoes Dias Vieira 2020-03-20 08:25:56 +00:00 committed by Andre Vieira
parent 4a18f168f4
commit 05009698ee
2 changed files with 8 additions and 4 deletions

View 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

View file

@ -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