web-dev-qa-db-ja.com

すべての64ビットIntelアーキテクチャはSSSE3 / SSE4.1 / SSE4.2命令をサポートしていますか?

私はウェブで検索しました Intel Softwareマニュアル 。しかし、すべてのIntel 64アーキテクチャがSSSE3まで、SSE4.1まで、またはSSE4.2まで、AVXなどをサポートしているかどうかを確認できません。そのため、プログラムでSIMDがサポートする最小限の命令を使用できます。助けてください。

13
Vikram Dattu

X64ネイティブ(AMD64またはIntel 64)プロセッサーは、SSEおよびSSE2のサポートのみが義務付けられています。

SSE3は、Intel Pentium 4プロセッサー(「Prescott」)、AMD Athlon 64(「リビジョンE」)、AMD Phenom、およびそれ以降のプロセッサーでサポートされています。これは、すべてではありませんが、ほとんどのx64対応CPUがSSE3をサポートすることを意味します。

補足SSE3(SSSE3)は、Intel Core 2 Duo、Intel Core i7/i5/i3、Intel Atom、AMD Bulldozer、AMD Bobcat、およびそれ以降のプロセッサでサポートされています。

SSE4.1は、Intel Core 2(「Penryn」)、Intel Core i7(「Nehalem」)、Intel Atom(Silvermont core)、AMD Bulldozer、AMD Jaguar以降のプロセッサーでサポートされています。

SSE 4.1およびSSE4.2は、Intel Core i7(「Nehalem」)、Intel Atom(Silvermont core)、AMD Bulldozer、AMD Jaguar、およびそれ以降のプロセッサーでサポートされています。

AVXは、Intel「Sandy Bridge」、AMD Bulldozer、AMD Jaguar、およびそれ以降のプロセッサでサポートされています。

このブログシリーズ を参照してください。

X64ネイティブをサポートするがSSE3をサポートしないCPUは、「第1世代」の64ビットになります。これは、CMPXCHG16b、PrefetchW、およびLAHF/SAHFの要件により、Windows 8.1 x64ネイティブではサポートされません。そのため、実際には、SSE3は新しいマシンで使用される可能性が高くなります。 SSSE3以降は、狙っている相手によって厳密に制限されます。たとえば、 Valve Hardware Survey は、SSE4.1を77%に、SSE 4.2を72%に(AMDまたはIntelからSSE4.1 SSE3とSSSE3があります)。

22
Chuck Walbourn