- DROUND(aa, bb, cc, dd, a, b, c, d, w);
- DROUND(a, b, c, d, aa, bb, cc, dd, w);
- DROUND(aa, bb, cc, dd, a, b, c, d, w);
- DROUND(a, b, c, d, aa, bb, cc, dd, w);
- DROUND(aa, bb, cc, dd, a, b, c, d, w);
- DROUND(a, b, c, d, aa, bb, cc, dd, w);
- DROUND(aa, bb, cc, dd, a, b, c, d, w);
-
- a = ((SI[U8(aa >> 0)] << 0) ^ (SI[U8(bb >> 0)] << 8) ^
- (SI[U8(cc >> 0)] << 16) ^ (SI[U8(dd >> 0)] << 24)) ^ *w++;
- b = ((SI[U8(aa >> 8)] << 0) ^ (SI[U8(bb >> 8)] << 8) ^
- (SI[U8(cc >> 8)] << 16) ^ (SI[U8(dd >> 8)] << 24)) ^ *w++;
- c = ((SI[U8(aa >> 16)] << 0) ^ (SI[U8(bb >> 16)] << 8) ^
- (SI[U8(cc >> 16)] << 16) ^ (SI[U8(dd >> 16)] << 24)) ^ *w++;
- d = ((SI[U8(aa >> 24)] << 0) ^ (SI[U8(bb >> 24)] << 8) ^
- (SI[U8(cc >> 24)] << 16) ^ (SI[U8(dd >> 24)] << 24)) ^ *w++;
+ DO(MIX, TI, aa, bb, cc, dd, a, b, c, d, w);
+ DO(MIX, TI, a, b, c, d, aa, bb, cc, dd, w);
+ DO(MIX, TI, aa, bb, cc, dd, a, b, c, d, w);
+ DO(MIX, TI, a, b, c, d, aa, bb, cc, dd, w);
+ DO(MIX, TI, aa, bb, cc, dd, a, b, c, d, w);
+ DO(MIX, TI, a, b, c, d, aa, bb, cc, dd, w);
+ DO(MIX, TI, aa, bb, cc, dd, a, b, c, d, w);
+ DO(SUB, SI, a, b, c, d, aa, bb, cc, dd, w);