From nobody Fri May 17 09:01:39 2024 Delivered-To: importer@patchew.org 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; 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=1587140682; cv=pass; d=zohomail.com; s=zohoarc; b=HJqajYNKIPo6VWrAImTWEyCHVR98lss2BLlX5pYK3bOvmtaMdoiRNVjMy1apJxRq8mdk7oPdArSb+aTtRRj7xxCrN2bsGcfKGl1uzsjAZjb6GdydATYAKsz/TNngb5ebUSMmbJLRaaTZtjadApjGL1WCXhs1HyN7U4BF5CRSYZI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587140682; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8lebn2h77f1WG5tY6olTfi/TbDNxf0oln09ELIOCl4w=; b=bS3ga+mrkUziJmi9MSbIrKKcucbaoh2KkN4UXNvHRs528KTe6Lm3oNwdiExd16yEVmj7NOKL6ZP61ZBTBbrg3p1qy8U/maUSg0/ZdaMBjIAyVkTNKPTEcdVjFPI6IGFciAedMEZHSWGG3eyztxA8dqKzUbpWo1il7UZE+llwlZI= 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 1587140682164265.91694131751933; Fri, 17 Apr 2020 09:24:42 -0700 (PDT) Received: from localhost ([::1]:49452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTnD-0003YQ-Ce for importer@patchew.org; Fri, 17 Apr 2020 12:24:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37164) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTlc-00023v-1f for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPTla-0007hj-5w for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:22:59 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:65335) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jPTlZ-0007gr-Sv; Fri, 17 Apr 2020 12:22:58 -0400 Received: from unknown (HELO ironmsg05-sd.qualcomm.com) ([10.53.140.145]) by alexa-out-sd-01.qualcomm.com with ESMTP; 17 Apr 2020 09:22:55 -0700 Received: from nasanexm03f.na.qualcomm.com ([10.85.0.47]) by ironmsg05-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 17 Apr 2020 09:22:55 -0700 Received: from APSANEXR01F.ap.qualcomm.com (10.85.0.39) by nasanexm03f.na.qualcomm.com (10.85.0.47) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:54 -0700 Received: from nasanexm03b.na.qualcomm.com (10.85.0.98) by APSANEXR01F.ap.qualcomm.com (10.85.0.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:51 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (199.106.107.6) by nasanexm03b.na.qualcomm.com (10.85.0.98) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 17 Apr 2020 09:22:51 -0700 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) by MWHPR0201MB3484.namprd02.prod.outlook.com (2603:10b6:301:77::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Fri, 17 Apr 2020 16:22:48 +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.2900.030; Fri, 17 Apr 2020 16:22:48 +0000 Received: from DESKTOP-L2LA14H.localdomain (108.176.222.2) by CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Fri, 17 Apr 2020 16:22:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1587140577; x=1618676577; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=In/sUItQxKfs+UcnkF80DxAYvHJRSh5bMyQ1Ffm4UqU=; b=NIfEPfKYxeOrprpQWEcW20Vt5Tk7rArI418ZxR016r3QAS3ucqSHsF3N 0z1ejU59+cTOobeeBlawztXYmrQkbpEtXCsaOUNI7zU/IO7hA2GjDz+Os ejjNUpM0mkCb/P+XuUDDivMci0MvlCQsxRCnhVosFI/K0sKHa6yunPB1e A=; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EboE1FPJvID7BBjGz7HVQXILJ3ydwzK7EVDegwupPQb42M2/ATiREN3rxYEbj3LtVwaRGSNuWmUUgyiTGJdTaHevjHB2c3n7G7goTy9WkhWMSPruzp25Zo+XqmS3eSgN3fsyBUeK3AabcMazJ+L5QCwidcTrzJAotC4d8ZlzcHmCfit4qlJiK0xl2TQXvLpcQKcQi5u6fSLIEezfiMk0qgZ298KaTQMXIC13Ku/luiC9IhhiE8KZdsJ2DKro86wAIrY6s+5Q8Y8AyPr0TOPgBUIWUOUcexv6s6ilgoA848DlH/ZUsA3V4BfWlMFY5uECvs+VCykJlPjIFZiewW+1hg== 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=8lebn2h77f1WG5tY6olTfi/TbDNxf0oln09ELIOCl4w=; b=hyTWcagY7SjxcqUOjkWzusw5U0HN0sfbxWuTjWqQDK2EfBH6k9KR8yaTnbMp/pRpIzMcJmcpYV947vsLsxcP4OC6cuhXoIelp0lL/YWw697DzQW5DlyGAG6IxQHBEN54xy++LIXHigRr0NR0JNfCCyOsvgmvFVj9AxlxvRBeQN0ChoP0QkzEPJxX31dprm3ZDezvdlm10RpFfW+t1bXW/0PnIBZCYvR5vOQ+CynaLSfGO4LZp92Se1sSucd9ALaGMZWnvyRe2dIdRNzcJjSGrC/9ajR2tsSVrwbwubNVs0/TJLv5kwZ7PivX0r1doy8OZlrEt5+dy5l5mC+IpUceew== 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=8lebn2h77f1WG5tY6olTfi/TbDNxf0oln09ELIOCl4w=; b=o0E/JVeFkH9BOHQtpEAL0OE3o1Y61rTYW5hK1d4p+6Equn6r0VMs+HN3P5ph0BInjtp14Mm1bqrYmwFjkRLQtOJokaCRENfzTu1eDjGspEcLaVnZ+fYWNXg9u1hB2h9qytB3zEjl7700ebpMgpf3H7bEWCxVz6vsHYSxNA1lCdY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=steplong@quicinc.com; From: Stephen Long To: Subject: [PATCH 1/4] target/arm: Implement SVE2 ADDHNB, ADDHNT Date: Fri, 17 Apr 2020 12:22:28 -0400 Message-ID: <20200417162231.10374-2-steplong@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200417162231.10374-1-steplong@quicinc.com> References: <20200417162231.10374-1-steplong@quicinc.com> X-ClientProxiedBy: CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) 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: 80f117e1-a1d6-4817-9e73-08d7e2eb913f X-MS-TrafficTypeDiagnostic: MWHPR0201MB3484: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:23; X-Forefront-PRVS: 0376ECF4DD 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)(396003)(376002)(136003)(39860400002)(366004)(346002)(5660300002)(107886003)(4326008)(66946007)(66476007)(66556008)(6916009)(6486002)(478600001)(6512007)(6666004)(2906002)(36756003)(186003)(16526019)(86362001)(956004)(1076003)(2616005)(316002)(8676002)(26005)(6506007)(52116002)(81156014)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3VD3kXcjKJreUKLLFPUOuav2PEMvA7xKN7aG44vt+CxYOF/H33QTaQWy6fj0w/zz0ylUJORqhqGMCW/DjKzuVjN5yD2+54SsL1touKfrVL8JmmWBO1BX0LWq03cdMOuChMCjjty9KwFmoY0O63OA7Ox9zF+DjKkH30sia865E0VaTLQzbYYsQEItIKQLRnHFL9c9q9hmlIoQx5gh7pc2ZT+QMJh0vfD6d+96DndtskA3ptjEqjiZgEQigOn/BOyPf3PZtmDkwVFDRVtXglqNqqNuG4LNYLh4wbhHqM4Bocw4DN+Tx4LLTMlyLUrRUKiw1v1wa4pkVqm7VLSi2/cZm8wUrdZg5Yr+Af2wlUilRumhSuSbbfG39sSvTYjiwVHu7K41KQ8KwTytvk17imXpNrxuK8sinAwIjl/fdJXgYEJPTvKv/ZlFBKkHXF5WoCYH X-MS-Exchange-AntiSpam-MessageData: J7enQA7GHVOxueSqTQVH5XutW3r7Nju3fbwTY363wFWOXQJ3TSnG6fI58qirLbDgLXMLzX6gaWXOFlA32iHYWxhOfdY69avWvpBnHOnEfwC28/Unt3oKcjYe0CW9Ke2halSLw/oreZuLQUQgFmO0+g== X-MS-Exchange-CrossTenant-Network-Message-Id: 80f117e1-a1d6-4817-9e73-08d7e2eb913f X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2020 16:22:48.1050 (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: RUwrnHeb1c603qLHuzrI1R0mDaOtQLXvxyVc+/T6U0GyGnpSw8hHPG2wkV10bYIq/9Ewen0Ok4ylZ/34aJizgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3484 X-OriginatorOrg: quicinc.com X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.38 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" Signed-off-by: Stephen Long --- target/arm/helper-sve.h | 8 ++++++++ target/arm/sve.decode | 5 +++++ target/arm/sve_helper.c | 36 ++++++++++++++++++++++++++++++++++++ target/arm/translate-sve.c | 13 +++++++++++++ 4 files changed, 62 insertions(+) diff --git a/target/arm/helper-sve.h b/target/arm/helper-sve.h index 958ad623f6..5b8a8b0656 100644 --- a/target/arm/helper-sve.h +++ b/target/arm/helper-sve.h @@ -2516,6 +2516,14 @@ DEF_HELPER_FLAGS_3(sve2_uqrshrnt_h, TCG_CALL_NO_RWG,= void, ptr, ptr, i32) DEF_HELPER_FLAGS_3(sve2_uqrshrnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32) DEF_HELPER_FLAGS_3(sve2_uqrshrnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32) =20 +DEF_HELPER_FLAGS_4(sve2_addhnb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_addhnb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_addhnb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) + +DEF_HELPER_FLAGS_4(sve2_addhnt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_addhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_addhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) + DEF_HELPER_FLAGS_5(sve2_match_ppzz_b, TCG_CALL_NO_RWG, i32, ptr, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_5(sve2_match_ppzz_h, TCG_CALL_NO_RWG, diff --git a/target/arm/sve.decode b/target/arm/sve.decode index 9dd20eb6ec..e6a12f4e66 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1321,6 +1321,11 @@ UQSHRNT 01000101 .. 1 ..... 00 1101 ..... ..= ... @rd_rn_tszimm_shr UQRSHRNB 01000101 .. 1 ..... 00 1110 ..... ..... @rd_rn_tszimm_shr UQRSHRNT 01000101 .. 1 ..... 00 1111 ..... ..... @rd_rn_tszimm_shr =20 +## SVE2 integer add/subtract narrow high part + +ADDHNB 01000101 .. 1 ..... 011 000 ..... ..... @rd_rn_rm +ADDHNT 01000101 .. 1 ..... 011 001 ..... ..... @rd_rn_rm + ### SVE2 Character Match =20 MATCH 01000101 .. 1 ..... 100 ... ..... 0 .... @pd_pg_rn_rm diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 65857e27b4..743240aa80 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2025,6 +2025,42 @@ DO_SHRNT(sve2_uqrshrnt_d, uint64_t, uint32_t, , = H1_4, DO_UQRSHRN_D) #undef DO_SHRNB #undef DO_SHRNT =20 +#define DO_BINOPNB(NAME, TYPEW, TYPEN, SHIFT, OP) = \ +void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) = \ +{ = \ + intptr_t i, opr_sz =3D simd_oprsz(desc); = \ + for (i =3D 0; i < opr_sz; i +=3D sizeof(TYPEW)) { = \ + TYPEW nn =3D *(TYPEW *)(vn + i); = \ + TYPEW mm =3D *(TYPEW *)(vm + i); = \ + *(TYPEW *)(vd + i) =3D (TYPEN)OP(nn, mm, SHIFT); = \ + } = \ +} + +#define DO_BINOPNT(NAME, TYPEW, TYPEN, SHIFT, HW, HN, OP) = \ +void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) = \ +{ = \ + intptr_t i, opr_sz =3D simd_oprsz(desc); = \ + for (i =3D 0; i < opr_sz; i +=3D sizeof(TYPEW)) { = \ + TYPEW nn =3D *(TYPEW *)(vn + HW(i)); = \ + TYPEW mm =3D *(TYPEW *)(vm + HW(i)); = \ + *(TYPEN *)(vd + HN(i + sizeof(TYPEN))) =3D OP(nn, mm, SHIFT); = \ + } = \ +} + +#define DO_ADDHN(N, M, SH) ((N + M) >> SH) + +DO_BINOPNB(sve2_addhnb_h, uint16_t, uint8_t, 8, DO_ADDHN) +DO_BINOPNB(sve2_addhnb_s, uint32_t, uint16_t, 16, DO_ADDHN) +DO_BINOPNB(sve2_addhnb_d, uint64_t, uint32_t, 32, DO_ADDHN) + +DO_BINOPNT(sve2_addhnt_h, uint16_t, uint8_t, 8, H1_2, H1, DO_ADDHN) +DO_BINOPNT(sve2_addhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_ADDHN) +DO_BINOPNT(sve2_addhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_ADDHN) + +#undef DO_ADDHN + +#undef DO_BINOPNB + /* Fully general four-operand expander, controlled by a predicate. */ #define DO_ZPZZZ(NAME, TYPE, H, OP) \ diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 6c237343ef..0d1a9cd8a5 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -7504,6 +7504,19 @@ static bool trans_UQRSHRNT(DisasContext *s, arg_rri_= esz *a) return do_sve2_shr_narrow(s, a, ops); } =20 +#define DO_SVE2_ZZZ_NARROW(NAME, name) \ +static bool trans_##NAME(DisasContext *s, arg_rrr_esz *a) \ +{ \ + static gen_helper_gvec_3 * const fns[4] =3D { = \ + NULL, gen_helper_sve2_##name##_h, \ + gen_helper_sve2_##name##_s, gen_helper_sve2_##name##_d, \ + }; \ + return do_sve2_zzz_ool(s, a, fns[a->esz]); \ +} + +DO_SVE2_ZZZ_NARROW(ADDHNB, addhnb) +DO_SVE2_ZZZ_NARROW(ADDHNT, addhnt) + static bool do_sve2_ppzz_flags(DisasContext *s, arg_rprr_esz *a, gen_helper_gvec_flags_4 *fn) { --=20 2.17.1 From nobody Fri May 17 09:01:39 2024 Delivered-To: importer@patchew.org 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; 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=1587140683; cv=pass; d=zohomail.com; s=zohoarc; b=EZ8jqyp2vWQ7VKhLFf73C5ktCpXhyWeRuv79Y4LMXNSchSVUYm1Q8E+04Mk6fxPHiPfcEjcbP6XWWadIKSlE+qYRPY9eornrJfjv8oWBm/tgaaZos/SE1w0I7GOG1F2ZXzXOZJoXRRAUbRU+VwirZwipLudCzQLdbaGz1M0qfJE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587140683; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=P20yB/cy6Iy4pVkHiEfdQFWDkNpzjYa5Rcd0mNGaP4Q=; b=f0QuLiUG2+Yr+/hpfawx+BkoXz0uKJ8pX2Q7lQuxTSJu5h4MGNKSaPFQVzuninonGVntwzH+Q1d2O8FMczfvLJN1eGJBlfQ/dmbUPpOI607WjdVMfPzs5hSriQLySpdyJlm+LKM9ulvoc5xeMX3slkbI/pPuzkWZc3ErzZX7t9c= 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 1587140683922541.8625616724413; Fri, 17 Apr 2020 09:24:43 -0700 (PDT) Received: from localhost ([::1]:49456 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTnG-0003gh-Cs for importer@patchew.org; Fri, 17 Apr 2020 12:24:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37179) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTld-00024H-RZ for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPTlb-0007iO-WD for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:01 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:65335) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jPTla-0007gr-Fp; Fri, 17 Apr 2020 12:22:58 -0400 Received: from unknown (HELO ironmsg01-sd.qualcomm.com) ([10.53.140.141]) by alexa-out-sd-01.qualcomm.com with ESMTP; 17 Apr 2020 09:22:57 -0700 Received: from nasanexm01h.na.qualcomm.com ([10.85.0.34]) by ironmsg01-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 17 Apr 2020 09:22:57 -0700 Received: from apsanexr02f.ap.qualcomm.com (10.85.0.29) by NASANEXM01H.na.qualcomm.com (10.85.0.34) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:56 -0700 Received: from nasanexm03b.na.qualcomm.com (10.85.0.98) by apsanexr02f.ap.qualcomm.com (10.85.0.29) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:55 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (199.106.107.6) by nasanexm03b.na.qualcomm.com (10.85.0.98) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 17 Apr 2020 09:22:54 -0700 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) by MWHPR0201MB3484.namprd02.prod.outlook.com (2603:10b6:301:77::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Fri, 17 Apr 2020 16:22:49 +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.2900.030; Fri, 17 Apr 2020 16:22:49 +0000 Received: from DESKTOP-L2LA14H.localdomain (108.176.222.2) by CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Fri, 17 Apr 2020 16:22:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1587140578; x=1618676578; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=G6IZrIG+GaV2o21HswiIwVBpmtJCeR/c3OMbR/NiLp0=; b=vMMPLqJPSxK+hK/nGCia/6+Sbrq67OSWVlXXdGWSeIP/hy9Qr+ziiXYJ TplpZKi0Ahkiy4W3qBYDBeEYaG5g+MJwLccGdyeFXwCoLJ1TP2IXFRUD/ uWbA9e6z2DQEI6D5EPses+OHa6KP6n5zPhcvHlhej1N/jS4qmC2sOERFC 8=; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FFUxdlqZF09UdM+fHEl4bB3PzsssPj4r2/PyaNbTF37ULpUk/+EFRadBgbxiAJnq6CGY9i0jBRkn+3xzsOvgH1fRgCzQBH2sSwjw/+1xxTV1hHjsYs/VVluLKmF/0xQgnQE+AmdES2ezEOLl2OXvBJff88ri0l6lckc3af3RR3TnMpNgErRcJ19KPeN8ecMsL9dvQy7s5bVWVEpJpDkp0oAOQrbusucxLGz+S3TCPBISEEwoJQ3MRk9TZnQP0JYJNpoG+hpI/DvKg9Kzk0dp3M7h4uyOzvrJTBMjPWtgUhpQczPPgxvzejRD0PsaDbMfkkD10/9DATZJfM34ChhMDg== 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=P20yB/cy6Iy4pVkHiEfdQFWDkNpzjYa5Rcd0mNGaP4Q=; b=F7BXbaAtntQnvk8ddB1MDTTHEmWsxrou/ZOTIuL7StLaKjLO+9mfOVsPezXAzmk/gykozYFb8emcCnPr1+3W8uGH5Kv80toHhhg051/fNaUiXemtB2TpwzKdjTjw5XfH1kBFWvfi9tLd6vnfJGvBNecz/51VINpM/xeSSfroPwMtZx0iNPWfPPAsenCWD8ngdFUbaV9OVh6pHyPLLhji+D/TlZAl+c7AhZbf/e5NvIZxeM3R2l8Ce58vjv5bu6v6RzTia0F6moK5jxSfQPM7iR8ARD2+BCzcOmLmXwDUC2XOGShJ8WBqZKmO8lw0RppJbjFvy18Y7J9l2Su/3/yxqA== 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=P20yB/cy6Iy4pVkHiEfdQFWDkNpzjYa5Rcd0mNGaP4Q=; b=NGfTCtW6kpp/c0SHcNe0zEy3yy0Ous2CP45hyiwG2NRKtHYFmAxH+BZPNhFAoYkAADnz2lLE7nEKVdPiKPdqMBumEkMLaLZycFC8GxvFzfxXrXbHnGVYDWLOMMg8pn9Gnrbs4/lMVW/LkkJ2J329N6J8amrcbs5QBSliVaUnTjs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=steplong@quicinc.com; From: Stephen Long To: Subject: [PATCH 2/4] target/arm: Implement SVE2 RADDHNB, RADDHNT Date: Fri, 17 Apr 2020 12:22:29 -0400 Message-ID: <20200417162231.10374-3-steplong@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200417162231.10374-1-steplong@quicinc.com> References: <20200417162231.10374-1-steplong@quicinc.com> X-ClientProxiedBy: CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) 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: d821d4c6-03d3-424d-3ca4-08d7e2eb91dc X-MS-TrafficTypeDiagnostic: MWHPR0201MB3484: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:65; X-Forefront-PRVS: 0376ECF4DD 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)(396003)(376002)(136003)(39860400002)(366004)(346002)(5660300002)(107886003)(4326008)(66946007)(66476007)(66556008)(6916009)(6486002)(478600001)(6512007)(6666004)(2906002)(36756003)(186003)(16526019)(86362001)(956004)(1076003)(2616005)(316002)(8676002)(26005)(6506007)(52116002)(81156014)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zm61WIMyu5b84gL6qUkxREqU/st7YxFIMWi6l/BOZ4k7zI1nh1thuGu1RWuPPhSpJgIwXcNx9+SQtHy5zenX0s7FxczCM3miFE91NLeTD2ya88qpK+mePCpP48UQwkd37PeQDxA/Mzp56FfwXuTH5xr0+jeERtuUkoTLhLZXOG9+fKm16drUrfRiseHKLKySS0gfrXhAHCqYLkkHnrrKfwWqCqS2yvWQlHsg6wKAR85xegcCMvEeNq+SWJ/NRAyPejAGYksEa7LSYhQgNkuN80g51E+uEGpyMJOmuKZJFi+ifKfq39NVUgipPMaqhB0okHA/Z70Mpw8PM8kVKxqnYSO3Ij07sSsa9KNVuhAnmcDqtO8To7Wi4gpoWYeC2Wq30OGVE7pVHYkIPp0mTis13cTeZTV2ZjEeSdINSU62msTikflxbTEZ9RXvJymBT2LU X-MS-Exchange-AntiSpam-MessageData: bKNqtFphTnEb0ttBZCoJOzx2Ts+FT8fFLgsG1I7ViX5BvUt5QkloFz0d225lgBdJ6DzBjR6xfcHmUnWYi4e3Avlv92DZimSud6MiNHhPTDH0PnM2CN63+gfW6OuhRTSeuOEZKb61Ln/SDGJoTAC26w== X-MS-Exchange-CrossTenant-Network-Message-Id: d821d4c6-03d3-424d-3ca4-08d7e2eb91dc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2020 16:22:49.1284 (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: O9Fn2eqtt01w7w+DjKFaTWkbXiducufm2r331BN/ed44Wlleju8h9z4Sk02wZGn8ZD6WpSJ8nAaGU5rqlIrYjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3484 X-OriginatorOrg: quicinc.com X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.38 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" Signed-off-by: Stephen Long --- target/arm/helper-sve.h | 8 ++++++++ target/arm/sve.decode | 2 ++ target/arm/sve_helper.c | 10 ++++++++++ target/arm/translate-sve.c | 2 ++ 4 files changed, 22 insertions(+) diff --git a/target/arm/helper-sve.h b/target/arm/helper-sve.h index 5b8a8b0656..5d5542a82a 100644 --- a/target/arm/helper-sve.h +++ b/target/arm/helper-sve.h @@ -2524,6 +2524,14 @@ DEF_HELPER_FLAGS_4(sve2_addhnt_h, TCG_CALL_NO_RWG, v= oid, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_4(sve2_addhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) DEF_HELPER_FLAGS_4(sve2_addhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) =20 +DEF_HELPER_FLAGS_4(sve2_raddhnb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_raddhnb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_raddhnb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) + +DEF_HELPER_FLAGS_4(sve2_raddhnt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_raddhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_raddhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) + DEF_HELPER_FLAGS_5(sve2_match_ppzz_b, TCG_CALL_NO_RWG, i32, ptr, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_5(sve2_match_ppzz_h, TCG_CALL_NO_RWG, diff --git a/target/arm/sve.decode b/target/arm/sve.decode index e6a12f4e66..9d82677808 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1325,6 +1325,8 @@ UQRSHRNT 01000101 .. 1 ..... 00 1111 ..... ...= .. @rd_rn_tszimm_shr =20 ADDHNB 01000101 .. 1 ..... 011 000 ..... ..... @rd_rn_rm ADDHNT 01000101 .. 1 ..... 011 001 ..... ..... @rd_rn_rm +RADDHNB 01000101 .. 1 ..... 011 010 ..... ..... @rd_rn_rm +RADDHNT 01000101 .. 1 ..... 011 011 ..... ..... @rd_rn_rm =20 ### SVE2 Character Match =20 diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 743240aa80..f92b8dd312 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2048,6 +2048,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, uint3= 2_t desc) \ } =20 #define DO_ADDHN(N, M, SH) ((N + M) >> SH) +#define DO_RADDHN(N, M, SH) ((N + M + (1 << (SH - 1))) >> SH) =20 DO_BINOPNB(sve2_addhnb_h, uint16_t, uint8_t, 8, DO_ADDHN) DO_BINOPNB(sve2_addhnb_s, uint32_t, uint16_t, 16, DO_ADDHN) @@ -2057,6 +2058,15 @@ DO_BINOPNT(sve2_addhnt_h, uint16_t, uint8_t, 8, H1_2= , H1, DO_ADDHN) DO_BINOPNT(sve2_addhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_ADDHN) DO_BINOPNT(sve2_addhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_ADDHN) =20 +DO_BINOPNB(sve2_raddhnb_h, uint16_t, uint8_t, 8, DO_RADDHN) +DO_BINOPNB(sve2_raddhnb_s, uint32_t, uint16_t, 16, DO_RADDHN) +DO_BINOPNB(sve2_raddhnb_d, uint64_t, uint32_t, 32, DO_RADDHN) + +DO_BINOPNT(sve2_raddhnt_h, uint16_t, uint8_t, 8, H1_2, H1, DO_RADDHN) +DO_BINOPNT(sve2_raddhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_RADDHN) +DO_BINOPNT(sve2_raddhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_RADDHN) + +#undef DO_RADDHN #undef DO_ADDHN =20 #undef DO_BINOPNB diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 0d1a9cd8a5..a36eb9cf98 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -7516,6 +7516,8 @@ static bool trans_##NAME(DisasContext *s, arg_rrr_esz= *a) \ =20 DO_SVE2_ZZZ_NARROW(ADDHNB, addhnb) DO_SVE2_ZZZ_NARROW(ADDHNT, addhnt) +DO_SVE2_ZZZ_NARROW(RADDHNB, raddhnb) +DO_SVE2_ZZZ_NARROW(RADDHNT, raddhnt) =20 static bool do_sve2_ppzz_flags(DisasContext *s, arg_rprr_esz *a, gen_helper_gvec_flags_4 *fn) --=20 2.17.1 From nobody Fri May 17 09:01:39 2024 Delivered-To: importer@patchew.org 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; 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=1587140788; cv=pass; d=zohomail.com; s=zohoarc; b=TMlk2H4kAbTCKQuR8QMik70w8lSCNOJXXKtmcL0v3EK2lqHV+fh022XU1h2/x+xNh6bLa95YPenB2tGT5hPiARO3nR2HFINBVTaFzIUEDeGopflXAaQBfcfXETKQWajzCA9saLrp5O8bqmCRGOpPXbuFY+SLukQpE82r3Nv7XM0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587140788; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ao3bZOml2Kn2adA3FKMzT3BjUtNa7t17LDEtBuCGiZU=; b=lj62FIQrTV/Aq3x/bbEHulsPlfMYpVxQhtKo6PVwWjXAeho9WKifJK+sIj0OmgqGx4Kw4MyvsNPPtTaU4fYMTv3PriOqc+rF/m3qbgnnlpb16h2Ref/j0WI3sUyWDQvGwRHJFlD5THxtpaQaRYI7pOv+Nlsj+zAcNHwBKJ+Z8u8= 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 158714078820520.78013990355896; Fri, 17 Apr 2020 09:26:28 -0700 (PDT) Received: from localhost ([::1]:49492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTov-0006eh-UG for importer@patchew.org; Fri, 17 Apr 2020 12:26:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37202) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTlf-00024o-Nn for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPTld-0007jV-QA for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:03 -0400 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:45089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jPTlc-0007fW-4z; Fri, 17 Apr 2020 12:23:00 -0400 Received: from unknown (HELO ironmsg-SD-alpha.qualcomm.com) ([10.53.140.30]) by alexa-out-sd-02.qualcomm.com with ESMTP; 17 Apr 2020 09:22:59 -0700 Received: from nasanexm01b.na.qualcomm.com ([10.85.0.82]) by ironmsg-SD-alpha.qualcomm.com with ESMTP/TLS/AES256-SHA; 17 Apr 2020 09:22:59 -0700 Received: from eusanexr01f.eu.qualcomm.com (10.85.0.101) by NASANEXM01B.na.qualcomm.com (10.85.0.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:59 -0700 Received: from nasanexm03b.na.qualcomm.com (10.85.0.98) by eusanexr01f.eu.qualcomm.com (10.85.0.101) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:57 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (199.106.107.6) by nasanexm03b.na.qualcomm.com (10.85.0.98) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 17 Apr 2020 09:22:57 -0700 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) by MWHPR0201MB3484.namprd02.prod.outlook.com (2603:10b6:301:77::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Fri, 17 Apr 2020 16:22:50 +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.2900.030; Fri, 17 Apr 2020 16:22:50 +0000 Received: from DESKTOP-L2LA14H.localdomain (108.176.222.2) by CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Fri, 17 Apr 2020 16:22:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1587140580; x=1618676580; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=m2F1YUEwmiM9nglFoxq7V0qWrAJl8rrHZRPXroYH7tw=; b=qZyJqGriUY3CvPaVQzprVgwpXUfPpazJsCuetfp6ssfF2vzvh5skNp2W Rkx/poT17DrRe5APyz3Kt09KHlow792XjGR6Hq7Lr2lwqU6tcqSffxuFZ fw5Hfe3NYhSfdjAlAkDdgOefcER+SN23qAFbxyCnt7O/+ebKiMYvRJu7G 0=; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iNLvivrI4FGdWJBa1BPU7Yh05yLf56jmE3J1kBBkSBQke5AU5Nxyz+5RwGugGXvoUNVYuYjpm5H0s2kZYhlbBN+QXuSWyOKcV2+j4kze1B4M+Ft7YOpnA4HJT9alsmAs7gAr0MXUClaQZuWECoqVt+MSWE1+4NgJCuSMo20vyJwIqZuOi/tLcLxmaeLRi8Hj5YdVXhgho899PAA4osQECHrtXkf7LVI+U1UxFj8m0GGxvqFI6SLVSUT8oV5HGotqI5IkmZ2/7LLt/USpgSFEOghHxszPSlYvxoGzef5DnNiKf6ygkLxIJnFpaAq6EnARRnuP0WlCGL7nqeyISq+gEA== 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=Ao3bZOml2Kn2adA3FKMzT3BjUtNa7t17LDEtBuCGiZU=; b=h/uAN60GvV40LkjleEEvox7GQYZDYtvMS017akku8IlRzqaI5se1LDI5kNijm5AcXiY8iFR0El4k+eHF9XGR59YR2uaGCLB1LEIhzjRkwrU8O/wso1MwCY8uEF2NZTFyOMVcTrRLxJEiZuEJtKoU0hXp29dRMmxDXBU/88FPDOox+D9xKNLMYUWKLv+BhB8cTfkusQl5+I6MV/HaE2B2LYpbszXTZRW+iMEPQgHQ4XaEQtB3SB+1bVheJjE6lAOamEt8I2/sbUO7KXVZJkO6HPDl4wsVEKKIIK5cjrUUs767WjrA2ghFQPAdP9x6HDBx/n4Jc+4Wa0hDftfulm1LIw== 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=Ao3bZOml2Kn2adA3FKMzT3BjUtNa7t17LDEtBuCGiZU=; b=EVoD/kpSU5dVp76shO175N2S61xB9Kh1KBqfxyXnSwJuc/dxQX2q1MlNl7bugc+cVDnG/sNA/Qgfq90X2c4orRTJYHGal320+NRxOUgsuYoPFKDfG7tu12W6UQroOBS3gqyLgIO9QmerojEE/Gh7prk79Tit769beZiz6cp+KtI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=steplong@quicinc.com; From: Stephen Long To: Subject: [PATCH 3/4] target/arm: Implement SVE2 SUBHNB, SUBHNT Date: Fri, 17 Apr 2020 12:22:30 -0400 Message-ID: <20200417162231.10374-4-steplong@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200417162231.10374-1-steplong@quicinc.com> References: <20200417162231.10374-1-steplong@quicinc.com> X-ClientProxiedBy: CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) 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: 45a62260-17bb-4cb0-dad4-08d7e2eb9278 X-MS-TrafficTypeDiagnostic: MWHPR0201MB3484: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:65; X-Forefront-PRVS: 0376ECF4DD 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)(396003)(376002)(136003)(39860400002)(366004)(346002)(5660300002)(107886003)(4326008)(66946007)(66476007)(66556008)(6916009)(6486002)(478600001)(6512007)(6666004)(2906002)(36756003)(186003)(16526019)(86362001)(956004)(1076003)(2616005)(316002)(8676002)(26005)(6506007)(52116002)(81156014)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mkT2McmLQuAW7VB6Pw1OHSEQD8Zi3I6s8Wn+aobCBz00qWaBeK6sBt+5nnoN15Crf6CqdKXjz9o9xFqQW3i3GGuLzLc9wobUD7iBjOl0rVURThLBtkrJMAMOB8iQN138XFNJifwwshDYqJcnaWT2jWjtRX2xwbxhmKVnL/cL+7fK0Mqh9zUHAEoTRicJex/6AHxBG+iljAKK7Hf7CDNWysj/lXB6KLIigC6NELATqgihu1Tlv0cSRt35Uu5eSxnAT2VKQzAqqk+wJlmFgTbe9KX4PUKPRb8WmXSsDYOPxk8glvFp7HjOUdMOs9Akj2/DRUVXkF62iUSXyf4q/AFEtIesxFjpSjxQnbcuXTFf4+w9Lzm8mB9xAGVIYX76QZ10k4mUB8q/mKwycSsfmknuuNjF5u4I4s+K1BIEZpcAvW+0F26bMKRWJ/PoD686ZXNy X-MS-Exchange-AntiSpam-MessageData: 0Fd4o+jQxlzCV9jFryimE8afpZk0mszAuJIVtQixbdxVE6fFt0uC4AHmzmvtnyWOP15r0G5kAWeYEGixhc24FDDHTjyYXF8rdH8CB0dShvPAg4NtQSKx4Vg+UanE5GA7tWicgYEDJiWR+oz1Dcio3g== X-MS-Exchange-CrossTenant-Network-Message-Id: 45a62260-17bb-4cb0-dad4-08d7e2eb9278 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2020 16:22:50.1448 (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: aL2j8q1/hACzJN3bWqhT1EYRnpFab3UsudBoZgIZEt2YlO4PXJyx7Rfycno+0SHE1/Qkd/QRQfgbAby0q4QbXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3484 X-OriginatorOrg: quicinc.com X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [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" Signed-off-by: Stephen Long --- target/arm/helper-sve.h | 8 ++++++++ target/arm/sve.decode | 2 ++ target/arm/sve_helper.c | 10 ++++++++++ target/arm/translate-sve.c | 3 +++ 4 files changed, 23 insertions(+) diff --git a/target/arm/helper-sve.h b/target/arm/helper-sve.h index 5d5542a82a..00e3706da0 100644 --- a/target/arm/helper-sve.h +++ b/target/arm/helper-sve.h @@ -2532,6 +2532,14 @@ DEF_HELPER_FLAGS_4(sve2_raddhnt_h, TCG_CALL_NO_RWG, = void, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_4(sve2_raddhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) DEF_HELPER_FLAGS_4(sve2_raddhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) =20 +DEF_HELPER_FLAGS_4(sve2_subhnb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_subhnb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_subhnb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) + +DEF_HELPER_FLAGS_4(sve2_subhnt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_subhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) +DEF_HELPER_FLAGS_4(sve2_subhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) + DEF_HELPER_FLAGS_5(sve2_match_ppzz_b, TCG_CALL_NO_RWG, i32, ptr, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_5(sve2_match_ppzz_h, TCG_CALL_NO_RWG, diff --git a/target/arm/sve.decode b/target/arm/sve.decode index 9d82677808..75996897a1 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1327,6 +1327,8 @@ ADDHNB 01000101 .. 1 ..... 011 000 ..... ...= .. @rd_rn_rm ADDHNT 01000101 .. 1 ..... 011 001 ..... ..... @rd_rn_rm RADDHNB 01000101 .. 1 ..... 011 010 ..... ..... @rd_rn_rm RADDHNT 01000101 .. 1 ..... 011 011 ..... ..... @rd_rn_rm +SUBHNB 01000101 .. 1 ..... 011 100 ..... ..... @rd_rn_rm +SUBHNT 01000101 .. 1 ..... 011 101 ..... ..... @rd_rn_rm =20 ### SVE2 Character Match =20 diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index f92b8dd312..f6e7694b9f 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2049,6 +2049,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, uint3= 2_t desc) \ =20 #define DO_ADDHN(N, M, SH) ((N + M) >> SH) #define DO_RADDHN(N, M, SH) ((N + M + (1 << (SH - 1))) >> SH) +#define DO_SUBHN(N, M, SH) ((N - M) >> SH) =20 DO_BINOPNB(sve2_addhnb_h, uint16_t, uint8_t, 8, DO_ADDHN) DO_BINOPNB(sve2_addhnb_s, uint32_t, uint16_t, 16, DO_ADDHN) @@ -2066,6 +2067,15 @@ DO_BINOPNT(sve2_raddhnt_h, uint16_t, uint8_t, 8, H1_= 2, H1, DO_RADDHN) DO_BINOPNT(sve2_raddhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_RADDHN) DO_BINOPNT(sve2_raddhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_RADDHN) =20 +DO_BINOPNB(sve2_subhnb_h, uint16_t, uint8_t, 8, DO_SUBHN) +DO_BINOPNB(sve2_subhnb_s, uint32_t, uint16_t, 16, DO_SUBHN) +DO_BINOPNB(sve2_subhnb_d, uint64_t, uint32_t, 32, DO_SUBHN) + +DO_BINOPNT(sve2_subhnt_h, uint16_t, uint8_t, 8, H1_2, H1, DO_SUBHN) +DO_BINOPNT(sve2_subhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_SUBHN) +DO_BINOPNT(sve2_subhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_SUBHN) + +#undef DO_SUBHN #undef DO_RADDHN #undef DO_ADDHN =20 diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index a36eb9cf98..4081fcb873 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -7519,6 +7519,9 @@ DO_SVE2_ZZZ_NARROW(ADDHNT, addhnt) DO_SVE2_ZZZ_NARROW(RADDHNB, raddhnb) DO_SVE2_ZZZ_NARROW(RADDHNT, raddhnt) =20 +DO_SVE2_ZZZ_NARROW(SUBHNB, subhnb) +DO_SVE2_ZZZ_NARROW(SUBHNT, subhnt) + static bool do_sve2_ppzz_flags(DisasContext *s, arg_rprr_esz *a, gen_helper_gvec_flags_4 *fn) { --=20 2.17.1 From nobody Fri May 17 09:01:39 2024 Delivered-To: importer@patchew.org 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; 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=1587140877; cv=pass; d=zohomail.com; s=zohoarc; b=KllAeeCNBHGY3j/CvcByTBdVUpSdvGQ7Lno9aMUO5wDYdgdePlnVHGmQkNM+UBbscKrHGa+JxJfzwYvaCB2I2YKEaeoxyKNe7219dYL42aF0IY95fAjLy6jP5W2om5S7dC2eaMvUkgMgmeLodBnHghMrHPCTFKdrwo6iChLI43c= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587140877; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=v/MVM6Rylf9oEFKkDPh393K6rZ4AVl+s217nPgJu7Ds=; b=hG/goAfjdzI9MHeMOkuAiIS/PO7ZFUGiA2QHAJgWT4vbI50KydgShB4uEVUowPb5mkC6dsmSZ8M4pScjNAh6tnw43ZKa9OI2Cy+LxWxocaPTI3CChJCjHFjjYOJ0zCDiSBHgvtZOJ76902Z0r8NiGpEPHejPXTH+JNEBqXrihJw= 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 1587140877448528.6653562607504; Fri, 17 Apr 2020 09:27:57 -0700 (PDT) Received: from localhost ([::1]:49512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTqO-0007be-2y for importer@patchew.org; Fri, 17 Apr 2020 12:27:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37236) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPTlh-00027z-EQ for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPTlg-0007ku-3E for qemu-devel@nongnu.org; Fri, 17 Apr 2020 12:23:05 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:65349) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jPTlf-0007jv-RQ; Fri, 17 Apr 2020 12:23:04 -0400 Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-01.qualcomm.com with ESMTP; 17 Apr 2020 09:23:02 -0700 Received: from nasanexm01d.na.qualcomm.com ([10.85.0.84]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 17 Apr 2020 09:23:02 -0700 Received: from eusanexr01e.eu.qualcomm.com (10.85.0.100) by NASANEXM01D.na.qualcomm.com (10.85.0.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:23:01 -0700 Received: from NASANEXM01H.na.qualcomm.com (10.85.0.34) by eusanexr01e.eu.qualcomm.com (10.85.0.100) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 17 Apr 2020 09:22:59 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (199.106.107.6) by NASANEXM01H.na.qualcomm.com (10.85.0.34) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 17 Apr 2020 09:22:59 -0700 Received: from MWHPR0201MB3547.namprd02.prod.outlook.com (2603:10b6:301:7b::24) by MWHPR0201MB3484.namprd02.prod.outlook.com (2603:10b6:301:77::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Fri, 17 Apr 2020 16:22:51 +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.2900.030; Fri, 17 Apr 2020 16:22:51 +0000 Received: from DESKTOP-L2LA14H.localdomain (108.176.222.2) by CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Fri, 17 Apr 2020 16:22:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1587140583; x=1618676583; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=ei0R4waqVRE/JAQwz+ETEou8n70kUYcmScagegOMUS0=; b=fs9yXHlxSRZcp6DCpu7KVOWbuG5DPrd8Op+iWntmP3mftCOVxQD9cuqj LMGp2S4jGerbrn6ynUqXUech/ZJwSepzw7YC5284Vt4G5SYa11pmCWM38 86ITnQ1E/AU9Y175Ri7uw1q9IWJeeOhtu+tgw6IrELHJC1QcumzfIuY9e A=; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IG2ttctbbdF8Uaccwvvt49NTyivERMwqcDkvB0M0A8DvuIL5mMj4cnP9TAN2yoigWR+JfhOi6CnNb2O+qJuCea78GM64H0ishtYYk3Ktzz7tAT9EoG02ctVzIm23444y/S8gtcWWKhEM0eSLMIttwwomlk+cjZsAOal2bxE1ViV2sFBHZb4mLz7JJhVX+NZe0ZYwGdFQ73y6l6zkQ3xAFGxf75D1B9+yjs/vqn30V6IRoVetNBIvcaqlmYVedTacIRHFrEP+0LrfSVNq7bNOJokVtK/aoh3SjMHWwRBZHTIyNfMIYnr5A7mclEKzBKafMryxvfCugaFRE97ibwQ+AQ== 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=v/MVM6Rylf9oEFKkDPh393K6rZ4AVl+s217nPgJu7Ds=; b=LwcuDa10zZXdvCm3erEJI7rM38X74ftRms9Ppzk5Z2SrTien7Q/lN5n8VDnEhPWgfmf3K0GZbZcdPaUm5bJ/1qIL4GZmOK//oI1Ax223Okt6rcT1Dzdzw0iWtw1ClvbD4O8Jj3Bl2yMXotFXR/ssZPWw8nY6NJCPNC7gT3Z/h0QobMviYEu/7bciPGnHlh3/u4DJ5+tn0b6ut7Zg8HbH1h593loJCYEriDssaA8WDYutLa0Prb3Q4eiUrBcx9oe+BPExHdzTZvilKftcCdxj14XRlwEv+FczgTqN8I3+vAIaMT5GY0mkKAof38Y+7rQA+FtsnEJV1tr8KaEJfpv4nA== 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=v/MVM6Rylf9oEFKkDPh393K6rZ4AVl+s217nPgJu7Ds=; b=rjvvRqh9GMW7Furd2ive72SioAW+4HLKGGv9mMnM6QMEk/O+mDWxuX7WJXvSFtNBwHCsrng4eu/rPxccw1ka6/H39Nb/l1haf5FwwWp+W5JBQIU1OOgpFvjvqeus6FClTjc4DblShqqTNzCYmlDuAOSe0U8f3y51zw7fOD5w7YY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=steplong@quicinc.com; From: Stephen Long To: Subject: [PATCH 4/4] target/arm: Implement SVE2 RSUBHNB, RSUBHNT Date: Fri, 17 Apr 2020 12:22:31 -0400 Message-ID: <20200417162231.10374-5-steplong@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200417162231.10374-1-steplong@quicinc.com> References: <20200417162231.10374-1-steplong@quicinc.com> X-ClientProxiedBy: CH2PR12CA0017.namprd12.prod.outlook.com (2603:10b6:610:57::27) 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: 7fda0aaf-17d5-4ea5-7d7c-08d7e2eb9313 X-MS-TrafficTypeDiagnostic: MWHPR0201MB3484: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:121; X-Forefront-PRVS: 0376ECF4DD 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)(396003)(376002)(136003)(39860400002)(366004)(346002)(5660300002)(107886003)(4326008)(66946007)(66476007)(66556008)(6916009)(6486002)(478600001)(6512007)(6666004)(2906002)(36756003)(186003)(16526019)(86362001)(956004)(1076003)(2616005)(316002)(8676002)(26005)(6506007)(52116002)(81156014)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z/MVggk6bUChj94Iz3Z+E7D9Msa9ETdu2KLDV7Lblxq2tWjLtV5LcVIA1cyMArKA3BMcUVHc4VuGlVcHwv54AnAwds+2fHrYVMVoRX0eIEmRN99xOMItAO8U35KQNL4DiJyWwivRUje3JSSWt+O21A0dR03kB4efD93kC7HxvHzylfaomWnAeu4puRplEPdsNM0qhdro9EeWkPnVwujCNJW6RljAsvzEMb1BoQD7S9LvP+ytykKN7O5sBfE8VlqjMszqLmTF43Pv03cTv3t0lYkRyThmaKJF5E0ZwD2PNa3utdJXmqvaQztiYS3DNsRLrxmJx1WAyZKHry/HYVuVEqfl1+7jcEnjKqx7TGCgGW9wUFto3n+o+xElPwezrZ4iBKFz8n/AI3Pi6OWx7mkyrifar8Nsh2dKtQKagRWKY+7TNEBCWw/SjCqjZ5fBzkzU X-MS-Exchange-AntiSpam-MessageData: ipfWZFCOmZVF76ADm9DtHuhX9HckJ3ShbIE6BG4xh+W6A9E8C1x5CxjmjIc5ZapItaR0jT2eRgAI3z6ijotOf9pwjJESo4iWEPRJUACFW8RAq5LbGfFBge53VnWLcw4Awzu5vBAY28pVFIe0mf9S7g== X-MS-Exchange-CrossTenant-Network-Message-Id: 7fda0aaf-17d5-4ea5-7d7c-08d7e2eb9313 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2020 16:22:51.1672 (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: PrZLJKtttnC3WCx/m3Z1MDyWeAXiG04lb3XehRKQwn0+CkdZkDZ0CRBUnms3M3yOw8ehF4Y0R345Ok17V52fAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3484 X-OriginatorOrg: quicinc.com X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.38 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" This completes the section 'SVE2 integer add/subtract narrow high part' Signed-off-by: Stephen Long --- target/arm/helper-sve.h | 8 ++++++++ target/arm/sve.decode | 2 ++ target/arm/sve_helper.c | 10 ++++++++++ target/arm/translate-sve.c | 2 ++ 4 files changed, 22 insertions(+) diff --git a/target/arm/helper-sve.h b/target/arm/helper-sve.h index 00e3706da0..011aa03010 100644 --- a/target/arm/helper-sve.h +++ b/target/arm/helper-sve.h @@ -2540,6 +2540,14 @@ DEF_HELPER_FLAGS_4(sve2_subhnt_h, TCG_CALL_NO_RWG, v= oid, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_4(sve2_subhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) DEF_HELPER_FLAGS_4(sve2_subhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i3= 2) =20 +DEF_HELPER_FLAGS_4(sve2_rsubhnb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_rsubhnb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_rsubhnb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) + +DEF_HELPER_FLAGS_4(sve2_rsubhnt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_rsubhnt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) +DEF_HELPER_FLAGS_4(sve2_rsubhnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i= 32) + DEF_HELPER_FLAGS_5(sve2_match_ppzz_b, TCG_CALL_NO_RWG, i32, ptr, ptr, ptr, ptr, i32) DEF_HELPER_FLAGS_5(sve2_match_ppzz_h, TCG_CALL_NO_RWG, diff --git a/target/arm/sve.decode b/target/arm/sve.decode index 75996897a1..f0e6143e00 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1329,6 +1329,8 @@ RADDHNB 01000101 .. 1 ..... 011 010 ..... ...= .. @rd_rn_rm RADDHNT 01000101 .. 1 ..... 011 011 ..... ..... @rd_rn_rm SUBHNB 01000101 .. 1 ..... 011 100 ..... ..... @rd_rn_rm SUBHNT 01000101 .. 1 ..... 011 101 ..... ..... @rd_rn_rm +RSUBHNB 01000101 .. 1 ..... 011 110 ..... ..... @rd_rn_rm +RSUBHNT 01000101 .. 1 ..... 011 111 ..... ..... @rd_rn_rm =20 ### SVE2 Character Match =20 diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index f6e7694b9f..d616010390 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2050,6 +2050,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, uint3= 2_t desc) \ #define DO_ADDHN(N, M, SH) ((N + M) >> SH) #define DO_RADDHN(N, M, SH) ((N + M + (1 << (SH - 1))) >> SH) #define DO_SUBHN(N, M, SH) ((N - M) >> SH) +#define DO_RSUBHN(N, M, SH) ((N - M + (1 << (SH - 1))) >> SH) =20 DO_BINOPNB(sve2_addhnb_h, uint16_t, uint8_t, 8, DO_ADDHN) DO_BINOPNB(sve2_addhnb_s, uint32_t, uint16_t, 16, DO_ADDHN) @@ -2075,6 +2076,15 @@ DO_BINOPNT(sve2_subhnt_h, uint16_t, uint8_t, 8, H1_2= , H1, DO_SUBHN) DO_BINOPNT(sve2_subhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_SUBHN) DO_BINOPNT(sve2_subhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_SUBHN) =20 +DO_BINOPNB(sve2_rsubhnb_h, uint16_t, uint8_t, 8, DO_RSUBHN) +DO_BINOPNB(sve2_rsubhnb_s, uint32_t, uint16_t, 16, DO_RSUBHN) +DO_BINOPNB(sve2_rsubhnb_d, uint64_t, uint32_t, 32, DO_RSUBHN) + +DO_BINOPNT(sve2_rsubhnt_h, uint16_t, uint8_t, 8, H1_2, H1, DO_RSUBHN) +DO_BINOPNT(sve2_rsubhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_RSUBHN) +DO_BINOPNT(sve2_rsubhnt_d, uint64_t, uint32_t, 32, , H1_4, DO_RSUBHN) + +#undef DO_RSUBHN #undef DO_SUBHN #undef DO_RADDHN #undef DO_ADDHN diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 4081fcb873..d75dd938ef 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -7521,6 +7521,8 @@ DO_SVE2_ZZZ_NARROW(RADDHNT, raddhnt) =20 DO_SVE2_ZZZ_NARROW(SUBHNB, subhnb) DO_SVE2_ZZZ_NARROW(SUBHNT, subhnt) +DO_SVE2_ZZZ_NARROW(RSUBHNB, rsubhnb) +DO_SVE2_ZZZ_NARROW(RSUBHNT, rsubhnt) =20 static bool do_sve2_ppzz_flags(DisasContext *s, arg_rprr_esz *a, gen_helper_gvec_flags_4 *fn) --=20 2.17.1