Lines Matching refs:inst

213 	sljit_ins* inst;  in push_cpool()  local
223 inst = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); in push_cpool()
224 FAIL_IF(!inst); in push_cpool()
226 *inst = 0xff000000 | compiler->cpool_fill; in push_cpool()
229 inst = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); in push_cpool()
230 FAIL_IF(!inst); in push_cpool()
232 *inst = 0; in push_cpool()
238 inst = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); in push_cpool()
239 FAIL_IF(!inst); in push_cpool()
241 *inst = *cpool_ptr++; in push_cpool()
248 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins inst) in push_inst() argument
258 *ptr = inst; in push_inst()
262 static sljit_s32 push_inst_with_literal(struct sljit_compiler *compiler, sljit_ins inst, sljit_uw l… in push_inst_with_literal() argument
299 SLJIT_ASSERT((inst & 0xfff) == 0); in push_inst_with_literal()
303 *ptr = inst | cpool_index; in push_inst_with_literal()
312 static sljit_s32 push_inst_with_unique_literal(struct sljit_compiler *compiler, sljit_ins inst, slj… in push_inst_with_unique_literal() argument
319 SLJIT_ASSERT(compiler->cpool_fill < CPOOL_SIZE && (inst & 0xfff) == 0); in push_inst_with_unique_literal()
323 *ptr = inst | compiler->cpool_fill; in push_inst_with_unique_literal()
457 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins inst) in push_inst() argument
464 *ptr = inst; in push_inst()
527 sljit_ins *inst = (sljit_ins*)ptr[0]; in set_jump_addr() local
530 sljit_sw diff = (sljit_sw)(((sljit_sw)new_addr - (sljit_sw)(inst + 2) - executable_offset) >> 2); in set_jump_addr()
538 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in set_jump_addr()
540 inst[0] = (mov_pc & COND_MASK) | (B - CONDITIONAL) | (diff & 0xffffff); in set_jump_addr()
542 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in set_jump_addr()
543 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_jump_addr()
544 SLJIT_CACHE_FLUSH(inst, inst + 1); in set_jump_addr()
548 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in set_jump_addr()
550 inst[0] = (mov_pc & COND_MASK) | (BL - CONDITIONAL) | (diff & 0xffffff); in set_jump_addr()
551 inst[1] = NOP; in set_jump_addr()
553 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in set_jump_addr()
554 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_jump_addr()
555 SLJIT_CACHE_FLUSH(inst, inst + 2); in set_jump_addr()
561 ptr = inst + ((mov_pc & 0xfff) >> 2) + 2; in set_jump_addr()
563 ptr = inst + 1; in set_jump_addr()
565 if (*inst != mov_pc) { in set_jump_addr()
567 SLJIT_UPDATE_WX_FLAGS(inst, inst + (!bl ? 1 : 2), 0); in set_jump_addr()
569 inst[0] = mov_pc; in set_jump_addr()
572 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in set_jump_addr()
573 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_jump_addr()
574 SLJIT_CACHE_FLUSH(inst, inst + 1); in set_jump_addr()
577 inst[1] = BLX | RM(TMP_REG1); in set_jump_addr()
579 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in set_jump_addr()
580 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_jump_addr()
581 SLJIT_CACHE_FLUSH(inst, inst + 2); in set_jump_addr()
597 sljit_ins *inst = (sljit_ins*)jump_ptr; in set_jump_addr()
601 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in set_jump_addr()
604 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in set_jump_addr()
607 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_addr << 4) & 0xf0000) | (new_addr & 0xfff); in set_jump_addr()
608 inst[1] = MOVT | (inst[1] & 0xf000) | ((new_addr >> 12) & 0xf0000) | ((new_addr >> 16) & 0xfff); in set_jump_addr()
611 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in set_jump_addr()
612 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_jump_addr()
613 SLJIT_CACHE_FLUSH(inst, inst + 2); in set_jump_addr()
626 sljit_ins *inst = (sljit_ins*)ptr[0]; in set_const_value() local
635 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in set_const_value()
638 *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2; in set_const_value()
641 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in set_const_value()
642 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_const_value()
643 SLJIT_CACHE_FLUSH(inst, inst + 1); in set_const_value()
651 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in set_const_value()
654 *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2; in set_const_value()
657 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in set_const_value()
658 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_const_value()
659 SLJIT_CACHE_FLUSH(inst, inst + 1); in set_const_value()
665 ptr = inst + ((ldr_literal & 0xfff) >> 2) + 2; in set_const_value()
667 ptr = inst + 1; in set_const_value()
669 if (*inst != ldr_literal) { in set_const_value()
671 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in set_const_value()
674 *inst = ldr_literal; in set_const_value()
677 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in set_const_value()
678 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_const_value()
679 SLJIT_CACHE_FLUSH(inst, inst + 1); in set_const_value()
693 sljit_ins *inst = (sljit_ins*)addr; in set_const_value()
697 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in set_const_value()
700 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in set_const_value()
703 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_constant << 4) & 0xf0000) | (new_constant & 0xfff); in set_const_value()
704inst[1] = MOVT | (inst[1] & 0xf000) | ((new_constant >> 12) & 0xf0000) | ((new_constant >> 16) & 0… in set_const_value()
707 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in set_const_value()
708 inst = (sljit_ins*)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in set_const_value()
709 SLJIT_CACHE_FLUSH(inst, inst + 2); in set_const_value()
2654 #define EMIT_FPU_DATA_TRANSFER(inst, add, base, freg, offs) \ argument
2655 ((inst) | (sljit_ins)((add) << 23) | RN(base) | VD(freg) | (sljit_ins)(offs))
2660 sljit_ins inst = VSTR_F32 | (flags & (SLJIT_32 | FPU_LOAD)); in emit_fop_mem() local
2674 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, arg & REG_MASK, reg, argw >> 2)); in emit_fop_mem()
2676 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, arg & REG_MASK, reg, (-argw) >> 2)); in emit_fop_mem()
2681 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG1, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
2687 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, TMP_REG1, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
2698 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG1, reg, 0)); in emit_fop_mem()
2958 sljit_ins inst; in sljit_emit_fcopy() local
2967 inst = VMOV2 | RN(reg) | RD(reg2) | VM(freg); in sljit_emit_fcopy()
2969 inst = VMOV | VN(freg) | RD(reg); in sljit_emit_fcopy()
2972 inst |= 1 << 7; in sljit_emit_fcopy()
2976 inst |= 1 << 20; in sljit_emit_fcopy()
2978 return push_inst(compiler, inst); in sljit_emit_fcopy()
3730 sljit_ins is_type1_transfer, inst; in sljit_emit_mem_update() local
3789inst = EMIT_DATA_TRANSFER(flags, 1, reg, mem & REG_MASK, RM(OFFS_REG(mem)) | ((sljit_ins)memw << 7… in sljit_emit_mem_update()
3792 inst |= (1 << 25); in sljit_emit_mem_update()
3795 inst ^= (1 << 24); in sljit_emit_mem_update()
3797 inst |= (1 << 21); in sljit_emit_mem_update()
3799 return push_inst(compiler, inst); in sljit_emit_mem_update()
3802 inst = EMIT_DATA_TRANSFER(flags, 0, reg, mem & REG_MASK, 0); in sljit_emit_mem_update()
3805 inst ^= (1 << 24); in sljit_emit_mem_update()
3807 inst |= (1 << 21); in sljit_emit_mem_update()
3811 inst |= (1 << 23); in sljit_emit_mem_update()
3815 return push_inst(compiler, inst | (sljit_ins)memw); in sljit_emit_mem_update()
3819 inst |= (1 << 23); in sljit_emit_mem_update()
3823 return push_inst(compiler, inst | TYPE2_TRANSFER_IMM((sljit_ins)memw)); in sljit_emit_mem_update()