Fix AArch64 ILP32 ICE.
authorAndrew Stubbs <ams@codesourcery.com>
Wed, 26 Sep 2018 15:59:13 +0000 (15:59 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Wed, 26 Sep 2018 15:59:13 +0000 (15:59 +0000)
Ensure that the address really is the correct mode for an address.

2018-09-25  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* builtins.c (get_builtin_sync_mem): Force address mode conversion.

From-SVN: r264650

gcc/ChangeLog
gcc/builtins.c

index 134362ea34a8a748f87f69593b91932dc704d7cd..c77532799b1b997d382385fade6b95a5571e3dad 100644 (file)
@@ -1,3 +1,7 @@
+2018-09-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       * builtins.c (get_builtin_sync_mem): Force address mode conversion.
+
 2018-09-26  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.h (enum reg_class): Remove FP_TOP_SSE_REGS
index 5f00208ff090cf8afa3eaa30e1ffcdc063def20c..e655623febdfb73bd2cdca79937cc8936a88f676 100644 (file)
@@ -5850,6 +5850,7 @@ get_builtin_sync_mem (tree loc, machine_mode mode)
   scalar_int_mode addr_mode = targetm.addr_space.address_mode (addr_space);
 
   addr = expand_expr (loc, NULL_RTX, addr_mode, EXPAND_SUM);
+  addr = convert_memory_address (addr_mode, addr);
 
   /* Note that we explicitly do not want any alias information for this
      memory, so that we kill all other live memories.  Otherwise we don't