From patchwork Thu Jun 3 08:22:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Gibson X-Patchwork-Id: 453230 Delivered-To: patch@linaro.org Received: by 2002:a02:c735:0:0:0:0:0 with SMTP id h21csp83631jao; Thu, 3 Jun 2021 01:40:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdnNEQNK0plhG+o0c2SGNeAzs7jxkO/X3AH69PwV9Gv/16U+hFKaMsjuIca87qYAuij/Zp X-Received: by 2002:a25:b70c:: with SMTP id t12mr54654789ybj.196.1622709617363; Thu, 03 Jun 2021 01:40:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622709617; cv=none; d=google.com; s=arc-20160816; b=w0nUam2qrwqlGzhRt0IyUXxcUHVGzQkV7RX0/+OLqoijmba5T9+zP4/i3ltNVmtoBE vsEDfVf7OUCirgEwQQr/Uq+Y/CRYWGalzFY20eG1D2gN4MlPBwWFVraXxh9L7pO2ervn s5KIQRieKTutFw8cV4qKaUkrZ8Cn2DyyZMEDPtrJvRWDfXaNByglqWZCNtT7QOrRg8tb 0NZz2o6mh51goA1cu2JhJ4c6X6jaETCRO0Ms3/XnheIIWhho7jtnwpmoiI+rvN6+4s6A VPq8kGK6bUjI9x6obbXSsOXRTZ+W9ILIVr1UlUxWnBQdpK7e8mPjWsFFhmolhG/c13GM 9kKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=cCHjNIglPeEqDtgh3P9uzRLxjmCluQe4kEPlFM/aXxM=; b=MjmglFUmKBLWwk4LzXrK5BBYTr7IVtZxLafu6EzxxvokFWTv9UFCG6ZUemDJPdmj5a WlbsjEJyCA+KEXN7YUjA51gKh056+omZpYSm8Uqq9TMFpq19iGx3eyf0N/++ninvpohH c3fQccK492BYWgTlDKfOLBsvocAKuo+sJm7nMgqj4sxO/EPBnQFsyOjkFCU6Hj0ou1rw vP28Ux2N8wy2ToSt8JtGWzWIg9bVFm2JjyDp6RPkUzHEzkw0zvHVaLYfJuOVHmzRGqRW 8vWrJX1ZsCYhlruBGaYxBngHQfTe9eXDm/RuNWEs7QSv3OI9MkWSI93OrG1q/h2gZ0r+ usSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gibson.dropbear.id.au header.s=201602 header.b=APYO1oQG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id f36si2501589ybj.187.2021.06.03.01.40.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 03 Jun 2021 01:40:17 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@gibson.dropbear.id.au header.s=201602 header.b=APYO1oQG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Received: from localhost ([::1]:47292 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1loitk-00060a-Mh for patch@linaro.org; Thu, 03 Jun 2021 04:40:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loidb-0007gi-OI; Thu, 03 Jun 2021 04:23:36 -0400 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:54637 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loidZ-0000YB-55; Thu, 03 Jun 2021 04:23:35 -0400 Received: by ozlabs.org (Postfix, from userid 1007) id 4Fwf5q5Pvsz9t2p; Thu, 3 Jun 2021 18:22:39 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1622708559; bh=ztbthMJY1sb70wNeuiduPWgqKUX4JcbHO+Ql/jratVs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=APYO1oQGgi38m3zvgmltf4v6dmbKPXvqwsXYGFHWQIgBQbepKiYynhJAqk5U37etm rln9LnQZCdxKyHqt46JtqI8LeU8CQgZK4ekaDR+V954kp0S/HrStqig2q8LLICoeT2 DL/dY8wp6FKD81QfEKOuCHf0OAcAmqb3IcgZn9Ko= From: David Gibson To: peter.maydell@linaro.org, groug@kaod.org Subject: [PULL 36/42] target/ppc: Implement prefixed integer store instructions Date: Thu, 3 Jun 2021 18:22:25 +1000 Message-Id: <20210603082231.601214-37-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210603082231.601214-1-david@gibson.dropbear.id.au> References: <20210603082231.601214-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Received-SPF: pass client-ip=2401:3900:2:1::2; envelope-from=dgibson@ozlabs.org; helo=ozlabs.org X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , David Gibson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Matheus Ferst Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Signed-off-by: Matheus Ferst Message-Id: <20210601193528.2533031-10-matheus.ferst@eldorado.org.br> Signed-off-by: David Gibson --- target/ppc/insn64.decode | 12 ++++++++++++ target/ppc/translate/fixedpoint-impl.c.inc | 4 ++++ 2 files changed, 16 insertions(+) -- 2.31.1 diff --git a/target/ppc/insn64.decode b/target/ppc/insn64.decode index 547bd1736f..72c5944a53 100644 --- a/target/ppc/insn64.decode +++ b/target/ppc/insn64.decode @@ -39,6 +39,18 @@ PLWA 000001 00 0--.-- .................. \ PLD 000001 00 0--.-- .................. \ 111001 ..... ..... ................ @PLS_D +### Fixed-Point Store Instructions + +PSTW 000001 10 0--.-- .................. \ + 100100 ..... ..... ................ @PLS_D +PSTB 000001 10 0--.-- .................. \ + 100110 ..... ..... ................ @PLS_D +PSTH 000001 10 0--.-- .................. \ + 101100 ..... ..... ................ @PLS_D + +PSTD 000001 00 0--.-- .................. \ + 111101 ..... ..... ................ @PLS_D + ### Fixed-Point Arithmetic Instructions PADDI 000001 10 0--.-- .................. \ diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/translate/fixedpoint-impl.c.inc index adeee33289..2d2d874146 100644 --- a/target/ppc/translate/fixedpoint-impl.c.inc +++ b/target/ppc/translate/fixedpoint-impl.c.inc @@ -142,24 +142,28 @@ TRANS(STB, do_ldst_D, false, true, MO_UB) TRANS(STBX, do_ldst_X, false, true, MO_UB) TRANS(STBU, do_ldst_D, true, true, MO_UB) TRANS(STBUX, do_ldst_X, true, true, MO_UB) +TRANS(PSTB, do_ldst_PLS_D, false, true, MO_UB) /* Store Halfword */ TRANS(STH, do_ldst_D, false, true, MO_UW) TRANS(STHX, do_ldst_X, false, true, MO_UW) TRANS(STHU, do_ldst_D, true, true, MO_UW) TRANS(STHUX, do_ldst_X, true, true, MO_UW) +TRANS(PSTH, do_ldst_PLS_D, false, true, MO_UW) /* Store Word */ TRANS(STW, do_ldst_D, false, true, MO_UL) TRANS(STWX, do_ldst_X, false, true, MO_UL) TRANS(STWU, do_ldst_D, true, true, MO_UL) TRANS(STWUX, do_ldst_X, true, true, MO_UL) +TRANS(PSTW, do_ldst_PLS_D, false, true, MO_UL) /* Store Doubleword */ TRANS64(STD, do_ldst_D, false, true, MO_Q) TRANS64(STDX, do_ldst_X, false, true, MO_Q) TRANS64(STDU, do_ldst_D, true, true, MO_Q) TRANS64(STDUX, do_ldst_X, true, true, MO_Q) +TRANS64(PSTD, do_ldst_PLS_D, false, true, MO_Q) /* * Fixed-Point Arithmetic Instructions