From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2070.outbound.protection.outlook.com [40.107.22.70]) by sourceware.org (Postfix) with ESMTPS id B61F13858D32 for ; Tue, 13 Jun 2023 07:08:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B61F13858D32 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=jKnn7NnQ9ktukVIJPkU3Lyg94r0Ma+zceJr09amk3LY=; b=idAJ4wUBAXFHZ8MNM0otShmNH/YmFtf1/y8vrVeM1yJyZRT5pYONNhnDi6joLUfAFzn47o58TRshJf2aF09IJX8NkYezgFW3xXIe80yLrwdZT8Qj5CHUIIWyAK13jmx/GuwXH/tkVRnCfjxWML4WLbtBaea0S/qsWmGekgYK2jo= Received: from AS8PR04CA0033.eurprd04.prod.outlook.com (2603:10a6:20b:312::8) by DB8PR08MB5355.eurprd08.prod.outlook.com (2603:10a6:10:11f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Tue, 13 Jun 2023 07:08:11 +0000 Received: from AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:312:cafe::3c) by AS8PR04CA0033.outlook.office365.com (2603:10a6:20b:312::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.34 via Frontend Transport; Tue, 13 Jun 2023 07:08:11 +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 AM7EUR03FT065.mail.protection.outlook.com (100.127.140.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.24 via Frontend Transport; Tue, 13 Jun 2023 07:08:10 +0000 Received: ("Tessian outbound 3a01b65b5aad:v136"); Tue, 13 Jun 2023 07:08:10 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3924c43e7f1aee50 X-CR-MTA-TID: 64aa7808 Received: from 45814f36f70f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 016AF2EF-F9BE-484C-9CC3-DE01FB3776B6.1; Tue, 13 Jun 2023 07:08:04 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 45814f36f70f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Jun 2023 07:08:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gTaZrFCOLc2rRdrV5f9bcfx8iVzPKwwVTpPzMJ8qJwkrl017lI7SlSiGzdsk8oXNEwUIFYpgHQspBf/L3IltF8SnrIxSxYVq0g/vSAh7gjyHLDFOOVEdGjiTSFehXZcmqeSco89PRiHBhewyYFE/DXgQ4DOgEGigF1gaqN7JBlFAbfs/ZHL9XYXs4BaA2mOr+5z+9xa3tqPZZyaul+/92E3JydrYtuFU8L/X3yDo4aBhonD/6i30lkrcBOpSy+dAz0bhDJJL2tTYqd6rwLExFuFXJL2p8933vBgt5crgl+owwxECrk4J+7eEsHMd4dQ9Kt9RWmwcUm0idOb4qMAYzA== 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=jKnn7NnQ9ktukVIJPkU3Lyg94r0Ma+zceJr09amk3LY=; b=mPOeOKTK2Z8qsnmhJ7mNNSDs4ZF6Mx7pxjc7JM6jezrbm8IesOU/RhkRQxJOicWDKHeRiGFesiTj1c9iZkCBqbR5atSblroRAVU9PdQ4xYBz443xkZjTeAsbZd2g/rmud5Vt75d5WLmVUUrgybdsGnRnfBAP7U201pGno6TRejJgmtzsfr8bMA7FCso3ks2LnLYAiGlB/1sZQgAtUFGyYtkZ8RT1lYRY1L/oNtgSgUzVX5xpNUUkHnQzzEDYK63FhHkd/7sNS2WX+THbvmv5fnLVZZGBuuJQ5qeKC7qlJ6l1QeyWfQx6IyNZ6Ox2irJaRef3he/YEOa6Ci84b/dRlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; 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=jKnn7NnQ9ktukVIJPkU3Lyg94r0Ma+zceJr09amk3LY=; b=idAJ4wUBAXFHZ8MNM0otShmNH/YmFtf1/y8vrVeM1yJyZRT5pYONNhnDi6joLUfAFzn47o58TRshJf2aF09IJX8NkYezgFW3xXIe80yLrwdZT8Qj5CHUIIWyAK13jmx/GuwXH/tkVRnCfjxWML4WLbtBaea0S/qsWmGekgYK2jo= Received: from AS8PR08MB7079.eurprd08.prod.outlook.com (2603:10a6:20b:400::12) by DU0PR08MB7993.eurprd08.prod.outlook.com (2603:10a6:10:3e0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Tue, 13 Jun 2023 07:08:00 +0000 Received: from AS8PR08MB7079.eurprd08.prod.outlook.com ([fe80::3777:2dda:cad8:1156]) by AS8PR08MB7079.eurprd08.prod.outlook.com ([fe80::3777:2dda:cad8:1156%6]) with mapi id 15.20.6455.045; Tue, 13 Jun 2023 07:08:00 +0000 From: Tejas Belagod To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v2] [PR96339] Optimise svlast[ab] Thread-Topic: [PATCH v2] [PR96339] Optimise svlast[ab] Thread-Index: AQHZnQfSu5DDTHcUqECoHwFF5adJcK+G2n9AgAF26oQ= Date: Tue, 13 Jun 2023 07:08:00 +0000 Message-ID: References: <20230612082756.27638-1-tejas.belagod@arm.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS8PR08MB7079:EE_|DU0PR08MB7993:EE_|AM7EUR03FT065:EE_|DB8PR08MB5355:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a6048b4-08c3-48f3-f67b-08db6bdcf29f 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: bLyfGd+w3mfzbZ4cn/5phgSdhgbVIL1jqDoX18pCLU9VATSv6JJW1ab0AGEACvngUbeyRXIinPeozV6vURJg1xJcjQGV9SKw4mOMq+k7m+2gJFqC9dz+ij21mjmbSbyepXJJ3Q5KwzE6eD3grODoXJJrGQ34m2D/fmjJ8r24/cNWO7AVHgHTwjoIHdlYINcljqlceEGgCSYgiXEeAF1NIZw70i+OojjI+k12aTDDXAdZmu65E6oBlJQjSoIadvtlOKNArSmTrhCgteSxZyG0BGDAl0Vtur1gG2Jx+8G31trK9Mdw2c/PhcTjcBRjDxm4CTP6o8+WaR39CFgGcxAvEnZqpt2vbuEDZsZpKQG9rmq7ZoXvEUuPy6/39Wb3uR37eh0dDr3otX7yoEC5dzewfoJx5Mw6t+vQ/EGAOZ8KRiM73UN7KCnxb4M6B1aeMxeAJmO7tzXNtlNdRvjfv8kRFSQdFYTwM60HnJocZy2tNIr7K7dk8HtuUMV5td+/0RRVvSESiH7wc6K8fDBWKr+Wzen5eytJb8zHt6ruDtP6lDFxB8xnQe0hr3k3R87E4a4WoIo9lzM3BcYqiHIksa9rW5JsQb4FR+pI3hLJBrAamPBicTUIEzfnEey9neBXA9f9bpSEhwjl7PqBwbwhDEYqrA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7079.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(376002)(366004)(396003)(346002)(451199021)(66946007)(66476007)(66556008)(76116006)(91956017)(478600001)(6862004)(52536014)(8676002)(5660300002)(8936002)(6636002)(64756008)(66446008)(71200400001)(84970400001)(4326008)(316002)(41300700001)(7696005)(55016003)(38100700002)(122000001)(186003)(6506007)(86362001)(53546011)(2906002)(38070700005)(26005)(9686003)(33656002);DIR:OUT;SFP:1101; Content-Type: multipart/alternative; boundary="_000_AS8PR08MB7079FFB4A9F0BD31E6184B63EA55AAS8PR08MB7079eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7993 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cdc64cbf-6282-4e94-ac61-08db6bdcec2d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pUutflbTVk63ST+Z7Tw7pmMu1OefE6px1RjaFZYb4OE6BTJ0rLDnh6kLp1cEE60vZgjMvFoOeFWcjxTbyns17yX9gVqMeqs7tf1WdyYgMYznucdHnDgykpb9wCpcw5SFeRiOHHMPa+kCl0By5+wFwcucw+vNAU4srApZcMOfMWswOgKjBUByNUDRrG0nFrKT1cXOna+yB4LIu9zps+4/hmt8HEbT1kmhFL/wO5AO7kgQqXqPZ1e7jGBo1LIAMDVf9U/1eEqRrG1BUz0t4ow8civCOR1e1Qk7PCtyVrP2iDkSwgnF0odgdOSSTXJxR7yg8IYrIfOIff9T9/Od/yV70DdwmpJrEi5k1bfj6P0HF4FxAR0rMAsuekXiXqPGp2oAgz/WRus/A6xIqrqy/sv/cmE3n45sqtqpWmyHuYrxKM7TcpQS5VwEUJZlmTVWLyjNE5ftJzZ1zfp0axElDOAs11x81rAl9reouk4eXGuJwamT/487K9+m1Is5yIhWFFgso7phl9Ifcoy3GZJGaTx0Uq5dqemKp5Oyhn7GK+tbxKTq92aP5JMFeHiD8+BWzFNlsJZasHikyzgFd2yI5CN9QhwoyzNUKKMCcnOCAYHBt/Uhy5biM4GcD+DdS9Mo9mHJ+8lACIkonAfGbOf5OUwZ9tZL/uHv8lzdWIem9x/6F1eLnoUCktBjuvCF73BtwEXk/qNaUadIWaTuNLgMsJXRYRs4ASQw9URc/DkKzzuVQ+NChJbNGBABeq0VOXv+EscNJxzj7mEG/+3X3gg+ASImMg== 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)(346002)(376002)(39860400002)(136003)(396003)(451199021)(36840700001)(40470700004)(46966006)(40460700003)(7696005)(47076005)(336012)(86362001)(82310400005)(82740400003)(81166007)(33656002)(6506007)(9686003)(53546011)(26005)(356005)(40480700001)(55016003)(36860700001)(186003)(2906002)(70206006)(8936002)(4326008)(316002)(6636002)(70586007)(84970400001)(41300700001)(5660300002)(52536014)(478600001)(6862004)(8676002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 07:08:10.9822 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2a6048b4-08c3-48f3-f67b-08db6bdcf29f 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: AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5355 X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,HTML_MESSAGE,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_AS8PR08MB7079FFB4A9F0BD31E6184B63EA55AAS8PR08MB7079eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable From: Richard Sandiford Date: Monday, June 12, 2023 at 2:15 PM To: Tejas Belagod Cc: gcc-patches@gcc.gnu.org , Tejas Belagod Subject: Re: [PATCH v2] [PR96339] Optimise svlast[ab] Tejas Belagod writes: > From: Tejas Belagod > > This PR optimizes an SVE intrinsics sequence where > svlasta (svptrue_pat_b8 (SV_VL1), x) > a scalar is selected based on a constant predicate and a variable vecto= r. > This sequence is optimized to return the correspoding element of a NEON > vector. For eg. > svlasta (svptrue_pat_b8 (SV_VL1), x) > returns > umov w0, v0.b[1] > Likewise, > svlastb (svptrue_pat_b8 (SV_VL1), x) > returns > umov w0, v0.b[0] > This optimization only works provided the constant predicate maps to a = range > that is within the bounds of a 128-bit NEON register. > > gcc/ChangeLog: > > PR target/96339 > * config/aarch64/aarch64-sve-builtins-base.cc (svlast_impl::fold):= Fold sve > calls that have a constant input predicate vector. > (svlast_impl::is_lasta): Query to check if intrinsic is svlasta. > (svlast_impl::is_lastb): Query to check if intrinsic is svlastb. > (svlast_impl::vect_all_same): Check if all vector elements are equ= al. > > gcc/testsuite/ChangeLog: > > PR target/96339 > * gcc.target/aarch64/sve/acle/general-c/svlast.c: New. > * gcc.target/aarch64/sve/acle/general-c/svlast128_run.c: New. > * gcc.target/aarch64/sve/acle/general-c/svlast256_run.c: New. > * gcc.target/aarch64/sve/pcs/return_4.c (caller_bf16): Fix asm > to expect optimized code for function body. > * gcc.target/aarch64/sve/pcs/return_4_128.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_4_256.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_4_512.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_4_1024.c (caller_bf16): Likewi= se. > * gcc.target/aarch64/sve/pcs/return_4_2048.c (caller_bf16): Likewi= se. > * gcc.target/aarch64/sve/pcs/return_5.c (caller_bf16): Likewise. > * gcc.target/aarch64/sve/pcs/return_5_128.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_5_256.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_5_512.c (caller_bf16): Likewis= e. > * gcc.target/aarch64/sve/pcs/return_5_1024.c (caller_bf16): Likewi= se. > * gcc.target/aarch64/sve/pcs/return_5_2048.c (caller_bf16): Likewi= se. OK, thanks. Applied on master, thanks. Tejas. Richard --_000_AS8PR08MB7079FFB4A9F0BD31E6184B63EA55AAS8PR08MB7079eurp_--