Lines Matching refs:inst

132 	sljit_uw* inst;  in push_cpool()  local
142 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
143 FAIL_IF(!inst); in push_cpool()
145 *inst = 0xff000000 | compiler->cpool_fill; in push_cpool()
148 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
149 FAIL_IF(!inst); in push_cpool()
151 *inst = 0; in push_cpool()
157 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
158 FAIL_IF(!inst); in push_cpool()
160 *inst = *cpool_ptr++; in push_cpool()
167 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst) in push_inst() argument
177 *ptr = inst; in push_inst()
181 static sljit_s32 push_inst_with_literal(struct sljit_compiler *compiler, sljit_uw inst, sljit_uw li… in push_inst_with_literal() argument
218 SLJIT_ASSERT((inst & 0xfff) == 0); in push_inst_with_literal()
222 *ptr = inst | cpool_index; in push_inst_with_literal()
231 static sljit_s32 push_inst_with_unique_literal(struct sljit_compiler *compiler, sljit_uw inst, slji… in push_inst_with_unique_literal() argument
237 SLJIT_ASSERT(compiler->cpool_fill < CPOOL_SIZE && (inst & 0xfff) == 0); in push_inst_with_unique_literal()
241 *ptr = inst | compiler->cpool_fill; in push_inst_with_unique_literal()
373 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst) in push_inst() argument
380 *ptr = inst; in push_inst()
453 sljit_uw *inst = (sljit_uw *)ptr[0]; in inline_set_jump_addr() local
456 sljit_sw diff = (sljit_sw)(((sljit_sw)new_addr - (sljit_sw)(inst + 2) - executable_offset) >> 2); in inline_set_jump_addr()
461 inst[0] = (mov_pc & COND_MASK) | (B - CONDITIONAL) | (diff & 0xffffff); in inline_set_jump_addr()
463 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
464 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_jump_addr()
467 inst[0] = (mov_pc & COND_MASK) | (BL - CONDITIONAL) | (diff & 0xffffff); in inline_set_jump_addr()
468 inst[1] = NOP; in inline_set_jump_addr()
470 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
471 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
477 ptr = inst + ((mov_pc & 0xfff) >> 2) + 2; in inline_set_jump_addr()
479 ptr = inst + 1; in inline_set_jump_addr()
481 if (*inst != mov_pc) { in inline_set_jump_addr()
482 inst[0] = mov_pc; in inline_set_jump_addr()
485 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
486 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_jump_addr()
489 inst[1] = BLX | RM(TMP_REG1); in inline_set_jump_addr()
491 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
492 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
499 sljit_uw *inst = (sljit_uw*)jump_ptr; in inline_set_jump_addr()
500 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in inline_set_jump_addr()
501 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_addr << 4) & 0xf0000) | (new_addr & 0xfff); in inline_set_jump_addr()
502 inst[1] = MOVT | (inst[1] & 0xf000) | ((new_addr >> 12) & 0xf0000) | ((new_addr >> 16) & 0xfff); in inline_set_jump_addr()
504 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
505 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
516 sljit_uw *inst = (sljit_uw*)ptr[0]; in inline_set_const() local
522 *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2; in inline_set_const()
524 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
525 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
532 *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2; in inline_set_const()
534 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
535 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
541 ptr = inst + ((ldr_literal & 0xfff) >> 2) + 2; in inline_set_const()
543 ptr = inst + 1; in inline_set_const()
545 if (*inst != ldr_literal) { in inline_set_const()
546 *inst = ldr_literal; in inline_set_const()
548 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
549 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
554 sljit_uw *inst = (sljit_uw*)addr; in inline_set_const()
555 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in inline_set_const()
556 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_constant << 4) & 0xf0000) | (new_constant & 0xfff); in inline_set_const()
557inst[1] = MOVT | (inst[1] & 0xf000) | ((new_constant >> 12) & 0xf0000) | ((new_constant >> 16) & 0… in inline_set_const()
559 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
560 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_const()
1806 #define EMIT_FPU_DATA_TRANSFER(inst, add, base, freg, offs) \ argument
1807 ((inst) | ((add) << 23) | (reg_map[base] << 16) | (freg << 12) | (offs))
1814 sljit_sw inst = VSTR_F32 | (flags & (SLJIT_F32_OP | FPU_LOAD)); in emit_fop_mem() local
1828 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, arg & REG_MASK, reg, argw >> 2)); in emit_fop_mem()
1830 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, arg & REG_MASK, reg, (-argw) >> 2)); in emit_fop_mem()
1835 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
1841 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
1852 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, 0)); in emit_fop_mem()