From: Chris Duncan Date: Wed, 5 Feb 2025 05:21:37 +0000 (-0800) Subject: Remove or simplify extraneous swizzles. X-Git-Tag: v3.0.0~18 X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=66396756679719c4b2d8c9e798ca4686cd5c8f30;p=nano-pow.git Remove or simplify extraneous swizzles. --- diff --git a/src/shaders/compute.wgsl b/src/shaders/compute.wgsl index 5a828dd..f202033 100644 --- a/src/shaders/compute.wgsl +++ b/src/shaders/compute.wgsl @@ -166,101 +166,101 @@ fn main(id: vec3) { */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=0, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m2 + vec2(0u, u32(v1.x + m2.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=0, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=0, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=0, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=0, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=0, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=0, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -274,102 +274,102 @@ fn main(id: vec3) { * r=1, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=1, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=1, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=1, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=1, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=1, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); v1 = v1 + m0 + vec2(0u, u32(v1.x + m0.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); v1 = v1 + m2 + vec2(0u, u32(v1.x + m2.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=1, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=1, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -383,102 +383,102 @@ fn main(id: vec3) { * r=2, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=2, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m0 + vec2(0u, u32(v1.x + m0.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=2, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=2, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=2, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=2, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=2, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=2, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m4 + vec2(0u, u32(v3.x + m4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -492,102 +492,102 @@ fn main(id: vec3) { * r=3, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=3, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m1 + vec2(0u, u32(v1.x + m1.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=3, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=3, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=3, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=3, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=3, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m0 + vec2(0u, u32(v2.x + m0.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=3, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -601,102 +601,102 @@ fn main(id: vec3) { * r=4, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=4, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=4, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=4, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=4, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=4, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=4, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=4, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -711,101 +711,101 @@ fn main(id: vec3) { */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=5, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=5, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m0 + vec2(0u, u32(v2.x + m0.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=5, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=5, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m4 + vec2(0u, u32(v0.x + m4.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=5, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=5, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=5, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m1 + vec2(0u, u32(v3.x + m1.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -819,102 +819,102 @@ fn main(id: vec3) { * r=6, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=6, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m1 + vec2(0u, u32(v1.x + m1.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=6, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=6, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); v3 = v3 + m4 + vec2(0u, u32(v3.x + m4.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=6, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=6, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=6, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=6, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -928,102 +928,102 @@ fn main(id: vec3) { * r=7, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=7, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=7, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=7, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=7, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=7, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=7, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=7, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m2 + vec2(0u, u32(v3.x + m2.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -1037,102 +1037,102 @@ fn main(id: vec3) { * r=8, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=8, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=8, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m3 + vec2(0u, u32(v2.x + m3.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=8, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); v3 = v3 + m0 + vec2(0u, u32(v3.x + m0.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=8, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=8, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=8, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=8, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -1146,102 +1146,102 @@ fn main(id: vec3) { * r=9, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=9, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=9, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=9, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); v3 = v3 + m1 + vec2(0u, u32(v3.x + m1.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=9, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=9, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=9, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); v2 = v2 + m3 + vec2(0u, u32(v2.x + m3.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=9, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); v3 = v3 + m0 + vec2(0u, u32(v3.x + m0.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -1256,101 +1256,101 @@ fn main(id: vec3) { */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); + v4 = ((v4 ^ v8) << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31); /** * r=10, i=1, a=v[1], b=v[5], c=v[9], d=v[13] */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m2 + vec2(0u, u32(v1.x + m2.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=10, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); + v6 = ((v6 ^ v10) << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); /** * r=10, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=10, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); + v15 = ((v15 ^ v0) >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); + v5 = ((v5 ^ v10) << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); /** * r=10, i=5, a=v[1], b=v[6], c=v[11], d=v[12] */ v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = v12.yx ^ v1.yx; + v12 = (v12 ^ v1).yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); + v6 = ((v6 ^ v11) >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); + v12 = ((v12 ^ v1) >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); - v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); + v6 = ((v6 ^ v11) << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); /** * r=10, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); + v7 = ((v7 ^ v8) << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); /** * r=10, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = v14.yx ^ v3.yx; + v14 = (v14 ^ v3).yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); + v4 = ((v4 ^ v9) >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); + v14 = ((v14 ^ v3) >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); - v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); + v4 = ((v4 ^ v9) << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31); @@ -1364,11 +1364,11 @@ fn main(id: vec3) { * r=11, i=0, a=v[0], b=v[4], c=v[8], d=v[12] */ v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = v12.yx ^ v0.yx; + v12 = (v12 ^ v0).yx; v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); - v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); + v4 = ((v4 ^ v8) >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8); v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x)); - v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); + v12 = ((v12 ^ v0) >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16); v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x)); // skip since it does not affect the final values of `v0` and `v8` @@ -1377,23 +1377,23 @@ fn main(id: vec3) { */ v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x)); - v13 = v13.yx ^ v1.yx; + v13 = (v13 ^ v1).yx; v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); + v5 = ((v5 ^ v9) >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8); v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x)); - v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); + v13 = ((v13 ^ v1) >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16); v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x)); - v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); + v5 = ((v5 ^ v9) << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31); /** * r=11, i=2, a=v[2], b=v[6], c=v[10], d=v[14] */ v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = v14.yx ^ v2.yx; + v14 = (v14 ^ v2).yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); - v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); + v6 = ((v6 ^ v10) >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); + v14 = ((v14 ^ v2) >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); // skip since it does not affect the final values of `v0` and `v8` @@ -1401,22 +1401,22 @@ fn main(id: vec3) { * r=11, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = v15.yx ^ v3.yx; + v15 = (v15 ^ v3).yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); + v7 = ((v7 ^ v11) >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); + v15 = ((v15 ^ v3) >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16); v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); - v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); + v7 = ((v7 ^ v11) << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31); /** * r=11, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x)); - v15 = v15.yx ^ v0.yx; + v15 = (v15 ^ v0).yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); - v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); + v5 = ((v5 ^ v10) >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); // skip since it does not affect the final values of `v0` and `v8` // skip since it does not affect the final values of `v0` and `v8` @@ -1431,11 +1431,11 @@ fn main(id: vec3) { * r=11, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = v13.yx ^ v2.yx; + v13 = (v13 ^ v2).yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); - v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); + v7 = ((v7 ^ v8) >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); + v13 = ((v13 ^ v2) >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); // skip since we already have the final values of `v0` and `v8`