Lines Matching full:src2
393 static void gen_op_addcc_int(TCGv dst, TCGv src1, TCGv src2, TCGv cin) in gen_op_addcc_int() argument
399 tcg_gen_add2_tl(cpu_cc_N, cpu_cc_C, cpu_cc_N, cpu_cc_C, src2, z); in gen_op_addcc_int()
401 tcg_gen_add2_tl(cpu_cc_N, cpu_cc_C, src1, z, src2, z); in gen_op_addcc_int()
403 tcg_gen_xor_tl(cpu_cc_Z, src1, src2); in gen_op_addcc_int()
404 tcg_gen_xor_tl(cpu_cc_V, cpu_cc_N, src2); in gen_op_addcc_int()
408 * Carry-in to bit 32 is result ^ src1 ^ src2. in gen_op_addcc_int()
418 static void gen_op_addcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addcc() argument
420 gen_op_addcc_int(dst, src1, src2, NULL); in gen_op_addcc()
423 static void gen_op_taddcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_taddcc() argument
428 tcg_gen_or_tl(t, src1, src2); in gen_op_taddcc()
430 gen_op_addcc(dst, src1, src2); in gen_op_taddcc()
439 static void gen_op_addc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addc() argument
441 tcg_gen_add_tl(dst, src1, src2); in gen_op_addc()
445 static void gen_op_addccc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addccc() argument
447 gen_op_addcc_int(dst, src1, src2, gen_carry32()); in gen_op_addccc()
450 static void gen_op_addxc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addxc() argument
452 tcg_gen_add_tl(dst, src1, src2); in gen_op_addxc()
456 static void gen_op_addxccc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addxccc() argument
458 gen_op_addcc_int(dst, src1, src2, cpu_cc_C); in gen_op_addxccc()
461 static void gen_op_subcc_int(TCGv dst, TCGv src1, TCGv src2, TCGv cin) in gen_op_subcc_int() argument
467 tcg_gen_sub2_tl(cpu_cc_N, cpu_cc_C, cpu_cc_N, cpu_cc_C, src2, z); in gen_op_subcc_int()
469 tcg_gen_sub2_tl(cpu_cc_N, cpu_cc_C, src1, z, src2, z); in gen_op_subcc_int()
472 tcg_gen_xor_tl(cpu_cc_Z, src1, src2); in gen_op_subcc_int()
483 static void gen_op_subcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_subcc() argument
485 gen_op_subcc_int(dst, src1, src2, NULL); in gen_op_subcc()
488 static void gen_op_tsubcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_tsubcc() argument
493 tcg_gen_or_tl(t, src1, src2); in gen_op_tsubcc()
495 gen_op_subcc(dst, src1, src2); in gen_op_tsubcc()
504 static void gen_op_subc(TCGv dst, TCGv src1, TCGv src2) in gen_op_subc() argument
506 tcg_gen_sub_tl(dst, src1, src2); in gen_op_subc()
510 static void gen_op_subccc(TCGv dst, TCGv src1, TCGv src2) in gen_op_subccc() argument
512 gen_op_subcc_int(dst, src1, src2, gen_carry32()); in gen_op_subccc()
515 static void gen_op_subxc(TCGv dst, TCGv src1, TCGv src2) in gen_op_subxc() argument
517 tcg_gen_sub_tl(dst, src1, src2); in gen_op_subxc()
521 static void gen_op_subxccc(TCGv dst, TCGv src1, TCGv src2) in gen_op_subxccc() argument
523 gen_op_subcc_int(dst, src1, src2, cpu_cc_C); in gen_op_subxccc()
526 static void gen_op_mulscc(TCGv dst, TCGv src1, TCGv src2) in gen_op_mulscc() argument
535 tcg_gen_ext32u_tl(t_src2, src2); in gen_op_mulscc()
539 * src2 = 0; in gen_op_mulscc()
563 static void gen_op_multiply(TCGv dst, TCGv src1, TCGv src2, int sign_ext) in gen_op_multiply() argument
567 tcg_gen_muls2_tl(dst, cpu_y, src1, src2); in gen_op_multiply()
569 tcg_gen_mulu2_tl(dst, cpu_y, src1, src2); in gen_op_multiply()
577 tcg_gen_ext32s_i64(t1, src2); in gen_op_multiply()
580 tcg_gen_ext32u_i64(t1, src2); in gen_op_multiply()
588 static void gen_op_umul(TCGv dst, TCGv src1, TCGv src2) in gen_op_umul() argument
591 gen_op_multiply(dst, src1, src2, 0); in gen_op_umul()
594 static void gen_op_smul(TCGv dst, TCGv src1, TCGv src2) in gen_op_smul() argument
597 gen_op_multiply(dst, src1, src2, 1); in gen_op_smul()
600 static void gen_op_umulxhi(TCGv dst, TCGv src1, TCGv src2) in gen_op_umulxhi() argument
603 tcg_gen_mulu2_tl(discard, dst, src1, src2); in gen_op_umulxhi()
607 TCGv_i64 src2, TCGv_i64 src3) in gen_op_fpmaddx() argument
611 tcg_gen_mul_i64(t, src1, src2); in gen_op_fpmaddx()
616 TCGv_i64 src2, TCGv_i64 src3) in gen_op_fpmaddxhi() argument
622 tcg_gen_mulu2_i64(l, h, src1, src2); in gen_op_fpmaddxhi()
626 static void gen_op_sdiv(TCGv dst, TCGv src1, TCGv src2) in gen_op_sdiv() argument
629 gen_helper_sdiv(dst, tcg_env, src1, src2); in gen_op_sdiv()
633 gen_helper_sdiv(t64, tcg_env, src1, src2); in gen_op_sdiv()
638 static void gen_op_udivcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_udivcc() argument
648 gen_helper_udiv(t64, tcg_env, src1, src2); in gen_op_udivcc()
663 static void gen_op_sdivcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_sdivcc() argument
673 gen_helper_sdiv(t64, tcg_env, src1, src2); in gen_op_sdivcc()
688 static void gen_op_taddcctv(TCGv dst, TCGv src1, TCGv src2) in gen_op_taddcctv() argument
690 gen_helper_taddcctv(dst, tcg_env, src1, src2); in gen_op_taddcctv()
693 static void gen_op_tsubcctv(TCGv dst, TCGv src1, TCGv src2) in gen_op_tsubcctv() argument
695 gen_helper_tsubcctv(dst, tcg_env, src1, src2); in gen_op_tsubcctv()
698 static void gen_op_popc(TCGv dst, TCGv src1, TCGv src2) in gen_op_popc() argument
700 tcg_gen_ctpop_tl(dst, src2); in gen_op_popc()
709 static void gen_helper_array8(TCGv dst, TCGv src1, TCGv src2) in gen_helper_array8() argument
715 static void gen_op_array16(TCGv dst, TCGv src1, TCGv src2) in gen_op_array16() argument
717 gen_helper_array8(dst, src1, src2); in gen_op_array16()
721 static void gen_op_array32(TCGv dst, TCGv src1, TCGv src2) in gen_op_array32() argument
723 gen_helper_array8(dst, src1, src2); in gen_op_array32()
745 static void gen_op_fpack32(TCGv_i64 dst, TCGv_i64 src1, TCGv_i64 src2) in gen_op_fpack32() argument
748 gen_helper_fpack32(dst, cpu_gsr, src1, src2); in gen_op_fpack32()
754 static void gen_op_fpadds16s(TCGv_i32 d, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fpadds16s() argument
763 tcg_gen_sextract_i32(v, src2, i * 16, 16); in gen_op_fpadds16s()
772 static void gen_op_fpsubs16s(TCGv_i32 d, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fpsubs16s() argument
781 tcg_gen_sextract_i32(v, src2, i * 16, 16); in gen_op_fpsubs16s()
790 static void gen_op_fpadds32s(TCGv_i32 d, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fpadds32s() argument
797 tcg_gen_add_i32(r, src1, src2); in gen_op_fpadds32s()
798 tcg_gen_xor_i32(t, src1, src2); in gen_op_fpadds32s()
799 tcg_gen_xor_i32(v, r, src2); in gen_op_fpadds32s()
808 static void gen_op_fpsubs32s(TCGv_i32 d, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fpsubs32s() argument
815 tcg_gen_sub_i32(r, src1, src2); in gen_op_fpsubs32s()
816 tcg_gen_xor_i32(t, src1, src2); in gen_op_fpsubs32s()
859 static void gen_op_bshuffle(TCGv_i64 dst, TCGv_i64 src1, TCGv_i64 src2) in gen_op_bshuffle() argument
862 gen_helper_bshuffle(dst, cpu_gsr, src1, src2); in gen_op_bshuffle()
868 static void gen_op_pdistn(TCGv dst, TCGv_i64 src1, TCGv_i64 src2) in gen_op_pdistn() argument
871 gen_helper_pdist(dst, tcg_constant_i64(0), src1, src2); in gen_op_pdistn()
877 static void gen_op_fmul8x16al(TCGv_i64 dst, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fmul8x16al() argument
879 tcg_gen_ext16s_i32(src2, src2); in gen_op_fmul8x16al()
880 gen_helper_fmul8x16a(dst, src1, src2); in gen_op_fmul8x16al()
883 static void gen_op_fmul8x16au(TCGv_i64 dst, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fmul8x16au() argument
885 tcg_gen_sari_i32(src2, src2, 16); in gen_op_fmul8x16au()
886 gen_helper_fmul8x16a(dst, src1, src2); in gen_op_fmul8x16au()
889 static void gen_op_fmuld8ulx16(TCGv_i64 dst, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fmuld8ulx16() argument
896 tcg_gen_ext16s_i32(t1, src2); in gen_op_fmuld8ulx16()
900 tcg_gen_sextract_i32(t2, src2, 16, 16); in gen_op_fmuld8ulx16()
906 static void gen_op_fmuld8sux16(TCGv_i64 dst, TCGv_i32 src1, TCGv_i32 src2) in gen_op_fmuld8sux16() argument
920 tcg_gen_ext16s_i32(t1, src2); in gen_op_fmuld8sux16()
925 tcg_gen_sextract_i32(t2, src2, 16, 16); in gen_op_fmuld8sux16()
933 TCGv_vec src1, TCGv_vec src2) in gen_vec_fchksm16() argument
938 tcg_gen_add_vec(vece, a, src1, src2); in gen_vec_fchksm16()
960 TCGv_vec src1, TCGv_vec src2) in gen_vec_fmean16() argument
964 tcg_gen_or_vec(vece, t, src1, src2); in gen_vec_fmean16()
967 tcg_gen_sari_vec(vece, src2, src2, 1); in gen_vec_fmean16()
968 tcg_gen_add_vec(vece, dst, src1, src2); in gen_vec_fmean16()
1416 /* Use muladd to compute (1 * src1) + src2 / 2 with one rounding. */
1433 /* Use muladd to compute (1 * src1) - src2 / 2 with one rounding. */
1450 /* Use muladd to compute -((1 * src1) + src2 / 2) with one rounding. */
3857 TCGv dst, src1, src2; in trans_UDIVX() local
3873 src2 = tcg_constant_tl(a->rs2_or_imm); in trans_UDIVX()
3881 src2 = cpu_regs[a->rs2_or_imm]; in trans_UDIVX()
3882 tcg_gen_brcondi_tl(TCG_COND_EQ, src2, 0, lab); in trans_UDIVX()
3888 tcg_gen_divu_tl(dst, src1, src2); in trans_UDIVX()
3895 TCGv dst, src1, src2; in trans_SDIVX() local
3919 src2 = tcg_constant_tl(a->rs2_or_imm); in trans_SDIVX()
3928 src2 = cpu_regs[a->rs2_or_imm]; in trans_SDIVX()
3929 tcg_gen_brcondi_tl(TCG_COND_EQ, src2, 0, lab); in trans_SDIVX()
3933 * Set SRC2 to 1 as a new divisor, to produce the correct result. in trans_SDIVX()
3938 tcg_gen_setcondi_tl(TCG_COND_EQ, t2, src2, -1); in trans_SDIVX()
3941 tcg_constant_tl(1), src2); in trans_SDIVX()
3942 src2 = t1; in trans_SDIVX()
3945 tcg_gen_div_tl(dst, src1, src2); in trans_SDIVX()
4047 TCGv src2 = gen_load_gpr(dc, a->rs2); in TRANS() local
4049 func(dst, src1, src2); in TRANS()
4120 TCGv dst, src1, src2; in do_shift_r() local
4127 src2 = tcg_temp_new(); in do_shift_r()
4128 tcg_gen_andi_tl(src2, gen_load_gpr(dc, a->rs2), a->x ? 63 : 31); in do_shift_r()
4133 tcg_gen_shl_tl(dst, src1, src2); in do_shift_r()
4142 tcg_gen_shr_tl(dst, src1, src2); in do_shift_r()
4148 tcg_gen_sar_tl(dst, src1, src2); in do_shift_r()
4208 static bool do_mov_cond(DisasContext *dc, DisasCompare *cmp, int rd, TCGv src2) in do_mov_cond() argument
4213 tcg_gen_movcond_tl(cmp->cond, dst, cmp->c1, c2, src2, dst); in do_mov_cond()
4220 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVcc() local
4223 if (src2 == NULL) { in trans_MOVcc()
4227 return do_mov_cond(dc, &cmp, a->rd, src2); in trans_MOVcc()
4232 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVfcc() local
4235 if (src2 == NULL) { in trans_MOVfcc()
4239 return do_mov_cond(dc, &cmp, a->rd, src2); in trans_MOVfcc()
4244 TCGv src2 = gen_rs2_or_imm(dc, a->imm, a->rs2_or_imm); in trans_MOVR() local
4247 if (src2 == NULL) { in trans_MOVR()
4253 return do_mov_cond(dc, &cmp, a->rd, src2); in trans_MOVR()
5040 TCGv_i32 src1, src2; in TRANS() local
5047 src2 = gen_load_fpr_F(dc, a->rs2); in TRANS()
5048 func(src1, src1, src2); in TRANS()
5078 TCGv_i32 src1, src2; in TRANS() local
5085 src2 = gen_load_fpr_F(dc, a->rs2); in TRANS()
5086 func(src1, tcg_env, src1, src2); in TRANS()
5102 TCGv_i32 src1, src2; in TRANS() local
5110 src2 = gen_load_fpr_F(dc, a->rs2); in TRANS()
5111 func(dst, src1, src2); in TRANS()
5125 TCGv_i64 dst, src2; in TRANS() local
5134 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5135 func(dst, src1, src2); in TRANS()
5202 TCGv_i64 dst, src1, src2; in TRANS() local
5210 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5211 func(dst, src1, src2); in TRANS()
5244 TCGv_i64 src1, src2; in TRANS() local
5253 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5254 func(dst, src1, src2); in TRANS()
5287 TCGv_i64 dst, src1, src2; in TRANS() local
5295 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5296 func(dst, tcg_env, src1, src2); in TRANS()
5311 TCGv_i32 src1, src2; in TRANS() local
5322 src2 = gen_load_fpr_F(dc, a->rs2); in TRANS()
5323 gen_helper_fsmuld(dst, tcg_env, src1, src2); in TRANS()
5331 TCGv_i32 src1, src2; in trans_FNsMULd() local
5341 src2 = gen_load_fpr_F(dc, a->rs2); in trans_FNsMULd()
5342 gen_helper_fnsmuld(dst, tcg_env, src1, src2); in trans_FNsMULd()
5350 TCGv_i32 dst, src1, src2, src3; in do_ffff() local
5357 src2 = gen_load_fpr_F(dc, a->rs2); in do_ffff()
5360 func(dst, src1, src2, src3); in do_ffff()
5373 TCGv_i64 dst, src1, src2, src3; in TRANS() local
5381 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5383 func(dst, src1, src2, src3); in TRANS()
5398 TCGv_i64 dst, src1, src2; in TRANS() local
5410 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5412 gen_op_faligndata_i(dst, src1, src2, src3); in TRANS()
5420 TCGv_i128 src1, src2; in do_env_qqq() local
5430 src2 = gen_load_fpr_Q(dc, a->rs2); in do_env_qqq()
5431 func(src1, tcg_env, src1, src2); in do_env_qqq()
5443 TCGv_i64 src1, src2; in TRANS() local
5454 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5456 gen_helper_fdmulq(dst, tcg_env, src1, src2); in TRANS()
5531 TCGv_i32 src1, src2; in do_fcmps() local
5541 src2 = gen_load_fpr_F(dc, a->rs2); in do_fcmps()
5543 gen_helper_fcmpes(cpu_fcc[a->cc], tcg_env, src1, src2); in do_fcmps()
5545 gen_helper_fcmps(cpu_fcc[a->cc], tcg_env, src1, src2); in do_fcmps()
5555 TCGv_i64 src1, src2; in TRANS() local
5565 src2 = gen_load_fpr_D(dc, a->rs2); in TRANS()
5567 gen_helper_fcmped(cpu_fcc[a->cc], tcg_env, src1, src2); in TRANS()
5569 gen_helper_fcmpd(cpu_fcc[a->cc], tcg_env, src1, src2); in TRANS()
5579 TCGv_i128 src1, src2; in TRANS() local
5592 src2 = gen_load_fpr_Q(dc, a->rs2); in TRANS()
5594 gen_helper_fcmpeq(cpu_fcc[a->cc], tcg_env, src1, src2); in TRANS()
5596 gen_helper_fcmpq(cpu_fcc[a->cc], tcg_env, src1, src2); in TRANS()
5606 TCGv_i32 src1, src2; in TRANS() local
5616 src2 = gen_load_fpr_F(dc, a->rs2); in TRANS()
5617 gen_helper_flcmps(cpu_fcc[a->cc], tcg_env, src1, src2); in TRANS()
5623 TCGv_i64 src1, src2; in trans_FLCMPd() local
5633 src2 = gen_load_fpr_D(dc, a->rs2); in trans_FLCMPd()
5634 gen_helper_flcmpd(cpu_fcc[a->cc], tcg_env, src1, src2); in trans_FLCMPd()