[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/7] tcg/loongarch64: Improvements for 128-bit load/store
From: |
Richard Henderson |
Subject: |
[PATCH 0/7] tcg/loongarch64: Improvements for 128-bit load/store |
Date: |
Sat, 16 Sep 2023 15:01:44 -0700 |
For tcg generated code, use new registers with load so that we never
overlap the input address, so that we can simplify address build for
64-bit user-only.
For tcg out-of-line code, implement the host/ headers to for atomic 128-bit
load and store, reducing the cases for which we must raise EXCP_ATOMIC.
r~
Based-on: 20230916171223.521545-1-richard.henderson@linaro.org
("[PULL v2 00/39] tcg patch queue")
Richard Henderson (7):
tcg: Add C_N2_I1
tcg/loongarch64: Use C_N2_I1 for INDEX_op_qemu_ld_a*_i128
util: Add cpuinfo for loongarch64
tcg/loongarch64: Use cpuinfo.h
host/include/loongarch64: Add atomic16 load and store
accel/tcg: Remove redundant case in store_atom_16
accel/tcg: Fix condition for store_atom_insert_al16
.../include/loongarch64/host/atomic128-ldst.h | 52 +++++++++++++++++++
host/include/loongarch64/host/cpuinfo.h | 21 ++++++++
.../loongarch64/host/load-extract-al16-al8.h | 39 ++++++++++++++
.../loongarch64/host/store-insert-al16.h | 12 +++++
tcg/loongarch64/tcg-target-con-set.h | 2 +-
tcg/loongarch64/tcg-target.h | 8 +--
accel/tcg/cputlb.c | 2 +-
tcg/tcg.c | 5 ++
util/cpuinfo-loongarch.c | 35 +++++++++++++
accel/tcg/ldst_atomicity.c.inc | 14 ++---
tcg/loongarch64/tcg-target.c.inc | 25 +++++----
util/meson.build | 2 +
12 files changed, 189 insertions(+), 28 deletions(-)
create mode 100644 host/include/loongarch64/host/atomic128-ldst.h
create mode 100644 host/include/loongarch64/host/cpuinfo.h
create mode 100644 host/include/loongarch64/host/load-extract-al16-al8.h
create mode 100644 host/include/loongarch64/host/store-insert-al16.h
create mode 100644 util/cpuinfo-loongarch.c
--
2.34.1
- [PATCH 0/7] tcg/loongarch64: Improvements for 128-bit load/store,
Richard Henderson <=
- [PATCH 1/7] tcg: Add C_N2_I1, Richard Henderson, 2023/09/16
- [PATCH 2/7] tcg/loongarch64: Use C_N2_I1 for INDEX_op_qemu_ld_a*_i128, Richard Henderson, 2023/09/16
- [PATCH 3/7] util: Add cpuinfo for loongarch64, Richard Henderson, 2023/09/16
- [PATCH 4/7] tcg/loongarch64: Use cpuinfo.h, Richard Henderson, 2023/09/16
- [PATCH 5/7] host/include/loongarch64: Add atomic16 load and store, Richard Henderson, 2023/09/16
- [PATCH 6/7] accel/tcg: Remove redundant case in store_atom_16, Richard Henderson, 2023/09/16