From bbc5c63d332e317ca7ceb7b71e59a517a16b71d8 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sat, 17 Nov 2018 00:41:49 -0500 Subject: Drop GCM to POWER7 on PowerPC GCM can do some bulk XOR's using the SIMD unit. However, we still need loads and stores to be fast. Fast loads and stores of unaligned data requires the VSX unit --- GNUmakefile | 1 + gcm.cpp | 22 +++++++++++----------- gcm_simd.cpp | 4 ++-- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 40700cc6..ae38c0a7 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -668,6 +668,7 @@ ifeq ($(DETECT_FEATURES),1) BLAKE2S_FLAG = $(POWER7_FLAG) CHACHA_FLAG = $(POWER7_FLAG) CHAM_FLAG = $(POWER7_FLAG) + GCM_FLAG = $(POWER7_FLAG) LEA_FLAG = $(POWER7_FLAG) SIMECK_FLAG = $(POWER7_FLAG) SIMON64_FLAG = $(POWER7_FLAG) diff --git a/gcm.cpp b/gcm.cpp index 59236ac2..473477c4 100644 --- a/gcm.cpp +++ b/gcm.cpp @@ -75,8 +75,8 @@ extern void GCM_Xor16_SSE2(byte *a, const byte *b, const byte *c); extern void GCM_Xor16_NEON(byte *a, const byte *b, const byte *c); #endif -#if CRYPTOPP_ALTIVEC_AVAILABLE -extern void GCM_Xor16_ALTIVEC(byte *a, const byte *b, const byte *c); +#if CRYPTOPP_POWER7_AVAILABLE +extern void GCM_Xor16_POWER7(byte *a, const byte *b, const byte *c); #endif #if CRYPTOPP_CLMUL_AVAILABLE @@ -213,11 +213,11 @@ void GCM_Base::SetKeyWithoutResync(const byte *userKey, size_t keylength, const for (k=1; k