[git commit] libbb/yescrypt: remove unused prefetching code

Denys Vlasenko vda.linux at googlemail.com
Sun Jul 6 18:08:53 UTC 2025


commit: https://git.busybox.net/busybox/commit/?id=0574928c85630c28a48d08b01078031c356cf1cf
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 libbb/yescrypt/alg-yescrypt-kdf.c | 61 ++++++++++++---------------------------
 1 file changed, 18 insertions(+), 43 deletions(-)

diff --git a/libbb/yescrypt/alg-yescrypt-kdf.c b/libbb/yescrypt/alg-yescrypt-kdf.c
index 329e30d1f..781e1f0bb 100644
--- a/libbb/yescrypt/alg-yescrypt-kdf.c
+++ b/libbb/yescrypt/alg-yescrypt-kdf.c
@@ -48,8 +48,8 @@ typedef union {
 } salsa20_blk_t;
 
 static void salsa20_simd_shuffle(
-		    const salsa20_blk_t *Bin,
-		    salsa20_blk_t *Bout)
+		const salsa20_blk_t *Bin,
+		salsa20_blk_t *Bout)
 {
 #define COMBINE(out, in1, in2) \
 	Bout->d[out] = Bin->w[in1 * 2] | ((uint64_t)Bin->w[in2 * 2 + 1] << 32);
@@ -222,15 +222,6 @@ static uint32_t blockmix_salsa8_xor(
 	size_t i;
 	DECL_X
 
-#ifdef PREFETCH
-	PREFETCH(&Bin2[r * 2 - 1], _MM_HINT_T0)
-	for (i = 0; i < r - 1; i++) {
-		PREFETCH(&Bin2[i * 2], _MM_HINT_T0)
-		PREFETCH(&Bin2[i * 2 + 1], _MM_HINT_T0)
-	}
-	PREFETCH(&Bin2[i * 2], _MM_HINT_T0)
-#endif
-
 	XOR_X_2(Bin1[r * 2 - 1], Bin2[r * 2 - 1])
 	for (i = 0; i < r; i++) {
 		XOR_X(Bin1[i * 2])
@@ -355,7 +346,7 @@ static void blockmix(
 static uint32_t blockmix_xor(const salsa20_blk_t *Bin1,
 		const salsa20_blk_t *restrict Bin2,
 		salsa20_blk_t *Bout,
-		size_t r, int Bin2_in_ROM,
+		size_t r,
 		pwxform_ctx_t *restrict ctx)
 {
 	uint8_t *S0 = ctx->S0, *S1 = ctx->S1, *S2 = ctx->S2;
@@ -366,22 +357,6 @@ static uint32_t blockmix_xor(const salsa20_blk_t *Bin1,
 	/* Convert count of 128-byte blocks to max index of 64-byte block */
 	r = r * 2 - 1;
 
-#ifdef PREFETCH
-	if (Bin2_in_ROM) {
-		PREFETCH(&Bin2[r], _MM_HINT_NTA)
-		for (i = 0; i < r; i++) {
-			PREFETCH(&Bin2[i], _MM_HINT_NTA)
-		}
-	} else {
-		PREFETCH(&Bin2[r], _MM_HINT_T0)
-		for (i = 0; i < r; i++) {
-			PREFETCH(&Bin2[i], _MM_HINT_T0)
-		}
-	}
-#else
-	(void)Bin2_in_ROM; /* unused */
-#endif
-
 	XOR_X_2(Bin1[r], Bin2[r])
 
 	DECL_SMASK2REG
@@ -510,10 +485,10 @@ static void smix1(uint8_t *B, size_t r, uint32_t N,
 		const salsa20_blk_t *V_j;
 
 		V_j = &VROM[(NROM - 1) * s];
-		j = blockmix_xor(X, V_j, Y, r, 1, ctx) & (NROM - 1);
+		j = blockmix_xor(X, V_j, Y, r, ctx) & (NROM - 1);
 		V_j = &VROM[j * s];
 		X = Y + s;
-		j = blockmix_xor(Y, V_j, X, r, 1, ctx);
+		j = blockmix_xor(Y, V_j, X, r, ctx);
 
 		for (n = 2; n < N; n <<= 1) {
 			uint32_t m = (n < N / 2) ? n : (N - 1 - n);
@@ -522,10 +497,10 @@ static void smix1(uint8_t *B, size_t r, uint32_t N,
 				j += i - 1;
 				V_j = &V[j * s];
 				Y = X + s;
-				j = blockmix_xor(X, V_j, Y, r, 0, ctx) & (NROM - 1);
+				j = blockmix_xor(X, V_j, Y, r, ctx) & (NROM - 1);
 				V_j = &VROM[j * s];
 				X = Y + s;
-				j = blockmix_xor(Y, V_j, X, r, 1, ctx);
+				j = blockmix_xor(Y, V_j, X, r, ctx);
 			}
 		}
 		n >>= 1;
@@ -534,9 +509,9 @@ static void smix1(uint8_t *B, size_t r, uint32_t N,
 		j += N - 2 - n;
 		V_j = &V[j * s];
 		Y = X + s;
-		j = blockmix_xor(X, V_j, Y, r, 0, ctx) & (NROM - 1);
+		j = blockmix_xor(X, V_j, Y, r, ctx) & (NROM - 1);
 		V_j = &VROM[j * s];
-		blockmix_xor(Y, V_j, XY, r, 1, ctx);
+		blockmix_xor(Y, V_j, XY, r, ctx);
 	} else if (flags & YESCRYPT_RW) {
 		uint32_t n;
 		salsa20_blk_t *V_j;
@@ -553,12 +528,12 @@ static void smix1(uint8_t *B, size_t r, uint32_t N,
 				j &= n - 1;
 				j += i - 1;
 				V_j = &V[j * s];
-				j = blockmix_xor(X, V_j, Y, r, 0, ctx);
+				j = blockmix_xor(X, V_j, Y, r, ctx);
 				j &= n - 1;
 				j += i;
 				V_j = &V[j * s];
 				X = Y + s;
-				j = blockmix_xor(Y, V_j, X, r, 0, ctx);
+				j = blockmix_xor(Y, V_j, X, r, ctx);
 			}
 		}
 		n >>= 1;
@@ -567,11 +542,11 @@ static void smix1(uint8_t *B, size_t r, uint32_t N,
 		j += N - 2 - n;
 		V_j = &V[j * s];
 		Y = X + s;
-		j = blockmix_xor(X, V_j, Y, r, 0, ctx);
+		j = blockmix_xor(X, V_j, Y, r, ctx);
 		j &= n - 1;
 		j += N - 1 - n;
 		V_j = &V[j * s];
-		blockmix_xor(Y, V_j, XY, r, 0, ctx);
+		blockmix_xor(Y, V_j, XY, r, ctx);
 	} else {
 		N -= 2;
 		do {
@@ -641,14 +616,14 @@ static void smix2(uint8_t *B, size_t r, uint32_t N, uint64_t Nloop,
 			const salsa20_blk_t *VROM_j;
 			j = blockmix_xor_save(X, V_j, r, ctx) & (NROM - 1);
 			VROM_j = &VROM[j * s];
-			j = blockmix_xor(X, VROM_j, X, r, 1, ctx) & (N - 1);
+			j = blockmix_xor(X, VROM_j, X, r, ctx) & (N - 1);
 		} while (Nloop -= 2);
 	} else if (VROM) {
 		do {
 			const salsa20_blk_t *V_j = &V[j * s];
-			j = blockmix_xor(X, V_j, X, r, 0, ctx) & (NROM - 1);
+			j = blockmix_xor(X, V_j, X, r, ctx) & (NROM - 1);
 			V_j = &VROM[j * s];
-			j = blockmix_xor(X, V_j, X, r, 1, ctx) & (N - 1);
+			j = blockmix_xor(X, V_j, X, r, ctx) & (N - 1);
 		} while (Nloop -= 2);
 	} else if (flags & YESCRYPT_RW) {
 		do {
@@ -660,9 +635,9 @@ static void smix2(uint8_t *B, size_t r, uint32_t N, uint64_t Nloop,
 	} else if (ctx) {
 		do {
 			const salsa20_blk_t *V_j = &V[j * s];
-			j = blockmix_xor(X, V_j, X, r, 0, ctx) & (N - 1);
+			j = blockmix_xor(X, V_j, X, r, ctx) & (N - 1);
 			V_j = &V[j * s];
-			j = blockmix_xor(X, V_j, X, r, 0, ctx) & (N - 1);
+			j = blockmix_xor(X, V_j, X, r, ctx) & (N - 1);
 		} while (Nloop -= 2);
 	} else {
 		do {


More information about the busybox-cvs mailing list