qemu/target/ppc/translate
Lucas Mateus Castro (alqotel) 611bc69bf6 target/ppc: Move V(ADD|SUB)CUW to decodetree and use gvec
This patch moves VADDCUW and VSUBCUW to decodtree with gvec using an
implementation based on the helper, with the main difference being
changing the -1 (aka all bits set to 1) result returned by cmp when
true to +1. It also implemented a .fni4 version of those instructions
and dropped the helper.

vaddcuw:
rept    loop    master             patch
8       12500   0,01008200         0,00612400 (-39.3%)
25      4000    0,01091500         0,00471600 (-56.8%)
100     1000    0,01332500         0,00593700 (-55.4%)
500     200     0,01998500         0,01275700 (-36.2%)
2500    40      0,04704300         0,04364300 (-7.2%)
8000    12      0,10748200         0,11241000 (+4.6%)

vsubcuw:
rept    loop    master             patch
8       12500   0,01226200         0,00571600 (-53.4%)
25      4000    0,01493500         0,00462100 (-69.1%)
100     1000    0,01522700         0,00455100 (-70.1%)
500     200     0,02384600         0,01133500 (-52.5%)
2500    40      0,04935200         0,03178100 (-35.6%)
8000    12      0,09039900         0,09440600 (+4.4%)

Overall there was a gain in performance, but the TCGop code was still
slightly bigger in the new version (it went from 4 to 5).

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-4-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: Move V(ADD|SUB)CUW to decodetree and use gvec 2022-10-28 13:15:22 -03:00
vmx-ops.c.inc target/ppc: Move V(ADD|SUB)CUW to decodetree and use gvec 2022-10-28 13:15:22 -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