diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-05-19 15:32:22 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-05-23 09:57:04 +0800 |
commit | 657612fb9f58c9cca44b091e3cf40d704fe3ec75 (patch) | |
tree | d906d8bf40ac9c803b936c1bb7656df992c629b2 /gcc/fortran/trans-openmp.cc | |
parent | 260f189335054ffdbf3866dfd2bff1abb5c989f0 (diff) | |
download | gcc-657612fb9f58c9cca44b091e3cf40d704fe3ec75.zip gcc-657612fb9f58c9cca44b091e3cf40d704fe3ec75.tar.gz gcc-657612fb9f58c9cca44b091e3cf40d704fe3ec75.tar.bz2 |
Increase move cost between mask and gpr.
kmovd only uses port5 which is often the bottleneck of
performance. Also from latency perspective, spill and reload mostly
could be STLF or even MRN which only take 1 cycle.
So the patch increase move cost between gpr and mask to be the same as
gpr <-> sse register.
gcc/ChangeLog:
* config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
<-> mask cost from 5 to 6.
(icelake_cost): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/spill_to_mask-1.c: New test.
Diffstat (limited to 'gcc/fortran/trans-openmp.cc')
0 files changed, 0 insertions, 0 deletions