]> git.proxmox.com Git - mirror_qemu.git/commitdiff
tcg: Remove vecop_list check from tcg_gen_not_vec
authorRichard Henderson <richard.henderson@linaro.org>
Mon, 28 Aug 2023 19:15:35 +0000 (12:15 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 29 Aug 2023 16:57:39 +0000 (09:57 -0700)
The not pattern is always available via generic expansion.
See debug block in tcg_can_emit_vecop_list.

Fixes: 11978f6f58 ("tcg: Fix expansion of INDEX_op_not_vec")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/tcg-op-vec.c

index ad8ee08a7ecef9ebd1900f8643aa28bcdb24af03..094298bb273c04117ba18ab4db8ed338a6487d9b 100644 (file)
@@ -391,12 +391,11 @@ static bool do_op2(unsigned vece, TCGv_vec r, TCGv_vec a, TCGOpcode opc)
 
 void tcg_gen_not_vec(unsigned vece, TCGv_vec r, TCGv_vec a)
 {
-    const TCGOpcode *hold_list = tcg_swap_vecop_list(NULL);
-
-    if (!TCG_TARGET_HAS_not_vec || !do_op2(vece, r, a, INDEX_op_not_vec)) {
+    if (TCG_TARGET_HAS_not_vec) {
+        vec_gen_op2(INDEX_op_not_vec, 0, r, a);
+    } else {
         tcg_gen_xor_vec(0, r, a, tcg_constant_vec_matching(r, 0, -1));
     }
-    tcg_swap_vecop_list(hold_list);
 }
 
 void tcg_gen_neg_vec(unsigned vece, TCGv_vec r, TCGv_vec a)