[vectorIntrinsics] RFR: 8274569: X86 backend related incorrectness issues in legacy store mask patterns

Jatin Bhateja jbhateja at openjdk.java.net
Thu Sep 30 19:47:40 UTC 2021


- Issue was seen while unit testing changes for masking related optimizations on vectorIntrinsics branch.

- Following patterns result into incorrect store mask computation, even though contextually store-mask is followed by StoreVector which does takes care of various vector sizes. But C2 does emit VectorStoreMask in IR to populate a byte vector. 

  - instruct storeMask2B
  - instruct storeMask4B
  - instruct storeMask8B
  - instruct storeMask8B_avx

- Replicate with immI operand is correctly taking care of shorter vector lengths thus it can be fall back case for following pattern with immediate -1 argument. 
  - instruct ReplI_M1
  
Patch also adds a test case which exhaustively coves load/store vector masks operations for different SPECIES.

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

Commit messages:
 - 8274569: X86 backend related incorrectness issues in legacy storemask patterns

Changes: https://git.openjdk.java.net/panama-vector/pull/139/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=139&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8274569
  Stats: 259 lines in 2 files changed: 241 ins; 0 del; 18 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/139.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/139/head:pull/139

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


More information about the panama-dev mailing list