diff options
author | Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> | 2020-03-20 08:25:56 +0000 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2020-03-20 08:27:30 +0000 |
commit | 05009698eeb925d691a8ebb51539df8d8f28d849 (patch) | |
tree | 8c2d2ef53fe55fcaf773ac015b448b24654ad019 | |
parent | 4a18f168f47cfa4a41a01aad64a6041eab64ad7b (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 8 |
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 |