| /openbmc/qemu/target/arm/tcg/ |
| H A D | gengvec.c | 38 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 D | gengvec64.c | 31 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 D | translate-sve.c | 595 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 D | translate-a64.h | 204 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 D | translate-mve.c | 1517 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 D | translate-sme.c | 638 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 D | tcg-op-vec.c | 62 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 D | tcg-op-gvec.c | 413 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 D | tcg-internal.h | 106 void vec_gen_6(TCGOpcode opc, TCGType type, unsigned vece, TCGArg r,
|
| /openbmc/qemu/include/tcg/ |
| H A D | tcg-op-gvec-common.h | 97 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 D | tcg.h | 984 uint64_t dup_const(unsigned vece, uint64_t c);
|
| /openbmc/qemu/target/loongarch/tcg/insn_trans/ |
| H A D | trans_vec.c.inc | 506 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 D | vmx-impl.c.inc | 201 #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 D | vsx-impl.c.inc | 693 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 D | tcg-target.c.inc | 193 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 D | tcg-target.c.inc | 567 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 D | tcg-target.c.inc | 386 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 D | emit.c.inc | 2983 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 D | tcg-target.c.inc | 340 TCGType type, TCGCond cond, int vece)
|