Guard _blsr_u64 and _tzcnt_u64 on __x86_64__

This commit is contained in:
Jeffrey Walton 2016-07-21 18:04:05 -04:00
parent 29bd2bc95c
commit a327717618

30
misc.h
View File

@ -63,20 +63,22 @@
#if defined(__GNUC__) && defined(__BMI__)
# include <immintrin.h>
# if defined(__clang__)
#ifndef _tzcnt_u32
# define _tzcnt_u32(x) __tzcnt_u32(x)
#endif
#ifndef _tzcnt_u64
# define _tzcnt_u64(x) __tzcnt_u64(x)
#endif
#ifndef _blsr_u32
# define _blsr_u32(x) __blsr_u32(x)
#endif
#ifndef _blsr_u64
# define _blsr_u64(x) __blsr_u64(x)
#endif
# endif
#endif
# ifndef _tzcnt_u32
# define _tzcnt_u32(x) __tzcnt_u32(x)
# endif
# ifndef _blsr_u32
# define _blsr_u32(x) __blsr_u32(x)
# endif
# ifdef __x86_64__
# ifndef _tzcnt_u64
# define _tzcnt_u64(x) __tzcnt_u64(x)
# endif
# ifndef _blsr_u64
# define _blsr_u64(x) __blsr_u64(x)
# endif
# endif // x86_64
# endif // Clang
#endif // GNUC and BMI
#endif // CRYPTOPP_DOXYGEN_PROCESSING