// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- // v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ // v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v0;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// 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.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v1;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v2;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v3;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v15 ^ v0;
- v15 = vec2(xor.y, xor.x);
+ v15 = xor.yx;
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// d = rotr64(d ^ a, 32)
xor = v12 ^ v1;
- v12 = vec2(xor.y, xor.x);
+ v12 = xor.yx;
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.x >> 16u) | (xor.y << 16u), (xor.y >> 16u) | (xor.x << 16u));
+ v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// d = rotr64(d ^ a, 32)
xor = v13 ^ v2;
- v13 = vec2(xor.y, xor.x);
+ v13 = xor.yx;
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// d = rotr64(d ^ a, 32)
xor = v14 ^ v3;
- v14 = vec2(xor.y, xor.x);
+ v14 = xor.yx;
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.x >> 24u) | (xor.y << 8u), (xor.y >> 24u) | (xor.x << 8u));
+ v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+ v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));