diff options
author | Teresa Johnson <tejohnson@google.com> | 2012-04-06 05:03:49 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@gcc.gnu.org> | 2012-04-06 05:03:49 +0000 |
commit | 7b38ee83df3686a974d84c17da96101239de47bb (patch) | |
tree | a12fd9a169d4afde5d4da2344818e26d9caa4a08 /gcc/gimple-fold.c | |
parent | 939c8f05b8ebcb9d34f2b58055899c3f71912a2c (diff) | |
download | gcc-7b38ee83df3686a974d84c17da96101239de47bb.zip gcc-7b38ee83df3686a974d84c17da96101239de47bb.tar.gz gcc-7b38ee83df3686a974d84c17da96101239de47bb.tar.bz2 |
Avoid instructions that incur expensive length-changing prefix (LCP) stalls on some x86-64 implementations...
Avoid instructions that incur expensive length-changing prefix (LCP) stalls
on some x86-64 implementations, notably Core2 and Corei7. Specifically, a move of
a 16-bit constant into memory requires a length-changing prefix and can incur significant
penalties. Modified an old patch written by H.J to split such instructions
during peephole2.
2012-04-05 Teresa Johnson <tejohnson@google.com>
H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.h (ix86_tune_indices): Add
X86_TUNE_LCP_STALL.
* config/i386/i386.md (move immediate to memory peephole2):
Add cases for HImode move when LCP stall avoidance is needed.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_TUNE_LCP_STALL entry.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r186176
Diffstat (limited to 'gcc/gimple-fold.c')
0 files changed, 0 insertions, 0 deletions