qemu/target/ppc/translate
Lucas Mateus Castro (alqotel) dc46167a22 target/ppc: Moved VMLADDUHM to decodetree and use gvec
This patch moves VMLADDUHM to decodetree a creates a gvec implementation
using mul_vec and add_vec.

rept    loop    master             patch
8       12500   0,01810500         0,00903100 (-50.1%)
25      4000    0,01739400         0,00747700 (-57.0%)
100     1000    0,01843600         0,00901400 (-51.1%)
500     200     0,02574600         0,01971000 (-23.4%)
2500    40      0,05921600         0,07121800 (+20.3%)
8000    12      0,15326700         0,21725200 (+41.7%)

The significant difference in performance when REPT is low and LOOP is
high I think is due to the fact that the new implementation has a higher
translation time, as when using a helper only 5 TCGop are used but with
the patch a total of 10 TCGop are needed (Power lacks a direct mul_vec
equivalent so this instruction is implemented with the help of 5 others,
vmuleu, vmulou, vmrgh, vmrgl and vpkum).

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-2-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2022-10-28 13:15:22 -03:00
..
branch-impl.c.inc PPC64/TCG: Implement 'rfebb' instruction 2021-12-17 17:57:19 +01:00
dfp-impl.c.inc target/ppc: Move ddedpd[q],denbcd[q],dscli[q],dscri[q] to decodetree 2021-11-09 10:32:52 +11:00
fixedpoint-impl.c.inc target/ppc: Implement hashstp and hashchkp 2022-09-20 10:54:06 -03:00
fp-impl.c.inc target/ppc: Merge fsqrt and fsqrts helpers 2022-09-20 10:54:06 -03:00
fp-ops.c.inc target/ppc: Move fsqrts to decodetree 2022-09-20 10:54:06 -03:00
processor-ctrl-impl.c.inc target/ppc: move msgsync to decodetree 2022-10-28 13:15:21 -03:00
spe-impl.c.inc ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
spe-ops.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
storage-ctrl-impl.c.inc target/ppc: Implement slbiag 2022-07-18 13:59:43 -03:00
vmx-impl.c.inc target/ppc: Moved VMLADDUHM to decodetree and use gvec 2022-10-28 13:15:22 -03:00
vmx-ops.c.inc target/ppc: use int128.h methods in vsubcuq 2022-07-06 10:22:38 -03:00
vsx-impl.c.inc target/ppc: Fix xvcmp* clearing FI bit 2022-10-17 16:15:09 -03:00
vsx-ops.c.inc target/ppc: declare xxextractuw and xxinsertw helpers with call flags 2022-05-26 17:11:32 -03:00