qemu/target
Taylor Simpson 2f0a771ddc Hexagon (target/hexagon) Only pass env to generated helper when needed
Currently, we pass env to every generated helper.  When the semantics of
the instruction only depend on the arguments, this is unnecessary and
adds extra overhead to the helper call.

We add the TCG_CALL_NO_RWG_SE flag to any non-HVX helpers that don't get
the ptr to env.

The A2_nop and SA1_setin1 instructions end up with no arguments.  This
results in a "old-style function definition" error from the compiler, so
we write overrides for them.

With this change, the number of helpers with env argument is
    idef-parser enabled:    329 total, 23 with env
    idef-parser disabled:   1543 total, 550 with env

Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Tested-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240214042726.19290-4-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
2024-05-05 16:22:07 -07:00
..
alpha target/alpha: Implement CF_PCREL 2024-05-04 08:05:51 -07:00
arm target/arm: Default to 1GHz cntfrq for 'max' and new CPUs 2024-04-30 15:14:15 +01:00
avr target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
cris hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
hexagon Hexagon (target/hexagon) Only pass env to generated helper when needed 2024-05-05 16:22:07 -07:00
hppa target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
i386 - Fix NULL dereference in NVMM & WHPX init_vcpu() 2024-05-03 14:42:50 -07:00
loongarch Add boot LoongArch elf kernel with FDT 2024-04-30 07:16:56 -07:00
m68k hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
microblaze target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
mips target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
openrisc target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
ppc target/ppc/cpu_init: Remove "PowerPC" prefix from the CPU list 2024-04-29 09:37:26 +03:00
riscv target/riscv/kvm: remove sneaky strerrorname_np() instance 2024-04-29 15:26:56 +03:00
rx hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
s390x * Clean-ups for "errp" handling in s390x cpu_model code 2024-04-30 09:57:47 -07:00
sh4 target/sh4: Rename TCGv variables as manual for SUBV opcode 2024-05-03 17:33:26 +02:00
sparc target/sparc: Replace abi_ulong by uint32_t for TARGET_ABI32 2024-04-26 15:31:37 +02:00
tricore gdbstub: Avoid including 'cpu.h' in 'gdbstub/helpers.h' 2024-04-26 15:31:37 +02:00
xtensa target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
Kconfig target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
meson.build exec: Expose 'target_page.h' API to user emulation 2024-04-26 15:28:11 +02:00