mds
unsigned int mds = 0, i;
if (!EVP_DigestUpdate(&c, &(md_buf[0]), mds))
if (!EVP_DigestFinal_ex(&c, &(md_buf[0]), &mds))
if (!EVP_DigestUpdate(&c, &(md_buf[0]), mds))
if (!EVP_DigestFinal_ex(&c, &(md_buf[0]), &mds))
if (i == mds)
if (niv && (i != mds)) {
if (i == mds)
STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */
sk_EVP_MD_free(ctx->mds); /* No EVP_MD_free method exists. */
if (!ctx->mds && !(ctx->mds = sk_EVP_MD_new_null()))
if (!sk_EVP_MD_push(ctx->mds, (EVP_MD *)md))
for (i = 0; !md && i < sk_EVP_MD_num(ctx->mds); ++i) {
EVP_MD *current_md = sk_EVP_MD_value(ctx->mds, i);
return mds(0, b0) ^ mds(1, b1) ^ mds(2, b2) ^ mds(3, b3);
mk_tab[0 + 4*i] = mds(0, q20(by)); mk_tab[1 + 4*i] = mds(1, q21(by));
mk_tab[2 + 4*i] = mds(2, q22(by)); mk_tab[3 + 4*i] = mds(3, q23(by));
mk_tab[0 + 4*i] = mds(0, q30(by)); mk_tab[1 + 4*i] = mds(1, q31(by));
mk_tab[2 + 4*i] = mds(2, q32(by)); mk_tab[3 + 4*i] = mds(3, q33(by));
mk_tab[0 + 4*i] = mds(0, q40(by)); mk_tab[1 + 4*i] = mds(1, q41(by));
mk_tab[2 + 4*i] = mds(2, q42(by)); mk_tab[3 + 4*i] = mds(3, q43(by));
int mds;
mds = mds_mode;
mds = mds_support;
mds &= MDS_AVX512_4VNNIW_SUPPORTED |
while (mds) {
if (mds & MDS_AVX512_4VNNIW_SUPPORTED) {
mds &= ~MDS_AVX512_4VNNIW_SUPPORTED;
if (mds & MDS_AVX512_4FMAPS_SUPPORTED) {
mds &= ~MDS_AVX512_4FMAPS_SUPPORTED;
if (mds & MDS_MD_CLEAR_SUPPORTED) {
mds &= ~MDS_MD_CLEAR_SUPPORTED;
if (mds & MDS_TSX_FORCE_ABORT_SUPPORTED) {
mds &= ~MDS_TSX_FORCE_ABORT_SUPPORTED;
if (mds & MDS_NOT_REQUIRED) {
mds &= ~MDS_NOT_REQUIRED;
mds = 0;
mds |= 0;
mds |= MDS_AVX512_4VNNIW_SUPPORTED;
mds |= MDS_AVX512_4FMAPS_SUPPORTED;
mds |= MDS_MD_CLEAR_SUPPORTED;
mds |= MDS_TSX_FORCE_ABORT_SUPPORTED;
mds |= MDS_NOT_REQUIRED;
mds_mitigation = mds;