Minimal psafe2 increase and autotune fix
[hashcat.git] / OpenCL / m08500_a3.cl
index 686bf93..a97d62d 100644 (file)
@@ -408,7 +408,9 @@ void _des_crypt_encrypt (u32x iv[2], u32x data[2], u32x Kc[16], u32x Kd[16], __l
   u32x r = data[0];
   u32x l = data[1];
 
-  #pragma unroll 16
+  #ifdef _unroll
+  #pragma unroll
+  #endif
   for (u32 i = 0; i < 16; i += 2)
   {
     u32x u;
@@ -461,7 +463,9 @@ void _des_crypt_keysetup (u32x c, u32x d, u32x Kc[16], u32x Kd[16], __local u32
 
   c = c & 0x0fffffff;
 
-  #pragma unroll 16
+  #ifdef _unroll
+  #pragma unroll
+  #endif
   for (u32 i = 0; i < 16; i++)
   {
     if ((i < 2) || (i == 8) || (i == 15))
@@ -579,14 +583,13 @@ void m08500m (__local u32 (*s_SPtrans)[64], __local u32 (*s_skb)[64], u32 w[16],
     data[0] = salt_buf0[0];
     data[1] = salt_buf0[1];
 
-    volatile u32x iv[2];
+    u32x iv[2];
 
     _des_crypt_encrypt (iv, data, Kc, Kd, s_SPtrans);
 
-    u32x iv2 = 0;
-    u32x iv3 = 0;
+    u32x z = 0;
 
-    COMPARE_M_SIMD (iv[0], iv[1], iv2, iv3);
+    COMPARE_M_SIMD (iv[0], iv[1], z, z);
   }
 }
 
@@ -616,8 +619,8 @@ void m08500s (__local u32 (*s_SPtrans)[64], __local u32 (*s_skb)[64], u32 w[16],
   {
     digests_buf[digests_offset].digest_buf[DGST_R0],
     digests_buf[digests_offset].digest_buf[DGST_R1],
-    digests_buf[digests_offset].digest_buf[DGST_R2],
-    digests_buf[digests_offset].digest_buf[DGST_R3]
+    0,
+    0
   };
 
   /**
@@ -655,14 +658,13 @@ void m08500s (__local u32 (*s_SPtrans)[64], __local u32 (*s_skb)[64], u32 w[16],
     data[0] = salt_buf0[0];
     data[1] = salt_buf0[1];
 
-    volatile u32x iv[2];
+    u32x iv[2];
 
     _des_crypt_encrypt (iv, data, Kc, Kd, s_SPtrans);
 
-    u32x iv2 = 0;
-    u32x iv3 = 0;
+    u32x z = 0;
 
-    COMPARE_S_SIMD (iv[0], iv[1], iv2, iv3);
+    COMPARE_S_SIMD (iv[0], iv[1], z, z);
   }
 }