- register cit_uint32_t a, b, c, d;
-
- a = buf[0];
- b = buf[1];
- c = buf[2];
- d = buf[3];
-
-#ifdef __PUREC__ /* PureC Weirdness... (GG) */
- MD5STEP(F1(b,c,d), a, b, c, d, in[0] + 0xd76aa478L, 7);
- MD5STEP(F1(a,b,c), d, a, b, c, in[1] + 0xe8c7b756L, 12);
- MD5STEP(F1(d,a,b), c, d, a, b, in[2] + 0x242070dbL, 17);
- MD5STEP(F1(c,d,a), b, c, d, a, in[3] + 0xc1bdceeeL, 22);
- MD5STEP(F1(b,c,d), a, b, c, d, in[4] + 0xf57c0fafL, 7);
- MD5STEP(F1(a,b,c), d, a, b, c, in[5] + 0x4787c62aL, 12);
- MD5STEP(F1(d,a,b), c, d, a, b, in[6] + 0xa8304613L, 17);
- MD5STEP(F1(c,d,a), b, c, d, a, in[7] + 0xfd469501L, 22);
- MD5STEP(F1(b,c,d), a, b, c, d, in[8] + 0x698098d8L, 7);
- MD5STEP(F1(a,b,c), d, a, b, c, in[9] + 0x8b44f7afL, 12);
- MD5STEP(F1(d,a,b), c, d, a, b, in[10] + 0xffff5bb1L, 17);
- MD5STEP(F1(c,d,a), b, c, d, a, in[11] + 0x895cd7beL, 22);
- MD5STEP(F1(b,c,d), a, b, c, d, in[12] + 0x6b901122L, 7);
- MD5STEP(F1(a,b,c), d, a, b, c, in[13] + 0xfd987193L, 12);
- MD5STEP(F1(d,a,b), c, d, a, b, in[14] + 0xa679438eL, 17);
- MD5STEP(F1(c,d,a), b, c, d, a, in[15] + 0x49b40821L, 22);
-
- MD5STEP(F2(b,c,d), a, b, c, d, in[1] + 0xf61e2562L, 5);
- MD5STEP(F2(a,b,c), d, a, b, c, in[6] + 0xc040b340L, 9);
- MD5STEP(F2(d,a,b), c, d, a, b, in[11] + 0x265e5a51L, 14);
- MD5STEP(F2(c,d,a), b, c, d, a, in[0] + 0xe9b6c7aaL, 20);
- MD5STEP(F2(b,c,d), a, b, c, d, in[5] + 0xd62f105dL, 5);
- MD5STEP(F2(a,b,c), d, a, b, c, in[10] + 0x02441453L, 9);
- MD5STEP(F2(d,a,b), c, d, a, b, in[15] + 0xd8a1e681L, 14);
- MD5STEP(F2(c,d,a), b, c, d, a, in[4] + 0xe7d3fbc8L, 20);
- MD5STEP(F2(b,c,d), a, b, c, d, in[9] + 0x21e1cde6L, 5);
- MD5STEP(F2(a,b,c), d, a, b, c, in[14] + 0xc33707d6L, 9);
- MD5STEP(F2(d,a,b), c, d, a, b, in[3] + 0xf4d50d87L, 14);
- MD5STEP(F2(c,d,a), b, c, d, a, in[8] + 0x455a14edL, 20);
- MD5STEP(F2(b,c,d), a, b, c, d, in[13] + 0xa9e3e905L, 5);
- MD5STEP(F2(a,b,c), d, a, b, c, in[2] + 0xfcefa3f8L, 9);
- MD5STEP(F2(d,a,b), c, d, a, b, in[7] + 0x676f02d9L, 14);
- MD5STEP(F2(c,d,a), b, c, d, a, in[12] + 0x8d2a4c8aL, 20);
-
- MD5STEP(F3(b,c,d), a, b, c, d, in[5] + 0xfffa3942L, 4);
- MD5STEP(F3(a,b,c), d, a, b, c, in[8] + 0x8771f681L, 11);
- MD5STEP(F3(d,a,b), c, d, a, b, in[11] + 0x6d9d6122L, 16);
- MD5STEP(F3(c,d,a), b, c, d, a, in[14] + 0xfde5380cL, 23);
- MD5STEP(F3(b,c,d), a, b, c, d, in[1] + 0xa4beea44L, 4);
- MD5STEP(F3(a,b,c), d, a, b, c, in[4] + 0x4bdecfa9L, 11);
- MD5STEP(F3(d,a,b), c, d, a, b, in[7] + 0xf6bb4b60L, 16);
- MD5STEP(F3(c,d,a), b, c, d, a, in[10] + 0xbebfbc70L, 23);
- MD5STEP(F3(b,c,d), a, b, c, d, in[13] + 0x289b7ec6L, 4);
- MD5STEP(F3(a,b,c), d, a, b, c, in[0] + 0xeaa127faL, 11);
- MD5STEP(F3(d,a,b), c, d, a, b, in[3] + 0xd4ef3085L, 16);
- MD5STEP(F3(c,d,a), b, c, d, a, in[6] + 0x04881d05L, 23);
- MD5STEP(F3(b,c,d), a, b, c, d, in[9] + 0xd9d4d039L, 4);
- MD5STEP(F3(a,b,c), d, a, b, c, in[12] + 0xe6db99e5L, 11);
- MD5STEP(F3(d,a,b), c, d, a, b, in[15] + 0x1fa27cf8L, 16);
- MD5STEP(F3(c,d,a), b, c, d, a, in[2] + 0xc4ac5665L, 23);
-
- MD5STEP(F4(b,c,d), a, b, c, d, in[0] + 0xf4292244L, 6);
- MD5STEP(F4(a,b,c), d, a, b, c, in[7] + 0x432aff97L, 10);
- MD5STEP(F4(d,a,b), c, d, a, b, in[14] + 0xab9423a7L, 15);
- MD5STEP(F4(c,d,a), b, c, d, a, in[5] + 0xfc93a039L, 21);
- MD5STEP(F4(b,c,d), a, b, c, d, in[12] + 0x655b59c3L, 6);
- MD5STEP(F4(a,b,c), d, a, b, c, in[3] + 0x8f0ccc92L, 10);
- MD5STEP(F4(d,a,b), c, d, a, b, in[10] + 0xffeff47dL, 15);
- MD5STEP(F4(c,d,a), b, c, d, a, in[1] + 0x85845dd1L, 21);
- MD5STEP(F4(b,c,d), a, b, c, d, in[8] + 0x6fa87e4fL, 6);
- MD5STEP(F4(a,b,c), d, a, b, c, in[15] + 0xfe2ce6e0L, 10);
- MD5STEP(F4(d,a,b), c, d, a, b, in[6] + 0xa3014314L, 15);
- MD5STEP(F4(c,d,a), b, c, d, a, in[13] + 0x4e0811a1L, 21);
- MD5STEP(F4(b,c,d), a, b, c, d, in[4] + 0xf7537e82L, 6);
- MD5STEP(F4(a,b,c), d, a, b, c, in[11] + 0xbd3af235L, 10);
- MD5STEP(F4(d,a,b), c, d, a, b, in[2] + 0x2ad7d2bbL, 15);
- MD5STEP(F4(c,d,a), b, c, d, a, in[9] + 0xeb86d391L, 21);
+ register cit_uint32_t a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+ c = buf[2];
+ d = buf[3];
+
+#ifdef __PUREC__ /* PureC Weirdness... (GG) */
+ MD5STEP(F1(b, c, d), a, b, c, d, in[0] + 0xd76aa478L, 7);
+ MD5STEP(F1(a, b, c), d, a, b, c, in[1] + 0xe8c7b756L, 12);
+ MD5STEP(F1(d, a, b), c, d, a, b, in[2] + 0x242070dbL, 17);
+ MD5STEP(F1(c, d, a), b, c, d, a, in[3] + 0xc1bdceeeL, 22);
+ MD5STEP(F1(b, c, d), a, b, c, d, in[4] + 0xf57c0fafL, 7);
+ MD5STEP(F1(a, b, c), d, a, b, c, in[5] + 0x4787c62aL, 12);
+ MD5STEP(F1(d, a, b), c, d, a, b, in[6] + 0xa8304613L, 17);
+ MD5STEP(F1(c, d, a), b, c, d, a, in[7] + 0xfd469501L, 22);
+ MD5STEP(F1(b, c, d), a, b, c, d, in[8] + 0x698098d8L, 7);
+ MD5STEP(F1(a, b, c), d, a, b, c, in[9] + 0x8b44f7afL, 12);
+ MD5STEP(F1(d, a, b), c, d, a, b, in[10] + 0xffff5bb1L, 17);
+ MD5STEP(F1(c, d, a), b, c, d, a, in[11] + 0x895cd7beL, 22);
+ MD5STEP(F1(b, c, d), a, b, c, d, in[12] + 0x6b901122L, 7);
+ MD5STEP(F1(a, b, c), d, a, b, c, in[13] + 0xfd987193L, 12);
+ MD5STEP(F1(d, a, b), c, d, a, b, in[14] + 0xa679438eL, 17);
+ MD5STEP(F1(c, d, a), b, c, d, a, in[15] + 0x49b40821L, 22);
+
+ MD5STEP(F2(b, c, d), a, b, c, d, in[1] + 0xf61e2562L, 5);
+ MD5STEP(F2(a, b, c), d, a, b, c, in[6] + 0xc040b340L, 9);
+ MD5STEP(F2(d, a, b), c, d, a, b, in[11] + 0x265e5a51L, 14);
+ MD5STEP(F2(c, d, a), b, c, d, a, in[0] + 0xe9b6c7aaL, 20);
+ MD5STEP(F2(b, c, d), a, b, c, d, in[5] + 0xd62f105dL, 5);
+ MD5STEP(F2(a, b, c), d, a, b, c, in[10] + 0x02441453L, 9);
+ MD5STEP(F2(d, a, b), c, d, a, b, in[15] + 0xd8a1e681L, 14);
+ MD5STEP(F2(c, d, a), b, c, d, a, in[4] + 0xe7d3fbc8L, 20);
+ MD5STEP(F2(b, c, d), a, b, c, d, in[9] + 0x21e1cde6L, 5);
+ MD5STEP(F2(a, b, c), d, a, b, c, in[14] + 0xc33707d6L, 9);
+ MD5STEP(F2(d, a, b), c, d, a, b, in[3] + 0xf4d50d87L, 14);
+ MD5STEP(F2(c, d, a), b, c, d, a, in[8] + 0x455a14edL, 20);
+ MD5STEP(F2(b, c, d), a, b, c, d, in[13] + 0xa9e3e905L, 5);
+ MD5STEP(F2(a, b, c), d, a, b, c, in[2] + 0xfcefa3f8L, 9);
+ MD5STEP(F2(d, a, b), c, d, a, b, in[7] + 0x676f02d9L, 14);
+ MD5STEP(F2(c, d, a), b, c, d, a, in[12] + 0x8d2a4c8aL, 20);
+
+ MD5STEP(F3(b, c, d), a, b, c, d, in[5] + 0xfffa3942L, 4);
+ MD5STEP(F3(a, b, c), d, a, b, c, in[8] + 0x8771f681L, 11);
+ MD5STEP(F3(d, a, b), c, d, a, b, in[11] + 0x6d9d6122L, 16);
+ MD5STEP(F3(c, d, a), b, c, d, a, in[14] + 0xfde5380cL, 23);
+ MD5STEP(F3(b, c, d), a, b, c, d, in[1] + 0xa4beea44L, 4);
+ MD5STEP(F3(a, b, c), d, a, b, c, in[4] + 0x4bdecfa9L, 11);
+ MD5STEP(F3(d, a, b), c, d, a, b, in[7] + 0xf6bb4b60L, 16);
+ MD5STEP(F3(c, d, a), b, c, d, a, in[10] + 0xbebfbc70L, 23);
+ MD5STEP(F3(b, c, d), a, b, c, d, in[13] + 0x289b7ec6L, 4);
+ MD5STEP(F3(a, b, c), d, a, b, c, in[0] + 0xeaa127faL, 11);
+ MD5STEP(F3(d, a, b), c, d, a, b, in[3] + 0xd4ef3085L, 16);
+ MD5STEP(F3(c, d, a), b, c, d, a, in[6] + 0x04881d05L, 23);
+ MD5STEP(F3(b, c, d), a, b, c, d, in[9] + 0xd9d4d039L, 4);
+ MD5STEP(F3(a, b, c), d, a, b, c, in[12] + 0xe6db99e5L, 11);
+ MD5STEP(F3(d, a, b), c, d, a, b, in[15] + 0x1fa27cf8L, 16);
+ MD5STEP(F3(c, d, a), b, c, d, a, in[2] + 0xc4ac5665L, 23);
+
+ MD5STEP(F4(b, c, d), a, b, c, d, in[0] + 0xf4292244L, 6);
+ MD5STEP(F4(a, b, c), d, a, b, c, in[7] + 0x432aff97L, 10);
+ MD5STEP(F4(d, a, b), c, d, a, b, in[14] + 0xab9423a7L, 15);
+ MD5STEP(F4(c, d, a), b, c, d, a, in[5] + 0xfc93a039L, 21);
+ MD5STEP(F4(b, c, d), a, b, c, d, in[12] + 0x655b59c3L, 6);
+ MD5STEP(F4(a, b, c), d, a, b, c, in[3] + 0x8f0ccc92L, 10);
+ MD5STEP(F4(d, a, b), c, d, a, b, in[10] + 0xffeff47dL, 15);
+ MD5STEP(F4(c, d, a), b, c, d, a, in[1] + 0x85845dd1L, 21);
+ MD5STEP(F4(b, c, d), a, b, c, d, in[8] + 0x6fa87e4fL, 6);
+ MD5STEP(F4(a, b, c), d, a, b, c, in[15] + 0xfe2ce6e0L, 10);
+ MD5STEP(F4(d, a, b), c, d, a, b, in[6] + 0xa3014314L, 15);
+ MD5STEP(F4(c, d, a), b, c, d, a, in[13] + 0x4e0811a1L, 21);
+ MD5STEP(F4(b, c, d), a, b, c, d, in[4] + 0xf7537e82L, 6);
+ MD5STEP(F4(a, b, c), d, a, b, c, in[11] + 0xbd3af235L, 10);
+ MD5STEP(F4(d, a, b), c, d, a, b, in[2] + 0x2ad7d2bbL, 15);
+ MD5STEP(F4(c, d, a), b, c, d, a, in[9] + 0xeb86d391L, 21);