Intel ARCHITECTURE IA-32 User Manual
Page 174

IA-32 Intel® Architecture Optimization
2-102
Assembly/Compiler Coding Rule 22. (H impact, MH generality)
Where it is possible to do so without incurring other penalties, prioritize
the allocation of variables to registers, as in register allocation and for
parameter passing to minimize the likelihood and impact of store-
forwarding problems. Try not to store-forward data generated from a long
latency instruction, e.g.
mul,
div
. Avoid store-forwarding data for
variables with the shortest store-load distance. Avoid store-forwarding
data for variables with many and/or long dependence chains, and
especially avoid including a store forward on a loop-carried dependence
chain. 2-38
Assembly/Compiler Coding Rule 25. (H impact, MH generality) Lay
out data or order computation to avoid having cache lines that have linear
addresses that are a multiple of 64 KB apart in the same working set.
Avoid having more than 4 cache lines that are some multiple of 2 KB apart
in the same first-level cache working set, and avoid having more than
eight cache lines that are some multiple of 4 KB apart in the same