[vectorIntrinsics+mask] RFR: 8273367: [Vector API] Fix a regression of rearrange intrinsic after JDK-8272479

Jie Fu jiefu at openjdk.java.net
Tue Sep 7 05:18:45 UTC 2021


On Mon, 6 Sep 2021 02:43:48 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> Hi all, 
> 
> 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
> 
> 
> This is because the type of broadcasted ZERO is incorrect.
> 
> Other affected tests include
> 
> 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
> 
> 
> Let's fix it.
> 
> Thanks.
> Best regards,
> Jie

@jatin-bhateja there is one more fix.
Thanks.

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

PR: https://git.openjdk.java.net/panama-vector/pull/120


More information about the panama-dev mailing list