FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
simd.h
1
21#pragma once
22
23#include <freerdp/config.h>
24#include <freerdp/log.h>
25
26#define PRIM_TAG FREERDP_TAG("primitives")
27
28/* https://sourceforge.net/p/predef/wiki/Architectures/
29 *
30 * contains a list of defined symbols for each compiler
31 */
32#if defined(WITH_SIMD)
33#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_IA64) || defined(_M_IX86_AMD64) || \
34 defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || \
35 defined(__i686__) || defined(__ia64__)
36#define SSE_AVX_INTRINSICS_ENABLED
37#endif
38
39// Inspired by llvm arm_neon.h header checks
40#if defined(__ARM_NEON) && defined(__ARM_FP)
41#define NEON_INTRINSICS_ENABLED
42#endif
43#endif