]> gcc.gnu.org Git - gcc.git/commit
[go: nahoru, domu]

AArch64: Fix strict-align cpymem/setmem [PR103100]
authorWilco Dijkstra <wilco.dijkstra@arm.com>
Wed, 25 Oct 2023 15:28:04 +0000 (16:28 +0100)
committerWilco Dijkstra <wilco.dijkstra@arm.com>
Fri, 5 Jul 2024 12:36:32 +0000 (13:36 +0100)
commitb9d16d8361a9e3a82a2f21e759e760d235d43322
tree26ee6355238a5a11998062e53fe24e99ba02eb16
parent5f4a60c43d5cd805add6529b4528c35893c283ae
AArch64: Fix strict-align cpymem/setmem [PR103100]

The cpymemdi/setmemdi implementation doesn't fully support strict alignment.
Block the expansion if the alignment is less than 16 with STRICT_ALIGNMENT.
Clean up the condition when to use MOPS.

gcc/ChangeLog/
PR target/103100
* config/aarch64/aarch64.md (cpymemdi): Remove pattern condition.
(setmemdi): Likewise.
* config/aarch64/aarch64.cc (aarch64_expand_cpymem): Support
strict-align.  Cleanup condition for using MOPS.
(aarch64_expand_setmem): Likewise.

(cherry picked from commit 318f5232cfb3e0c9694889565e1f5424d0354463)
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.md
This page took 0.062023 seconds and 6 git commands to generate.