Difference between revisions of "CPU FLAGS"

From Funtoo
Jump to navigation Jump to search
(One intermediate revision by the same user not shown)
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}}
<tr><th>Flag</th><th>Introduced</th><th>By</th><th>Part of</th><th>Adopted in</th><th>Name</th><th>Links</th></tr>
<tr><th>Flag</th><th>Introduced</th><th>By</th><th>Part of</th><th>Adopted in</th><th>Name</th><th>Links</th></tr>
<tr><td>{{c|mmx}}</td><td>1997 (Pentium MMX)</td><td>Intel</td><td></td><td>AMD K6</td><td>MMX</td><td>See [[Wikipedia:MMX (instruction set)]] </td></tr>
<tr><td>{{c|mmx}}</td><td>1997 (Pentium MMX)</td><td>Intel</td><td></td><td>AMD K6</td><td>MMX</td><td>[[Wikipedia:MMX (instruction set)|Wikipedia]] </td></tr>
<tr class="bg-warning"><td>{{c|3dnow}}</td><td>1998 (AMD K6-2)</td><td>AMD</td><td></td><td></td><td>3DNow!</td><td>See [[Wikipedia:3DNow!]] </td></tr>
<tr class="bg-warning"><td>{{c|3dnow}}</td><td>1998 (AMD K6-2)</td><td>AMD</td><td></td><td></td><td>3DNow!</td><td>[[Wikipedia:3DNow!|Wikipedia]] </td></tr>
<tr><td>{{c|mmxext}}</td><td>1999</td><td>Intel</td><td>{{c|sse}}</td><td>Intel Pentium III (as part of SSE) and Athlon</td><td>AMD MMX Extensions</td><td>See [[Wikipedia:Extended MMX]]</td></tr>
<tr><td>{{c|mmxext}}</td><td>1999</td><td>Intel</td><td>{{c|sse}}</td><td>Intel Pentium III (as part of SSE) and Athlon</td><td>AMD MMX Extensions</td><td>[[Wikipedia:Extended MMX|Wikipedia]]</td></tr>
<tr class="bg-warning"><td>{{c|3dnowext}}</td><td>1999 (AMD Athlon)</td><td>AMD</td><td></td><td></td><td>3DNow! Extensions</td><td>See [[Wikipedia:3DNow!#3DNow extensions]] </td></tr>
<tr class="bg-warning"><td>{{c|3dnowext}}</td><td>1999 (AMD Athlon)</td><td>AMD</td><td></td><td></td><td>3DNow! Extensions</td><td>[[Wikipedia:3DNow!#3DNow extensions|Wikipedia]] </td></tr>
<tr><td>{{c|sse}}</td><td>1999 (Pentium III)</td><td>AMD</td><td></td><td>Athlon XP</td><td>Streaming SIMD Extensions (SSE)</td><td>See [[Wikipedia:Streaming SIMD Extensions]]</td></tr>
<tr><td>{{c|sse}}</td><td>1999 (Pentium III)</td><td>AMD</td><td></td><td>Athlon XP</td><td>Streaming SIMD Extensions (SSE)</td><td>[[Wikipedia:Streaming SIMD Extensions|Wikipedia]]</td></tr>
<tr><td>{{c|sse2}}</td><td>2001 (Pentium 4)</td><td>Intel</td><td></td><td>AMD Athlon 64/Opteron</td><td>Streaming SIMD Extensions 2 (SSE2)</td><td>See [[Wikipedia:SSE2]]</td></tr>
<tr><td>{{c|sse2}}</td><td>2001 (Pentium 4)</td><td>Intel</td><td></td><td>AMD Athlon 64/Opteron</td><td>Streaming SIMD Extensions 2 (SSE2)</td><td>[[Wikipedia:SSE2|Wikipedia]]</td></tr>
<tr><td>{{c|sse3}}</td><td>2004 (Pentium 4 Prescott)</td><td>Intel</td><td></td><td>AMD Athlon 64 (some steppings)</td><td>Streaming SIMD Extensions 3 (SSE3/PNI)</td><td>See [[Wikipedia:SSE3]]</td></tr>
<tr><td>{{c|sse3}}</td><td>2004 (Pentium 4 Prescott)</td><td>Intel</td><td></td><td>AMD Athlon 64 (some steppings)</td><td>Streaming SIMD Extensions 3 (SSE3/PNI)</td><td> [[Wikipedia:SSE3|Wikipedia]]</td></tr>
<tr><td>{{c|ssse3}}</td><td>2006 (Core 2 Woodcrest)</td><td>Intel</td><td></td><td>AMD Bobcat/Bulldozer</td><td>Supplemental Streaming SIMD Extensions 3 (SSSE3)</td><td>See [[Wikipedia:SSSE3]]</td></tr>
<tr><td>{{c|ssse3}}</td><td>2006 (Core 2 Woodcrest)</td><td>Intel</td><td></td><td>AMD Bobcat/Bulldozer</td><td>Supplemental Streaming SIMD Extensions 3 (SSSE3)</td><td>[[Wikipedia:SSSE3|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>See [[Wikipedia:SSSE4#SSE4.1]]</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>See [[Wikipedia:SSSE4#SSE4a]]</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