Lines Matching refs:op2_addr

4322                                    zend_jit_addr   op2_addr,
4329 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4381 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4382 Z_LVAL_P(Z_ZV(op2_addr)) == 2) {
4390 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4392 Z_LVAL_P(Z_ZV(op2_addr)) > 0 &&
4393 zend_long_is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr)))) {
4395 | shl Ra(result_reg), zend_long_floor_log2(Z_LVAL_P(Z_ZV(op2_addr)))
4399 if (Z_MODE(op2_addr) == IS_REG && !must_set_cflags) {
4400 | lea Ra(result_reg), [Ra(Z_REG(op2_addr))+Ra(Z_REG(op2_addr))]
4402 | GET_ZVAL_LVAL result_reg, op2_addr
4410 | GET_ZVAL_LVAL result_reg, op2_addr
4413 (Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4414 zend_long_is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr))))) {
4416 | shr Ra(result_reg), zend_long_floor_log2(Z_LVAL_P(Z_ZV(op2_addr)))
4420 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4421 IS_SIGNED_32BIT(Z_LVAL_P(Z_ZV(op2_addr)))) {
4422 | lea Ra(result_reg), [Ra(Z_REG(op1_addr))+Z_LVAL_P(Z_ZV(op2_addr))]
4425 Z_MODE(op2_addr) == IS_REG &&
4428 | lea Ra(result_reg), [Ra(Z_REG(op2_addr))+Z_LVAL_P(Z_ZV(op1_addr))]
4432 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4433 IS_SIGNED_32BIT(-Z_LVAL_P(Z_ZV(op2_addr)))) {
4434 | lea Ra(result_reg), [Ra(Z_REG(op1_addr))-Z_LVAL_P(Z_ZV(op2_addr))]
4438 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4439 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4460 | LONG_MATH opcode, result_reg, op2_addr, tmp_reg
4511 (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 1))) {
4542 | DOUBLE_GET_ZVAL_LVAL tmp_reg2, op2_addr, tmp_reg
4568 zend_jit_addr op2_addr,
4588 | AVX_MATH opcode, result_reg, result_reg, op2_addr, r1
4590 | SSE_MATH opcode, result_reg, op2_addr, r1
4594 | AVX_MATH opcode, result_reg, result_reg, op2_addr, r0
4596 | SSE_MATH opcode, result_reg, op2_addr, r0
4613 zend_jit_addr op2_addr,
4633 | DOUBLE_GET_ZVAL_LVAL result_reg, op2_addr, tmp_reg_gp
4671 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4672 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4675 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, tmp_reg_gp
4681 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4682 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4685 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, tmp_reg_gp
4706 zend_jit_addr op2_addr,
4710 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4717 } else if (zend_is_commutative(opcode) && Z_MODE(op2_addr) == IS_REG && Z_LAST_USE(op2_addr)) {
4718 result_reg = Z_REG(op2_addr);
4729 val_addr = op2_addr;
4730 } else if (Z_MODE(op2_addr) == IS_REG && zend_is_commutative(opcode)) {
4731 op1_reg = Z_REG(op2_addr);
4736 val_addr = op2_addr;
4750 if (Z_MODE(op1_addr) != IS_REG && Z_MODE(op2_addr) == IS_REG && zend_is_commutative(opcode)) {
4751 | DOUBLE_GET_ZVAL_DVAL result_reg, op2_addr
4755 val_addr = op2_addr;
4791 zend_jit_addr op2_addr,
4801 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4813 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >1
4817 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4819 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4825 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4828 …if (!zend_jit_math_long_long(Dst, opline, opcode, op1_addr, op2_addr, res_addr, res_info, res_use_…
4840 | IF_NOT_ZVAL_TYPE, op2_addr, IS_DOUBLE, >1
4842 | IF_NOT_ZVAL_TYPE, op2_addr, IS_DOUBLE, >6
4845 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4853 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4855 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4872 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >1
4874 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4877 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4887 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4889 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4902 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4912 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4924 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4976 if (Z_MODE(op2_addr) == IS_REG) {
4978 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
4981 op2_addr = real_addr;
4984 | LOAD_ZVAL_ADDR CARG3, op2_addr
4987 | PUSH_ZVAL_ADDR op2_addr, r0
5033 …32_t op1_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, uint32_t res_use…
5039 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, opline…
5048 …32_t op1_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, zend_jit_addr re…
5050 if (Z_MODE(op2_addr) != IS_MEM_ZVAL || Z_REG(op2_addr) != ZREG_FCARG1) {
5052 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5054 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5057 | GET_ZVAL_LVAL ZREG_R0, op2_addr
5079 zend_jit_addr op2_addr,
5089 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
5096 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
5116 && Z_MODE(op2_addr) != IS_CONST_ZVAL) {
5124 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5125 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5132 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5143 if (Z_MODE(op2_addr) != IS_REG || Z_REG(op2_addr) != ZREG_RCX) {
5144 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5157 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5168 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5169 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5176 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5184 if (Z_MODE(op2_addr) != IS_REG || Z_REG(op2_addr) != ZREG_RCX) {
5185 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5198 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5207 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5208 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5212 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5244 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5260 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5261 | cmp aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)], 0
5262 } else if (Z_MODE(op2_addr) == IS_REG) {
5263 | test Ra(Z_REG(op2_addr)), Ra(Z_REG(op2_addr))
5269 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5277 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5278 | cmp aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)], -1
5279 } else if (Z_MODE(op2_addr) == IS_REG) {
5280 | cmp Ra(Z_REG(op2_addr)), -1
5307 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5308 | idiv aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)]
5309 } else if (Z_MODE(op2_addr) == IS_REG) {
5310 | idiv Ra(Z_REG(op2_addr))
5338 | LONG_MATH opcode, result_reg, op2_addr, tmp_reg
5391 if (Z_MODE(op2_addr) == IS_REG) {
5393 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
5396 op2_addr = real_addr;
5399 | LOAD_ZVAL_ADDR CARG3, op2_addr
5402 | PUSH_ZVAL_ADDR op2_addr, r0
5456 …r op1_addr, uint32_t op2_info, zend_ssa_range *op2_range, zend_jit_addr op2_addr, uint32_t res_use…
5463 opline->op2_type, opline->op2, op2_addr, op2_info, op2_range,
5481 zend_jit_addr op2_addr,
5492 | IF_NOT_ZVAL_TYPE op2_addr, IS_STRING, >6
5498 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
5508 | LOAD_ZVAL_ADDR CARG3, op2_addr
5511 | PUSH_ZVAL_ADDR op2_addr, r0
5546 | LOAD_ZVAL_ADDR CARG3, op2_addr
5549 | PUSH_ZVAL_ADDR op2_addr, r0
5581 zend_jit_addr op1_addr, op2_addr;
5587 op2_addr = OP2_ADDR();
5589 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, res_ad…
5595 zend_jit_addr op2_addr = OP2_ADDR();
5615 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >3
5634 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5640 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5641 val = Z_LVAL_P(Z_ZV(op2_addr));
5650 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5727 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5787 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5843 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5873 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5891 | IF_NOT_ZVAL_TYPE op2_addr, IS_STRING, >3
5894 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
6011 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
6541 zend_jit_addr op2_addr, op3_addr, res_addr;
6543 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
6699 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
6700 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
6702 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
6767 zend_jit_addr op2_addr, op3_addr, var_addr;
6773 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
6970 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
6971 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
6973 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
7020 zend_jit_addr op1_addr, op2_addr;
7026 op2_addr = OP2_ADDR();
7038 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
7068 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, opline…
7078 opline->op2_type, opline->op2, op2_addr, op2_info, op2_range,
7082 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, op1_ad…
7096 zend_jit_addr op2_addr,
7107 …if (zend_jit_is_constant_cmp_long_long(opline, op1_range, op1_addr, op2_range, op2_addr, &result))…
7133 (Z_MODE(op2_addr) == IS_REG ||
7134 (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) != IS_CONST_ZVAL))) {
7138 if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
7141 | LONG_OP cmp, Z_REG(op1_addr), op2_addr, r0
7143 } else if (Z_MODE(op2_addr) == IS_REG) {
7145 | test Ra(Z_REG(op2_addr)), Ra(Z_REG(op2_addr))
7147 | LONG_OP cmp, Z_REG(op2_addr), op1_addr, r0
7150 } else if (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) != IS_CONST_ZVAL) {
7151 | LONG_OP_WITH_CONST cmp, op2_addr, Z_LVAL_P(Z_ZV(op1_addr))
7153 } else if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_MODE(op1_addr) != IS_CONST_ZVAL) {
7154 | LONG_OP_WITH_CONST cmp, op1_addr, Z_LVAL_P(Z_ZV(op2_addr))
7157 if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
7160 | LONG_OP cmp, ZREG_R0, op2_addr, r0
7663 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7668 | DOUBLE_CMP tmp_reg, op2_addr
7673 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7677 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, ZREG_R0
7683 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7688 | DOUBLE_CMP Z_REG(op1_addr), op2_addr
7689 } else if (Z_MODE(op2_addr) == IS_REG) {
7690 | DOUBLE_CMP Z_REG(op2_addr), op1_addr
7696 | DOUBLE_CMP tmp_reg, op2_addr
7835 zend_jit_addr op2_addr,
7863 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >3
7867 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
7869 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
7875 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
7878 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
7890 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >5
7892 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
7895 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
7903 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
7905 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
7921 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >3
7923 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
7926 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
7936 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
7938 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
7950 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
7960 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
7972 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
7997 if (Z_MODE(op2_addr) == IS_REG) {
7999 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
8002 op2_addr = real_addr;
8013 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
8021 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8024 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8079 zend_jit_addr op2_addr,
8113 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
8119 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8143 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8178 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8182 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8211 if (Z_MODE(op2_addr) == IS_REG) {
8213 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
8216 op2_addr = real_addr;
8218 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8278 } else if (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) == IS_CONST_ZVAL) {
8279 if (zend_is_identical(Z_ZV(op1_addr), Z_ZV(op2_addr))) {
8354 } else if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_TYPE_P(Z_ZV(op2_addr)) <= IS_TRUE) {
8355 zval *val = Z_ZV(op2_addr);
8413 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8965 … op1_def_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, zend_jit_addr op…
8969 if (op2_addr != op2_def_addr) {
8970 if (!zend_jit_update_regs(Dst, opline->op2.var, op2_addr, op2_def_addr, op2_info)) {
8973 if (Z_MODE(op2_def_addr) == IS_REG && Z_MODE(op2_addr) != IS_REG) {
8974 op2_addr = op2_def_addr;
8985 …line, op1_use_addr, op1_addr, op1_info, op1_def_info, opline->op2_type, op2_addr, op2_info, res_ad…
9731 zend_jit_addr op2_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->op2.var);
9733 | GET_ZVAL_PTR r0, op2_addr
11786 zend_jit_addr orig_op1_addr, op2_addr;
11795 op2_addr = OP2_ADDR();
11914 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
11917 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
11923 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
11956 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
11957 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
11959 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
11997 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
12148 zend_jit_addr op2_addr;
12151 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
12299 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
12300 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
12302 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12371 zend_jit_addr op2_addr, res_addr;
12376 op2_addr = OP2_ADDR();
12429 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
12430 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
12432 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12444 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
15695 zend_jit_addr op2_addr = OP2_ADDR();
15699 | GET_ZVAL_PTR r1, op2_addr
15702 | GET_ZVAL_TYPE_INFO eax, op2_addr