Message ID | 20240215192823.729209-6-max.chou@sifive.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improve the performance of RISC-V vector unit-stride ld/st instructions | expand |
On 2/15/24 09:28, Max Chou wrote: > Signed-off-by: Max Chou <max.chou@sifive.com> > --- > accel/tcg/user-exec.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c > index c5453810eee..803c271df11 100644 > --- a/accel/tcg/user-exec.c > +++ b/accel/tcg/user-exec.c > @@ -963,8 +963,9 @@ static inline QEMU_ALWAYS_INLINE void *cpu_mmu_lookup(CPUState *cpu, > > #include "ldst_atomicity.c.inc" > > -static uint8_t do_ld1_mmu(CPUState *cpu, vaddr addr, MemOpIdx oi, > - uintptr_t ra, MMUAccessType access_type) > +static inline QEMU_ALWAYS_INLINE uint8_t do_ld1_mmu(CPUState *cpu, vaddr addr, > + MemOpIdx oi, uintptr_t ra, > + MMUAccessType access_type) > { > void *haddr; > uint8_t ret; I expect the small functions that use this to tail-call into this common function. I do not believe that inlining helps. Same with do_st1_mmu. r~
diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index c5453810eee..803c271df11 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -963,8 +963,9 @@ static inline QEMU_ALWAYS_INLINE void *cpu_mmu_lookup(CPUState *cpu, #include "ldst_atomicity.c.inc" -static uint8_t do_ld1_mmu(CPUState *cpu, vaddr addr, MemOpIdx oi, - uintptr_t ra, MMUAccessType access_type) +static inline QEMU_ALWAYS_INLINE uint8_t do_ld1_mmu(CPUState *cpu, vaddr addr, + MemOpIdx oi, uintptr_t ra, + MMUAccessType access_type) { void *haddr; uint8_t ret;
Signed-off-by: Max Chou <max.chou@sifive.com> --- accel/tcg/user-exec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)