SHA384C4c, SHA384C4d, SHA384C4e, SHA384C4f,
};
-static void sha384_transform (const u32x w0[4], const u32x w1[4], const u32x w2[4], const u32x w3[4], u64x digest[8])
+void sha384_transform (const u32x w0[4], const u32x w1[4], const u32x w2[4], const u32x w3[4], u64x digest[8])
{
u64x w0_t = hl32_to_64 (w0[0], w0[1]);
u64x w1_t = hl32_to_64 (w0[2], w0[3]);
ROUND_STEP (0);
- ROUND_EXPAND (); ROUND_STEP (16);
- ROUND_EXPAND (); ROUND_STEP (32);
- ROUND_EXPAND (); ROUND_STEP (48);
- ROUND_EXPAND (); ROUND_STEP (64);
+ #pragma unroll
+ for (int i = 16; i < 80; i += 16)
+ {
+ ROUND_EXPAND (); ROUND_STEP (i);
+ }
/* rev
digest[0] += a;