[jdk17] RFR: 8269568: JVM crashes when running VectorMask query tests [v2]
Xiaohong Gong
xgong at openjdk.java.net
Fri Jul 2 04:30:28 UTC 2021
On Thu, 1 Jul 2021 18:59:42 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> 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);
Removed!
-------------
PR: https://git.openjdk.java.net/jdk17/pull/168
More information about the hotspot-compiler-dev
mailing list