41#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (defined(_M_IX86) || defined(_M_X64))
44#if defined(__clang__) && !_SDL_HAS_BUILTIN(_m_prefetch)
45#ifndef __PRFCHWINTRIN_H
46#define __PRFCHWINTRIN_H
47static __inline__ void __attribute__((__always_inline__, __nodebug__))
50 __builtin_prefetch(__P, 0, 3 );
75#elif defined(__MINGW64_VERSION_MAJOR)
77#if !defined(SDL_DISABLE_ARM_NEON_H) && defined(__ARM_NEON)
82#if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
85#if !defined(SDL_DISABLE_ARM_NEON_H)
86# if defined(__ARM_NEON)
88# elif defined(__WINDOWS__) || defined(__WINRT__) || defined(__GDK__)
95# if defined (_M_ARM64)
96# include <arm64intr.h>
97# include <arm64_neon.h>
105#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
108#if defined(__loongarch_sx) && !defined(SDL_DISABLE_LSX_H)
109#include <lsxintrin.h>
112#if defined(__loongarch_asx) && !defined(SDL_DISABLE_LASX_H)
113#include <lasxintrin.h>
116#if defined(HAVE_IMMINTRIN_H) && !defined(SDL_DISABLE_IMMINTRIN_H) && \
117 (defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86))
118#include <immintrin.h>
120#if defined(__MMX__) && !defined(SDL_DISABLE_MMINTRIN_H)
123#if defined(__SSE__) && !defined(SDL_DISABLE_XMMINTRIN_H)
124#include <xmmintrin.h>
126#if defined(__SSE2__) && !defined(SDL_DISABLE_EMMINTRIN_H)
127#include <emmintrin.h>
129#if defined(__SSE3__) && !defined(SDL_DISABLE_PMMINTRIN_H)
130#include <pmmintrin.h>
145#define SDL_CACHELINE_SIZE 128
SDL_bool SDL_HasSSE2(void)
SDL_bool SDL_HasSSE42(void)
SDL_bool SDL_HasARMSIMD(void)
SDL_bool SDL_HasNEON(void)
SDL_bool SDL_HasSSE3(void)
SDL_bool SDL_HasAVX2(void)
SDL_bool SDL_HasSSE41(void)
SDL_bool SDL_HasMMX(void)
SDL_bool SDL_HasAltiVec(void)
void * SDL_SIMDAlloc(const size_t len)
void SDL_SIMDFree(void *ptr)
size_t SDL_SIMDGetAlignment(void)
SDL_bool SDL_HasLASX(void)
int SDL_GetSystemRAM(void)
SDL_bool SDL_HasAVX512F(void)
int SDL_GetCPUCount(void)
SDL_bool SDL_HasAVX(void)
int SDL_GetCPUCacheLineSize(void)
SDL_bool SDL_HasRDTSC(void)
SDL_bool SDL_HasSSE(void)
SDL_bool SDL_HasLSX(void)
SDL_bool SDL_Has3DNow(void)
void * SDL_SIMDRealloc(void *mem, const size_t len)