qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Tom Musta <tommusta@gmail.com>
To: qemu-ppc@nongnu.org
Cc: Tom Musta <tommusta@gmail.com>, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 04/13] Add lxvw4x
Date: Fri, 04 Oct 2013 08:16:09 -0500	[thread overview]
Message-ID: <524EBF99.3040407@gmail.com> (raw)
In-Reply-To: <524EBE04.8050207@gmail.com>

This patch adds the Load VSX Vector Word*4 Indexed (lxvw4x)
instruction.

Signed-off-by: Tom Musta <tommusta@gmail.com>
---
  target-ppc/translate.c |   31 +++++++++++++++++++++++++++++++
  1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index f25e699..465c991 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -7053,6 +7053,36 @@ static void gen_lxvdsx(DisasContext *ctx)
      tcg_temp_free(EA);
  }

+static void gen_lxvw4x(DisasContext *ctx)
+{
+    TCGv EA, tmp;
+    TCGv_i64 xth = cpu_vsrh(xT(ctx->opcode));
+    TCGv_i64 xtl = cpu_vsrl(xT(ctx->opcode));
+    if (unlikely(!ctx->vsx_enabled)) {
+        gen_exception(ctx, POWERPC_EXCP_VSXU);
+        return;
+    }
+    gen_set_access_type(ctx, ACCESS_INT);
+    EA = tcg_temp_new();
+    tmp = tcg_temp_new();
+    gen_addr_reg_index(ctx, EA);
+    gen_qemu_ld32u(ctx, xth, EA);
+    tcg_gen_shli_tl(xth, xth, 32);
+    tcg_gen_addi_tl(EA, EA, 4);
+    gen_qemu_ld32u(ctx, tmp, EA);
+    tcg_gen_or_tl(xth, xth, tmp);
+
+    tcg_gen_addi_tl(EA, EA, 4);
+    gen_qemu_ld32u(ctx, xtl, EA);
+    tcg_gen_shli_tl(xtl, xtl, 32);
+    tcg_gen_addi_tl(EA, EA, 4);
+    gen_qemu_ld32u(ctx, tmp, EA);
+    tcg_gen_or_tl(xtl, xtl, tmp);
+
+    tcg_temp_free(EA);
+    tcg_temp_free(tmp);
+}
+
  static void gen_stxvd2x(DisasContext *ctx)
  {
      TCGv EA;
@@ -9540,6 +9570,7 @@ GEN_VAFORM_PAIRED(vmaddfp, vnmsubfp, 23),
  GEN_HANDLER_E(lxsdx, 0x1F, 0x0C, 0x12, 0, PPC_NONE, PPC2_VSX),
  GEN_HANDLER_E(lxvd2x, 0x1F, 0x0C, 0x1A, 0, PPC_NONE, PPC2_VSX),
  GEN_HANDLER_E(lxvdsx, 0x1F, 0x0C, 0x0A, 0, PPC_NONE, PPC2_VSX),
+GEN_HANDLER_E(lxvw4x, 0x1F, 0x0C, 0x18, 0, PPC_NONE, PPC2_VSX),

  GEN_HANDLER_E(stxvd2x, 0x1F, 0xC, 0x1E, 0, PPC_NONE, PPC2_VSX),

-- 
1.7.1

  parent reply	other threads:[~2013-10-04 13:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-04 13:09 [Qemu-devel] [PATCH 00/13] Stage 2 VSX Support Tom Musta
2013-10-04 13:11 ` [Qemu-devel] [PATCH 01/13] Abandon GEN_VSX_* macros Tom Musta
2013-10-04 13:13 ` [Qemu-devel] [PATCH 02/13] Add lxsdx Tom Musta
2013-10-04 13:15 ` [Qemu-devel] [PATCH 03/13] Add lxvdsx Tom Musta
2013-10-04 13:16 ` Tom Musta [this message]
2013-10-09 19:54   ` [Qemu-devel] [PATCH 04/13] Add lxvw4x Richard Henderson
2013-10-04 13:17 ` [Qemu-devel] [PATCH 05/13] Add stxsdx Tom Musta
2013-10-04 13:18 ` [Qemu-devel] [PATCH 06/13] Add stxvw4x Tom Musta
2013-10-04 13:20 ` [Qemu-devel] [PATCH 07/13] Add VSX Scalar Move Instructions Tom Musta
2013-10-04 13:21 ` [Qemu-devel] [PATCH 08/13] Add VSX Vector " Tom Musta
2013-10-04 13:22 ` [Qemu-devel] [PATCH 09/13] Add Power7 VSX Logical Instructions Tom Musta
2013-10-04 13:23 ` [Qemu-devel] [PATCH 10/13] Add xxmrgh/xxmrgl Tom Musta
2013-10-09 20:09   ` Richard Henderson
2013-10-10 12:16     ` Tom Musta
2013-10-04 13:24 ` [Qemu-devel] [PATCH 11/13] Add xxsel Tom Musta
2013-10-09 20:13   ` Richard Henderson
2013-10-10 12:27     ` Tom Musta
2013-10-10 13:45       ` Richard Henderson
2013-10-04 13:26 ` [Qemu-devel] [PATCH 12/13] Add xxspltw Tom Musta
2013-10-09 20:19   ` Richard Henderson
2013-10-04 13:27 ` [Qemu-devel] [PATCH 13/13] Add xxsldwi Tom Musta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=524EBF99.3040407@gmail.com \
    --to=tommusta@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).