mbox series

[0/2] tcg: Streamline vector load/store

Message ID 20230831030714.1194595-1-richard.henderson@linaro.org
Headers show
Series tcg: Streamline vector load/store | expand

Message

Richard Henderson Aug. 31, 2023, 3:07 a.m. UTC
We have tcg_gen_qemu_{ld,st}_i128, which can be used to implement
load/store of vectors to guest memory.  But at present we have to
split into, or concatenated from, two i64 to reference the guest
vector register backing store within env.

Provide tcg_gen_{ld,st}_i128, which can avoid the trip through i64.

This does require that the target store i128 in host byte ordering,
which is true of i386 (and some other backends) but not arm or s390x.
There is definitely further cleanup possible.


r~


Richard Henderson (2):
  tcg: Add tcg_gen_{ld,st}_i128
  target/i386: Use i128 for 128 and 256-bit loads and stores

 include/tcg/tcg-op-common.h |  3 ++
 target/i386/tcg/translate.c | 61 ++++++++++++++++---------------------
 tcg/tcg-op.c                | 22 +++++++++++++
 3 files changed, 52 insertions(+), 34 deletions(-)