aarch64: Fix SVE ACLE handling of SImode pointers
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 20 Jan 2020 19:29:25 +0000 (19:29 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 21 Jan 2020 16:22:12 +0000 (16:22 +0000)
commitfb15e2bab5267213b8706fa6a29eeef94f62a524
tree7babce9748b6b088d6d4baf6652971b0a91cfad6
parentc292cfe539cd7c060caad826d362ed5e845bfbef
aarch64: Fix SVE ACLE handling of SImode pointers

This long-overdue patch promotes SImode pointers to DImode addresses,
avoiding various ICEs in the existing tests.

2020-01-21  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* config/aarch64/aarch64-sve-builtins.h
(function_expander::convert_to_pmode): Declare.
* config/aarch64/aarch64-sve-builtins.cc
(function_expander::convert_to_pmode): New function.
(function_expander::get_contiguous_base): Use it.
(function_expander::prepare_gather_address_operands): Likewise.
* config/aarch64/aarch64-sve-builtins-sve2.cc
(svwhilerw_svwhilewr_impl::expand): Likewise.
gcc/ChangeLog
gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
gcc/config/aarch64/aarch64-sve-builtins.cc
gcc/config/aarch64/aarch64-sve-builtins.h