diff options
author | Øyvind Kolås <pippin@gimp.org> | 2022-01-23 02:48:02 +0100 |
---|---|---|
committer | Øyvind Kolås <pippin@gimp.org> | 2022-01-23 02:48:02 +0100 |
commit | 6012c648899745fcfd641b6e204d02802e1efdb5 (patch) | |
tree | e3eb9dd1cea478175a8c63aa28d23eb607b8a396 /extensions | |
parent | 45349ee92dcba00aa948cbaee244d58e973f2c28 (diff) |
babl: add more missing SIMD build related files
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/babl-verify-cpu.inc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/extensions/babl-verify-cpu.inc b/extensions/babl-verify-cpu.inc new file mode 100644 index 0000000..d656445 --- /dev/null +++ b/extensions/babl-verify-cpu.inc @@ -0,0 +1,63 @@ +#include "babl-cpuaccel.h" + +#ifdef X86_64_V2 +#define BABL_SIMD_x86_64_v2 +#define BABL_SIMD_SUFFIX(symbol) symbol##_x86_64_v2 +#else +#ifdef X86_64_V3 +#define BABL_SIMD_x86_64_v3 +#define BABL_SIMD_SUFFIX(symbol) symbol##_x86_64_v3 +#else +#define BABL_SIMD_generic +#define BABL_SIMD_SUFFIX(symbol) symbol##_generic +#endif +#endif + +#define BABL_VERIFY_CPU() do{}while(0) + + +#ifdef BABL_SIMDFREE + +#ifdef ARCH_X86_64 + +#undef BABL_VERIFY_CPU +#define BABL_VERIFY_CPU()\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_X86_64_V2)\ + == BABL_CPU_ACCEL_X86_64_V2) return 0;\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_X86_64_V3)\ + == BABL_CPU_ACCEL_X86_64_V3) return 0; + +#endif + +#ifdef ARCH_ARM +#undef BABL_VERIFY_CPU +#define BABL_VERIFY_CPU()\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_ARM_NEON)\ + == BABL_CPU_ACCEL_ARM_NEON) return 0; + +#endif +#endif + +#ifdef X86_64_V2 +#undef BABL_VERIFY_CPU +#define BABL_VERIFY_CPU()\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_X86_64_V2)\ + != BABL_CPU_ACCEL_X86_64_V2) return 0;\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_X86_64_V3)\ + == BABL_CPU_ACCEL_X86_64_V3) return 0; +#endif + +#ifdef X86_64_V3 +#undef BABL_VERIFY_CPU +#define BABL_VERIFY_CPU()\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_X86_64_V3)\ + != BABL_CPU_ACCEL_X86_64_V3) return 0; +#endif + + +#ifdef ARM_NEON +#undef BABL_VERIFY_CPU +#define BABL_VERIFY_CPU()\ + if ((babl_cpu_accel_get_support() & BABL_CPU_ACCEL_ARM_NEON)\ + != BABL_CPU_ACCEL_ARM_NEON) return 0; +#endif |