projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0d58c66
)
tcg: Remove vecop_list check from tcg_gen_not_vec
author
Richard Henderson
<richard.henderson@linaro.org>
Mon, 28 Aug 2023 19:15:35 +0000
(12:15 -0700)
committer
Richard 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
patch
|
blob
|
history
diff --git
a/tcg/tcg-op-vec.c
b/tcg/tcg-op-vec.c
index ad8ee08a7ecef9ebd1900f8643aa28bcdb24af03..094298bb273c04117ba18ab4db8ed338a6487d9b 100644
(file)
--- a/
tcg/tcg-op-vec.c
+++ b/
tcg/tcg-op-vec.c
@@
-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)