rolmodl
C++ API for the Simple Directmedia Library 2 (SDL2)
Functions
rolmodl::sys::cpu Namespace Reference

CPU information functions. More...

Functions

unsigned int l1Size () noexcept
 Get the CPU L1 cache line size in bytes. More...
 
bool has3DNow () noexcept
 Query whether the CPU supports the 3DNow! extension. More...
 
bool hasAVX () noexcept
 Query whether the CPU supports the AVX1 extension. More...
 
bool hasAVX2 () noexcept
 Query whether the CPU supports the AVX2 extension. More...
 
bool hasAltiVec () noexcept
 Query whether the CPU supports the AltiVec instruction set. More...
 
bool hasMMX () noexcept
 Query whether the CPU supports the MMX instruction set. More...
 
bool hasRDTSC () noexcept
 Query whether the CPU supports the RDTSC instruction. More...
 
bool hasSSE () noexcept
 Query whether the CPU supports the SSE1 extenstion. More...
 
bool hasSSE2 () noexcept
 Query whether the CPU supports the SSE2 extenstion. More...
 
bool hasSSE3 () noexcept
 Query whether the CPU supports the SSE3 extenstion. More...
 
bool hasSSE41 () noexcept
 Query whether the CPU supports the SSE4.1 extenstion. More...
 
bool hasSSE42 () noexcept
 Query whether the CPU supports the SSE4.2 (Streaming SIMD Extensions) extenstion. More...
 

Detailed Description

CPU information functions.

Function Documentation

◆ l1Size()

unsigned int rolmodl::sys::cpu::l1Size ( )
noexcept

Get the CPU L1 cache line size in bytes.

See also
https://wiki.libsdl.org/SDL_GetCPUCacheLineSize

Definition at line 81 of file Base.cpp.

◆ has3DNow()

bool rolmodl::sys::cpu::has3DNow ( )
noexcept

Query whether the CPU supports the 3DNow! extension.

See also
https://wiki.libsdl.org/SDL_Has3DNow
https://en.wikipedia.org/wiki/3DNow!

Definition at line 85 of file Base.cpp.

◆ hasAVX()

bool rolmodl::sys::cpu::hasAVX ( )
noexcept

Query whether the CPU supports the AVX1 extension.

See also
https://wiki.libsdl.org/SDL_HasAVX
https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX1

Definition at line 88 of file Base.cpp.

◆ hasAVX2()

bool rolmodl::sys::cpu::hasAVX2 ( )
noexcept

Query whether the CPU supports the AVX2 extension.

See also
https://wiki.libsdl.org/SDL_HasAVX2
https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX2

Definition at line 91 of file Base.cpp.

◆ hasAltiVec()

bool rolmodl::sys::cpu::hasAltiVec ( )
noexcept

Query whether the CPU supports the AltiVec instruction set.

See also
https://wiki.libsdl.org/SDL_HasAltiVec
https://en.wikipedia.org/wiki/AltiVec

Definition at line 94 of file Base.cpp.

◆ hasMMX()

bool rolmodl::sys::cpu::hasMMX ( )
noexcept

Query whether the CPU supports the MMX instruction set.

See also
https://wiki.libsdl.org/SDL_HasMMX
https://en.wikipedia.org/wiki/MMX_(instruction_set)

Definition at line 97 of file Base.cpp.

◆ hasRDTSC()

bool rolmodl::sys::cpu::hasRDTSC ( )
noexcept

Query whether the CPU supports the RDTSC instruction.

See also
https://wiki.libsdl.org/SDL_HasRDTSC
https://en.wikipedia.org/wiki/Time_Stamp_Counter

Definition at line 100 of file Base.cpp.

◆ hasSSE()

bool rolmodl::sys::cpu::hasSSE ( )
noexcept

Query whether the CPU supports the SSE1 extenstion.

See also
https://wiki.libsdl.org/SDL_HasSSE
https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions

Definition at line 103 of file Base.cpp.

◆ hasSSE2()

bool rolmodl::sys::cpu::hasSSE2 ( )
noexcept

Query whether the CPU supports the SSE2 extenstion.

See also
https://wiki.libsdl.org/SDL_HasSSE2
https://en.wikipedia.org/wiki/SSE2

Definition at line 106 of file Base.cpp.

◆ hasSSE3()

bool rolmodl::sys::cpu::hasSSE3 ( )
noexcept

Query whether the CPU supports the SSE3 extenstion.

See also
https://wiki.libsdl.org/SDL_HasSSE3
https://en.wikipedia.org/wiki/SSE3

Definition at line 109 of file Base.cpp.

◆ hasSSE41()

bool rolmodl::sys::cpu::hasSSE41 ( )
noexcept

Query whether the CPU supports the SSE4.1 extenstion.

See also
https://wiki.libsdl.org/SDL_HasSSE41
https://en.wikipedia.org/wiki/SSE4#SSE4.1

Definition at line 112 of file Base.cpp.

◆ hasSSE42()

bool rolmodl::sys::cpu::hasSSE42 ( )
noexcept

Query whether the CPU supports the SSE4.2 (Streaming SIMD Extensions) extenstion.

See also
https://wiki.libsdl.org/SDL_HasSSE42
https://en.wikipedia.org/wiki/SSE4#SSE4.2

Definition at line 115 of file Base.cpp.