don't use _rotl64 with ICC
parent
1240b1690b
commit
a6801dbcaf
8
misc.h
8
misc.h
|
|
@ -485,7 +485,10 @@ template<> inline word32 rotrMod<word32>(word32 x, unsigned int y)
|
||||||
return _lrotr(x, 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>(word64 x, unsigned int y)
|
template<> inline word64 rotlFixed<word64>(word64 x, unsigned int y)
|
||||||
{
|
{
|
||||||
|
|
@ -524,6 +527,7 @@ template<> inline word64 rotrMod<word64>(word64 x, unsigned int y)
|
||||||
#endif // #if _MSC_VER >= 1310
|
#endif // #if _MSC_VER >= 1310
|
||||||
|
|
||||||
#if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER)
|
#if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER)
|
||||||
|
// Intel C++ Compiler 10.0 gives undefined externals with these
|
||||||
|
|
||||||
template<> inline word16 rotlFixed<word16>(word16 x, unsigned int y)
|
template<> inline word16 rotlFixed<word16>(word16 x, unsigned int y)
|
||||||
{
|
{
|
||||||
|
|
@ -595,8 +599,6 @@ template<> inline byte rotrMod<byte>(byte x, unsigned int y)
|
||||||
|
|
||||||
#endif // #if _MSC_VER >= 1400
|
#endif // #if _MSC_VER >= 1400
|
||||||
|
|
||||||
#endif // #ifdef _MSC_VER
|
|
||||||
|
|
||||||
#if (defined(__MWERKS__) && TARGET_CPU_PPC)
|
#if (defined(__MWERKS__) && TARGET_CPU_PPC)
|
||||||
|
|
||||||
template<> inline word32 rotlFixed<word32>(word32 x, unsigned int y)
|
template<> inline word32 rotlFixed<word32>(word32 x, unsigned int y)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue