Home | History | Annotate | Download | only in sljit

Lines Matching refs:src2

530 	sljit_uw src2;
532 src2 = get_imm(new_constant);
533 if (src2) {
534 *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2;
542 src2 = get_imm(~new_constant);
543 if (src2) {
544 *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2;
904 sljit_s32 src2, sljit_sw src2w);
1008 src2: reg or imm (if allowed)
1013 SLJIT_ASSERT(!(flags & INV_IMM) && !(src2 & SRC2_IMM)); \
1020 RD(dst) | (compiler->shift_imm << 7) | (opcode << 5) | RM(src2)); \
1021 return push_inst(compiler, MOV | (flags & SET_FLAGS) | RD(dst) | RM(src2)); \
1024 (reg_map[(flags & ARGS_SWAPPED) ? src1 : src2] << 8) | (opcode << 5) | 0x10 | RM((flags & ARGS_SWAPPED) ? src2 : src1));
1027 sljit_s32 dst, sljit_s32 src1, sljit_s32 src2)
1032 if (dst != src2) {
1033 if (src2 & SRC2_IMM) {
1034 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2);
1036 return push_inst(compiler, MOV | RD(dst) | RM(src2));
1046 return push_inst(compiler, AND | RD(dst) | RN(src2) | SRC2_IMM | 0xff);
1047 FAIL_IF(push_inst(compiler, MOV | RD(dst) | (24 << 7) | RM(src2)));
1050 return push_inst(compiler, (op == SLJIT_MOV_U8 ? UXTB : SXTB) | RD(dst) | RM(src2));
1053 else if (dst != src2) {
1054 SLJIT_ASSERT(src2 & SRC2_IMM);
1055 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2);
1064 FAIL_IF(push_inst(compiler, MOV | RD(dst) | (16 << 7) | RM(src2)));
1067 return push_inst(compiler, (op == SLJIT_MOV_U16 ? UXTH : SXTH) | RD(dst) | RM(src2));
1070 else if (dst != src2) {
1071 SLJIT_ASSERT(src2 & SRC2_IMM);
1072 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2);
1077 if (src2 & SRC2_IMM) {
1078 return push_inst(compiler, ((flags & INV_IMM) ? MOV : MVN) | (flags & SET_FLAGS) | RD(dst) | src2);
1080 return push_inst(compiler, MVN | (flags & SET_FLAGS) | RD(dst) | RM(src2));
1084 SLJIT_ASSERT(!(src2 & SRC2_IMM));
1085 FAIL_IF(push_inst(compiler, CLZ | RD(dst) | RM(src2)));
1091 return push_inst(compiler, CMN | SET_FLAGS | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1092 return push_inst(compiler, ADD | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1096 return push_inst(compiler, ADC | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1101 return push_inst(compiler, CMP | SET_FLAGS | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1103 | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1108 | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1112 SLJIT_ASSERT(!(src2 & SRC2_IMM));
1115 return push_inst(compiler, MUL | (reg_map[dst] << 16) | (reg_map[src2] << 8) | reg_map[src1]);
1117 FAIL_IF(push_inst(compiler, SMULL | (reg_map[TMP_REG1] << 16) | (reg_map[dst] << 12) | (reg_map[src2] << 8) | reg_map[src1]));
1124 | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1128 return push_inst(compiler, ORR | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1132 return push_inst(compiler, EOR | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2)));
1433 sljit_s32 src2, sljit_sw src2w)
1436 src2 is reg, TMP_REG2, or imm
1457 if (src2 & SLJIT_IMM) {
1488 src1 = src2;
1496 src1 = src2;
1505 src1 = src2;
1534 if (FAST_IS_REG(src2))
1535 return emit_op_mem(compiler, inp_flags, src2, dst, dstw, TMP_REG2);
1538 if (FAST_IS_REG(src2) && dst_reg != TMP_REG2)
1546 if (FAST_IS_REG(src2))
1547 src2_reg = src2;
1548 else if (src2 & SLJIT_MEM)
1549 FAIL_IF(emit_op_mem(compiler, inp_flags | LOAD_DATA, src2_reg, src2, src2w, TMP_REG2));
1709 sljit_s32 src2, sljit_sw src2w)
1712 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
1715 ADJUST_LOCAL_OFFSET(src2, src2w);
1727 return emit_op(compiler, op, ALLOW_IMM, dst, dstw, src1, src1w, src2, src2w);
1730 return emit_op(compiler, op, 0, dst, dstw, src1, src1w, src2, src2w);
1733 return emit_op(compiler, op, ALLOW_ANY_IMM, dst, dstw, src1, src1w, src2, src2w);
1738 if (src2 & SLJIT_IMM) {
1744 return emit_op(compiler, op, 0, dst, dstw, src1, src1w, src2, src2w);
1780 #define EMIT_FPU_OPERATION(opcode, mode, dst, src1, src2) \
1781 ((opcode) | (mode) | (freg_map[dst] << 12) | freg_map[src1] | (freg_map[src2] << 16))
1875 sljit_s32 src2, sljit_sw src2w)
1884 if (src2 & SLJIT_MEM) {
1885 FAIL_IF(emit_fop_mem(compiler, (op & SLJIT_F32_OP) | FPU_LOAD, TMP_FREG2, src2, src2w));
1886 src2 = TMP_FREG2;
1889 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCMP_F32, op & SLJIT_F32_OP, src1, src2, 0)));
1943 sljit_s32 src2, sljit_sw src2w)
1948 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
1951 ADJUST_LOCAL_OFFSET(src2, src2w);
1957 if (src2 & SLJIT_MEM) {
1958 FAIL_IF(emit_fop_mem(compiler, (op & SLJIT_F32_OP) | FPU_LOAD, TMP_FREG2, src2, src2w));
1959 src2 = TMP_FREG2;
1969 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VADD_F32, op & SLJIT_F32_OP, dst_r, src2, src1)));
1973 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VSUB_F32, op & SLJIT_F32_OP, dst_r, src2, src1)));
1977 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMUL_F32, op & SLJIT_F32_OP, dst_r, src2, src1)));
1981 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VDIV_F32, op & SLJIT_F32_OP, dst_r, src2, src1)));