From 779167bbc51c04ed8cd897747c7dba9e403231d9 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Thu, 9 Jan 2025 11:35:20 -0800 Subject: [PATCH] Substitute if statements in original G mix function just to see additional benchmark changes. --- src/lib/nano-pow/shaders/gpu-compute.ts | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/lib/nano-pow/shaders/gpu-compute.ts b/src/lib/nano-pow/shaders/gpu-compute.ts index a347f86..a140b33 100644 --- a/src/lib/nano-pow/shaders/gpu-compute.ts +++ b/src/lib/nano-pow/shaders/gpu-compute.ts @@ -37,18 +37,14 @@ fn G ( // a = a + b o0 = *va0 + *vb0; o1 = *va1 + *vb1; - if (*va0 > 0xFFFFFFFFu - *vb0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *va0); *va0 = o0; *va1 = o1; // a = a + m[sigma[r][2*i+0]] o0 = *va0 + mx0; o1 = *va1 + mx1; - if (*va0 > 0xFFFFFFFFu - mx0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *va0); *va0 = o0; *va1 = o1; @@ -61,9 +57,7 @@ fn G ( // c = c + d o0 = *vc0 + *vd0; o1 = *vc1 + *vd1; - if (*vc0 > 0xFFFFFFFFu - *vd0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *vc0); *vc0 = o0; *vc1 = o1; @@ -76,18 +70,14 @@ fn G ( // a = a + b o0 = *va0 + *vb0; o1 = *va1 + *vb1; - if (*va0 > 0xFFFFFFFFu - *vb0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *va0); *va0 = o0; *va1 = o1; // a = a + m[sigma[r][2*i+1]] o0 = *va0 + my0; o1 = *va1 + my1; - if (*va0 > 0xFFFFFFFFu - my0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *va0); *va0 = o0; *va1 = o1; @@ -100,9 +90,7 @@ fn G ( // c = c + d o0 = *vc0 + *vd0; o1 = *vc1 + *vd1; - if (*vc0 > 0xFFFFFFFFu - *vd0) { - o1 = o1 + 1u; - } + o1 = o1 + select(0u, 1u, o0 < *vc0); *vc0 = o0; *vc1 = o1; -- 2.34.1