/**
* 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);
* 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);
* 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);
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);
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);
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);
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);
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);
* 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);
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);
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);
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);
* 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);
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);
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);
* 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);
* 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);
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);
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);
* 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);
* 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);
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);
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);
* 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);
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);
* 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);
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);
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);
* 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);
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);
* 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);
* 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);
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);
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);