System.TestSSE
Delphi
TestSSE: Cardinal; { 0: no SSE, 1st bit: SSE available, 2nd bit: SSE2 available }
C++
extern DELPHI_PACKAGE unsigned TestSSE;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
variable | public | System.pas System.hpp |
System | System |
説明
TestSSE は、使用中のコンピュータ上に存在する SSE(ストリーミング SIMD 拡張命令)機能を表します。
TestSSE には、以下の値の組み合わせを指定できます。
- 0 - SSE を使用できません。CPU には SSE 機能がありません。
- 1 - SSE 機能のみを使用できます。
- 2 - SSE2 を使用できます。
ヒント: System ユニットでは、SSE と SSE2 が使用できるかどうかしか確認しません。SSE3 や最新の SSE 機能を検出するには、ソース コードの uses セクションに System.Math ユニットを追加してください。
System.Math ユニットでは、TestSSE 変数を、下に示すフラグの組み合わせに再設定します。System.Math ユニットでは以下の CPU 定数を定義しています。
seSSE = $0001; { SSE instruction set is available }
seSSE2 = $0002; { SSE2 instruction set is available }
seSSE3 = $0004; { SSE3 instruction set is available }
seSSSE3 = $0008; { Supplemental SSE3 instruction set is available }
seSSE41 = $0010; { SSE4.1 instruction set is available }
seSSE42 = $0020; { SSE4.2 instruction set is available }
sePOPCNT = $0040; { POPCNT instruction is available }
seAESNI = $0080; { AES instruction set is available }
sePCLMULQDQ = $0100; { PCLMULQDQ instruction is available }
メモ: X64 アーキテクチャの CPU はすべて、少なくとも SSE と SSE2 の機能を有しています。