append_0x80_2x4_VV (w0, w1, out_len);
-
w0_t[0] = w0[0];
w0_t[1] = w0[1];
w0_t[2] = w0[2];
const u32x w0lr = w0l | w0r;
- w0_t[0] = w0lr;
+ w0[0] = w0lr;
+
+ u32x out_len = mangle(w0, w1, pw_len);
+
+ append_0x80_2x4_VV (w0, w1, out_len);
+
+ w0_t[0] = w0[0];
w0_t[1] = w0[1];
w0_t[2] = w0[2];
w0_t[3] = w0[3];
w1_t[1] = w1[1];
w1_t[2] = w1[2];
w1_t[3] = w1[3];
- w2_t[0] = w2[0];
- w2_t[1] = w2[1];
- w2_t[2] = w2[2];
- w2_t[3] = w2[3];
- w3_t[0] = w3[0];
- w3_t[1] = w3[1];
- w3_t[2] = (64 + pw_len) * 8;
+ w2_t[0] = 0;
+ w2_t[1] = 0;
+ w2_t[2] = 0;
+ w2_t[3] = 0;
+ w3_t[0] = 0;
+ w3_t[1] = 0;
+ w3_t[2] = (64 + out_len) * 8;
w3_t[3] = 0;
u32x digest[4];