diff options
author | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2023-09-13 13:21:50 +0100 |
---|---|---|
committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2023-09-18 13:27:44 +0100 |
commit | fc7070025d1a6668ff6cb4391f84771a7662def7 (patch) | |
tree | 66a40b6263d5ca9ecc7fc04a9e032f1085bad85d /gcc/tree-inline.h | |
parent | 64d5bc35c8c2a66ac133a3e6ace820b0ad8a63fb (diff) | |
download | gcc-fc7070025d1a6668ff6cb4391f84771a7662def7.zip gcc-fc7070025d1a6668ff6cb4391f84771a7662def7.tar.gz gcc-fc7070025d1a6668ff6cb4391f84771a7662def7.tar.bz2 |
AArch64: Improve immediate expansion [PR105928]
Support immediate expansion of immediates which can be created from 2 MOVKs
and a shifted ORR or BIC instruction. Change aarch64_split_dimode_const_store
to apply if we save one instruction.
This reduces the number of 4-instruction immediates in SPECINT/FP by 5%.
gcc/ChangeLog:
PR target/105928
* config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
Add support for immediates using shifted ORR/BIC.
(aarch64_split_dimode_const_store): Apply if we save one instruction.
* config/aarch64/aarch64.md (<LOGICAL:optab>_<SHIFT:optab><mode>3):
Make pattern global.
gcc/testsuite:
PR target/105928
* gcc.target/aarch64/pr105928.c: Add new test.
* gcc.target/aarch64/vect-cse-codegen.c: Fix test.
Diffstat (limited to 'gcc/tree-inline.h')
0 files changed, 0 insertions, 0 deletions