AMD x86 manual Dependencies, Register Operands, Stack Allocation

Models: x86

1 256
Download 256 pages 58.62 Kb
Page 144
Image 144

AMD Athlon™ Processor x86 Code Optimization

Dependencies

22007E/0 — November 1999

Spread out true dependencies to increase the opportunities for p a ra l l e l ex e c u t i o n . A n t i -d e p e n d e n c i e s a n d o u t p u t dependencies do not impact performance.

Register Operands

Maintain frequently used values in registers rather than in memory. This technique avoids the comparatively long latencies for accessing memory.

Stack Allocation

When allocating space for local variables and/or outgoing parameters within a procedure, adjust the stack pointer and use moves rather than pushes. This method of allocation allows random access to the outgoing parameters so that they can be set up when they are calculated instead of being held somewhere else until the procedure call. In addition, this method reduces ESP dependencies and uses fewer execution resources.

128

Dependencies

Page 144
Image 144
AMD x86 manual Dependencies, Register Operands, Stack Allocation