diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2024-01-25 12:03:18 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2024-01-25 12:03:18 +0000 |
commit | 8eead1148cd0ac086b39a7abccea404041c85cb5 (patch) | |
tree | 580fde4f0f6ff136e42dab6cd98113958b37e674 /gcc/fold-const.cc | |
parent | f251bbfec9174169510b2dec14b9bf763e7b77af (diff) | |
download | gcc-8eead1148cd0ac086b39a7abccea404041c85cb5.zip gcc-8eead1148cd0ac086b39a7abccea404041c85cb5.tar.gz gcc-8eead1148cd0ac086b39a7abccea404041c85cb5.tar.bz2 |
aarch64: Handle overlapping registers in movv8di [PR113550]
The LS64 movv8di pattern didn't handle loads that overlapped with
the address register (unless the overlap happened to be in the
last subload).
gcc/
PR target/113550
* config/aarch64/aarch64-simd.md: In the movv8di splitter, check
whether each split instruction is a load that clobbers the source
address. Emit that instruction last if so.
gcc/testsuite/
PR target/113550
* gcc.target/aarch64/pr113550.c: New test.
Diffstat (limited to 'gcc/fold-const.cc')
0 files changed, 0 insertions, 0 deletions