]> zoso.dev Git - nano-pow.git/commitdiff
Replace remaining 32-bit rotations.
authorChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 21:47:23 +0000 (13:47 -0800)
committerChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 21:47:23 +0000 (13:47 -0800)
src/shaders/compute.wgsl

index 48922eb22b0c6a0dee8fd3cc000c950354d4f206..b4327d4535a5548854564f3acb45a4087232fb2d 100644 (file)
@@ -222,11 +222,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
 
        // d = rotr64(d ^ a, 32)
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
        v_2829.x = v28;
@@ -279,11 +280,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // skip since adding 0u does nothing
 
        // d = rotr64(d ^ a, 32)
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
        v_3031.x = v30;
@@ -336,11 +338,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // skip since adding 0u does nothing
 
        // d = rotr64(d ^ a, 32)
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
        v_3031.x = v30;
@@ -393,11 +396,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // skip since adding 0u does nothing
 
        // d = rotr64(d ^ a, 32)
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
        v_2425.x = v24;
@@ -450,11 +454,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // skip since adding 0u does nothing
 
        // d = rotr64(d ^ a, 32)
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
        v_2627.x = v26;
@@ -507,11 +512,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // skip since adding 0u does nothing
 
        // d = rotr64(d ^ a, 32)
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
        v_2829.x = v28;
@@ -772,11 +778,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -869,11 +876,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -967,11 +975,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -1066,11 +1075,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -1167,11 +1177,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -1264,11 +1275,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -1564,11 +1576,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -1665,11 +1678,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -1760,11 +1774,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -1859,11 +1874,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -1956,11 +1972,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -2057,11 +2074,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -2360,11 +2378,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -2457,11 +2476,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -2555,11 +2575,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -2650,11 +2671,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -2751,11 +2773,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -2852,11 +2875,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -3150,11 +3174,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -3251,11 +3276,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -3346,11 +3372,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -3443,11 +3470,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -3540,11 +3568,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -3641,11 +3670,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -3938,11 +3968,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -4035,11 +4066,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -4137,11 +4169,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -4232,11 +4265,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -4329,11 +4363,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -4430,11 +4465,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -4725,11 +4761,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -4826,12 +4863,13 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
-
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+
        // c = c + d
 
 
@@ -4923,11 +4961,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -5018,11 +5057,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -5119,11 +5159,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -5220,11 +5261,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -5511,11 +5553,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -5616,11 +5659,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -5711,11 +5755,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -5808,11 +5853,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -5909,11 +5955,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -6010,11 +6057,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -6301,11 +6349,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -6406,11 +6455,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -6501,11 +6551,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -6598,11 +6649,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -6699,11 +6751,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -6800,11 +6853,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -7097,11 +7151,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -7198,11 +7253,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -7293,11 +7349,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -7388,11 +7445,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -7489,11 +7547,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -7586,11 +7645,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -7897,11 +7957,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -7994,11 +8055,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -8089,11 +8151,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -8184,11 +8247,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -8281,11 +8345,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -8378,11 +8443,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -8673,11 +8739,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_45;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_45;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d
 
@@ -8770,11 +8837,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_67;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_67;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -8867,11 +8935,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_3031.x = v30;
-       v_3031.y = v31;
-       v_3031 = v_3031 ^ v_01;
-       v30 = v_3031.y;
-       v31 = v_3031.x;
+       v30 = v_3031.x;
+       v31 = v_3031.y;
+       xor = v_3031 ^ v_01;
+       v_3031 = vec2(xor.y, xor.x);
+       v30 = v_3031.x;
+       v31 = v_3031.y;
 
        // c = c + d
 
@@ -8966,11 +9035,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2425.x = v24;
-       v_2425.y = v25;
-       v_2425 = v_2425 ^ v_23;
-       v24 = v_2425.y;
-       v25 = v_2425.x;
+       v24 = v_2425.x;
+       v25 = v_2425.y;
+       xor = v_2425 ^ v_23;
+       v_2425 = vec2(xor.y, xor.x);
+       v24 = v_2425.x;
+       v25 = v_2425.y;
 
        // c = c + d
 
@@ -9067,11 +9137,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2627.x = v26;
-       v_2627.y = v27;
-       v_2627 = v_2627 ^ v_45;
-       v26 = v_2627.y;
-       v27 = v_2627.x;
+       v26 = v_2627.x;
+       v27 = v_2627.y;
+       xor = v_2627 ^ v_45;
+       v_2627 = vec2(xor.y, xor.x);
+       v26 = v_2627.x;
+       v27 = v_2627.y;
 
        // c = c + d
 
@@ -9164,11 +9235,12 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        // d = rotr64(d ^ a, 32)
 
 
-       v_2829.x = v28;
-       v_2829.y = v29;
-       v_2829 = v_2829 ^ v_67;
-       v28 = v_2829.y;
-       v29 = v_2829.x;
+       v28 = v_2829.x;
+       v29 = v_2829.y;
+       xor = v_2829 ^ v_67;
+       v_2829 = vec2(xor.y, xor.x);
+       v28 = v_2829.x;
+       v29 = v_2829.y;
 
        // c = c + d