qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 01/16] tcg: Expand usadd/ussub with umin/umax


From: Richard Henderson
Subject: Re: [PATCH v5 01/16] tcg: Expand usadd/ussub with umin/umax
Date: Fri, 17 Sep 2021 06:46:22 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 9/17/21 4:24 AM, Matheus K. Ferst wrote:
  void tcg_gen_usadd_vec(unsigned vece, TCGv_vec r, TCGv_vec a, TCGv_vec b)
  {
-    do_op3_nofail(vece, r, a, b, INDEX_op_usadd_vec);
+    if (!do_op3(vece, r, a, b, INDEX_op_usadd_vec)) {
+        const TCGOpcode *hold_list = tcg_swap_vecop_list(NULL);
+        TCGv_vec t = tcg_temp_new_vec_matching(r);
+
+        /* usadd(a, b) = min(a, ~b) + b */
+        tcg_gen_not_vec(vece, t, b);
+        tcg_gen_umin_vec(vece, t, t, a);
+        tcg_gen_add_vec(vece, r, r, b);

I think it should be

tcg_gen_add_vec(vece, r, t, b);

Yep, good catch.

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]