From 71a14f0fc23712e5f742f4022959dcd43d95d9a6 Mon Sep 17 00:00:00 2001 From: weidai Date: Tue, 25 Sep 2007 06:22:24 +0000 Subject: don't use _rotl64 with ICC git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@408 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- misc.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'misc.h') diff --git a/misc.h b/misc.h index 089308c..132db7c 100644 --- a/misc.h +++ b/misc.h @@ -485,7 +485,10 @@ template<> inline word32 rotrMod(word32 x, unsigned int y) return _lrotr(x, y); } -#if _MSC_VER >= 1300 +#endif // #ifdef _MSC_VER + +#if _MSC_VER >= 1300 && !defined(__INTEL_COMPILER) +// Intel C++ Compiler 10.0 calls a function instead of using the rotate instruction when using these instructions template<> inline word64 rotlFixed(word64 x, unsigned int y) { @@ -524,6 +527,7 @@ template<> inline word64 rotrMod(word64 x, unsigned int y) #endif // #if _MSC_VER >= 1310 #if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER) +// Intel C++ Compiler 10.0 gives undefined externals with these template<> inline word16 rotlFixed(word16 x, unsigned int y) { @@ -595,8 +599,6 @@ template<> inline byte rotrMod(byte x, unsigned int y) #endif // #if _MSC_VER >= 1400 -#endif // #ifdef _MSC_VER - #if (defined(__MWERKS__) && TARGET_CPU_PPC) template<> inline word32 rotlFixed(word32 x, unsigned int y) -- cgit v1.2.1