aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorCui,Lili <lili.cui@intel.com>2022-06-08 11:25:57 +0800
committerliuhongt <hongtao.liu@intel.com>2022-06-09 14:59:44 +0800
commit269edf4e5e6ab489730038f7e3495550623179fe (patch)
tree2a0dc0b8c5bddaa0aa9bf0c6a1f5748c3a0c1d00 /gcc/expr.cc
parent2fc6e3d55f6080da3a43243f595bd1266595127d (diff)
downloadgcc-269edf4e5e6ab489730038f7e3495550623179fe.zip
gcc-269edf4e5e6ab489730038f7e3495550623179fe.tar.gz
gcc-269edf4e5e6ab489730038f7e3495550623179fe.tar.bz2
Update {skylake,icelake,alderlake}_cost to add a bit preference to vector store.
Since the interger vector construction cost has changed, we need to adjust the load and store costs for intel processers. With the patch applied 538.imagic_r:gets ~6% improvement on ADL for multicopy. 525.x264_r :gets ~2% improvement on ADL and ICX for multicopy. with no measurable changes for other benchmarks. gcc/ChangeLog PR target/105493 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}. (icelake_cost): Ditto. (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads, stores and unaligned stores cost from {6, 6, 6, 10, 15} to {8, 8, 8, 10, 15}. gcc/testsuite/ PR target/105493 * gcc.target/i386/pr91446.c: Adjust to expect vectorization * gcc.target/i386/pr99881.c: XFAIL. * gcc.target/i386/pr105493.c: New. * g++.target/i386/pr105638.C: Use other sequence checks instead of vpxor, because code generation changed.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions