/qemu/target/openrisc/ |
H A D | disas.c | 179 a->a, a->a + a->ap + 1, 183 a->a, a->a + a->ap + 1, 187 a->a, a->a + a->ap + 1, 191 a->a, a->a + a->ap + 1, 195 a->a, a->a + a->ap + 1, 199 a->a, a->a + a->ap + 1, 204 a->a, a->a + a->ap + 1) 207 a->a, a->a + a->ap + 1) 212 a->d, a->a, a->a + a->ap + 1) 215 a->a, a->a + a->ap + 1, [all …]
|
H A D | translate.c | 803 tcg_gen_andi_tl(cpu_R(dc, a->d), cpu_R(dc, a->a), a->k); in trans_l_andi() 810 tcg_gen_ori_tl(cpu_R(dc, a->d), cpu_R(dc, a->a), a->k); in trans_l_ori() 817 tcg_gen_xori_tl(cpu_R(dc, a->d), cpu_R(dc, a->a), a->i); in trans_l_xori() 1301 !check_pair(dc, a->a, a->ap) || in do_dp3() 1310 load_pair(dc, t0, a->a, a->ap); in do_dp3() 1325 !check_pair(dc, a->a, a->ap) || in do_dp2() 1332 load_pair(dc, t0, a->a, a->ap); in do_dp2() 1347 !check_pair(dc, a->a, a->ap) || in do_dpcmp() 1354 load_pair(dc, t0, a->a, a->ap); in do_dpcmp() 1433 load_pair(dc, t0, a->a, a->ap); in trans_lf_dtos_d() [all …]
|
H A D | insns.decode | 20 &dab d a b 21 &da d a 22 &ab a b 23 &dal d a l 24 &ai a i 26 &ab_pair a b ap bp 27 &da_pair d a dp ap 57 &load d a i 61 &store a b i 83 &rri d a i [all …]
|
/qemu/target/rx/ |
H A D | disas.c | 200 size[a->sz], a->rs, a->dsp << a->sz, a->rd); in trans_MOV_rm() 213 size[a->sz], a->dsp << a->sz, a->rs, a->rd); in trans_MOV_mr() 236 size[a->sz], a->imm, a->dsp << a->sz, a->rd); in trans_MOV_im() 313 a->dsp << a->sz, a->rs, a->rd); in trans_MOVU_mr() 407 prt_ldmi(ctx, "xchg", a->ld, a->mi, a->rs, a->rd); in trans_XCHG_mr() 451 prt_ldmi(ctx, "and", a->ld, a->mi, a->rs, a->rd); in trans_AND_mr() 474 prt_ldmi(ctx, "or", a->ld, a->mi, a->rs, a->rd); in trans_OR_mr() 496 prt_ldmi(ctx, "xor", a->ld, a->mi, a->rs, a->rd); in trans_XOR_mr() 511 prt_ldmi(ctx, "tst", a->ld, a->mi, a->rs, a->rd); in trans_TST_mr() 579 prt_ldmi(ctx, "add", a->ld, a->mi, a->rs, a->rd); in trans_ADD_mr() [all …]
|
H A D | translate.c | 847 rx_gen_op_mr(rx_and, ctx, a->rd, a->rs, a->ld, a->mi); in trans_AND_mr() 877 rx_gen_op_mr(rx_or, ctx, a->rd, a->rs, a->ld, a->mi); in trans_OR_mr() 906 rx_gen_op_mr(rx_xor, ctx, a->rd, a->rs, a->ld, a->mi); in trans_XOR_mr() 927 rx_gen_op_mr(rx_tst, ctx, a->rd, a->rs, a->ld, a->mi); in trans_TST_mr() 998 rx_gen_op_mr(rx_adc, ctx, a->rd, a->rs, a->ld, a->mi); in trans_ADC_mr() 1026 rx_gen_op_mr(rx_add, ctx, a->rd, a->rs, a->ld, a->mi); in trans_ADD_mr() 1080 rx_gen_op_mr(rx_cmp, ctx, a->rd, a->rs, a->ld, a->mi); in trans_CMP_mr() 1095 rx_gen_op_mr(rx_sub, ctx, a->rd, a->rs, a->ld, a->mi); in trans_SUB_mr() 1120 rx_gen_op_mr(rx_sbb, ctx, a->rd, a->rs, a->ld, a->mi); in trans_SBB_mr() 1260 rx_gen_op_mr(rx_div, ctx, a->rd, a->rs, a->ld, a->mi); in trans_DIV_mr() [all …]
|
/qemu/include/qemu/ |
H A D | int128.h | 169 return a < b ? a : b; in int128_min() 174 return a > b ? a : b; in int128_max() 301 return int128_make128(~a.lo, ~a.hi); in int128_not() 389 return a.lo == b.lo && a.hi == b.hi; in int128_eq() 399 return a.hi > b.hi || (a.hi == b.hi && a.lo >= b.lo); in int128_ge() 404 return (uint64_t)a.hi > (uint64_t)b.hi || (a.hi == b.hi && a.lo >= b.lo); in int128_uge() 429 return a.lo || a.hi; in int128_nz() 434 return int128_le(a, b) ? a : b; in int128_min() 439 return int128_ge(a, b) ? a : b; in int128_max() 444 *a = int128_add(*a, b); in int128_addto() [all …]
|
/qemu/target/avr/ |
H A D | disas.c | 133 INSN(ADD, "r%d, r%d", a->rd, a->rr) 134 INSN(ADC, "r%d, r%d", a->rd, a->rr) 135 INSN(ADIW, "r%d:r%d, %d", a->rd + 1, a->rd, a->imm) 136 INSN(SUB, "r%d, r%d", a->rd, a->rr) 137 INSN(SUBI, "r%d, %d", a->rd, a->imm) 138 INSN(SBC, "r%d, r%d", a->rd, a->rr) 139 INSN(SBCI, "r%d, %d", a->rd, a->imm) 140 INSN(SBIW, "r%d:r%d, %d", a->rd + 1, a->rd, a->imm) 141 INSN(AND, "r%d, r%d", a->rd, a->rr) 142 INSN(ANDI, "r%d, %d", a->rd, a->imm) [all …]
|
/qemu/target/mips/tcg/ |
H A D | tx79_translate.c | 335 gen_base_offset_addr(ctx, addr, a->base, a->offset); in trans_LQ() 358 gen_base_offset_addr(ctx, addr, a->base, a->offset); in trans_SQ() 511 gen_pextw(cpu_gpr[a->rd], cpu_gpr_hi[a->rd], ax, bx); in trans_PEXTLW() 569 tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rt], cpu_gpr[a->rt], 16, 16); in trans_PCPYH() 570 tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], cpu_gpr[a->rd], 32, 32); in trans_PCPYH() 571 tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rt], cpu_gpr_hi[a->rt], 16, 16); in trans_PCPYH() 572 tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], 32, 32); in trans_PCPYH() 593 } else if (a->rd != a->rt) { in trans_PCPYLD() 594 tcg_gen_mov_i64(cpu_gpr[a->rd], cpu_gpr[a->rt]); in trans_PCPYLD() 608 gen_load_gpr_hi(cpu_gpr[a->rd], a->rs); in trans_PCPYUD() [all …]
|
H A D | octeon_translate.c | 32 if (a->set) { in trans_BBIT() 48 if (a->rt == 0) { in trans_BADDU() 67 if (a->rt == 0) { in trans_DMUL() 85 if (a->rt == 0) { in trans_EXTS() 92 tcg_gen_sextract_tl(t0, t0, a->p, a->lenm1 + 1); in trans_EXTS() 101 if (a->rt == 0) { in trans_CINS() 108 tcg_gen_deposit_z_tl(t0, t0, a->p, a->lenm1 + 1); in trans_CINS() 117 if (a->rd == 0) { in trans_POP() 124 if (!a->dw) { in trans_POP() 147 if (a->ne) { in trans_SEQNE() [all …]
|
/qemu/target/hexagon/ |
H A D | fma_emu.c | 186 a.mant = int128_or(a.mant, int128_make64(a.guard)); in accum_norm_left() 187 a.guard = a.round; in accum_norm_left() 188 a.round = a.sticky; in accum_norm_left() 197 a.round | a.guard | int128_nz(a.mant); in accum_norm_right() 205 a.sticky |= a.round | a.guard | (int128_getlo(a.mant) != 0); in accum_norm_right() 214 a.sticky |= a.round; in accum_norm_right() 215 a.round = a.guard; in accum_norm_right() 395 && ((a.guard | a.round | a.sticky) == 0)) { \ 429 a = accum_norm_right(a, 1 - a.exp); \ 435 if (a.guard || a.round || a.sticky) { \ [all …]
|
/qemu/target/arm/tcg/ |
H A D | translate-neon.c | 193 return do_neon_ddda_fpst(s, a->q * 7, a->vd, a->vn, a->vm, a->rot, in trans_VCMLA() 196 return do_neon_ddda_fpst(s, a->q * 7, a->vd, a->vn, a->vm, a->rot, in trans_VCMLA() 217 if ((a->vn | a->vm | a->vd) & a->q) { in trans_VCADD() 242 return do_neon_ddda(s, a->q * 7, a->vd, a->vn, a->vm, 0, in trans_VSDOT() 327 return do_neon_ddda(s, a->q * 6, a->vd, a->vn, a->vm, a->index, in trans_VSDOT_scalar() 336 return do_neon_ddda(s, a->q * 6, a->vd, a->vn, a->vm, a->index, in trans_VUDOT_scalar() 345 return do_neon_ddda(s, a->q * 6, a->vd, a->vn, a->vm, a->index, in trans_VUSDOT_scalar() 354 return do_neon_ddda(s, a->q * 6, a->vd, a->vn, a->vm, a->index, in trans_VSUDOT_scalar() 363 return do_neon_ddda(s, a->q * 6, a->vd, a->vn, a->vm, a->index, in trans_VDOT_b16_scal() 766 if ((a->vn | a->vm | a->vd) & a->q) { in do_3same() [all …]
|
H A D | translate-mve.c | 158 if (a->rn == 15 || (a->rn == 13 && a->w)) { in do_ldst() 167 if (!a->a) { in do_ldst() 200 return do_ldst(s, a, ldstfns[a->size][a->l], a->size); in trans_VLDR_VSTR() 268 return do_ldst_sg(s, a, fns[a->os][a->msize][a->size]); in trans_VLDR_S_sg() 288 return do_ldst_sg(s, a, fns[a->os][a->msize][a->size]); in trans_VLDR_U_sg() 305 return do_ldst_sg(s, a, fns[a->os][a->msize][a->size]); in trans_VSTR_sg() 327 if (!a->a) { in do_ldst_sg_imm() 910 if (a->size == MO_32 && (a->qd == a->qm || a->qd == a->qn)) { in DO_2OP_VEC() 925 if (a->size == MO_32 && (a->qd == a->qm || a->qd == a->qn)) { in trans_VQDMULLT() 1101 if (a->qd == a->qn && a->size == MO_32) { in DO_2OP_SCALAR() [all …]
|
H A D | iwmmxt_helper.c | 49 #define EXTEND8H(a) ((uint16_t) (int8_t) (a)) argument 50 #define EXTEND8(a) ((uint32_t) (int8_t) (a)) argument 51 #define EXTEND16(a) ((uint32_t) (int16_t) (a)) argument 52 #define EXTEND16S(a) ((int32_t) (int16_t) (a)) argument 53 #define EXTEND32(a) ((uint64_t) (int32_t) (a)) argument 57 a = (( in HELPER() 69 a = (( in HELPER() 589 a = (((a >> 0) & 0xff) << 0) | (((a >> 16) & 0xff) << 8) | in HELPER() 603 a = (((a >> 0) & 0xffff) << 0) | (((a >> 32) & 0xffff) << 16) | in HELPER() 622 a = (((a >> 0) & 0xff) << 0) | (((a >> 16) & 0xff) << 8) | in HELPER() [all …]
|
H A D | translate-vfp.c | 319 ((a->vm | a->vn | a->vd) & 0x10)) { in trans_VSEL() 645 if (!mve_skip_vmov(s, a->vn, a->index, a->size)) { in trans_VMOV_to_gp() 690 if (!mve_skip_vmov(s, a->vn, a->index, a->size)) { in trans_VMOV_from_gp() 716 if (a->b && a->e) { in trans_VDUP() 2021 a->vd, a->vn, a->vm, false); in trans_VMINNM_hp() 2030 a->vd, a->vn, a->vm, false); in trans_VMAXNM_hp() 2039 a->vd, a->vn, a->vm, false); in trans_VMINNM_sp() 2048 a->vd, a->vn, a->vm, false); in trans_VMAXNM_sp() 2057 a->vd, a->vn, a->vm, false); in trans_VMINNM_dp() 2066 a->vd, a->vn, a->vm, false); in trans_VMAXNM_dp() [all …]
|
H A D | translate-sve.c | 1549 if (!a->s && a->pg == a->rn && a->rn == a->rm) { in trans_ORR_pppp() 2823 a->rd, a->rn, (a->rn + 1) % 32, a->pg, a->esz) 3495 dot_fns[a->u][a->sz], a->rd, a->rn, a->rm, a->ra, 0) 3613 a->rd, a->rn, a->rm, a->ra, (a->index << 2) | a->rot) in TRANS_FEAT() 3969 a->rd, a->rn, a->rm, a->pg, a->rot, 3993 a->rd, a->rn, a->rm, a->ra, a->pg, a->rot, 4000 a->rd, a->rn, a->rm, a->ra, a->index * 4 + a->rot, 5615 do_mem_zpz(s, a->rd, a->pg, a->rm, a->scale * a->msz, in trans_LD1_zprz() 7151 cmla_fns[a->esz], a->rd, a->rn, a->rm, a->ra, a->rot) 7157 cdot_fns[a->esz], a->rd, a->rn, a->rm, a->ra, a->rot) [all …]
|
/qemu/target/riscv/insn_trans/ |
H A D | trans_rvd.c.inc | 86 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2 | a->rs3); 104 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2 | a->rs3); 122 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2 | a->rs3); 140 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2 | a->rs3); 158 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); 175 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); 192 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); 209 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); 242 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); 261 REQUIRE_EVEN(ctx, a->rd | a->rs1 | a->rs2); [all …]
|
H A D | trans_rvzfh.c.inc | 53 if (a->imm) { 59 dest = cpu_fpr[a->rd]; 76 if (a->imm) { 97 gen_set_rm(ctx, a->rm); 114 gen_set_rm(ctx, a->rm); 131 gen_set_rm(ctx, a->rm); 148 gen_set_rm(ctx, a->rm); 242 if (a->rs1 == a->rs2) { /* FMOV */ 286 if (a->rs1 == a->rs2) { /* FNEG */ 333 if (a->rs1 == a->rs2) { /* FABS */ [all …]
|
H A D | trans_rvf.c.inc | 51 addr = get_address(ctx, a->rs1, a->imm); 52 dest = cpu_fpr[a->rd]; 68 addr = get_address(ctx, a->rs1, a->imm); 95 gen_set_rm(ctx, a->rm); 112 gen_set_rm(ctx, a->rm); 129 gen_set_rm(ctx, a->rm); 146 gen_set_rm(ctx, a->rm); 162 gen_set_rm(ctx, a->rm); 240 if (a->rs1 == a->rs2) { /* FMOV */ 283 if (a->rs1 == a->rs2) { /* FNEG */ [all …]
|
H A D | trans_xthead.c.inc | 164 if (a->lsb <= a->msb) { 165 f(dest, source, a->lsb, a->msb - a->lsb + 1); 350 TCGv addr = get_th_address_indexed(ctx, a->rs1, a->rs2, a->imm2, zext_offs); 370 TCGv addr = get_th_address_indexed(ctx, a->rs1, a->rs2, a->imm2, zext_offs); 562 if (a->rs1 == a->rd) { 566 int imm = a->imm5 << a->imm2; 586 int imm = a->imm5 << a->imm2; 744 TCGv addr = get_th_address_indexed(ctx, a->rs1, a->rs2, a->imm2, zext_offs); 761 TCGv addr = get_th_address_indexed(ctx, a->rs1, a->rs2, a->imm2, zext_offs); 910 if (a->rs == a->rd1 || a->rs == a->rd2 || a->rd1 == a->rd2) { [all …]
|
H A D | trans_rvzfa.c.inc | 291 gen_set_rm(ctx, a->rm); 308 gen_set_rm(ctx, a->rm); 325 gen_set_rm(ctx, a->rm); 342 gen_set_rm(ctx, a->rm); 359 gen_set_rm(ctx, a->rm); 376 gen_set_rm(ctx, a->rm); 398 gen_set_gpr(ctx, a->rd, dst); 414 gen_set_gpr(ctx, a->rd, dst); 444 gen_set_gpr(ctx, a->rd, dest); 459 gen_set_gpr(ctx, a->rd, dest); [all …]
|
/qemu/target/hppa/ |
H A D | translate.c | 1595 return do_floadw(ctx, a->t, a->b, a->x, a->scale ? 2 : 0, in trans_fldw() 1620 return do_floadd(ctx, a->t, a->b, a->x, a->scale ? 3 : 0, in trans_fldd() 3235 return do_load(ctx, a->t, a->b, a->x, a->scale ? a->size : 0, in trans_ld() 3236 a->disp, a->sp, a->m, a->size | MO_TE); in trans_ld() 3245 return do_store(ctx, a->t, a->b, a->disp, a->sp, a->m, a->size | MO_TE); in trans_st() 3442 a->c, a->f, a->d, a->n, a->disp); in trans_cmpb() 3452 a->c, a->f, a->d, a->n, a->disp); in trans_cmpbi() 3502 return do_addb(ctx, a->r2, load_gpr(ctx, a->r1), a->c, a->f, a->n, a->disp); in trans_addb() 3508 return do_addb(ctx, a->r, tcg_constant_i64(a->i), a->c, a->f, a->n, a->disp); in trans_addbi() 3895 return do_dep_sar(ctx, a->t, a->c, a->d, a->nz, a->len, in trans_dep_sar() [all …]
|
/qemu/include/fpu/ |
H A D | softfloat.h | 666 return float32_is_zero_or_denormal(a) && !float32_is_zero(a); in float32_is_denormal() 671 return float32_is_normal(a) || float32_is_zero(a); in float32_is_zero_or_normal() 865 return float64_is_normal(a) || float64_is_zero(a); in float64_is_zero_or_normal() 981 return a; in floatx80_abs() 987 return a; in floatx80_chs() 1007 return (a.high & 0x7fff) == 0 && a.low == 0; in floatx80_is_zero() 1017 return ((a.high & 0x7fff) == 0x7fff) && (a.low<<1); in floatx80_is_any_nan() 1265 return a; in float128_abs() 1271 return a; in float128_chs() 1286 return (a.high & 0x7fffffffffffffffLL) == 0 && a.low == 0; in float128_is_zero() [all …]
|
/qemu/target/loongarch/ |
H A D | vec.h | 33 #define DO_ADD(a, b) (a + b) argument 34 #define DO_SUB(a, b) (a - b) argument 35 #define DO_VAVG(a, b) ((a >> 1) + (b >> 1) + (a & b & 1)) argument 36 #define DO_VAVGR(a, b) ((a >> 1) + (b >> 1) + ((a | b) & 1)) argument 37 #define DO_VABSD(a, b) ((a > b) ? (a -b) : (b-a)) argument 38 #define DO_VABS(a) ((a < 0) ? (-a) : (a)) argument 39 #define DO_MIN(a, b) (a < b ? a : b) argument 40 #define DO_MAX(a, b) (a > b ? a : b) argument 41 #define DO_MUL(a, b) (a * b) argument 52 #define DO_SIGNCOV(a, b) (a == 0 ? 0 : a < 0 ? -b : b) argument [all …]
|
/qemu/fpu/ |
H A D | softfloat.c | 977 a->frac_hi = a->frac_lo = -1; in frac128_allones() 1010 a->frac_hi = a->frac_lo = 0; in frac128_clear() 1053 a0 = a->frac_hi, a1 = a->frac_lo; in frac128_div() 1123 a->frac = -a->frac; in frac64_neg() 1158 a->frac_hi = shl_double(a->frac_hi, a->frac_lo, shl); in frac128_normalize() 1281 a->sign = !a->sign; in frac64_modrem() 1370 a->sign = !a->sign; in frac128_modrem() 1572 r->frac_lo = a->frac_hm | ((a->frac_lm | a->frac_lo) != 0); in frac128_truncjam() 4011 a = int128_neg(a); in int128_to_float128() 4020 a = int128_lshift(a, shift); in int128_to_float128() [all …]
|
/qemu/target/alpha/ |
H A D | vax_helper.c | 33 CPU_FloatU a; in float32_to_f() local 35 a.f = fa; in float32_to_f() 37 exp = (a.l >> 23) & 0xff; in float32_to_f() 68 exp = ((a >> 55) & 0x80) | ((a >> 52) & 0x7f); in f_to_float32() 69 mant_sig = ((a >> 32) & 0x80000000) | ((a >> 29) & 0x007fffff); in f_to_float32() 86 uint32_t helper_f_to_memory(uint64_t a) in helper_f_to_memory() argument 101 if (!(a & 0x00004000)) { in helper_memory_to_f() 164 CPU_DoubleU a; in float64_to_g() local 166 a.d = fa; in float64_to_g() 168 exp = (a.ll >> 52) & 0x7ff; in float64_to_g() [all …]
|