diff --git a/erts/emulator/beam/jit/arm/instr_arith.cpp b/erts/emulator/beam/jit/arm/instr_arith.cpp index 69c2b169b99b..3258240795b3 100644 --- a/erts/emulator/beam/jit/arm/instr_arith.cpp +++ b/erts/emulator/beam/jit/arm/instr_arith.cpp @@ -528,6 +528,11 @@ void BeamModuleAssembler::emit_i_mul_add(const ArgLabel &Fail, const ArgRegister &Dst) { bool is_product_small = is_product_small_if_args_are_small(Src1, Src2); bool is_sum_small = is_sum_small_if_args_are_small(Src3, Src4); + bool is_increment_zero = Src4.isSmall() && Src4.as().getSigned() == 0; + + if (is_increment_zero) { + comment("(adding zero)"); + } if (always_small(Src1) && always_small(Src2) && always_small(Src4) && is_product_small && is_sum_small) { @@ -560,7 +565,6 @@ void BeamModuleAssembler::emit_i_mul_add(const ArgLabel &Fail, Label small = a.newLabel(); Label store_result = a.newLabel(); auto [src1, src2] = load_sources(Src1, ARG2, Src2, ARG3); - bool is_increment_zero = Src4.isSmall() && Src4.as().getSigned() == 0; bool is_increment_arm_literal = Src4.isSmall() && Support::isUInt12(Src4.as().get()); auto src4 = load_source(ArgXRegister(0), XREG0);