13#ifndef CPL_CPU_FEATURES_H
14#define CPL_CPU_FEATURES_H
21#ifdef HAVE_SSE_AT_COMPILE_TIME
22#if (defined(_M_X64) || defined(__x86_64))
23#define HAVE_INLINE_SSE
25static bool inline CPLHaveRuntimeSSE()
30bool CPLHaveRuntimeSSE();
34#ifdef USE_NEON_OPTIMIZATIONS
35static bool inline CPLHaveRuntimeSSSE3()
39#elif defined(HAVE_SSSE3_AT_COMPILE_TIME)
41#define HAVE_INLINE_SSSE3
43static bool inline CPLHaveRuntimeSSSE3()
46 if (!CPLTestBool(CPLGetConfigOption(
"GDAL_USE_SSSE3",
"YES")))
52#if defined(__GNUC__) && !defined(DEBUG)
53extern bool bCPLHasSSSE3;
55static bool inline CPLHaveRuntimeSSSE3()
60bool CPLHaveRuntimeSSSE3();
65#ifdef HAVE_AVX_AT_COMPILE_TIME
67#define HAVE_INLINE_AVX
69static bool inline CPLHaveRuntimeAVX()
73#elif defined(__GNUC__)
74extern bool bCPLHasAVX;
76static bool inline CPLHaveRuntimeAVX()
81bool CPLHaveRuntimeAVX();
Core portability definitions for CPL.
Various convenience functions for working with strings and string lists.