Integrated: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend

Wang Huang whuang at openjdk.java.net
Mon May 31 09:44:27 UTC 2021


On Fri, 28 May 2021 06:47:19 GMT, Wang Huang <whuang at openjdk.org> wrote:

> 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()`.
> 
> Although now we can only reproduce this bug on AArch64,  it should be added for all platforms with predicate support.

This pull request has now been integrated.

Changeset: 7ab6b401
Author:    Wang Huang <whuang at openjdk.org>
Committer: Nils Eliasson <neliasso at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/7ab6b4012026d4786a4c3937b559da9d3142a228
Stats:     65 lines in 2 files changed: 65 ins; 0 del; 0 mod

8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend

Co-authored-by: Wang Huang <whuang at openjdk.org>
Co-authored-by: Ai Jiaming <aijiaming1 at huawei.com>
Reviewed-by: aph, neliasso

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

PR: https://git.openjdk.java.net/jdk/pull/4239


More information about the hotspot-compiler-dev mailing list