mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
/* cpu_features.h -- CPU architecture feature check |
|
* Copyright (C) 2017 Hans Kristian Rosbach |
|
* For conditions of distribution and use, see copyright notice in zlib.h |
|
*/ |
|
|
|
#ifndef CPU_FEATURES_H_ |
|
#define CPU_FEATURES_H_ |
|
|
|
#ifndef DISABLE_RUNTIME_CPU_DETECTION |
|
|
|
#if defined(X86_FEATURES) |
|
# include "arch/x86/x86_features.h" |
|
#elif defined(ARM_FEATURES) |
|
# include "arch/arm/arm_features.h" |
|
#elif defined(PPC_FEATURES) || defined(POWER_FEATURES) |
|
# include "arch/power/power_features.h" |
|
#elif defined(S390_FEATURES) |
|
# include "arch/s390/s390_features.h" |
|
#elif defined(RISCV_FEATURES) |
|
# include "arch/riscv/riscv_features.h" |
|
#endif |
|
|
|
struct cpu_features { |
|
#if defined(X86_FEATURES) |
|
struct x86_cpu_features x86; |
|
#elif defined(ARM_FEATURES) |
|
struct arm_cpu_features arm; |
|
#elif defined(PPC_FEATURES) || defined(POWER_FEATURES) |
|
struct power_cpu_features power; |
|
#elif defined(S390_FEATURES) |
|
struct s390_cpu_features s390; |
|
#elif defined(RISCV_FEATURES) |
|
struct riscv_cpu_features riscv; |
|
#else |
|
char empty; |
|
#endif |
|
}; |
|
|
|
void cpu_check_features(struct cpu_features *features); |
|
|
|
#endif |
|
|
|
#endif
|
|
|