Lines Matching refs:op2_addr

4374                                    zend_jit_addr   op2_addr,
4381 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4433 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4434 Z_LVAL_P(Z_ZV(op2_addr)) == 2) {
4442 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4444 Z_LVAL_P(Z_ZV(op2_addr)) > 0 &&
4445 zend_long_is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr)))) {
4447 | shl Ra(result_reg), zend_long_floor_log2(Z_LVAL_P(Z_ZV(op2_addr)))
4451 if (Z_MODE(op2_addr) == IS_REG && !must_set_cflags) {
4452 | lea Ra(result_reg), [Ra(Z_REG(op2_addr))+Ra(Z_REG(op2_addr))]
4454 | GET_ZVAL_LVAL result_reg, op2_addr
4462 | GET_ZVAL_LVAL result_reg, op2_addr
4465 (Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4466 zend_long_is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr))))) {
4468 | shr Ra(result_reg), zend_long_floor_log2(Z_LVAL_P(Z_ZV(op2_addr)))
4472 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4473 IS_SIGNED_32BIT(Z_LVAL_P(Z_ZV(op2_addr)))) {
4474 | lea Ra(result_reg), [Ra(Z_REG(op1_addr))+Z_LVAL_P(Z_ZV(op2_addr))]
4477 Z_MODE(op2_addr) == IS_REG &&
4480 | lea Ra(result_reg), [Ra(Z_REG(op2_addr))+Z_LVAL_P(Z_ZV(op1_addr))]
4484 Z_MODE(op2_addr) == IS_CONST_ZVAL &&
4485 IS_SIGNED_32BIT(-Z_LVAL_P(Z_ZV(op2_addr)))) {
4486 | lea Ra(result_reg), [Ra(Z_REG(op1_addr))-Z_LVAL_P(Z_ZV(op2_addr))]
4490 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4491 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4506 | LONG_MATH opcode, result_reg, op2_addr, tmp_reg
4557 (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 1))) {
4588 | DOUBLE_GET_ZVAL_LVAL tmp_reg2, op2_addr, tmp_reg
4614 zend_jit_addr op2_addr,
4634 | AVX_MATH opcode, result_reg, result_reg, op2_addr, r1
4636 | SSE_MATH opcode, result_reg, op2_addr, r1
4640 | AVX_MATH opcode, result_reg, result_reg, op2_addr, r0
4642 | SSE_MATH opcode, result_reg, op2_addr, r0
4659 zend_jit_addr op2_addr,
4679 | DOUBLE_GET_ZVAL_LVAL result_reg, op2_addr, tmp_reg_gp
4717 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4718 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4721 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, tmp_reg_gp
4727 && Z_MODE(op2_addr) == IS_CONST_ZVAL
4728 && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
4731 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, tmp_reg_gp
4752 zend_jit_addr op2_addr,
4756 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4763 } else if (zend_is_commutative(opcode) && Z_MODE(op2_addr) == IS_REG && Z_LAST_USE(op2_addr)) {
4764 result_reg = Z_REG(op2_addr);
4775 val_addr = op2_addr;
4776 } else if (Z_MODE(op2_addr) == IS_REG && zend_is_commutative(opcode)) {
4777 op1_reg = Z_REG(op2_addr);
4782 val_addr = op2_addr;
4796 if (Z_MODE(op1_addr) != IS_REG && Z_MODE(op2_addr) == IS_REG && zend_is_commutative(opcode)) {
4797 | DOUBLE_GET_ZVAL_DVAL result_reg, op2_addr
4801 val_addr = op2_addr;
4837 zend_jit_addr op2_addr,
4847 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
4859 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >1
4863 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4865 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4871 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4874 …if (!zend_jit_math_long_long(Dst, opline, opcode, op1_addr, op2_addr, res_addr, res_info, res_use_…
4886 | IF_NOT_ZVAL_TYPE, op2_addr, IS_DOUBLE, >1
4888 | IF_NOT_ZVAL_TYPE, op2_addr, IS_DOUBLE, >6
4891 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4899 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4901 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4918 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >1
4920 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4923 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4933 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
4935 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4948 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >6
4958 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4970 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
5022 if (Z_MODE(op2_addr) == IS_REG) {
5024 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
5027 op2_addr = real_addr;
5030 | LOAD_ZVAL_ADDR CARG3, op2_addr
5033 | PUSH_ZVAL_ADDR op2_addr, r0
5079 …32_t op1_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, uint32_t res_use…
5085 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, opline…
5094 …32_t op1_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, zend_jit_addr re…
5096 if (Z_MODE(op2_addr) != IS_MEM_ZVAL || Z_REG(op2_addr) != ZREG_FCARG1) {
5098 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5100 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5103 | GET_ZVAL_LVAL ZREG_R0, op2_addr
5125 zend_jit_addr op2_addr,
5135 bool same_ops = zend_jit_same_addr(op1_addr, op2_addr);
5142 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >6
5162 && Z_MODE(op2_addr) != IS_CONST_ZVAL) {
5170 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5171 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5178 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5189 if (Z_MODE(op2_addr) != IS_REG || Z_REG(op2_addr) != ZREG_RCX) {
5190 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5203 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5214 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5215 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5222 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5230 if (Z_MODE(op2_addr) != IS_REG || Z_REG(op2_addr) != ZREG_RCX) {
5231 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5244 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5253 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5254 zend_long op2_lval = Z_LVAL_P(Z_ZV(op2_addr));
5258 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5290 | GET_ZVAL_LVAL ZREG_RCX, op2_addr
5306 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5307 | cmp aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)], 0
5308 } else if (Z_MODE(op2_addr) == IS_REG) {
5309 | test Ra(Z_REG(op2_addr)), Ra(Z_REG(op2_addr))
5315 zend_jit_invalidate_var_if_necessary(Dst, op2_type, op2_addr, op2);
5323 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5324 | cmp aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)], -1
5325 } else if (Z_MODE(op2_addr) == IS_REG) {
5326 | cmp Ra(Z_REG(op2_addr)), -1
5353 if (Z_MODE(op2_addr) == IS_MEM_ZVAL) {
5354 | idiv aword [Ra(Z_REG(op2_addr))+Z_OFFSET(op2_addr)]
5355 } else if (Z_MODE(op2_addr) == IS_REG) {
5356 | idiv Ra(Z_REG(op2_addr))
5376 | LONG_MATH opcode, result_reg, op2_addr, tmp_reg
5429 if (Z_MODE(op2_addr) == IS_REG) {
5431 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
5434 op2_addr = real_addr;
5437 | LOAD_ZVAL_ADDR CARG3, op2_addr
5440 | PUSH_ZVAL_ADDR op2_addr, r0
5494 …r op1_addr, uint32_t op2_info, zend_ssa_range *op2_range, zend_jit_addr op2_addr, uint32_t res_use…
5501 opline->op2_type, opline->op2, op2_addr, op2_info, op2_range,
5519 zend_jit_addr op2_addr,
5530 | IF_NOT_ZVAL_TYPE op2_addr, IS_STRING, >6
5536 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
5546 | LOAD_ZVAL_ADDR CARG3, op2_addr
5549 | PUSH_ZVAL_ADDR op2_addr, r0
5584 | LOAD_ZVAL_ADDR CARG3, op2_addr
5587 | PUSH_ZVAL_ADDR op2_addr, r0
5619 zend_jit_addr op1_addr, op2_addr;
5625 op2_addr = OP2_ADDR();
5627 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, res_ad…
5633 zend_jit_addr op2_addr = OP2_ADDR();
5653 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >3
5672 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5678 if (Z_MODE(op2_addr) == IS_CONST_ZVAL) {
5679 val = Z_LVAL_P(Z_ZV(op2_addr));
5688 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5765 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5825 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5881 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5911 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
5929 | IF_NOT_ZVAL_TYPE op2_addr, IS_STRING, >3
5932 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
6049 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
6579 zend_jit_addr op2_addr, op3_addr, res_addr;
6581 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
6737 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
6738 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
6740 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
6805 zend_jit_addr op2_addr, op3_addr, var_addr;
6811 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
7008 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
7009 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
7011 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
7058 zend_jit_addr op1_addr, op2_addr;
7064 op2_addr = OP2_ADDR();
7076 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
7106 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, opline…
7116 opline->op2_type, opline->op2, op2_addr, op2_info, op2_range,
7120 …1_type, opline->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, op1_ad…
7134 zend_jit_addr op2_addr,
7145 …if (zend_jit_is_constant_cmp_long_long(opline, op1_range, op1_addr, op2_range, op2_addr, &result))…
7177 (Z_MODE(op2_addr) == IS_REG ||
7178 (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) != IS_CONST_ZVAL))) {
7182 if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
7185 | LONG_OP cmp, Z_REG(op1_addr), op2_addr, r0
7187 } else if (Z_MODE(op2_addr) == IS_REG) {
7189 | test Ra(Z_REG(op2_addr)), Ra(Z_REG(op2_addr))
7191 | LONG_OP cmp, Z_REG(op2_addr), op1_addr, r0
7194 } else if (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) != IS_CONST_ZVAL) {
7195 | LONG_OP_WITH_CONST cmp, op2_addr, Z_LVAL_P(Z_ZV(op1_addr))
7197 } else if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_MODE(op1_addr) != IS_CONST_ZVAL) {
7198 | LONG_OP_WITH_CONST cmp, op1_addr, Z_LVAL_P(Z_ZV(op2_addr))
7201 if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_LVAL_P(Z_ZV(op2_addr)) == 0) {
7204 | LONG_OP cmp, ZREG_R0, op2_addr, r0
7771 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7776 | DOUBLE_CMP tmp_reg, op2_addr
7781 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7785 | DOUBLE_GET_ZVAL_LVAL tmp_reg, op2_addr, ZREG_R0
7791 …ate **Dst, const zend_op *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr re…
7796 | DOUBLE_CMP Z_REG(op1_addr), op2_addr
7797 } else if (Z_MODE(op2_addr) == IS_REG) {
7798 | DOUBLE_CMP Z_REG(op2_addr), op1_addr
7804 | DOUBLE_CMP tmp_reg, op2_addr
7962 zend_jit_addr op2_addr,
7990 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >3
7994 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
7996 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8002 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
8005 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
8017 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >5
8019 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
8022 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8030 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
8032 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8048 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >3
8050 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
8053 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8063 | IF_NOT_ZVAL_TYPE op2_addr, IS_LONG, >9
8065 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8077 | IF_NOT_ZVAL_TYPE op2_addr, IS_DOUBLE, >9
8087 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8099 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8124 if (Z_MODE(op2_addr) == IS_REG) {
8126 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
8129 op2_addr = real_addr;
8140 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
8148 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8151 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8206 zend_jit_addr op2_addr,
8246 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
8252 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8276 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8311 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8315 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8344 if (Z_MODE(op2_addr) == IS_REG) {
8346 if (!zend_jit_spill_store(Dst, op2_addr, real_addr, op2_info, 1)) {
8349 op2_addr = real_addr;
8351 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
8411 } else if (Z_MODE(op1_addr) == IS_CONST_ZVAL && Z_MODE(op2_addr) == IS_CONST_ZVAL) {
8412 if (zend_is_identical(Z_ZV(op1_addr), Z_ZV(op2_addr))) {
8487 } else if (Z_MODE(op2_addr) == IS_CONST_ZVAL && Z_TYPE_P(Z_ZV(op2_addr)) <= IS_TRUE) {
8488 zval *val = Z_ZV(op2_addr);
8546 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
9101 … op1_def_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, zend_jit_addr op…
9105 if (op2_addr != op2_def_addr) {
9106 if (!zend_jit_update_regs(Dst, opline->op2.var, op2_addr, op2_def_addr, op2_info)) {
9109 if (Z_MODE(op2_def_addr) == IS_REG && Z_MODE(op2_addr) != IS_REG) {
9110 op2_addr = op2_def_addr;
9121 …line, op1_use_addr, op1_addr, op1_info, op1_def_info, opline->op2_type, op2_addr, op2_info, res_ad…
9867 zend_jit_addr op2_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->op2.var);
9869 | GET_ZVAL_PTR r0, op2_addr
11941 zend_jit_addr orig_op1_addr, op2_addr;
11950 op2_addr = OP2_ADDR();
12069 | GET_ZVAL_LVAL ZREG_FCARG2, op2_addr
12072 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12078 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12111 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
12112 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
12114 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12152 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
12303 zend_jit_addr op2_addr;
12306 op2_addr = (opline->op2_type != IS_UNUSED) ? OP2_ADDR() : 0;
12454 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
12455 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
12457 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12526 zend_jit_addr op2_addr, res_addr;
12531 op2_addr = OP2_ADDR();
12584 ZEND_ASSERT(Z_MODE(op2_addr) == IS_CONST_ZVAL);
12585 | LOAD_ADDR FCARG2a, (Z_ZV(op2_addr) + 1)
12587 | LOAD_ZVAL_ADDR FCARG2a, op2_addr
12599 | IF_NOT_ZVAL_TYPE op2_addr, IS_UNDEF, >1
15772 zend_jit_addr op2_addr = OP2_ADDR();
15776 | GET_ZVAL_PTR r1, op2_addr
15779 | GET_ZVAL_TYPE_INFO eax, op2_addr