On 9/23/22 21:47, Lucas Mateus Castro(alqotel) wrote:
+static void do_xvcpsgn_vec(unsigned vece, TCGv_vec t, TCGv_vec a, TCGv_vec b)
+{
+    TCGv_vec most_significant_bit = tcg_temp_new_vec_matching(t);
+    uint64_t msb = (vece == MO_32) ? SGN_MASK_SP : SGN_MASK_DP;
+    tcg_gen_dupi_vec(vece, most_significant_bit, msb);
+    tcg_gen_and_vec(vece, a, a, most_significant_bit);
+    tcg_gen_andc_vec(vece, b, b, most_significant_bit);
+    tcg_gen_or_vec(vece, t, a, b);
+    tcg_temp_free_vec(most_significant_bit);
+}

tcg_constant_vec_matching, and tcg_gen_bitsel_vec.


r~

Reply via email to