We can safely replace atomic_add() with atomic_inc()
[hashcat.git] / OpenCL / types_ocl.c
index 90e0343..1d3a7b8 100644 (file)
@@ -257,7 +257,12 @@ inline u64x rotl64 (const u64x a, const u32 n)
   return rotr64 (a, 64 - n);
 }
 
-inline u32 __bfe (const u32 a, const u32 b, const u32 c)
+inline u32x __bfe (const u32x a, const u32x b, const u32x c)
+{
+  return amd_bfe (a, b, c);
+}
+
+inline u32 __bfe_S (const u32 a, const u32 b, const u32 c)
 {
   return amd_bfe (a, b, c);
 }
@@ -592,7 +597,7 @@ inline u64x rotl64 (const u64x a, const u32 n)
 
 inline u32x __bfe (const u32x a, const u32x b, const u32x c)
 {
-  #define BIT(x)      (1 << (x))
+  #define BIT(x)      ((u32x) (1u) << (x))
   #define BIT_MASK(x) (BIT (x) - 1)
   #define BFE(x,y,z)  (((x) >> (y)) & BIT_MASK (z))
 
@@ -605,7 +610,7 @@ inline u32x __bfe (const u32x a, const u32x b, const u32x c)
 
 inline u32 __bfe_S (const u32 a, const u32 b, const u32 c)
 {
-  #define BIT(x)      (1 << (x))
+  #define BIT(x)      (1u << (x))
   #define BIT_MASK(x) (BIT (x) - 1)
   #define BFE(x,y,z)  (((x) >> (y)) & BIT_MASK (z))
 
@@ -907,6 +912,7 @@ typedef struct
   u32 salt_buf[16];
   u32 data_buf[112];
   u32 keyfile_buf[16];
+  u32 signature;
 
 } tc_t;
 
@@ -1427,6 +1433,9 @@ typedef struct
 
 typedef struct
 {
+  u32 salt_pos;
+  u32 digest_pos;
+  u32 hash_pos;
   u32 gidvid;
   u32 il_pos;