mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
core(stat): add required CV_AVX_GUARD
Added guard with 'vzeroupper' instruction
This commit is contained in:
parent
c45d3568ae
commit
b66c349bba
@ -111,6 +111,12 @@ struct VZeroUpperGuard {
|
|||||||
#define __CV_AVX_GUARD VZeroUpperGuard __vzeroupper_guard;
|
#define __CV_AVX_GUARD VZeroUpperGuard __vzeroupper_guard;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __CV_AVX_GUARD
|
||||||
|
#define CV_AVX_GUARD __CV_AVX_GUARD
|
||||||
|
#else
|
||||||
|
#define CV_AVX_GUARD
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // __OPENCV_BUILD
|
#endif // __OPENCV_BUILD
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@ static inline int _mm256_extract_epi32_(__m256i reg, const int i)
|
|||||||
|
|
||||||
int normHamming(const uchar* a, int n)
|
int normHamming(const uchar* a, int n)
|
||||||
{
|
{
|
||||||
|
CV_AVX_GUARD;
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
#if CV_AVX2
|
#if CV_AVX2
|
||||||
@ -94,6 +96,8 @@ int normHamming(const uchar* a, int n)
|
|||||||
|
|
||||||
int normHamming(const uchar* a, const uchar* b, int n)
|
int normHamming(const uchar* a, const uchar* b, int n)
|
||||||
{
|
{
|
||||||
|
CV_AVX_GUARD;
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
#if CV_AVX2
|
#if CV_AVX2
|
||||||
|
Loading…
Reference in New Issue
Block a user