qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/18] tcg/loongarch64: Support v64 and v256
@ 2024-05-27 21:18 Richard Henderson
  2024-05-27 21:18 ` [PATCH 01/18] tcg/loongarch64: Import LASX, FP insns Richard Henderson
                   ` (17 more replies)
  0 siblings, 18 replies; 46+ messages in thread
From: Richard Henderson @ 2024-05-27 21:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: git, gaosong

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



^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2024-06-18 19:16 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-27 21:18 [PATCH 00/18] tcg/loongarch64: Support v64 and v256 Richard Henderson
2024-05-27 21:18 ` [PATCH 01/18] tcg/loongarch64: Import LASX, FP insns Richard Henderson
2024-06-17  7:57   ` gaosong
2024-06-17 16:40     ` Richard Henderson
2024-05-27 21:18 ` [PATCH 02/18] tcg/loongarch64: Use fp load/store for I32 and I64 into vector regs Richard Henderson
2024-06-17  8:12   ` gaosong
2024-05-27 21:18 ` [PATCH 03/18] tcg/loongarch64: Handle i32 and i64 moves between gr and fr Richard Henderson
2024-06-17  9:06   ` gaosong
2024-05-27 21:18 ` [PATCH 04/18] tcg/loongarch64: Support TCG_TYPE_V64 Richard Henderson
2024-05-29  6:29   ` Philippe Mathieu-Daudé
2024-06-17  9:16   ` gaosong
2024-05-27 21:18 ` [PATCH 05/18] util/loongarch64: Detect LASX vector support Richard Henderson
2024-05-29  6:29   ` Philippe Mathieu-Daudé
2024-06-17  9:26   ` gaosong
2024-05-27 21:19 ` [PATCH 06/18] tcg/loongarch64: Simplify tcg_out_dup_vec Richard Henderson
2024-05-29  6:34   ` Philippe Mathieu-Daudé
2024-06-17  9:32   ` gaosong
2024-05-27 21:19 ` [PATCH 07/18] tcg/loongarch64: Support LASX in tcg_out_dup_vec Richard Henderson
2024-06-17  9:52   ` gaosong
2024-05-27 21:19 ` [PATCH 08/18] tcg/loongarch64: Support LASX in tcg_out_dupm_vec Richard Henderson
2024-06-17 10:01   ` gaosong
2024-05-27 21:19 ` [PATCH 09/18] tcg/loongarch64: Use tcg_out_dup_vec in tcg_out_dupi_vec Richard Henderson
2024-05-29  6:36   ` Philippe Mathieu-Daudé
2024-06-17 10:06   ` gaosong
2024-05-27 21:19 ` [PATCH 10/18] tcg/loongarch64: Support LASX " Richard Henderson
2024-06-17 10:07   ` gaosong
2024-05-27 21:19 ` [PATCH 11/18] tcg/loongarch64: Simplify tcg_out_addsub_vec Richard Henderson
2024-06-18  1:11   ` gaosong
2024-05-27 21:19 ` [PATCH 12/18] tcg/loongarch64: Support LASX in tcg_out_addsub_vec Richard Henderson
2024-06-18  1:34   ` gaosong
2024-05-27 21:19 ` [PATCH 13/18] tcg/loongarch64: Split out vdvjvk in tcg_out_vec_op Richard Henderson
2024-06-18  2:28   ` gaosong
2024-06-18 19:16     ` Richard Henderson
2024-05-27 21:19 ` [PATCH 14/18] tcg/loongarch64: Support LASX in tcg_out_{mov,ld,st} Richard Henderson
2024-06-18  2:37   ` gaosong
2024-05-27 21:19 ` [PATCH 15/18] tcg/loongarch64: Remove temp_vec from tcg_out_vec_op Richard Henderson
2024-05-29  6:37   ` Philippe Mathieu-Daudé
2024-06-18  2:55   ` gaosong
2024-05-27 21:19 ` [PATCH 16/18] tcg/loongarch64: Split out vdvjukN in tcg_out_vec_op Richard Henderson
2024-06-18  3:07   ` gaosong
2024-05-27 21:19 ` [PATCH 17/18] tcg/loongarch64: Support LASX " Richard Henderson
2024-06-18  3:22   ` gaosong
2024-05-27 21:19 ` [PATCH 18/18] tcg/loongarch64: Enable v256 with LASX Richard Henderson
2024-05-29  6:39   ` Philippe Mathieu-Daudé
2024-06-18  4:00     ` gaosong
2024-06-18  3:33   ` gaosong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).