[go: up one dir, main page]

Intel ADX: Difference between revisions

Content deleted Content added
"References" section goes first
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 4 templates: hyphenate params (3×);
 
(30 intermediate revisions by 12 users not shown)
Line 1:
'''Intel ADX''' ('''Multi-Precision Add-Carry Instruction Extensions''') is a[[Intel]]'s set[[arbitrary-precision ofarithmetic]] extensionsextension to the [[x86]] [[instruction set architecture]] for(ISA). [[arbitrary-precision arithmetic]].Intel ItADX was introducedfirst assupported part ofin the [[Broadwell (microarchitecture)|Broadwell]] [[microarchitecture]].<ref>{{cite web|url=http://software.intel.com/en-us/articles/intel-software-development-emulator |title=Intel Software Development Emulator |website=software.intel.com |date=July 23, 2013 |accessdateaccess-date=October 16, 2013}}</ref><ref>[httphttps://software.intel.com/sites/default/files/m/0/1/9/3/4/45207-319433-013b.pdf Intel Architecture Instruction Set Extensions Programming Reference] (Document number 319433-013B) // Intel, July 2012, Chapter 9: Additional new instructions</ref>
{{Multiple issues|
{{More footnotes|date=February 2014}}
{{Update|date=February 2015}}
}}
 
The instruction set extension contains just two new instructions, though <code>MULX</code> from [[BMI2]] is also considered as a part of the large integer arithmetic support.<ref name="adcref">{{cite web |url=http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-large-integer-arithmetic-paper.pdf |title= New Instructions Supporting Large Integer Arithmetic on Intel Architecture Processors |publisher=[[Intel]] |access-date=2 January 2015}}</ref>
'''Intel ADX''' ('''Multi-Precision Add-Carry Instruction Extensions''') is a set of extensions to the [[x86]] [[instruction set architecture]] for [[arbitrary-precision arithmetic]]. It was introduced as part of the [[Broadwell (microarchitecture)|Broadwell]] [[microarchitecture]].<ref>{{cite web|url=http://software.intel.com/en-us/articles/intel-software-development-emulator |title=Intel Software Development Emulator |website=software.intel.com |date=July 23, 2013 |accessdate=October 16, 2013}}</ref><ref>[http://software.intel.com/sites/default/files/m/0/1/9/3/4/45207-319433-013b.pdf Intel Architecture Instruction Set Extensions Programming Reference] (Document number 319433-013B) // Intel, July 2012, Chapter 9: Additional new instructions</ref>
 
Both instructions are more efficient variants of the existing <code>ADC</code> instruction, with the difference that each of the two new instructions affects only one flag, where <code>ADC</code> 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.<ref name="adcref" />
 
AMD added support in their processors for these instructions starting with [[Ryzen]].
 
{| class="wikitable"
|-
! Instruction
! Description
|-
| <code>ADCX</code>
| 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.
|-
| <code>ADOX</code>
| 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 ==
Line 11 ⟶ 24:
== External links ==
* {{cite manual
| title = Intel Architecture Instruction Set Extensions Programming Reference
|date month = July 2013
| year publisher = 2013[[Intel]]
|access-date accessdate = 2013-09-10
| publisher = [[Intel]]
|url = http://download-software.intel.com/sites/default/files/319433-015.pdf
| accessdate = 2013-09-10
| archive-url = https://web.archive.org/web/20130929035331/http://download-software.intel.com/sites/default/files/319433-015.pdf
|archive-date = 2013-09-29
}}
|url-status = dead
}}
* {{cite web | url=http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-large-integer-arithmetic-paper.pdf | title=New Instructions Supporting Large Integer Arithmetic on Intel® Architecture Processors}}
{{Intel}}
 
{{Multimedia extensions}}
[[Category:Articles created via the Article Wizard]]
[[Category:Intel Corporation]]
[[Category:X86 instructions]]
 
{{Microcompuhardware-stub}}
 
{{Microcompu-stub}}