From: Chris Duncan Date: Tue, 4 Feb 2025 13:44:31 +0000 (-0800) Subject: Deprecate unused zero vec4. Rename zero vec2 for brevity. X-Git-Tag: v3.0.0~39 X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=c1e7e70077a862da140ce0289f2fabbb78c34083;p=nano-pow.git Deprecate unused zero vec4. Rename zero vec2 for brevity. --- diff --git a/src/shaders/compute.wgsl b/src/shaders/compute.wgsl index d12e74b..1e663af 100644 --- a/src/shaders/compute.wgsl +++ b/src/shaders/compute.wgsl @@ -29,8 +29,7 @@ const BLAKE2B_IV32_0: vec2 = vec2(0xF2BDC900u, 0x6A09E667u); /** * Used to rotate bits by a fixed amount during G mixing. */ -const VEC2_0 = vec2(0u); -const VEC4_0 = vec4(0u); +const Z = vec2(0u); const ROTATE_1 = vec4(1u); const ROTATE_8 = vec4(8u); const ROTATE_16 = vec4(16u); @@ -175,7 +174,7 @@ fn main(id: vec3) { * r=0, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m4, 0u, 0u) + vec4(0u, u32(v23.x + m4.x < v23.x), 0u, 0u); + v23 += vec4(m4, Z) + vec4(0u, u32(v23.x + m4.x < v23.x), Z); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); @@ -243,7 +242,7 @@ fn main(id: vec3) { * r=1, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8 */ v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(0u, 0u, m4) + vec4(0u, 0u, 0u, u32(v01.z + m4.x < v01.z)); + v01 += vec4(Z, m4) + vec4(Z, 0u, u32(v01.z + m4.x < v01.z)); vCD = (vCD ^ v01).yxwz; v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); @@ -281,7 +280,7 @@ fn main(id: vec3) { vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(0u, 0u, m2) + vec4(0u, 0u, 0u, u32(v01.z + m2.x < v01.z)); + v01 += vec4(Z, m2) + vec4(Z, 0u, u32(v01.z + m2.x < v01.z)); d = ((d ^ v01) >> ROTATE_16) | ((d ^ v01).yxwz << ROTATE_16); vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) << ROTATE_1) | ((b ^ vAB).yxwz >> ROTATE_31); @@ -304,7 +303,7 @@ fn main(id: vec3) { v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(0u, 0u, m3) + vec4(0u, 0u, 0u, u32(v23.z + m3.x < v23.z)); + v23 += vec4(Z, m3) + vec4(Z, 0u, u32(v23.z + m3.x < v23.z)); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31); @@ -332,7 +331,7 @@ fn main(id: vec3) { v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(VEC2_0, m0) + vec4(0u, 0u, 0u, u32(v01.z + m0.x < v01.z)); + v01 += vec4(Z, m0) + vec4(Z, 0u, u32(v01.z + m0.x < v01.z)); vCD = ((vCD ^ v01) >> ROTATE_16) | ((vCD ^ v01).yxwz << ROTATE_16); v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) << ROTATE_1) | ((v45 ^ v89).yxwz >> ROTATE_31); @@ -347,7 +346,7 @@ fn main(id: vec3) { vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m2, VEC2_0) + vec4(0u, u32(v23.x + m2.x < v23.x), 0u, 0u); + v23 += vec4(m2, Z) + vec4(0u, u32(v23.x + m2.x < v23.x), Z); vEF = ((vEF ^ v23) >> ROTATE_16) | ((vEF ^ v23).yxwz << ROTATE_16); vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) << ROTATE_1) | ((v67 ^ vAB).yxwz >> ROTATE_31); @@ -360,7 +359,7 @@ fn main(id: vec3) { d = vec4(vEF.zw, vCD.xy); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v01.z + m3.x < v01.z)); + v01 += vec4(Z, m3) + vec4(Z, 0u, u32(v01.z + m3.x < v01.z)); d = (d ^ v01).yxwz; vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); @@ -411,12 +410,12 @@ fn main(id: vec3) { * r=3, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=3, m[sigma+1]=1 */ v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v01.z + m3.x < v01.z)); + v01 += vec4(Z, m3) + vec4(Z, 0u, u32(v01.z + m3.x < v01.z)); vCD = (vCD ^ v01).yxwz; v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(VEC2_0, m1) + vec4(0u, 0u, 0u, u32(v01.z + m1.x < v01.z)); + v01 += vec4(Z, m1) + vec4(Z, 0u, u32(v01.z + m1.x < v01.z)); vCD = ((vCD ^ v01) >> ROTATE_16) | ((vCD ^ v01).yxwz << ROTATE_16); v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) << ROTATE_1) | ((v45 ^ v89).yxwz >> ROTATE_31); @@ -444,7 +443,7 @@ fn main(id: vec3) { d = vec4(vEF.zw, vCD.xy); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(m2, VEC2_0) + vec4(0u, u32(v01.x + m2.x < v01.x), 0u, 0u); + v01 += vec4(m2, Z) + vec4(0u, u32(v01.x + m2.x < v01.x), Z); d = (d ^ v01).yxwz; vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); @@ -467,12 +466,12 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m4, VEC2_0) + vec4(0u, u32(v23.x + m4.x < v23.x), 0u, 0u); + v23 += vec4(m4, Z) + vec4(0u, u32(v23.x + m4.x < v23.x), Z); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m0, VEC2_0) + vec4(0u, u32(v23.x + m0.x < v23.x), 0u, 0u); + v23 += vec4(m0, Z) + vec4(0u, u32(v23.x + m0.x < v23.x), Z); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31); @@ -500,7 +499,7 @@ fn main(id: vec3) { v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(m0, VEC2_0) + vec4(0u, u32(v01.x + m0.x < v01.x), 0u, 0u); + v01 += vec4(m0, Z) + vec4(0u, u32(v01.x + m0.x < v01.x), Z); vCD = ((vCD ^ v01) >> ROTATE_16) | ((vCD ^ v01).yxwz << ROTATE_16); v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) << ROTATE_1) | ((v45 ^ v89).yxwz >> ROTATE_31); @@ -510,12 +509,12 @@ fn main(id: vec3) { * r=4, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=10, m[sigma+1]=15 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m2, VEC2_0) + vec4(0u, u32(v23.x + m2.x < v23.x), 0u, 0u); + v23 += vec4(m2, Z) + vec4(0u, u32(v23.x + m2.x < v23.x), Z); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m4, VEC2_0) + vec4(0u, u32(v23.x + m4.x < v23.x), 0u, 0u); + v23 += vec4(m4, Z) + vec4(0u, u32(v23.x + m4.x < v23.x), Z); vEF = ((vEF ^ v23) >> ROTATE_16) | ((vEF ^ v23).yxwz << ROTATE_16); vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) << ROTATE_1) | ((v67 ^ vAB).yxwz >> ROTATE_31); @@ -533,7 +532,7 @@ fn main(id: vec3) { vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(m1, VEC2_0) + vec4(0u, u32(v01.x + m1.x < v01.x), 0u, 0u); + v01 += vec4(m1, Z) + vec4(0u, u32(v01.x + m1.x < v01.x), Z); d = ((d ^ v01) >> ROTATE_16) | ((d ^ v01).yxwz << ROTATE_16); vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) << ROTATE_1) | ((b ^ vAB).yxwz >> ROTATE_31); @@ -551,7 +550,7 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v23.z + m3.x < v23.z)); + v23 += vec4(Z, m3) + vec4(Z, 0u, u32(v23.z + m3.x < v23.z)); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); @@ -579,7 +578,7 @@ fn main(id: vec3) { * r=5, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=6, m[sigma+1]=10 */ v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(m2, VEC2_0) + vec4(0u, u32(v01.x + m2.x < v01.x), 0u, 0u); + v01 += vec4(m2, Z) + vec4(0u, u32(v01.x + m2.x < v01.x), Z); vCD = (vCD ^ v01).yxwz; v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); @@ -594,12 +593,12 @@ fn main(id: vec3) { * r=5, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=8, m[sigma+1]=3 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m0, VEC2_0) + vec4(0u, u32(v23.x + m0.x < v23.x), 0u, 0u); + v23 += vec4(m0, Z) + vec4(0u, u32(v23.x + m0.x < v23.x), Z); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v23.z + m3.x < v23.z)); + v23 += vec4(Z, m3) + vec4(Z, 0u, u32(v23.z + m3.x < v23.z)); vEF = ((vEF ^ v23) >> ROTATE_16) | ((vEF ^ v23).yxwz << ROTATE_16); vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) << ROTATE_1) | ((v67 ^ vAB).yxwz >> ROTATE_31); @@ -612,7 +611,7 @@ fn main(id: vec3) { d = vec4(vEF.zw, vCD.xy); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(m4, VEC2_0) + vec4(0u, u32(v01.x + m4.x < v01.x), 0u, 0u); + v01 += vec4(m4, Z) + vec4(0u, u32(v01.x + m4.x < v01.x), Z); d = (d ^ v01).yxwz; vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); @@ -635,7 +634,7 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(VEC2_0, m1) + vec4(0u, 0u, 0u, u32(v23.z + m1.x < v23.z)); + v23 += vec4(Z, m1) + vec4(Z, 0u, u32(v23.z + m1.x < v23.z)); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); @@ -663,7 +662,7 @@ fn main(id: vec3) { * r=6, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=1, m[sigma+1]=15 */ v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(VEC2_0, m1) + vec4(0u, 0u, 0u, u32(v01.z + m1.x < v01.z)); + v01 += vec4(Z, m1) + vec4(Z, 0u, u32(v01.z + m1.x < v01.z)); vCD = (vCD ^ v01).yxwz; v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); @@ -678,7 +677,7 @@ fn main(id: vec3) { * r=6, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=4, m[sigma+1]=10 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(VEC2_0, m4) + vec4(0u, 0u, 0u, u32(v23.z + m4.x < v23.z)); + v23 += vec4(Z, m4) + vec4(Z, 0u, u32(v23.z + m4.x < v23.z)); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); @@ -696,12 +695,12 @@ fn main(id: vec3) { d = vec4(vEF.zw, vCD.xy); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(m0, VEC2_0) + vec4(0u, u32(v01.x + m0.x < v01.x), 0u, 0u); + v01 += vec4(m0, Z) + vec4(0u, u32(v01.x + m0.x < v01.x), Z); d = (d ^ v01).yxwz; vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v01.z + m3.x < v01.z)); + v01 += vec4(Z, m3) + vec4(Z, 0u, u32(v01.z + m3.x < v01.z)); d = ((d ^ v01) >> ROTATE_16) | ((d ^ v01).yxwz << ROTATE_16); vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) << ROTATE_1) | ((b ^ vAB).yxwz >> ROTATE_31); @@ -724,7 +723,7 @@ fn main(id: vec3) { v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m2, VEC2_0) + vec4(0u, u32(v23.x + m2.x < v23.x), 0u, 0u); + v23 += vec4(m2, Z) + vec4(0u, u32(v23.x + m2.x < v23.x), Z); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31); @@ -762,12 +761,12 @@ fn main(id: vec3) { * r=7, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=3, m[sigma+1]=9 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(VEC2_0, m3) + vec4(0u, 0u, 0u, u32(v23.z + m3.x < v23.z)); + v23 += vec4(Z, m3) + vec4(Z, 0u, u32(v23.z + m3.x < v23.z)); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m1, VEC2_0) + vec4(0u, u32(v23.x + m1.x < v23.x), 0u, 0u); + v23 += vec4(m1, Z) + vec4(0u, u32(v23.x + m1.x < v23.x), Z); vEF = ((vEF ^ v23) >> ROTATE_16) | ((vEF ^ v23).yxwz << ROTATE_16); vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) << ROTATE_1) | ((v67 ^ vAB).yxwz >> ROTATE_31); @@ -803,7 +802,7 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(VEC2_0, m2) + vec4(0u, 0u, 0u, u32(v23.z + m2.x < v23.z)); + v23 += vec4(Z, m2) + vec4(Z, 0u, u32(v23.z + m2.x < v23.z)); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); @@ -846,12 +845,12 @@ fn main(id: vec3) { * r=8, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=0, m[sigma+1]=8 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(VEC2_0, m0) + vec4(0u, 0u, 0u, u32(v23.z + m0.x < v23.z)); + v23 += vec4(Z, m0) + vec4(Z, 0u, u32(v23.z + m0.x < v23.z)); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m3, VEC2_0) + vec4(0u, u32(v23.x + m3.x < v23.x), 0u, 0u); + v23 += vec4(m3, Z) + vec4(0u, u32(v23.x + m3.x < v23.x), Z); vEF = ((vEF ^ v23) >> ROTATE_16) | ((vEF ^ v23).yxwz << ROTATE_16); vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) << ROTATE_1) | ((v67 ^ vAB).yxwz >> ROTATE_31); @@ -869,7 +868,7 @@ fn main(id: vec3) { vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(m2, VEC2_0) + vec4(0u, u32(v01.x + m2.x < v01.x), 0u, 0u); + v01 += vec4(m2, Z) + vec4(0u, u32(v01.x + m2.x < v01.x), Z); d = ((d ^ v01) >> ROTATE_16) | ((d ^ v01).yxwz << ROTATE_16); vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) << ROTATE_1) | ((b ^ vAB).yxwz >> ROTATE_31); @@ -887,12 +886,12 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m1, VEC2_0) + vec4(0u, u32(v23.x + m1.x < v23.x), 0u, 0u); + v23 += vec4(m1, Z) + vec4(0u, u32(v23.x + m1.x < v23.x), Z); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m4, VEC2_0) + vec4(0u, u32(v23.x + m4.x < v23.x), 0u, 0u); + v23 += vec4(m4, Z) + vec4(0u, u32(v23.x + m4.x < v23.x), Z); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31); @@ -930,7 +929,7 @@ fn main(id: vec3) { * r=9, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=1, m[sigma+1]=5 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(VEC2_0, m1) + vec4(0u, 0u, 0u, u32(v23.z + m1.x < v23.z)); + v23 += vec4(Z, m1) + vec4(Z, 0u, u32(v23.z + m1.x < v23.z)); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); @@ -971,12 +970,12 @@ fn main(id: vec3) { d = vec4(vCD.zw, vEF.xy); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(m3, VEC2_0) + vec4(0u, u32(v23.x + m3.x < v23.x), 0u, 0u); + v23 += vec4(m3, Z) + vec4(0u, u32(v23.x + m3.x < v23.x), Z); d = (d ^ v23).yxwz; v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(VEC2_0, m0) + vec4(0u, 0u, 0u, u32(v23.z + m0.x < v23.z)); + v23 += vec4(Z, m0) + vec4(Z, 0u, u32(v23.z + m0.x < v23.z)); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31); @@ -1014,7 +1013,7 @@ fn main(id: vec3) { * r=10, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7 */ v23 += v67 + vec4(0u, u32(v23.x + v67.x < v23.x), 0u, u32(v23.z + v67.z < v23.z)); - v23 += vec4(m4, 0u, 0u) + vec4(0u, u32(v23.x + m4.x < v23.x), 0u, 0u); + v23 += vec4(m4, Z) + vec4(0u, u32(v23.x + m4.x < v23.x), Z); vEF = (vEF ^ v23).yxwz; vAB += vEF + vec4(0u, u32(vAB.x + vEF.x < vAB.x), 0u, u32(vAB.z + vEF.z < vAB.z)); v67 = ((v67 ^ vAB) >> ROTATE_24) | ((v67 ^ vAB).yxwz << ROTATE_8); @@ -1083,7 +1082,7 @@ fn main(id: vec3) { * r=11, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8 */ v01 += v45 + vec4(0u, u32(v01.x + v45.x < v01.x), 0u, u32(v01.z + v45.z < v01.z)); - v01 += vec4(0u, 0u, m4) + vec4(0u, 0u, 0u, u32(v01.z + m4.x < v01.z)); + v01 += vec4(Z, m4) + vec4(Z, 0u, u32(v01.z + m4.x < v01.z)); vCD = (vCD ^ v01).yxwz; v89 += vCD + vec4(0u, u32(v89.x + vCD.x < v89.x), 0u, u32(v89.z + vCD.z < v89.z)); v45 = ((v45 ^ v89) >> ROTATE_24) | ((v45 ^ v89).yxwz << ROTATE_8); @@ -1121,7 +1120,7 @@ fn main(id: vec3) { vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) >> ROTATE_24) | ((b ^ vAB).yxwz << ROTATE_8); v01 += b + vec4(0u, u32(v01.x + b.x < v01.x), 0u, u32(v01.z + b.z < v01.z)); - v01 += vec4(0u, 0u, m2) + vec4(0u, 0u, 0u, u32(v01.z + m2.x < v01.z)); + v01 += vec4(Z, m2) + vec4(Z, 0u, u32(v01.z + m2.x < v01.z)); d = ((d ^ v01) >> ROTATE_16) | ((d ^ v01).yxwz << ROTATE_16); vAB += d + vec4(0u, u32(vAB.x + d.x < vAB.x), 0u, u32(vAB.z + d.z < vAB.z)); b = ((b ^ vAB) << ROTATE_1) | ((b ^ vAB).yxwz >> ROTATE_31); @@ -1144,7 +1143,7 @@ fn main(id: vec3) { v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); b = ((b ^ v89) >> ROTATE_24) | ((b ^ v89).yxwz << ROTATE_8); v23 += b + vec4(0u, u32(v23.x + b.x < v23.x), 0u, u32(v23.z + b.z < v23.z)); - v23 += vec4(0u, 0u, m3) + vec4(0u, 0u, 0u, u32(v23.z + m3.x < v23.z)); + v23 += vec4(Z, m3) + vec4(Z, 0u, u32(v23.z + m3.x < v23.z)); d = ((d ^ v23) >> ROTATE_16) | ((d ^ v23).yxwz << ROTATE_16); v89 += d + vec4(0u, u32(v89.x + d.x < v89.x), 0u, u32(v89.z + d.z < v89.z)); // b = ((b ^ v89) << ROTATE_1) | ((b ^ v89).yxwz >> ROTATE_31);