RFR: 8309531: Incorrect result with unwrapped iotaShuffle. [v5]

Tobias Hartmann thartmann at openjdk.org
Mon Jul 3 05:53:58 UTC 2023


On Fri, 30 Jun 2023 10:50:01 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Patch fixes following two issues in iotaShuffle inline expander with unwrapped indices.
>>  1) Disable intrinsification if effective index do not lie within byte value range.
>>  2) Use GT predicate while computing comparison mask for all the indices above vector length.
>> 
>> No performance degradation seen with existing slice/unslice operations which internally calls wrapped iotaShuffle.
>> 
>> This interim patch addresses incorrectness around iotaShuffle till we introduce modified shuffle implementations
>> with JDK-8310691.
>> 
>> Kindly review and share feedback.
>> 
>> Best Regards,
>> Jatin
>
> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review comments resolutions.

`TestVectorShuffleIota.java` fails with `bad AD file` on macosx-aarch64-debug:

``` 
o647  VectorMaskCmp  === _ o707 o645  [[ o650 ]]  17 #vectord[4]:{byte}

--N: o647  VectorMaskCmp  === _ o707 o645  [[ o650 ]]  17 #vectord[4]:{byte}

   --N: o707  Binary  === _ o646 o643  [[ o647 ]] 
   _Binary_vReg_vReg  0  _Binary_vReg_vReg

      --N: o646  ReplicateB  === _ o167  [[ o707 o649 ]]  #vectord[4]:{byte}
      VREG  0  VREG
      VECD  0  VECD

      --N: o643  LShiftVB  === _ o638 o642  [[ o707 o648 ]]  #vectord[4]:{byte}
      VREG  0  VREG
      VECD  0  VECD

   --N: o645  ConI  === o0  [[ o647 ]]  #int:17
   IMMI  0  IMMI
   IMMI_GT_1  0  IMMI_GT_1
   IMMI_POSITIVE  0  IMMI_POSITIVE
   IMMI_CMPU_COND  0  IMMI_CMPU_COND
   IMMI26  0  IMMI26
   IMMI19  0  IMMI19
   IMMIU7  0  IMMIU7
   IMMIU12  0  IMMIU12
   IMMIOFFSET  0  IMMIOFFSET
   IMMIOFFSET1  0  IMMIOFFSET1
   IMMIOFFSET2  0  IMMIOFFSET2
   IMMIOFFSET4  0  IMMIOFFSET4
   IMMIOFFSET8  0  IMMIOFFSET8
   IMMIOFFSET16  0  IMMIOFFSET16
   IMMI8  0  IMMI8
   IMMI8_SHIFT8  0  IMMI8_SHIFT8
   IMMBADDSUBV  0  IMMBADDSUBV
   IMMIADDSUB  0  IMMIADDSUB
   IMMIADDSUBV  0  IMMIADDSUBV
   IMMBLOG  0  IMMBLOG
   IREGI  100  loadConI
   IREGINOSP  100  loadConI
   IREGI_R0  100  loadConI
   IREGI_R2  100  loadConI
   IREGI_R3  100  loadConI
   IREGI_R4  100  loadConI
   IREGIORL2I  100  IREGI

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14700#issuecomment-1617401341


More information about the hotspot-compiler-dev mailing list