< 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,11 +12371,11 @@
 // 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);
+  effect(USE_KILL cnt, USE_KILL base, KILL cr);
 
   ins_cost(4 * INSN_COST);
   format %{ "ClearArray $cnt, $base" %}
 
   ins_encode %{

@@ -12386,11 +12386,11 @@
 %}
 
 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" %}
 
   ins_encode %{
< prev index next >