LibreOffice Module tools (master) 1
|
Enumerations | |
enum class | InstructionSetFlags { NONE = 0x00 , HYPER = 0x01 , SSE2 = 0x02 , SSSE3 = 0x04 , SSE41 = 0x08 , SSE42 = 0x10 , AVX = 0x20 , AVX2 = 0x40 , AVX512F = 0x80 } |
Functions | |
InstructionSetFlags | getCpuInstructionSetFlags () |
Get supported instruction set flags determined at runtime by probing the CPU. More... | |
bool | isCpuInstructionSetSupported (InstructionSetFlags eInstructions) |
Check if a certain instruction set is supported by the CPU at runtime. More... | |
OUString | instructionSetSupportedString () |
Returns a string of supported instructions. More... | |
bool | hasSSE2 () |
Check if SSE2 is supported by the CPU. More... | |
bool | hasSSSE3 () |
Check if SSSE3 is supported by the CPU. More... | |
bool | hasAVX () |
Check if AVX is supported by the CPU. More... | |
bool | hasAVX2 () |
Check if AVX2 is supported by the CPU. More... | |
bool | hasAVX512F () |
Check if AVX512F is supported by the CPU. More... | |
bool | hasHyperThreading () |
Check if Hyper Threading is supported. More... | |
|
strong |
TOOLS_DLLPUBLIC InstructionSetFlags cpuid::getCpuInstructionSetFlags | ( | ) |
Get supported instruction set flags determined at runtime by probing the CPU.
Definition at line 61 of file cpuid.cxx.
References AVX, AVX2, AVX2_bit, AVX512F, AVX512F_bit, AVX_bit, HYPER, HYPER_bit, NONE, SSE2, SSE2_bit, SSE41, SSE41_bit, SSE42, SSE42_bit, SSSE3, SSSE3_bit, and XSAVE_bit.
Referenced by isCpuInstructionSetSupported().
|
inline |
Check if AVX is supported by the CPU.
Definition at line 81 of file cpuid.hxx.
References AVX, and isCpuInstructionSetSupported().
|
inline |
Check if AVX2 is supported by the CPU.
Definition at line 88 of file cpuid.hxx.
References AVX2, and isCpuInstructionSetSupported().
|
inline |
Check if AVX512F is supported by the CPU.
Definition at line 95 of file cpuid.hxx.
References AVX512F, and isCpuInstructionSetSupported().
|
inline |
Check if Hyper Threading is supported.
Definition at line 102 of file cpuid.hxx.
References HYPER, and isCpuInstructionSetSupported().
|
inline |
Check if SSE2 is supported by the CPU.
Definition at line 67 of file cpuid.hxx.
References isCpuInstructionSetSupported(), and SSE2.
|
inline |
Check if SSSE3 is supported by the CPU.
Definition at line 74 of file cpuid.hxx.
References isCpuInstructionSetSupported(), and SSSE3.
TOOLS_DLLPUBLIC OUString cpuid::instructionSetSupportedString | ( | ) |
TOOLS_DLLPUBLIC bool cpuid::isCpuInstructionSetSupported | ( | InstructionSetFlags | eInstructions | ) |
Check if a certain instruction set is supported by the CPU at runtime.
Definition at line 112 of file cpuid.cxx.
References getCpuInstructionSetFlags().
Referenced by hasAVX(), hasAVX2(), hasAVX512F(), hasHyperThreading(), hasSSE2(), hasSSSE3(), and instructionSetSupportedString().