X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/6a0eb24483f0e24865f9c93bb1690cdf3f54ead4..8c5956c14f5834a072e1a9345ae1f356b14164ca:/symm/salsa20.c diff --git a/symm/salsa20.c b/symm/salsa20.c index a055f3b1..e7c35f4f 100644 --- a/symm/salsa20.c +++ b/symm/salsa20.c @@ -97,7 +97,8 @@ static core__functype *pick_core(void) cpu_feature_p(CPUFEAT_ARM_NEON)); #endif #if CPUFAM_ARM64 - DISPATCH_PICK_COND(salsa20_core, salsa20_core_arm64, 1); + DISPATCH_PICK_COND(salsa20_core, salsa20_core_arm64, + cpu_feature_p(CPUFEAT_ARM_NEON)); #endif DISPATCH_PICK_FALLBACK(salsa20_core, simple_core); } @@ -162,6 +163,8 @@ static void populate(salsa20_matrix a, const void *key, size_t ksz) /*----- Salsa20 implementation --------------------------------------------*/ +static const octet zerononce[XSALSA20_NONCESZ]; + /* --- @salsa20_init@ --- * * * Arguments: @salsa20_ctx *ctx@ = context to fill in @@ -177,8 +180,6 @@ static void populate(salsa20_matrix a, const void *key, size_t ksz) void salsa20_init(salsa20_ctx *ctx, const void *key, size_t ksz, const void *nonce) { - static const octet zerononce[SALSA20_NONCESZ]; - populate(ctx->a, key, ksz); salsa20_setnonce(ctx, nonce ? nonce : zerononce); } @@ -423,8 +424,6 @@ SALSA20_VARS(DEFHSALSA20) void XSALSA20_INIT(r, XSALSA20_CTX(r) *ctx, \ const void *key, size_t ksz, const void *nonce) \ { \ - static const octet zerononce[XSALSA20_NONCESZ]; \ - \ populate(ctx->k, key, ksz); \ ctx->s.a[ 0] = SALSA20_A256; \ ctx->s.a[ 1] = SALSA20_B256; \