]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Rename and improve aarch64_split_imm24
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 5 Aug 2025 21:17:33 +0000 (21:17 +0000)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 11 Aug 2025 23:25:09 +0000 (23:25 +0000)
commited101b98e25314a5a544297e7224d9572b489804
treedefcaac3c9c9f60724571a46bdac94f760fb659a
parent75097ad09e8169912d8640f49ac0379e8a713215
aarch64: Rename and improve aarch64_split_imm24

Two of the three uses of aarch64_imm24 included the important follow-up
tests vs aarch64_move_imm and aarch64_plus_operand.  Lack of the exclusion
within aarch64_if_then_else_costs produced incorrect costing.

Since aarch64_split_imm24 has already matched a non-negative CONST_INT,
drill down from aarch64_plus_operand to aarch64_uimm12_shift.

gcc:
* config/aarch64/predicates.md (aarch64_split_imm24): Rename from
aarch64_imm24; exclude aarch64_move_imm and aarch64_uimm12_shift.
* config/aarch64/aarch64.md (*aarch64_bcond_wide_imm<GPI>):
Update for aarch64_split_imm24.
(*compare_cstore<GPI>_insn): Likewise.
* config/aarch64/aarch64.cc (aarch64_if_then_else_costs): Likewise.
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/predicates.md