Date: Fri, 9 Jun 2023 09:04:38 +0800 Subject: 8299158: Improve MD5 intrinsic on AArch64 Bug url: https://bugs.openjdk.org/browse/JDK-8299158 --- .../src/cpu/aarch64/vm/stubGenerator_aarch64.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp index a3f93204e..565fe559c 100644 --- a/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp +++ b/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp @@ -3218,19 +3218,19 @@ class StubGenerator: public StubCodeGenerator { __ addw(rscratch4, r1, rscratch2); \ __ ldrw(rscratch1, Address(buf, k*4)); \ __ eorw(rscratch3, rscratch3, r4); \ - __ addw(rscratch3, rscratch3, rscratch1); \ + __ addw(rscratch4, rscratch4, rscratch1); \ __ addw(rscratch3, rscratch3, rscratch4); \ __ rorw(rscratch2, rscratch3, 32 - s); \ __ addw(r1, rscratch2, r2); #define GG(r1, r2, r3, r4, k, s, t) \ - __ eorw(rscratch2, r2, r3); \ + __ andw(rscratch3, r2, r4); \ + __ bicw(rscratch4, r3, r4); \ __ ldrw(rscratch1, Address(buf, k*4)); \ - __ andw(rscratch3, rscratch2, r4); \ __ movw(rscratch2, t); \ - __ eorw(rscratch3, rscratch3, r3); \ + __ orrw(rscratch3, rscratch3, rscratch4); \ __ addw(rscratch4, r1, rscratch2); \ - __ addw(rscratch3, rscratch3, rscratch1); \ + __ addw(rscratch4, rscratch4, rscratch1); \ __ addw(rscratch3, rscratch3, rscratch4); \ __ rorw(rscratch2, rscratch3, 32 - s); \ __ addw(r1, rscratch2, r2); @@ -3241,7 +3241,7 @@ class StubGenerator: public StubCodeGenerator { __ addw(rscratch4, r1, rscratch2); \ __ ldrw(rscratch1, Address(buf, k*4)); \ __ eorw(rscratch3, rscratch3, r2); \ - __ addw(rscratch3, rscratch3, rscratch1); \ + __ addw(rscratch4, rscratch4, rscratch1); \ __ addw(rscratch3, rscratch3, rscratch4); \ __ rorw(rscratch2, rscratch3, 32 - s); \ __ addw(r1, rscratch2, r2); @@ -3252,7 +3252,7 @@ class StubGenerator: public StubCodeGenerator { __ addw(rscratch4, r1, rscratch3); \ __ ldrw(rscratch1, Address(buf, k*4)); \ __ eorw(rscratch3, rscratch2, r3); \ - __ addw(rscratch3, rscratch3, rscratch1); \ + __ addw(rscratch4, rscratch4, rscratch1); \ __ addw(rscratch3, rscratch3, rscratch4); \ __ rorw(rscratch2, rscratch3, 32 - s); \ __ addw(r1, rscratch2, r2); -- 2.22.0