mirror of
https://github.com/hashcat/hashcat
synced 2024-11-24 14:27:14 +01:00
Replace SHL+ADD with MAD
This commit is contained in:
parent
1d15ee40be
commit
89dcaeb76d
@ -359,37 +359,29 @@ inline u32x rotr32 (const u32x a, const u32 n)
|
||||
|
||||
#if VECT_SIZE == 2
|
||||
|
||||
asm ("\n"
|
||||
"shl.b32 %4, %2, %6;\n"
|
||||
"shl.b32 %5, %3, %6;\n"
|
||||
"shr.b32 %0, %2, %7;\n"
|
||||
"shr.b32 %1, %3, %7;\n"
|
||||
"add.u32 %0, %0, %4;\n"
|
||||
"add.u32 %1, %1, %5;\n"
|
||||
asm ("shr.b32 %4, %2, %6;"
|
||||
"shr.b32 %5, %3, %6;"
|
||||
"mad.lo.u32 %0, %2, %7, %4;"
|
||||
"mad.lo.u32 %1, %3, %7, %5;"
|
||||
: "=r"(r.s0),
|
||||
"=r"(r.s1)
|
||||
: "r"(a.s0),
|
||||
"r"(a.s1),
|
||||
"r"(t.s0),
|
||||
"r"(t.s1),
|
||||
"r"(32 - n),
|
||||
"r"(n));
|
||||
"r"(n),
|
||||
"r"(1 << (32 - n)));
|
||||
|
||||
#elif VECT_SIZE == 4
|
||||
|
||||
asm ("\n"
|
||||
"shl.b32 %8, %4, %12;\n"
|
||||
"shl.b32 %9, %5, %12;\n"
|
||||
"shl.b32 %10, %6, %12;\n"
|
||||
"shl.b32 %11, %7, %12;\n"
|
||||
"shr.b32 %0, %4, %13;\n"
|
||||
"shr.b32 %1, %5, %13;\n"
|
||||
"shr.b32 %2, %6, %13;\n"
|
||||
"shr.b32 %3, %7, %13;\n"
|
||||
"add.u32 %0, %0, %8;\n"
|
||||
"add.u32 %1, %1, %9;\n"
|
||||
"add.u32 %2, %2, %10;\n"
|
||||
"add.u32 %3, %3, %11;\n"
|
||||
asm ("shr.b32 %8, %4, %12;\n"
|
||||
"shr.b32 %9, %5, %12;\n"
|
||||
"shr.b32 %10, %6, %12;\n"
|
||||
"shr.b32 %11, %7, %12;\n"
|
||||
"mad.lo.u32 %0, %4, %13, %8;\n"
|
||||
"mad.lo.u32 %1, %5, %13, %9;\n"
|
||||
"mad.lo.u32 %2, %6, %13, %10;\n"
|
||||
"mad.lo.u32 %3, %7, %13, %11;\n"
|
||||
: "=r"(r.s0),
|
||||
"=r"(r.s1),
|
||||
"=r"(r.s2),
|
||||
@ -402,8 +394,8 @@ inline u32x rotr32 (const u32x a, const u32 n)
|
||||
"r"(t.s1),
|
||||
"r"(t.s2),
|
||||
"r"(t.s3),
|
||||
"r"(32 - n),
|
||||
"r"(n));
|
||||
"r"(n),
|
||||
"r"(1 << (32 - n)));
|
||||
|
||||
#else
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user