// a = a + m[sigma[r][2*i+1]]
- o0 = v_01.x + m2;
- o1 = v_01.y + m3;
- o1 = o1 + select(0u, 1u, o0 < v_01.x);
- v_01.x = o0;
- v_01.y = o1;
+ v_01 = v_01 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + m2 < v_01.x);
// a = a + b
v_23.x = v2;
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);
v2 = v_23.x;
v3 = v_23.y;
-
-
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m4;
- o1 = v3 + m5;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m6;
- o1 = v3 + m7;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v4 + m8;
- o1 = v5 + m9;
- o1 = o1 + select(0u, 1u, o0 < v4);
- v4 = o0;
- v5 = o1;
+ v_45.x = v4;
+ v_45.y = v5;
+ v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
+ v4 = v_45.x;
+ v5 = v_45.y;
// d = rotr64(d ^ a, 32)
v_45.x = v4;
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m8;
- o1 = v3 + m9;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v_01.x + m2;
- o1 = v_01.y + m3;
- o1 = o1 + select(0u, 1u, o0 < v_01.x);
- v_01.x = o0;
- v_01.y = o1;
+ v_01 = v_01 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + m2 < v_01.x);
+
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m4;
- o1 = v3 + m5;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m6;
- o1 = v3 + m7;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m6;
- o1 = v3 + m7;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v4 + m8;
- o1 = v5 + m9;
- o1 = o1 + select(0u, 1u, o0 < v4);
- v4 = o0;
- v5 = o1;
+ v_45.x = v4;
+ v_45.y = v5;
+ v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
+ v4 = v_45.x;
+ v5 = v_45.y;
// d = rotr64(d ^ a, 32)
v_45.x = v4;
// a = a + m[sigma[r][2*i+1]]
- o0 = v4 + m8;
- o1 = v5 + m9;
- o1 = o1 + select(0u, 1u, o0 < v4);
- v4 = o0;
- v5 = o1;
+ v_45.x = v4;
+ v_45.y = v5;
+ v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
+ v4 = v_45.x;
+ v5 = v_45.y;
// d = rotr64(d ^ a, 16)
v_45.x = v4;
// a = a + m[sigma[r][2*i+1]]
- o0 = v_01.x + m2;
- o1 = v_01.y + m3;
- o1 = o1 + select(0u, 1u, o0 < v_01.x);
- v_01.x = o0;
- v_01.y = o1;
+ v_01 = v_01 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + m2 < v_01.x);
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m6;
- o1 = v3 + m7;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m8;
- o1 = v3 + m9;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+1]]
- o0 = v4 + m8;
- o1 = v5 + m9;
- o1 = o1 + select(0u, 1u, o0 < v4);
- v4 = o0;
- v5 = o1;
+ v_45.x = v4;
+ v_45.y = v5;
+ v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
+ v4 = v_45.x;
+ v5 = v_45.y;
// d = rotr64(d ^ a, 16)
v_45.x = v4;
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m8;
- o1 = v3 + m9;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+1]]
- o0 = v_01.x + m2;
- o1 = v_01.y + m3;
- o1 = o1 + select(0u, 1u, o0 < v_01.x);
- v_01.x = o0;
- v_01.y = o1;
+ v_01 = v_01 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + m2 < v_01.x);
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m4;
- o1 = v3 + m5;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m6;
- o1 = v3 + m7;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v4 + m8;
- o1 = v5 + m9;
- o1 = o1 + select(0u, 1u, o0 < v4);
- v4 = o0;
- v5 = o1;
+ v_45.x = v4;
+ v_45.y = v5;
+ v_45 = v_45 + vec2(m8, m9) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_45.x + m8 < v_45.x);
+ v4 = v_45.x;
+ v5 = v_45.y;
// d = rotr64(d ^ a, 32)
v_45.x = v4;
// a = a + m[sigma[r][2*i+0]]
- o0 = v2 + m8;
- o1 = v3 + m9;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 32)
v_23.x = v2;
// a = a + m[sigma[r][2*i+0]]
- o0 = v_01.x + m2;
- o1 = v_01.y + m3;
- o1 = o1 + select(0u, 1u, o0 < v_01.x);
- v_01.x = o0;
- v_01.y = o1;
+ v_01 = v_01 + vec2(m2, m3) + select(vec2<u32>(0u), vec2<u32>(0u, 1u), v_01.x + m2 < v_01.x);
// a = a + m[sigma[r][2*i+1]]
- o0 = v2 + m4;
- o1 = v3 + m5;
- o1 = o1 + select(0u, 1u, o0 < v2);
- v2 = o0;
- v3 = o1;
+ v_23.x = v2;
+ 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);
+ v2 = v_23.x;
+ v3 = v_23.y;
// d = rotr64(d ^ a, 16)
v_23.x = v2;