#define CCSHA256_OUTPUT_SIZE 32
#define CCSHA256_STATE_SIZE 32
extern const struct ccdigest_info ccsha256_ltc_di;
-#if !defined(__NO_ASM__) && CCSHA2_VNG_INTEL
+extern const struct ccdigest_info ccsha256_v6m_di;
+#if CCSHA2_VNG_INTEL
#if defined __x86_64__
+extern const struct ccdigest_info ccsha224_vng_intel_AVX2_di;
+extern const struct ccdigest_info ccsha224_vng_intel_AVX1_di;
extern const struct ccdigest_info ccsha256_vng_intel_AVX2_di;
extern const struct ccdigest_info ccsha256_vng_intel_AVX1_di;
+extern const struct ccdigest_info ccsha384_vng_intel_AVX2_di;
+extern const struct ccdigest_info ccsha384_vng_intel_AVX1_di;
+extern const struct ccdigest_info ccsha384_vng_intel_SupplementalSSE3_di;
+extern const struct ccdigest_info ccsha512_vng_intel_AVX2_di;
+extern const struct ccdigest_info ccsha512_vng_intel_AVX1_di;
+extern const struct ccdigest_info ccsha512_vng_intel_SupplementalSSE3_di;
#endif
extern const struct ccdigest_info ccsha256_vng_intel_SupplementalSSE3_di;
-extern const struct ccdigest_info ccsha256_vng_intel_NOSupplementalSSE3_di;
#endif
-#if !defined(__NO_ASM__) && CCSHA2_VNG_ARMV7NEON
+#if CCSHA2_VNG_ARMV7NEON
extern const struct ccdigest_info ccsha256_vng_armv7neon_di;
+extern const struct ccdigest_info ccsha384_vng_arm64_di;
+extern const struct ccdigest_info ccsha384_vng_armv7neon_di;
+extern const struct ccdigest_info ccsha512_vng_arm64_di;
+extern const struct ccdigest_info ccsha512_vng_armv7neon_di;
#endif
extern const uint32_t ccsha256_K[64];
+extern const uint64_t ccsha512_K[80];
/* SHA224 */
#define CCSHA224_OUTPUT_SIZE 28
extern const struct ccdigest_info ccsha224_ltc_di;
-#if !defined(__NO_ASM__) && CCSHA2_VNG_INTEL
+#if CCSHA2_VNG_INTEL
extern const struct ccdigest_info ccsha224_vng_intel_SupplementalSSE3_di;
-extern const struct ccdigest_info ccsha224_vng_intel_NOSupplementalSSE3_di;
#endif
-#if !defined(__NO_ASM__) && CCSHA2_VNG_ARMV7NEON
+#if CCSHA2_VNG_ARMV7NEON
extern const struct ccdigest_info ccsha224_vng_armv7neon_di;
#endif