Lines Matching refs:inst

277 #define INC_SIZE(s)			(*inst++ = (s), compiler->size += (s))
279 #define PUSH_REG(r) (*inst++ = (PUSH_r + (r)))
280 #define POP_REG(r) (*inst++ = (POP_r + (r)))
281 #define RET() (*inst++ = (RET_near))
282 #define RET_I16(n) (*inst++ = (RET_i16), *inst++ = n, *inst++ = 0)
284 #define MOV_RM(mod, reg, rm) (*inst++ = (MOV_r_rm), *inst++ = (mod) << 6 | (reg) << 3 | (rm))
718 sljit_u8 *inst; in emit_endbranch() local
719 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4); in emit_endbranch()
720 FAIL_IF(!inst); in emit_endbranch()
722 *inst++ = 0xf3; in emit_endbranch()
723 *inst++ = 0x0f; in emit_endbranch()
724 *inst++ = 0x1e; in emit_endbranch()
726 *inst = 0xfb; in emit_endbranch()
728 *inst = 0xfa; in emit_endbranch()
740 sljit_u8 *inst; in emit_rdssp() local
749 inst = (sljit_u8*)ensure_buf(compiler, 1 + size); in emit_rdssp()
750 FAIL_IF(!inst); in emit_rdssp()
752 *inst++ = 0xf3; in emit_rdssp()
754 *inst++ = REX_W | (reg_map[reg] <= 7 ? 0 : REX_B); in emit_rdssp()
756 *inst++ = 0x0f; in emit_rdssp()
757 *inst++ = 0x1e; in emit_rdssp()
758 *inst = (0x3 << 6) | (0x1 << 3) | (reg_map[reg] & 0x7); in emit_rdssp()
764 sljit_u8 *inst; in emit_incssp() local
773 inst = (sljit_u8*)ensure_buf(compiler, 1 + size); in emit_incssp()
774 FAIL_IF(!inst); in emit_incssp()
776 *inst++ = 0xf3; in emit_incssp()
778 *inst++ = REX_W | (reg_map[reg] <= 7 ? 0 : REX_B); in emit_incssp()
780 *inst++ = 0x0f; in emit_incssp()
781 *inst++ = 0xae; in emit_incssp()
782 *inst = (0x3 << 6) | (0x5 << 3) | (reg_map[reg] & 0x7); in emit_incssp()
801 sljit_u8 *inst, *jz_after_cmp_inst; in adjust_shadow_stack() local
814 inst = (sljit_u8*)ensure_buf(compiler, 1 + 3); in adjust_shadow_stack()
815 FAIL_IF(!inst); in adjust_shadow_stack()
817 *inst++ = 0x8b; in adjust_shadow_stack()
818 *inst++ = 0x6d; in adjust_shadow_stack()
819 *inst = 0; in adjust_shadow_stack()
835 inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); in adjust_shadow_stack()
836 FAIL_IF(!inst); in adjust_shadow_stack()
838 *inst++ = get_jump_code(SLJIT_EQUAL) - 0x10; in adjust_shadow_stack()
840 jz_after_cmp_inst = inst; in adjust_shadow_stack()
853 inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); in adjust_shadow_stack()
854 FAIL_IF(!inst); in adjust_shadow_stack()
856 *inst++ = JMP_i8; in adjust_shadow_stack()
857 *inst = size_before_rdssp_inst - compiler->size; in adjust_shadow_stack()
880 sljit_u8* inst; in emit_mov() local
885 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
886 FAIL_IF(!inst); in emit_mov()
887 *inst = MOV_rm_r; in emit_mov()
908 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
909 FAIL_IF(!inst); in emit_mov()
910 *inst = MOV_rm_r; in emit_mov()
914 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
915 FAIL_IF(!inst); in emit_mov()
916 *inst = MOV_rm_i32; in emit_mov()
920 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
921 FAIL_IF(!inst); in emit_mov()
922 *inst = MOV_r_rm; in emit_mov()
928 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src, srcw); in emit_mov()
929 FAIL_IF(!inst); in emit_mov()
930 *inst = MOV_r_rm; in emit_mov()
931 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
932 FAIL_IF(!inst); in emit_mov()
933 *inst = MOV_rm_r; in emit_mov()
939 sljit_u8 *inst; in sljit_emit_op0() local
949 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1); in sljit_emit_op0()
950 FAIL_IF(!inst); in sljit_emit_op0()
952 *inst = INT3; in sljit_emit_op0()
955 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1); in sljit_emit_op0()
956 FAIL_IF(!inst); in sljit_emit_op0()
958 *inst = NOP; in sljit_emit_op0()
986 inst = emit_x86_instruction(compiler, 1, SLJIT_R1, 0, SLJIT_R1, 0); in sljit_emit_op0()
988 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, TMP_REG1, 0); in sljit_emit_op0()
990 FAIL_IF(!inst); in sljit_emit_op0()
991 *inst = XOR_r_rm; in sljit_emit_op0()
1000 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1); in sljit_emit_op0()
1001 FAIL_IF(!inst); in sljit_emit_op0()
1003 *inst = CDQ; in sljit_emit_op0()
1006 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1); in sljit_emit_op0()
1007 FAIL_IF(!inst); in sljit_emit_op0()
1009 *inst = CDQ; in sljit_emit_op0()
1011 inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); in sljit_emit_op0()
1012 FAIL_IF(!inst); in sljit_emit_op0()
1014 *inst++ = REX_W; in sljit_emit_op0()
1015 *inst = CDQ; in sljit_emit_op0()
1021 inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); in sljit_emit_op0()
1022 FAIL_IF(!inst); in sljit_emit_op0()
1024 *inst++ = GROUP_F7; in sljit_emit_op0()
1025 *inst = MOD_REG | ((op >= SLJIT_DIVMOD_UW) ? reg_map[TMP_REG1] : reg_map[SLJIT_R1]); in sljit_emit_op0()
1032 inst = (sljit_u8*)ensure_buf(compiler, 1 + size); in sljit_emit_op0()
1033 FAIL_IF(!inst); in sljit_emit_op0()
1037 *inst++ = REX_W | ((op >= SLJIT_DIVMOD_UW) ? REX_B : 0); in sljit_emit_op0()
1039 *inst++ = REX_B; in sljit_emit_op0()
1040 *inst++ = GROUP_F7; in sljit_emit_op0()
1041 *inst = MOD_REG | ((op >= SLJIT_DIVMOD_UW) ? reg_lmap[TMP_REG1] : reg_lmap[SLJIT_R1]); in sljit_emit_op0()
1044 *inst++ = REX_W; in sljit_emit_op0()
1045 *inst++ = GROUP_F7; in sljit_emit_op0()
1046 *inst = MOD_REG | reg_map[SLJIT_R1]; in sljit_emit_op0()
1051 *inst |= MUL; in sljit_emit_op0()
1054 *inst |= IMUL; in sljit_emit_op0()
1058 *inst |= DIV; in sljit_emit_op0()
1062 *inst |= IDIV; in sljit_emit_op0()
1084 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1); \
1085 FAIL_IF(!inst); \
1087 *inst = (prefix); \
1094 sljit_u8* inst; in emit_mov_byte() local
1109 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
1110 FAIL_IF(!inst); in emit_mov_byte()
1111 *inst = MOV_rm_i32; in emit_mov_byte()
1115inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
1116 FAIL_IF(!inst); in emit_mov_byte()
1117 *inst = MOV_rm8_i8; in emit_mov_byte()
1141 inst = emit_x86_instruction(compiler, 2, dst, 0, dst, 0); in emit_mov_byte()
1142 FAIL_IF(!inst); in emit_mov_byte()
1143 *inst++ = GROUP_0F; in emit_mov_byte()
1144 *inst = sign ? MOVSX_r_rm8 : MOVZX_r_rm8; in emit_mov_byte()
1151 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1152 FAIL_IF(!inst); in emit_mov_byte()
1153 *inst |= SHL; in emit_mov_byte()
1155 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1156 FAIL_IF(!inst); in emit_mov_byte()
1157 *inst |= SAR; in emit_mov_byte()
1160 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
1161 FAIL_IF(!inst); in emit_mov_byte()
1162 *(inst + 1) |= AND; in emit_mov_byte()
1170 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src, srcw); in emit_mov_byte()
1171 FAIL_IF(!inst); in emit_mov_byte()
1172 *inst++ = GROUP_0F; in emit_mov_byte()
1173 *inst = sign ? MOVSX_r_rm8 : MOVZX_r_rm8; in emit_mov_byte()
1199 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst_r, 0); in emit_mov_byte()
1200 FAIL_IF(!inst); in emit_mov_byte()
1201 *inst = XCHG_r_rm; in emit_mov_byte()
1204 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst, dstw); in emit_mov_byte()
1205 FAIL_IF(!inst); in emit_mov_byte()
1206 *inst = MOV_rm8_r8; in emit_mov_byte()
1212 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst_r, 0); in emit_mov_byte()
1213 FAIL_IF(!inst); in emit_mov_byte()
1214 *inst = XCHG_r_rm; in emit_mov_byte()
1218 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_mov_byte()
1219 FAIL_IF(!inst); in emit_mov_byte()
1220 *inst = MOV_rm8_r8; in emit_mov_byte()
1223 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1224 FAIL_IF(!inst); in emit_mov_byte()
1225 *inst = MOV_rm8_r8; in emit_mov_byte()
1235 sljit_u8* inst; in emit_prefetch() local
1241 inst = emit_x86_instruction(compiler, 2, 0, 0, src, srcw); in emit_prefetch()
1242 FAIL_IF(!inst); in emit_prefetch()
1243 *inst++ = GROUP_0F; in emit_prefetch()
1244 *inst++ = PREFETCH; in emit_prefetch()
1247 *inst |= (1 << 3); in emit_prefetch()
1249 *inst |= (2 << 3); in emit_prefetch()
1251 *inst |= (3 << 3); in emit_prefetch()
1260 sljit_u8* inst; in emit_mov_half() local
1272 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1273 FAIL_IF(!inst); in emit_mov_half()
1274 *inst = MOV_rm_i32; in emit_mov_half()
1278inst = emit_x86_instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, … in emit_mov_half()
1279 FAIL_IF(!inst); in emit_mov_half()
1280 *inst = MOV_rm_i32; in emit_mov_half()
1289 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src, srcw); in emit_mov_half()
1290 FAIL_IF(!inst); in emit_mov_half()
1291 *inst++ = GROUP_0F; in emit_mov_half()
1292 *inst = sign ? MOVSX_r_rm16 : MOVZX_r_rm16; in emit_mov_half()
1296 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1297 FAIL_IF(!inst); in emit_mov_half()
1298 *inst = MOV_rm_r; in emit_mov_half()
1308 sljit_u8* inst; in emit_unary() local
1312 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1313 FAIL_IF(!inst); in emit_unary()
1314 *inst++ = GROUP_F7; in emit_unary()
1315 *inst |= opcode; in emit_unary()
1324 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_unary()
1325 FAIL_IF(!inst); in emit_unary()
1326 *inst++ = GROUP_F7; in emit_unary()
1327 *inst |= opcode; in emit_unary()
1332 inst = emit_x86_instruction(compiler, 1, 0, 0, TMP_REG1, 0); in emit_unary()
1333 FAIL_IF(!inst); in emit_unary()
1334 *inst++ = GROUP_F7; in emit_unary()
1335 *inst |= opcode; in emit_unary()
1344 sljit_u8* inst; in emit_not_with_flags() local
1351 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_not_with_flags()
1352 FAIL_IF(!inst); in emit_not_with_flags()
1353 *inst++ = GROUP_F7; in emit_not_with_flags()
1354 *inst |= NOT_rm; in emit_not_with_flags()
1355 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_not_with_flags()
1356 FAIL_IF(!inst); in emit_not_with_flags()
1357 *inst = OR_r_rm; in emit_not_with_flags()
1362 inst = emit_x86_instruction(compiler, 1, 0, 0, TMP_REG1, 0); in emit_not_with_flags()
1363 FAIL_IF(!inst); in emit_not_with_flags()
1364 *inst++ = GROUP_F7; in emit_not_with_flags()
1365 *inst |= NOT_rm; in emit_not_with_flags()
1366 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, TMP_REG1, 0); in emit_not_with_flags()
1367 FAIL_IF(!inst); in emit_not_with_flags()
1368 *inst = OR_r_rm; in emit_not_with_flags()
1381 sljit_u8* inst; in emit_clz() local
1391 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src, srcw); in emit_clz()
1392 FAIL_IF(!inst); in emit_clz()
1393 *inst++ = GROUP_0F; in emit_clz()
1394 *inst = BSR_r_rm; in emit_clz()
1400 inst = emit_x86_instruction(compiler, 2, dst_r, 0, TMP_REG1, 0); in emit_clz()
1403 inst = emit_x86_instruction(compiler, 2, dst_r, 0, SLJIT_MEM0(), (sljit_sw)&emit_clz_arg); in emit_clz()
1405 FAIL_IF(!inst); in emit_clz()
1406 *inst++ = GROUP_0F; in emit_clz()
1407 *inst = CMOVE_r_rm; in emit_clz()
1412 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 31, dst_r, 0); in emit_clz()
1417 inst = emit_x86_instruction(compiler, 2, dst_r, 0, TMP_REG2, 0); in emit_clz()
1418 FAIL_IF(!inst); in emit_clz()
1419 *inst++ = GROUP_0F; in emit_clz()
1420 *inst = CMOVE_r_rm; in emit_clz()
1425inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, !(op_flags & SLJIT_I32_OP) ? 63… in emit_clz()
1428 FAIL_IF(!inst); in emit_clz()
1429 *(inst + 1) |= XOR; in emit_clz()
1575 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, immw, arg, argw); \
1576 FAIL_IF(!inst); \
1577 *(inst + 1) |= (op_imm); \
1581 inst = emit_x86_instruction(compiler, 1, (arg == TMP_REG1) ? TMP_REG2 : TMP_REG1, 0, arg, argw); \
1582 FAIL_IF(!inst); \
1583 *inst = (op_mr); \
1592 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, immw, arg, argw); \
1593 FAIL_IF(!inst); \
1594 *(inst + 1) |= (op_imm);
1607 sljit_u8* inst; local
1619 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
1620 FAIL_IF(!inst);
1621 *inst = op_rm;
1640 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1641 FAIL_IF(!inst);
1642 *inst = op_rm;
1646 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1647 FAIL_IF(!inst);
1648 *inst = op_mr;
1652 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1653 FAIL_IF(!inst);
1654 *inst = op_mr;
1674 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
1675 FAIL_IF(!inst);
1676 *inst = op_rm;
1679 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
1680 FAIL_IF(!inst);
1681 *inst = op_mr;
1685 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1686 FAIL_IF(!inst);
1687 *inst = op_mr;
1699 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1700 FAIL_IF(!inst);
1701 *inst = op_rm;
1711 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
1712 FAIL_IF(!inst);
1713 *inst = op_rm;
1727 sljit_u8* inst; local
1739 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
1740 FAIL_IF(!inst);
1741 *inst = op_rm;
1760 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1761 FAIL_IF(!inst);
1762 *inst = op_rm;
1765 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1766 FAIL_IF(!inst);
1767 *inst = op_mr;
1771 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1772 FAIL_IF(!inst);
1773 *inst = op_mr;
1785 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1786 FAIL_IF(!inst);
1787 *inst = op_rm;
1797 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
1798 FAIL_IF(!inst);
1799 *inst = op_rm;
1812 sljit_u8* inst; local
1819 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src2, src2w);
1820 FAIL_IF(!inst);
1821 *inst++ = GROUP_0F;
1822 *inst = IMUL_r_rm;
1825 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src1, src1w);
1826 FAIL_IF(!inst);
1827 *inst++ = GROUP_0F;
1828 *inst = IMUL_r_rm;
1838 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src2, src2w);
1839 FAIL_IF(!inst);
1840 *inst = IMUL_r_rm_i8;
1841 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1);
1842 FAIL_IF(!inst);
1844 *inst = (sljit_s8)src1w;
1848 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src2, src2w);
1849 FAIL_IF(!inst);
1850 *inst = IMUL_r_rm_i32;
1851 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4);
1852 FAIL_IF(!inst);
1854 sljit_unaligned_store_sw(inst, src1w);
1858 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src2, src2w);
1859 FAIL_IF(!inst);
1860 *inst = IMUL_r_rm_i32;
1861 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4);
1862 FAIL_IF(!inst);
1864 sljit_unaligned_store_s32(inst, (sljit_s32)src1w);
1870 inst = emit_x86_instruction(compiler, 2, dst_r, 0, TMP_REG2, 0);
1871 FAIL_IF(!inst);
1872 *inst++ = GROUP_0F;
1873 *inst = IMUL_r_rm;
1881 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src1, src1w);
1882 FAIL_IF(!inst);
1883 *inst = IMUL_r_rm_i8;
1884 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1);
1885 FAIL_IF(!inst);
1887 *inst = (sljit_s8)src2w;
1891 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src1, src1w);
1892 FAIL_IF(!inst);
1893 *inst = IMUL_r_rm_i32;
1894 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4);
1895 FAIL_IF(!inst);
1897 sljit_unaligned_store_sw(inst, src2w);
1901 inst = emit_x86_instruction(compiler, 1, dst_r, 0, src1, src1w);
1902 FAIL_IF(!inst);
1903 *inst = IMUL_r_rm_i32;
1904 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4);
1905 FAIL_IF(!inst);
1907 sljit_unaligned_store_s32(inst, (sljit_s32)src2w);
1913 inst = emit_x86_instruction(compiler, 2, dst_r, 0, TMP_REG2, 0);
1914 FAIL_IF(!inst);
1915 *inst++ = GROUP_0F;
1916 *inst = IMUL_r_rm;
1925 inst = emit_x86_instruction(compiler, 2, dst_r, 0, src2, src2w);
1926 FAIL_IF(!inst);
1927 *inst++ = GROUP_0F;
1928 *inst = IMUL_r_rm;
1942 sljit_u8* inst; local
1955 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM2(src1, src2), 0);
1956 FAIL_IF(!inst);
1957 *inst = LEA_r_m;
1962 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src1), (sljit_s32)src2w);
1965 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src1), src2w);
1967 FAIL_IF(!inst);
1968 *inst = LEA_r_m;
1975 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src2), (sljit_s32)src1w);
1978 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src2), src1w);
1980 FAIL_IF(!inst);
1981 *inst = LEA_r_m;
1998 sljit_u8* inst; local
2014 inst = emit_x86_instruction(compiler, 1, src1, 0, src2, src2w);
2015 FAIL_IF(!inst);
2016 *inst = CMP_r_rm;
2022 inst = emit_x86_instruction(compiler, 1, src2, 0, src1, src1w);
2023 FAIL_IF(!inst);
2024 *inst = CMP_rm_r;
2038 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
2039 FAIL_IF(!inst);
2040 *inst = CMP_r_rm;
2049 sljit_u8* inst; local
2073 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, src2w, src1, src1w);
2074 FAIL_IF(!inst);
2075 *inst = GROUP_F7;
2079 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src1, src1w);
2080 FAIL_IF(!inst);
2081 *inst = TEST_rm_r;
2084 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, src2w, src1, src1w);
2085 FAIL_IF(!inst);
2086 *inst = GROUP_F7;
2091 inst = emit_x86_instruction(compiler, 1, src1, 0, src2, src2w);
2092 FAIL_IF(!inst);
2093 *inst = TEST_rm_r;
2102 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, src1w, src2, src2w);
2103 FAIL_IF(!inst);
2104 *inst = GROUP_F7;
2108 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
2109 FAIL_IF(!inst);
2110 *inst = TEST_rm_r;
2113 inst = emit_x86_instruction(compiler, 1, src1, src1w, src2, src2w);
2114 FAIL_IF(!inst);
2115 *inst = GROUP_F7;
2120 inst = emit_x86_instruction(compiler, 1, src2, 0, src1, src1w);
2121 FAIL_IF(!inst);
2122 *inst = TEST_rm_r;
2131 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, src2w, TMP_REG1, 0);
2132 FAIL_IF(!inst);
2133 *inst = GROUP_F7;
2137 inst = emit_x86_instruction(compiler, 1, TMP_REG2, 0, TMP_REG1, 0);
2138 FAIL_IF(!inst);
2139 *inst = TEST_rm_r;
2142 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, src2w, TMP_REG1, 0);
2143 FAIL_IF(!inst);
2144 *inst = GROUP_F7;
2148 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, src2, src2w);
2149 FAIL_IF(!inst);
2150 *inst = TEST_rm_r;
2161 sljit_u8* inst; local
2165 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
2166 FAIL_IF(!inst);
2167 *inst |= mode;
2172 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, TMP_REG1, 0);
2173 FAIL_IF(!inst);
2174 *inst |= mode;
2179 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, TMP_REG1, 0);
2180 FAIL_IF(!inst);
2181 *inst |= mode;
2187 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2188 FAIL_IF(!inst);
2189 *inst |= mode;
2194 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, TMP_REG1, 0);
2195 FAIL_IF(!inst);
2196 *inst |= mode;
2204 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, TMP_REG1, 0);
2205 FAIL_IF(!inst);
2206 *inst |= mode;
2214 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2215 FAIL_IF(!inst);
2216 *inst |= mode;
2226 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, TMP_REG1, 0);
2227 FAIL_IF(!inst);
2228 *inst |= mode;
2233 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, TMP_REG1, 0);
2234 FAIL_IF(!inst);
2235 *inst |= mode;
2406 sljit_u8 *inst; local
2411 inst = (sljit_u8*)ensure_buf(compiler, 1 + size);
2412 FAIL_IF(!inst);
2414 SLJIT_MEMCPY(inst, instruction, size);
2444 sljit_u8 *inst; local
2446inst = emit_x86_instruction(compiler, 2 | (single ? EX86_PREF_F3 : EX86_PREF_F2) | EX86_SSE2, xmm1…
2447 FAIL_IF(!inst);
2448 *inst++ = GROUP_0F;
2449 *inst = opcode;
2456 sljit_u8 *inst; local
2458inst = emit_x86_instruction(compiler, 2 | (pref66 ? EX86_PREF_66 : 0) | EX86_SSE2, xmm1, 0, xmm2, …
2459 FAIL_IF(!inst);
2460 *inst++ = GROUP_0F;
2461 *inst = opcode;
2482 sljit_u8 *inst; local
2489inst = emit_x86_instruction(compiler, 2 | ((op & SLJIT_F32_OP) ? EX86_PREF_F3 : EX86_PREF_F2) | EX…
2490 FAIL_IF(!inst);
2491 *inst++ = GROUP_0F;
2492 *inst = CVTTSD2SI_r_xm;
2504 sljit_u8 *inst; local
2521inst = emit_x86_instruction(compiler, 2 | ((op & SLJIT_F32_OP) ? EX86_PREF_F3 : EX86_PREF_F2) | EX…
2522 FAIL_IF(!inst);
2523 *inst++ = GROUP_0F;
2524 *inst = CVTSI2SD_x_rm;
2679 sljit_u8 *inst; local
2692 inst = (sljit_u8*)ensure_buf(compiler, 2);
2693 PTR_FAIL_IF(!inst);
2695 *inst++ = 0;
2696 *inst++ = 0;
2703 sljit_u8 *inst; local
2721 inst = (sljit_u8*)ensure_buf(compiler, 2);
2722 PTR_FAIL_IF_NULL(inst);
2724 *inst++ = 0;
2725 *inst++ = 1;
2731 sljit_u8 *inst; local
2753 inst = (sljit_u8*)ensure_buf(compiler, 2);
2754 FAIL_IF_NULL(inst);
2756 *inst++ = 0;
2757 *inst++ = 1;
2764 inst = emit_x86_instruction(compiler, 1, 0, 0, src, srcw);
2765 FAIL_IF(!inst);
2766 *inst++ = GROUP_FF;
2767 *inst |= (type >= SLJIT_FAST_CALL) ? CALL_rm : JMP_rm;
2776 sljit_u8 *inst; local
2797 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4 + 3);
2798 FAIL_IF(!inst);
2801 *inst++ = (reg_map[TMP_REG1] <= 7) ? REX : REX_B;
2802 *inst++ = GROUP_0F;
2803 *inst++ = cond_set;
2804 *inst++ = MOD_REG | reg_lmap[TMP_REG1];
2805 *inst++ = REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B);
2806 *inst++ = OR_rm8_r8;
2807 *inst++ = MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst];
2813 inst = (sljit_u8*)ensure_buf(compiler, 1 + 4 + 4);
2814 FAIL_IF(!inst);
2817 *inst++ = (reg_map[reg] <= 7) ? REX : REX_B;
2818 *inst++ = GROUP_0F;
2819 *inst++ = cond_set;
2820 *inst++ = MOD_REG | reg_lmap[reg];
2821 *inst++ = REX_W | (reg_map[reg] <= 7 ? 0 : (REX_B | REX_R));
2823 *inst++ = GROUP_0F;
2824 *inst++ = MOVZX_r_rm8;
2825 *inst = MOD_REG | (reg_lmap[reg] << 3) | reg_lmap[reg];
2846 inst = (sljit_u8*)ensure_buf(compiler, 1 + 3 + 3);
2847 FAIL_IF(!inst);
2850 *inst++ = GROUP_0F;
2851 *inst++ = cond_set;
2852 *inst++ = MOD_REG | reg_map[dst];
2854 *inst++ = GROUP_0F;
2855 *inst++ = MOVZX_r_rm8;
2856 *inst = MOD_REG | (reg_map[dst] << 3) | reg_map[dst];
2869 inst = (sljit_u8*)ensure_buf(compiler, 1 + 3);
2870 FAIL_IF(!inst);
2873 *inst++ = GROUP_0F;
2875 *inst++ = cond_set - 0x50;
2876 *inst++ = MOD_REG | (reg_map[dst] << 3) | reg_map[TMP_REG1];
2880 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1 + 3 + 3 + 1);
2881 FAIL_IF(!inst);
2883 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2885 *inst++ = GROUP_0F;
2886 *inst++ = cond_set;
2887 *inst++ = MOD_REG | 0 /* eax */;
2889 *inst++ = GROUP_0F;
2890 *inst++ = MOVZX_r_rm8;
2891 *inst++ = MOD_REG | (reg_map[dst] << 3) | 0 /* eax */;
2892 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2900 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1 + 3 + 2 + 1);
2901 FAIL_IF(!inst);
2904 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2905 *inst++ = GROUP_0F;
2906 *inst++ = cond_set;
2907 *inst++ = MOD_REG | 0 /* eax */;
2908 *inst++ = OR_rm8_r8;
2909 *inst++ = MOD_REG | (0 /* eax */ << 3) | reg_map[dst];
2910 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2913 inst = (sljit_u8*)ensure_buf(compiler, 1 + 2 + 3 + 2 + 2);
2914 FAIL_IF(!inst);
2917 *inst++ = XCHG_r_rm;
2918 *inst++ = MOD_REG | (1 /* ecx */ << 3) | reg_map[TMP_REG1];
2919 *inst++ = GROUP_0F;
2920 *inst++ = cond_set;
2921 *inst++ = MOD_REG | 1 /* ecx */;
2922 *inst++ = OR_rm8_r8;
2923 *inst++ = MOD_REG | (1 /* ecx */ << 3) | 0 /* eax */;
2924 *inst++ = XCHG_r_rm;
2925 *inst++ = MOD_REG | (1 /* ecx */ << 3) | reg_map[TMP_REG1];
2931 inst = (sljit_u8*)ensure_buf(compiler, 1 + 1 + 3 + 3 + 1);
2932 FAIL_IF(!inst);
2934 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2936 *inst++ = GROUP_0F;
2937 *inst++ = cond_set;
2938 *inst++ = MOD_REG | 0 /* eax */;
2940 *inst++ = GROUP_0F;
2941 *inst++ = MOVZX_r_rm8;
2942 *inst++ = MOD_REG | (0 << 3) /* eax */ | 0 /* eax */;
2944 *inst++ = XCHG_EAX_r + reg_map[TMP_REG1];
2961 sljit_u8* inst; local
2990 inst = emit_x86_instruction(compiler, 2, dst_reg, 0, src, srcw);
2991 FAIL_IF(!inst);
2992 *inst++ = GROUP_0F;
2993 *inst = get_jump_code(type & 0xff) - 0x40;
3030 sljit_u8 *inst; local
3057 inst = (sljit_u8*)ensure_buf(compiler, 2);
3058 PTR_FAIL_IF(!inst);
3060 *inst++ = 0;
3061 *inst++ = 2;
3075 sljit_u8 *inst; local
3111 inst = (sljit_u8*)ensure_buf(compiler, 2);
3112 PTR_FAIL_IF(!inst);
3114 *inst++ = 0;
3115 *inst++ = 3;