Content deleted Content added
m Signing comment by 2A00:FE00:4103:1:0:0:0:300 - "→Knights Landing out date: new section" |
→AVX-128: new section |
||
Line 76:
The reference provided for this sentence doesn't talk about the shipping date. I couldn't find this date yet on the Internet. <span style="font-size: smaller;" class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/2A00:FE00:4103:1:0:0:0:300|2A00:FE00:4103:1:0:0:0:300]] ([[User talk:2A00:FE00:4103:1:0:0:0:300|talk]]) 08:28, 22 August 2014 (UTC)</span><!-- Template:Unsigned IP --> <!--Autosigned by SineBot-->
== AVX-128 ==
This article states that it's safe to use AVX-128 on OSes that support only SSE and don't support AVX.
In [https://software.intel.com/sites/default/files/4f/5b/36945 Intel(R) Advanced Vector Extensions Programming Reference]
or [https://software.intel.com/sites/default/files/m/9/2/3/41604 Intel® Architecture Instruction Set Extensions Programming Reference],
section "3.2: YMM STATE MANAGEMENT" it is clearly stated that
"An OS must enable its YMM state management to support AVX and FMA extensions.
Otherwise, an attempt to execute an instruction in AVX or FMA extensions (including
an enhanced 128-bit SIMD instructions using VEX encoding) will cause a #UD exception."
Also, according to [http://support.amd.com/TechDocs/43479.pdf AMD64 Architecture Programmer’s Manual Volume 6: 128-Bit and 256-Bit XOP and FMA4 Instructions]
even 128-bit XOP also cause #UD exception if an OS doesn't support YMM save/restore.
So I believe that the statement that "AVX-128 instructions that do not use YMM registers are also safe to use on operating systems without AVX-support[citation needed], since AVX-support in operating systems refers to handling YMM register state.[3]" is totally incorrect.
|