SDL 3.0
SDL_intrin.h File Reference
#include <SDL3/SDL_stdinc.h>
+ Include dependency graph for SDL_intrin.h:

Go to the source code of this file.

Macros

#define SDL_TARGETING(x)
 

Macro Definition Documentation

◆ SDL_TARGETING

#define SDL_TARGETING ( x)

CategoryIntrinsics

SDL does some preprocessor gymnastics to determine if any CPU-specific compiler intrinsics are available, as this is not necessarily an easy thing to calculate, and sometimes depends on quirks of a system, versions of build tools, and other external forces.

Apps including SDL's headers will be able to check consistent preprocessor definitions to decide if it's safe to use compiler intrinsics for a specific CPU architecture. This check only tells you that the compiler is capable of using those intrinsics; at runtime, you should still check if they are available on the current system with the CPU info functions , such as SDL_HasSSE() or SDL_HasNEON(). Otherwise, the process might crash for using an unsupported CPU instruction.

SDL only sets preprocessor defines for CPU intrinsics if they are supported, so apps should check with #ifdef and not #if.

SDL will also include the appropriate instruction-set-specific support headers, so if SDL decides to define SDL_SSE2_INTRINSICS, it will also #include <emmintrin.h> as well.

Definition at line 345 of file SDL_intrin.h.