qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 02/47] target/ppc: moved vector even and odd multiplicatio


From: Richard Henderson
Subject: Re: [PATCH v4 02/47] target/ppc: moved vector even and odd multiplication to decodetree
Date: Tue, 22 Feb 2022 08:19:39 -1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

On 2/22/22 04:36, matheus.ferst@eldorado.org.br wrote:
From: "Lucas Mateus Castro (alqotel)"<lucas.castro@eldorado.org.br>

Moved the instructions vmulesb, vmulosb, vmuleub, vmuloub,
vmulesh, vmulosh, vmuleuh, vmulouh, vmulesw, vmulosw,
muleuw and vmulouw from legacy to decodetree. Implemented
the instructions vmulesd, vmulosd, vmuleud, vmuloud.

Signed-off-by: Lucas Mateus Castro (alqotel)<lucas.araujo@eldorado.org.br>
Signed-off-by: Matheus Ferst<matheus.ferst@eldorado.org.br>
---
  target/ppc/helper.h                 | 28 +++++++++-------
  target/ppc/insn32.decode            | 22 ++++++++++++
  target/ppc/int_helper.c             | 36 ++++++++++++++------
  target/ppc/translate/vmx-impl.c.inc | 52 +++++++++++++++++++----------
  target/ppc/translate/vmx-ops.c.inc  | 15 ++-------
  tcg/ppc/tcg-target.c.inc            |  6 ++++
  6 files changed, 107 insertions(+), 52 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


+void helper_VMULESD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
+{
+    muls64(&r->VsrD(1), &r->VsrD(0), a->VsrSD(0), b->VsrSD(0));
+}
+void helper_VMULOSD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
+{
+    muls64(&r->VsrD(1), &r->VsrD(0), a->VsrSD(1), b->VsrSD(1));
+}
+void helper_VMULEUD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
+{
+    mulu64(&r->VsrD(1), &r->VsrD(0), a->VsrD(0), b->VsrD(0));
+}
+void helper_VMULOUD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
+{
+    mulu64(&r->VsrD(1), &r->VsrD(0), a->VsrD(1), b->VsrD(1));
+}

Did I mention before that these are trivially implemented inline?


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]