]> zoso.dev Git - nano-pow.git/commitdiff
Replace scalar addition involving v[0-1] and m with vector addition.
authorChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 17:39:16 +0000 (09:39 -0800)
committerChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 17:39:16 +0000 (09:39 -0800)
src/shaders/compute.wgsl

index a7a8ddc654c6c6173785035e5c62b56d5fed8937..1bb9f97629ca587174d039cb9fe25eba4a765813 100644 (file)
@@ -138,9 +138,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m0;
-       o1 = v1 + m1;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m0;
+       o1 = v_01.y + m1;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -179,9 +181,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m2;
-       o1 = v1 + m3;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m2;
+       o1 = v_01.y + m3;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -508,13 +512,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -552,13 +549,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -896,13 +886,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -940,13 +923,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -1276,9 +1252,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m2;
-       o1 = v1 + m3;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m2;
+       o1 = v_01.y + m3;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -1318,13 +1296,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -1653,13 +1624,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -1697,13 +1661,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -2031,13 +1988,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -2075,13 +2025,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -2410,13 +2353,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -2454,13 +2390,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -2787,9 +2716,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m4;
-       o1 = v1 + m5;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m4;
+       o1 = v_01.y + m5;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -2829,13 +2760,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -3167,13 +3091,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -3210,9 +3127,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m0;
-       o1 = v1 + m1;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m0;
+       o1 = v_01.y + m1;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -3542,13 +3461,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -3585,9 +3497,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m2;
-       o1 = v1 + m3;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m2;
+       o1 = v_01.y + m3;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -3923,9 +3837,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m4;
-       o1 = v1 + m5;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m4;
+       o1 = v_01.y + m5;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -3965,13 +3881,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -4298,9 +4207,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m8;
-       o1 = v1 + m9;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m8;
+       o1 = v_01.y + m9;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -4340,13 +4251,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -4681,13 +4585,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -4725,13 +4622,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -5058,9 +4948,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m0;
-       o1 = v1 + m1;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m0;
+       o1 = v_01.y + m1;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -5100,13 +4992,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -5438,13 +5323,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -5482,13 +5360,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -5816,13 +5687,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -5859,9 +5723,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m0;
-       o1 = v1 + m1;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m0;
+       o1 = v_01.y + m1;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -6195,13 +6061,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -6239,13 +6098,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -6573,13 +6425,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -6616,9 +6461,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m4;
-       o1 = v1 + m5;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m4;
+       o1 = v_01.y + m5;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -6952,13 +6799,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -6995,9 +6835,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m4;
-       o1 = v1 + m5;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m4;
+       o1 = v_01.y + m5;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -7327,13 +7169,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -7371,13 +7206,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -7708,9 +7536,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m0;
-       o1 = v1 + m1;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m0;
+       o1 = v_01.y + m1;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -7749,9 +7579,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v9 = v_89.y;
 
        // a = a + m[sigma[r][2*i+1]]
-       o0 = v0 + m2;
-       o1 = v1 + m3;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m2;
+       o1 = v_01.y + m3;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -8078,13 +7910,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v30 ^ v0;
@@ -8122,13 +7947,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;
@@ -8466,13 +8284,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+0]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 32)
        xor0 = v24 ^ v0;
@@ -8510,13 +8321,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v24 ^ v0;
@@ -8846,9 +8650,11 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v11 = v_1011.y;
 
        // a = a + m[sigma[r][2*i+0]]
-       o0 = v0 + m2;
-       o1 = v1 + m3;
-       o1 = o1 + select(0u, 1u, o0 < v0);
+       o0 = v_01.x + m2;
+       o1 = v_01.y + m3;
+       o1 = o1 + select(0u, 1u, o0 < v_01.x);
+       v_01.x = o0;
+       v_01.y = o1;
        v0 = o0;
        v1 = o1;
 
@@ -8888,13 +8694,6 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        // // a = a + m[sigma[r][2*i+1]]
        // // skip since adding 0u does nothing
-       // o0 = v0 + 0u;
-       // o1 = v1 + 0u;
-       // if (v0 > 0xFFFFFFFFu - 0u) {
-       //      o1 = o1 + 1u;
-       // }
-       // v0 = o0;
-       // v1 = o1;
 
        // d = rotr64(d ^ a, 16)
        xor0 = v30 ^ v0;