From nobody Fri May 17 07:56:00 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@quicinc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=quicinc.com); dmarc=pass(p=none dis=none) header.from=quicinc.com ARC-Seal: i=2; a=rsa-sha256; t=1587415415; cv=pass; d=zohomail.com; s=zohoarc; b=T+W3HVVpOYdElwpR1RLebzjBHnLXmWMK+zq7joVDtQBH5awqRzzdBssOAnH9vVAcYH4HN93CCd55m/LDdglAdkvimvonZ7L9q5IF5CJ8o6V9dUlUHsUD2wOD6adtV4uzBquYS9MBfJZgcOlJcUSgHOafJq5+ZXWQEVb11G4y5Eo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587415415; h=Content-Type:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=UwGGWQXDoLnyJdGGUOyVkZDshnh6G7lbMUfDmUMxiBs=; b=a9buGVFlSfu0HnxU1yPkRArd6pDL1kyuiQ8aFZ0tKrcjRD4ci3of5XMCeFWp50z/N2GXR+D/5g5OqzKtOsuJelRZYYiuGIvlERJs1RvwecrrCUC5KaHZDJKskoT4GMd/ytC13JyjwLlhuq0RfEHmd4CbHFFwbe34FuMsqrn7JUI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass header.i=@quicinc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=quicinc.com); dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587415415080147.68127491561427; Mon, 20 Apr 2020 13:43:35 -0700 (PDT) Received: from localhost ([::1]:42132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQdGP-00035j-9X for importer@patchew.org; Mon, 20 Apr 2020 16:43:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36172) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQdFM-0002Qq-Nz for qemu-devel@nongnu.org; Mon, 20 Apr 2020 16:42:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQdFK-0004Sp-Hk for qemu-devel@nongnu.org; Mon, 20 Apr 2020 16:42:27 -0400 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:46772) by eggs.gnu.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQdFJ-0004Ll-Sd; Mon, 20 Apr 2020 16:42:26 -0400 Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-02.qualcomm.com with ESMTP; 20 Apr 2020 13:42:23 -0700 Received: from nasanexm01b.na.qualcomm.com ([10.85.0.82]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 20 Apr 2020 13:42:23 -0700 Received: from apsanexr02b.ap.qualcomm.com (10.85.0.27) by NASANEXM01B.na.qualcomm.com (10.85.0.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 20 Apr 2020 13:42:23 -0700 Received: from nasanexm03a.na.qualcomm.com (10.85.0.103) by apsanexr02b.ap.qualcomm.com (10.85.0.27) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 20 Apr 2020 13:42:21 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (199.106.107.6) by nasanexm03a.na.qualcomm.com (10.85.0.103) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 20 Apr 2020 13:42:21 -0700 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) by MWHPR0201MB3610.namprd02.prod.outlook.com (2603:10b6:301:79::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.27; Mon, 20 Apr 2020 20:42:19 +0000 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com ([fe80::10ad:5df5:d575:1f37]) by MWHPR0201MB3547.namprd02.prod.outlook.com ([fe80::10ad:5df5:d575:1f37%3]) with mapi id 15.20.2921.030; Mon, 20 Apr 2020 20:42:19 +0000 Received: from DESKTOP-L2LA14H.localdomain (108.176.222.2) by CH2PR18CA0036.namprd18.prod.outlook.com (2603:10b6:610:55::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Mon, 20 Apr 2020 20:42:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1587415345; x=1618951345; h=from:to:cc:subject:date:message-id:mime-version; bh=5jBLtZSIIhzdghzkSOWu7MpEBszqIBnPXHjufCrd6vA=; b=ZvNFF2SIq4TL2jJwGacCw+1Gn7FjhX8/mIK/Duzgm9FgaG9WE9SFJJ8x OecI9HPJdcpJxNWwSS+TowPOOJLJQnFbwTqTg54tt/D3wf+CENKxTiYLl E9gwHv/EVQ9wuX+BOUBaUTf+oFFt5vU5p6u5A8vi67+Ed5kC5qjqKt6Ci w=; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k8AostJpQQA5o+FpS/wzXz1CNl4Ls9r5TyFU5bSGec7I0AtlExjLayzCneBUJqqXGvuWgrFtNh18dlHyIxTjY6tjhNQG3D00KtN8UttfDPFGPyAPPQ2vsCdmwUUF72DLTg0RsmUT1XbxHNAogKx1Pwq+F3uWCWAcvEEMhWriGnxVVEjfAfYay/l664/iGqCC3fAndge+GOXeSfO/IlyLJHuPm7Yfb8NXxcwzO+5FFH/bpn4T9vQGQCvVspbJcKFd/u6ZmrXcYUfhEhU+q1TX/rTU+qbUbxaqAgeHwWSGBjvyMgqOMKzVDXpI5AtRtclcl8hQ/uGe6xOYUj0ww2LfDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UwGGWQXDoLnyJdGGUOyVkZDshnh6G7lbMUfDmUMxiBs=; b=BZ1AUFeM7ct8+8DE+uQojyh3KgicmE8j/J268DxRgPeuoFvkQvxGpkB+IzaiEUESgQJKvy8kAGF6+KGmRxqklPrclN7OmX/qeU5EJW+Au1uVSpugfr3myNpPTBkz4Dqu2dYpXguxGyVaQIiU4WJHDDNqYjIQfmSQyhOcIzinWVOmaDuvE5cxqfc50pcG4ubLWPKwwUl/vUussfEt4TRuemdMs6hsxpfkpiuxlmX/tWzhZG+skkS38h5VeBVGXwU9BuWcfQVPxPq13cPR7KHVPn61qg5qIlgYyvmSux5CMOMSJSTMYDxxrUnIaIVCvXwfzSZNwMFiNspJCg7Z7ghJuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quicinc.com; dmarc=pass action=none header.from=quicinc.com; dkim=pass header.d=quicinc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.onmicrosoft.com; s=selector1-qualcomm-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UwGGWQXDoLnyJdGGUOyVkZDshnh6G7lbMUfDmUMxiBs=; b=MgQ523jqcpoaNKJbNXLYUaQYAas0m9N1WoabStHlsO1KV8p2W9nro48XNbpwV+UVYzX9QmDMtZe++nStEhk5uzy4iRqvzwKZJrOigelglJY8cxNVw3c/8PhZSf4NU9kyCsJhTgrjlojZ0HRKq7FYRnW07/ZpArI1+o5znwD4OFU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=steplong@quicinc.com; From: Stephen Long To: Subject: [PATCH] target/arm: Implement SVE2 scatter store insns Date: Mon, 20 Apr 2020 16:42:03 -0400 Message-ID: <20200420204203.13279-1-steplong@quicinc.com> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: CH2PR18CA0036.namprd18.prod.outlook.com (2603:10b6:610:55::16) To MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [108.176.222.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fc7dc372-3001-4fe9-f1a8-08d7e56b51f9 X-MS-TrafficTypeDiagnostic: MWHPR0201MB3610: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:91; X-Forefront-PRVS: 03793408BA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR0201MB3547.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(136003)(346002)(376002)(396003)(39860400002)(366004)(36756003)(2616005)(81156014)(8676002)(956004)(6512007)(6666004)(107886003)(8936002)(66556008)(66476007)(66946007)(2906002)(316002)(86362001)(6486002)(5660300002)(478600001)(4326008)(26005)(6506007)(52116002)(6916009)(16526019)(1076003)(186003); DIR:OUT; SFP:1102; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Hq0Zt4xt3RwOKOn2spPb8xSjJAFwp8hCTVci/u61NstQE8apV5oVuvOC+nc6OBFoy/w6kbEAwc5Kzy0ST5rwFkBBjZD/DoZN7XMEdUbAvQ5+sDx/OmAdZKYRtROH5VSAf0qJm/Z41NpSp07xorspELM6f9W0z6gqgwoEr5px74HcfNYVhahKtfX9L1QGpE/M20dfCjC8a99QcbAlyfpyaLFcD3Hk7tAvHNp+HOyqyBAzTdJaoJHWP/IR6Dut3uNGo+0YUgEbhrput5cFyHPGqKGV0tzAITgKrpHTet++QRWaRjwT8IPqnds26wJ85CpDm2xT19zOxQRZFHl6t8S8JNr/S/QPbrxn7FrJzpdZrj34P/Ao7BygDJ25975HKSyI8NFC2SKOUVHXoEZKd9jx5tqm4w2kZDbC22NYGoX1SS9+e1m3CFFayBxJtmSSWTxq X-MS-Exchange-AntiSpam-MessageData: G+rwWFLtm7mqSHS7ZBmUUGHH/IrCe1xJSo2ZBBCo9yQnMPWZrPWE59rCY2PTJpAIBIsfTgLXutcAKg1M8X+jo5fZjRgL2b07cDS2KkudJSlaGXKNcc9zhq17RoMLs+WKSH8+CGo+tE1mtDuIeCuErA== X-MS-Exchange-CrossTenant-Network-Message-Id: fc7dc372-3001-4fe9-f1a8-08d7e56b51f9 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2020 20:42:19.9448 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d5bwToUXjpubWgr8oLVCaOW0ap3Qrv6YiFqwCymRVttNoQMj8CUtnMCuoUMQjEvl5KjnLtCm0TS5QNhhqYxwAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3610 X-OriginatorOrg: quicinc.com Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=199.106.114.39; envelope-from=steplong@quicinc.com; helo=alexa-out-sd-02.qualcomm.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/20 16:42:23 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Received-From: 199.106.114.39 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: qemu-arm@nongnu.org, richard.henderson@linaro.org, apazos@quicinc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @qualcomm.onmicrosoft.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add decoding logic for SVE2 64-bit/32-bit scatter non-temporal store insns. 64-bit * STNT1B (vector plus scalar) * STNT1H (vector plus scalar) * STNT1W (vector plus scalar) * STNT1D (vector plus scalar) 32-bit * STNT1B (vector plus scalar) * STNT1H (vector plus scalar) * STNT1W (vector plus scalar) Signed-off-by: Stephen Long I'm not sure if this is the correct way to do this. --- target/arm/sve.decode | 10 ++++++++++ target/arm/translate-sve.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/target/arm/sve.decode b/target/arm/sve.decode index dd987da648..6d0b8144c3 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1387,3 +1387,13 @@ SQRDCMLAH_zzzz 01000100 esz:2 0 rm:5 0011 rot:2 rn:= 5 rd:5 ra=3D%reg_movprfx ### SVE2 floating point matrix multiply accumulate =20 FMMLA 01100100 .. 1 ..... 111001 ..... ..... @rda_rn_rm + +### SVE2 Memory Store Group + +# SVE2 64-bit scatter non-temporal store (vector plus scalar) +ST1_zprz_sve2 1110010 .. 00 ..... 001 ... ..... ..... \ + @rprr_scatter_store xs=3D2 esz=3D3 scale=3D0 + +# SVE2 32-bit scatter non-temporal store (vector plus scalar) +ST1_zprz_sve2 1110010 .. 10 ..... 001 ... ..... ..... \ + @rprr_scatter_store xs=3D0 esz=3D2 scale=3D0 diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 29532424c1..2919692dff 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -6038,6 +6038,34 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_= zpiz *a) return true; } =20 +static bool trans_ST1_zprz_sve2(DisasContext *s, arg_ST1_zprz_sve2 *a) +{ + gen_helper_gvec_mem_scatter *fn; + bool be =3D s->be_data =3D=3D MO_BE; + bool mte =3D s->mte_active[0]; + + if (!dc_isar_feature(aa64_sve2, s) || a->esz < a->msz + || (a->msz =3D=3D 0 && a->scale)) { + return false; + } + if (!sve_access_check(s)) { + return true; + } + switch (a->esz) { + case MO_32: + fn =3D scatter_store_fn32[mte][be][a->xs][a->msz]; + break; + case MO_64: + fn =3D scatter_store_fn64[mte][be][a->xs][a->msz]; + break; + default: + g_assert_not_reached(); + } + do_mem_zpz(s, a->rd, a->pg, a->rm, a->scale * a->msz, + cpu_reg_sp(s, a->rn), a->msz, true, fn); + return true; +} + /* * Prefetches */ --=20 2.17.1