29 #ifndef CPL_CPU_FEATURES_H
30 #define CPL_CPU_FEATURES_H
37 #ifdef HAVE_SSE_AT_COMPILE_TIME
38 #if (defined(_M_X64) || defined(__x86_64))
39 #define HAVE_INLINE_SSE
40 static bool inline CPLHaveRuntimeSSE() {
return true; }
42 bool CPLHaveRuntimeSSE();
46 #ifdef HAVE_SSSE3_AT_COMPILE_TIME
48 #define HAVE_INLINE_SSSE3
49 static bool inline CPLHaveRuntimeSSSE3()
58 #if defined(__GNUC__) && !defined(DEBUG)
59 extern bool bCPLHasSSSE3;
60 static bool inline CPLHaveRuntimeSSSE3() {
return bCPLHasSSSE3; }
62 bool CPLHaveRuntimeSSSE3();
67 #ifdef HAVE_AVX_AT_COMPILE_TIME
69 #define HAVE_INLINE_AVX
70 static bool inline CPLHaveRuntimeAVX() {
return true; }
71 #elif defined(__GNUC__)
72 extern bool bCPLHasAVX;
73 static bool inline CPLHaveRuntimeAVX() {
return bCPLHasAVX; }
75 bool CPLHaveRuntimeAVX();
const char * CPLGetConfigOption(const char *, const char *)
Get the value of a configuration option.
Definition: cpl_conv.cpp:1699
Core portability definitions for CPL.
Various convenience functions for working with strings and string lists.
bool CPLTestBool(const char *pszValue)
Test what boolean value contained in the string.
Definition: cpl_string.cpp:1532