[jdk17] RFR: 8269568: JVM crashes when running VectorMask query tests [v2]
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Thu Jul 1 19:03:01 UTC 2021
On Thu, 1 Jul 2021 12:56:21 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> Xiaohong Gong has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Refactor VectorMask query tests
>> - Fix x86 backend codegen issue
>
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 3868:
>
>> 3866: if (masklen < 64) {
>> 3867: andq(tmp, (((jlong)1 << masklen) - 1));
>> 3868: }
>
> Hi @sviswa7 , @XiaohongGong , @DamonFool , I think problem will occur only on non-AVX512VLBW platforms. So this workaround fix of one extra instruction can be removed from this place.
@jatin-bhateja Thanks for this input.
@XiaohongGong Please include the following patch for Jatin's comment:
diff --git a/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp b/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp
index 87016e2..e21b065 100644
--- a/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp
+++ b/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp
@@ -3863,9 +3863,6 @@ void C2_MacroAssembler::vector_mask_operation(int opc, Register dst, XMMRegister
vpsubb(xtmp, xtmp, mask, vec_enc);
evpmovb2m(ktmp, xtmp, vec_enc);
kmovql(tmp, ktmp);
- if (masklen < 64) {
- andq(tmp, (((jlong)1 << masklen) - 1));
- }
switch(opc) {
case Op_VectorMaskTrueCount:
popcntq(dst, tmp);
-------------
PR: https://git.openjdk.java.net/jdk17/pull/168
More information about the hotspot-compiler-dev
mailing list