[vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2]

Wang Huang whuang at openjdk.java.net
Thu May 20 01:51:34 UTC 2021


> Reason: 
> 
> 
> operand pRegGov()
> %{
>   constraint(ALLOC_IN_RC(gov_pr));
>   match(RegVectMask);
>   op_cost(0);
>   format %{ %}
>   interface(REG_INTER);
> %}
> 
> if `pRegGov` is used as a `TEMP`, like :
> 
> 
> instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr)
> %{
>   predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 &&
>             n->bottom_type()->is_vect()->element_basic_type() == T_BYTE);
>   match(Set dst (VectorInsert (Binary src val) idx));
>   effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here
> 
> 
> It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`.
> 
> We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`.

Wang Huang has updated the pull request incrementally with one additional commit since the last revision:

  fix bug id

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

Changes:
  - all: https://git.openjdk.java.net/panama-vector/pull/85/files
  - new: https://git.openjdk.java.net/panama-vector/pull/85/files/d474d45d..8fbef1ab

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

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/85.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/85/head:pull/85

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


More information about the panama-dev mailing list