qemu/tcg
Richard Henderson 717da87d38 tcg/i386: Implement cmp_vec with avx512 insns
The sse/avx instruction set only has EQ and GT as direct comparisons.
Other signed comparisons can be generated from swapping and inversion.
However unsigned comparisons are not available and must be transformed
to signed comparisons by biasing the inputs.

The avx512 instruction set has a complete set of comparisons, with
results placed into a predicate register.  We can produce the normal
cmp_vec result by using VPMOVM2*.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2024-09-22 06:54:50 +02:00
..
aarch64 tcg/aarch64: Support TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:25 -07:00
arm tcg/arm: Support TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:26 -07:00
i386 tcg/i386: Implement cmp_vec with avx512 insns 2024-09-22 06:54:50 +02:00
loongarch64 tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers 2024-06-19 13:50:22 -07:00
mips tcg: Add TCGConst argument to tcg_target_const_match 2024-02-03 23:53:48 +00:00
ppc tcg/ppc: Do not expand cmp_vec early 2024-09-22 06:54:49 +02:00
riscv util/cpuinfo-riscv: Support host/cpuinfo.h for riscv 2024-07-03 10:24:12 -07:00
s390x tcg/s390x: Do not expand cmp_vec early 2024-09-22 06:54:49 +02:00
sparc64 tcg/sparc64: Support TCG_COND_TST{EQ,NE} 2024-02-03 23:53:49 +00:00
tci tcg/tci: Support TCG_COND_TST{EQ,NE} 2024-02-05 22:45:41 +00:00
debuginfo.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
meson.build meson: Drop the .fa library suffix 2024-07-03 18:41:26 +02:00
optimize.c tcg/optimize: Optimize bitsel_vec 2024-09-22 06:54:49 +02:00
perf.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
region.c tcg: Make the cleanup-on-error path unique 2024-01-23 13:22:46 +10:00
tcg-common.c tcg: Silent -Wmissing-field-initializers warning 2023-02-27 22:29:01 +01:00
tcg-internal.h tcg: Export vec_gen_6 2024-09-22 06:54:49 +02:00
tcg-ldst.c.inc tcg: Move TCGLabelQemuLdst to tcg.c 2023-05-05 17:21:03 +01:00
tcg-op-gvec.c tcg: Fix iteration step in 32-bit gvec operation 2024-09-22 06:54:49 +02:00
tcg-op-ldst.c plugins: Use emit_before_op for PLUGIN_GEN_FROM_MEM 2024-04-30 16:12:05 -07:00
tcg-op-vec.c tcg: Export vec_gen_6 2024-09-22 06:54:49 +02:00
tcg-op.c tcg: Propagate new TCGOp to add_as_label_use 2024-09-22 06:54:49 +02:00
tcg-pool.c.inc tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
tcg.c plugins: Merge alloc_tcg_plugin_context into plugin_gen_tb_start 2024-05-15 08:55:18 +02:00
tci.c tcg: Make tcg/helper-info.h self-contained 2024-04-30 16:12:05 -07:00