Lines Matching refs:push_inst

177 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst)  in push_inst()  function
275 return push_inst(compiler, BLX | RM(TMP_REG1)); in emit_blx()
385 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst) in push_inst() function
398 FAIL_IF(push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff))); in emit_imm()
399 return push_inst(compiler, MOVT | RD(reg) | ((imm >> 12) & 0xf0000) | ((imm >> 16) & 0xfff)); in emit_imm()
964 FAIL_IF(push_inst(compiler, push)); in sljit_emit_enter()
976 FAIL_IF(push_inst(compiler, MOV | RD(SLJIT_S0) | RM(SLJIT_R0))); in sljit_emit_enter()
978 FAIL_IF(push_inst(compiler, MOV | RD(SLJIT_S1) | RM(SLJIT_R1))); in sljit_emit_enter()
980 FAIL_IF(push_inst(compiler, MOV | RD(SLJIT_S2) | RM(SLJIT_R2))); in sljit_emit_enter()
1024 return push_inst(compiler, pop); in sljit_emit_return()
1055 return push_inst(compiler, MOV | (flags & SET_FLAGS) | \
1057 return push_inst(compiler, MOV | (flags & SET_FLAGS) | RD(dst) | RM(src2)); \
1059 return push_inst(compiler, MOV | (flags & SET_FLAGS) | RD(dst) | \
1070 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2); in emit_single_op()
1072 return push_inst(compiler, MOV | RD(dst) | RM(src2)); in emit_single_op()
1082 return push_inst(compiler, AND | RD(dst) | RN(src2) | SRC2_IMM | 0xff); in emit_single_op()
1083 FAIL_IF(push_inst(compiler, MOV | RD(dst) | (24 << 7) | RM(src2))); in emit_single_op()
1084 …return push_inst(compiler, MOV | RD(dst) | (24 << 7) | (op == SLJIT_MOV_U8 ? 0x20 : 0x40) | RM(dst… in emit_single_op()
1086 return push_inst(compiler, (op == SLJIT_MOV_U8 ? UXTB : SXTB) | RD(dst) | RM(src2)); in emit_single_op()
1091 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2); in emit_single_op()
1100 FAIL_IF(push_inst(compiler, MOV | RD(dst) | (16 << 7) | RM(src2))); in emit_single_op()
1101 …return push_inst(compiler, MOV | RD(dst) | (16 << 7) | (op == SLJIT_MOV_U16 ? 0x20 : 0x40) | RM(ds… in emit_single_op()
1103 return push_inst(compiler, (op == SLJIT_MOV_U16 ? UXTH : SXTH) | RD(dst) | RM(src2)); in emit_single_op()
1108 return push_inst(compiler, ((flags & INV_IMM) ? MVN : MOV) | RD(dst) | src2); in emit_single_op()
1114 …return push_inst(compiler, ((flags & INV_IMM) ? MOV : MVN) | (flags & SET_FLAGS) | RD(dst) | src2); in emit_single_op()
1116 return push_inst(compiler, MVN | (flags & SET_FLAGS) | RD(dst) | RM(src2)); in emit_single_op()
1121 FAIL_IF(push_inst(compiler, CLZ | RD(dst) | RM(src2))); in emit_single_op()
1127 return push_inst(compiler, CMN | SET_FLAGS | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2))); in emit_single_op()
1128 …return push_inst(compiler, ADD | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? s… in emit_single_op()
1132 …return push_inst(compiler, ADC | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? s… in emit_single_op()
1137 return push_inst(compiler, CMP | SET_FLAGS | RN(src1) | ((src2 & SRC2_IMM) ? src2 : RM(src2))); in emit_single_op()
1138 return push_inst(compiler, (!(flags & ARGS_SWAPPED) ? SUB : RSB) | (flags & SET_FLAGS) in emit_single_op()
1143 return push_inst(compiler, (!(flags & ARGS_SWAPPED) ? SBC : RSC) | (flags & SET_FLAGS) in emit_single_op()
1151 return push_inst(compiler, MUL | (reg_map[dst] << 16) | (reg_map[src2] << 8) | reg_map[src1]); in emit_single_op()
1153 …FAIL_IF(push_inst(compiler, SMULL | (reg_map[TMP_REG1] << 16) | (reg_map[dst] << 12) | (reg_map[sr… in emit_single_op()
1156 return push_inst(compiler, CMP | SET_FLAGS | RN(TMP_REG1) | RM(dst) | 0xfc0); in emit_single_op()
1159 return push_inst(compiler, (!(flags & INV_IMM) ? AND : BIC) | (flags & SET_FLAGS) in emit_single_op()
1164 …return push_inst(compiler, ORR | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? s… in emit_single_op()
1168 …return push_inst(compiler, EOR | (flags & SET_FLAGS) | RD(dst) | RN(src1) | ((src2 & SRC2_IMM) ? s… in emit_single_op()
1331 FAIL_IF(push_inst(compiler, (positive ? MOV : MVN) | RD(reg) | imm1)); in generate_int()
1332 FAIL_IF(push_inst(compiler, (positive ? ORR : BIC) | RD(reg) | RN(reg) | imm2)); in generate_int()
1343 return push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff)); in load_immediate()
1349 return push_inst(compiler, MOV | RD(reg) | tmp); in load_immediate()
1353 return push_inst(compiler, MVN | RD(reg) | tmp); in load_immediate()
1363 FAIL_IF(push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff))); in load_immediate()
1366 return push_inst(compiler, MOVT | RD(reg) | ((imm >> 12) & 0xf0000) | ((imm >> 16) & 0xfff)); in load_immediate()
1389 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, tmp_reg, in emit_op_mem()
1399 FAIL_IF(push_inst(compiler, ADD | RD(tmp_reg) | RN(arg) | RM(offset_reg) | (argw << 7))); in emit_op_mem()
1400 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, tmp_reg, TYPE2_TRANSFER_IMM(0))); in emit_op_mem()
1404 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, arg, in emit_op_mem()
1414 FAIL_IF(push_inst(compiler, ADD | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1422 FAIL_IF(push_inst(compiler, SUB | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1429 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, arg, argw)); in emit_op_mem()
1432 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 0, reg, arg, -argw)); in emit_op_mem()
1438 FAIL_IF(push_inst(compiler, ADD | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1446 FAIL_IF(push_inst(compiler, SUB | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1453 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, arg, TYPE2_TRANSFER_IMM(argw))); in emit_op_mem()
1457 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 0, reg, arg, TYPE2_TRANSFER_IMM(argw))); in emit_op_mem()
1462 return push_inst(compiler, EMIT_DATA_TRANSFER(flags, 1, reg, arg, in emit_op_mem()
1624 FAIL_IF(push_inst(compiler, BKPT)); in sljit_emit_op0()
1627 FAIL_IF(push_inst(compiler, NOP)); in sljit_emit_op0()
1631 return push_inst(compiler, (op == SLJIT_LMUL_UW ? UMULL : SMULL) in sljit_emit_op0()
1652 FAIL_IF(push_inst(compiler, 0xe52d0000 | (saved_reg_count >= 3 ? 16 : 8) in sljit_emit_op0()
1656 FAIL_IF(push_inst(compiler, 0xe58d0004 | (saved_reg_list[1] << 12) /* str rX, [sp, #4] */)); in sljit_emit_op0()
1660 FAIL_IF(push_inst(compiler, 0xe58d0008 | (saved_reg_list[2] << 12) /* str rX, [sp, #8] */)); in sljit_emit_op0()
1674 FAIL_IF(push_inst(compiler, 0xe59d0008 | (saved_reg_list[2] << 12) /* ldr rX, [sp, #8] */)); in sljit_emit_op0()
1678 FAIL_IF(push_inst(compiler, 0xe59d0004 | (saved_reg_list[1] << 12) /* ldr rX, [sp, #4] */)); in sljit_emit_op0()
1680 return push_inst(compiler, 0xe49d0000 | (saved_reg_count >= 3 ? 16 : 8) in sljit_emit_op0()
1794 FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG2) | RM(src))); in sljit_emit_op_src()
1798 return push_inst(compiler, BX | RM(TMP_REG2)); in sljit_emit_op_src()
1834 return push_inst(compiler, *(sljit_uw*)instruction); in sljit_emit_op_custom()
1857 …FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG2) | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | ((argw &… in emit_fop_mem()
1865 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, arg & REG_MASK, reg, argw >> 2)); in emit_fop_mem()
1867 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, arg & REG_MASK, reg, (-argw) >> 2)); in emit_fop_mem()
1871 FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG2) | RN(arg & REG_MASK) | imm)); in emit_fop_mem()
1872 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
1877 FAIL_IF(push_inst(compiler, SUB | RD(TMP_REG2) | RN(arg & REG_MASK) | imm)); in emit_fop_mem()
1878 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
1884 FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG2) | RN(arg & REG_MASK) | RM(TMP_REG2))); in emit_fop_mem()
1889 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, 0)); in emit_fop_mem()
1903 …FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCVT_S32_F32, op & SLJIT_F32_OP, TMP_FREG1, src, 0)… in sljit_emit_fop1_conv_sw_from_f64()
1906 return push_inst(compiler, VMOV | (1 << 20) | RD(dst) | (freg_map[TMP_FREG1] << 16)); in sljit_emit_fop1_conv_sw_from_f64()
1921 FAIL_IF(push_inst(compiler, VMOV | RD(src) | (freg_map[TMP_FREG1] << 16))); in sljit_emit_fop1_conv_f64_from_sw()
1928 FAIL_IF(push_inst(compiler, VMOV | RD(TMP_REG1) | (freg_map[TMP_FREG1] << 16))); in sljit_emit_fop1_conv_f64_from_sw()
1931 …FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCVT_F32_S32, op & SLJIT_F32_OP, dst_r, TMP_FREG1, … in sljit_emit_fop1_conv_f64_from_sw()
1954 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCMP_F32, op & SLJIT_F32_OP, src1, src2, 0))); in sljit_emit_fop1_cmp()
1955 return push_inst(compiler, VMRS); in sljit_emit_fop1_cmp()
1983 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMOV_F32, op & SLJIT_F32_OP, dst_r, src, 0))); in sljit_emit_fop1()
1989 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VNEG_F32, op & SLJIT_F32_OP, dst_r, src, 0))); in sljit_emit_fop1()
1992 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VABS_F32, op & SLJIT_F32_OP, dst_r, src, 0))); in sljit_emit_fop1()
1995 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VCVT_F64_F32, op & SLJIT_F32_OP, dst_r, src, 0))); in sljit_emit_fop1()
2034 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VADD_F32, op & SLJIT_F32_OP, dst_r, src2, src1))); in sljit_emit_fop2()
2038 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VSUB_F32, op & SLJIT_F32_OP, dst_r, src2, src1))); in sljit_emit_fop2()
2042 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMUL_F32, op & SLJIT_F32_OP, dst_r, src2, src1))); in sljit_emit_fop2()
2046 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VDIV_F32, op & SLJIT_F32_OP, dst_r, src2, src1))); in sljit_emit_fop2()
2072 return push_inst(compiler, MOV | RD(dst) | RM(TMP_REG2)); in sljit_emit_fast_enter()
2189 …PTR_FAIL_IF(push_inst(compiler, (((type <= SLJIT_JUMP ? BX : BLX) | RM(TMP_REG1)) & ~COND_MASK) | … in sljit_emit_jump()
2242 …FAIL_IF(push_inst(compiler, SUB | RD(SLJIT_SP) | RN(SLJIT_SP) | SRC2_IMM | (((stack_offset - 16) +… in softfloat_call_with_args()
2254 FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG1) | (src_offset >> 2))); in softfloat_call_with_args()
2257 FAIL_IF(push_inst(compiler, VMOV | 0x100000 | (float_arg_count << 16) | (stack_offset << 10))); in softfloat_call_with_args()
2259 …FAIL_IF(push_inst(compiler, VSTR_F32 | 0x800000 | RN(SLJIT_SP) | (float_arg_count << 12) | ((stack… in softfloat_call_with_args()
2270 FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG1) | (src_offset >> 2))); in softfloat_call_with_args()
2273 …FAIL_IF(push_inst(compiler, VMOV2 | 0x100000 | (stack_offset << 10) | ((stack_offset + sizeof(slji… in softfloat_call_with_args()
2275 …FAIL_IF(push_inst(compiler, VSTR_F32 | 0x800100 | RN(SLJIT_SP) | (float_arg_count << 12) | ((stack… in softfloat_call_with_args()
2287 FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG1) | (src_offset >> 2))); in softfloat_call_with_args()
2294 FAIL_IF(push_inst(compiler, MOV | (stack_offset << 10) | (word_arg_offset >> 2))); in softfloat_call_with_args()
2296 …FAIL_IF(push_inst(compiler, data_transfer_insts[WORD_SIZE] | 0x800000 | RN(SLJIT_SP) | (word_arg_o… in softfloat_call_with_args()
2312 FAIL_IF(push_inst(compiler, VMOV | (0 << 16) | (0 << 12))); in softfloat_post_call_with_args()
2314 FAIL_IF(push_inst(compiler, VMOV2 | (1 << 16) | (0 << 12) | 0)); in softfloat_post_call_with_args()
2339 …return push_inst(compiler, ADD | RD(SLJIT_SP) | RN(SLJIT_SP) | SRC2_IMM | (((stack_size - 16) + 0x… in softfloat_post_call_with_args()
2365 FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMOV_F32, in hardfloat_call_with_args()
2381 …FAIL_IF(push_inst(compiler, EMIT_FPU_OPERATION(VMOV_F32, SLJIT_F32_OP, (new_offset >> 1) + 1, (off… in hardfloat_call_with_args()
2443 return push_inst(compiler, (type <= SLJIT_JUMP ? BX : BLX) | RM(src)); in sljit_emit_ijump()
2448 return push_inst(compiler, (type <= SLJIT_JUMP ? BX : BLX) | RM(TMP_REG1)); in sljit_emit_ijump()
2465 FAIL_IF(push_inst(compiler, (type <= SLJIT_JUMP ? BX : BLX) | RM(TMP_REG1))); in sljit_emit_ijump()
2522 FAIL_IF(push_inst(compiler, MOV | RD(dst_reg) | SRC2_IMM | 0)); in sljit_emit_op_flags()
2523 FAIL_IF(push_inst(compiler, ((MOV | RD(dst_reg) | SRC2_IMM | 1) & ~COND_MASK) | cc)); in sljit_emit_op_flags()
2534 FAIL_IF(push_inst(compiler, ((ins | RD(dst_reg) | RN(dst_reg) | SRC2_IMM | 1) & ~COND_MASK) | cc)); in sljit_emit_op_flags()
2537 …FAIL_IF(push_inst(compiler, ((ins | RD(dst_reg) | RN(dst_reg) | SRC2_IMM | 0) & ~COND_MASK) | (cc … in sljit_emit_op_flags()
2543 return push_inst(compiler, MOV | SET_FLAGS | RD(TMP_REG2) | RM(dst_reg)); in sljit_emit_op_flags()
2563 return push_inst(compiler, ((MOV | RD(dst_reg) | tmp) & ~COND_MASK) | cc); in sljit_emit_cmov()
2567 return push_inst(compiler, ((MVN | RD(dst_reg) | tmp) & ~COND_MASK) | cc); in sljit_emit_cmov()
2571 …FAIL_IF(push_inst(compiler, (MOVW & ~COND_MASK) | cc | RD(dst_reg) | ((tmp << 4) & 0xf0000) | (tmp… in sljit_emit_cmov()
2574 …return push_inst(compiler, (MOVT & ~COND_MASK) | cc | RD(dst_reg) | ((tmp >> 12) & 0xf0000) | ((tm… in sljit_emit_cmov()
2581 return push_inst(compiler, ((MOV | RD(dst_reg) | RM(src)) & ~COND_MASK) | cc); in sljit_emit_cmov()
2661 return push_inst(compiler, inst); in sljit_emit_mem()
2677 return push_inst(compiler, inst | memw); in sljit_emit_mem()
2685 return push_inst(compiler, inst | TYPE2_TRANSFER_IMM(memw)); in sljit_emit_mem()