From: jsteube Date: Wed, 6 Jan 2016 10:48:18 +0000 (+0100) Subject: Workaround for either pocl or llvm fails and produces invalid optimized code X-Git-Tag: v3.00-beta~539 X-Git-Url: https://www.flypig.org.uk/git/?a=commitdiff_plain;h=6e680aa31c9ff0a2705452801664ce6e3d0545e3;p=hashcat.git Workaround for either pocl or llvm fails and produces invalid optimized code --- diff --git a/include/kernel_functions.c b/include/kernel_functions.c index b5cad0f..31835da 100644 --- a/include/kernel_functions.c +++ b/include/kernel_functions.c @@ -150,8 +150,12 @@ #define SHA1_F0(x,y,z) ((z) ^ ((x) & ((y) ^ (z)))) #define SHA1_F1(x,y,z) ((x) ^ (y) ^ (z)) #define SHA1_F2(x,y,z) (((x) & (y)) | ((z) & ((x) ^ (y)))) -#define SHA1_F0o(x,y,z) (SHA1_F0 ((x), (y), (z))) -#define SHA1_F2o(x,y,z) (SHA1_F2 ((x), (y), (z))) +// either pocl or llvm fails and produces invalid optimized code +//#define SHA1_F0o(x,y,z) (SHA1_F0 ((x), (y), (z))) +//#define SHA1_F2o(x,y,z) (SHA1_F2 ((x), (y), (z))) +// luckily we can use bitselect as a workaround +#define SHA1_F0o(x,y,z) (bitselect ((z), (y), (x))) +#define SHA1_F2o(x,y,z) (bitselect ((x), (y), ((x) ^ (z)))) #endif #define SHA1_STEP(f,a,b,c,d,e,x) \