Lines Matching full:ra

24 static bool do_ldst(DisasContext *ctx, int rt, int ra, TCGv displ, bool update,
29 if (update && (ra == 0 || (!store && ra == rt))) {
35 ea = do_ea_calc(ctx, ra, displ);
43 tcg_gen_mov_tl(cpu_gpr[ra], ea);
51 return do_ldst(ctx, a->rt, a->ra, tcg_constant_tl(a->si), update, store, mop);
67 return do_ldst(ctx, a->rt, a->ra, cpu_gpr[a->rb], update, store, mop);
89 if (!store && unlikely(a->ra == a->rt)) {
95 ea = do_ea_calc(ctx, a->ra, tcg_constant_tl(a->si));
236 gen_op_cmp32(cpu_gpr[a->ra], cpu_gpr[a->rb], s, a->bf);
242 gen_op_cmp(cpu_gpr[a->ra], cpu_gpr[a->rb], s, a->bf);
244 gen_op_cmp32(cpu_gpr[a->ra], cpu_gpr[a->rb], s, a->bf);
274 gen_op_cmp32(cpu_gpr[a->ra], tcg_constant_tl(a->imm), s, a->bf);
280 gen_op_cmp(cpu_gpr[a->ra], tcg_constant_tl(a->imm), s, a->bf);
282 gen_op_cmp32(cpu_gpr[a->ra], tcg_constant_tl(a->imm), s, a->bf);
301 tcg_gen_trunc_tl_i32(src1, cpu_gpr[a->ra]);
329 gen_helper_CMPEQB(cpu_crf[a->bf], cpu_gpr[a->ra], cpu_gpr[a->rb]);
342 if (a->ra) {
343 tcg_gen_addi_tl(cpu_gpr[a->rt], cpu_gpr[a->ra], a->si);
375 gen_op_arith_add(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
383 gen_op_arith_add(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra],
392 gen_op_arith_add(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
400 gen_op_arith_add(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], const_val,
415 gen_op_arith_subf(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra],
423 gen_op_arith_subf(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
431 gen_op_arith_subf(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], const_val,
444 tcg_gen_muli_tl(cpu_gpr[a->rt], cpu_gpr[a->ra], a->si);
453 tcg_gen_ext32s_tl(t0, cpu_gpr[a->ra]);
468 tcg_gen_ext32s_i64(t0, cpu_gpr[a->ra]);
474 tcg_gen_muls2_i32(cpu_gpr[a->rt], t1, cpu_gpr[a->ra], cpu_gpr[a->rb]);
495 tcg_gen_trunc_tl_i32(t0, cpu_gpr[a->ra]);
510 gen_op_arith_divw(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
519 helper(cpu_gpr[a->rt], tcg_env, cpu_gpr[a->ra], cpu_gpr[a->rb],
535 gen_op_arith_modw(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
547 gen_op_arith_subf(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], zero,
550 tcg_gen_neg_tl(cpu_gpr[a->rt], cpu_gpr[a->ra]);
584 tcg_gen_mul_tl(cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb]);
601 tcg_gen_muls2_i64(t0, t1, cpu_gpr[a->ra], cpu_gpr[a->rb]);
624 helper(lo, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb]);
689 gen_op_arith_divd(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
702 gen_op_arith_modd(ctx, cpu_gpr[a->rt], cpu_gpr[a->ra], cpu_gpr[a->rb],
754 a->ra ? cpu_gpr[a->ra] : zr,
771 gen_helper_TW(tcg_env, cpu_gpr[a->ra], cpu_gpr[a->rb], t0);
785 gen_helper_TW(tcg_env, cpu_gpr[a->ra], t0, t1);
799 gen_helper_TD(tcg_env, cpu_gpr[a->ra], cpu_gpr[a->rb], t0);
818 gen_helper_TD(tcg_env, cpu_gpr[a->ra], t0, t1);
865 tcg_gen_andi_tl(cpu_gpr[a->ra], cpu_gpr[a->rt], shift ? a->ui << 16 : a->ui);
866 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
872 if (a->rt == a->ra && a->ui == 0) {
876 tcg_gen_ori_tl(cpu_gpr[a->ra], cpu_gpr[a->rt], shift ? a->ui << 16 : a->ui);
882 if (a->rt == a->ra && a->ui == 0) {
886 tcg_gen_xori_tl(cpu_gpr[a->ra], cpu_gpr[a->rt], shift ? a->ui << 16 : a->ui);
893 helper(cpu_gpr[a->ra], cpu_gpr[a->rs]);
895 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
903 helper(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
905 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
913 if (a->rt != a->ra || a->rt != a->rb) {
915 tcg_gen_or_tl(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
917 tcg_gen_mov_tl(cpu_gpr[a->ra], cpu_gpr[a->rt]);
920 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
996 tcg_gen_xor_tl(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
998 tcg_gen_movi_tl(cpu_gpr[a->ra], 0);
1001 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
1009 gen_helper_CMPB(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
1020 tcg_gen_extu_i32_tl(cpu_gpr[a->ra], t);
1023 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
1032 helper(cpu_gpr[a->ra], cpu_gpr[a->rs], 64);
1034 gen_set_Rc0(ctx, cpu_gpr[a->ra]);
1066 gen_helper_POPCNTB(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1074 gen_helper_POPCNTW(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1076 tcg_gen_ctpop_i32(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1086 tcg_gen_ctpop_i64(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1095 TCGv ra = cpu_gpr[a->ra];
1101 tcg_gen_xor_tl(ra, rs, t0);
1102 tcg_gen_shri_tl(t0, ra, 8);
1103 tcg_gen_xor_tl(ra, ra, t0);
1104 tcg_gen_andi_tl(ra, ra, (target_ulong)0x100000001ULL);
1110 TCGv ra = cpu_gpr[a->ra];
1117 tcg_gen_xor_tl(ra, rs, t0);
1118 tcg_gen_shri_tl(t0, ra, 16);
1119 tcg_gen_xor_tl(ra, ra, t0);
1120 tcg_gen_shri_tl(t0, ra, 8);
1121 tcg_gen_xor_tl(ra, ra, t0);
1122 tcg_gen_andi_tl(ra, ra, 1);
1131 gen_helper_BPERMD(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
1143 gen_helper_CFUGED(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
1183 do_cntzdm(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb], false);
1195 do_cntzdm(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb], true);
1207 gen_helper_PDEPD(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
1219 gen_helper_PEXTD(cpu_gpr[a->ra], cpu_gpr[a->rt], cpu_gpr[a->rb]);
1255 in1 = cpu_gpr[a->ra];
1284 gen_helper_CDTBCD(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1291 gen_helper_CBCDTD(cpu_gpr[a->ra], cpu_gpr[a->rs]);
1310 if (unlikely(a->ra == 0)) {
1311 /* if RA=0, the instruction form is invalid */
1316 ea = do_ea_calc(ctx, a->ra, tcg_constant_tl(a->rt));
1317 helper(tcg_env, ea, cpu_gpr[a->ra], cpu_gpr[a->rb]);