arm: Fix bootstrap failure with rtl-checking
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Mon, 27 Apr 2020 13:54:46 +0000 (14:54 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Mon, 27 Apr 2020 13:59:56 +0000 (14:59 +0100)
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.

gcc/ChangeLog
gcc/config/arm/arm.c

index bd5e95a9133aa2cecfb9581299c9e26e6482bb6b..0027071f7178113f658b88d33f58024f852516cf 100644 (file)
@@ -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
index 0151bda90d961ae1a001c61cd5e94d6ec67e3aea..74454dddbb948a5d37f502e8e2146a81cb83d58b 100644 (file)
@@ -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:
       {