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)
{