[vectorIntrinsics+mask] RFR: 8273264: AArch64: [vector] Add missing rules for VectorMaskCast [v3]

Eric Liu eliu at openjdk.java.net
Fri Sep 17 06:49:39 UTC 2021


> This patch
> 1. Adds missing rules for VectorMaskCast for compatible species, E.g.
>    ByteVector.SPECIES_64 --> ShortVector.SPECIES_128
> 2. Fixes a matching failure on AArch64.
> 
> The performance improves about 60% compared with the unintrinsified
> version.

Eric Liu has updated the pull request incrementally with two additional commits since the last revision:

 - add comment to test case
   
   Change-Id: I9db7b5c3a263cc21bfd06aeff91f45873201e1ed
 - Fix a predicate register allocation issue
   
   When a predicate live range has a predicate register mask chosen, we
   create a map between node and opto reg. For scalable register, when it
   is allocated at stack, we need to record the real hi/lo opto reg  pair
   to indicate the size of stack it occupied. But for a physical register
   allocated, we just mask the whole reg mask slots, e.g. only one slot
   for predicate register. This patch fixes the issue for predicate
   register handling. When predicate is allocated as a physical register,
   e.g. 335 (P15), we should not call set2(), which will assign both 335
   and 336 for this live range.
   
   Also move idealreg2spillmask[Op_RegVectMask] initialization code into
   scalable vector handling block to align with the handling for Op_VecA.
   
   Change-Id: I64b42f654a158c2f40a0b6792740678d07aac933

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

Changes:
  - all: https://git.openjdk.java.net/panama-vector/pull/124/files
  - new: https://git.openjdk.java.net/panama-vector/pull/124/files/84761ce0..624e7239

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=124&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=124&range=01-02

  Stats: 23 lines in 3 files changed: 13 ins; 1 del; 9 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/124.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/124/head:pull/124

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


More information about the panama-dev mailing list