# HG changeset patch # User fyang # Date 1592828762 -28800 # Mon Jun 22 20:26:02 2020 +0800 # Node ID 983b0a7cacc33486029ca2c7636553c95327f607 # Parent eeb2f76383f2c9449da05029b4d9a09d5519858d 8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg Reviewed-by: adinn Contributed-by: wangyadong4@huawei.com diff --git a/src/cpu/aarch64/vm/aarch64.ad b/src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad +++ b/src/cpu/aarch64/vm/aarch64.ad @@ -12373,7 +12373,7 @@ instruct clearArray_reg_reg(iRegL_R11 cnt, iRegP_R10 base, Universe dummy, rFlagsReg cr) %{ match(Set dummy (ClearArray cnt base)); - effect(USE_KILL cnt, USE_KILL base); + effect(USE_KILL cnt, USE_KILL base, KILL cr); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %} @@ -12388,7 +12388,7 @@ instruct clearArray_imm_reg(immL cnt, iRegP_R10 base, iRegL_R11 tmp, Universe dummy, rFlagsReg cr) %{ match(Set dummy (ClearArray cnt base)); - effect(USE_KILL base, TEMP tmp); + effect(USE_KILL base, TEMP tmp, KILL cr); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %}