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