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
40static bool inline CPLHaveRuntimeSSE() {
return true; }
42bool CPLHaveRuntimeSSE();
46#ifdef HAVE_SSSE3_AT_COMPILE_TIME
48#define HAVE_INLINE_SSSE3
49static bool inline CPLHaveRuntimeSSSE3()
58#if defined(__GNUC__) && !defined(DEBUG)
59extern bool bCPLHasSSE3;
60static bool inline CPLHaveRuntimeSSSE3() {
return bCPLHasSSE3; }
62bool CPLHaveRuntimeSSSE3();
67#ifdef HAVE_AVX_AT_COMPILE_TIME
69#define HAVE_INLINE_AVX
70static bool inline CPLHaveRuntimeAVX() {
return true; }
71#elif defined(__GNUC__)
72extern bool bCPLHasAVX;
73static bool inline CPLHaveRuntimeAVX() {
return bCPLHasAVX; }
75bool CPLHaveRuntimeAVX();
const char * CPLGetConfigOption(const char *, const char *) CPL_WARN_UNUSED_RESULT
Get the value of a configuration option.
Definition: cpl_conv.cpp:1692
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:1526