diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2025-08-07 09:37:36 +0000 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2025-08-11 23:25:08 +0000 |
commit | 75097ad09e8169912d8640f49ac0379e8a713215 (patch) | |
tree | 958eb9038b71463eb32b318c98b1884c45224452 /gcc/rust | |
parent | d91b9432f3d7a1458888e2705dc5c700ed4fe25d (diff) | |
download | gcc-75097ad09e8169912d8640f49ac0379e8a713215.zip gcc-75097ad09e8169912d8640f49ac0379e8a713215.tar.gz gcc-75097ad09e8169912d8640f49ac0379e8a713215.tar.bz2 |
aarch64: Fix gcs save/restore_stack_nonlocal
The save/restore_stack_nonlocal patterns passed a DImode rtx to
gen_tbranch_neqi3 for a QImode compare. But since we're seeding
r16 with 1, GCSEnabled will clear the only set bit in r16, so we
can use CBNZ instead of TBNZ.
gcc:
* config/aarch64/aarch64.md (tbranch_<EQL><SHORT>3): Remove.
(save_stack_nonlocal): Use aarch64_gen_compare_zero_and_branch.
(restore_stack_nonlocal): Likewise.
gcc/testsuite:
* gcc.target/aarch64/gcs-nonlocal-3.c: Match cbnz.
Diffstat (limited to 'gcc/rust')
0 files changed, 0 insertions, 0 deletions