Home
last modified time | relevance | path

Searched refs:vece (Results 1 – 19 of 19) sorted by relevance

/openbmc/qemu/target/arm/tcg/
H A Dgengvec.c38 void gen_gvec_sqdmulh_qc(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_sqdmulh_qc() argument
44 tcg_debug_assert(vece >= 1 && vece <= 2); in gen_gvec_sqdmulh_qc()
45 gen_gvec_fn3_qc(rd_ofs, rn_ofs, rm_ofs, opr_sz, max_sz, fns[vece - 1]); in gen_gvec_sqdmulh_qc()
48 void gen_gvec_sqrdmulh_qc(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_sqrdmulh_qc() argument
54 tcg_debug_assert(vece >= 1 && vece <= 2); in gen_gvec_sqrdmulh_qc()
55 gen_gvec_fn3_qc(rd_ofs, rn_ofs, rm_ofs, opr_sz, max_sz, fns[vece - 1]); in gen_gvec_sqrdmulh_qc()
58 void gen_gvec_sqrdmlah_qc(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_sqrdmlah_qc() argument
64 tcg_debug_assert(vece >= 1 && vece <= 2); in gen_gvec_sqrdmlah_qc()
65 gen_gvec_fn3_qc(rd_ofs, rn_ofs, rm_ofs, opr_sz, max_sz, fns[vece - 1]); in gen_gvec_sqrdmlah_qc()
68 void gen_gvec_sqrdmlsh_qc(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_sqrdmlsh_qc() argument
[all …]
H A Dgengvec64.c31 static void gen_rax1_vec(unsigned vece, TCGv_vec d, TCGv_vec n, TCGv_vec m) in gen_rax1_vec() argument
33 tcg_gen_rotli_vec(vece, d, m, 1); in gen_rax1_vec()
34 tcg_gen_xor_vec(vece, d, d, n); in gen_rax1_vec()
37 void gen_gvec_rax1(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_rax1() argument
46 .vece = MO_64, in gen_gvec_rax1()
89 static void gen_xar_vec(unsigned vece, TCGv_vec d, TCGv_vec n, in gen_xar_vec() argument
92 tcg_gen_xor_vec(vece, d, n, m); in gen_xar_vec()
93 tcg_gen_rotri_vec(vece, d, d, sh); in gen_xar_vec()
96 void gen_gvec_xar(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_gvec_xar() argument
106 .vece = MO_8 }, in gen_gvec_xar()
[all …]
H A Dtranslate-sve.c595 static void gen_bsl(unsigned vece, uint32_t d, uint32_t n, uint32_t m, in TRANS_FEAT()
599 tcg_gen_gvec_bitsel(vece, d, a, n, m, oprsz, maxsz); in TRANS_FEAT()
611 static void gen_bsl1n_vec(unsigned vece, TCGv_vec d, TCGv_vec n, in gen_bsl1n_vec() argument
614 tcg_gen_not_vec(vece, n, n); in gen_bsl1n_vec()
615 tcg_gen_bitsel_vec(vece, d, k, n, m); in gen_bsl1n_vec()
618 static void gen_bsl1n(unsigned vece, uint32_t d, uint32_t n, uint32_t m, in gen_bsl1n() argument
625 .vece = MO_64, in gen_bsl1n()
649 static void gen_bsl2n_vec(unsigned vece, TCGv_vec d, TCGv_vec n, in gen_bsl2n_vec() argument
652 tcg_gen_not_vec(vece, m, m); in gen_bsl2n_vec()
653 tcg_gen_bitsel_vec(vece, d, k, n, m); in gen_bsl2n_vec()
[all …]
H A Dtranslate-a64.h204 void gen_gvec_rax1(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs,
206 void gen_gvec_xar(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs,
209 void gen_gvec_eor3(unsigned vece, uint32_t d, uint32_t n, uint32_t m,
211 void gen_gvec_bcax(unsigned vece, uint32_t d, uint32_t n, uint32_t m,
217 void gen_gvec_suqadd_qc(unsigned vece, uint32_t rd_ofs,
224 void gen_gvec_usqadd_qc(unsigned vece, uint32_t rd_ofs,
228 void gen_gvec_sve2_sqdmulh(unsigned vece, uint32_t rd_ofs,
H A Dtranslate-mve.c1517 static void gen_gvec_vmovi(unsigned vece, uint32_t dofs, uint32_t aofs, in gen_gvec_vmovi() argument
1520 tcg_gen_gvec_dup_imm(vece, dofs, oprsz, maxsz, c); in gen_gvec_vmovi()
1610 static void do_gvec_shri_s(unsigned vece, uint32_t dofs, uint32_t aofs, in do_gvec_shri_s() argument
1618 if (shift == (8 << vece)) { in do_gvec_shri_s()
1621 tcg_gen_gvec_sari(vece, dofs, aofs, shift, oprsz, maxsz); in do_gvec_shri_s()
1624 static void do_gvec_shri_u(unsigned vece, uint32_t dofs, uint32_t aofs, in do_gvec_shri_u() argument
1632 if (shift == (8 << vece)) { in do_gvec_shri_u()
1633 tcg_gen_gvec_dup_imm(vece, dofs, oprsz, maxsz, 0); in do_gvec_shri_u()
1635 tcg_gen_gvec_shri(vece, dofs, aofs, shift, oprsz, maxsz); in do_gvec_shri_u()
1729 static void do_gvec_vshllbs(unsigned vece, uint32_t dofs, uint32_t aofs,
[all …]
H A Dtranslate-sme.c638 static void gen_sme2_srshl(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_sme2_srshl() argument
645 tcg_debug_assert(vece <= MO_64); in gen_sme2_srshl()
646 tcg_gen_gvec_3_ool(rd_ofs, rn_ofs, rm_ofs, opr_sz, max_sz, 0, fns[vece]); in gen_sme2_srshl()
649 static void gen_sme2_urshl(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, in gen_sme2_urshl() argument
656 tcg_debug_assert(vece <= MO_64); in gen_sme2_urshl()
657 tcg_gen_gvec_3_ool(rd_ofs, rn_ofs, rm_ofs, opr_sz, max_sz, 0, fns[vece]); in gen_sme2_urshl()
/openbmc/qemu/tcg/
H A Dtcg-op-vec.c62 TCGType type, unsigned vece) in tcg_can_emit_vecop_list() argument
92 if (tcg_can_emit_vec_op(opc, type, vece)) { in tcg_can_emit_vecop_list()
103 if (tcg_can_emit_vec_op(INDEX_op_sub_vec, type, vece)) { in tcg_can_emit_vecop_list()
108 if (tcg_can_emit_vec_op(INDEX_op_sub_vec, type, vece) in tcg_can_emit_vecop_list()
109 && (tcg_can_emit_vec_op(INDEX_op_smax_vec, type, vece) > 0 in tcg_can_emit_vecop_list()
110 || tcg_can_emit_vec_op(INDEX_op_sari_vec, type, vece) > 0 in tcg_can_emit_vecop_list()
111 || tcg_can_emit_vec_op(INDEX_op_cmp_vec, type, vece))) { in tcg_can_emit_vecop_list()
116 if (tcg_can_emit_vec_op(INDEX_op_umin_vec, type, vece) || in tcg_can_emit_vecop_list()
117 tcg_can_emit_vec_op(INDEX_op_cmp_vec, type, vece)) { in tcg_can_emit_vecop_list()
122 if (tcg_can_emit_vec_op(INDEX_op_umax_vec, type, vece) || in tcg_can_emit_vecop_list()
[all …]
H A Dtcg-op-gvec.c413 uint64_t (dup_const)(unsigned vece, uint64_t c) in uint64_t()
415 switch (vece) { in uint64_t()
430 void tcg_gen_dup_i32(unsigned vece, TCGv_i32 out, TCGv_i32 in) in tcg_gen_dup_i32() argument
432 switch (vece) { in tcg_gen_dup_i32()
448 void tcg_gen_dup_i64(unsigned vece, TCGv_i64 out, TCGv_i64 in) in tcg_gen_dup_i64() argument
450 switch (vece) { in tcg_gen_dup_i64()
476 static TCGType choose_vector_type(const TCGOpcode *list, unsigned vece, in choose_vector_type() argument
489 tcg_can_emit_vecop_list(list, TCG_TYPE_V256, vece) && in choose_vector_type()
492 tcg_can_emit_vecop_list(list, TCG_TYPE_V128, vece))) && in choose_vector_type()
495 tcg_can_emit_vecop_list(list, TCG_TYPE_V64, vece)))) { in choose_vector_type()
[all …]
H A Dtcg-internal.h106 void vec_gen_6(TCGOpcode opc, TCGType type, unsigned vece, TCGArg r,
/openbmc/qemu/include/tcg/
H A Dtcg-op-gvec-common.h97 uint8_t vece; member
118 uint8_t vece; member
139 uint8_t vece; member
160 uint8_t vece; member
181 uint8_t vece; member
204 uint8_t vece; member
225 uint8_t vece; member
286 void tcg_gen_gvec_mov_var(unsigned vece, TCGv_ptr dbase, uint32_t dofs,
290 void tcg_gen_gvec_mov(unsigned vece, uint32_t dofs, uint32_t aofs,
292 void tcg_gen_gvec_not(unsigned vece, uint32_t dofs, uint32_t aofs,
[all …]
H A Dtcg.h984 uint64_t dup_const(unsigned vece, uint64_t c);
/openbmc/qemu/target/loongarch/tcg/insn_trans/
H A Dtrans_vec.c.inc506 static void gen_vaddwev_s(unsigned vece, TCGv_vec t, TCGv_vec a, TCGv_vec b)
510 int halfbits = 4 << vece;
516 tcg_gen_shli_vec(vece, t1, a, halfbits);
517 tcg_gen_sari_vec(vece, t1, t1, halfbits);
520 tcg_gen_shli_vec(vece, t2, b, halfbits);
521 tcg_gen_sari_vec(vece, t2, t2, halfbits);
523 tcg_gen_add_vec(vece, t, t1, t2);
548 static void do_vaddwev_s(unsigned vece, uint32_t vd_ofs, uint32_t vj_ofs,
559 .vece = MO_16
566 .vece = MO_32
[all …]
/openbmc/qemu/target/ppc/translate/
H A Dvmx-impl.c.inc201 #define GEN_VXFORM_V(name, vece, tcg_op, opc2, opc3) \
209 tcg_op(vece, \
680 static bool do_vector_gvec3_VX(DisasContext *ctx, arg_VX *a, int vece,
686 gen_gvec(vece, avr_full_offset(a->vrt), avr_full_offset(a->vra),
743 static TCGv_vec do_vrl_mask_vec(unsigned vece, TCGv_vec vrb)
748 ones = tcg_constant_vec_matching(vrb, vece, -1);
751 tcg_gen_dupi_vec(vece, t2, (8 << vece) - 1);
753 tcg_gen_shri_vec(vece, t0, vrb, 16);
754 tcg_gen_and_vec(vece, t0, t0, t2);
756 tcg_gen_shri_vec(vece, t1, vrb, 8);
[all …]
H A Dvsx-impl.c.inc693 static void xv_msb_op1(unsigned vece, TCGv_vec t, TCGv_vec b,
696 uint64_t msb = (vece == MO_32) ? SGN_MASK_SP : SGN_MASK_DP;
697 tcg_gen_op_vec(vece, t, b, tcg_constant_vec_matching(t, vece, msb));
700 static void do_xvabs_vec(unsigned vece, TCGv_vec t, TCGv_vec b)
702 xv_msb_op1(vece, t, b, tcg_gen_andc_vec);
705 static void do_xvnabs_vec(unsigned vece, TCGv_vec t, TCGv_vec b)
707 xv_msb_op1(vece, t, b, tcg_gen_or_vec);
710 static void do_xvneg_vec(unsigned vece, TCGv_vec t, TCGv_vec b)
712 xv_msb_op1(vece, t, b, tcg_gen_xor_vec);
715 static bool do_vsx_msb_op(DisasContext *ctx, arg_XX2 *a, unsigned vece,
[all …]
/openbmc/qemu/tcg/loongarch64/
H A Dtcg-target.c.inc193 TCGType type, TCGCond cond, int vece)
211 int64_t vec_val = sextract64(val, 0, 8 << vece);
2045 static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
2056 tcg_debug_assert(vece <= MO_64);
2057 tcg_out32(s, encode_vdj_insn(repl_insn[lasx][vece], rd, rs));
2061 static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
2068 (offset & ((1 << vece) - 1)) != 0) {
2073 offset >>= vece;
2075 switch (vece) {
2110 static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
[all …]
/openbmc/qemu/tcg/s390x/
H A Dtcg-target.c.inc567 TCGType type, TCGCond cond, int vece)
3163 static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
3169 if (vece == MO_64) {
3179 tcg_out_insn(s, VRIc, VREP, dst, (8 >> vece) - 1, src, vece);
3183 static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
3186 tcg_out_vrx_mem(s, VRX_VLREP, dst, base, TCG_REG_NONE, offset, vece);
3190 static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
3196 if (vece <= MO_16 ||
3197 (vece == MO_32 ? (int32_t)val : val) == (int16_t)val) {
3198 tcg_out_insn(s, VRIa, VREPI, dst, val, vece);
[all …]
/openbmc/qemu/tcg/riscv/
H A Dtcg-target.c.inc386 TCGType type, TCGCond cond, int vece)
393 val >>= (-8 << vece) & 63;
1076 static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
1079 set_vtype_len_sew(s, type, vece);
1084 static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
1088 set_vtype_len_sew(s, type, vece);
1094 static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
1098 arg >>= (-8 << vece) & 63;
1104 set_vtype_len_sew(s, type, vece);
1505 static void tcg_out_cmpsel(TCGContext *s, TCGType type, unsigned vece,
[all …]
/openbmc/qemu/target/i386/tcg/
H A Demit.c.inc2983 static void gen_pmovmskb_vec(unsigned vece, TCGv_vec d, TCGv_vec s)
2989 tcg_gen_and_vec(vece, d, s, m);
2990 tcg_gen_shli_vec(vece, t, d, 7);
2991 tcg_gen_or_vec(vece, d, d, t);
2992 tcg_gen_shli_vec(vece, t, d, 14);
2993 tcg_gen_or_vec(vece, d, d, t);
2994 tcg_gen_shli_vec(vece, t, d, 28);
2995 tcg_gen_or_vec(vece, d, d, t);
3005 .vece = MO_64,
/openbmc/qemu/tcg/sparc64/
H A Dtcg-target.c.inc340 TCGType type, TCGCond cond, int vece)