mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-29 11:28:15 +00:00
Merge pull request #305 from neheb/master
Disable AMD optimizations for LLVM
This commit is contained in:
commit
50ea3a88dd
@ -199,11 +199,9 @@ static inline u32 rotl32_S (const u32 a, const u32 n)
|
|||||||
|
|
||||||
static inline u64 rotr64_S (const u64 a, const u32 n)
|
static inline u64 rotr64_S (const u64 a, const u32 n)
|
||||||
{
|
{
|
||||||
#if DEVICE_TYPE == DEVICE_TYPE_CPU
|
#if (DEVICE_TYPE == DEVICE_TYPE_GPU)
|
||||||
|
|
||||||
const u64 r = rotate (a, (u64) 64 - n);
|
#ifdef amd_bitalign
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
const u32 a0 = h32_from_64_S (a);
|
const u32 a0 = h32_from_64_S (a);
|
||||||
const u32 a1 = l32_from_64_S (a);
|
const u32 a1 = l32_from_64_S (a);
|
||||||
@ -213,6 +211,16 @@ static inline u64 rotr64_S (const u64 a, const u32 n)
|
|||||||
|
|
||||||
const u64 r = hl32_to_64_S (t0, t1);
|
const u64 r = hl32_to_64_S (t0, t1);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
const u64 r = rotate (a, (u64) 64 - n);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
const u64 r = rotate (a, (u64) 64 - n);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
@ -255,12 +263,9 @@ static inline u32x rotl32 (const u32x a, const u32 n)
|
|||||||
|
|
||||||
static inline u64x rotr64 (const u64x a, const u32 n)
|
static inline u64x rotr64 (const u64x a, const u32 n)
|
||||||
{
|
{
|
||||||
#if DEVICE_TYPE == DEVICE_TYPE_CPU
|
#if (DEVICE_TYPE == DEVICE_TYPE_GPU)
|
||||||
|
|
||||||
const u64x r = rotate (a, (u64) 64 - n);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
|
#ifdef amd_bitalign
|
||||||
const u32x a0 = h32_from_64 (a);
|
const u32x a0 = h32_from_64 (a);
|
||||||
const u32x a1 = l32_from_64 (a);
|
const u32x a1 = l32_from_64 (a);
|
||||||
|
|
||||||
@ -269,6 +274,16 @@ static inline u64x rotr64 (const u64x a, const u32 n)
|
|||||||
|
|
||||||
const u64x r = hl32_to_64 (t0, t1);
|
const u64x r = hl32_to_64 (t0, t1);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
const u64x r = rotate (a, (u64) 64 - n);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
const u64x r = rotate (a, (u64) 64 - n);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
@ -281,12 +296,26 @@ static inline u64x rotl64 (const u64x a, const u32 n)
|
|||||||
|
|
||||||
static inline u32 __bfe (const u32 a, const u32 b, const u32 c)
|
static inline u32 __bfe (const u32 a, const u32 b, const u32 c)
|
||||||
{
|
{
|
||||||
|
#ifdef amd_bfe
|
||||||
return amd_bfe (a, b, c);
|
return amd_bfe (a, b, c);
|
||||||
|
#else
|
||||||
|
#define BIT(x) (1 << (x))
|
||||||
|
#define BIT_MASK(x) (BIT (x) - 1)
|
||||||
|
#define BFE(x,y,z) (((x) >> (y)) & BIT_MASK (z))
|
||||||
|
|
||||||
|
return BFE (a, b, c);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline u32 amd_bytealign_S (const u32 a, const u32 b, const u32 c)
|
static inline u32 amd_bytealign_S (const u32 a, const u32 b, const u32 c)
|
||||||
{
|
{
|
||||||
|
#ifdef amd_bytealign
|
||||||
return amd_bytealign (a, b, c);
|
return amd_bytealign (a, b, c);
|
||||||
|
#else
|
||||||
|
const u64 tmp = ((((u64) a) << 32) | ((u64) b)) >> ((c & 3) * 8);
|
||||||
|
|
||||||
|
return (u32) (tmp);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,9 +28,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef IS_AMD
|
#ifdef IS_AMD
|
||||||
|
#ifndef cl_clang_storage_class_specifiers
|
||||||
#pragma OPENCL EXTENSION cl_amd_media_ops : enable
|
#pragma OPENCL EXTENSION cl_amd_media_ops : enable
|
||||||
#pragma OPENCL EXTENSION cl_amd_media_ops2 : enable
|
#pragma OPENCL EXTENSION cl_amd_media_ops2 : enable
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NV specific
|
* NV specific
|
||||||
|
Loading…
Reference in New Issue
Block a user