Hi,
This simple patch fixes test case failure for pr84682-2.c by returning
false on wrong mode rtx in aarch64_classify_address, rather than assert.

Bootstrap and test on aarch64.  Is it OK?

Thanks,
bin

2018-03-16  Bin Cheng  <bin.ch...@arm.com>

        * config/aarch64/aarch64.c (aarch64_classify_address): Return false
        on wrong mode rtx, rather than assert.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 07c55b1..8790902 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -5674,8 +5674,10 @@ aarch64_classify_address (struct aarch64_address_info 
*info,
       && (code != POST_INC && code != REG))
     return false;
 
-  gcc_checking_assert (GET_MODE (x) == VOIDmode
-                      || SCALAR_INT_MODE_P (GET_MODE (x)));
+  /* Wrong mode for an address expr.  */
+  if (GET_MODE (x) != VOIDmode
+      && ! SCALAR_INT_MODE_P (GET_MODE (x)))
+    return false;
 
   switch (code)
     {

Reply via email to