Lines Matching refs:imm

146 …JIT_INLINE sljit_s32 emit_imm64_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_uw imm)  in emit_imm64_const()  argument
148 FAIL_IF(push_inst(compiler, MOVZ | RD(dst) | ((imm & 0xffff) << 5))); in emit_imm64_const()
149 FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((imm >> 16) & 0xffff) << 5) | (1 << 21))); in emit_imm64_const()
150 FAIL_IF(push_inst(compiler, MOVK | RD(dst) | (((imm >> 32) & 0xffff) << 5) | (2 << 21))); in emit_imm64_const()
151 return push_inst(compiler, MOVK | RD(dst) | ((imm >> 48) << 5) | (3 << 21)); in emit_imm64_const()
431 static sljit_ins logical_imm(sljit_sw imm, sljit_s32 len) in logical_imm() argument
439 if (len == 32 && (imm == 0 || imm == -1)) in logical_imm()
441 if (len == 16 && ((sljit_s32)imm == 0 || (sljit_s32)imm == -1)) in logical_imm()
445 SLJIT_ASSERT((len == 32 && imm != 0 && imm != -1) in logical_imm()
446 || (len == 16 && (sljit_s32)imm != 0 && (sljit_s32)imm != -1)); in logical_imm()
448 uimm = (sljit_uw)imm; in logical_imm()
476 imm = (sljit_sw)~uimm; in logical_imm()
477 SLJIT_ASSERT(imm < 0); in logical_imm()
479 COUNT_TRAILING_ZERO(imm, ones); in logical_imm()
481 if (~imm) in logical_imm()
499 sljit_uw imm = (sljit_uw)simm; in load_immediate() local
504 if (imm <= 0xffff) in load_immediate()
505 return push_inst(compiler, MOVZ | RD(dst) | (imm << 5)); in load_immediate()
508 return push_inst(compiler, MOVN | RD(dst) | ((~imm & 0xffff) << 5)); in load_immediate()
510 if (imm <= 0xffffffffl) { in load_immediate()
511 if ((imm & 0xffff) == 0) in load_immediate()
512 return push_inst(compiler, MOVZ | RD(dst) | ((imm >> 16) << 5) | (1 << 21)); in load_immediate()
513 if ((imm & 0xffff0000l) == 0xffff0000) in load_immediate()
514 return push_inst(compiler, (MOVN ^ W_OP) | RD(dst) | ((~imm & 0xffff) << 5)); in load_immediate()
515 if ((imm & 0xffff) == 0xffff) in load_immediate()
516 …return push_inst(compiler, (MOVN ^ W_OP) | RD(dst) | ((~imm & 0xffff0000l) >> (16 - 5)) | (1 << 21… in load_immediate()
522 FAIL_IF(push_inst(compiler, MOVZ | RD(dst) | ((imm & 0xffff) << 5))); in load_immediate()
523 return push_inst(compiler, MOVK | RD(dst) | ((imm & 0xffff0000l) >> (16 - 5)) | (1 << 21)); in load_immediate()
531 if ((imm & 0xffff) == 0xffff) in load_immediate()
532 return push_inst(compiler, MOVN | RD(dst) | ((~imm & 0xffff0000l) >> (16 - 5)) | (1 << 21)); in load_immediate()
534 FAIL_IF(push_inst(compiler, MOVN | RD(dst) | ((~imm & 0xffff) << 5))); in load_immediate()
535 return push_inst(compiler, MOVK | RD(dst) | ((imm & 0xffff0000l) >> (16 - 5)) | (1 << 21)); in load_immediate()
550 simm = (sljit_sw)imm; in load_immediate()
608 sljit_sw imm, nimm; in emit_op_imm() local
623 imm = (flags & ARG2_IMM) ? arg2 : arg1; in emit_op_imm()
636 return load_immediate(compiler, dst, imm); in emit_op_imm()
639 FAIL_IF(load_immediate(compiler, dst, (flags & INT_OP) ? (~imm & 0xffffffff) : ~imm)); in emit_op_imm()
644 imm = -imm; in emit_op_imm()
648 if (imm == 0) { in emit_op_imm()
652 if (imm > 0 && imm <= 0xfff) { in emit_op_imm()
654 return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | (imm << 10)); in emit_op_imm()
656 nimm = -imm; in emit_op_imm()
661 if (imm > 0 && imm <= 0xffffff && !(imm & 0xfff)) { in emit_op_imm()
663 …return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | ((imm >> 12) << 10) | (1 << 22)… in emit_op_imm()
669 if (imm > 0 && imm <= 0xffffff && !(flags & SET_FLAGS)) { in emit_op_imm()
670 …FAIL_IF(push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(reg) | ((imm >> 12) << 10) | (1 << 22… in emit_op_imm()
671 return push_inst(compiler, (ADDI ^ inv_bits) | RD(dst) | RN(dst) | ((imm & 0xfff) << 10)); in emit_op_imm()
679 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
686 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
699 imm &= 0x1f; in emit_op_imm()
700 …h_inst(compiler, (UBFM ^ inv_bits) | RD(dst) | RN(arg1) | ((-imm & 0x1f) << 16) | ((31 - imm) << 1… in emit_op_imm()
703 imm &= 0x3f; in emit_op_imm()
704 …ler, (UBFM ^ inv_bits) | RD(dst) | RN(arg1) | (1 << 22) | ((-imm & 0x3f) << 16) | ((63 - imm) << 1… in emit_op_imm()
714 imm &= 0x1f; in emit_op_imm()
715 FAIL_IF(push_inst(compiler, (UBFM ^ inv_bits) | RD(dst) | RN(arg1) | (imm << 16) | (31 << 10))); in emit_op_imm()
718 imm &= 0x3f; in emit_op_imm()
719 …FAIL_IF(push_inst(compiler, (UBFM ^ inv_bits) | RD(dst) | RN(arg1) | (1 << 22) | (imm << 16) | (63… in emit_op_imm()