From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2078.outbound.protection.outlook.com [40.107.247.78]) by sourceware.org (Postfix) with ESMTPS id 5B4143857736 for ; Mon, 15 May 2023 14:04:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5B4143857736 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=5aUmpNCB5KS2HufMituFEdl6arD1ZJRSuavw/W48t9E=; b=GnfmX7J62ta77jRSXHnDrSHj42rztG7US+7lthBhMUryJ0U3S4YEsj7CyjMtTmjckDM/beG9+VbVioHsnwsZZA4jjz0GWQlC8OzKDFkzpbeuRL4zFiQWfazkdJwEMV3Rt7+boGLmm7qgZ1D8u0DBkBGfXGpbToCTx1CegiCVnA8= Received: from AS9P194CA0025.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::15) by PAWPR08MB9967.eurprd08.prod.outlook.com (2603:10a6:102:358::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 14:04:33 +0000 Received: from AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46d:cafe::5f) by AS9P194CA0025.outlook.office365.com (2603:10a6:20b:46d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30 via Frontend Transport; Mon, 15 May 2023 14:04:33 +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 AM7EUR03FT007.mail.protection.outlook.com (100.127.140.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.14 via Frontend Transport; Mon, 15 May 2023 14:04:31 +0000 Received: ("Tessian outbound e13c2446394c:v136"); Mon, 15 May 2023 14:04:31 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1dd1dfd832f6eca1 X-CR-MTA-TID: 64aa7808 Received: from e1d44c2ed3e3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 61104C58-BA1C-482F-A754-EBAB9B823E65.1; Mon, 15 May 2023 14:04:18 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e1d44c2ed3e3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 15 May 2023 14:04:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eJ0mueX+CCCt6kd5R2+PC1xLP/cHfoLzC/oUOXnT+8GcAMR75aBgqLYwexfFA1GegbjukE0qTxgSRV640z842akLdd7ryl1xvy9hqsrsoEqLiUs1+ZzM3D2kDoBh5W9KG+yre1kkhe+H0aJVaaE3pltnAa/ljNtDba0mxcA6PmXv9qxFf+xYd4iEIVTaoUz9kEjGCKEKKRBYFpcwyNnujX1NPdFRukO+jKX92YIKkZGYlIQafyq+Pa1iMW3D9yICUHZCwcAGWKc5zCQkMfk1TG8ZVyRqK1ch9wqCE+xBwIjECuIXo21/sTBsXxy2ueyGoxk27Ct61IbdeHmk/MkSuA== 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=5aUmpNCB5KS2HufMituFEdl6arD1ZJRSuavw/W48t9E=; b=JPPo+AvnuYE9glrxrkfTU7q4oL9/O3JeV8y0QtVxj4a8tel7IQCSumjssc6IgnabWT1I7KO3gLy3F8WXmhlRTLG/fc9hJd50HmAXBZ97omPH0uBVSZQdh+hbybmr2XcDJrSfGR3S4iDdN4/tuMkpIgsnArycrvAjl0eJl1IATbSvYWgU4aIn+WGgIJARKYpLDmcCn/AcCrUPSjzW9Hxv32iZU02F+DteZAO85yFgufmLTpJx0BESaHyEUYEjzxIXCsHjeo/nioZRljVyhR6gw94RDiZDENL2NbXAhUUAdNCnFccecv+7E6XJbEOtxoLm3/R/uScUF1Hd40qil2eX8A== 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=5aUmpNCB5KS2HufMituFEdl6arD1ZJRSuavw/W48t9E=; b=GnfmX7J62ta77jRSXHnDrSHj42rztG7US+7lthBhMUryJ0U3S4YEsj7CyjMtTmjckDM/beG9+VbVioHsnwsZZA4jjz0GWQlC8OzKDFkzpbeuRL4zFiQWfazkdJwEMV3Rt7+boGLmm7qgZ1D8u0DBkBGfXGpbToCTx1CegiCVnA8= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by AM9PR08MB5940.eurprd08.prod.outlook.com (2603:10a6:20b:281::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 14:04:15 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1%3]) with mapi id 15.20.6387.030; Mon, 15 May 2023 14:04:15 +0000 From: Kyrylo Tkachov To: Richard Sandiford , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH 2/6] aarch64: Allow moves after tied-register intrinsics Thread-Topic: [PATCH 2/6] aarch64: Allow moves after tied-register intrinsics Thread-Index: AQHZgkKpU13axs51vkimrY3iaO0TSq9bZv1w Date: Mon, 15 May 2023 14:04:15 +0000 Message-ID: References: <20230509064831.1651327-1-richard.sandiford@arm.com> <20230509064831.1651327-3-richard.sandiford@arm.com> In-Reply-To: <20230509064831.1651327-3-richard.sandiford@arm.com> 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: PAXPR08MB6926:EE_|AM9PR08MB5940:EE_|AM7EUR03FT007:EE_|PAWPR08MB9967:EE_ X-MS-Office365-Filtering-Correlation-Id: f3676e2d-f7a8-4e27-2e17-08db554d4e1c 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: qYhlC+gvsJedUCpeJh88UJ8qwL48Q8PROvOwQOYCpsUfXZgjBB+p2k455ow5xJmV0myAerynP/l3eGjrpZH3t/FIN17GJIE6My0OhPuTOC3QY5XKb3IeOCmetWmxT1cOgA42VS200oZo41s4rJBDDwzSMDOGLZwSsb4E+8Q89EqOcldTBFdmziJQ0R5zqSuZ4VpvsE463LBfoZEru8yF9BFNF+Qf8DgwLJqu8/GoXJbmrybkk+LZKD0b+jkjCkEHy2gXgabS2KBGYeOaGblGcfQwoOnWH7D6gbjgdQB55DWF6FryWl3eCT+w9W2/bhGulrP3ajeQB1dbqSqMj3cdYZKkDHkDHwG4EOfvxtusw8CXvFEdQ97JNVJGMPq0bo6FyqlGAx2bSwpD3JQHoSyv5v6UNj4lIvR4T2wKirXx19If5oOt4F6VRXDYu2+J76aJryoNDELoBiz9NJM1EChM0I7tna7N+uiDTice0ZegeCEF3CHtyWZQ4nBEZc06ZuXDq8HSggL0xPN6pOy6L6qv38asOGXkwltBdgYG7oXXSG+XIyZmR+hX8pGj5WLw5NzLGYbxQFl1CZpazCAR0cKdF0e1hO+heO+myxJP5NpHgjEIAohnVCe4XdWUlC+TMUUNCWM4N5R062R/ObvACSbAjw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(376002)(366004)(346002)(136003)(451199021)(33656002)(86362001)(110136005)(316002)(64756008)(66946007)(66476007)(66446008)(66556008)(478600001)(76116006)(7696005)(55016003)(5660300002)(52536014)(8676002)(8936002)(30864003)(2906002)(38070700005)(38100700002)(122000001)(41300700001)(186003)(53546011)(26005)(6506007)(9686003)(83380400001)(71200400001)(84970400001)(579004)(559001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5940 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: AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 937b2483-d65f-49e1-cdb9-08db554d4466 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sdPp1ZF6cVWPzin3wvXdlmnUs3r1knoH4RPZcGazinVrQ4+J1FbK4UZsEm7IU20R3Mev/g8WIWE/RKUMrMQq4DoxspHT64U1zAK5DjmTbti619rMppagK0yJT+MTc3kitl0+ANd363tC/hn/YtxqaFd8KsdBbLE1e65m0FxlOZU7uOvNL0t0V5ZBSC0QJG/dfwKEhwWfIllcm1Qy4d/2X8WxgAI/lqiKT2cTMbmO/O1KivRYtcVDNlVbcT2rg1zcjGQF5wWW1q/m+NEJ+SJ7je8Lp18Fzl4+eJd5dkD4slRUZXdSUcBLDisLYsdpDg3O6ywjQhbpHiLPg+wph3KTaLJ4ZVMd3elmNlcKK0QEA49SVotnHEhbE8bQC6Ke1wmQODXXP21MDXQz8PAP2i+8vUN/mRYJNc5g1tuFML15B9wnucL/U76Fgt0chEXb01SXjgZlQFlM/BxwN6sllSpSirikLGUpi2y6elTP2kld6wKVDOorGhEU5E6MXHZV9yb7aR865aT6tOd2Jx40LxQW8qFZWMU77amGC4Dmc32f+l50GdBjhycmzJAUkOhAn1hca8d05wXT0S5QDHcMqBncO69tg9NcRpLi/CuA8aTe4CY3sktowE3bHjstgSvRtLUvuxKazAxiaulf95qT5T4IQKbFMI2lNgGCvBqxag3ZfKW84eiozZKnTotZi5K2oJhbrxwNwQ2BVSwafGKRAHuK8VaK+nQqksSX74qOKkP4K1hffbhMvhDCUGMRqxmYWekaBZ3BJIgkG+dBBZ9rEwGYTQ== 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)(396003)(39860400002)(346002)(136003)(376002)(451199021)(46966006)(36840700001)(40470700004)(81166007)(356005)(86362001)(82310400005)(82740400003)(33656002)(84970400001)(40460700003)(83380400001)(55016003)(41300700001)(5660300002)(316002)(186003)(6506007)(8936002)(8676002)(26005)(53546011)(9686003)(52536014)(40480700001)(2906002)(36860700001)(336012)(47076005)(70206006)(70586007)(110136005)(30864003)(478600001)(7696005)(579004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2023 14:04:31.3588 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f3676e2d-f7a8-4e27-2e17-08db554d4e1c 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: AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9967 X-Spam-Status: No, score=-11.5 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: Hi Richard, > -----Original Message----- > From: Gcc-patches bounces+kyrylo.tkachov=3Darm.com@gcc.gnu.org> On Behalf Of Richard > Sandiford via Gcc-patches > Sent: Tuesday, May 9, 2023 7:48 AM > To: gcc-patches@gcc.gnu.org > Cc: Richard Sandiford > Subject: [PATCH 2/6] aarch64: Allow moves after tied-register intrinsics >=20 > Some ACLE intrinsics map to instructions that tie the output > operand to an input operand. If all the operands are allocated > to different registers, and if MOVPRFX can't be used, we will need > a move either before the instruction or after it. Many tests only > matched the "before" case; this patch makes them accept the "after" > case too. >=20 > gcc/testsuite/ > * gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: Allow > moves to occur after the intrinsic instruction, rather than requiring > them to happen before. > * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise. > * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise. I'm seeing some dot-product intrinsics failures: FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O1 check-functio= n-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O1 check-functio= n-bodies ufooq_lane_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 check-functio= n-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 check-functio= n-bodies ufooq_lane_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 -flto -fno-use-= linker-plugin -flto-partition=3Dnone check-function-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 -flto -fno-use-= linker-plugin -flto-partition=3Dnone check-function-bodies ufooq_lane_unt= ied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O3 -g check-func= tion-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O3 -g check-func= tion-bodies ufooq_lane_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Og -g check-func= tion-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Og -g check-func= tion-bodies ufooq_lane_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Os check-functio= n-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Os check-functio= n-bodies ufooq_lane_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O1 check-functi= on-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O1 check-functi= on-bodies ufooq_laneq_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 check-functi= on-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 check-functi= on-bodies ufooq_laneq_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 -flto -fno-use= -linker-plugin -flto-partition=3Dnone check-function-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 -flto -fno-use= -linker-plugin -flto-partition=3Dnone check-function-bodies ufooq_laneq_u= ntied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O3 -g check-fun= ction-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O3 -g check-fun= ction-bodies ufooq_laneq_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Og -g check-fun= ction-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Og -g check-fun= ction-bodies ufooq_laneq_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Os check-functi= on-bodies ufoo_untied FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Os check-functi= on-bodies ufooq_laneq_untied >From a quick inspection it looks like it's just an alternative regalloc tha= t moves the mov + dot instructions around, similar to what you fixed in bfd= ot-2.c and vdot-3-2.c. I guess they need a similar adjustment? Thanks, Kyrill > * gcc.target/aarch64/sve/acle/asm/adda_f16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/brka_b.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/brkb_b.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/brkn_b.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clasta_f16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clasta_f32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clasta_f64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clastb_f16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clastb_f32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/clastb_f64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/pfirst_b.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/pnext_b16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/pnext_b32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/pnext_b64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/pnext_b8.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_s16.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_s32.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_s64.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_s8.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_u16.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_u32.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_u64.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sli_u8.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_s16.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_s32.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_s64.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_s8.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_u16.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_u32.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_u64.c: Likewise. > * gcc.target/aarch64/sve2/acle/asm/sri_u8.c: Likewise. > --- > .../aarch64/advsimd-intrinsics/bfcvtnq2-untied.c | 5 +++++ > .../aarch64/advsimd-intrinsics/bfdot-1.c | 10 ++++++++++ > .../aarch64/advsimd-intrinsics/vdot-3-1.c | 10 ++++++++++ > .../gcc.target/aarch64/sve/acle/asm/adda_f16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/adda_f32.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/adda_f64.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/brka_b.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/brkb_b.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/brkn_b.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clasta_bf16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clasta_f16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clasta_f32.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clasta_f64.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clastb_bf16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clastb_f16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clastb_f32.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/clastb_f64.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/pfirst_b.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/pnext_b16.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/pnext_b32.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/pnext_b64.c | 5 +++++ > .../gcc.target/aarch64/sve/acle/asm/pnext_b8.c | 5 +++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_s16.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_s32.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_s64.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_s8.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_u16.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_u32.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_u64.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sli_u8.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_s16.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_s32.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_s64.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_s8.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_u16.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_u32.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_u64.c | 15 +++++++++++++++ > .../gcc.target/aarch64/sve2/acle/asm/sri_u8.c | 15 +++++++++++++++ > 38 files changed, 360 insertions(+) >=20 > diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2= - > untied.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2- > untied.c > index 4b730e39d4e..1143bb797bc 100644 > --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied= .c > +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied= .c > @@ -9,8 +9,13 @@ >=20 > /* > **test_bfcvtnq2_untied: > +** ( > ** mov v0.16b, v1.16b > ** bfcvtn2 v0.8h, v2.4s > +** | > +** bfcvtn2 v1.8h, v2.4s > +** mov v0.16b, v1.16b > +** ) > ** ret > */ > bfloat16x8_t test_bfcvtnq2_untied (bfloat16x8_t unused, bfloat16x8_t > inactive, > diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.= c > b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c > index ad51507731b..a5baf57cd5c 100644 > --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c > +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c > @@ -69,8 +69,13 @@ float32x4_t ufooq_lane(float32x4_t r, bfloat16x8_t x, > bfloat16x4_t y) >=20 > /* > **ufoo_untied: > +** ( > ** mov v0.8b, v1.8b > ** bfdot v0.2s, (v2.4h, v3.4h|v3.4h, v2.4h) > +** | > +** bfdot v1.2s, (v2.4h, v3.4h|v3.4h, v2.4h) > +** mov v0.8b, v1.8b > +** ) > ** ret > */ > float32x2_t ufoo_untied(float32x4_t unused, float32x2_t r, bfloat16x4_t = x, > bfloat16x4_t y) > @@ -80,8 +85,13 @@ float32x2_t ufoo_untied(float32x4_t unused, > float32x2_t r, bfloat16x4_t x, bfloa >=20 > /* > **ufooq_lane_untied: > +** ( > ** mov v0.16b, v1.16b > ** bfdot v0.4s, v2.8h, v3.2h\[1\] > +** | > +** bfdot v1.4s, v2.8h, v3.2h\[1\] > +** mov v0.16b, v1.16b > +** ) > ** ret > */ > float32x4_t ufooq_lane_untied(float32x4_t unused, float32x4_t r, > bfloat16x8_t x, bfloat16x4_t y) > diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1= .c > b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c > index ac4f821e771..a245b9f792a 100644 > --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c > +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c > @@ -114,8 +114,13 @@ int32x4_t sfooq_laneq (int32x4_t r, int8x16_t x, > uint8x16_t y) >=20 > /* > **ufoo_untied: > +** ( > ** mov v0\.8b, v1\.8b > ** usdot v0\.2s, v2\.8b, v3\.8b > +** | > +** usdot v1\.2s, v2\.8b, v3\.8b > +** mov v0\.8b, v1\.8b > +** ) > ** ret > */ > int32x2_t ufoo_untied (int32x2_t unused, int32x2_t r, uint8x8_t x, int8x= 8_t y) > @@ -125,8 +130,13 @@ int32x2_t ufoo_untied (int32x2_t unused, int32x2_t > r, uint8x8_t x, int8x8_t y) >=20 > /* > **ufooq_laneq_untied: > +** ( > ** mov v0\.16b, v1\.16b > ** usdot v0\.4s, v2\.16b, v3\.4b\[3\] > +** | > +** usdot v1\.4s, v2\.16b, v3\.4b\[3\] > +** mov v0\.16b, v1\.16b > +** ) > ** ret > */ > int32x4_t ufooq_laneq_untied (int32x2_t unused, int32x4_t r, uint8x16_t = x, > int8x16_t y) > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c > index 6c6bfa1c294..642c45ab492 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c > @@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f16, float16_t, > svfloat16_t, >=20 > /* > ** adda_d1_f16: > +** ( > ** mov v0\.h\[0\], v1\.h\[0\] > ** fadda h0, p0, h0, z2\.h > +** | > +** fadda h1, p0, h1, z2\.h > +** mov v0\.h\[0\], v1\.h\[0\] > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (adda_d1_f16, float16_t, svfloat16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c > index 8b2a1dd1c68..79bdd3d8048 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c > @@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f32, float32_t, > svfloat32_t, >=20 > /* > ** adda_d1_f32: > +** ( > ** fmov s0, s1 > ** fadda s0, p0, s0, z2\.s > +** | > +** fadda s1, p0, s1, z2\.s > +** fmov s0, s1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (adda_d1_f32, float32_t, svfloat32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c > index 90a56420a6a..c8f56772218 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c > @@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f64, float64_t, > svfloat64_t, >=20 > /* > ** adda_d1_f64: > +** ( > ** fmov d0, d1 > ** fadda d0, p0, d0, z2\.d > +** | > +** fadda d1, p0, d1, z2\.d > +** fmov d0, d1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (adda_d1_f64, float64_t, svfloat64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brka_b.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brka_b.c > index 63426cf947d..7a20a22d128 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brka_b.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brka_b.c > @@ -27,8 +27,13 @@ TEST_UNIFORM_P (brka_b_m_tied2, >=20 > /* > ** brka_b_m_untied: > +** ( > ** mov p0\.b, p2\.b > ** brka p0\.b, p3/m, p1\.b > +** | > +** brka p2\.b, p3/m, p1\.b > +** mov p0\.b, p2\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (brka_b_m_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkb_b.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkb_b.c > index 4f9a2c2d7b9..f1c8c436863 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkb_b.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkb_b.c > @@ -27,8 +27,13 @@ TEST_UNIFORM_P (brkb_b_m_tied2, >=20 > /* > ** brkb_b_m_untied: > +** ( > ** mov p0\.b, p2\.b > ** brkb p0\.b, p3/m, p1\.b > +** | > +** brkb p2\.b, p3/m, p1\.b > +** mov p0\.b, p2\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (brkb_b_m_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkn_b.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkn_b.c > index 229a5fff9eb..69e8eb6b0e5 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkn_b.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkn_b.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_P (brkn_b_z_tied2, >=20 > /* > ** brkn_b_z_untied: > +** ( > ** mov p0\.b, p2\.b > ** brkn p0\.b, p3/z, p1\.b, p0\.b > +** | > +** brkn p2\.b, p3/z, p1\.b, p2\.b > +** mov p0\.b, p2\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (brkn_b_z_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_bf16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_bf16.c > index a15e34400f6..54a1d1af178 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_bf16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_bf16.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_bf16, bfloat16_t, > svbfloat16_t, >=20 > /* > ** clasta_d1_bf16: > +** ( > ** mov v0\.h\[0\], v1\.h\[0\] > ** clasta h0, p0, h0, z2\.h > +** | > +** clasta h1, p0, h1, z2\.h > +** mov v0\.h\[0\], v1\.h\[0\] > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clasta_d1_bf16, bfloat16_t, svbfloat16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f16.c > index d9a980f60c0..243cad40f56 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f16.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f16, float16_t, > svfloat16_t, >=20 > /* > ** clasta_d1_f16: > +** ( > ** mov v0\.h\[0\], v1\.h\[0\] > ** clasta h0, p0, h0, z2\.h > +** | > +** clasta h1, p0, h1, z2\.h > +** mov v0\.h\[0\], v1\.h\[0\] > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clasta_d1_f16, float16_t, svfloat16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f32.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f32.c > index cac01fa6d64..44e700ada9a 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f32.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f32, float32_t, > svfloat32_t, >=20 > /* > ** clasta_d1_f32: > +** ( > ** fmov s0, s1 > ** clasta s0, p0, s0, z2\.s > +** | > +** clasta s1, p0, s1, z2\.s > +** fmov s0, s1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clasta_d1_f32, float32_t, svfloat32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f64.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f64.c > index 43b93553ba8..fb147d51f0c 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f64.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f64, float64_t, > svfloat64_t, >=20 > /* > ** clasta_d1_f64: > +** ( > ** fmov d0, d1 > ** clasta d0, p0, d0, z2\.d > +** | > +** clasta d1, p0, d1, z2\.d > +** fmov d0, d1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clasta_d1_f64, float64_t, svfloat64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_bf16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_bf16.c > index 235fd1b4ed6..8dcb9a152b5 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_bf16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_bf16.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_bf16, bfloat16_t, > svbfloat16_t, >=20 > /* > ** clastb_d1_bf16: > +** ( > ** mov v0\.h\[0\], v1\.h\[0\] > ** clastb h0, p0, h0, z2\.h > +** | > +** clastb h1, p0, h1, z2\.h > +** mov v0\.h\[0\], v1\.h\[0\] > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clastb_d1_bf16, bfloat16_t, svbfloat16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f16.c > index e56d7688a1c..08e63cee9e8 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f16.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f16, float16_t, > svfloat16_t, >=20 > /* > ** clastb_d1_f16: > +** ( > ** mov v0\.h\[0\], v1\.h\[0\] > ** clastb h0, p0, h0, z2\.h > +** | > +** clastb h1, p0, h1, z2\.h > +** mov v0\.h\[0\], v1\.h\[0\] > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clastb_d1_f16, float16_t, svfloat16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f32.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f32.c > index c580d13064b..8d71344b2ce 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f32.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f32, float32_t, > svfloat32_t, >=20 > /* > ** clastb_d1_f32: > +** ( > ** fmov s0, s1 > ** clastb s0, p0, s0, z2\.s > +** | > +** clastb s1, p0, s1, z2\.s > +** fmov s0, s1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clastb_d1_f32, float32_t, svfloat32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f64.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f64.c > index 217a76f5112..6b24dcad17e 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f64.c > @@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f64, float64_t, > svfloat64_t, >=20 > /* > ** clastb_d1_f64: > +** ( > ** fmov d0, d1 > ** clastb d0, p0, d0, z2\.d > +** | > +** clastb d1, p0, d1, z2\.d > +** fmov d0, d1 > +** ) > ** ret > */ > TEST_FOLD_LEFT_D (clastb_d1_f64, float64_t, svfloat64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pfirst_b.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pfirst_b.c > index a32099656cc..9ec5f00c7f1 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pfirst_b.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pfirst_b.c > @@ -13,8 +13,13 @@ TEST_UNIFORM_P (pfirst_b_tied1, >=20 > /* > ** pfirst_b_untied: > +** ( > ** mov p0\.b, p1\.b > ** pfirst p0\.b, p3, p0\.b > +** | > +** pfirst p1\.b, p3, p1\.b > +** mov p0\.b, p1\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (pfirst_b_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b16.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b16.c > index ad0efe5e711..efb76e8ba8a 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b16.c > @@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b16_tied1, >=20 > /* > ** pnext_b16_untied: > +** ( > ** mov p0\.b, p1\.b > ** pnext p0\.h, p3, p0\.h > +** | > +** pnext p1\.h, p3, p1\.h > +** mov p0\.b, p1\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (pnext_b16_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b32.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b32.c > index a0030fae18d..1f57253fbf1 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b32.c > @@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b32_tied1, >=20 > /* > ** pnext_b32_untied: > +** ( > ** mov p0\.b, p1\.b > ** pnext p0\.s, p3, p0\.s > +** | > +** pnext p1\.s, p3, p1\.s > +** mov p0\.b, p1\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (pnext_b32_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b64.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b64.c > index 59db2f04f2a..eed5a56f134 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b64.c > @@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b64_tied1, >=20 > /* > ** pnext_b64_untied: > +** ( > ** mov p0\.b, p1\.b > ** pnext p0\.d, p3, p0\.d > +** | > +** pnext p1\.d, p3, p1\.d > +** mov p0\.b, p1\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (pnext_b64_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b8.c > b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b8.c > index cfc2e907c25..a36d43c4cff 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b8.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b8.c > @@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b8_tied1, >=20 > /* > ** pnext_b8_untied: > +** ( > ** mov p0\.b, p1\.b > ** pnext p0\.b, p3, p0\.b > +** | > +** pnext p1\.b, p3, p1\.b > +** mov p0\.b, p1\.b > +** ) > ** ret > */ > TEST_UNIFORM_P (pnext_b8_untied, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s16.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s16.c > index 6772a5620d2..d91d499da5a 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s16.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s16_tied2, svint16_t, >=20 > /* > ** sli_0_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #0 > +** | > +** sli z1\.h, z2\.h, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_s16_untied, svint16_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s16_tied2, svint16_t, >=20 > /* > ** sli_1_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #1 > +** | > +** sli z1\.h, z2\.h, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_s16_untied, svint16_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_15_s16_tied2, svint16_t, >=20 > /* > ** sli_15_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #15 > +** | > +** sli z1\.h, z2\.h, #15 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_15_s16_untied, svint16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s32.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s32.c > index 023e7c40d3e..3ae507c432c 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s32.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s32_tied2, svint32_t, >=20 > /* > ** sli_0_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #0 > +** | > +** sli z1\.s, z2\.s, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_s32_untied, svint32_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s32_tied2, svint32_t, >=20 > /* > ** sli_1_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #1 > +** | > +** sli z1\.s, z2\.s, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_s32_untied, svint32_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_31_s32_tied2, svint32_t, >=20 > /* > ** sli_31_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #31 > +** | > +** sli z1\.s, z2\.s, #31 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_31_s32_untied, svint32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s64.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s64.c > index c37db1b4796..93c5723a804 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s64.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s64_tied2, svint64_t, >=20 > /* > ** sli_0_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #0 > +** | > +** sli z1\.d, z2\.d, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_s64_untied, svint64_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s64_tied2, svint64_t, >=20 > /* > ** sli_1_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #1 > +** | > +** sli z1\.d, z2\.d, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_s64_untied, svint64_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_63_s64_tied2, svint64_t, >=20 > /* > ** sli_63_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #63 > +** | > +** sli z1\.d, z2\.d, #63 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_63_s64_untied, svint64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s8.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s8.c > index ea0dcdc1871..5ac336f76d1 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s8.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s8.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s8_tied2, svint8_t, >=20 > /* > ** sli_0_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #0 > +** | > +** sli z1\.b, z2\.b, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_s8_untied, svint8_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s8_tied2, svint8_t, >=20 > /* > ** sli_1_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #1 > +** | > +** sli z1\.b, z2\.b, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_s8_untied, svint8_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_7_s8_tied2, svint8_t, >=20 > /* > ** sli_7_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #7 > +** | > +** sli z1\.b, z2\.b, #7 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_7_s8_untied, svint8_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u16.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u16.c > index 475c00ea6a4..b6cbb55b8a0 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u16.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u16_tied2, svuint16_t, >=20 > /* > ** sli_0_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #0 > +** | > +** sli z1\.h, z2\.h, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_u16_untied, svuint16_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u16_tied2, svuint16_t, >=20 > /* > ** sli_1_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #1 > +** | > +** sli z1\.h, z2\.h, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_u16_untied, svuint16_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_15_u16_tied2, svuint16_t, >=20 > /* > ** sli_15_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.h, z2\.h, #15 > +** | > +** sli z1\.h, z2\.h, #15 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_15_u16_untied, svuint16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u32.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u32.c > index 52bd8370e5f..654f4b6d670 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u32.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u32_tied2, svuint32_t, >=20 > /* > ** sli_0_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #0 > +** | > +** sli z1\.s, z2\.s, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_u32_untied, svuint32_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u32_tied2, svuint32_t, >=20 > /* > ** sli_1_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #1 > +** | > +** sli z1\.s, z2\.s, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_u32_untied, svuint32_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_31_u32_tied2, svuint32_t, >=20 > /* > ** sli_31_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.s, z2\.s, #31 > +** | > +** sli z1\.s, z2\.s, #31 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_31_u32_untied, svuint32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u64.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u64.c > index ab75ba2e6d5..c5466a295cc 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u64.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u64_tied2, svuint64_t, >=20 > /* > ** sli_0_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #0 > +** | > +** sli z1\.d, z2\.d, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_u64_untied, svuint64_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u64_tied2, svuint64_t, >=20 > /* > ** sli_1_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #1 > +** | > +** sli z1\.d, z2\.d, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_u64_untied, svuint64_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_63_u64_tied2, svuint64_t, >=20 > /* > ** sli_63_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.d, z2\.d, #63 > +** | > +** sli z1\.d, z2\.d, #63 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_63_u64_untied, svuint64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u8.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u8.c > index e2207c3c466..2b3533f5e71 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u8.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u8.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u8_tied2, svuint8_t, >=20 > /* > ** sli_0_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #0 > +** | > +** sli z1\.b, z2\.b, #0 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_0_u8_untied, svuint8_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u8_tied2, svuint8_t, >=20 > /* > ** sli_1_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #1 > +** | > +** sli z1\.b, z2\.b, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_1_u8_untied, svuint8_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_7_u8_tied2, svuint8_t, >=20 > /* > ** sli_7_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sli z0\.b, z2\.b, #7 > +** | > +** sli z1\.b, z2\.b, #7 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sli_7_u8_untied, svuint8_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s16.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s16.c > index 177fbb20d62..16cb73ce542 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s16.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s16_tied2, svint16_t, >=20 > /* > ** sri_1_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #1 > +** | > +** sri z1\.h, z2\.h, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_s16_untied, svint16_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s16_tied2, svint16_t, >=20 > /* > ** sri_2_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #2 > +** | > +** sri z1\.h, z2\.h, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_s16_untied, svint16_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_16_s16_tied2, svint16_t, >=20 > /* > ** sri_16_s16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #16 > +** | > +** sri z1\.h, z2\.h, #16 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_16_s16_untied, svint16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s32.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s32.c > index 27d6c99c3a0..3c69f622d74 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s32.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s32_tied2, svint32_t, >=20 > /* > ** sri_1_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #1 > +** | > +** sri z1\.s, z2\.s, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_s32_untied, svint32_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s32_tied2, svint32_t, >=20 > /* > ** sri_2_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #2 > +** | > +** sri z1\.s, z2\.s, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_s32_untied, svint32_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_32_s32_tied2, svint32_t, >=20 > /* > ** sri_32_s32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #32 > +** | > +** sri z1\.s, z2\.s, #32 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_32_s32_untied, svint32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s64.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s64.c > index 021613d0179..5c64e1bb51f 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s64.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s64_tied2, svint64_t, >=20 > /* > ** sri_1_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #1 > +** | > +** sri z1\.d, z2\.d, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_s64_untied, svint64_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s64_tied2, svint64_t, >=20 > /* > ** sri_2_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #2 > +** | > +** sri z1\.d, z2\.d, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_s64_untied, svint64_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_64_s64_tied2, svint64_t, >=20 > /* > ** sri_64_s64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #64 > +** | > +** sri z1\.d, z2\.d, #64 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_64_s64_untied, svint64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s8.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s8.c > index 0bfa2678559..1871bb47645 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s8.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s8.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s8_tied2, svint8_t, >=20 > /* > ** sri_1_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #1 > +** | > +** sri z1\.b, z2\.b, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_s8_untied, svint8_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s8_tied2, svint8_t, >=20 > /* > ** sri_2_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #2 > +** | > +** sri z1\.b, z2\.b, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_s8_untied, svint8_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_8_s8_tied2, svint8_t, >=20 > /* > ** sri_8_s8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #8 > +** | > +** sri z1\.b, z2\.b, #8 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_8_s8_untied, svint8_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u16.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u16.c > index 2f12dc90857..ce6e838f7db 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u16.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u16.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u16_tied2, svuint16_t, >=20 > /* > ** sri_1_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #1 > +** | > +** sri z1\.h, z2\.h, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_u16_untied, svuint16_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u16_tied2, svuint16_t, >=20 > /* > ** sri_2_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #2 > +** | > +** sri z1\.h, z2\.h, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_u16_untied, svuint16_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_16_u16_tied2, svuint16_t, >=20 > /* > ** sri_16_u16_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.h, z2\.h, #16 > +** | > +** sri z1\.h, z2\.h, #16 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_16_u16_untied, svuint16_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u32.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u32.c > index d4d107f55cc..7cf6fea771b 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u32.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u32.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u32_tied2, svuint32_t, >=20 > /* > ** sri_1_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #1 > +** | > +** sri z1\.s, z2\.s, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_u32_untied, svuint32_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u32_tied2, svuint32_t, >=20 > /* > ** sri_2_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #2 > +** | > +** sri z1\.s, z2\.s, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_u32_untied, svuint32_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_32_u32_tied2, svuint32_t, >=20 > /* > ** sri_32_u32_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.s, z2\.s, #32 > +** | > +** sri z1\.s, z2\.s, #32 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_32_u32_untied, svuint32_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u64.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u64.c > index 41d67346f25..be61f85f265 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u64.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u64.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u64_tied2, svuint64_t, >=20 > /* > ** sri_1_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #1 > +** | > +** sri z1\.d, z2\.d, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_u64_untied, svuint64_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u64_tied2, svuint64_t, >=20 > /* > ** sri_2_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #2 > +** | > +** sri z1\.d, z2\.d, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_u64_untied, svuint64_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_64_u64_tied2, svuint64_t, >=20 > /* > ** sri_64_u64_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.d, z2\.d, #64 > +** | > +** sri z1\.d, z2\.d, #64 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_64_u64_untied, svuint64_t, > diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u8.c > b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u8.c > index 0aa6a543860..84de5a2b2e9 100644 > --- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u8.c > +++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u8.c > @@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u8_tied2, svuint8_t, >=20 > /* > ** sri_1_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #1 > +** | > +** sri z1\.b, z2\.b, #1 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_1_u8_untied, svuint8_t, > @@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u8_tied2, svuint8_t, >=20 > /* > ** sri_2_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #2 > +** | > +** sri z1\.b, z2\.b, #2 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_2_u8_untied, svuint8_t, > @@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_8_u8_tied2, svuint8_t, >=20 > /* > ** sri_8_u8_untied: > +** ( > ** mov z0\.d, z1\.d > ** sri z0\.b, z2\.b, #8 > +** | > +** sri z1\.b, z2\.b, #8 > +** mov z0\.d, z1\.d > +** ) > ** ret > */ > TEST_UNIFORM_Z (sri_8_u8_untied, svuint8_t, > -- > 2.25.1