Some guests only have, or additionally have, 64-bit vectors.
For example arm, mips, sparc. So it's best to enable this
whenever we can. As with tcg/i386, use 64-bit loads and stores
but 128-bit vector registers.
If LASX is available (all current loongarch64 cpus?), we have
256-bit vectors as well. Useful for guests that support such
things, e.g. aarch64, i386, and loongarch64 itself.
r~
Richard Henderson (18):
tcg/loongarch64: Import LASX, FP insns
tcg/loongarch64: Use fp load/store for I32 and I64 into vector regs
tcg/loongarch64: Handle i32 and i64 moves between gr and fr
tcg/loongarch64: Support TCG_TYPE_V64
util/loongarch64: Detect LASX vector support
tcg/loongarch64: Simplify tcg_out_dup_vec
tcg/loongarch64: Support LASX in tcg_out_dup_vec
tcg/loongarch64: Support LASX in tcg_out_dupm_vec
tcg/loongarch64: Use tcg_out_dup_vec in tcg_out_dupi_vec
tcg/loongarch64: Support LASX in tcg_out_dupi_vec
tcg/loongarch64: Simplify tcg_out_addsub_vec
tcg/loongarch64: Support LASX in tcg_out_addsub_vec
tcg/loongarch64: Split out vdvjvk in tcg_out_vec_op
tcg/loongarch64: Support LASX in tcg_out_{mov,ld,st}
tcg/loongarch64: Remove temp_vec from tcg_out_vec_op
tcg/loongarch64: Split out vdvjukN in tcg_out_vec_op
tcg/loongarch64: Support LASX in tcg_out_vec_op
tcg/loongarch64: Enable v256 with LASX
host/include/loongarch64/host/cpuinfo.h | 1 +
tcg/loongarch64/tcg-target.h | 4 +-
util/cpuinfo-loongarch.c | 1 +
tcg/loongarch64/tcg-insn-defs.c.inc | 6181 ++++++++---------------
tcg/loongarch64/tcg-target.c.inc | 575 ++-
5 files changed, 2461 insertions(+), 4301 deletions(-)
--
2.34.1