Lines Matching refs:rs2_or_imm

2750                    int rs1, bool imm, int rs2_or_imm)  in do_tcc()  argument
2767 if (rs1 == 0 && (imm || rs2_or_imm == 0)) { in do_tcc()
2768 trap = tcg_constant_i32((rs2_or_imm & mask) + TT_TRAP); in do_tcc()
2773 tcg_gen_addi_i32(trap, trap, rs2_or_imm); in do_tcc()
2776 tcg_gen_trunc_tl_i32(t2, gen_load_gpr(dc, rs2_or_imm)); in do_tcc()
3260 if (!a->imm && (a->rs2_or_imm & ~0x1f)) { in do_wr_special()
3267 if (a->rs1 == 0 && (a->imm || a->rs2_or_imm == 0)) { in do_wr_special()
3268 src = tcg_constant_tl(a->rs2_or_imm); in do_wr_special()
3271 if (a->rs2_or_imm == 0) { in do_wr_special()
3276 tcg_gen_xori_tl(src, src1, a->rs2_or_imm); in do_wr_special()
3278 tcg_gen_xor_tl(src, src1, gen_load_gpr(dc, a->rs2_or_imm)); in do_wr_special()
3704 if (!a->imm && a->rs2_or_imm & ~0x1f) { in do_arith_int()
3715 if (a->imm || a->rs2_or_imm == 0) { in do_arith_int()
3717 funci(dst, src1, a->rs2_or_imm); in do_arith_int()
3719 func(dst, src1, tcg_constant_tl(a->rs2_or_imm)); in do_arith_int()
3722 func(dst, src1, cpu_regs[a->rs2_or_imm]); in do_arith_int()
3788 if (a->imm || a->rs2_or_imm == 0) { in TRANS()
3789 gen_store_gpr(dc, a->rd, tcg_constant_tl(a->rs2_or_imm)); in TRANS()
3790 } else if (a->rs2_or_imm & ~0x1f) { in TRANS()
3794 gen_store_gpr(dc, a->rd, cpu_regs[a->rs2_or_imm]); in TRANS()
3810 if (!a->imm && a->rs2_or_imm & ~0x1f) { in trans_UDIV()
3814 if (unlikely(a->rs2_or_imm == 0)) { in trans_UDIV()
3820 t2 = tcg_constant_i64((uint32_t)a->rs2_or_imm); in trans_UDIV()
3829 tcg_gen_trunc_tl_i32(n2, cpu_regs[a->rs2_or_imm]); in trans_UDIV()
3836 tcg_gen_ext32u_i64(t2, cpu_regs[a->rs2_or_imm]); in trans_UDIV()
3838 tcg_gen_extu_i32_i64(t2, cpu_regs[a->rs2_or_imm]); in trans_UDIV()
3862 if (!a->imm && a->rs2_or_imm & ~0x1f) { in trans_UDIVX()
3866 if (unlikely(a->rs2_or_imm == 0)) { in trans_UDIVX()
3872 src2 = tcg_constant_tl(a->rs2_or_imm); in trans_UDIVX()
3880 src2 = cpu_regs[a->rs2_or_imm]; in trans_UDIVX()
3900 if (!a->imm && a->rs2_or_imm & ~0x1f) { in trans_SDIVX()
3904 if (unlikely(a->rs2_or_imm == 0)) { in trans_SDIVX()
3913 if (unlikely(a->rs2_or_imm == -1)) { in trans_SDIVX()
3918 src2 = tcg_constant_tl(a->rs2_or_imm); in trans_SDIVX()
3927 src2 = cpu_regs[a->rs2_or_imm]; in trans_SDIVX()
4194 static TCGv gen_rs2_or_imm(DisasContext *dc, bool imm, int rs2_or_imm) in TRANS()
4197 if (!imm && rs2_or_imm & ~0x1f) { in TRANS()
4200 if (imm || rs2_or_imm == 0) { in TRANS()
4201 return tcg_constant_tl(rs2_or_imm); in TRANS()
4203 return cpu_regs[rs2_or_imm]; in TRANS()
4219 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVcc()
4231 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVfcc()
4243 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVR()
4261 if (!a->imm && a->rs2_or_imm & ~0x1f) { in do_add_special()
4272 if (a->imm || a->rs2_or_imm == 0) { in do_add_special()
4273 tcg_gen_addi_tl(sum, src1, a->rs2_or_imm); in do_add_special()
4275 tcg_gen_add_tl(sum, src1, cpu_regs[a->rs2_or_imm]); in do_add_special()
4375 static TCGv gen_ldst_addr(DisasContext *dc, int rs1, bool imm, int rs2_or_imm) in gen_ldst_addr() argument
4380 if (!imm && rs2_or_imm & ~0x1f) { in gen_ldst_addr()
4385 if (rs2_or_imm) { in gen_ldst_addr()
4388 tcg_gen_addi_tl(tmp, addr, rs2_or_imm); in gen_ldst_addr()
4390 tcg_gen_add_tl(tmp, addr, cpu_regs[rs2_or_imm]); in gen_ldst_addr()
4406 TCGv reg, addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in do_ld_gpr()
4430 TCGv reg, addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()
4456 addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()
4473 addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in trans_STD()
4487 addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in trans_LDSTUB()
4504 addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in trans_SWAP()
4530 c = gen_load_gpr(dc, a->rs2_or_imm); in do_casa()
4541 TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()
4569 TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()
4602 addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()
4636 TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in trans_LDFSR()
4659 TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in do_ldxfsr()
4697 TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); in TRANS()