Lines Matching refs:inst

155 	sljit_uw* inst;  in push_cpool()  local
165 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
166 FAIL_IF(!inst); in push_cpool()
168 *inst = 0xff000000 | compiler->cpool_fill; in push_cpool()
171 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
172 FAIL_IF(!inst); in push_cpool()
174 *inst = 0; in push_cpool()
180 inst = (sljit_uw*)ensure_buf(compiler, sizeof(sljit_uw)); in push_cpool()
181 FAIL_IF(!inst); in push_cpool()
183 *inst = *cpool_ptr++; in push_cpool()
190 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst) in push_inst() argument
200 *ptr = inst; in push_inst()
204 static sljit_s32 push_inst_with_literal(struct sljit_compiler *compiler, sljit_uw inst, sljit_uw li… in push_inst_with_literal() argument
241 SLJIT_ASSERT((inst & 0xfff) == 0); in push_inst_with_literal()
245 *ptr = inst | cpool_index; in push_inst_with_literal()
254 static sljit_s32 push_inst_with_unique_literal(struct sljit_compiler *compiler, sljit_uw inst, slji… in push_inst_with_unique_literal() argument
260 SLJIT_ASSERT(compiler->cpool_fill < CPOOL_SIZE && (inst & 0xfff) == 0); in push_inst_with_unique_literal()
264 *ptr = inst | compiler->cpool_fill; in push_inst_with_unique_literal()
398 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst) in push_inst() argument
405 *ptr = inst; in push_inst()
478 sljit_uw *inst = (sljit_uw *)ptr[0]; in inline_set_jump_addr() local
481 sljit_sw diff = (sljit_sw)(((sljit_sw)new_addr - (sljit_sw)(inst + 2) - executable_offset) >> 2); in inline_set_jump_addr()
489 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in inline_set_jump_addr()
491 inst[0] = (mov_pc & COND_MASK) | (B - CONDITIONAL) | (diff & 0xffffff); in inline_set_jump_addr()
493 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in inline_set_jump_addr()
494 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
495 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_jump_addr()
499 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in inline_set_jump_addr()
501 inst[0] = (mov_pc & COND_MASK) | (BL - CONDITIONAL) | (diff & 0xffffff); in inline_set_jump_addr()
502 inst[1] = NOP; in inline_set_jump_addr()
504 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in inline_set_jump_addr()
505 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
506 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
512 ptr = inst + ((mov_pc & 0xfff) >> 2) + 2; in inline_set_jump_addr()
514 ptr = inst + 1; in inline_set_jump_addr()
516 if (*inst != mov_pc) { in inline_set_jump_addr()
518 SLJIT_UPDATE_WX_FLAGS(inst, inst + (!bl ? 1 : 2), 0); in inline_set_jump_addr()
520 inst[0] = mov_pc; in inline_set_jump_addr()
523 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in inline_set_jump_addr()
524 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
525 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_jump_addr()
528 inst[1] = BLX | RM(TMP_REG1); in inline_set_jump_addr()
530 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in inline_set_jump_addr()
531 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
532 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
548 sljit_uw *inst = (sljit_uw*)jump_ptr; in inline_set_jump_addr()
552 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in inline_set_jump_addr()
555 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in inline_set_jump_addr()
558 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_addr << 4) & 0xf0000) | (new_addr & 0xfff); in inline_set_jump_addr()
559 inst[1] = MOVT | (inst[1] & 0xf000) | ((new_addr >> 12) & 0xf0000) | ((new_addr >> 16) & 0xfff); in inline_set_jump_addr()
562 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in inline_set_jump_addr()
563 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_jump_addr()
564 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_jump_addr()
577 sljit_uw *inst = (sljit_uw*)ptr[0]; in inline_set_const() local
586 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in inline_set_const()
589 *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2; in inline_set_const()
592 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in inline_set_const()
593 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
594 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
602 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in inline_set_const()
605 *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2; in inline_set_const()
608 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in inline_set_const()
609 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
610 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
616 ptr = inst + ((ldr_literal & 0xfff) >> 2) + 2; in inline_set_const()
618 ptr = inst + 1; in inline_set_const()
620 if (*inst != ldr_literal) { in inline_set_const()
622 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); in inline_set_const()
625 *inst = ldr_literal; in inline_set_const()
628 SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); in inline_set_const()
629 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
630 SLJIT_CACHE_FLUSH(inst, inst + 1); in inline_set_const()
644 sljit_uw *inst = (sljit_uw*)addr; in inline_set_const()
648 SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); in inline_set_const()
651 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); in inline_set_const()
654 inst[0] = MOVW | (inst[0] & 0xf000) | ((new_constant << 4) & 0xf0000) | (new_constant & 0xfff); in inline_set_const()
655inst[1] = MOVT | (inst[1] & 0xf000) | ((new_constant >> 12) & 0xf0000) | ((new_constant >> 16) & 0… in inline_set_const()
658 SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); in inline_set_const()
659 inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); in inline_set_const()
660 SLJIT_CACHE_FLUSH(inst, inst + 2); in inline_set_const()
2346 #define EMIT_FPU_DATA_TRANSFER(inst, add, base, freg, offs) \ argument
2347 ((inst) | (sljit_uw)((add) << 23) | RN(base) | VD(freg) | (sljit_uw)(offs))
2352 sljit_uw inst = VSTR_F32 | (flags & (SLJIT_32 | FPU_LOAD)); in emit_fop_mem() local
2366 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, arg & REG_MASK, reg, argw >> 2)); in emit_fop_mem()
2368 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, arg & REG_MASK, reg, (-argw) >> 2)); in emit_fop_mem()
2373 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
2379 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 0, TMP_REG2, reg, (argw & 0x3fc) >> 2)); in emit_fop_mem()
2390 return push_inst(compiler, EMIT_FPU_DATA_TRANSFER(inst, 1, TMP_REG2, reg, 0)); in emit_fop_mem()
3444 sljit_uw is_type1_transfer, inst; in sljit_emit_mem_update() local
3503inst = EMIT_DATA_TRANSFER(flags, 1, reg, mem & REG_MASK, RM(OFFS_REG(mem)) | ((sljit_uw)memw << 7)… in sljit_emit_mem_update()
3506 inst |= (1 << 25); in sljit_emit_mem_update()
3509 inst ^= (1 << 24); in sljit_emit_mem_update()
3511 inst |= (1 << 21); in sljit_emit_mem_update()
3513 return push_inst(compiler, inst); in sljit_emit_mem_update()
3516 inst = EMIT_DATA_TRANSFER(flags, 0, reg, mem & REG_MASK, 0); in sljit_emit_mem_update()
3519 inst ^= (1 << 24); in sljit_emit_mem_update()
3521 inst |= (1 << 21); in sljit_emit_mem_update()
3525 inst |= (1 << 23); in sljit_emit_mem_update()
3529 return push_inst(compiler, inst | (sljit_uw)memw); in sljit_emit_mem_update()
3533 inst |= (1 << 23); in sljit_emit_mem_update()
3537 return push_inst(compiler, inst | TYPE2_TRANSFER_IMM((sljit_uw)memw)); in sljit_emit_mem_update()