1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-21 14:08:21 +00:00

Metal Backend: define USE_BITSELECT and USE_SWIZZLE for Apple Intel

This commit is contained in:
Gabriele Gristina 2025-07-13 12:14:01 +02:00
parent 725528058c
commit a40e9e07b5
No known key found for this signature in database
GPG Key ID: 9F68B59298F311F0
3 changed files with 10 additions and 0 deletions

View File

@ -1115,7 +1115,12 @@ DECLSPEC u32 hc_swap32_S (const u32 v)
asm volatile ("prmt.b32 %0, %1, 0, 0x0123;" : "=r"(r) : "r"(v)); asm volatile ("prmt.b32 %0, %1, 0, 0x0123;" : "=r"(r) : "r"(v));
#else #else
#ifdef USE_SWIZZLE #ifdef USE_SWIZZLE
#ifdef IS_METAL
uchar4 u = uchar4 ((v >> 0) & 0xFF, (v >> 8) & 0xFF, (v >> 16) & 0xFF, (v >> 24) & 0xFF);
r = as_type<u32>(u.wzyx);
#else
r = as_uint (as_uchar4 (v).s3210); r = as_uint (as_uchar4 (v).s3210);
#endif
#else #else
r = ((v & 0xff000000) >> 24) r = ((v & 0xff000000) >> 24)
| ((v & 0x00ff0000) >> 8) | ((v & 0x00ff0000) >> 8)

View File

@ -201,6 +201,10 @@ using namespace metal;
#ifdef IS_METAL #ifdef IS_METAL
#define USE_ROTATE #define USE_ROTATE
#ifndef IS_APPLE_SILICON
#define USE_BITSELECT
#define USE_SWIZZLE
#endif
// Metal support max VECT_SIZE = 4 // Metal support max VECT_SIZE = 4
#define s0 x #define s0 x

View File

@ -177,6 +177,7 @@
- Metal Backend: allow use of devices with Metal if runtime version is >= 200 - Metal Backend: allow use of devices with Metal if runtime version is >= 200
- Metal Backend: disable Metal devices only if at least one OpenCL device is active - Metal Backend: disable Metal devices only if at least one OpenCL device is active
- Metal Backend: improved compute workloads calculation - Metal Backend: improved compute workloads calculation
- Metal Backend: define USE_BITSELECT and USE_SWIZZLE for Apple Intel
- Modules: Check UnpackSize to raise false positive with hc_decompress_rar - Modules: Check UnpackSize to raise false positive with hc_decompress_rar
- User Options: added --metal-compiler-runtime option - User Options: added --metal-compiler-runtime option
- User Options: limit --bitmap-max value to 31 - User Options: limit --bitmap-max value to 31