aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Vieira <andre.simoesdiasvieira@arm.com>2020-04-27 14:54:46 +0100
committerAndre Vieira <andre.simoesdiasvieira@arm.com>2020-04-27 14:59:56 +0100
commit6b6a77d25e83e071ba5d08648c5bd3953d8a0c03 (patch)
tree7f80902a4684fe80603f175640458443dec9ceba
parent5328710be314dee43da8027dbff547d48b85e35e (diff)
downloadgcc-6b6a77d25e83e071ba5d08648c5bd3953d8a0c03.zip
gcc-6b6a77d25e83e071ba5d08648c5bd3953d8a0c03.tar.gz
gcc-6b6a77d25e83e071ba5d08648c5bd3953d8a0c03.tar.bz2
arm: Fix bootstrap failure with rtl-checking
The code change that caused this regression was not meant to affect neon code-gen, however I missed the REG fall through. This patch makes sure we only get the left-hand of the PLUS if it is indeed a PLUS expr. gcc/ChangeLog: 2020-04-27 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/arm/arm.c (output_move_neon): Only get the first operand if addr is PLUS.
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd5e95a..0027071 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-27 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/arm.c (output_move_neon): Only get the first operand if
+ addr is PLUS.
+
2020-04-27 Felix Yang <felix.yang@huawei.com>
PR tree-optimization/94784
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 0151bda..74454dd 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -20145,7 +20145,8 @@ output_move_neon (rtx *operands)
}
/* Fall through. */
case PLUS:
- addr = XEXP (addr, 0);
+ if (GET_CODE (addr) == PLUS)
+ addr = XEXP (addr, 0);
/* Fall through. */
case LABEL_REF:
{