Lines Matching defs:src2

511 	sljit_uw src2;
513 src2 = get_imm(new_constant);
514 if (src2) {
515 *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2;
522 src2 = get_imm(~new_constant);
523 if (src2) {
524 *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2;
818 #define EMIT_DATA_PROCESS_INS(opcode, set_flags, dst, src1, src2) \
819 (0xe0000000 | ((opcode) << 21) | (set_flags) | RD(dst) | RN(src1) | (src2))
824 sljit_si src2, sljit_sw src2w);
978 src2: reg or imm (if allowed)
983 return push_inst(compiler, EMIT_DATA_PROCESS_INS(opcode, flags & SET_FLAGS, dst, src1, (src2 & SRC2_IMM) ? src2 : RM(src2)))
985 #define EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(opcode, dst, src1, src2) \
986 return push_inst(compiler, EMIT_DATA_PROCESS_INS(opcode, flags & SET_FLAGS, dst, src1, src2))
989 SLJIT_ASSERT(!(flags & INV_IMM) && !(src2 & SRC2_IMM)); \
994 return push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, flags & SET_FLAGS, dst, SLJIT_UNUSED, (compiler->shift_imm << 7) | (opcode << 5) | reg_map[src2])); \
995 return push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, flags & SET_FLAGS, dst, SLJIT_UNUSED, reg_map[src2])); \
997 return push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, flags & SET_FLAGS, dst, SLJIT_UNUSED, (reg_map[(flags & ARGS_SWAPPED) ? src1 : src2] << 8) | (opcode << 5) | 0x10 | ((flags & ARGS_SWAPPED) ? reg_map[src2] : reg_map[src1])));
1000 sljit_si dst, sljit_si src1, sljit_si src2)
1007 if (dst != src2) {
1008 if (src2 & SRC2_IMM) {
1010 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MVN_DP, dst, SLJIT_UNUSED, src2);
1011 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MOV_DP, dst, SLJIT_UNUSED, src2);
1013 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MOV_DP, dst, SLJIT_UNUSED, reg_map[src2]);
1023 return push_inst(compiler, EMIT_DATA_PROCESS_INS(AND_DP, 0, dst, src2, SRC2_IMM | 0xff));
1024 FAIL_IF(push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, 0, dst, SLJIT_UNUSED, (24 << 7) | reg_map[src2])));
1027 return push_inst(compiler, (op == SLJIT_MOV_UB ? UXTB : SXTB) | RD(dst) | RM(src2));
1030 else if (dst != src2) {
1031 SLJIT_ASSERT(src2 & SRC2_IMM);
1033 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MVN_DP, dst, SLJIT_UNUSED, src2);
1034 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MOV_DP, dst, SLJIT_UNUSED, src2);
1043 FAIL_IF(push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, 0, dst, SLJIT_UNUSED, (16 << 7) | reg_map[src2])));
1046 return push_inst(compiler, (op == SLJIT_MOV_UH ? UXTH : SXTH) | RD(dst) | RM(src2));
1049 else if (dst != src2) {
1050 SLJIT_ASSERT(src2 & SRC2_IMM);
1052 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MVN_DP, dst, SLJIT_UNUSED, src2);
1053 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MOV_DP, dst, SLJIT_UNUSED, src2);
1058 if (src2 & SRC2_IMM) {
1060 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MOV_DP, dst, SLJIT_UNUSED, src2);
1061 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MVN_DP, dst, SLJIT_UNUSED, src2);
1063 EMIT_FULL_DATA_PROCESS_INS_AND_RETURN(MVN_DP, dst, SLJIT_UNUSED, RM(src2));
1067 SLJIT_ASSERT(!(src2 & SRC2_IMM));
1068 FAIL_IF(push_inst(compiler, CLZ | RD(dst) | RM(src2)));
1095 SLJIT_ASSERT(!(src2 & SRC2_IMM));
1101 if (dst != src2)
1102 FAIL_IF(push_inst(compiler, mul_inst | (reg_map[src1] << 8) | reg_map[src2]));
1104 FAIL_IF(push_inst(compiler, mul_inst | (reg_map[src2] << 8) | reg_map[src1]));
1108 FAIL_IF(push_inst(compiler, EMIT_DATA_PROCESS_INS(MOV_DP, 0, TMP_REG1, SLJIT_UNUSED, reg_map[src2])));
1109 FAIL_IF(push_inst(compiler, mul_inst | (reg_map[src2] << 8) | reg_map[TMP_REG1]));
1618 sljit_si src2, sljit_sw src2w)
1637 if (op >= SLJIT_MOV && op <= SLJIT_MOVU_SI && !(src2 & SLJIT_MEM))
1662 else if (FAST_IS_REG(src2)) {
1664 src1_r = src2;
1665 src2 = src1;
1675 src1 = src2;
1683 src1 = src2;
1692 src1 = src2;
1708 if (FAST_IS_REG(src2)) {
1709 src2_r = src2;
1715 if ((inp_flags & ALLOW_ANY_IMM) && (src2 & SLJIT_IMM)) {
1745 if (getput_arg_fast(compiler, inp_flags | LOAD_DATA, sugg_src2_r, src2, src2w)) {
1755 if (!can_cache(src1, src1w, src2, src2w) && can_cache(src1, src1w, dst, dstw)) {
1758 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, TMP_REG1, src2, src2w, src1, src1w));
1762 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, TMP_REG1, src1, src1w, src2, src2w));
1763 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, TMP_REG2, src2, src2w, dst, dstw));
1769 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, TMP_REG1, src1, src1w, src2, src2w));
1777 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, sugg_src2_r, src2, src2w, dst, dstw));
1790 FAIL_IF(getput_arg(compiler, inp_flags | LOAD_DATA, sugg_src2_r, src2, src2w, 0, 0));
1932 sljit_si src2, sljit_sw src2w)
1935 check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w);
1938 ADJUST_LOCAL_OFFSET(src2, src2w);
1947 return emit_op(compiler, op, ALLOW_IMM, dst, dstw, src1, src1w, src2, src2w);
1950 return emit_op(compiler, op, 0, dst, dstw, src1, src1w, src2, src2w);
1953 return emit_op(compiler, op, ALLOW_ANY_IMM, dst, dstw, src1, src1w, src2, src2w);
1958 if (src2 & SLJIT_IMM) {
1964 return emit_op(compiler, op, 0, dst, dstw, src1, src1w, src2, src2w);
2038 #define EMIT_FPU_OPERATION(opcode, mode, dst, src1, src2) \
2039 ((opcode) | (mode) | ((dst) << 12) | (src1) | ((src2) << 16))
2152 sljit_si src2, sljit_sw src2w)
2159 if (src2 & SLJIT_MEM) {
2160 FAIL_IF(emit_fop_mem(compiler, (op & SLJIT_SINGLE_OP) | FPU_LOAD, TMP_FREG2, src2, src2w));
2161 src2 = TMP_FREG2;
2164 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCMP_F32, op & SLJIT_SINGLE_OP, src1, src2, 0)));
2219 sljit_si src2, sljit_sw src2w)
2224 check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w);
2227 ADJUST_LOCAL_OFFSET(src2, src2w);
2235 if (src2 & SLJIT_MEM) {
2236 FAIL_IF(emit_fop_mem(compiler, (op & SLJIT_SINGLE_OP) | FPU_LOAD, TMP_FREG2, src2, src2w));
2237 src2 = TMP_FREG2;
2247 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VADD_F32, op & SLJIT_SINGLE_OP, dst_r, src2, src1)));
2251 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VSUB_F32, op & SLJIT_SINGLE_OP, dst_r, src2, src1)));
2255 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMUL_F32, op & SLJIT_SINGLE_OP, dst_r, src2, src1)));
2259 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VDIV_F32, op & SLJIT_SINGLE_OP, dst_r, src2, src1)));