Specifications
56 Product Errata
25759 Rev. 3.79 July 2009
Revision Guide for AMD Athlon™ 64 and AMD Opteron™ Processors
95 RET Instruction May Return To Incorrect EIP
Description
In order to efficiently predict return addresses, the processor implements a 12-deep return address
stack to pair RETs with previous CALLs.
Under the following unusual and specific conditions, an overflowed hardware return stack may cause
a RET instruction to return to an incorrect EIP in 64-bit systems running 32-bit compatibility mode
applications:
• A CALL near is executed in 32-bit compatibility mode.
• Prior to a return from the called procedure, the processor is switched to 64-bit mode.
• In 64-bit mode, subsequent CALLs are nested 12 levels deep or greater.
• The lower 32 bits of the 64-bit return address for the 12th-most deeply nested CALL in 64-bit
mode matches exactly the 32-bit return address of the original 32-bit mode CALL.
• A series of RETs is executed from the nested 64-bit procedures.
• The processor returns to 32-bit compatibility mode.
• A RET is executed from the originally called procedure.
Potential Effect on System
The processor returns to an incorrect EIP, causing unpredictable system operation.
Suggested Workaround
None. This has been observed in synthetic load stress-testing only, and not in any operating system or
application.
Fix Planned
Yes