Remove specializations for VectorShiftLeft and VectorShiftRight
parent
555f4742c7
commit
78d3a279dc
58
ppc-simd.h
58
ppc-simd.h
|
|
@ -188,6 +188,11 @@ inline T VectorShiftLeft(const T& vec)
|
||||||
// Out of range
|
// Out of range
|
||||||
return zero;
|
return zero;
|
||||||
}
|
}
|
||||||
|
else if (C == 0)
|
||||||
|
{
|
||||||
|
// Noop
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CRYPTOPP_BIG_ENDIAN
|
#if CRYPTOPP_BIG_ENDIAN
|
||||||
|
|
@ -198,30 +203,6 @@ inline T VectorShiftLeft(const T& vec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Full specializations for 0 over uint8x16_p to uint64x2_p
|
|
||||||
template<>
|
|
||||||
inline uint8x16_p VectorShiftLeft<0, uint8x16_p>(const uint8x16_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
inline uint16x8_p VectorShiftLeft<0, uint16x8_p>(const uint16x8_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
inline uint32x4_p VectorShiftLeft<0, uint32x4_p>(const uint32x4_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
#if defined(CRYPTOPP_POWER8_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING)
|
|
||||||
template<>
|
|
||||||
inline uint64x2_p VectorShiftLeft<0, uint64x2_p>(const uint64x2_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// \brief Shift a vector right
|
/// \brief Shift a vector right
|
||||||
/// \tparam C shift byte count
|
/// \tparam C shift byte count
|
||||||
/// \tparam T vector type
|
/// \tparam T vector type
|
||||||
|
|
@ -249,6 +230,11 @@ inline T VectorShiftRight(const T& vec)
|
||||||
// Out of range
|
// Out of range
|
||||||
return zero;
|
return zero;
|
||||||
}
|
}
|
||||||
|
else if (C == 0)
|
||||||
|
{
|
||||||
|
// Noop
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CRYPTOPP_BIG_ENDIAN
|
#if CRYPTOPP_BIG_ENDIAN
|
||||||
|
|
@ -259,30 +245,6 @@ inline T VectorShiftRight(const T& vec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Full specializations for 0 over uint8x16_p to uint64x2_p
|
|
||||||
template<>
|
|
||||||
inline uint8x16_p VectorShiftRight<0, uint8x16_p>(const uint8x16_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
inline uint16x8_p VectorShiftRight<0, uint16x8_p>(const uint16x8_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
inline uint32x4_p VectorShiftRight<0, uint32x4_p>(const uint32x4_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
#if defined(CRYPTOPP_POWER8_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING)
|
|
||||||
template<>
|
|
||||||
inline uint64x2_p VectorShiftRight<0, uint64x2_p>(const uint64x2_p& vec)
|
|
||||||
{
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// \brief Rotate a vector left
|
/// \brief Rotate a vector left
|
||||||
/// \tparam C shift byte count
|
/// \tparam C shift byte count
|
||||||
/// \tparam T vector type
|
/// \tparam T vector type
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue