*/
// a = a + b
- // v1 = v1 + v9 + select(0u, 1u, v0 + v8 < v0);
- // v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
v0 = v_01.x;
v1 = v_01.y;
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v0 + m2;
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
v2 = v_23.x;
v3 = v_23.y;
v10 = v_1011.x;
v11 = v_1011.y;
- // o0 = v2 + v10;
- // o1 = v3 + v11;
- // o1 = o1 + select(0u, 1u, o0 < v2);
- // v2 = o0;
- // v3 = o1;
-
-
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m4;
o1 = v3 + m5;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v2 + m6;
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m8;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v2 + m0;
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m6;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v2 + m2;
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v0 + m0;
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v0 + m4;
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m2;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v0 + m4;
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v2 + m8;
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v0 + m0;
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v0 + m2;
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m4;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+1]]
o0 = v2 + m6;
*/
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+0]]
// // skip since adding 0u does nothing
v25 = xor0;
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 24)
xor0 = v8 ^ v16;
v9 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- v1 = v1 + v9;
- v1 = v1 + select(0u, 1u, v0 + v8 < v0);
- v0 = v0 + v8;
+ v_01.x = v0;
+ v_01.y = v1;
+ v_89.x = v8;
+ v_89.y = v9;
+ v_01 = v_01 + v_89 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + v_89.x < v_01.x);
+ v0 = v_01.x;
+ v1 = v_01.y;
+ v8 = v_89.x;
+ v9 = v_89.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing
v25 = (xor1 >> 16u) ^ (xor0 << 16u);
// c = c + d
- o0 = v16 + v24;
- o1 = v17 + v25;
- o1 = o1 + select(0u, 1u, o0 < v16);
- v16 = o0;
- v17 = o1;
+ v_1617.x = v16;
+ v_1617.y = v17;
+ v_2425.x = v24;
+ v_2425.y = v25;
+ v_1617 = v_1617 + v_2425 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_1617.x + v_2425.x < v_1617.x);
+ v16 = v_1617.x;
+ v17 = v_1617.y;
+ v24 = v_2425.x;
+ v25 = v_2425.y;
// b = rotr64(b ^ c, 63)
xor0 = v8 ^ v16;
*/
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// a = a + m[sigma[r][2*i+0]]
o0 = v2 + m8;
v11 = (xor1 >> 24u) ^ (xor0 << 8u);
// a = a + b
- o0 = v2 + v10;
- o1 = v3 + v11;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ v_23.y = v3;
+ v_1011.x = v10;
+ v_1011.y = v11;
+ v_23 = v_23 + v_1011 + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_23.x + v_1011.x < v_23.x);
+ v2 = v_23.x;
+ v3 = v_23.y;
+ v10 = v_1011.x;
+ v11 = v_1011.y;
// // a = a + m[sigma[r][2*i+1]]
// // skip since adding 0u does nothing