Lines Matching refs:sljit_ins

33 typedef sljit_u32 sljit_ins;  typedef
54 #define W_OP ((sljit_ins)1 << 31)
55 #define RD(rd) ((sljit_ins)reg_map[rd])
56 #define RT(rt) ((sljit_ins)reg_map[rt])
57 #define RN(rn) ((sljit_ins)reg_map[rn] << 5)
58 #define RT2(rt2) ((sljit_ins)reg_map[rt2] << 10)
59 #define RM(rm) ((sljit_ins)reg_map[rm] << 16)
60 #define VD(vd) ((sljit_ins)freg_map[vd])
61 #define VT(vt) ((sljit_ins)freg_map[vt])
62 #define VT2(vt) ((sljit_ins)freg_map[vt] << 10)
63 #define VN(vn) ((sljit_ins)freg_map[vn] << 5)
64 #define VM(vm) ((sljit_ins)freg_map[vm] << 16)
142 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) in push_inst()
144 sljit_ins *ptr = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst()
153 FAIL_IF(push_inst(compiler, MOVZ | RD(dst) | ((sljit_ins)(imm & 0xffff) << 5))); in emit_imm64_const()
154 …FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)(imm >> 16) & 0xffff) << 5) | (1 << 21))… in emit_imm64_const()
155 …FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)(imm >> 32) & 0xffff) << 5) | (2 << 21))… in emit_imm64_const()
156 return push_inst(compiler, MOVK | RD(dst) | ((sljit_ins)(imm >> 48) << 5) | (3 << 21)); in emit_imm64_const()
159 …IT_INLINE sljit_sw detect_jump_type(struct sljit_jump *jump, sljit_ins *code_ptr, sljit_ins *code,… in detect_jump_type()
182 jump->addr -= sizeof(sljit_ins); in detect_jump_type()
232 sljit_ins *code; in sljit_generate_code()
233 sljit_ins *code_ptr; in sljit_generate_code()
234 sljit_ins *buf_ptr; in sljit_generate_code()
235 sljit_ins *buf_end; in sljit_generate_code()
251 …code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins), compiler->exec_allocator_… in sljit_generate_code()
266 buf_ptr = (sljit_ins*)buf->memory; in sljit_generate_code()
322 buf_ptr = (sljit_ins *)jump->addr; in sljit_generate_code()
327 buf_ptr[0] = ((jump->flags & IS_BL) ? BL : B) | (sljit_ins)(addr & 0x3ffffff); in sljit_generate_code()
335 buf_ptr[0] = (buf_ptr[0] & ~(sljit_ins)0xffffe0) | (sljit_ins)((addr & 0x7ffff) << 5); in sljit_generate_code()
343 buf_ptr[0] = MOVZ | dst | (((sljit_ins)addr & 0xffff) << 5); in sljit_generate_code()
344 buf_ptr[1] = MOVK | dst | (((sljit_ins)(addr >> 16) & 0xffff) << 5) | (1 << 21); in sljit_generate_code()
346 buf_ptr[2] = MOVK | dst | (((sljit_ins)(addr >> 32) & 0xffff) << 5) | (2 << 21); in sljit_generate_code()
348 buf_ptr[3] = MOVK | dst | ((sljit_ins)(addr >> 48) << 5) | (3 << 21); in sljit_generate_code()
356 buf_ptr = (sljit_ins*)put_label->addr; in sljit_generate_code()
358 buf_ptr[0] |= ((sljit_ins)addr & 0xffff) << 5; in sljit_generate_code()
359 buf_ptr[1] |= ((sljit_ins)(addr >> 16) & 0xffff) << 5; in sljit_generate_code()
362 buf_ptr[2] |= ((sljit_ins)(addr >> 32) & 0xffff) << 5; in sljit_generate_code()
365 buf_ptr[3] |= (sljit_ins)(addr >> 48) << 5; in sljit_generate_code()
372 compiler->executable_size = (sljit_uw)(code_ptr - code) * sizeof(sljit_ins); in sljit_generate_code()
374 code = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(code, executable_offset); in sljit_generate_code()
375 code_ptr = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); in sljit_generate_code()
434 #define LOGICAL_IMM_CHECK (sljit_ins)0x100
436 static sljit_ins logical_imm(sljit_sw imm, sljit_u32 len) in logical_imm()
441 sljit_ins ins; in logical_imm()
507 sljit_ins bitmask; in load_immediate()
511 return push_inst(compiler, MOVZ | RD(dst) | ((sljit_ins)imm << 5)); in load_immediate()
514 return push_inst(compiler, MOVN | RD(dst) | (((sljit_ins)~imm & 0xffff) << 5)); in load_immediate()
518 return push_inst(compiler, MOVZ | RD(dst) | ((sljit_ins)(imm >> 16) << 5) | (1 << 21)); in load_immediate()
520 return push_inst(compiler, (MOVN ^ W_OP) | RD(dst) | (((sljit_ins)~imm & 0xffff) << 5)); in load_immediate()
522 …return push_inst(compiler, (MOVN ^ W_OP) | RD(dst) | (((sljit_ins)~imm & 0xffff0000u) >> (16 - 5))… in load_immediate()
528 FAIL_IF(push_inst(compiler, MOVZ | RD(dst) | (((sljit_ins)imm & 0xffff) << 5))); in load_immediate()
529 …return push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)imm & 0xffff0000u) >> (16 - 5)) | (1 << 2… in load_immediate()
538 …return push_inst(compiler, MOVN | RD(dst) | (((sljit_ins)~imm & 0xffff0000u) >> (16 - 5)) | (1 << … in load_immediate()
540 FAIL_IF(push_inst(compiler, MOVN | RD(dst) | (((sljit_ins)~imm & 0xffff) << 5))); in load_immediate()
541 …return push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)imm & 0xffff0000u) >> (16 - 5)) | (1 << 2… in load_immediate()
567 FAIL_IF(push_inst(compiler, MOVN | RD(dst) | (((sljit_ins)simm & 0xffff) << 5) | (i << 21))); in load_immediate()
570 FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)~simm & 0xffff) << 5) | (i << 21))); in load_immediate()
583 FAIL_IF(push_inst(compiler, MOVZ | RD(dst) | (((sljit_ins)simm & 0xffff) << 5) | (i << 21))); in load_immediate()
586 FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((sljit_ins)simm & 0xffff) << 5) | (i << 21))); in load_immediate()
610 sljit_ins inv_bits = (flags & INT_OP) ? W_OP : 0; in emit_op_imm()
611 sljit_ins inst_bits; in emit_op_imm()
662 return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | ((sljit_ins)imm << 10)); in emit_op_imm()
667 return push_inst(compiler, (SUBI ^ inv_bits) | RD(dst) | RN(reg) | ((sljit_ins)nimm << 10)); in emit_op_imm()
671 …return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | (((sljit_ins)imm >> 12) << 10) … in emit_op_imm()
675 …return push_inst(compiler, (SUBI ^ inv_bits) | RD(dst) | RN(reg) | (((sljit_ins)nimm >> 12) << 10)… in emit_op_imm()
678 …FAIL_IF(push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | (((sljit_ins)imm >> 12) << 10)… in emit_op_imm()
679 …return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(dst) | (((sljit_ins)imm & 0xfff) << 10… in emit_op_imm()
682 …FAIL_IF(push_inst(compiler, (SUBI ^ inv_bits) | RD(dst) | RN(reg) | (((sljit_ins)nimm >> 12) << 10… in emit_op_imm()
683 …return push_inst(compiler, (SUBI ^ inv_bits) | RD(dst) | RN(dst) | (((sljit_ins)nimm & 0xfff) << 1… in emit_op_imm()
709 | (((sljit_ins)-imm & 0x1f) << 16) | ((31 - (sljit_ins)imm) << 10))); in emit_op_imm()
714 | (((sljit_ins)-imm & 0x3f) << 16) | ((63 - (sljit_ins)imm) << 10))); in emit_op_imm()
726 | ((sljit_ins)imm << 16) | (31 << 10))); in emit_op_imm()
731 | (1 << 22) | ((sljit_ins)imm << 16) | (63 << 10))); in emit_op_imm()
864 #define MEM_SIZE_SHIFT(flags) ((sljit_ins)(flags) & 0x3)
884 …t(compiler, ADD | RD(tmp_reg) | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | ((sljit_ins)argw << 10))); in emit_op_mem()
895 return push_inst(compiler, STRBI | type | RT(reg) | RN(tmp_reg) | ((sljit_ins)argw << 10)); in emit_op_mem()
900 return push_inst(compiler, STRBI | type | RT(reg) | RN(arg) | ((sljit_ins)argw << (10 - shift))); in emit_op_mem()
903 …FAIL_IF(push_inst(compiler, ADDI | (1 << 22) | RD(tmp_reg) | RN(arg) | (((sljit_ins)argw >> 12) <<… in emit_op_mem()
906 return push_inst(compiler, STRBI | type | RT(reg) | RN(tmp_reg) | ((sljit_ins)argw << 10)); in emit_op_mem()
911 return push_inst(compiler, STURBI | type | RT(reg) | RN(arg) | (((sljit_ins)argw & 0x1ff) << 12)); in emit_op_mem()
928 sljit_ins offs; in sljit_emit_enter()
942 | RN(SLJIT_SP) | (sljit_ins)((-(local_size >> 3) & 0x7f) << 15))); in sljit_emit_enter()
943 offs = (sljit_ins)(local_size - 2 * SSIZE_OF(sw)) << (15 - 3); in sljit_emit_enter()
948 …FAIL_IF(push_inst(compiler, SUBI | RD(SLJIT_SP) | RN(SLJIT_SP) | ((sljit_ins)saved_regs_size << 10… in sljit_emit_enter()
949 offs = (sljit_ins)(saved_regs_size - 2 * SSIZE_OF(sw)) << (15 - 3); in sljit_emit_enter()
963 offs -= (sljit_ins)2 << 15; in sljit_emit_enter()
973 offs -= (sljit_ins)2 << 15; in sljit_emit_enter()
986 offs -= (sljit_ins)2 << 15; in sljit_emit_enter()
996 offs -= (sljit_ins)2 << 15; in sljit_emit_enter()
1041 FAIL_IF(push_inst(compiler, MOVZ | RD(TMP_REG1) | ((((sljit_ins)local_size >> 12) - 1) << 5))); in sljit_emit_enter()
1045 FAIL_IF(push_inst(compiler, B_CC | ((((sljit_ins) -3) & 0x7ffff) << 5) | 0x1 /* not-equal */)); in sljit_emit_enter()
1059 | RN(SLJIT_SP) | (sljit_ins)((-(local_size >> 3) & 0x7f) << 15))); in sljit_emit_enter()
1064 FAIL_IF(push_inst(compiler, SUBI | RD(SLJIT_SP) | RN(SLJIT_SP) | ((sljit_ins)local_size << 10))); in sljit_emit_enter()
1074 …FAIL_IF(push_inst(compiler, SUBI | RD(SLJIT_SP) | RN(SLJIT_SP) | (((sljit_ins)local_size >> 12) <<… in sljit_emit_enter()
1080 … FAIL_IF(push_inst(compiler, SUBI | RD(SLJIT_SP) | RN(SLJIT_SP) | ((sljit_ins)local_size << 10))); in sljit_emit_enter()
1085 | RN(SLJIT_SP) | (sljit_ins)((-(local_size >> 3) & 0x7f) << 15))); in sljit_emit_enter()
1113 sljit_ins offs; in emit_stack_frame_release()
1119 | RN(SLJIT_SP) | ((sljit_ins)(local_size - 512) << (15 - 3)))); in emit_stack_frame_release()
1128 | (((sljit_ins)local_size >> 12) << 10) | (1 << 22))); in emit_stack_frame_release()
1132 FAIL_IF(push_inst(compiler, ADDI | RD(SLJIT_SP) | RN(SLJIT_SP) | ((sljit_ins)local_size << 10))); in emit_stack_frame_release()
1136 offs = (sljit_ins)(local_size - 2 * SSIZE_OF(sw)) << (15 - 3); in emit_stack_frame_release()
1146 offs -= (sljit_ins)2 << 15; in emit_stack_frame_release()
1156 offs -= (sljit_ins)2 << 15; in emit_stack_frame_release()
1169 offs -= (sljit_ins)2 << 15; in emit_stack_frame_release()
1179 offs -= (sljit_ins)2 << 15; in emit_stack_frame_release()
1190 return push_inst(compiler, ADDI | RD(SLJIT_SP) | RN(SLJIT_SP) | (sljit_ins)(local_size << 10)); in emit_stack_frame_release()
1209 sljit_ins inv_bits = (op & SLJIT_32) ? W_OP : 0; in sljit_emit_op0()
1461 return push_inst(compiler, *(sljit_ins*)instruction); in sljit_emit_op_custom()
1471 sljit_ins type = (shift << 30); in emit_fop_mem()
1484 …(compiler, ADD | RD(TMP_REG1) | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | ((sljit_ins)argw << 10))); in emit_fop_mem()
1495 return push_inst(compiler, STR_FI | type | VT(reg) | RN(TMP_REG1) | ((sljit_ins)argw << 10)); in emit_fop_mem()
1500 … return push_inst(compiler, STR_FI | type | VT(reg) | RN(arg) | ((sljit_ins)argw << (10 - shift))); in emit_fop_mem()
1503 …FAIL_IF(push_inst(compiler, ADDI | (1 << 22) | RD(TMP_REG1) | RN(arg) | (((sljit_ins)argw >> 12) <… in emit_fop_mem()
1506 return push_inst(compiler, STR_FI | type | VT(reg) | RN(TMP_REG1) | ((sljit_ins)argw << 10)); in emit_fop_mem()
1511 …return push_inst(compiler, STUR_FI | type | VT(reg) | RN(arg) | (((sljit_ins)argw & 0x1ff) << 12)); in emit_fop_mem()
1522 sljit_ins inv_bits = (op & SLJIT_32) ? (1 << 22) : 0; in sljit_emit_fop1_conv_sw_from_f64()
1544 sljit_ins inv_bits = (op & SLJIT_32) ? (1 << 22) : 0; in sljit_emit_fop1_conv_f64_from_sw()
1573 sljit_ins inv_bits = (op & SLJIT_32) ? (1 << 22) : 0; in sljit_emit_fop1_cmp()
1593 sljit_ins inv_bits; in sljit_emit_fop1()
1624 …FAIL_IF(push_inst(compiler, FCVT | (sljit_ins)((op & SLJIT_32) ? (1 << 22) : (1 << 15)) | VD(dst_r… in sljit_emit_fop1()
1639 sljit_ins inv_bits = (op & SLJIT_32) ? (1 << 22) : 0; in sljit_emit_fop2()
1698 static sljit_ins get_cc(struct sljit_compiler *compiler, sljit_s32 type) in get_cc()
1835 sljit_ins inv_bits = (type & SLJIT_32) ? W_OP : 0; in emit_cmp_to0()
1930 sljit_ins cc; in sljit_emit_op_flags()
1977 sljit_ins inv_bits = (dst_reg & SLJIT_32) ? W_OP : 0; in sljit_emit_cmov()
1978 sljit_ins cc; in sljit_emit_cmov()
2048 …return push_inst(compiler, inst | RT(reg) | RN(mem & REG_MASK) | (sljit_ins)((memw & 0x1ff) << 12)… in sljit_emit_mem()
2077 …return push_inst(compiler, inst | VT(freg) | RN(mem & REG_MASK) | (sljit_ins)((memw & 0x1ff) << 12… in sljit_emit_fmem()
2083 sljit_ins ins; in sljit_get_local_base()
2100 FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(SLJIT_SP) | (sljit_ins)(offset << 10))); in sljit_get_local_base()
2102 …FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(SLJIT_SP) | (sljit_ins)((offset & 0xfff000) >> … in sljit_get_local_base()
2106 FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(dst_reg) | (sljit_ins)(offset << 10))); in sljit_get_local_base()
2165 sljit_ins* inst = (sljit_ins*)addr; in sljit_set_jump_addr()
2179 inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in sljit_set_jump_addr()