is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr))))) {
| GET_ZVAL_LVAL result_reg, op1_addr
| shr Ra(result_reg), floor_log2(Z_LVAL_P(Z_ZV(op2_addr)))
+ } else if (opcode == ZEND_ADD &&
+ !may_overflow &&
+ Z_MODE(op1_addr) == IS_REG &&
+ Z_MODE(op2_addr) == IS_CONST_ZVAL) {
+ | lea Ra(result_reg), [Ra(Z_REG(op1_addr))+Z_LVAL_P(Z_ZV(op2_addr))]
+ } else if (opcode == ZEND_ADD &&
+ !may_overflow &&
+ Z_MODE(op2_addr) == IS_REG &&
+ Z_MODE(op1_addr) == IS_CONST_ZVAL) {
+ | lea Ra(result_reg), [Ra(Z_REG(op2_addr))+Z_LVAL_P(Z_ZV(op1_addr))]
+ } else if (opcode == ZEND_SUB &&
+ !may_overflow &&
+ Z_MODE(op1_addr) == IS_REG &&
+ Z_MODE(op2_addr) == IS_CONST_ZVAL) {
+ | lea Ra(result_reg), [Ra(Z_REG(op1_addr))-Z_LVAL_P(Z_ZV(op2_addr))]
} else {
| GET_ZVAL_LVAL result_reg, op1_addr
if (same_ops && opcode != ZEND_DIV) {