On 3/27/23 20:06, Song Gao wrote:
+static bool do_cmp(DisasContext *ctx, arg_vvv *a, MemOp mop, TCGCond cond,
+                   void (*func)(TCGCond, unsigned, uint32_t, uint32_t,
+                                uint32_t, uint32_t, uint32_t))
+{
+    uint32_t vd_ofs, vj_ofs, vk_ofs;
+
+    CHECK_SXE;
+
+    vd_ofs = vreg_full_offset(a->vd);
+    vj_ofs = vreg_full_offset(a->vj);
+    vk_ofs = vreg_full_offset(a->vk);
+
+    func(cond, mop, vd_ofs, vj_ofs, vk_ofs, 16, 16);

You always pass tcg_gen_cmp_vec.

+static void do_cmpi_vec(TCGCond cond,
+                        unsigned vece, TCGv_vec t, TCGv_vec a, int64_t imm)
+{
+    TCGv_vec t1;
+
+    t1 = tcg_temp_new_vec_matching(t);
+    tcg_gen_dupi_vec(vece, t1, imm);

tcg_constant_vec_matching.


r~

Reply via email to