Skip to content

Commit 6ead2b0

Browse files
yftsaiJatin Bhateja
authored andcommitted
8296548: Improve MD5 intrinsic for x86_64
Reviewed-by: kvn, sviswanathan, luhenry
1 parent bd3acbe commit 6ead2b0

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/hotspot/cpu/x86/macroAssembler_x86_md5.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,43 +66,47 @@ void MacroAssembler::fast_md5(Register buf, Address state, Address ofs, Address
6666
movl(rdx, Address(rdi, 12));
6767

6868
#define FF(r1, r2, r3, r4, k, s, t) \
69+
addl(r1, t); \
6970
movl(rsi, r3); \
7071
addl(r1, Address(buf, k*4)); \
7172
xorl(rsi, r4); \
7273
andl(rsi, r2); \
7374
xorl(rsi, r4); \
74-
leal(r1, Address(r1, rsi, Address::times_1, t)); \
75+
addl(r1, rsi); \
7576
roll(r1, s); \
7677
addl(r1, r2);
7778

7879
#define GG(r1, r2, r3, r4, k, s, t) \
80+
addl(r1, t); \
7981
movl(rsi, r4); \
8082
movl(rdi, r4); \
8183
addl(r1, Address(buf, k*4)); \
8284
notl(rsi); \
8385
andl(rdi, r2); \
8486
andl(rsi, r3); \
8587
orl(rsi, rdi); \
86-
leal(r1, Address(r1, rsi, Address::times_1, t)); \
88+
addl(r1, rsi); \
8789
roll(r1, s); \
8890
addl(r1, r2);
8991

9092
#define HH(r1, r2, r3, r4, k, s, t) \
93+
addl(r1, t); \
9194
movl(rsi, r3); \
9295
addl(r1, Address(buf, k*4)); \
9396
xorl(rsi, r4); \
9497
xorl(rsi, r2); \
95-
leal(r1, Address(r1, rsi, Address::times_1, t)); \
98+
addl(r1, rsi); \
9699
roll(r1, s); \
97100
addl(r1, r2);
98101

99102
#define II(r1, r2, r3, r4, k, s, t) \
103+
addl(r1, t); \
100104
movl(rsi, r4); \
101105
notl(rsi); \
102106
addl(r1, Address(buf, k*4)); \
103107
orl(rsi, r2); \
104108
xorl(rsi, r3); \
105-
leal(r1, Address(r1, rsi, Address::times_1, t)); \
109+
addl(r1, rsi); \
106110
roll(r1, s); \
107111
addl(r1, r2);
108112

0 commit comments

Comments
 (0)