Lines Matching defs:imm
445 s32 imm = insn->imm;
453 if (imm == 1) {
543 /* dst = BSWAP##imm(dst) */
545 switch (imm) {
567 if (imm == 16)
579 if (imm == 32)
608 /* dst = imm */
611 emit_imm(rd, imm, ctx);
616 /* dst = dst OP imm */
619 if (is_12b_int(imm)) {
620 emit_addi(rd, rd, imm, ctx);
622 emit_imm(RV_REG_T1, imm, ctx);
630 if (is_12b_int(-imm)) {
631 emit_addi(rd, rd, -imm, ctx);
633 emit_imm(RV_REG_T1, imm, ctx);
641 if (is_12b_int(imm)) {
642 emit_andi(rd, rd, imm, ctx);
644 emit_imm(RV_REG_T1, imm, ctx);
652 if (is_12b_int(imm)) {
653 emit(rv_ori(rd, rd, imm), ctx);
655 emit_imm(RV_REG_T1, imm, ctx);
663 if (is_12b_int(imm)) {
664 emit(rv_xori(rd, rd, imm), ctx);
666 emit_imm(RV_REG_T1, imm, ctx);
674 emit_imm(RV_REG_T1, imm, ctx);
682 emit_imm(RV_REG_T1, imm, ctx);
690 emit_imm(RV_REG_T1, imm, ctx);
698 emit_slli(rd, rd, imm, ctx);
706 emit_srli(rd, rd, imm, ctx);
708 emit(rv_srliw(rd, rd, imm), ctx);
716 emit_srai(rd, rd, imm, ctx);
718 emit(rv_sraiw(rd, rd, imm), ctx);
779 /* IF (dst COND imm) JUMP off */
802 if (imm) {
803 emit_imm(RV_REG_T1, imm, ctx);
806 /* If imm is 0, simply use zero register. */
826 if (is_12b_int(imm)) {
827 emit_andi(RV_REG_T1, rd, imm, ctx);
829 emit_imm(RV_REG_T1, imm, ctx);
836 if (!is64 && imm < 0)
886 imm64 = (u64)insn1.imm << 32 | (u32)imm;
943 /* ST: *(size *)(dst + off) = imm */
945 emit_imm(RV_REG_T1, imm, ctx);
957 emit_imm(RV_REG_T1, imm, ctx);
968 emit_imm(RV_REG_T1, imm, ctx);
979 emit_imm(RV_REG_T1, imm, ctx);