/qemu/target/i386/tcg/ |
H A D | cc_helper.c | 45 static target_ulong compute_all_adcx(target_ulong dst, target_ulong src1, in compute_all_adcx() argument 48 return (src1 & ~CC_C) | (dst * CC_C); in compute_all_adcx() 51 static target_ulong compute_all_adox(target_ulong dst, target_ulong src1, in compute_all_adox() argument 54 return (src1 & ~CC_O) | (src2 * CC_O); in compute_all_adox() 57 static target_ulong compute_all_adcox(target_ulong dst, target_ulong src1, in compute_all_adcox() argument 60 return (src1 & ~(CC_C | CC_O)) | (dst * CC_C) | (src2 * CC_O); in compute_all_adcox() 63 target_ulong helper_cc_compute_nz(target_ulong dst, target_ulong src1, in helper_cc_compute_nz() argument 67 return ~src1 & CC_Z; in helper_cc_compute_nz() 76 target_ulong helper_cc_compute_all(target_ulong dst, target_ulong src1, in helper_cc_compute_all() argument 84 return src1; in helper_cc_compute_all() [all …]
|
H A D | cc_helper_template.h.inc | 68 static uint32_t glue(compute_all_add, SUFFIX)(DATA_TYPE dst, DATA_TYPE src1) 70 DATA_TYPE src2 = dst - src1; 71 DATA_TYPE carries = ADD_COUT_VEC(src1, src2, dst); 75 static int glue(compute_c_add, SUFFIX)(DATA_TYPE dst, DATA_TYPE src1) 77 return dst < src1; 80 static uint32_t glue(compute_all_adc, SUFFIX)(DATA_TYPE dst, DATA_TYPE src1, 83 DATA_TYPE src2 = dst - src1 - src3; 84 DATA_TYPE carries = ADD_COUT_VEC(src1, src2, dst); 88 static int glue(compute_c_adc, SUFFIX)(DATA_TYPE dst, DATA_TYPE src1, 92 WIDER_TYPE src13 = (WIDER_TYPE) src1 + (WIDER_TYPE) src3; [all …]
|
/qemu/target/loongarch/tcg/insn_trans/ |
H A D | trans_bit.c.inc | 11 TCGv src1 = gpr_src(ctx, a->rj, src_ext); 13 func(dest, src1); 19 static void gen_bytepick_w(TCGv dest, TCGv src1, TCGv src2, target_long sa) 21 tcg_gen_concat_tl_i64(dest, src1, src2); 25 static void gen_bytepick_d(TCGv dest, TCGv src1, TCGv src2, target_long sa) 27 tcg_gen_extract2_i64(dest, src1, src2, (64 - sa * 8)); 33 TCGv src1 = gpr_src(ctx, a->rd, EXT_NONE); 41 tcg_gen_deposit_tl(dest, src1, src2, a->ls, a->ms - a->ls + 1); 50 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 56 tcg_gen_extract_tl(dest, src1, a->ls, a->ms - a->ls + 1); [all …]
|
H A D | trans_shift.c.inc | 6 static void gen_sll_w(TCGv dest, TCGv src1, TCGv src2) 10 tcg_gen_shl_tl(dest, src1, t0); 13 static void gen_srl_w(TCGv dest, TCGv src1, TCGv src2) 17 tcg_gen_shr_tl(dest, src1, t0); 20 static void gen_sra_w(TCGv dest, TCGv src1, TCGv src2) 24 tcg_gen_sar_tl(dest, src1, t0); 27 static void gen_sll_d(TCGv dest, TCGv src1, TCGv src2) 31 tcg_gen_shl_tl(dest, src1, t0); 34 static void gen_srl_d(TCGv dest, TCGv src1, TCGv src2) 38 tcg_gen_shr_tl(dest, src1, t0); [all …]
|
H A D | trans_arith.c.inc | 11 TCGv src1 = gpr_src(ctx, a->rj, src1_ext); 14 func(dest, src1, src2); 25 TCGv src1 = gpr_src(ctx, a->rj, src_ext); 28 func(dest, src1, src2); 39 TCGv src1 = gpr_src(ctx, a->rj, src_ext); 41 func(dest, src1, a->imm); 52 TCGv src1 = gpr_src(ctx, a->rj, src_ext); 55 func(dest, src1, src2, a->sa); 83 static void gen_slt(TCGv dest, TCGv src1, TCGv src2) 85 tcg_gen_setcond_tl(TCG_COND_LT, dest, src1, src2); [all …]
|
H A D | trans_memory.c.inc | 32 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 34 TCGv addr = make_address_x(ctx, src1, src2); 45 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 47 TCGv addr = make_address_x(ctx, src1, src2); 57 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 60 gen_helper_asrtgt_d(tcg_env, src1, src2); 61 src1 = make_address_i(ctx, src1, 0); 62 tcg_gen_qemu_ld_tl(dest, src1, ctx->mem_idx, mop); 71 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 74 gen_helper_asrtle_d(tcg_env, src1, src2); [all …]
|
H A D | trans_fmemory.c.inc | 45 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 52 addr = make_address_x(ctx, src1, src2); 62 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 69 addr = make_address_x(ctx, src1, src2); 77 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 84 gen_helper_asrtgt_d(tcg_env, src1, src2); 85 addr = make_address_x(ctx, src1, src2); 95 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 102 gen_helper_asrtgt_d(tcg_env, src1, src2); 103 addr = make_address_x(ctx, src1, src2); [all …]
|
H A D | trans_branch.c.inc | 24 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 26 TCGv addr = make_address_i(ctx, src1, a->imm); 35 static void gen_bc(DisasContext *ctx, TCGv src1, TCGv src2, 39 tcg_gen_brcond_tl(cond, src1, src2, l); 48 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 51 gen_bc(ctx, src1, src2, a->offs, cond); 57 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 60 gen_bc(ctx, src1, src2, a->offs, cond); 66 TCGv src1 = tcg_temp_new(); 69 tcg_gen_ld8u_tl(src1, tcg_env, [all …]
|
H A D | trans_extra.c.inc | 20 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 27 gen_helper_asrtle_d(tcg_env, src1, src2); 33 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 40 gen_helper_asrtgt_d(tcg_env, src1, src2); 78 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 80 gen_helper_cpucfg(dest, tcg_env, src1); 91 TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); 94 func(dest, src2, src1, tsz);
|
H A D | trans_fcmp.c.inc | 28 TCGv var, src1, src2; 39 src1 = get_fpr(ctx, a->fj); 44 fn(var, tcg_env, src1, src2, tcg_constant_i32(flags)); 52 TCGv var, src1, src2; 63 src1 = get_fpr(ctx, a->fj); 68 fn(var, tcg_env, src1, src2, tcg_constant_i32(flags));
|
H A D | trans_farith.c.inc | 21 TCGv src1 = get_fpr(ctx, a->fj); 26 func(dest, tcg_env, src1, src2); 52 TCGv src1 = get_fpr(ctx, a->fj); 58 func(dest, tcg_env, src1, src2, src3, tflag); 67 TCGv src1 = get_fpr(ctx, a->fk); 76 tcg_gen_deposit_i64(dest, src1, src2, 0, 31); 85 TCGv src1 = get_fpr(ctx, a->fk); 94 tcg_gen_deposit_i64(dest, src1, src2, 0, 63);
|
/qemu/target/sparc/ |
H A D | vis_helper.c | 101 uint64_t helper_fpmerge(uint32_t src1, uint32_t src2) in helper_fpmerge() argument 106 s1.l = src1; in helper_fpmerge() 127 uint64_t helper_fmul8x16(uint32_t src1, uint64_t src2) in helper_fmul8x16() argument 132 s.l = src1; in helper_fmul8x16() 143 uint64_t helper_fmul8x16a(uint32_t src1, int32_t src2) in helper_fmul8x16a() argument 148 s.l = src1; in helper_fmul8x16a() 159 uint64_t helper_fmul8sux16(uint64_t src1, uint64_t src2) in helper_fmul8sux16() argument 163 s.ll = src1; in helper_fmul8sux16() 174 uint64_t helper_fmul8ulx16(uint64_t src1, uint64_t src2) in helper_fmul8ulx16() argument 178 s.ll = src1; in helper_fmul8ulx16() [all …]
|
H A D | fop_helper.c | 87 float32 helper_fadds(CPUSPARCState *env, float32 src1, float32 src2) in helper_fadds() argument 89 float32 ret = float32_add(src1, src2, &env->fp_status); in helper_fadds() 94 float32 helper_fsubs(CPUSPARCState *env, float32 src1, float32 src2) in helper_fsubs() argument 96 float32 ret = float32_sub(src1, src2, &env->fp_status); in helper_fsubs() 101 float32 helper_fmuls(CPUSPARCState *env, float32 src1, float32 src2) in helper_fmuls() argument 103 float32 ret = float32_mul(src1, src2, &env->fp_status); in helper_fmuls() 108 float32 helper_fdivs(CPUSPARCState *env, float32 src1, float32 src2) in helper_fdivs() argument 110 float32 ret = float32_div(src1, src2, &env->fp_status); in helper_fdivs() 115 float64 helper_faddd(CPUSPARCState *env, float64 src1, float64 src2) in helper_faddd() argument 117 float64 ret = float64_add(src1, src2, &env->fp_status); in helper_faddd() [all …]
|
H A D | helper.c | 131 target_ulong helper_taddcctv(CPUSPARCState *env, target_ulong src1, in helper_taddcctv() argument 137 if ((src1 | src2) & 3) { in helper_taddcctv() 141 dst = src1 + src2; in helper_taddcctv() 144 v = ~(src1 ^ src2) & (src1 ^ dst); in helper_taddcctv() 155 env->icc_C = dst ^ src1 ^ src2; in helper_taddcctv() 156 env->xcc_C = dst < src1; in helper_taddcctv() 158 env->icc_C = dst < src1; in helper_taddcctv() 167 target_ulong helper_tsubcctv(CPUSPARCState *env, target_ulong src1, in helper_tsubcctv() argument 173 if ((src1 | src2) & 3) { in helper_tsubcctv() 177 dst = src1 - src2; in helper_tsubcctv() [all …]
|
H A D | translate.c | 393 static void gen_op_addcc_int(TCGv dst, TCGv src1, TCGv src2, TCGv cin) in gen_op_addcc_int() argument 398 tcg_gen_addcio_tl(cpu_cc_N, cpu_cc_C, src1, src2, cin); in gen_op_addcc_int() 400 tcg_gen_add2_tl(cpu_cc_N, cpu_cc_C, src1, z, src2, z); in gen_op_addcc_int() 402 tcg_gen_xor_tl(cpu_cc_Z, src1, src2); in gen_op_addcc_int() 417 static void gen_op_addcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addcc() argument 419 gen_op_addcc_int(dst, src1, src2, NULL); in gen_op_addcc() 422 static void gen_op_taddcc(TCGv dst, TCGv src1, TCGv src2) in gen_op_taddcc() argument 427 tcg_gen_or_tl(t, src1, src2); in gen_op_taddcc() 429 gen_op_addcc(dst, src1, src2); in gen_op_taddcc() 438 static void gen_op_addc(TCGv dst, TCGv src1, TCGv src2) in gen_op_addc() argument [all …]
|
/qemu/include/qemu/ |
H A D | bitmap.h | 144 static inline int bitmap_and(unsigned long *dst, const unsigned long *src1, in bitmap_and() argument 148 return (*dst = *src1 & *src2) != 0; in bitmap_and() 150 return slow_bitmap_and(dst, src1, src2, nbits); in bitmap_and() 153 static inline void bitmap_or(unsigned long *dst, const unsigned long *src1, in bitmap_or() argument 157 *dst = *src1 | *src2; in bitmap_or() 159 slow_bitmap_or(dst, src1, src2, nbits); in bitmap_or() 163 static inline void bitmap_xor(unsigned long *dst, const unsigned long *src1, in bitmap_xor() argument 167 *dst = *src1 ^ *src2; in bitmap_xor() 169 slow_bitmap_xor(dst, src1, src2, nbits); in bitmap_xor() 173 static inline int bitmap_andnot(unsigned long *dst, const unsigned long *src1, in bitmap_andnot() argument [all …]
|
/qemu/target/riscv/insn_trans/ |
H A D | trans_rvzfh.c.inc | 93 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 98 gen_helper_fmadd_h(dest, tcg_env, src1, src2, src3); 110 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 115 gen_helper_fmsub_h(dest, tcg_env, src1, src2, src3); 127 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 132 gen_helper_fnmsub_h(dest, tcg_env, src1, src2, src3); 144 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 149 gen_helper_fnmadd_h(dest, tcg_env, src1, src2, src3); 161 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 165 gen_helper_fadd_h(dest, tcg_env, src1, src2); [all …]
|
H A D | trans_rvzfa.c.inc | 187 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 190 gen_helper_fminm_s(dest, tcg_env, src1, src2); 204 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 207 gen_helper_fmaxm_s(dest, tcg_env, src1, src2); 221 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 224 gen_helper_fminm_d(dest, tcg_env, src1, src2); 238 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 241 gen_helper_fmaxm_d(dest, tcg_env, src1, src2); 255 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 258 gen_helper_fminm_h(dest, tcg_env, src1, src2); [all …]
|
H A D | trans_rvf.c.inc | 101 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 106 gen_helper_fmadd_s(dest, tcg_env, src1, src2, src3); 118 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 123 gen_helper_fmsub_s(dest, tcg_env, src1, src2, src3); 135 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 140 gen_helper_fnmsub_s(dest, tcg_env, src1, src2, src3); 152 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 157 gen_helper_fnmadd_s(dest, tcg_env, src1, src2, src3); 169 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1); 173 gen_helper_fadd_s(dest, tcg_env, src1, src2); [all …]
|
H A D | trans_rvd.c.inc | 113 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 118 gen_helper_fmadd_d(dest, tcg_env, src1, src2, src3); 131 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 136 gen_helper_fmsub_d(dest, tcg_env, src1, src2, src3); 149 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 154 gen_helper_fnmsub_d(dest, tcg_env, src1, src2, src3); 167 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 172 gen_helper_fnmadd_d(dest, tcg_env, src1, src2, src3); 185 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1); 189 gen_helper_fadd_d(dest, tcg_env, src1, src2); [all …]
|
H A D | trans_rvzicond.c.inc | 27 static void gen_czero(TCGv dest, TCGv src1, TCGv src2, TCGCond cond) 30 tcg_gen_movcond_tl(cond, dest, src2, zero, zero, src1); 33 static void gen_czero_eqz(TCGv dest, TCGv src1, TCGv src2) 35 gen_czero(dest, src1, src2, TCG_COND_EQ); 38 static void gen_czero_nez(TCGv dest, TCGv src1, TCGv src2) 40 gen_czero(dest, src1, src2, TCG_COND_NE);
|
/qemu/target/arm/tcg/ |
H A D | neon_helper.c | 195 #define NEON_FN(dest, src1, src2) dest = (src1 < src2) ? src1 : src2 argument 202 #define NEON_FN(dest, src1, src2) dest = (src1 > src2) ? src1 : src2 argument 209 #define NEON_FN(dest, src1, src2) \ argument 210 (dest = do_uqrshl_bhs(src1, (int8_t)src2, 16, false, NULL)) 214 #define NEON_FN(dest, src1, src2) \ argument 215 (dest = do_sqrshl_bhs(src1, (int8_t)src2, 16, false, NULL)) 219 #define NEON_FN(dest, src1, src2) \ argument 220 (dest = do_sqrshl_bhs(src1, (int8_t)src2, 8, true, NULL)) 225 #define NEON_FN(dest, src1, src2) \ argument 226 (dest = do_sqrshl_bhs(src1, (int8_t)src2, 16, true, NULL)) [all …]
|
/qemu/target/mips/tcg/ |
H A D | lcsr_translate.c | 22 TCGv src1 = tcg_temp_new(); in trans_CPUCFG() local 24 gen_load_gpr(src1, a->rs); in trans_CPUCFG() 25 gen_helper_lcsr_cpucfg(dest, tcg_env, src1); in trans_CPUCFG() 36 TCGv src1 = tcg_temp_new(); in gen_rdcsr() local 39 gen_load_gpr(src1, a->rs); in gen_rdcsr() 40 func(dest, tcg_env, src1); in gen_rdcsr()
|
/qemu/target/riscv/ |
H A D | translate.c | 636 TCGv src1 = get_gpr(ctx, rs1, EXT_NONE); in get_address() local 638 tcg_gen_addi_tl(addr, src1, imm); in get_address() 652 TCGv src1 = get_gpr(ctx, rs1, EXT_NONE); in get_address_indexed() local 654 tcg_gen_add_tl(addr, src1, offs); in get_address_indexed() 854 TCGv src1 = get_gpr(ctx, a->rs1, EXT_NONE); in gen_logic_imm_fn() local 856 func(dest, src1, a->imm); in gen_logic_imm_fn() 875 TCGv src1 = get_gpr(ctx, a->rs1, EXT_NONE); in gen_logic() local 878 func(dest, src1, src2); in gen_logic() 899 TCGv src1 = get_gpr(ctx, a->rs1, ext); in gen_arith_imm_fn() local 902 func(dest, src1, a->imm); in gen_arith_imm_fn() [all …]
|
/qemu/tests/tcg/hexagon/ |
H A D | usr.c | 105 static RESTYPE NAME(SRC1TYPE src1, SRC2TYPE src2, uint32_t *usr_result) \ 113 : "r"(src1), "r"(src2) \ 142 static RESTYPE NAME(SRC1TYPE src1, SRC2TYPE src2, \ 153 : "r"(src1), "r"(src2) \ 165 static RESTYPE NAME(SRC1TYPE src1, int32_t src2, uint32_t *usr_result) \ 173 : "r"(src1), "i"(src2) \ 190 static RESTYPE NAME(RESTYPE result, SRC1TYPE src1, SRC2TYPE src2, \ 198 : "r"(src1), "r"(src2) \ 218 static RESTYPE NAME(RESTYPE result, SRC1TYPE src1, SRC2TYPE src2, \ 228 : "r"(src1), "r"(src2) \ [all …]
|