mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
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>
This commit is contained in:
parent
306e475335
commit
611bc69bf6
5 changed files with 60 additions and 26 deletions
|
@ -608,12 +608,14 @@ VRLQNM 000100 ..... ..... ..... 00101000101 @VX
|
|||
|
||||
## Vector Integer Arithmetic Instructions
|
||||
|
||||
VADDCUW 000100 ..... ..... ..... 00110000000 @VX
|
||||
VADDCUQ 000100 ..... ..... ..... 00101000000 @VX
|
||||
VADDUQM 000100 ..... ..... ..... 00100000000 @VX
|
||||
|
||||
VADDEUQM 000100 ..... ..... ..... ..... 111100 @VA
|
||||
VADDECUQ 000100 ..... ..... ..... ..... 111101 @VA
|
||||
|
||||
VSUBCUW 000100 ..... ..... ..... 10110000000 @VX
|
||||
VSUBCUQ 000100 ..... ..... ..... 10101000000 @VX
|
||||
VSUBUQM 000100 ..... ..... ..... 10100000000 @VX
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue