From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2070.outbound.protection.outlook.com [40.107.21.70]) by sourceware.org (Postfix) with ESMTPS id E16A1385382A for ; Wed, 10 May 2023 13:31:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E16A1385382A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Boh4IDNAkVgzeOGDOMwDv73wt+r0AaQQ/AzqsGIP94s=; b=ck4uLAxrgN5zi/zjs7koVQjxhz+8oo8gAaMmUIRlwdX0i0/MBxckZWSmSGI5g1O1+L7fPHeg/WsiPjZsw/vprohBjhu7Zvs8gwlkw4p1Sku927tcdF6pE35FKDHHYq4h/WveKtUzqUHj9d5pk86AKds3bk42mcfb+b94aoDjVs0= Received: from DUZPR01CA0330.eurprd01.prod.exchangelabs.com (2603:10a6:10:4ba::26) by DB4PR08MB8008.eurprd08.prod.outlook.com (2603:10a6:10:38c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Wed, 10 May 2023 13:31:03 +0000 Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4ba:cafe::f4) by DUZPR01CA0330.outlook.office365.com (2603:10a6:10:4ba::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.19 via Frontend Transport; Wed, 10 May 2023 13:31:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT034.mail.protection.outlook.com (100.127.142.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.20 via Frontend Transport; Wed, 10 May 2023 13:31:03 +0000 Received: ("Tessian outbound 8b05220b4215:v136"); Wed, 10 May 2023 13:31:03 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 45f46d219f0a1d53 X-CR-MTA-TID: 64aa7808 Received: from 1075195268e8.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B4440104-DFAF-43E4-A05C-E902A29E31A2.1; Wed, 10 May 2023 13:30:56 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1075195268e8.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 May 2023 13:30:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P2BOIHAnqOE9SyIefl1USXDWZa04xRaHXJzFlWq3UjxivF4omJffhIJPHZzV1LNPo0GmbCOOtwSaQf/XMAlMycp1Z2SAHXy7xUNBrZYxtzijms96UeK6HuO0nTHuzF91OnUbGoGg2I1QqBT9aWkD6MduLFPZaJGTuSKb4YSMOglFW9PGYm1VQA6n6LjK5Ml6NCzpjKgW3Ptf4Fb+WvqMVEE9XdR1tiBm1Vk/qnkFmbat11DDgijl2pLfc5yoaMXGhPIloop3EwqtHlWBC1/8AtQfuaPh8UeuQ+3cSSsfgFUEcj1PdVX2FJR5HjqBk3IiBnM0blDXKQosbYggxWPMzw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Boh4IDNAkVgzeOGDOMwDv73wt+r0AaQQ/AzqsGIP94s=; b=VExpD0ESzpGtbEiJ00fR2PZdjcrT5uaizPzA4dWwmZpGuSN+u0syVN2GhfLqMb6JkT/xdGzF6JkL8cZPdz1ThWLRsQDjxryr+9YrUS3e71t9RS2DMKp0GEq0VvFWKuKW8Omt6cKUC5wCSqU72uh6IwIHim2IpmBDKbOnaNb99HYAbooTwManhwxd9FoJQwE1tcI1Fa77lk+IqG6Kk70FXGsHdLVwtdaSnhnT78i3id0vQj0B9I2qbirKnYp1GyuAQVOQ4avdKzvctnyGHcyJW3LgiYedIMWOlWNlrELq9p6AaBQ//CS27wevHUxjJTbz1EHiQSOc8+yk+y90rdKqRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Boh4IDNAkVgzeOGDOMwDv73wt+r0AaQQ/AzqsGIP94s=; b=ck4uLAxrgN5zi/zjs7koVQjxhz+8oo8gAaMmUIRlwdX0i0/MBxckZWSmSGI5g1O1+L7fPHeg/WsiPjZsw/vprohBjhu7Zvs8gwlkw4p1Sku927tcdF6pE35FKDHHYq4h/WveKtUzqUHj9d5pk86AKds3bk42mcfb+b94aoDjVs0= Received: from DB8PR06CA0026.eurprd06.prod.outlook.com (2603:10a6:10:100::39) by AM0PR08MB5475.eurprd08.prod.outlook.com (2603:10a6:208:188::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.28; Wed, 10 May 2023 13:30:53 +0000 Received: from DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:100:cafe::26) by DB8PR06CA0026.outlook.office365.com (2603:10a6:10:100::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.19 via Frontend Transport; Wed, 10 May 2023 13:30:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DBAEUR03FT031.mail.protection.outlook.com (100.127.142.173) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6387.20 via Frontend Transport; Wed, 10 May 2023 13:30:53 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 10 May 2023 13:30:44 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 10 May 2023 13:30:43 +0000 Received: from e129018.arm.com (10.57.23.51) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2507.23 via Frontend Transport; Wed, 10 May 2023 13:30:43 +0000 From: Christophe Lyon To: , , , CC: Christophe Lyon Subject: [PATCH 07/20] arm: [MVE intrinsics] add unary_n shape Date: Wed, 10 May 2023 15:30:23 +0200 Message-ID: <20230510133036.596530-7-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510133036.596530-1-christophe.lyon@arm.com> References: <20230510133036.596530-1-christophe.lyon@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT031:EE_|AM0PR08MB5475:EE_|DBAEUR03FT034:EE_|DB4PR08MB8008:EE_ X-MS-Office365-Filtering-Correlation-Id: 05171083-030c-4d73-8b52-08db515acd1a x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: rEukqRrKaLlvvUcau+PfTERIlNjrY3hDwblnIE+SZdirTDSm53h5Se19ioX4lSBQH2ySt4QF2SLWwmDTPEPL2wG8LqJ6d8rZR2wI6suVHTCnqA5V9jEDlU2RFbm+xb1i1oR9aOh0RPtXu9PfJiN/oT0JW6yij65ACQu7uTZlPIVwilUmOOmNihj1tGZvkKU+GuVereeDpsXFTh8O5wScDA/GGk+0JhtPzLatQUgbF5f4Vc5VeDPxKQm4MlBDpneKwIj+FfjBttJtwwRUXXiUPyR43orB4tt1WAjiLzZTZL6xvzR8HHyBbt+mPyfppnVNFouUnQIG0W0KOLVcYr6BKYQczqyjKNjz9GC7Elmt70i1XbI9WEDdggZsWCNznSvbyeN39LsjWs1nr4s8eVTrNDVcR3BB21brKDKmGARmXmdHYKDQU/GgtnlxrL+X6T12TWxyTmjWsr+9pW1AuUopxEyE//x/f3YxWRQpwAfzFzb/HD/PLHnkizy+oNTJ6XxrH4a05LLfWo4oiX9KMq7WS61Uu+W4qGWYQkiEKtz2behWRxySOu+/a/KAu7iIMhowb3hZ51T5OFLX5RfTzEqekoA+z3nEBXjpvyT7Q7F5DDLgWx2vZMsYF7efnKdXGfBSAkESLz9q7tNoFM0qGKhfweqMXKtojV/R3XwzmVE27mbPPG5+MCZipo9/B/AavT6uWuiUpooXb5LmX/cuYGaLDghOJKa5oxPh25JJaU6Qf6c= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(346002)(396003)(451199021)(40470700004)(36840700001)(46966006)(8936002)(40460700003)(356005)(36860700001)(426003)(47076005)(336012)(2616005)(6666004)(7696005)(110136005)(186003)(1076003)(40480700001)(2906002)(4001150100001)(44832011)(36756003)(4326008)(82310400005)(81166007)(6636002)(70586007)(82740400003)(70206006)(316002)(5660300002)(41300700001)(8676002)(86362001)(26005)(478600001)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5475 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: dbcb7dd6-4033-43ea-4abe-08db515ac71e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GIrm/rrGw4mbU78fnUXio0g8pkvbFW/1bxES3KMytlF5HJkuRBIZiboswizDX0AExo68W8IN3lcb0G1HMpwgk8t2ifN8zTXZ5K0MWDdgdU5y/29V2b6Uj2eX04p0gcxWdB1oxya9g6paOMYB4RNqD8PpDpzEI0Uiz2Q6nMy03MlFf94C+vJCZaSpRc6aqrUSeY5Xd7q3mCmyDyB6CGTPKJDJDsTS7LsW3+o9FwDZuSz3cXipcrMEFyietKcP+5/xHqt3MN+fE6aU7LNrA5w7vFBm//JBiqMNrKJgdlV3P5QX2rfPwdg8QWR39VW/PG2fAx6qOWVs1AlZ9tJjp3ZWKuWv6aAakFJ6293lfieDSMfe9lSraX+l4oQlULeGfDuxp5XHrHCdmOt/uKT09INCPaZFx4Oh3sEEx1IbRBsEwCS2L/0Vi5LZKKeU/IPGPss1Y7rTnpGl04R0pNQxGCYIH3P5ssVBP9V29owFghUyLi+eQaHyxjZBlfeP1UKNibDKdH644f0IZXXAEHN5sCIX65nS9c9x/7NBn2cOt3jNM1JS3xqPejstOE9DA6UvJnBkO+xOuzeABHbz9z987RRMD9PE9F4vkrdbI8rfiF+gCw7jE5fkuXLU7dLXcAlNbfIbTxc5TU7NeJyymfyM97KtNNYq2+eB1yOVFg0OLmKdfS2xmWrq7Iagr4NwBELpiikp+pfl5Nay6Ei448iuprLrxw== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(376002)(346002)(39860400002)(451199021)(46966006)(40470700004)(36840700001)(5660300002)(110136005)(7696005)(41300700001)(6666004)(8676002)(8936002)(316002)(26005)(44832011)(478600001)(70206006)(70586007)(6636002)(4326008)(1076003)(40460700003)(2906002)(336012)(4001150100001)(426003)(2616005)(186003)(82740400003)(81166007)(36860700001)(40480700001)(47076005)(86362001)(82310400005)(36756003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2023 13:31:03.3032 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05171083-030c-4d73-8b52-08db515acd1a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8008 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This patch adds the unary_n shape description. 2022-10-25 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (unary_n): New. * config/arm/arm-mve-builtins-shapes.h (unary_n): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 53 +++++++++++++++++++++++ gcc/config/arm/arm-mve-builtins-shapes.h | 1 + 2 files changed, 54 insertions(+) diff --git a/gcc/config/arm/arm-mve-builtins-shapes.cc b/gcc/config/arm/arm-mve-builtins-shapes.cc index ea0112b3e99..c78683aaba2 100644 --- a/gcc/config/arm/arm-mve-builtins-shapes.cc +++ b/gcc/config/arm/arm-mve-builtins-shapes.cc @@ -1094,6 +1094,59 @@ struct unary_convert_def : public overloaded_base<1> }; SHAPE (unary_convert) +/* _t vfoo[_n]_t0(_t) + + Example: vdupq. + int16x8_t [__arm_]vdupq_n_s16(int16_t a) + int16x8_t [__arm_]vdupq_m[_n_s16](int16x8_t inactive, int16_t a, mve_pred16_t p) + int16x8_t [__arm_]vdupq_x_n_s16(int16_t a, mve_pred16_t p) */ +struct unary_n_def : public overloaded_base<0> +{ + bool + explicit_type_suffix_p (unsigned int, enum predication_index pred, + enum mode_suffix_index) const override + { + return pred != PRED_m; + } + + bool + explicit_mode_suffix_p (enum predication_index pred, + enum mode_suffix_index mode) const override + { + return ((mode == MODE_n) + && (pred != PRED_m)); + } + + bool + skip_overload_p (enum predication_index pred, enum mode_suffix_index mode) + const override + { + switch (mode) + { + case MODE_n: + return pred != PRED_m; + + default: + gcc_unreachable (); + } + } + + void + build (function_builder &b, const function_group_info &group, + bool preserve_user_namespace) const override + { + b.add_overloaded_functions (group, MODE_n, preserve_user_namespace); + build_all (b, "v0,s0", group, MODE_n, preserve_user_namespace); + } + + tree + resolve (function_resolver &r) const override + { + return r.resolve_unary_n (); + } +}; +SHAPE (unary_n) + } /* end namespace arm_mve */ #undef SHAPE diff --git a/gcc/config/arm/arm-mve-builtins-shapes.h b/gcc/config/arm/arm-mve-builtins-shapes.h index 59c4dc39c39..a35faec2542 100644 --- a/gcc/config/arm/arm-mve-builtins-shapes.h +++ b/gcc/config/arm/arm-mve-builtins-shapes.h @@ -54,6 +54,7 @@ namespace arm_mve extern const function_shape *const inherent; extern const function_shape *const unary; extern const function_shape *const unary_convert; + extern const function_shape *const unary_n; } /* end namespace arm_mve::shapes */ } /* end namespace arm_mve */ -- 2.34.1