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
41static bool inline CPLHaveRuntimeSSE()
46bool CPLHaveRuntimeSSE();
50#ifdef HAVE_SSSE3_AT_COMPILE_TIME
52#define HAVE_INLINE_SSSE3
54static bool inline CPLHaveRuntimeSSSE3()
57 if (!CPLTestBool(CPLGetConfigOption(
"GDAL_USE_SSSE3",
"YES")))
63#if defined(__GNUC__) && !defined(DEBUG)
64extern bool bCPLHasSSSE3;
66static bool inline CPLHaveRuntimeSSSE3()
71bool CPLHaveRuntimeSSSE3();
76#ifdef HAVE_AVX_AT_COMPILE_TIME
78#define HAVE_INLINE_AVX
80static bool inline CPLHaveRuntimeAVX()
84#elif defined(__GNUC__)
85extern bool bCPLHasAVX;
87static bool inline CPLHaveRuntimeAVX()
92bool CPLHaveRuntimeAVX();
Core portability definitions for CPL.
Various convenience functions for working with strings and string lists.