< prev index next >

src/cpu/aarch64/vm/aarch64.ad

Print this page
rev 11942 : 8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg
Reviewed-by: adinn
Contributed-by: wangyadong4@huawei.com

*** 12371,12381 **** // clearing of an array 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); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %} ins_encode %{ --- 12371,12381 ---- // clearing of an array 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, KILL cr); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %} ins_encode %{
*** 12386,12396 **** %} 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); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %} ins_encode %{ --- 12386,12396 ---- %} 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, KILL cr); ins_cost(4 * INSN_COST); format %{ "ClearArray $cnt, $base" %} ins_encode %{
< prev index next >