From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2074.outbound.protection.outlook.com [40.107.104.74]) by sourceware.org (Postfix) with ESMTPS id 0A0993858C2C for ; Tue, 9 Jan 2024 11:46:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0A0993858C2C 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 0A0993858C2C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.104.74 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704800764; cv=pass; b=iM1V84y1WtunZlTJd6d+3SKjgckboFWMJagl9rIPDkeUZB0FWOCSunIsodUHlFLbhg6KJLwKVn6qjqOf0iSu17P3SbXfMiChU2tF4bEDOyS9kukdGYQ88R2Jzmd+SR8l2dkvkP4yqah29jHlmBc0oFqxHpWfO/oaj6O7zB+It4k= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704800764; c=relaxed/simple; bh=dmc5uqGaQFav7OHxgYZxOZAtozTR+uns5abJv33IDe4=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Vb8DlO3sazErclRwo8hFpFpBTJoHCze2wLtGdkqCytzXuoPpMi/WZ8mNPMcl//MA79JDJUdve9I7lbV75sIw2xQYGtayG3aQ8BP0Ywvr2XIXi+o52lHEmgEI5gZFOfxU3GSIxVqJDh0bgK1REXmuuSpR+nj5Vi+MUVSwboVT5CI= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=U4Vl8e2ZgZqiI+Sg2wZoDhSD5ZCinY2NxYVrjVpfIHKqfrCHv1wnrUxgJHeKbECBz07OeyNRGZ8RXPLEx8XXrRm9MZpf5kABJ+HLfuRJMrLNbKDoEIjludzXE0hFfSvCV+g/KQHnRNzEJLtm9qAbSstQBvh/HtbGEzmqL5KYEUfa1hHwMh+soQZWll/XS3DTXb2vtgmQ2LjhECUPm5GnNfZMxyuDlD7WyVwKF8zXgCaV6P9kIJeb67RHZbLzwYQAr5/fPnSAsD8OisdNp7VByxFFDWRU3nhfvAbppyWv3y+irMFzWPuf0v131fC4ehwRRLjjbJv0KIQH+DCZ/Oa1YA== 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=GzeCR9bJoev8w6Lf0Woh1qd3aJYKEkrvyc+F3l8JarU=; b=RBB9STcaZ8M9O+TzRiKEo6r7mkYaKrK/jNTSe5v5R6Y0uN4L7RwK4BFHCaHbx6715Dcwt+aR1lbDMGxXKoCIfOhtjHeORhbkO88t0FYwsiv2tF74ozwrv4geZhXEbrY+poCrNEOMd+Sq8GFvvGHETLMw/rmSTqmSf/pJcbJmBCfAp6RfS/5TBd5souHCd5X1l2RB09brPaqMFpQ+lJO/JLfMNDQxW6Jf4xDfwyOF2HgvkUBDCFv4YiqV+R2DrC+rqcjUr3gihX4oTZ/lWKbx4ZfAC+zypw2AIjwKbE9K6HfAGfOD6S6gej1v05ssY0hB1lfKTovcgbAPToBb+XR+mw== 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=GzeCR9bJoev8w6Lf0Woh1qd3aJYKEkrvyc+F3l8JarU=; b=2qWJwneoLIt9zM43YfQdQRL8pTNQGZK+U0H0gN8hOBD496eBe59DmN1PUMjFG/tD/wbPbsQjxxFFZoFPwlZ0PEywlc020JD6bsYoSrV6ppxK3C7332i1i3r/vcDyyFyS4c7BRRPz8hzwJBxx3VIHtMaHrqDZ81y393fOdPHxtVA= Received: from DUZPR01CA0135.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bc::6) by AM8PR08MB6563.eurprd08.prod.outlook.com (2603:10a6:20b:315::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Tue, 9 Jan 2024 11:45:56 +0000 Received: from DU6PEPF0000A7DD.eurprd02.prod.outlook.com (2603:10a6:10:4bc:cafe::7b) by DUZPR01CA0135.outlook.office365.com (2603:10a6:10:4bc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23 via Frontend Transport; Tue, 9 Jan 2024 11:45:56 +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 DU6PEPF0000A7DD.mail.protection.outlook.com (10.167.8.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Tue, 9 Jan 2024 11:45:56 +0000 Received: ("Tessian outbound 968ce956f8b7:v239"); Tue, 09 Jan 2024 11:45:56 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c941411da985245c X-CR-MTA-TID: 64aa7808 Received: from 8e83efa7e9cd.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C41D15EA-ED1D-43B3-BA74-7A05970E6E35.1; Tue, 09 Jan 2024 11:45:50 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8e83efa7e9cd.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 09 Jan 2024 11:45:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cYj0enSbYMIAREPEFuOGhzVESCyoRVyMvMI1ybbEPFFxWdtyHydoQCKpM0d6GDVKKVQlXL9AjSG4RT3tXpO8sBVVroI2lO/WrUL5vizKXMxTmB9QFbTgZX9HdTuryp6wywQfBqfs1CnPDP76hz4ZUYob6oORgLLlbVRWZNDbAXYpqsrJ/tUp1Fk+0LlvFwZVUxx5xyVycyODlPqKMKVORvH5b5UxRNMffH8sH/yWrs2OWQ1SpzbzKSJIe0O2CSweKOayfaquISEVizAp8Ebul1ZTVGIkZ8WOF3f2RNWVnSQZN/QlbCNOXSoJyK1ZpPjQFpvFi6aDUnvX0DlqDgJVTg== 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=GzeCR9bJoev8w6Lf0Woh1qd3aJYKEkrvyc+F3l8JarU=; b=YOdTxIkG23KxASyciXT5uKz3TtspAM5ynQHisvP1cp+ZHpielsXCdhHb+EpOcIYIWZKuJOMEfeOi8OESMu6bapDGLD55fnlZeV8BaG8a672+B3lrDRq5P4jx30DFCiGudXCavRMssNISTLtI1B0tUZlr8wZhTqeHSReXmB43oABKqPp7w/vL+WUeF9mTq5byEsCnHIkfNVg9Y/yVkj0zzQ0niosNB8ebU5wqEyjMOwTX0hd1MdhdD9kU0TBwBygpl2f4ceyxCJCNW+OFH0+PlggM5QdvwGAcZZUmhnHKbI6PXN9K8wLuf3JrQfz0lBh7a5BJbGJ8xAvCsh22mJF0nw== 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=GzeCR9bJoev8w6Lf0Woh1qd3aJYKEkrvyc+F3l8JarU=; b=2qWJwneoLIt9zM43YfQdQRL8pTNQGZK+U0H0gN8hOBD496eBe59DmN1PUMjFG/tD/wbPbsQjxxFFZoFPwlZ0PEywlc020JD6bsYoSrV6ppxK3C7332i1i3r/vcDyyFyS4c7BRRPz8hzwJBxx3VIHtMaHrqDZ81y393fOdPHxtVA= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by PAWPR08MB10041.eurprd08.prod.outlook.com (2603:10a6:102:34f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.21; Tue, 9 Jan 2024 11:45:47 +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.7159.020; Tue, 9 Jan 2024 11:45:47 +0000 From: Tamar Christina To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , nd , "jlaw@ventanamicro.com" Subject: RE: [PATCH]middle-end: check if target can do extract first for early breaks [PR113199] Thread-Topic: [PATCH]middle-end: check if target can do extract first for early breaks [PR113199] Thread-Index: AQHaPaUibSSEU0sWh0KFm1jT8FPWKrDP5oMAgAGAjlA= Date: Tue, 9 Jan 2024 11:45:47 +0000 Message-ID: References: <472o65so-2n1q-s6pn-0os5-s2o22npso06o@fhfr.qr> In-Reply-To: <472o65so-2n1q-s6pn-0os5-s2o22npso06o@fhfr.qr> 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_|PAWPR08MB10041:EE_|DU6PEPF0000A7DD:EE_|AM8PR08MB6563:EE_ X-MS-Office365-Filtering-Correlation-Id: 51807e8d-6f92-4228-b717-08dc11088ae1 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: YSFDLp+BcJ76clr5d/oFTjflBQqcFdaa5OYaUQMYFe8X12n9X6dBoAGS18Opl8wcvo6UuX3CcCbLSTTguWv4cQIu4CHETlavi3iewxVlX9d3ldtwkZPHr50F5fYNj8Hf33bXTTzEqSm1ttXtYYSooEIbA2gpHivaflS98ipfgcU3P9PuU9XCQeXQcErjEZS7Kg5KxScftYWzy/AEtfj1OzuiA7ZqRayVgth3u1vorJi6OxKMepWspPx7EvLhovKCtVX9DUJ4CdkyZiQCa0+gmnOFfERvR+FacKhfR/edKxeNllKY1eBjXAfg8fhD/1AszuLaNFQ762eEiRt/40mFtpzCclUd8Anwqp0QrSxCzV2EJrRh3moG/Si9Arr7mxEU9BnTvOQmgSsGLxI8n2nhMoJIcD3D3Z2SGY9kBaUCxhQhUFTv2ZP/WMpnT/2GRMHYhwMLTtIRCmBnde8aM4bwoEx7KECbsFnC/n4rzIIuSOtjd1xIyla1Vcx2a/N6QaZ0Rr5fmVBMIx3zmZZSmAJYera1NtT8ePXo9V5Uz/GwvIr4dbAwcGFBgi+S5hQQkeGg1BQNDS55ZTT58XNOVOg7kdA8MTufOZ8iKeUOPJY6idk= 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)(366004)(396003)(39860400002)(136003)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(84970400001)(55016003)(9686003)(26005)(71200400001)(6506007)(7696005)(478600001)(38100700002)(122000001)(41300700001)(33656002)(86362001)(99936003)(5660300002)(4326008)(64756008)(66556008)(2906002)(38070700009)(66946007)(6916009)(66446008)(8676002)(54906003)(316002)(76116006)(52536014)(66476007)(8936002);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_VI1PR08MB5325DCE70C739C85B9EF60FDFF6A2VI1PR08MB5325eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10041 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: DU6PEPF0000A7DD.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5cd67898-89aa-441e-fed6-08dc11088582 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nQKmOwWEjbqzQJPqL64jJ8ZGQ+P1Li0JvmLtQ2smqC6zIC/SMvCOv9wKBXveq//85KTbAha+iHa9lSSgWhNL0KeAJflRkqPk1W9S8EBLKqtutIRNmxJeagXS0l/8OJcto9OSphAK8k5cK5Se5uRpUPp3E0wK7RAMwyn4tNag6yRnYIEMcT6Gvqn4Vk0U3+dFgDsBwEwS6LlNKwri9V2qVaQ5Nq9sgAU9jhUuwewMO1GhZLo9xgucN96fhFrkrrgXFRPKlsAlbwx9Z0qw3HqlL4l93lTUPSUgjisRCrhHZOzhwTTEW5gVv7g9YIF7OEcW7y5FfmLT7pjrdX2BpTFtGJjvcF61I4M6O2ow5jObT+3vrAVDWQ+y6+1z50K9pIFtoOweMY+36539HEzT3gjGDR86th8LtgnCphCtQDWDsu/5dEiqL/UYDvFiuRYAT2wP0Xozw1kB3ptHvnrVRxVipCfam7Qj9R6YIGH2yALHMEbhQddiYD6+3tD5NEuFrceOdR6xDb7DatjZ9bmqkIi1Ace9VjGKF1p6dCkKEBa4jKwN4IU+i3JsdbkqNzCTTeeS9bG2MVkC3ovykVLDRYTDZoB56qx3DT13JM54UWMffILlNNxZm+gp9YJytI93BsUrpp223c9KslIlzw5aRBpvagupA2KJcGbWpq8w8Guu/Y+Up3+kiL9fYsmQbjp/c6kSlBH32NK5tiiOwjNtiTJy6x/oG+7VJyf3uRBhIls9KEA= 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)(136003)(39860400002)(346002)(376002)(230922051799003)(1800799012)(64100799003)(82310400011)(186009)(451199024)(40470700004)(46966006)(36840700001)(336012)(6862004)(52536014)(4326008)(55016003)(107886003)(26005)(478600001)(70586007)(70206006)(33656002)(41300700001)(8676002)(8936002)(47076005)(40460700003)(36860700001)(6506007)(5660300002)(7696005)(82740400003)(316002)(9686003)(40480700001)(84970400001)(235185007)(54906003)(99936003)(2906002)(81166007)(86362001)(356005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2024 11:45:56.7070 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51807e8d-6f92-4228-b717-08dc11088ae1 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: DU6PEPF0000A7DD.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6563 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,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_VI1PR08MB5325DCE70C739C85B9EF60FDFF6A2VI1PR08MB5325eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > > - > > - gimple_seq_add_seq (&stmts, tem); > > - > > - scalar_res =3D gimple_build (&stmts, CFN_EXTRACT_LAST, scalar_ty= pe, > > - mask, vec_lhs_phi); > > + scalar_res =3D gimple_build (&stmts, CFN_VEC_EXTRACT, TREE_TYPE > (vectype), > > + vec_lhs_phi, bitstart); >=20 > So bitstart is always zero? I wonder why using CFN_VEC_EXTRACT over > BIT_FIELD_REF here which wouldn't need any additional target support. >=20 Ok, how about... --- I was generating the vector reverse mask without checking if the target actually supported such an operation. This patch changes it to if the bitstart is 0 then use BIT_FIELD_REF instea= d to extract the first element since this is supported by all targets. This is good for now since masks always come from whilelo. But in the futu= re when masks can come from other sources we will need the old code back. Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-pc-linux-gnu and no issues with --enable-checking=3Drelease --enable-lto --with-build-config=3Dbootstrap-O3 --enable-checking=3Dyes,rtl,extra. tested on cross cc1 for amdgcn-amdhsa and issue fixed. Ok for master? Thanks, Tamar gcc/ChangeLog: PR tree-optimization/113199 * tree-vect-loop.cc (vectorizable_live_operation_1): Use BIT_FIELD_REF. gcc/testsuite/ChangeLog: PR tree-optimization/113199 * gcc.target/gcn/pr113199.c: New test. --- inline copy of patch --- diff --git a/gcc/testsuite/gcc.target/gcn/pr113199.c b/gcc/testsuite/gcc.ta= rget/gcn/pr113199.c new file mode 100644 index 0000000000000000000000000000000000000000..8a641e5536e80e207ca0163cac6= 6c0f4f6ca93f7 --- /dev/null +++ b/gcc/testsuite/gcc.target/gcn/pr113199.c @@ -0,0 +1,44 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-O2" } */ + +typedef long unsigned int size_t; +typedef int wchar_t; +struct tm +{ + int tm_mon; + int tm_year; +}; +int abs (int); +struct lc_time_T { const char *month[12]; }; +struct __locale_t * __get_current_locale (void) { } +const struct lc_time_T * __get_time_locale (struct __locale_t *locale) { } +const wchar_t * __ctloc (wchar_t *buf, const char *elem, size_t *len_ret) = { return buf; } +size_t +__strftime (wchar_t *s, size_t maxsize, const wchar_t *format, + const struct tm *tim_p, struct __locale_t *locale) +{ + size_t count =3D 0; + const wchar_t *ctloc; + wchar_t ctlocbuf[256]; + size_t i, ctloclen; + const struct lc_time_T *_CurrentTimeLocale =3D __get_time_locale (locale= ); + { + switch (*format) + { + case L'B': + (ctloc =3D __ctloc (ctlocbuf, _CurrentTimeLocale->month[tim_p->tm_mon],= &ctloclen)); + for (i =3D 0; i < ctloclen; i++) + { + if (count < maxsize - 1) + s[count++] =3D ctloc[i]; + else + return 0; + { + int century =3D tim_p->tm_year >=3D 0 + ? tim_p->tm_year / 100 + 1900 / 100 + : abs (tim_p->tm_year + 1900) / 100; + } + } + } + } +} diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 37f1be1101ffae779214056a0886411e0683e887..39b1161309d8ff8bfe88ee26df9= 147df0af0a58c 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -10592,7 +10592,17 @@ vectorizable_live_operation_1 (loop_vec_info loop_= vinfo, =20 gimple_seq stmts =3D NULL; tree new_tree; - if (LOOP_VINFO_FULLY_WITH_LENGTH_P (loop_vinfo)) + + /* If bitstart is 0 then we can use a BIT_FIELD_REF */ + if (integer_zerop (bitstart)) + { + tree scalar_res =3D gimple_build (&stmts, BIT_FIELD_REF, TREE_TYPE (= vectype), + vec_lhs_phi, bitsize, bitstart); + + /* Convert the extracted vector element to the scalar type. */ + new_tree =3D gimple_convert (&stmts, lhs_type, scalar_res); + } + else if (LOOP_VINFO_FULLY_WITH_LENGTH_P (loop_vinfo)) { /* Emit: =20 @@ -10618,12 +10628,6 @@ vectorizable_live_operation_1 (loop_vec_info loop_= vinfo, tree last_index =3D gimple_build (&stmts, PLUS_EXPR, TREE_TYPE (len)= , len, bias_minus_one); =20 - /* This needs to implement extraction of the first index, but not su= re - how the LEN stuff works. At the moment we shouldn't get here since - there's no LEN support for early breaks. But guard this so there's - no incorrect codegen. */ - gcc_assert (!LOOP_VINFO_EARLY_BREAKS (loop_vinfo)); - /* SCALAR_RES =3D VEC_EXTRACT . */ tree scalar_res =3D gimple_build (&stmts, CFN_VEC_EXTRACT, TREE_TYPE (vectype), @@ -10648,32 +10652,6 @@ vectorizable_live_operation_1 (loop_vec_info loop_= vinfo, &LOOP_VINFO_MASKS (loop_vinfo), 1, vectype, 0); tree scalar_res; - - /* For an inverted control flow with early breaks we want EXTRACT_FI= RST - instead of EXTRACT_LAST. Emulate by reversing the vector and mask. */ - if (restart_loop && LOOP_VINFO_EARLY_BREAKS (loop_vinfo)) - { - /* First create the permuted mask. */ - tree perm_mask =3D perm_mask_for_reverse (TREE_TYPE (mask)); - tree perm_dest =3D copy_ssa_name (mask); - gimple *perm_stmt - =3D gimple_build_assign (perm_dest, VEC_PERM_EXPR, mask, - mask, perm_mask); - vect_finish_stmt_generation (loop_vinfo, stmt_info, perm_stmt, - &gsi); - mask =3D perm_dest; - - /* Then permute the vector contents. */ - tree perm_elem =3D perm_mask_for_reverse (vectype); - perm_dest =3D copy_ssa_name (vec_lhs_phi); - perm_stmt - =3D gimple_build_assign (perm_dest, VEC_PERM_EXPR, vec_lhs_phi, - vec_lhs_phi, perm_elem); - vect_finish_stmt_generation (loop_vinfo, stmt_info, perm_stmt, - &gsi); - vec_lhs_phi =3D perm_dest; - } - gimple_seq_add_seq (&stmts, tem); =20 scalar_res =3D gimple_build (&stmts, CFN_EXTRACT_LAST, scalar_type, --_002_VI1PR08MB5325DCE70C739C85B9EF60FDFF6A2VI1PR08MB5325eurp_ Content-Type: application/octet-stream; name="rb18119 (1).patch" Content-Description: rb18119 (1).patch Content-Disposition: attachment; filename="rb18119 (1).patch"; size=4227; creation-date="Tue, 09 Jan 2024 11:45:39 GMT"; modification-date="Tue, 09 Jan 2024 11:45:47 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9nY24vcHIxMTMxOTkuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9nY24vcHIxMTMxOTkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTY0MWU1 NTM2ZTgwZTIwN2NhMDE2M2NhYzY2YzBmNGY2Y2E5M2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2djbi9wcjExMzE5OS5jCkBAIC0wLDAgKzEsNDQgQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLU8yIiB9 ICovCisKK3R5cGVkZWYgbG9uZyB1bnNpZ25lZCBpbnQgc2l6ZV90OwordHlwZWRlZiBpbnQgd2No YXJfdDsKK3N0cnVjdCB0bQoreworICBpbnQgdG1fbW9uOworICBpbnQgdG1feWVhcjsKK307Citp bnQgYWJzIChpbnQpOworc3RydWN0IGxjX3RpbWVfVCB7IGNvbnN0IGNoYXIgKm1vbnRoWzEyXTsg fTsKK3N0cnVjdCBfX2xvY2FsZV90ICogX19nZXRfY3VycmVudF9sb2NhbGUgKHZvaWQpIHsgfQor Y29uc3Qgc3RydWN0IGxjX3RpbWVfVCAqIF9fZ2V0X3RpbWVfbG9jYWxlIChzdHJ1Y3QgX19sb2Nh bGVfdCAqbG9jYWxlKSB7IH0KK2NvbnN0IHdjaGFyX3QgKiBfX2N0bG9jICh3Y2hhcl90ICpidWYs IGNvbnN0IGNoYXIgKmVsZW0sIHNpemVfdCAqbGVuX3JldCkgeyByZXR1cm4gYnVmOyB9CitzaXpl X3QKK19fc3RyZnRpbWUgKHdjaGFyX3QgKnMsIHNpemVfdCBtYXhzaXplLCBjb25zdCB3Y2hhcl90 ICpmb3JtYXQsCisgICAgIGNvbnN0IHN0cnVjdCB0bSAqdGltX3AsIHN0cnVjdCBfX2xvY2FsZV90 ICpsb2NhbGUpCit7CisgIHNpemVfdCBjb3VudCA9IDA7CisgIGNvbnN0IHdjaGFyX3QgKmN0bG9j OworICB3Y2hhcl90IGN0bG9jYnVmWzI1Nl07CisgIHNpemVfdCBpLCBjdGxvY2xlbjsKKyAgY29u c3Qgc3RydWN0IGxjX3RpbWVfVCAqX0N1cnJlbnRUaW1lTG9jYWxlID0gX19nZXRfdGltZV9sb2Nh bGUgKGxvY2FsZSk7CisgICAgeworICAgICAgc3dpdGNoICgqZm9ybWF0KQorIHsKKyBjYXNlIEwn Qic6CisgICAoY3Rsb2MgPSBfX2N0bG9jIChjdGxvY2J1ZiwgX0N1cnJlbnRUaW1lTG9jYWxlLT5t b250aFt0aW1fcC0+dG1fbW9uXSwgJmN0bG9jbGVuKSk7CisgICBmb3IgKGkgPSAwOyBpIDwgY3Rs b2NsZW47IGkrKykKKyAgICAgeworICAgICAgIGlmIChjb3VudCA8IG1heHNpemUgLSAxKQorICBz W2NvdW50KytdID0gY3Rsb2NbaV07CisgICAgICAgZWxzZQorICByZXR1cm4gMDsKKyAgICAgICB7 CisgIGludCBjZW50dXJ5ID0gdGltX3AtPnRtX3llYXIgPj0gMAorICAgID8gdGltX3AtPnRtX3ll YXIgLyAxMDAgKyAxOTAwIC8gMTAwCisgICAgOiBhYnMgKHRpbV9wLT50bV95ZWFyICsgMTkwMCkg LyAxMDA7CisgICAgICAgfQorICAgfQorIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9nY2MvdHJl ZS12ZWN0LWxvb3AuY2MgYi9nY2MvdHJlZS12ZWN0LWxvb3AuY2MKaW5kZXggMzdmMWJlMTEwMWZm YWU3NzkyMTQwNTZhMDg4NjQxMWUwNjgzZTg4Ny4uMzliMTE2MTMwOWQ4ZmY4YmZlODhlZTI2ZGY5 MTQ3ZGYwYWYwYTU4YyAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtdmVjdC1sb29wLmNjCisrKyBiL2dj Yy90cmVlLXZlY3QtbG9vcC5jYwpAQCAtMTA1OTIsNyArMTA1OTIsMTcgQEAgdmVjdG9yaXphYmxl X2xpdmVfb3BlcmF0aW9uXzEgKGxvb3BfdmVjX2luZm8gbG9vcF92aW5mbywKIAogICBnaW1wbGVf c2VxIHN0bXRzID0gTlVMTDsKICAgdHJlZSBuZXdfdHJlZTsKLSAgaWYgKExPT1BfVklORk9fRlVM TFlfV0lUSF9MRU5HVEhfUCAobG9vcF92aW5mbykpCisKKyAgLyogSWYgYml0c3RhcnQgaXMgMCB0 aGVuIHdlIGNhbiB1c2UgYSBCSVRfRklFTERfUkVGICAqLworICBpZiAoaW50ZWdlcl96ZXJvcCAo Yml0c3RhcnQpKQorICAgIHsKKyAgICAgIHRyZWUgc2NhbGFyX3JlcyA9IGdpbXBsZV9idWlsZCAo JnN0bXRzLCBCSVRfRklFTERfUkVGLCBUUkVFX1RZUEUgKHZlY3R5cGUpLAorCQkJCSAgIHZlY19s aHNfcGhpLCBiaXRzaXplLCBiaXRzdGFydCk7CisKKyAgICAgIC8qIENvbnZlcnQgdGhlIGV4dHJh Y3RlZCB2ZWN0b3IgZWxlbWVudCB0byB0aGUgc2NhbGFyIHR5cGUuICAqLworICAgICAgbmV3X3Ry ZWUgPSBnaW1wbGVfY29udmVydCAoJnN0bXRzLCBsaHNfdHlwZSwgc2NhbGFyX3Jlcyk7CisgICAg fQorICBlbHNlIGlmIChMT09QX1ZJTkZPX0ZVTExZX1dJVEhfTEVOR1RIX1AgKGxvb3BfdmluZm8p KQogICAgIHsKICAgICAgIC8qIEVtaXQ6CiAKQEAgLTEwNjE4LDEyICsxMDYyOCw2IEBAIHZlY3Rv cml6YWJsZV9saXZlX29wZXJhdGlvbl8xIChsb29wX3ZlY19pbmZvIGxvb3BfdmluZm8sCiAgICAg ICB0cmVlIGxhc3RfaW5kZXggPSBnaW1wbGVfYnVpbGQgKCZzdG10cywgUExVU19FWFBSLCBUUkVF X1RZUEUgKGxlbiksCiAJCQkJICAgICBsZW4sIGJpYXNfbWludXNfb25lKTsKIAotICAgICAgLyog VGhpcyBuZWVkcyB0byBpbXBsZW1lbnQgZXh0cmFjdGlvbiBvZiB0aGUgZmlyc3QgaW5kZXgsIGJ1 dCBub3Qgc3VyZQotCSBob3cgdGhlIExFTiBzdHVmZiB3b3Jrcy4gIEF0IHRoZSBtb21lbnQgd2Ug c2hvdWxkbid0IGdldCBoZXJlIHNpbmNlCi0JIHRoZXJlJ3Mgbm8gTEVOIHN1cHBvcnQgZm9yIGVh cmx5IGJyZWFrcy4gIEJ1dCBndWFyZCB0aGlzIHNvIHRoZXJlJ3MKLQkgbm8gaW5jb3JyZWN0IGNv ZGVnZW4uICAqLwotICAgICAgZ2NjX2Fzc2VydCAoIUxPT1BfVklORk9fRUFSTFlfQlJFQUtTIChs b29wX3ZpbmZvKSk7Ci0KICAgICAgIC8qIFNDQUxBUl9SRVMgPSBWRUNfRVhUUkFDVCA8VkVDX0xI UywgTEVOICsgQklBUyAtIDE+LiAgKi8KICAgICAgIHRyZWUgc2NhbGFyX3JlcwogCT0gZ2ltcGxl X2J1aWxkICgmc3RtdHMsIENGTl9WRUNfRVhUUkFDVCwgVFJFRV9UWVBFICh2ZWN0eXBlKSwKQEAg LTEwNjQ4LDMyICsxMDY1Miw2IEBAIHZlY3Rvcml6YWJsZV9saXZlX29wZXJhdGlvbl8xIChsb29w X3ZlY19pbmZvIGxvb3BfdmluZm8sCiAJCQkJICAgICAgJkxPT1BfVklORk9fTUFTS1MgKGxvb3Bf dmluZm8pLAogCQkJCSAgICAgIDEsIHZlY3R5cGUsIDApOwogICAgICAgdHJlZSBzY2FsYXJfcmVz OwotCi0gICAgICAvKiBGb3IgYW4gaW52ZXJ0ZWQgY29udHJvbCBmbG93IHdpdGggZWFybHkgYnJl YWtzIHdlIHdhbnQgRVhUUkFDVF9GSVJTVAotCSBpbnN0ZWFkIG9mIEVYVFJBQ1RfTEFTVC4gIEVt dWxhdGUgYnkgcmV2ZXJzaW5nIHRoZSB2ZWN0b3IgYW5kIG1hc2suICovCi0gICAgICBpZiAocmVz dGFydF9sb29wICYmIExPT1BfVklORk9fRUFSTFlfQlJFQUtTIChsb29wX3ZpbmZvKSkKLQl7Ci0J ICAvKiBGaXJzdCBjcmVhdGUgdGhlIHBlcm11dGVkIG1hc2suICAqLwotCSAgdHJlZSBwZXJtX21h c2sgPSBwZXJtX21hc2tfZm9yX3JldmVyc2UgKFRSRUVfVFlQRSAobWFzaykpOwotCSAgdHJlZSBw ZXJtX2Rlc3QgPSBjb3B5X3NzYV9uYW1lIChtYXNrKTsKLQkgIGdpbXBsZSAqcGVybV9zdG10Ci0J CT0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAocGVybV9kZXN0LCBWRUNfUEVSTV9FWFBSLCBtYXNrLAot CQkJCSAgICAgICBtYXNrLCBwZXJtX21hc2spOwotCSAgdmVjdF9maW5pc2hfc3RtdF9nZW5lcmF0 aW9uIChsb29wX3ZpbmZvLCBzdG10X2luZm8sIHBlcm1fc3RtdCwKLQkJCQkgICAgICAgJmdzaSk7 Ci0JICBtYXNrID0gcGVybV9kZXN0OwotCi0JICAvKiBUaGVuIHBlcm11dGUgdGhlIHZlY3RvciBj b250ZW50cy4gICovCi0JICB0cmVlIHBlcm1fZWxlbSA9IHBlcm1fbWFza19mb3JfcmV2ZXJzZSAo dmVjdHlwZSk7Ci0JICBwZXJtX2Rlc3QgPSBjb3B5X3NzYV9uYW1lICh2ZWNfbGhzX3BoaSk7Ci0J ICBwZXJtX3N0bXQKLQkJPSBnaW1wbGVfYnVpbGRfYXNzaWduIChwZXJtX2Rlc3QsIFZFQ19QRVJN X0VYUFIsIHZlY19saHNfcGhpLAotCQkJCSAgICAgICB2ZWNfbGhzX3BoaSwgcGVybV9lbGVtKTsK LQkgIHZlY3RfZmluaXNoX3N0bXRfZ2VuZXJhdGlvbiAobG9vcF92aW5mbywgc3RtdF9pbmZvLCBw ZXJtX3N0bXQsCi0JCQkJICAgICAgICZnc2kpOwotCSAgdmVjX2xoc19waGkgPSBwZXJtX2Rlc3Q7 Ci0JfQotCiAgICAgICBnaW1wbGVfc2VxX2FkZF9zZXEgKCZzdG10cywgdGVtKTsKIAogICAgICAg c2NhbGFyX3JlcyA9IGdpbXBsZV9idWlsZCAoJnN0bXRzLCBDRk5fRVhUUkFDVF9MQVNULCBzY2Fs YXJfdHlwZSwK --_002_VI1PR08MB5325DCE70C739C85B9EF60FDFF6A2VI1PR08MB5325eurp_--