[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/34] target/arm/tcg: Remove inclusions of 'exec/helper-[prot
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 00/34] target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h' |
Date: |
Mon, 19 Jun 2023 17:42:28 +0200 |
Since v2:
- Addressed rth's review comments (unnecessary helper-gen)
- Added R-b
- Extracted crypto, pauth, mte, gvec
Possible follow-up:
- merge gvec/vfp
- rename neon -> advsimd
- rename historical op_helper -> misc_helper
Since v1:
- Addressed rth's review comments (unnecessary helper-gen)
- Added R-b
- Extract M-profile helpers
- Fixed licence in new files
Hi,
This series tries to do what Richard suggested in [*]:
Targets that have a tcg/ subdir should have helper.h.inc
moved into there. At the end, include/exec/helper-gen.h
and include/exec/helper-proto.h become unused and go away.
but only for the ARM target, to first see if this is heading
in the correct direction.
Instead of having TCG generated helpers included by all
translate/helper units, they are reduced to the few places
really needing them. I expect the build step to be slighly
improved, since the compiler doesn't have to compile and
track unused helpers definitions.
[*]
cad000d7-f408-9337-9328-ccb262c5fcc7@linaro.org/">https://lore.kernel.org/qemu-devel/cad000d7-f408-9337-9328-ccb262c5fcc7@linaro.org/
Philippe Mathieu-Daudé (34):
target/arm/tcg: Remove CONFIG_TCG #ifdef'ry check
target/arm/tcg: Rename helper template headers as '.h.inc'
target/arm/tcg: Extract iwMMXt helpers from the generic 'helper.h'
target/arm/tcg: Fix iwmmxt-related code style
target/arm/tcg: Expose some iwmmxt methods in 'translate.h'
target/arm/tcg: Extract iwmmxt code to translate-iwmmxt.c
target/arm/tcg: Reduce 'helper-iwmmxt.h.inc' inclusion
target/arm/tcg: Un-inline VFP translation helpers
target/arm/tcg: Move VFP helpers from helper-a64.c to vfp_helper.c
target/arm/tcg: Extract VFP definitions to 'helper-vfp.h.inc'
target/arm/tcg: Reduce 'helper-vfp.h.inc' inclusion
target/arm/tcg: Move NEON helpers to neon_helper.c
target/arm/tcg: Extract NEON definitions to 'helper-neon.h.inc'
target/arm/tcg: Reduce 'helper-neon.h.inc' inclusion
target/arm/tcg: Export some generic vector helpers
target/arm/tcg: Extract generic vector helpers to translate-gvec.c
target/arm/tcg: Extract gvec definitions to 'helper-gvec.h.inc'
target/arm/tcg: Reduce 'helper-gvec.h.inc' inclusion
target/arm/tcg: Extract SVE2 definitions to 'helper-sve.h.inc'
target/arm/tcg: Reduce 'helper-sve.h.inc' inclusion
target/arm/tcg: Extract crypto definitions to 'helper-crypto.h.inc'
target/arm/tcg: Reduce 'helper-crypto.h.inc' inclusion
target/arm/tcg: Reduce 'helper-mve.h.inc' inclusion
target/arm/tcg: Reduce 'helper-sme.h.inc' inclusion
target/arm/tcg: Extract PAuth definitions to 'helper-pauth.h.inc'
target/arm/tcg: Extract MemTag definitions to 'helper-mte.h.inc'
target/arm/tcg: Reduce 'helper-a64.h.inc' inclusion
target/arm/tcg: Move v8m_stackcheck() from op_helper.c to m_helper.c
target/arm/tcg: Extract M-profile definitions to 'helper-m.h.inc'
target/arm/tcg: Reduce 'helper-m.h.inc' inclusion
target/arm/tcg: Inline 'exec/helper-gen.h'
target/arm/tcg: Inline 'exec/helper-proto.h'
target/arm/tcg: Rename 'helper.h' -> 'tcg/helper.h.inc'
tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc
target/arm/helper.h | 1047 ------
target/arm/tcg/translate.h | 37 +-
.../tcg/{helper-a64.h => helper-a64.h.inc} | 43 -
target/arm/tcg/helper-crypto.h.inc | 42 +
target/arm/tcg/helper-gvec.h.inc | 378 +++
target/arm/tcg/helper-iwmmxt.h.inc | 103 +
target/arm/tcg/helper-m.h.inc | 23 +
target/arm/tcg/helper-mte.h.inc | 23 +
.../tcg/{helper-mve.h => helper-mve.h.inc} | 0
target/arm/tcg/helper-neon.h.inc | 224 ++
target/arm/tcg/helper-pauth.h.inc | 19 +
.../tcg/{helper-sme.h => helper-sme.h.inc} | 0
.../tcg/{helper-sve.h => helper-sve.h.inc} | 46 +
target/arm/tcg/helper-vfp.h.inc | 189 ++
target/arm/tcg/helper.h.inc | 97 +
target/arm/debug_helper.c | 6 +-
target/arm/helper.c | 6 +-
target/arm/tcg/cpu32.c | 4 +-
target/arm/tcg/crypto_helper.c | 7 +-
target/arm/tcg/helper-a64.c | 176 +-
target/arm/tcg/hflags.c | 5 +-
target/arm/tcg/iwmmxt_helper.c | 5 +-
target/arm/tcg/m_helper.c | 31 +-
target/arm/tcg/mte_helper.c | 4 +-
target/arm/tcg/mve_helper.c | 9 +-
target/arm/tcg/neon_helper.c | 111 +-
target/arm/tcg/op_helper.c | 43 +-
target/arm/tcg/pauth_helper.c | 4 +-
target/arm/tcg/psci.c | 5 +-
target/arm/tcg/sme_helper.c | 5 +-
target/arm/tcg/sve_helper.c | 12 +-
target/arm/tcg/tlb_helper.c | 4 +-
target/arm/tcg/translate-a64.c | 38 +
target/arm/tcg/translate-gvec.c | 1650 ++++++++++
target/arm/tcg/translate-iwmmxt.c | 1331 ++++++++
target/arm/tcg/translate-m-nocp.c | 11 +
target/arm/tcg/translate-mve.c | 6 +
target/arm/tcg/translate-neon.c | 18 +
target/arm/tcg/translate-sme.c | 14 +
target/arm/tcg/translate-sve.c | 13 +
target/arm/tcg/translate-vfp.c | 31 +
target/arm/tcg/translate.c | 2907 +----------------
target/arm/tcg/vec_helper.c | 21 +-
target/arm/vfp_helper.c | 98 +-
tests/tcg/aarch64/bti-1.c | 2 +-
tests/tcg/aarch64/bti-3.c | 2 +-
.../aarch64/{bti-crt.inc.c => bti-crt.c.inc} | 0
target/arm/tcg/meson.build | 2 +
48 files changed, 4616 insertions(+), 4236 deletions(-)
delete mode 100644 target/arm/helper.h
rename target/arm/tcg/{helper-a64.h => helper-a64.h.inc} (60%)
create mode 100644 target/arm/tcg/helper-crypto.h.inc
create mode 100644 target/arm/tcg/helper-gvec.h.inc
create mode 100644 target/arm/tcg/helper-iwmmxt.h.inc
create mode 100644 target/arm/tcg/helper-m.h.inc
create mode 100644 target/arm/tcg/helper-mte.h.inc
rename target/arm/tcg/{helper-mve.h => helper-mve.h.inc} (100%)
create mode 100644 target/arm/tcg/helper-neon.h.inc
create mode 100644 target/arm/tcg/helper-pauth.h.inc
rename target/arm/tcg/{helper-sme.h => helper-sme.h.inc} (100%)
rename target/arm/tcg/{helper-sve.h => helper-sve.h.inc} (98%)
create mode 100644 target/arm/tcg/helper-vfp.h.inc
create mode 100644 target/arm/tcg/helper.h.inc
create mode 100644 target/arm/tcg/translate-gvec.c
create mode 100644 target/arm/tcg/translate-iwmmxt.c
rename tests/tcg/aarch64/{bti-crt.inc.c => bti-crt.c.inc} (100%)
--
2.38.1
- [PATCH v3 00/34] target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h',
Philippe Mathieu-Daudé <=
- [PATCH v3 01/34] target/arm/tcg: Remove CONFIG_TCG #ifdef'ry check, Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 02/34] target/arm/tcg: Rename helper template headers as '.h.inc', Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 03/34] target/arm/tcg: Extract iwMMXt helpers from the generic 'helper.h', Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 04/34] target/arm/tcg: Fix iwmmxt-related code style, Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 05/34] target/arm/tcg: Expose some iwmmxt methods in 'translate.h', Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 06/34] target/arm/tcg: Extract iwmmxt code to translate-iwmmxt.c, Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 08/34] target/arm/tcg: Un-inline VFP translation helpers, Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 07/34] target/arm/tcg: Reduce 'helper-iwmmxt.h.inc' inclusion, Philippe Mathieu-Daudé, 2023/06/19
- [PATCH v3 09/34] target/arm/tcg: Move VFP helpers from helper-a64.c to vfp_helper.c, Philippe Mathieu-Daudé, 2023/06/19