diff options
-rw-r--r-- | bench2.cpp | 4 | ||||
-rw-r--r-- | ppc-simd.h | 7 |
2 files changed, 8 insertions, 3 deletions
@@ -234,6 +234,10 @@ void Benchmark2(double t, double hertz) if (HasPMULL())
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
else
+#elif CRYPTOPP_POWER8_VMULL_AVAILABLE
+ if (HasPMULL())
+ BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
+ else
#endif
{
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>
inline T VectorGetLow(const T& val)
{
- const T zero = {0};
- 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);
+ //const T zero = {0};
+ //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 VectorShiftLeft<8>(VectorShiftRight<8>(val));
}
/// \brief Extract a dword from a vector
|