On 2/22/22 04:36, matheus.fe...@eldorado.org.br wrote:
From: "Lucas Mateus Castro (alqotel)"<lucas.cas...@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.ara...@eldorado.org.br>
Signed-off-by: Matheus Ferst<matheus.fe...@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.hender...@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