8296548: Improve MD5 intrinsic for x86_64
Reviewed-by: kvn, sviswanathan, luhenry
This commit is contained in:
parent
bd3acbea8c
commit
6ead2b0195
@ -66,16 +66,18 @@ void MacroAssembler::fast_md5(Register buf, Address state, Address ofs, Address
|
||||
movl(rdx, Address(rdi, 12));
|
||||
|
||||
#define FF(r1, r2, r3, r4, k, s, t) \
|
||||
addl(r1, t); \
|
||||
movl(rsi, r3); \
|
||||
addl(r1, Address(buf, k*4)); \
|
||||
xorl(rsi, r4); \
|
||||
andl(rsi, r2); \
|
||||
xorl(rsi, r4); \
|
||||
leal(r1, Address(r1, rsi, Address::times_1, t)); \
|
||||
addl(r1, rsi); \
|
||||
roll(r1, s); \
|
||||
addl(r1, r2);
|
||||
|
||||
#define GG(r1, r2, r3, r4, k, s, t) \
|
||||
addl(r1, t); \
|
||||
movl(rsi, r4); \
|
||||
movl(rdi, r4); \
|
||||
addl(r1, Address(buf, k*4)); \
|
||||
@ -83,26 +85,28 @@ void MacroAssembler::fast_md5(Register buf, Address state, Address ofs, Address
|
||||
andl(rdi, r2); \
|
||||
andl(rsi, r3); \
|
||||
orl(rsi, rdi); \
|
||||
leal(r1, Address(r1, rsi, Address::times_1, t)); \
|
||||
addl(r1, rsi); \
|
||||
roll(r1, s); \
|
||||
addl(r1, r2);
|
||||
|
||||
#define HH(r1, r2, r3, r4, k, s, t) \
|
||||
addl(r1, t); \
|
||||
movl(rsi, r3); \
|
||||
addl(r1, Address(buf, k*4)); \
|
||||
xorl(rsi, r4); \
|
||||
xorl(rsi, r2); \
|
||||
leal(r1, Address(r1, rsi, Address::times_1, t)); \
|
||||
addl(r1, rsi); \
|
||||
roll(r1, s); \
|
||||
addl(r1, r2);
|
||||
|
||||
#define II(r1, r2, r3, r4, k, s, t) \
|
||||
addl(r1, t); \
|
||||
movl(rsi, r4); \
|
||||
notl(rsi); \
|
||||
addl(r1, Address(buf, k*4)); \
|
||||
orl(rsi, r2); \
|
||||
xorl(rsi, r3); \
|
||||
leal(r1, Address(r1, rsi, Address::times_1, t)); \
|
||||
addl(r1, rsi); \
|
||||
roll(r1, s); \
|
||||
addl(r1, r2);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user