Home | History | Annotate | Download | only in target-mips

Lines Matching defs:rd

1547                        int rd, int rs, int rt)
1551 if (rd == 0 && opc != OPC_ADD && opc != OPC_SUB
1581 gen_store_gpr(t0, rd);
1588 tcg_gen_add_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1589 tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);
1591 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rt]);
1593 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1595 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1619 gen_store_gpr(t0, rd);
1626 tcg_gen_sub_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1627 tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);
1629 tcg_gen_neg_tl(cpu_gpr[rd], cpu_gpr[rt]);
1630 tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);
1632 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1634 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1659 gen_store_gpr(t0, rd);
1666 tcg_gen_add_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1668 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rt]);
1670 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1672 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1695 gen_store_gpr(t0, rd);
1702 tcg_gen_sub_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1704 tcg_gen_neg_tl(cpu_gpr[rd], cpu_gpr[rt]);
1706 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1708 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1715 tcg_gen_mul_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1716 tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);
1718 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1723 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
1727 static void gen_cond_move (CPUState *env, uint32_t opc, int rd, int rs, int rt)
1732 if (rd == 0) {
1755 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1757 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1760 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
1764 static void gen_logic (CPUState *env, uint32_t opc, int rd, int rs, int rt)
1768 if (rd == 0) {
1777 tcg_gen_and_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1779 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1785 tcg_gen_nor_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1787 tcg_gen_not_tl(cpu_gpr[rd], cpu_gpr[rt]);
1789 tcg_gen_not_tl(cpu_gpr[rd], cpu_gpr[rs]);
1791 tcg_gen_movi_tl(cpu_gpr[rd], ~((target_ulong)0));
1797 tcg_gen_or_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1799 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rt]);
1801 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1803 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1809 tcg_gen_xor_tl(cpu_gpr[rd], cpu_gpr[rs], cpu_gpr[rt]);
1811 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rt]);
1813 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
1815 tcg_gen_movi_tl(cpu_gpr[rd], 0);
1820 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
1824 static void gen_slt (CPUState *env, uint32_t opc, int rd, int rs, int rt)
1829 if (rd == 0) {
1841 gen_op_lt(cpu_gpr[rd], t0, t1);
1845 gen_op_ltu(cpu_gpr[rd], t0, t1);
1849 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
1856 int rd, int rs, int rt)
1861 if (rd == 0) {
1876 tcg_gen_ext32s_tl(cpu_gpr[rd], t0);
1882 tcg_gen_sar_tl(cpu_gpr[rd], t1, t0);
1891 tcg_gen_ext32s_tl(cpu_gpr[rd], t0);
1904 tcg_gen_ext_i32_tl(cpu_gpr[rd], t2);
1912 tcg_gen_ext32s_tl(cpu_gpr[rd], t0);
1925 tcg_gen_shl_tl(cpu_gpr[rd], t1, t0);
1930 tcg_gen_sar_tl(cpu_gpr[rd], t1, t0);
1937 tcg_gen_shr_tl(cpu_gpr[rd], t1, t0);
1944 tcg_gen_rotr_tl(cpu_gpr[rd], t1, t0);
1960 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
2238 int rd, int rs, int rt)
2309 gen_store_gpr(t0, rd);
2310 MIPS_DEBUG("%s %s, %s, %s", opn, regnames[rd], regnames[rs], regnames[rt]);
2318 int rd, int rs)
2323 if (rd == 0) {
2332 gen_helper_clo(cpu_gpr[rd], t0);
2336 gen_helper_clz(cpu_gpr[rd], t0);
2341 gen_helper_dclo(cpu_gpr[rd], t0);
2345 gen_helper_dclz(cpu_gpr[rd], t0);
2350 MIPS_DEBUG("%s %s, %s", opn, regnames[rd], regnames[rs]);
2796 static void gen_bshfl (DisasContext *ctx, uint32_t op2, int rt, int rd)
2800 if (rd == 0) {
2819 tcg_gen_ext32s_tl(cpu_gpr[rd], t0);
2823 tcg_gen_ext8s_tl(cpu_gpr[rd], t0);
2826 tcg_gen_ext16s_tl(cpu_gpr[rd], t0);
2837 tcg_gen_or_tl(cpu_gpr[rd], t0, t1);
2852 tcg_gen_or_tl(cpu_gpr[rd], t0, t1);
5224 static void gen_mftr(CPUState *env, DisasContext *ctx, int rt, int rd,
5378 gen_store_gpr(t0, rd);
5388 static void gen_mttr(CPUState *env, DisasContext *ctx, int rd, int rt,
5403 switch (rd) {
5428 gen_mtc0(env, ctx, t0, rd, sel);
5438 gen_mtc0(env, ctx, t0, rd, sel);
5447 gen_mtc0(env, ctx, t0, rd, sel);
5456 gen_mtc0(env, ctx, t0, rd, sel);
5461 gen_mtc0(env, ctx, t0, rd, sel);
5466 gen_helper_1i(mttgpr, t0, rd);
5470 switch (rd) {
5521 gen_store_fpr32(fp0, rd);
5527 gen_store_fpr32h(fp0, rd);
5533 gen_helper_1i(ctc1, t0, rd);
5542 LOG_DISAS("mttr (reg %d u %d sel %d h %d)\n", rd, u, sel, h);
5548 LOG_DISAS("mttr (reg %d u %d sel %d h %d)\n", rd, u, sel, h);
5552 static void gen_cp0 (CPUState *env, DisasContext *ctx, uint32_t opc, int rt, int rd)
5562 gen_mfc0(env, ctx, cpu_gpr[rt], rd, ctx->opcode & 0x7);
5570 gen_mtc0(env, ctx, t0, rd, ctx->opcode & 0x7);
5582 gen_dmfc0(env, ctx, cpu_gpr[rt], rd, ctx->opcode & 0x7);
5591 gen_dmtc0(env, ctx, t0, rd, ctx->opcode & 0x7);
5599 if (rd == 0) {
5603 gen_mftr(env, ctx, rt, rd, (ctx->opcode >> 5) & 1,
5609 gen_mttr(env, ctx, rd, rt, (ctx->opcode >> 5) & 1,
5670 MIPS_DEBUG("%s %s %d", opn, regnames[rt], rd);
5876 static void gen_movci (DisasContext *ctx, int rd, int rs, int cc, int tf)
5882 if (rd == 0) {
5898 tcg_gen_movi_tl(cpu_gpr[rd], 0);
5900 tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
7631 int rs, rt, rd, sa;
7659 rd = (ctx->opcode >> 11) & 0x1f;
7669 gen_shift_imm(env, ctx, op1, rd, rt, sa);
7674 gen_cond_move(env, op1, rd, rs, rt);
7677 gen_arith(env, ctx, op1, rd, rs, rt);
7682 gen_shift(env, ctx, op1, rd, rs, rt);
7686 gen_slt(env, op1, rd, rs, rt);
7692 gen_logic(env, op1, rd, rs, rt);
7698 gen_mul_vr54xx(ctx, op1, rd, rs, rt);
7703 gen_compute_branch(ctx, op1, rs, rd, sa);
7711 gen_HILO(ctx, op1, rd);
7750 gen_movci(ctx, rd, rs, (ctx->opcode >> 18) & 0x7,
7767 gen_shift_imm(env, ctx, op1, rd, rt, sa);
7772 gen_arith(env, ctx, op1, rd, rs, rt);
7779 gen_shift(env, ctx, op1, rd, rs, rt);
7802 gen_arith(env, ctx, op1, rd, rs, rt);
7807 gen_cl(ctx, op1, rd, rs);
7826 gen_cl(ctx, op1, rd, rs);
7841 gen_bitops(ctx, op1, rt, rs, sa, rd);
7846 gen_bshfl(ctx, op2, rt, rd);
7853 switch (rd) {
7912 gen_store_gpr(t0, rd);
7921 gen_bitops(ctx, op1, rt, rs, sa, rd);
7927 gen_bshfl(ctx, op2, rt, rd);
7970 gen_cp0(env, ctx, op1, rt, rd);
7975 gen_cp0(env, ctx, MASK_C0(ctx->opcode), rt, rd);
8032 gen_load_srsgpr(rt, rd);
8036 gen_store_srsgpr(rt, rd);
8109 gen_cp1(ctx, op1, rt, rd);
8115 gen_cp1(ctx, op1, rt, rd);
8132 gen_farith(ctx, MASK_CP1_FUNC(ctx->opcode), rt, rd, sa,
8166 gen_flt3_ldst(ctx, op1, sa, rd, rs, rt);
8184 gen_flt3_arith(ctx, op1, sa, rs, rd, rt);