JDK-8273367 : [Vector API] Fix a regression of rearrange intrinsic after JDK-8272479
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-panama
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-09-06
  • Updated: 2021-09-08
  • Resolved: 2021-09-08
Related Reports
Relates :  
Description
After JDK-8272479, the following crash was observed on x86 with `-ea -esa -Xcomp -XX:CompileThreshold=100`

test Double256VectorTests.RearrangeDouble256VectorTests(double[-i * 5], shuffle[random]): success
test Double256VectorTests.RearrangeDouble256VectorTests(double[i * 5], shuffle[random]): success
test Double256VectorTests.RearrangeDouble256VectorTests(double[i + 1], shuffle[random]): success
test Double256VectorTests.RearrangeDouble256VectorTests(double[cornerCaseValue(i)], shuffle[random]): success
o114  ReplicateD  === _ o73  [[o340 ]]  #vectory[4]:{double}

--N: o114  ReplicateD  === _ o73  [[o340 ]]  #vectory[4]:{double}

   --N: o73  ConI  === o0  [[o166 o173 o114 ]]  #int:0
   IMMI  10  IMMI
   IMMI_0  0  IMMI_0
   IMMI2  0  IMMI2
   IMMU7  5  IMMU7
   IMMI8  5  IMMI8
   IMMU8  5  IMMU8
   IMMI16  10  IMMI16
   IMMU31  0  IMMU31
   RREGI  50  loadConI0
   RAX_REGI  50  loadConI0
   RBX_REGI  50  loadConI0
   RCX_REGI  50  loadConI0
   RDX_REGI  50  loadConI0
   RDI_REGI  50  loadConI0
   NO_RAX_RDX_REGI  50  loadConI0
   STACKSLOTI  150  storeSSI

Affected tests:
jdk/incubator/vector/Double256VectorTests.java
jdk/incubator/vector/DoubleMaxVectorTests.java
jdk/incubator/vector/Float128VectorTests.java
jdk/incubator/vector/Float256VectorTests.java
jdk/incubator/vector/FloatMaxVectorTests.java
jdk/incubator/vector/Long256VectorTests.java
jdk/incubator/vector/LongMaxVectorTests.java