[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