]> zoso.dev Git - nano-pow.git/commitdiff
Convert blockhash u32 scalars to vec2 vectors.
authorChris Duncan <chris@zoso.dev>
Thu, 16 Jan 2025 03:30:15 +0000 (19:30 -0800)
committerChris Duncan <chris@zoso.dev>
Thu, 16 Jan 2025 03:30:15 +0000 (19:30 -0800)
src/shaders/compute.wgsl

index 406007be9ec346148fca0d622ae48cf2d87ff0be..2fa10785a9587ae0a83f2c8ef6bc1c807490dfd9 100644 (file)
@@ -52,15 +52,11 @@ fn main(id: vec3<u32>) {
        /**
        * Initialize (nonce||blockhash) concatenation
        */
-       var nonce: vec2<u32> = vec2(ubo.random.x ^ id.x, ubo.random.y ^ id.y);
-       var m2: u32 = ubo.blockhash[0u].x;
-       var m3: u32 = ubo.blockhash[0u].y;
-       var m4: u32 = ubo.blockhash[0u].z;
-       var m5: u32 = ubo.blockhash[0u].w;
-       var m6: u32 = ubo.blockhash[1u].x;
-       var m7: u32 = ubo.blockhash[1u].y;
-       var m8: u32 = ubo.blockhash[1u].z;
-       var m9: u32 = ubo.blockhash[1u].w;
+       var nonce: vec2<u32> = ubo.random ^ vec2(id.x, id.y);
+       var m1: vec2<u32> = vec2(ubo.blockhash[0u].x, ubo.blockhash[0u].y);
+       var m2: vec2<u32> = vec2(ubo.blockhash[0u].z, ubo.blockhash[0u].w);
+       var m3: vec2<u32> = vec2(ubo.blockhash[1u].x, ubo.blockhash[1u].y);
+       var m4: vec2<u32> = vec2(ubo.blockhash[1u].z, ubo.blockhash[1u].w);
 
        /**
        * Compression buffer initialized to 2 instances of initialization vector. Each
@@ -136,7 +132,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v4.x < v0.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v0 = v0 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2 < v0.x);
+       v0 = v0 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m1.x < v0.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v0;
@@ -161,7 +157,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4 < v1.x);
+       v1 = v1 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -178,7 +174,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m6 < v1.x);
+       v1 = v1 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m3.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v1;
@@ -203,7 +199,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m8 < v2.x);
+       v2 = v2 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v2;
@@ -501,7 +497,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m8 < v1.x);
+       v1 = v1 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -627,7 +623,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v0 = v0 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2 < v0.x);
+       v0 = v0 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m1.x < v0.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v0;
@@ -686,7 +682,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v6.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4 < v1.x);
+       v1 = v1 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v1;
@@ -770,7 +766,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v3 = v3 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m6 < v3.x);
+       v3 = v3 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m3.x < v3.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v3;
@@ -900,7 +896,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4 < v2.x);
+       v2 = v2 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v2;
@@ -1009,7 +1005,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v6.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m6 < v1.x);
+       v1 = v1 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m3.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v12 ^ v1;
@@ -1068,7 +1064,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2 < v2.x);
+       v2 = v2 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m1.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v2;
@@ -1110,7 +1106,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v3 = v3 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m8 < v3.x);
+       v3 = v3 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m4.x < v3.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v3;
@@ -1181,7 +1177,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m6 < v1.x);
+       v1 = v1 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m3.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -1198,7 +1194,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2 < v1.x);
+       v1 = v1 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m1.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v1;
@@ -1307,7 +1303,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v0 = v0 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m4 < v0.x);
+       v0 = v0 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2.x < v0.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v0;
@@ -1391,7 +1387,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m8 < v2.x);
+       v2 = v2 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v2;
@@ -1563,7 +1559,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4 < v2.x);
+       v2 = v2 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v2;
@@ -1580,7 +1576,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m8 < v2.x);
+       v2 = v2 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v2;
@@ -1664,7 +1660,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v0 = v0 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2 < v0.x);
+       v0 = v0 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m1.x < v0.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v15 ^ v0;
@@ -1773,7 +1769,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m6 < v3.x);
+       v3 = v3 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m3.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v3;
@@ -1819,7 +1815,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v4.x < v0.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v0 = v0 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m4 < v0.x);
+       v0 = v0 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2.x < v0.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v12 ^ v0;
@@ -1962,7 +1958,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v7.x < v3.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v3 = v3 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m6 < v3.x);
+       v3 = v3 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m3.x < v3.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v15 ^ v3;
@@ -1987,7 +1983,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v0 = v0 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m8 < v0.x);
+       v0 = v0 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m4.x < v0.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v0;
@@ -2113,7 +2109,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m2 < v3.x);
+       v3 = v3 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m1.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v3;
@@ -2201,7 +2197,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2 < v1.x);
+       v1 = v1 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m1.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -2285,7 +2281,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v7.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m8 < v3.x);
+       v3 = v3 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m4.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v3;
@@ -2386,7 +2382,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v6.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m6 < v1.x);
+       v1 = v1 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m3.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v1;
@@ -2428,7 +2424,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4 < v2.x);
+       v2 = v2 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v2;
@@ -2600,7 +2596,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2 < v2.x);
+       v2 = v2 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m1.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v2;
@@ -2625,7 +2621,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v7.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m6 < v3.x);
+       v3 = v3 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m3.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v3;
@@ -2726,7 +2722,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v6.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m8 < v1.x);
+       v1 = v1 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v1;
@@ -2793,7 +2789,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m4 < v3.x);
+       v3 = v3 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m2.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v3;
@@ -2940,7 +2936,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m6 < v2.x);
+       v2 = v2 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m3.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v2;
@@ -3024,7 +3020,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v0 = v0 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m4 < v0.x);
+       v0 = v0 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2.x < v0.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v15 ^ v0;
@@ -3091,7 +3087,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m2 < v2.x);
+       v2 = v2 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m1.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v2;
@@ -3108,7 +3104,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v2 = v2 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m8 < v2.x);
+       v2 = v2 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4.x < v2.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v2;
@@ -3196,7 +3192,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v4.x < v0.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v0 = v0 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m4 < v0.x);
+       v0 = v0 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2.x < v0.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v0;
@@ -3238,7 +3234,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m8 < v1.x);
+       v1 = v1 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v1;
@@ -3305,7 +3301,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v7.x < v3.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v3 = v3 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m2 < v3.x);
+       v3 = v3 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m1.x < v3.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v3;
@@ -3431,7 +3427,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v7 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v7.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m6 < v2.x);
+       v2 = v2 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m3.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v2;
@@ -3536,7 +3532,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v4.x < v0.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v0 = v0 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2 < v0.x);
+       v0 = v0 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m1.x < v0.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v0;
@@ -3561,7 +3557,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4 < v1.x);
+       v1 = v1 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -3578,7 +3574,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m6 < v1.x);
+       v1 = v1 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m3.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v13 ^ v1;
@@ -3603,7 +3599,7 @@ fn main(id: vec3<u32>) {
        v2 = v2 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + v6.x < v2.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v2 = v2 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m8 < v2.x);
+       v2 = v2 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v2.x + m4.x < v2.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v14 ^ v2;
@@ -3901,7 +3897,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v5.x < v1.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v1 = v1 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m8 < v1.x);
+       v1 = v1 + m4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4.x < v1.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v13 ^ v1;
@@ -4027,7 +4023,7 @@ fn main(id: vec3<u32>) {
        v0 = v0 + v5 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + v5.x < v0.x);
 
        // a = a + m[sigma[r][2*i+0]]
-       v0 = v0 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m2 < v0.x);
+       v0 = v0 + m1 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v0.x + m1.x < v0.x);
 
        // d = rotr64(d ^ a, 32)
        xor = v15 ^ v0;
@@ -4086,7 +4082,7 @@ fn main(id: vec3<u32>) {
        v1 = v1 + v6 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + v6.x < v1.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v1 = v1 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m4 < v1.x);
+       v1 = v1 + m2 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v1.x + m2.x < v1.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v12 ^ v1;
@@ -4170,7 +4166,7 @@ fn main(id: vec3<u32>) {
        v3 = v3 + v4 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + v4.x < v3.x);
 
        // a = a + m[sigma[r][2*i+1]]
-       v3 = v3 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m6 < v3.x);
+       v3 = v3 + m3 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v3.x + m3.x < v3.x);
 
        // d = rotr64(d ^ a, 16)
        xor = v14 ^ v3;