forked from wolfSSL/wolfssl
Merge pull request #7572 from douzzer/20240522-sha256-avx1-IS_INTEL_SHA
20240522-sha256-avx1-IS_INTEL_SHA
This commit is contained in:
@ -403,9 +403,9 @@ static int InitSha256(wc_Sha256* sha256)
|
|||||||
|
|
||||||
#ifdef WC_NO_INTERNAL_FUNCTION_POINTERS
|
#ifdef WC_NO_INTERNAL_FUNCTION_POINTERS
|
||||||
|
|
||||||
enum sha_methods { SHA256_UNSET = 0, SHA256_AVX1, SHA256_AVX2,
|
enum sha_methods { SHA256_UNSET = 0, SHA256_AVX1_SHA, SHA256_AVX2,
|
||||||
SHA256_AVX1_RORX, SHA256_AVX2_RORX, SHA256_SSE2,
|
SHA256_AVX1_RORX, SHA256_AVX1_NOSHA, SHA256_AVX2_RORX,
|
||||||
SHA256_C };
|
SHA256_SSE2, SHA256_C };
|
||||||
|
|
||||||
#ifndef WC_C_DYNAMIC_FALLBACK
|
#ifndef WC_C_DYNAMIC_FALLBACK
|
||||||
static enum sha_methods sha_method = SHA256_UNSET;
|
static enum sha_methods sha_method = SHA256_UNSET;
|
||||||
@ -434,7 +434,7 @@ static int InitSha256(wc_Sha256* sha256)
|
|||||||
if (IS_INTEL_SHA(intel_flags)) {
|
if (IS_INTEL_SHA(intel_flags)) {
|
||||||
#ifdef HAVE_INTEL_AVX1
|
#ifdef HAVE_INTEL_AVX1
|
||||||
if (IS_INTEL_AVX1(intel_flags)) {
|
if (IS_INTEL_AVX1(intel_flags)) {
|
||||||
SHA_METHOD = SHA256_AVX1;
|
SHA_METHOD = SHA256_AVX1_SHA;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
@ -466,7 +466,7 @@ static int InitSha256(wc_Sha256* sha256)
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
SHA_METHOD = SHA256_AVX1;
|
SHA_METHOD = SHA256_AVX1_NOSHA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -495,9 +495,12 @@ static int InitSha256(wc_Sha256* sha256)
|
|||||||
case SHA256_AVX2_RORX:
|
case SHA256_AVX2_RORX:
|
||||||
ret = Transform_Sha256_AVX2_RORX(S, D);
|
ret = Transform_Sha256_AVX2_RORX(S, D);
|
||||||
break;
|
break;
|
||||||
case SHA256_AVX1:
|
case SHA256_AVX1_SHA:
|
||||||
ret = Transform_Sha256_AVX1_Sha(S, D);
|
ret = Transform_Sha256_AVX1_Sha(S, D);
|
||||||
break;
|
break;
|
||||||
|
case SHA256_AVX1_NOSHA:
|
||||||
|
ret = Transform_Sha256_AVX1(S, D);
|
||||||
|
break;
|
||||||
case SHA256_AVX1_RORX:
|
case SHA256_AVX1_RORX:
|
||||||
ret = Transform_Sha256_AVX1_RORX(S, D);
|
ret = Transform_Sha256_AVX1_RORX(S, D);
|
||||||
break;
|
break;
|
||||||
@ -531,9 +534,12 @@ static int InitSha256(wc_Sha256* sha256)
|
|||||||
case SHA256_AVX2_RORX:
|
case SHA256_AVX2_RORX:
|
||||||
ret = Transform_Sha256_AVX2_RORX_Len(S, D, L);
|
ret = Transform_Sha256_AVX2_RORX_Len(S, D, L);
|
||||||
break;
|
break;
|
||||||
case SHA256_AVX1:
|
case SHA256_AVX1_SHA:
|
||||||
ret = Transform_Sha256_AVX1_Sha_Len(S, D, L);
|
ret = Transform_Sha256_AVX1_Sha_Len(S, D, L);
|
||||||
break;
|
break;
|
||||||
|
case SHA256_AVX1_NOSHA:
|
||||||
|
ret = Transform_Sha256_AVX1_Len(S, D, L);
|
||||||
|
break;
|
||||||
case SHA256_AVX1_RORX:
|
case SHA256_AVX1_RORX:
|
||||||
ret = Transform_Sha256_AVX1_RORX_Len(S, D, L);
|
ret = Transform_Sha256_AVX1_RORX_Len(S, D, L);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user