Difference between revisions of "CPU FLAGS"

(CPU_FLAGS_X86)
(CPU_FLAGS_X86)
Line 2: Line 2:
  
 
==CPU_FLAGS_X86 ==
 
==CPU_FLAGS_X86 ==
 +
 +
{{Note|Highlighted rows indicate instruction sets that were not fully adopted by the other vendor, such as Intel instruction sets not adopted by AMD, or vice-versa.}}
  
 
{{TableStart}}
 
{{TableStart}}
Line 15: Line 17:
 
<tr><td>{{c|sse4_1}}</td><td>2007 (Core Penryn)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Supplemental Streaming SIMD Extensions 4.1</td><td>[[Wikipedia:SSSE4#SSE4.1|Wikipedia]]</td></tr>
 
<tr><td>{{c|sse4_1}}</td><td>2007 (Core Penryn)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Supplemental Streaming SIMD Extensions 4.1</td><td>[[Wikipedia:SSSE4#SSE4.1|Wikipedia]]</td></tr>
 
<tr class="bg-warning"><td>{{c|sse4a}}</td><td>late 2007 (Barcelona/Phenom)</td><td>AMD</td><td></td><td>N/A</td><td>Supplemental Streaming SIMD Extensions 4a</td><td>[[Wikipedia:SSSE4#SSE4a|Wikipedia]]</td></tr>
 
<tr class="bg-warning"><td>{{c|sse4a}}</td><td>late 2007 (Barcelona/Phenom)</td><td>AMD</td><td></td><td>N/A</td><td>Supplemental Streaming SIMD Extensions 4a</td><td>[[Wikipedia:SSSE4#SSE4a|Wikipedia]]</td></tr>
<tr><td>{{c|sse4_2}}</td><td>late 2008 (Nehalem/Core i7)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Supplemental Streaming SIMD Extensions 4.2</td><td>See [[Wikipedia:SSSE4#SSE4.2]]</td></tr>
+
<tr><td>{{c|sse4_2}}</td><td>late 2008 (Nehalem/Core i7)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Supplemental Streaming SIMD Extensions 4.2</td><td>[[Wikipedia:SSSE4#SSE4.2|Wikipedia]]</td></tr>
<tr><td>{{c|popcnt}}</td><td>2007</td><td>AMD</td><td></td><td>Intel Nehalem</td><td>POPCNT</td><td>See [[Wikipedia:SSE4#POPCNT_and_LZCNT]]</td></tr>
+
<tr><td>{{c|popcnt}}</td><td>2007</td><td>AMD</td><td></td><td>Intel Nehalem</td><td>POPCNT</td><td>[[Wikipedia:SSE4#POPCNT_and_LZCNT|Wikipedia]]</td></tr>
<tr><td>{{c|lzcnt}}</td><td>2007</td><td>AMD</td><td></td><td>Intel Haswell</td><td>LZCNT</td><td>See [[Wikipedia:SSE4#POPCNT_and_LZCNT]]</td></tr>
+
<tr><td>{{c|lzcnt}}</td><td>2007</td><td>AMD</td><td></td><td>Intel Haswell</td><td>LZCNT</td><td> [[Wikipedia:SSE4#POPCNT_and_LZCNT|Wikipedia]]</td></tr>
<tr><td>{{c|aes}}</td><td>2008</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>AES instruction set</td><td>See [[Wikipedia:AES instruction set]]</td></tr>
+
<tr><td>{{c|aes}}</td><td>2008</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>AES instruction set</td><td>[[Wikipedia:AES instruction set|Wikipedia]]</td></tr>
<tr class="bg-warning"><td>{{c|xop}}</td><td>2011 (Bulldozer)</td><td>AMD</td><td></td><td></td><td>XOP Instruction set</td><td>See [[Wikipedia:XOP instruction set]]</td></tr>
+
<tr class="bg-warning"><td>{{c|xop}}</td><td>2011 (Bulldozer)</td><td>AMD</td><td></td><td></td><td>XOP Instruction set</td><td>[[Wikipedia:XOP instruction set|Wikipedia]]</td></tr>
<tr><td>{{c|avx}}</td><td>2011 (Sandy Bridge)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Advanced Vector Extensions</td><td>See [[Wikipedia:Advanced Vector Extensions]]</td></tr>
+
<tr><td>{{c|avx}}</td><td>2011 (Sandy Bridge)</td><td>Intel</td><td></td><td>AMD Bulldozer</td><td>Advanced Vector Extensions</td><td>[[Wikipedia:Advanced Vector Extensions|Wikipedia]]</td></tr>
<tr class="bg-warning"><td>{{c|fma4}}</td><td>2011 (Bulldozer)</td><td>AMD</td><td></td><td>N/A</td><td>4-operand fused multiply-add (a × b + c)</td><td>See [[Wikipedia:FMA instruction set]]</td></tr>
+
<tr class="bg-warning"><td>{{c|fma4}}</td><td>2011 (Bulldozer)</td><td>AMD</td><td></td><td>N/A</td><td>4-operand fused multiply-add (a × b + c)</td><td>[[Wikipedia:FMA instruction set|Wikipedia]]</td></tr>
<tr><td>{{c|fma3}}</td><td>2012 (Piledriver)</td><td>AMD</td><td></td><td>Intel Haswell</td><td>3-operand fused multiply-add (a × b + c)</td><td>See [[Wikipedia:FMA instruction set]]</td></tr>
+
<tr><td>{{c|fma3}}</td><td>2012 (Piledriver)</td><td>AMD</td><td></td><td>Intel Haswell</td><td>3-operand fused multiply-add (a × b + c)</td><td>[[Wikipedia:FMA instruction set|Wikipedia]]</td></tr>
 
{{TableEnd}}
 
{{TableEnd}}

Revision as of 01:22, March 28, 2015

This page lists processor instruction sets that can be enabled on Funtoo Linux systems using the CPU_FLAGS_* variables.

CPU_FLAGS_X86

Note

Highlighted rows indicate instruction sets that were not fully adopted by the other vendor, such as Intel instruction sets not adopted by AMD, or vice-versa.

FlagIntroducedByPart ofAdopted inNameLinks
mmx1997 (Pentium MMX)IntelAMD K6MMXWikipedia
3dnow1998 (AMD K6-2)AMD3DNow!Wikipedia
mmxext1999IntelsseIntel Pentium III (as part of SSE) and AthlonAMD MMX ExtensionsWikipedia
3dnowext1999 (AMD Athlon)AMD3DNow! ExtensionsWikipedia
sse1999 (Pentium III)AMDAthlon XPStreaming SIMD Extensions (SSE)Wikipedia
sse22001 (Pentium 4)IntelAMD Athlon 64/OpteronStreaming SIMD Extensions 2 (SSE2)Wikipedia
sse32004 (Pentium 4 Prescott)IntelAMD Athlon 64 (some steppings)Streaming SIMD Extensions 3 (SSE3/PNI) Wikipedia
ssse32006 (Core 2 Woodcrest)IntelAMD Bobcat/BulldozerSupplemental Streaming SIMD Extensions 3 (SSSE3)Wikipedia
sse4_12007 (Core Penryn)IntelAMD BulldozerSupplemental Streaming SIMD Extensions 4.1Wikipedia
sse4alate 2007 (Barcelona/Phenom)AMDN/ASupplemental Streaming SIMD Extensions 4aWikipedia
sse4_2late 2008 (Nehalem/Core i7)IntelAMD BulldozerSupplemental Streaming SIMD Extensions 4.2Wikipedia
popcnt2007AMDIntel NehalemPOPCNTWikipedia
lzcnt2007AMDIntel HaswellLZCNT Wikipedia
aes2008IntelAMD BulldozerAES instruction setWikipedia
xop2011 (Bulldozer)AMDXOP Instruction setWikipedia
avx2011 (Sandy Bridge)IntelAMD BulldozerAdvanced Vector ExtensionsWikipedia
fma42011 (Bulldozer)AMDN/A4-operand fused multiply-add (a × b + c)Wikipedia
fma32012 (Piledriver)AMDIntel Haswell3-operand fused multiply-add (a × b + c)Wikipedia