From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50070.outbound.protection.outlook.com [40.107.5.70]) by sourceware.org (Postfix) with ESMTPS id 1C07A3858C52 for ; Fri, 23 Sep 2022 09:48:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1C07A3858C52 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-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=knxsogWgOwm4fyUbH+uccouEcdliHIUDnIWt/2MB/Cd3lnYP7sPpH1WMybTOwTlROPvXTRbtv8wt2jVaLr/jPVk8shQPxUzl3f+zOcPWZ7OOaL57QVz1KeV8Jz4xmYyPxXIuirtXEsRbcBwdfr3qxZi19UwAA1AhrKQINUn8kz9CWG5vVpv1p6PELW6HATBjcbl2SiORpLAmkij+uDELN+wgA6iouONOVaSjHNVIFIWYh0pHM5OGZmScDispjMbSVRuLNvotV9oV/ag84ScUnEfW5JiIBHdQRppfLj+w9OQEBjWUEnVbUGPqKujuYr0s/n/ASxMOungX53XTkicVpA== 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=DnP+3ufie0Mv/HqQ5K4kek65PW7GzKnhWcRCaCOTIwQ=; b=g0sxyHqZr9CS+x0Vny2LBZfL4KDBVw6jLn0hN/ijTqAteylaKybuuC3eZy2Wj3bmX8pI+t14SQdfQOCqqraGmuZ9mQwYmNHusYCGYVdv6Ay+tnUjkZpwTmG8D+1bPuFcpMEhZuxdcIt2DuhEtmklebtMCDnGBjQU7PIbz3SUIDsByGA7wLsmdcu1UyM7MqxxU8lTp5xSaQO9MQ1SShGXiI/OkDs47Qcc3N1XSnORQ6f/d1izbskhVe8mcRGkMMouuOCyCE3OI/C8PxJTB+I/FNngv8R4+eA1zonmkJqJeC+pKbVuUCqqHFZ62aepIacFiejetgP1sFBWSpf+B5hMJA== 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=DnP+3ufie0Mv/HqQ5K4kek65PW7GzKnhWcRCaCOTIwQ=; b=hZpl8vc2352k/9lCsdUNm38rq/KubW6dWEmMWfCSI2+wBBXVQ2bVixsMMMdXoX03NbH8NZWagDHJ+x4kpX7uVuH9DUVZ3BeY7f2iRiRh1LK8b5OLI1nMffbzn0akhGKS64veHiTvos2WocUhP9LWseHroH+jnzDb8HmfaTGDn3k= Received: from DU2PR04CA0318.eurprd04.prod.outlook.com (2603:10a6:10:2b5::23) by AS8PR08MB6103.eurprd08.prod.outlook.com (2603:10a6:20b:296::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20; Fri, 23 Sep 2022 09:48:22 +0000 Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2b5:cafe::17) by DU2PR04CA0318.outlook.office365.com (2603:10a6:10:2b5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20 via Frontend Transport; Fri, 23 Sep 2022 09:48:22 +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.5654.14 via Frontend Transport; Fri, 23 Sep 2022 09:48:21 +0000 Received: ("Tessian outbound 88978e6d60db:v124"); Fri, 23 Sep 2022 09:48:21 +0000 X-CR-MTA-TID: 64aa7808 Received: from 0d335af5af72.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8AB00934-B8D0-4028-A9BF-5978206E76B8.1; Fri, 23 Sep 2022 09:48:15 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0d335af5af72.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 23 Sep 2022 09:48:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N7j5RDuOHiGBJzgQsbZ72lQ9CdWWV8KcLYF2dZQkcZCXr9XqYDqW08Fui/7xOtzNsbTVjTpT60V0sU/Qfh+mUX2Hiy4QRmZmQbU/Q+FT13HbV36hmVAfxoxYiATXyCjPL1njwL91hsL91rQg5hptpN/p/7bTCsL3LKODqO3vs2YRAYRVUEUBIAp5M+yCX6dMZpa7KZyLVXqQsd1LoNoj4NsTIRZSjQIxOuF/Z6QhTPoOBHUuGItIyide0XzhJjBDeyUBqPCrLBNhpIFt1xEkIPtPqYSijgfaKkHuDkwvJBilS4n3vdcPZBK9nRxcPHT29B0Ri2ZvNgW/K/vK3MsB9A== 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=DnP+3ufie0Mv/HqQ5K4kek65PW7GzKnhWcRCaCOTIwQ=; b=A4fIEMhnyPiYVmwiNW/AHEb7gvpRCapZCqaQvLLleUqUVPkm1WiG2VLrdBhFaZnPT1bTWv0lJbzDNmZpdHHlTWDzNs++Nl5/wnDwguRCHMdTso9pXr7zgGAr7Zvi95T965dUIelMOLzhzUDLps6crdVdour+niHNcn9N8Hj3/6Sey3rcioxhOhLm24Mm7yzSn4DRrE4KMkBsmcxiJkOHXk1Eni8T6Sx1MYFgs4TfN+c6hqoHSOXyOeVRpvOkuiaiPC98lF6Xw3M4S+xr4BiuZLPU3mGH0Dh29VL6Oxcfc9pZ9INT+XUE2w151MGfMeHMj50/CqfIhlzOjcJanWfZHQ== 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=DnP+3ufie0Mv/HqQ5K4kek65PW7GzKnhWcRCaCOTIwQ=; b=hZpl8vc2352k/9lCsdUNm38rq/KubW6dWEmMWfCSI2+wBBXVQ2bVixsMMMdXoX03NbH8NZWagDHJ+x4kpX7uVuH9DUVZ3BeY7f2iRiRh1LK8b5OLI1nMffbzn0akhGKS64veHiTvos2WocUhP9LWseHroH+jnzDb8HmfaTGDn3k= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by PAWPR08MB9055.eurprd08.prod.outlook.com (2603:10a6:102:343::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.18; Fri, 23 Sep 2022 09:48:14 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::6529:66e5:e7d4:1a40]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::6529:66e5:e7d4:1a40%4]) with mapi id 15.20.5632.021; Fri, 23 Sep 2022 09:48:14 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , Richard Earnshaw , Marcus Shawcroft , Kyrylo Tkachov Subject: RE: [PATCH 2/2]AArch64 Extend tbz pattern to allow SI to SI extensions. Thread-Topic: [PATCH 2/2]AArch64 Extend tbz pattern to allow SI to SI extensions. Thread-Index: AQHYzy5ukrSqZMhyi0+CMEUqCaA5x63sw3FOgAAAzMA= Date: Fri, 23 Sep 2022 09:48:14 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9A6A93907D244D48B233A929B83A85D9.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: VI1PR08MB5325:EE_|PAWPR08MB9055:EE_|DBAEUR03FT034:EE_|AS8PR08MB6103:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ec02f67-1dde-4aa8-117c-08da9d48c052 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: zgTav4uwW/9ZSBzahDY3c2j50X9NDQOKBW4ioZHsi7lA4lRRxaLVR6MCNCBfVmzgNUT8ZNKqa9pn5xKiJ7IDmO+wbBfa4qgxIPus76Qw6tJKplGBpGsU76D9gi/2Rb8jopI0Pv7H0+rtNSWlJWPPGhdT7OeL4Fi87HxRdHMqiil3thCd7eB63GXtyUWG6QXMXJ7RixOB6+hoG3pUgaBX9DKIiElO4MmdxQmdPy6mi2Oh4T6uaBfPemf1+67yfFVZxAZxu63gDcLeCFknh0ThcouF3IdzGUg7VmHGzj3gTXgCEp3HP1wQPBVBfPEGaxZ75F2NDeLtLNUBPFnqhjYw2fV7lK7VA6pyOP2VEtWlepzRTGBDyauwF5eGrgDwG83S6x4FQW1GmDfdcFn4BnSCRzmhXp/WjqMG35Do6mtU+UfPgpuVUa1/jBr+dkgtHNb/QPP6XHOuIpFDh6ztvW0Xfus9iV44zIHwP69MFsnG/KWWKDqpjPIsn1odaBgxumC7ggSEMCucEK7bzPN6kKpR1sVcvCoU9h52mdhhAtRr6rVSK2+BmGkZhcqwXHi4mqq13QGnq9UYS8pQ2aZeV7rvTfuYtz3+ZZLf93mExUSP0UkU0us7GdgQKzgRw2ToRzy4ZzGedb5qBYx9zNhva/lQRDSmxmZlxzM0+fynYc/v+2211yns1CyXXUU3a+z7hq4LpYojM8P7URtB+5MY0oLpnjDS3d4/k8kPO4A6IC6JOka8Wj12cPuXn8cjMzUVkK4I/gjf8IuJhGllejburinDBfrD1QWt3O43ybz8k1FNuZY= 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:(13230022)(4636009)(396003)(136003)(366004)(39860400002)(376002)(346002)(451199015)(4326008)(33656002)(86362001)(38070700005)(38100700002)(122000001)(9686003)(52536014)(5660300002)(7696005)(83380400001)(6636002)(2906002)(186003)(53546011)(84970400001)(26005)(6506007)(71200400001)(76116006)(316002)(66476007)(66446008)(64756008)(66556008)(8676002)(66946007)(6862004)(55016003)(41300700001)(54906003)(8936002)(478600001);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: PAWPR08MB9055 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: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2b72cb49-c2ba-4ef2-dd56-08da9d48bbea X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l61X0Gx+35ZbsmjowDR1AEtmjeEk2y/Aojy2LHf89ZpRPIBXzfhulnGX98XPwUX84au5h5Up4DiGDK4ojAsQzZ6MCJUO4e89uqcouBh+E722NBroTHHKueVDp2PffmzIYBv6UEMViNNEh3+3rhPwxgsvUrPABZcn7V4kRJwCjmCWcxcmctf74IMDlvh3LG9tkI6+xYY90xQQfzXCbRC23KyyA9gDpMaa7vR0uCZAJmZ13CxLthe86vwA0eVoYBOYBmcYiauHsrgW+MQovOhqTPdKUyT6T31LKXGQesGPdtft5pHuAbGQAKiFmfIh2JWjwyfKrovEANwojniEBaa1UCiB8T4DAyGW08BaJqW4phxzDBMavUaDgWKt1ceX3BaJTmXPojIv3jsppvRxIfxbNLhHQeAPaCAB7gZ7TMEcDn9At/jvY5D8XJVROZlRb9cTOfTf63s3EwNIdBnUyUNq5lPImNMb8cWI44MshAE9vkztO825Ki/KcT2Bkqfj4Io6OGGyDo0g/AmDiosGXVY3d45oAylbdP5q/TlZtcaeZbgAZ6jW0mn8uDlqHM/RERrRjoL87iZnFxOsbuU4y2bkMCe1XFjQ2ViQF+8YVcjfuQF0aYqeA29NHE4rjQWrP5aKUOhKe7zlyRLfO+EQiZDce3kgXBXiZ00g3GkAEBOTc0UQiTQ7PE4jIQm5xLb2lc33v+fZT3L14YvGH1RNQmlxZriqeNKqwW+v3hrvYimhVfLfjMUwBPiZpKdWbhHJ09DICr+581RAi0nZtdB49tM4qhwEVnXSSOtzhgUahSwcBg4= 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:(13230022)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199015)(46966006)(36840700001)(40470700004)(47076005)(81166007)(52536014)(84970400001)(186003)(41300700001)(26005)(336012)(9686003)(2906002)(7696005)(6862004)(6506007)(53546011)(5660300002)(82310400005)(82740400003)(8936002)(55016003)(40460700003)(356005)(86362001)(40480700001)(33656002)(83380400001)(36860700001)(478600001)(316002)(4326008)(8676002)(54906003)(70206006)(70586007)(6636002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2022 09:48:21.6000 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8ec02f67-1dde-4aa8-117c-08da9d48c052 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: AS8PR08MB6103 X-Spam-Status: No, score=-12.7 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,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: > -----Original Message----- > From: Richard Sandiford > Sent: Friday, September 23, 2022 5:43 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; Richard Earnshaw > ; Marcus Shawcroft > ; Kyrylo Tkachov > Subject: Re: [PATCH 2/2]AArch64 Extend tbz pattern to allow SI to SI > extensions. >=20 > Tamar Christina writes: > > Hi All, > > > > This adds additional recognition of & 1 into the tbz/tbnz pattern. > > > > Concretely with the mid-end changes this changes > > > > void g1(bool x) > > { > > if (__builtin_expect (x, 0)) > > h (); > > } > > > > from > > > > tst w0, 255 > > bne .L7 > > > > to > > > > tbnz w0, #0, .L5 > > > > This pattern occurs ~120,000 times in SPECCPU 20127, basically on > > every boolean comparison. > > > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > > > > Ok for master? > > > > Thanks, > > Tamar > > > > gcc/ChangeLog: > > > > * config/aarch64/aarch64.md (*tb1): Renamed this > ... > > (*tb1): ... To this. > > * config/aarch64/iterators.md (GPI2): New. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/aarch64/tbz_1.c: New test. > > > > --- inline copy of patch -- > > diff --git a/gcc/config/aarch64/aarch64.md > > b/gcc/config/aarch64/aarch64.md index > > > 6aa1fb4be003f2027d63ac69fd314c2bbc876258..3faa03f453c94665d9d82225f18 > 0 > > d8afdcd0b5fe 100644 > > --- a/gcc/config/aarch64/aarch64.md > > +++ b/gcc/config/aarch64/aarch64.md > > @@ -943,31 +943,33 @@ (define_insn "*cb1" > > (const_int 1)))] > > ) > > > > -(define_insn "*tb1" > > +(define_insn "*tb1" > > [(set (pc) (if_then_else > > - (EQL (zero_extract:DI (match_operand:GPI 0 "register_operand" > "r") > > - (const_int 1) > > - (match_operand 1 > > - "aarch64_simd_shift_imm_" "n")) > > + (EQL (zero_extract:GPI2 > > + (match_operand:GPI 0 "register_operand" "r") > > + (const_int 1) > > + (match_operand 1 > "aarch64_simd_shift_imm_" "n")) > > (const_int 0)) > > (label_ref (match_operand 2 "" "")) > > (pc))) > > (clobber (reg:CC CC_REGNUM))] > > - "!aarch64_track_speculation" > > + "!aarch64_track_speculation > > + && known_ge (GET_MODE_SIZE (mode), > > + GET_MODE_SIZE (mode))" >=20 > Is this check necessary? The extraction evaluates to 0 or 1, so it shoul= dn't > matter whether it is interpreted as DI or SI. >=20 Ah yes, fair point. I will remove the check, Thanks, Tamar. > OK without the check if you agree. >=20 > Thanks, > Richard >=20 > > { > > if (get_attr_length (insn) =3D=3D 8) > > { > > if (get_attr_far_branch (insn) =3D=3D 1) > > return aarch64_gen_far_branch (operands, 2, "Ltb", > > - "\\t%0, %1, "); > > + "\\t%0, %1, "); > > else > > { > > operands[1] =3D GEN_INT (HOST_WIDE_INT_1U << UINTVAL > (operands[1])); > > - return "tst\t%0, %1\;\t%l2"; > > + return "tst\t%0, %1\;\t%l2"; > > } > > } > > else > > - return "\t%0, %1, %l2"; > > + return "\t%0, %1, %l2"; > > } > > [(set_attr "type" "branch") > > (set (attr "length") > > diff --git a/gcc/config/aarch64/iterators.md > > b/gcc/config/aarch64/iterators.md index > > > 89ca66fd291b60a28979785706ecc5345ea86744..f6b2e7a83c63cab73947b6bd6 > 1b4 > > 99b4b57d14ac 100644 > > --- a/gcc/config/aarch64/iterators.md > > +++ b/gcc/config/aarch64/iterators.md > > @@ -28,6 +28,8 @@ (define_mode_iterator CCFP_CCFPE [CCFP CCFPE]) > > > > ;; Iterator for General Purpose Integer registers (32- and 64-bit > > modes) (define_mode_iterator GPI [SI DI]) > > +;; Copy of the above iterator > > +(define_mode_iterator GPI2 [SI DI]) > > > > ;; Iterator for HI, SI, DI, some instructions can only work on these m= odes. > > (define_mode_iterator GPI_I16 [(HI "AARCH64_ISA_F16") SI DI]) diff > > --git a/gcc/testsuite/gcc.target/aarch64/tbz_1.c > > b/gcc/testsuite/gcc.target/aarch64/tbz_1.c > > new file mode 100644 > > index > > > 0000000000000000000000000000000000000000..6a75eb4e7aedbfa3ae329358c > 6ee > > 4d675704a074 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/aarch64/tbz_1.c > > @@ -0,0 +1,32 @@ > > +/* { dg-do compile } */ > > +/* { dg-additional-options "-O2 -std=3Dc99 -fno-unwind-tables > > +-fno-asynchronous-unwind-tables" } */ > > +/* { dg-final { check-function-bodies "**" "" "" { target { le } } } > > +} */ > > + > > +#include // Type your code here, or load an example. > > + > > +void h(void); > > + > > +/* > > +** g1: > > +** tbnz w[0-9], #?0, .L([0-9]+) > > +** ret > > +** ... > > +*/ > > +void g1(bool x) > > +{ > > + if (__builtin_expect (x, 0)) > > + h (); > > +} > > + > > +/* > > +** g2: > > +** tbz w[0-9]+, #?0, .L([0-9]+) > > +** b h > > +** ... > > +*/ > > +void g2(bool x) > > +{ > > + if (__builtin_expect (x, 1)) > > + h (); > > +} > > +