diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2024-02-21 11:12:27 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2024-02-21 11:12:27 +0000 |
commit | 58930e9fd1816c2a71c4f4e54a82e870d3afe10a (patch) | |
tree | c86a7ac323fa2ad94e8c68801e18ebf615e3d283 /libgcc | |
parent | ad4df8cd080c9be738f61b5e91cc70a594c4419d (diff) | |
download | gcc-58930e9fd1816c2a71c4f4e54a82e870d3afe10a.zip gcc-58930e9fd1816c2a71c4f4e54a82e870d3afe10a.tar.gz gcc-58930e9fd1816c2a71c4f4e54a82e870d3afe10a.tar.bz2 |
aarch64: Remove the aarch64_commit_lazy_save pattern
The main purpose of the aarch64_commit_lazy_save pattern
was to defer insertion of a half-diamond until splitting,
since splitting knew how to create the associated basic blocks.
However, the fix for PR113220 means that mode-switching also
knows how to do that. This patch therefore removes the pattern
and emits the subinstructions directly.
On its own, this is actually a slight regression, since it
means we keep an unnecessary zero { za }. But the cases
where that happens are wrong for a different reason, and this
patch is a prerequisite to fixing it.
gcc/
* config/aarch64/aarch64-sme.md (aarch64_commit_lazy_save): Remove,
directly inserting the associated sequence
* config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state):
...here instead.
gcc/testsuite/
* gcc.target/aarch64/sme/zt0_state_5.c (test3, test5): Expect
zero { za }s.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions