Some fixes for rare kernels
[hashcat.git] / OpenCL / m06100_a1.cl
index 549e55d..35005ae 100644 (file)
@@ -1132,7 +1132,7 @@ __constant u32 rcl[R + 1] =
 
 // this is a highly optimized that assumes dgst[16] = { 0 }; only reuse of no 2nd transform is needed
 
-static void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 (*s_Ch)[256], __local u32 (*s_Cl)[256])
+void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 (*s_Ch)[256], __local u32 (*s_Cl)[256])
 {
   u32x Kh[8];
   u32x Kl[8];
@@ -1177,7 +1177,9 @@ static void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 (*
   u32x Lh[8];
   u32x Ll[8];
 
+  #ifdef _unroll
   #pragma unroll
+  #endif
   for (int i = 0; i < 8; i++)
   {
     const u32x Lp0 = stateh[(i + 8) & 7] >> 24;
@@ -1230,7 +1232,9 @@ static void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 (*
     u32x Lh[8];
     u32x Ll[8];
 
+    #ifdef _unroll
     #pragma unroll
+    #endif
     for (int i = 0; i < 8; i++)
     {
       const u32x Lp0 = Kh[(i + 8) & 7] >> 24;
@@ -1278,7 +1282,9 @@ static void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 (*
     Kh[7] = Lh[7];
     Kl[7] = Ll[7];
 
-    #pragma unroll 8
+    #ifdef _unroll
+    #pragma unroll
+    #endif
     for (int i = 0; i < 8; i++)
     {
       const u32x Lp0 = stateh[(i + 8) & 7] >> 24;