]> 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>
Thu, 30 Nov 2023 13:27:11 +0000 (13:27 +0000)
commit318f5232cfb3e0c9694889565e1f5424d0354463
treec501408629ea4a07c895ddc0b152f2953dbad47c
parent951a3e3749a9bf15cea3940ad4bd76d696e1b0b6
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.
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.md
This page took 0.063742 seconds and 6 git commands to generate.