Remove MD4/MD5 *H1/*H2 functions and use original H functions. Modern compilers will...
[hashcat.git] / OpenCL / m11400_a3.cl
index d4e3e36..027f781 100644 (file)
@@ -969,8 +969,6 @@ static void m11400m_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -1010,22 +1008,22 @@ static void m11400m_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1123,22 +1121,22 @@ static void m11400m_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1223,22 +1221,22 @@ static void m11400m_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1503,8 +1501,6 @@ static void m11400m_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -1544,22 +1540,22 @@ static void m11400m_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1657,22 +1653,22 @@ static void m11400m_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1757,22 +1753,22 @@ static void m11400m_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -1857,22 +1853,22 @@ static void m11400m_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2118,8 +2114,6 @@ static void m11400m_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -2159,22 +2153,22 @@ static void m11400m_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2257,22 +2251,22 @@ static void m11400m_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2370,22 +2364,22 @@ static void m11400m_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2470,22 +2464,22 @@ static void m11400m_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2750,8 +2744,6 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -2791,22 +2783,22 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -2889,22 +2881,22 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3002,22 +2994,22 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3102,22 +3094,22 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3202,22 +3194,22 @@ static void m11400m_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3463,8 +3455,6 @@ static void m11400s_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -3504,22 +3494,22 @@ static void m11400s_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3617,22 +3607,22 @@ static void m11400s_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3717,22 +3707,22 @@ static void m11400s_0_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -3997,8 +3987,6 @@ static void m11400s_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -4038,22 +4026,22 @@ static void m11400s_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4151,22 +4139,22 @@ static void m11400s_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4251,22 +4239,22 @@ static void m11400s_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4351,22 +4339,22 @@ static void m11400s_0_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4612,8 +4600,6 @@ static void m11400s_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -4653,22 +4639,22 @@ static void m11400s_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4751,22 +4737,22 @@ static void m11400s_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4864,22 +4850,22 @@ static void m11400s_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -4964,22 +4950,22 @@ static void m11400s_1_0 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -5244,8 +5230,6 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
 
     // md5
 
-    u32x tmp2;
-
     u32x a = MD5M_A;
     u32x b = MD5M_B;
     u32x c = MD5M_C;
@@ -5285,22 +5269,22 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -5383,22 +5367,22 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -5496,22 +5480,22 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -5596,22 +5580,22 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);
@@ -5696,22 +5680,22 @@ static void m11400s_1_1 (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 p
     MD5_STEP (MD5_Go, c, d, a, b, w1_t[3], MD5C1e, MD5S12);
     MD5_STEP (MD5_Go, b, c, d, a, w3_t[0], MD5C1f, MD5S13);
 
-    MD5_STEP (MD5_H1, a, b, c, d, w1_t[1], MD5C20, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w2_t[0], MD5C21, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w2_t[3], MD5C22, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w3_t[2], MD5C23, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w0_t[1], MD5C24, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w1_t[0], MD5C25, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w1_t[3], MD5C26, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w2_t[2], MD5C27, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w3_t[1], MD5C28, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w0_t[0], MD5C29, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w0_t[3], MD5C2a, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w1_t[2], MD5C2b, MD5S23);
-    MD5_STEP (MD5_H1, a, b, c, d, w2_t[1], MD5C2c, MD5S20);
-    MD5_STEP (MD5_H2, d, a, b, c, w3_t[0], MD5C2d, MD5S21);
-    MD5_STEP (MD5_H1, c, d, a, b, w3_t[3], MD5C2e, MD5S22);
-    MD5_STEP (MD5_H2, b, c, d, a, w0_t[2], MD5C2f, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w1_t[1], MD5C20, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w2_t[0], MD5C21, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w2_t[3], MD5C22, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w3_t[2], MD5C23, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w0_t[1], MD5C24, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w1_t[0], MD5C25, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w1_t[3], MD5C26, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w2_t[2], MD5C27, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w3_t[1], MD5C28, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w0_t[0], MD5C29, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w0_t[3], MD5C2a, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w1_t[2], MD5C2b, MD5S23);
+    MD5_STEP (MD5_H , a, b, c, d, w2_t[1], MD5C2c, MD5S20);
+    MD5_STEP (MD5_H , d, a, b, c, w3_t[0], MD5C2d, MD5S21);
+    MD5_STEP (MD5_H , c, d, a, b, w3_t[3], MD5C2e, MD5S22);
+    MD5_STEP (MD5_H , b, c, d, a, w0_t[2], MD5C2f, MD5S23);
 
     MD5_STEP (MD5_I , a, b, c, d, w0_t[0], MD5C30, MD5S30);
     MD5_STEP (MD5_I , d, a, b, c, w1_t[3], MD5C31, MD5S31);