Go to the documentation of this file.
28 #ifndef SDL_cpuinfo_h_
29 #define SDL_cpuinfo_h_
35 #if defined(_MSC_VER) && (_MSC_VER >= 1500) && (defined(_M_IX86) || defined(_M_X64))
58 #elif defined(__MINGW64_VERSION_MAJOR)
62 #if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
65 #if !defined(SDL_DISABLE_ARM_NEON_H)
66 # if defined(__ARM_NEON)
67 # include <arm_neon.h>
68 # elif defined(__WINDOWS__) || defined(__WINRT__)
72 # include <arm_neon.h>
75 # if defined (_M_ARM64)
76 # include <arm64intr.h>
77 # include <arm64_neon.h>
82 #if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
85 #if defined(HAVE_IMMINTRIN_H) && !defined(SDL_DISABLE_IMMINTRIN_H)
86 #include <immintrin.h>
88 #if defined(__MMX__) && !defined(SDL_DISABLE_MMINTRIN_H)
91 #if defined(__SSE__) && !defined(SDL_DISABLE_XMMINTRIN_H)
92 #include <xmmintrin.h>
94 #if defined(__SSE2__) && !defined(SDL_DISABLE_EMMINTRIN_H)
95 #include <emmintrin.h>
97 #if defined(__SSE3__) && !defined(SDL_DISABLE_PMMINTRIN_H)
98 #include <pmmintrin.h>
114 #define SDL_CACHELINE_SIZE 128
void * SDL_SIMDAlloc(const size_t len)
Allocate memory in a SIMD-friendly way.
SDL_bool SDL_HasARMSIMD(void)
SDL_bool SDL_Has3DNow(void)
int SDL_GetCPUCacheLineSize(void)
int SDL_GetSystemRAM(void)
SDL_bool SDL_HasSSE41(void)
SDL_bool SDL_HasRDTSC(void)
SDL_bool SDL_HasSSE(void)
size_t SDL_SIMDGetAlignment(void)
Report the alignment this system needs for SIMD allocations.
SDL_bool SDL_HasSSE2(void)
SDL_bool SDL_HasAVX512F(void)
void SDL_SIMDFree(void *ptr)
Deallocate memory obtained from SDL_SIMDAlloc.
SDL_bool SDL_HasSSE42(void)
SDL_bool SDL_HasSSE3(void)
SDL_bool SDL_HasAVX2(void)
SDL_bool SDL_HasAVX(void)
SDL_bool SDL_HasAltiVec(void)
int SDL_GetCPUCount(void)
SDL_bool SDL_HasMMX(void)
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF ptr
SDL_bool SDL_HasNEON(void)