- var v3: u32 = 0xBB67AE85u;
+
var v4: u32 = 0xFE94F82Bu;
var v5: u32 = 0x3C6EF372u;
var v6: u32 = 0x5F1D36F1u;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m4 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m6 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m8 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m0, m1) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m0 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m4 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m0, m1) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m0 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m6 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m6 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m2 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m2 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m6 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m8 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m8 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m4 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m6, m7) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m6 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m8 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
v_2627 = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2627.x = v26;
v_2627.y = v27;
xor = v_2627 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+0]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m0, m1) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m0 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 32)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
v_2425 = v_2425 ^ v_23;
// a = a + b
- v_23.y = v3;
+
v_23 = v_23 + v_1213 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1213.x < v_23.x);
- v3 = v_23.y;
+
// a = a + m[sigma[r][2*i+1]]
- v_23.y = v3;
+
v_23 = v_23 + vec2(m4, m5) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + m4 < v_23.x);
- v3 = v_23.y;
+
// d = rotr64(d ^ a, 16)
- v_23.y = v3;
+
v_2425.x = v24;
v_2425.y = v25;
xor = v_2425 ^ v_23;