Intel IA-32 Computer Accessories User Manual


 
IA-32 Intel® Architecture Optimization
2-96
The other NOPs have no special hardware support. Their input and
output registers are interpreted by the hardware. Therefore, a code
generator should arrange to use the register containing the oldest value
as input, so that the NOP will dispatch and release RS resources at the
earliest possible opportunity.
Try to observe the following NOP generation priority:
Select the smallest number of NOPs and pseudo-NOPs to provide
the desired padding.
Select NOPs that are least likely to execute on slower execution unit
clusters.
Select the register arguments of NOPs to reduce dependencies.
Summary of Rules and Suggestions
To summarize the rules and suggestions specified in this chapter, be
reminded that coding recommendations are ranked in importance
according to these two criteria:
Local impact (referred to earlier as “impact”) – the difference that a
recommendation makes to performance for a given instance.
Generality – how frequently such instances occur across all
application domains.
Again, understand that this ranking is intentionally very approximate,
and can vary depending on coding style, application domain, and other
factors. Throughout the chapter you observed references to these criteria
using the high, medium and low priorities for each recommendation. In
places where there was no priority assigned, the local impact or
generality has been determined not to be applicable.
The sections that follow summarize the sets of rules and tuning
suggestions referenced in the manual.