* sigma i index is doubled due to using two u32 array elements to represent
* one uint64_t.
*/
- var xor: vec2<u32>;
/****************************************************************************
* ROUND(0) *
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
v1 = v1 + m2 + vec2(0u, u32(v1.x + m2.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
v1 = v1 + nonce + vec2(0u, u32(v1.x + nonce.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
v3 = v3 + m4 + vec2(0u, u32(v3.x + m4.x < v3.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
v1 = v1 + m1 + vec2(0u, u32(v1.x + m1.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
v2 = v2 + nonce + vec2(0u, u32(v2.x + nonce.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
v0 = v0 + nonce + vec2(0u, u32(v0.x + nonce.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x));
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
v0 = v0 + nonce + vec2(0u, u32(v0.x + nonce.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
v2 = v2 + m3 + vec2(0u, u32(v2.x + m3.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
v2 = v2 + m4 + vec2(0u, u32(v2.x + m4.x < v2.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
v0 = v0 + m2 + vec2(0u, u32(v0.x + m2.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
v3 = v3 + nonce + vec2(0u, u32(v3.x + nonce.x < v3.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
v0 = v0 + m1 + vec2(0u, u32(v0.x + m1.x < v0.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
v1 = v1 + m3 + vec2(0u, u32(v1.x + m3.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v8).xy >> ROTATE_24) | ((v4 ^ v8).yx << ROTATE_8);
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v0;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v0).xy >> ROTATE_16) | ((v12 ^ v0).yx << ROTATE_16);
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v8;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v8).xy << ROTATE_1) | ((v4 ^ v8).yx >> ROTATE_31);
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v9).xy >> ROTATE_24) | ((v5 ^ v9).yx << ROTATE_8);
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v1;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v1).xy >> ROTATE_16) | ((v13 ^ v1).yx << ROTATE_16);
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v9;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v9).xy << ROTATE_1) | ((v5 ^ v9).yx >> ROTATE_31);
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8);
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v2;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16);
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v10;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31);
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8);
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v3;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v3).xy >> ROTATE_16) | ((v15 ^ v3).yx << ROTATE_16);
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v11;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v11).xy << ROTATE_1) | ((v7 ^ v11).yx >> ROTATE_31);
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 24)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8);
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v15 ^ v0;
- v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16);
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
- xor = v5 ^ v10;
- v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31);
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 24)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8);
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
v1 = v1 + m2 + vec2(0u, u32(v1.x + m2.x < v1.x));
// d = rotr64(d ^ a, 16)
- xor = v12 ^ v1;
- v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16);
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
- xor = v6 ^ v11;
- v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31);
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 24)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8);
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// skip since adding 0u does nothing
// d = rotr64(d ^ a, 16)
- xor = v13 ^ v2;
- v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16);
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
- xor = v7 ^ v8;
- v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31);
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
+ v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8);
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
v3 = v3 + m3 + vec2(0u, u32(v3.x + m3.x < v3.x));
// d = rotr64(d ^ a, 16)
- xor = v14 ^ v3;
- v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
+ v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16);
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
- xor = v4 ^ v9;
- v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
+ v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);