Intel ADX
Intel ADX (Multi-Precision Add-Carry Instruction Extensions) is Intel's arbitrary-precision arithmetic extension to the x86 instruction set architecture (ISA). Intel ADX was first supported in the Broadwell microarchitecture.[1][2]
The instruction set extension contains just two new instructions, though MULX
from BMI2 is also considered as a part of the large integer arithmetic support.[3]
Both instructions are more efficient variants of the existing ADC
instruction, with the difference that each of the two new instructions affects only one flag, where ADC
as a signed addition may set both overflow and carry flags, and as an old-style x86 instruction also reset the rest of the CPU flags. Having two versions affecting different flags means that two chains of additions with carry can be calculated in parallel.[3]
AMD added support in their processors for these instructions starting with Ryzen.
Instruction | Description |
---|---|
ADCX
|
Adds two unsigned integers plus carry, reading the carry from the carry flag and if necessary setting it there. Does not affect other flags than the carry. |
ADOX
|
Adds two unsigned integers plus carry, reading the carry from the overflow flag and if necessary setting it there. Does not affect other flags than the overflow. |
References
- ↑ "Intel Software Development Emulator". July 23, 2013. http://software.intel.com/en-us/articles/intel-software-development-emulator.
- ↑ Intel Architecture Instruction Set Extensions Programming Reference (Document number 319433-013B) // Intel, July 2012, Chapter 9: Additional new instructions
- ↑ 3.0 3.1 "New Instructions Supporting Large Integer Arithmetic on Intel Architecture Processors". Intel. http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-large-integer-arithmetic-paper.pdf.
External links
- Intel Architecture Instruction Set Extensions Programming Reference. Intel. July 2013. http://download-software.intel.com/sites/default/files/319433-015.pdf. Retrieved 2013-09-10.
- "New Instructions Supporting Large Integer Arithmetic on Intel® Architecture Processors". http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-large-integer-arithmetic-paper.pdf.
Original source: https://en.wikipedia.org/wiki/Intel ADX.
Read more |