The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "CPU FLAGS"
(9 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
==CPU_FLAGS_X86 == | ==CPU_FLAGS_X86 == | ||
This section lists CPU flags, also known as instruction sets, supported by Gentoo and Funtoo Linux. One notable omission in this list is the [[Wikipedia:x86-64|x86-64 instruction set]], which was developed by AMD and launched in 2003 with the first Opteron processor. All Funtoo Linux x86-64bit builds use this instruction set as a foundation. They may also use additional instructions as determined by {{c|CFLAGS}} and {{c|CPU_FLAGS_X86}} settings that are defined in the subarch profile. | |||
{{Note|Highlighted rows indicate instruction sets that were not fully adopted by the other vendor, such as AMD instruction sets not adopted by Intel.}} | |||
{{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></td><td>MMX</td><td> | <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><td>{{c|3dnow}}</td><td>1998 (AMD K6-2)</td><td>AMD</td><td></td><td></td><td>3DNow!</td><td> | <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> | <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><td>{{c|3dnowext}}</td><td>1999 (AMD Athlon)</td><td>AMD</td><td></td><td></td><td>3DNow! Extensions</td><td> | <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> | <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> | <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> | <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> | <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> | <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|sse4a}}</td><td>late 2007 (Barcelona/Phenom)</td><td>AMD</td><td></td><td> | <tr class="bg-warning"><td>{{c|sse4a}}</td><td>late 2007 (Barcelona/Phenom)</td><td>AMD</td><td></td><td></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> | <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> | <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> | <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| | <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><td>{{c| | <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>[[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></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>[[Wikipedia:FMA instruction set|Wikipedia]]</td></tr> | |||
{{TableEnd}} | {{TableEnd}} |
Latest revision as of 01:27, 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
This section lists CPU flags, also known as instruction sets, supported by Gentoo and Funtoo Linux. One notable omission in this list is the x86-64 instruction set, which was developed by AMD and launched in 2003 with the first Opteron processor. All Funtoo Linux x86-64bit builds use this instruction set as a foundation. They may also use additional instructions as determined by CFLAGS
and CPU_FLAGS_X86
settings that are defined in the subarch profile.
Highlighted rows indicate instruction sets that were not fully adopted by the other vendor, such as AMD instruction sets not adopted by Intel.
Flag | Introduced | By | Part of | Adopted in | Name | Links |
---|---|---|---|---|---|---|
mmx | 1997 (Pentium MMX) | Intel | AMD K6 | MMX | Wikipedia | |
3dnow | 1998 (AMD K6-2) | AMD | 3DNow! | Wikipedia | ||
mmxext | 1999 | Intel | sse | Intel Pentium III (as part of SSE) and Athlon | AMD MMX Extensions | Wikipedia |
3dnowext | 1999 (AMD Athlon) | AMD | 3DNow! Extensions | Wikipedia | ||
sse | 1999 (Pentium III) | AMD | Athlon XP | Streaming SIMD Extensions (SSE) | Wikipedia | |
sse2 | 2001 (Pentium 4) | Intel | AMD Athlon 64/Opteron | Streaming SIMD Extensions 2 (SSE2) | Wikipedia | |
sse3 | 2004 (Pentium 4 Prescott) | Intel | AMD Athlon 64 (some steppings) | Streaming SIMD Extensions 3 (SSE3/PNI) | Wikipedia | |
ssse3 | 2006 (Core 2 Woodcrest) | Intel | AMD Bobcat/Bulldozer | Supplemental Streaming SIMD Extensions 3 (SSSE3) | Wikipedia | |
sse4_1 | 2007 (Core Penryn) | Intel | AMD Bulldozer | Supplemental Streaming SIMD Extensions 4.1 | Wikipedia | |
sse4a | late 2007 (Barcelona/Phenom) | AMD | Supplemental Streaming SIMD Extensions 4a | Wikipedia | ||
sse4_2 | late 2008 (Nehalem/Core i7) | Intel | AMD Bulldozer | Supplemental Streaming SIMD Extensions 4.2 | Wikipedia | |
popcnt | 2007 | AMD | Intel Nehalem | POPCNT | Wikipedia | |
lzcnt | 2007 | AMD | Intel Haswell | LZCNT | Wikipedia | |
aes | 2008 | Intel | AMD Bulldozer | AES instruction set | Wikipedia | |
xop | 2011 (Bulldozer) | AMD | XOP Instruction set | Wikipedia | ||
avx | 2011 (Sandy Bridge) | Intel | AMD Bulldozer | Advanced Vector Extensions | Wikipedia | |
fma4 | 2011 (Bulldozer) | AMD | 4-operand fused multiply-add (a × b + c) | Wikipedia | ||
fma3 | 2012 (Piledriver) | AMD | Intel Haswell | 3-operand fused multiply-add (a × b + c) | Wikipedia |