Avoid instructions that incur expensive length-changing prefix (LCP) stalls on…
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
Showing
Please
register
or
sign in
to comment