From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2054.outbound.protection.outlook.com [40.107.15.54]) by sourceware.org (Postfix) with ESMTPS id 334B93858C2C for ; Thu, 14 Dec 2023 18:41:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 334B93858C2C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 334B93858C2C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.15.54 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1702579263; cv=pass; b=inG8MUlV5KHsYLG5v4ksQ9+EPqnXsfG1ZOykxkd8JtA9ocwAoeTjTj7wa8c6nku8lWPP7zX/e6JW9V+AVboCx0B9kJ8ZhV+psi5Z5GgPNaxWOlgBOuUYHRGe93S5bm3B8+CTkuiYHEHmgy+25vYIm5xpsCXSnbHSScSohezOMNg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1702579263; c=relaxed/simple; bh=GFciUhAck1QHtJFoyYGDMmzEmfF4igWq1632q20PPKU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=NxYEFzQLfzPEQeK4i2hZSMu15E+jTTnIHq72152gF18AqvqLohzMmEwOELVTUUPoPawKgJqKXmZoBub0ABpaf/eprgJOnq7ztSk504m9c/xd6GWhc/lKGsBHyS+mGqqs2MqHjatVSgooUihRZLPfno7ES12nZ1WIKUM8/mbYD0M= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=lOtMu6foOEFTu8QbpPaAHeJKgwRexQbrUMTx6hETrwY2ttabbECI2rXNYYcoMlZapDK/tOC6qJcNe2Caj9ESwymY74srf0xBglKKuqBhyhiucyo56xaVgI9v7BX2MCD5F9UWGSlfOMQN3+X7Jr4hY3dxmTdvF6DebxuemkAsZC8LoUl9jrdEHjfxQWRK8mRAHUl4+JGXYf18X6633Y83lL3cES9fJ15sPZAjQZujP4OdQ1lZ1INEYPzQA7uxasNLzRFux37GuY2A1wckRDzpXiG5NZ1SbNpsLRkw6htFSnhsyFjzdtWe4ZdO74TBuyvXv+dN2FP2FS3ukAs2GQbq5Q== ARC-Message-Signature: i=2; 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=InRUky+e80cmY+mU8y8rm+lxEDjg5/vwkC+DBwfPOS4=; b=mcXZNrGvy9a/GxCnnhkwURHAnJNwi2W47A5hn8ouY/9qIkviHUGPeCjdRf5zkvGddyPQWrTu9Edeu1ShpmYjfhuni/d1KOPqrTunxxharg6AEEfWnolZy2WL/royrwFPVfEQ3F6ybM9PzZonqjMa1qrvQ9Zn5nuYAtjxVtpQPH09BxZIWiOTJao56A2Km4e7AC0pfOM8mHEecPhs8oFBzzaHcLHB88GcHhYIb7v6dw28rvnc6x02cRQ8LtIP8YrKw+w3PdYmTn9d4j8QAeCzbWS7Gg23+pJnghPDzLRBbZeCLVfB+ZwlIc0e0pZ2yUenzggUuIArkPjTSJNUtaBplQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=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=InRUky+e80cmY+mU8y8rm+lxEDjg5/vwkC+DBwfPOS4=; b=cJZlkfYbGAT7iCWOWHKsyMVwmFrVmLRBFSQB54aQBkECG0yh6AL7Wt+9nXPJiEr0EZ34duej698qp4ytEraOnk2dzgRAOzgtj30XJQTfJGjdnt9pwtKASiNLV9i0GvY529/yhdxxS2c4SOl8ottZYTOu2gk64/t/6LluLdHOP5w= Received: from AM5PR0301CA0002.eurprd03.prod.outlook.com (2603:10a6:206:14::15) by PAVPR08MB9114.eurprd08.prod.outlook.com (2603:10a6:102:327::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.28; Thu, 14 Dec 2023 18:40:58 +0000 Received: from AM4PEPF00027A64.eurprd04.prod.outlook.com (2603:10a6:206:14:cafe::28) by AM5PR0301CA0002.outlook.office365.com (2603:10a6:206:14::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.29 via Frontend Transport; Thu, 14 Dec 2023 18:40:58 +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 AM4PEPF00027A64.mail.protection.outlook.com (10.167.16.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.26 via Frontend Transport; Thu, 14 Dec 2023 18:40:58 +0000 Received: ("Tessian outbound 7c4ecdadb9e7:v228"); Thu, 14 Dec 2023 18:40:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8db4bfdd94b9a1ec X-CR-MTA-TID: 64aa7808 Received: from 2d71ea8d9934.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C72721CE-38BD-47B6-A203-B1C923524BAF.1; Thu, 14 Dec 2023 18:40:51 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d71ea8d9934.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Dec 2023 18:40:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UT7HuPUl29d/t5iRdvawKTJUxmXWT05eQmYet3Wl8ubCOSYpWa/LOz7VLqUwO7G8JwR5F640BWw0j+DxuvrCoSJKrGd2AHgnstc7makLfbtEtwBLQp/Bhiz1BwLSJnZjd8OWnXD8nLK1zyruNctTOb94Z/6IDw5RmU6b9CgKmM7bVZz0mijNIkDUEZieMNgHm6EPy2I0kMPtrDtl7FXrLRug98s6icOsyrJ6l3obmaEAoKJY9FO5+OFU9lyb93ZlWY4PyN8elEbOQjPMekQ8j1PHmdY0VGhbZHYsgyUTysyBwFNrTybMuyZ2TchSUOWp86pTn8I/QsSKX0N6rEhisQ== 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=InRUky+e80cmY+mU8y8rm+lxEDjg5/vwkC+DBwfPOS4=; b=axk3xBbMLS/3ZnpY9k98oRwYKc0xSZtE4IuK0d0+saBjqO4QGRqy+s3U34q0ABJMPiXUDFCejzr0aMoqiCl9pmX0D1SQe+PMl7I/GIxtQxhbPXaiqTTbLx9fp/qtvmVJvB/1HJciZfxYoERP300iGKYGXSuCJytl8zdK/ca1myzBQxOmXl2caie5lZ3JZju5Lf1YJts2QCH7chExpUPto2RjZFv/2zNErOxisVWzopgRJNLqm+HNibVp1fYiw3ctTEHxnP96P1Ds71KAvRvZ6oJuSS1rZgx6ChIT4ce8/mmKWwSdF5WdiNxBYzE9bEwAoYO1c5ise7CtKjHNEKG8/w== 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=InRUky+e80cmY+mU8y8rm+lxEDjg5/vwkC+DBwfPOS4=; b=cJZlkfYbGAT7iCWOWHKsyMVwmFrVmLRBFSQB54aQBkECG0yh6AL7Wt+9nXPJiEr0EZ34duej698qp4ytEraOnk2dzgRAOzgtj30XJQTfJGjdnt9pwtKASiNLV9i0GvY529/yhdxxS2c4SOl8ottZYTOu2gk64/t/6LluLdHOP5w= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by DU0PR08MB7518.eurprd08.prod.outlook.com (2603:10a6:10:312::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.28; Thu, 14 Dec 2023 18:40:49 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9679:2ab0:99c6:54a3]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9679:2ab0:99c6:54a3%6]) with mapi id 15.20.7091.028; Thu, 14 Dec 2023 18:40:49 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , Richard Earnshaw , Marcus Shawcroft , Kyrylo Tkachov Subject: RE: [PATCH 17/21]AArch64: Add implementation for vector cbranch for Advanced SIMD Thread-Topic: [PATCH 17/21]AArch64: Add implementation for vector cbranch for Advanced SIMD Thread-Index: AQHaEIS6oq31vWJHo0GMMiZ4C2R21bCQEU1zgAAV/ZOADHe6EIAAkH12gAwozMA= Date: Thu, 14 Dec 2023 18:40:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes 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: VI1PR08MB5325:EE_|DU0PR08MB7518:EE_|AM4PEPF00027A64:EE_|PAVPR08MB9114:EE_ X-MS-Office365-Filtering-Correlation-Id: a70fd878-4ca7-4171-e7fc-08dbfcd436bc 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: H9NXJsFppnh3SsF7iRp6b6C7WRRBnroF3O/bxuc2f9tzZY7IdMsrPtBklOl4gKoyU0IwdW2lKhvz7IAAo5vAh1FS1ImJZ5Z78Ps90CtvzdqHWJ3eWWU1g7N9ydilL9y1kckHHkSgrfZ7bwjhdeqQ39R4dWBTzWhOvSEnZ60n7TvR2TOS4RxlbCAGfv34HlFnbuWducym+kPYix7FrDoM2fsrfpUJHqIsid6s7BfFNE/vBJpV5xuj49x087y5JRcLrg3+0WIYfbdwGV3HzyLJu7t8k/FgfCZ3LWXPmKTGRCrHF/4rXZv0faSd4zTUM2oiE3XoZzKze97JBmvVCavn8Gsb1IzMHLlPzy4vI11qnsUHF2plBZiYA7WM6A3P1UXmjDoCDjHNWXXtcwKpjidmTzHgmZLx2w/qc4GESnxHIzpMvNoFiAa2pxPwxAC1EWHNd8Dygx5ZbJ/CTfmjNqTZD27Rv/HUsk30u26GtJpGgXLGyxly+ecb2v0+4cYVHbbUb4N29yxHRs0pgP8cHSAJi9V+E+PoJq1O0K2V6nlyQsbRCLCFZ/cVhEnI5O+lJeSGasflChquRyz+ad+HdH+cTjim3AWvM34jmf1Sdg9rxio= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(396003)(136003)(376002)(366004)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(7696005)(8936002)(6506007)(9686003)(8676002)(55016003)(6862004)(4326008)(122000001)(99936003)(38100700002)(84970400001)(86362001)(5660300002)(33656002)(71200400001)(26005)(38070700009)(316002)(64756008)(478600001)(76116006)(66946007)(66556008)(66476007)(66446008)(41300700001)(54906003)(6636002)(83380400001)(52536014)(2906002);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_VI1PR08MB53256483FE79C5DED493C6C1FF8CAVI1PR08MB5325eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7518 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: AM4PEPF00027A64.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fbaaf6e1-becd-4f85-c1bf-08dbfcd4314c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M8t2Y4hrJn5xVMdXopZsDyrsoQwF3WLL3wyFHqLoG2N2rYWgdZvNsB3KMSgqHTA8WF+FHnmaTMHZnJBBNux/1RDi8fE0CquzpLECPNQVzenF9ng1mRLsqvMGIMPLbEX/1YZ8T/mNxl0rEE+eboS189bH+hccwKSTXMkFE5nuXlKyD98J4qdlHU8o6XOpx6T5NFbBTA/BaC+0HaqkyMyb/b0UpJJ3CJJ7unERTek7hGbvTE4Y3Tv8IzHwomKo7Y0kb4XjZZNTshvwv7YOdnNBEOpVUEOcPyTUDYNVP8Tusq46Q7NpsZnplBMX1Cg5K+YvRvoXDrhE6lG0z6YPck3U8lRfvcvcz0oZ0adZir/f2EVpbB41U2rEbVOscpvXRgYON/ug0dMpLX5X7rlAlKg/Ms9rg4MxkWy6zm+Kh5YhcQqcJrIPJudEeh2sgrv+iqqpmzycsMnacGXmnjUH+KMKawdvIi4lf0Jw3ddvaNR2179e1BapVri5oIEFdjScqRdA7FZDPLsYyifIlC9tm+/83ndPnLykBjwUqdZx2FY4y17gtNHUg+cwuLDEbVHfEgmPPbUofR+BRAYwiLo+kms+m5qfcKiHsVAoBCvoa2ad0ratrjppAo7w88YsFTXx7pTMK7u4tZMV0pURgJOjG/eBtfUE58SpSy36/OzLCWVVkQvy1AbTDzjS5Z3lYL+oKMEsFpblZaEXdFWMGkpKkBKX3MQQG2euUR/bK0gOJk1ejxY= 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:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(186009)(1800799012)(82310400011)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(40480700001)(84970400001)(356005)(81166007)(36860700001)(47076005)(336012)(26005)(83380400001)(40460700003)(33656002)(86362001)(55016003)(82740400003)(99936003)(7696005)(478600001)(6506007)(9686003)(70206006)(54906003)(6636002)(316002)(8676002)(70586007)(52536014)(4326008)(8936002)(235185007)(6862004)(2906002)(5660300002)(41300700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2023 18:40:58.3892 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a70fd878-4ca7-4171-e7fc-08dbfcd436bc 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: AM4PEPF00027A64.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9114 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,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=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: --_002_VI1PR08MB53256483FE79C5DED493C6C1FF8CAVI1PR08MB5325eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > I see you've changed it from: >=20 > + rtx cc_reg =3D aarch64_gen_compare_reg (code, val, const0_rtx); > + rtx cmp_rtx =3D gen_rtx_fmt_ee (code, DImode, cc_reg, const0_rtx); > + emit_jump_insn (gen_condjump (cmp_rtx, cc_reg, operands[3])); >=20 > to: >=20 > + emit_jump_insn (gen_cbranchdi4 (operands[0], val, CONST0_RTX (DImode), > + operands[3])); >=20 > Was that to fix a specific problem? The original looked OK to me > for that part (it was the vector comparison that I was asking about). >=20 No,It was to be more consistent with the Arm and MVE patch. =20 Note that I may update the tests to disable scheduling. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: * config/aarch64/aarch64-simd.md (cbranch4): New. gcc/testsuite/ChangeLog: * gcc.target/aarch64/vect-early-break-cbranch.c: New test. --- inline copy of patch --- diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch6= 4-simd.md index c6f2d5828373f2a5272b9d1227bfe34365f9fd09..309ec9535294d6e9cdc530f71d9= fe38bb916c966 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -3911,6 +3911,45 @@ (define_expand "vcond_mask_" DONE; }) =20 +;; Patterns comparing two vectors and conditionally jump + +(define_expand "cbranch4" + [(set (pc) + (if_then_else + (match_operator 0 "aarch64_equality_operator" + [(match_operand:VDQ_I 1 "register_operand") + (match_operand:VDQ_I 2 "aarch64_simd_reg_or_zero")]) + (label_ref (match_operand 3 "")) + (pc)))] + "TARGET_SIMD" +{ + auto code =3D GET_CODE (operands[0]); + rtx tmp =3D operands[1]; + + /* If comparing against a non-zero vector we have to do a comparison fir= st + so we can have a !=3D 0 comparison with the result. */ + if (operands[2] !=3D CONST0_RTX (mode)) + { + tmp =3D gen_reg_rtx (mode); + emit_insn (gen_xor3 (tmp, operands[1], operands[2])); + } + + /* For 64-bit vectors we need no reductions. */ + if (known_eq (128, GET_MODE_BITSIZE (mode))) + { + /* Always reduce using a V4SI. */ + rtx reduc =3D gen_lowpart (V4SImode, tmp); + rtx res =3D gen_reg_rtx (V4SImode); + emit_insn (gen_aarch64_umaxpv4si (res, reduc, reduc)); + emit_move_insn (tmp, gen_lowpart (mode, res)); + } + + rtx cc_reg =3D aarch64_gen_compare_reg (code, val, const0_rtx); + rtx cmp_rtx =3D gen_rtx_fmt_ee (code, DImode, cc_reg, const0_rtx); + emit_jump_insn (gen_condjump (cmp_rtx, cc_reg, operands[3])); + DONE; +}) + ;; Patterns comparing two vectors to produce a mask. =20 (define_expand "vec_cmp" diff --git a/gcc/testsuite/gcc.target/aarch64/vect-early-break-cbranch.c b/= gcc/testsuite/gcc.target/aarch64/vect-early-break-cbranch.c new file mode 100644 index 0000000000000000000000000000000000000000..c0363c3787270507d7902bb2ac0= e39faef63a852 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/vect-early-break-cbranch.c @@ -0,0 +1,124 @@ +/* { dg-do compile } */ +/* { dg-options "-O3" } */ +/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */ + +#pragma GCC target "+nosve" + +#define N 640 +int a[N] =3D {0}; +int b[N] =3D {0}; + + +/* +** f1: +** ... +** cmgt v[0-9]+.4s, v[0-9]+.4s, #0 +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f1 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] > 0) + break; + } +} + +/* +** f2: +** ... +** cmge v[0-9]+.4s, v[0-9]+.4s, #0 +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f2 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] >=3D 0) + break; + } +} + +/* +** f3: +** ... +** cmeq v[0-9]+.4s, v[0-9]+.4s, #0 +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f3 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] =3D=3D 0) + break; + } +} + +/* +** f4: +** ... +** cmtst v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f4 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] !=3D 0) + break; + } +} + +/* +** f5: +** ... +** cmlt v[0-9]+.4s, v[0-9]+.4s, #0 +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f5 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] < 0) + break; + } +} + +/* +** f6: +** ... +** cmle v[0-9]+.4s, v[0-9]+.4s, #0 +** umaxp v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s +** fmov x[0-9]+, d[0-9]+ +** cbnz x[0-9]+, \.L[0-9]+ +** ... +*/ +void f6 () +{ + for (int i =3D 0; i < N; i++) + { + b[i] +=3D a[i]; + if (a[i] <=3D 0) + break; + } +} --_002_VI1PR08MB53256483FE79C5DED493C6C1FF8CAVI1PR08MB5325eurp_ Content-Type: application/octet-stream; name="rb17509.patch" Content-Description: rb17509.patch Content-Disposition: attachment; filename="rb17509.patch"; size=4063; creation-date="Thu, 14 Dec 2023 18:40:29 GMT"; modification-date="Thu, 14 Dec 2023 18:40:49 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCmluZGV4IGM2ZjJkNTgyODM3M2YyYTUyNzJiOWQx MjI3YmZlMzQzNjVmOWZkMDkuLjMwOWVjOTUzNTI5NGQ2ZTljZGM1MzBmNzFkOWZlMzhiYjkxNmM5 NjYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZApAQCAtMzkxMSw2ICszOTExLDQ1IEBA IChkZWZpbmVfZXhwYW5kICJ2Y29uZF9tYXNrXzxtb2RlPjx2X2ludF9lcXVpdj4iCiAgIERPTkU7 CiB9KQogCis7OyBQYXR0ZXJucyBjb21wYXJpbmcgdHdvIHZlY3RvcnMgYW5kIGNvbmRpdGlvbmFs bHkganVtcAorCisoZGVmaW5lX2V4cGFuZCAiY2JyYW5jaDxtb2RlPjQiCisgIFsoc2V0IChwYykK KyAgICAgICAgKGlmX3RoZW5fZWxzZQorICAgICAgICAgIChtYXRjaF9vcGVyYXRvciAwICJhYXJj aDY0X2VxdWFsaXR5X29wZXJhdG9yIgorICAgICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZEUV9J IDEgInJlZ2lzdGVyX29wZXJhbmQiKQorICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUV9J IDIgImFhcmNoNjRfc2ltZF9yZWdfb3JfemVybyIpXSkKKyAgICAgICAgICAobGFiZWxfcmVmICht YXRjaF9vcGVyYW5kIDMgIiIpKQorICAgICAgICAgIChwYykpKV0KKyAgIlRBUkdFVF9TSU1EIgor eworICBhdXRvIGNvZGUgPSBHRVRfQ09ERSAob3BlcmFuZHNbMF0pOworICBydHggdG1wID0gb3Bl cmFuZHNbMV07CisKKyAgLyogSWYgY29tcGFyaW5nIGFnYWluc3QgYSBub24temVybyB2ZWN0b3Ig d2UgaGF2ZSB0byBkbyBhIGNvbXBhcmlzb24gZmlyc3QKKyAgICAgc28gd2UgY2FuIGhhdmUgYSAh PSAwIGNvbXBhcmlzb24gd2l0aCB0aGUgcmVzdWx0LiAgKi8KKyAgaWYgKG9wZXJhbmRzWzJdICE9 IENPTlNUMF9SVFggKDxNT0RFPm1vZGUpKQorICAgIHsKKyAgICAgIHRtcCA9IGdlbl9yZWdfcnR4 ICg8TU9ERT5tb2RlKTsKKyAgICAgIGVtaXRfaW5zbiAoZ2VuX3hvcjxtb2RlPjMgKHRtcCwgb3Bl cmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CisgICAgfQorCisgIC8qIEZvciA2NC1iaXQgdmVjdG9y cyB3ZSBuZWVkIG5vIHJlZHVjdGlvbnMuICAqLworICBpZiAoa25vd25fZXEgKDEyOCwgR0VUX01P REVfQklUU0laRSAoPE1PREU+bW9kZSkpKQorICAgIHsKKyAgICAgIC8qIEFsd2F5cyByZWR1Y2Ug dXNpbmcgYSBWNFNJLiAgKi8KKyAgICAgIHJ0eCByZWR1YyA9IGdlbl9sb3dwYXJ0IChWNFNJbW9k ZSwgdG1wKTsKKyAgICAgIHJ0eCByZXMgPSBnZW5fcmVnX3J0eCAoVjRTSW1vZGUpOworICAgICAg ZW1pdF9pbnNuIChnZW5fYWFyY2g2NF91bWF4cHY0c2kgKHJlcywgcmVkdWMsIHJlZHVjKSk7Cisg ICAgICBlbWl0X21vdmVfaW5zbiAodG1wLCBnZW5fbG93cGFydCAoPE1PREU+bW9kZSwgcmVzKSk7 CisgICAgfQorCisgIHJ0eCBjY19yZWcgPSBhYXJjaDY0X2dlbl9jb21wYXJlX3JlZyAoY29kZSwg dmFsLCBjb25zdDBfcnR4KTsKKyAgcnR4IGNtcF9ydHggPSBnZW5fcnR4X2ZtdF9lZSAoY29kZSwg REltb2RlLCBjY19yZWcsIGNvbnN0MF9ydHgpOworICBlbWl0X2p1bXBfaW5zbiAoZ2VuX2NvbmRq dW1wIChjbXBfcnR4LCBjY19yZWcsIG9wZXJhbmRzWzNdKSk7CisgIERPTkU7Cit9KQorCiA7OyBQ YXR0ZXJucyBjb21wYXJpbmcgdHdvIHZlY3RvcnMgdG8gcHJvZHVjZSBhIG1hc2suCiAKIChkZWZp bmVfZXhwYW5kICJ2ZWNfY21wPG1vZGU+PG1vZGU+IgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvdmVjdC1lYXJseS1icmVhay1jYnJhbmNoLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC92ZWN0LWVhcmx5LWJyZWFrLWNicmFuY2guYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwLi5jMDM2M2MzNzg3MjcwNTA3ZDc5MDJiYjJhYzBlMzlmYWVmNjNhODUyCi0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvdmVjdC1lYXJseS1i cmVhay1jYnJhbmNoLmMKQEAgLTAsMCArMSwxMjQgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0 aW9uLWJvZGllcyAiKioiICIiICIiIHsgdGFyZ2V0IGxwNjQgfSB9IH0gKi8KKworI3ByYWdtYSBH Q0MgdGFyZ2V0ICIrbm9zdmUiCisKKyNkZWZpbmUgTiA2NDAKK2ludCBhW05dID0gezB9OworaW50 IGJbTl0gPSB7MH07CisKKworLyoKKyoqIGYxOgorKioJLi4uCisqKgljbWd0CXZbMC05XSsuNHMs IHZbMC05XSsuNHMsICMwCisqKgl1bWF4cAl2WzAtOV0rLjRzLCB2WzAtOV0rLjRzLCB2WzAtOV0r LjRzCisqKglmbW92CXhbMC05XSssIGRbMC05XSsKKyoqCWNibnoJeFswLTldKywgXC5MWzAtOV0r CisqKgkuLi4KKyovCit2b2lkIGYxICgpCit7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsr KQorICAgIHsKKyAgICAgIGJbaV0gKz0gYVtpXTsKKyAgICAgIGlmIChhW2ldID4gMCkKKwlicmVh azsKKyAgICB9Cit9CisKKy8qCisqKiBmMjoKKyoqCS4uLgorKioJY21nZQl2WzAtOV0rLjRzLCB2 WzAtOV0rLjRzLCAjMAorKioJdW1heHAJdlswLTldKy40cywgdlswLTldKy40cywgdlswLTldKy40 cworKioJZm1vdgl4WzAtOV0rLCBkWzAtOV0rCisqKgljYm56CXhbMC05XSssIFwuTFswLTldKwor KioJLi4uCisqLwordm9pZCBmMiAoKQoreworICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykK KyAgICB7CisgICAgICBiW2ldICs9IGFbaV07CisgICAgICBpZiAoYVtpXSA+PSAwKQorCWJyZWFr OworICAgIH0KK30KKworLyoKKyoqIGYzOgorKioJLi4uCisqKgljbWVxCXZbMC05XSsuNHMsIHZb MC05XSsuNHMsICMwCisqKgl1bWF4cAl2WzAtOV0rLjRzLCB2WzAtOV0rLjRzLCB2WzAtOV0rLjRz CisqKglmbW92CXhbMC05XSssIGRbMC05XSsKKyoqCWNibnoJeFswLTldKywgXC5MWzAtOV0rCisq KgkuLi4KKyovCit2b2lkIGYzICgpCit7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQor ICAgIHsKKyAgICAgIGJbaV0gKz0gYVtpXTsKKyAgICAgIGlmIChhW2ldID09IDApCisJYnJlYWs7 CisgICAgfQorfQorCisvKgorKiogZjQ6CisqKgkuLi4KKyoqCWNtdHN0CXZbMC05XSsuNHMsIHZb MC05XSsuNHMsIHZbMC05XSsuNHMKKyoqCXVtYXhwCXZbMC05XSsuNHMsIHZbMC05XSsuNHMsIHZb MC05XSsuNHMKKyoqCWZtb3YJeFswLTldKywgZFswLTldKworKioJY2Juegl4WzAtOV0rLCBcLkxb MC05XSsKKyoqCS4uLgorKi8KK3ZvaWQgZjQgKCkKK3sKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBO OyBpKyspCisgICAgeworICAgICAgYltpXSArPSBhW2ldOworICAgICAgaWYgKGFbaV0gIT0gMCkK KwlicmVhazsKKyAgICB9Cit9CisKKy8qCisqKiBmNToKKyoqCS4uLgorKioJY21sdAl2WzAtOV0r LjRzLCB2WzAtOV0rLjRzLCAjMAorKioJdW1heHAJdlswLTldKy40cywgdlswLTldKy40cywgdlsw LTldKy40cworKioJZm1vdgl4WzAtOV0rLCBkWzAtOV0rCisqKgljYm56CXhbMC05XSssIFwuTFsw LTldKworKioJLi4uCisqLwordm9pZCBmNSAoKQoreworICBmb3IgKGludCBpID0gMDsgaSA8IE47 IGkrKykKKyAgICB7CisgICAgICBiW2ldICs9IGFbaV07CisgICAgICBpZiAoYVtpXSA8IDApCisJ YnJlYWs7CisgICAgfQorfQorCisvKgorKiogZjY6CisqKgkuLi4KKyoqCWNtbGUJdlswLTldKy40 cywgdlswLTldKy40cywgIzAKKyoqCXVtYXhwCXZbMC05XSsuNHMsIHZbMC05XSsuNHMsIHZbMC05 XSsuNHMKKyoqCWZtb3YJeFswLTldKywgZFswLTldKworKioJY2Juegl4WzAtOV0rLCBcLkxbMC05 XSsKKyoqCS4uLgorKi8KK3ZvaWQgZjYgKCkKK3sKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBp KyspCisgICAgeworICAgICAgYltpXSArPSBhW2ldOworICAgICAgaWYgKGFbaV0gPD0gMCkKKwli cmVhazsKKyAgICB9Cit9Cg== --_002_VI1PR08MB53256483FE79C5DED493C6C1FF8CAVI1PR08MB5325eurp_--