X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/2921991916ba2362d054111a0d041ff170c899c1..b9b279b4105524d5d4e5dcd389141645d904aa0c:/symm/rijndael.c diff --git a/symm/rijndael.c b/symm/rijndael.c index 02cfb76b..7db9e012 100644 --- a/symm/rijndael.c +++ b/symm/rijndael.c @@ -83,6 +83,8 @@ CPU_DISPATCH(EMPTY, EMPTY, void, rijndael_dblk, #if CPUFAM_X86 || CPUFAM_AMD64 extern rijndael_eblk__functype rijndael_eblk_x86ish_aesni; extern rijndael_dblk__functype rijndael_dblk_x86ish_aesni; +extern rijndael_eblk__functype rijndael_eblk_x86ish_aesni_avx; +extern rijndael_dblk__functype rijndael_dblk_x86ish_aesni_avx; #endif #if CPUFAM_ARMEL && HAVE_AS_ARMV8_CRYPTO extern rijndael_eblk__functype rijndael_eblk_arm_crypto; @@ -96,6 +98,9 @@ extern rijndael_dblk__functype rijndael_dblk_arm64_crypto; static rijndael_eblk__functype *pick_eblk(void) { #if CPUFAM_X86 || CPUFAM_AMD64 + DISPATCH_PICK_COND(rijndael_eblk, rijndael_eblk_x86ish_aesni_avx, + cpu_feature_p(CPUFEAT_X86_AVX) && + cpu_feature_p(CPUFEAT_X86_AESNI)); DISPATCH_PICK_COND(rijndael_eblk, rijndael_eblk_x86ish_aesni, cpu_feature_p(CPUFEAT_X86_AESNI)); #endif @@ -113,6 +118,9 @@ static rijndael_eblk__functype *pick_eblk(void) static rijndael_dblk__functype *pick_dblk(void) { #if CPUFAM_X86 || CPUFAM_AMD64 + DISPATCH_PICK_COND(rijndael_dblk, rijndael_dblk_x86ish_aesni_avx, + cpu_feature_p(CPUFEAT_X86_AVX) && + cpu_feature_p(CPUFEAT_X86_AESNI)); DISPATCH_PICK_COND(rijndael_dblk, rijndael_dblk_x86ish_aesni, cpu_feature_p(CPUFEAT_X86_AESNI)); #endif