Use shifts for VectorGetLow
parent
b44de10e18
commit
eddc357981
|
|
@ -234,6 +234,10 @@ void Benchmark2(double t, double hertz)
|
||||||
if (HasPMULL())
|
if (HasPMULL())
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
|
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
|
||||||
else
|
else
|
||||||
|
#elif CRYPTOPP_POWER8_VMULL_AVAILABLE
|
||||||
|
if (HasPMULL())
|
||||||
|
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM (2K tables)", MakeParameters(Name::TableSize(), 2048));
|
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM (2K tables)", MakeParameters(Name::TableSize(), 2048));
|
||||||
|
|
|
||||||
|
|
@ -336,9 +336,10 @@ inline T VectorRotateRight(const T& vec)
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T VectorGetLow(const T& val)
|
inline T VectorGetLow(const T& val)
|
||||||
{
|
{
|
||||||
const T zero = {0};
|
//const T zero = {0};
|
||||||
const uint8x16_p mask = {16,16,16,16, 16,16,16,16, 8,9,10,11, 12,13,14,15 };
|
//const uint8x16_p mask = {16,16,16,16, 16,16,16,16, 8,9,10,11, 12,13,14,15 };
|
||||||
return (T)vec_perm(val, zero, mask);
|
//return (T)vec_perm(val, zero, mask);
|
||||||
|
return VectorShiftLeft<8>(VectorShiftRight<8>(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Extract a dword from a vector
|
/// \brief Extract a dword from a vector
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue