From nobody Wed Nov 19 08:44:04 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.208.54 as permitted sender) client-ip=209.85.208.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ed1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1615301893; cv=none; d=zohomail.com; s=zohoarc; b=fKZLjIljKVfT5a3cGyJGVDp+WvnGsOaAPSzOoWduOFpqKCPPAchUlw8WCzIDhDqNL0JFq67UabTA7fheVb0sntnF43/DMfB8fRxfKWIcvpIcSoLgcMSNPGa+ONXixPlPPLcvECM0UXnynTEiALZREPYVoHblcBW5jDsaMDlQU08= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615301893; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EFev0xpBsV5H5TKF4K6fxj2ixqQb9yQhNMoCl0p0/v8=; b=dbDXzdzdbiPe6qvRq0dN2Wfj3pfOP+2rNBSmSZClTz68mwRfIseesAMfkMjaqncS09sFQhrl2Qjp608UPPaol2LHPbnl61iefaLh1e61QMRDxQWUGkFnKWGEAPNeTloFuSVxPDXRsjbw7J5iYXW85y2BuU5fCyNJu1zmoRpIH+A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by mx.zohomail.com with SMTPS id 16153018938841011.0788751573217; Tue, 9 Mar 2021 06:58:13 -0800 (PST) Received: by mail-ed1-f54.google.com with SMTP id bd6so20664627edb.10 for ; Tue, 09 Mar 2021 06:58:13 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id i10sm8423791ejv.106.2021.03.09.06.58.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 06:58:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EFev0xpBsV5H5TKF4K6fxj2ixqQb9yQhNMoCl0p0/v8=; b=I681143VIsStlXfYkV9JPISQ4nRaqietwcD8V5lpA+aFcUQguaKpe2zYphjy/yVGme PHYkWMJ+i+T5EGfslpz9wQBCKNFnfCDMqoDGe7ZZuke/GELJzp7XEOXEUPBJTkS5Y+d9 cSIPXsc7RprBOdJu0FA1EnAWkscq+OA5BbceYOHJhkb9w1D6/or5rNUBcKzzj4RcLtcx fUCJkw9iuu1i6MllR6tPe4AWkJwe4Ln0M4Rqx05DL5foGyKexSodbBII7SAM7sJO9yZW DcwUZY2UCRWz3yN+TADU/ZOQooRBbsrK24/kD9BbTlETCLfZe6T1q9oF5WFjRRfc/UVS Y0fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=EFev0xpBsV5H5TKF4K6fxj2ixqQb9yQhNMoCl0p0/v8=; b=HoHqzgA3tMF+X2GZ913HchrJr4nliwLLJPYc1VHi+MZegsexZWpO1PqQTuUMu/GSXW 8FfoEnF55XuCw1w5TS6leYbhtLEO+GZYdh92IWGnV3BBNSL4kJDAP1pbe81T1tTg5n5y 2FMAkduWDVGlUssJVflBUR1ADO1JdrZE714GHlnjXGM5aVnQo6kO0U0L5Yxd05+4D3+z V1YX3DilV0gIXd3nP0IaAY9CunPTBm02cHHXP+GPiV4HzB61SwHsSCGmENX4abqDbze9 4AeBVSDp2cLCd61In7lJdIgTT4l27BAfr+nPTxHtZjMw7GfBe9QtIH95aVcreCGzGTUU 7fpg== X-Gm-Message-State: AOAM530WRlpJTb7tkbb6h0YaEzAQ9b5lUt8Z2JC39/N+uLGHCxwt/k+2 CqDT9y7MojhDZn+v3dX0eC0= X-Google-Smtp-Source: ABdhPJx9Hb4Ys6P1Iqys9ELgg8PQn8E51C716rG5BZ25UFdVvjqxHUsZy4mkXH0Ml2ya9aCJuN8bmw== X-Received: by 2002:a05:6402:2076:: with SMTP id bd22mr4501726edb.378.1615301892093; Tue, 09 Mar 2021 06:58:12 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Aleksandar Rikalo , Jiaxun Yang , Aurelien Jarno , Fredrik Noring , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [RFC PATCH v2 15/22] target/mips/tx79: Introduce PPACW opcode (Parallel Pack to Word) Date: Tue, 9 Mar 2021 15:56:46 +0100 Message-Id: <20210309145653.743937-16-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210309145653.743937-1-f4bug@amsat.org> References: <20210309145653.743937-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the PPACW opcode (Parallel Pack to Word). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210214175912.732946-22-f4bug@amsat.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 1 + target/mips/tx79_translate.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 63fbe9694bb..653910371d2 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -38,6 +38,7 @@ PCGTH 011100 ..... ..... ..... 00110 001000 @= rs_rt_rd PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd PCGTB 011100 ..... ..... ..... 01010 001000 @rs_rt_rd PEXTLW 011100 ..... ..... ..... 10010 001000 @rs_rt_rd +PPACW 011100 ..... ..... ..... 10011 001000 @rs_rt_rd PEXTLH 011100 ..... ..... ..... 10110 001000 @rs_rt_rd PEXTLB 011100 ..... ..... ..... 11010 001000 @rs_rt_rd =20 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index f0e3d8c0b66..90c33d26a9f 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -374,6 +374,36 @@ static bool trans_PCEQW(DisasContext *ctx, arg_rtype *= a) * PEXTLW rd, rs, rt Parallel Extend Lower from Word */ =20 +/* Parallel Pack to Word */ +static bool trans_PPACW(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 a0, b0, t0; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + a0 =3D tcg_temp_new_i64(); + b0 =3D tcg_temp_new_i64(); + t0 =3D tcg_temp_new_i64(); + + gen_load_gpr(a0, a->rs); + gen_load_gpr(b0, a->rt); + + gen_load_gpr_hi(t0, a->rt); /* b1 */ + tcg_gen_deposit_i64(cpu_gpr[a->rd], b0, t0, 32, 32); + + gen_load_gpr_hi(t0, a->rs); /* a1 */ + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], a0, t0, 32, 32); + + tcg_temp_free(t0); + tcg_temp_free(b0); + tcg_temp_free(a0); + + return true; +} + static void gen_pextw(TCGv_i64 dl, TCGv_i64 dh, TCGv_i64 a, TCGv_i64 b) { tcg_gen_deposit_i64(dl, b, a, 32, 32); --=20 2.26.2