From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10053.outbound.protection.outlook.com [40.107.1.53]) by sourceware.org (Postfix) with ESMTPS id 090E33858C27 for ; Thu, 25 Nov 2021 10:08:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 090E33858C27 Received: from DBBPR09CA0047.eurprd09.prod.outlook.com (2603:10a6:10:d4::35) by AM6PR08MB5543.eurprd08.prod.outlook.com (2603:10a6:20b:b5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.24; Thu, 25 Nov 2021 10:08:10 +0000 Received: from DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:d4:cafe::a0) by DBBPR09CA0047.outlook.office365.com (2603:10a6:10:d4::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.19 via Frontend Transport; Thu, 25 Nov 2021 10:08:10 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT039.mail.protection.outlook.com (10.152.21.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19 via Frontend Transport; Thu, 25 Nov 2021 10:08:10 +0000 Received: ("Tessian outbound de6049708a0a:v110"); Thu, 25 Nov 2021 10:08:10 +0000 X-CR-MTA-TID: 64aa7808 Received: from 0f9d95287785.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4858938C-C08F-4B0E-AC17-8EDC459F78E7.1; Thu, 25 Nov 2021 10:08:04 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0f9d95287785.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 25 Nov 2021 10:08:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hNZFfQPjq4ziOEj3KPEbKZfxBZFhMo/iMmWAru5e3T/gYiHOluSXeJpAZMgbv4f1ADMA1n33VC9BJN5JnQiNJ4ZiVyGtUIN+iLVM4LF+lQ0I8/JgVL2AN8GOmqr83Kng3BuF6UwSzmTDQDY7u8Cb9Mya9lgwraQT+Esfu2HBXv8ITu25XMUHt9XNnD5OUoH8tVvJyMkedplnEj657XzOiQkHpo8z2ByX6wLYKVQFHKS7e2HoXUZmRU1Ck3Xp+Xb3hMEUOGivsRZ6Zo/kSMlt2wYrIDghbdAOT05I3+Tz6WIWiiRhHpOVwQUQ8VQaHposaiUR71EbCyle1TOUvdz4/Q== 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=QgDxpbMSJy7OLtS/JdsXdzc07paSFHC3rnr+tP0kvM4=; b=ZYI1YG4Vx0vdz64UplIy79y7jDO5J6Apya4qZX+uxfyu92VRYXVHakUEKmLhmWUj8b274mJrHX+GFplzqnBXUV6JmGA9MKFSuP7e8qnU+JEEPY8hc9X2l6AenL6JuyaocmF4N8WAr6ffh57nJGvYIrS53SM6kXDHGiDPUcfOY4eq4mJO6KanCcmkDA+Zd4np3lQ5dEd165AQolDjcdgibsGJJilNectsQ3Utxxt0DpqjREnmb0WaDWRgMoJv1eqeYBV2jp0BjnJjniTMPnLrwBzqMmeuz1XW3By6BsxTOlfXsHsUkV9j1m6hz8Fn/ix+uFuBD84l6Q8CmR2DSgs39w== 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 Received: from DB9PR08MB6603.eurprd08.prod.outlook.com (2603:10a6:10:25a::5) by DB8PR08MB5179.eurprd08.prod.outlook.com (2603:10a6:10:e7::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.24; Thu, 25 Nov 2021 10:08:03 +0000 Received: from DB9PR08MB6603.eurprd08.prod.outlook.com ([fe80::20c4:322c:3309:4696]) by DB9PR08MB6603.eurprd08.prod.outlook.com ([fe80::20c4:322c:3309:4696%9]) with mapi id 15.20.4713.026; Thu, 25 Nov 2021 10:08:02 +0000 From: Joel Hutton To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , Richard Sandiford Subject: [ping][vect-patterns] Refactor widen_plus/widen_minus as internal_fns Thread-Topic: [ping][vect-patterns] Refactor widen_plus/widen_minus as internal_fns Thread-Index: Adfh5EEToSJ4ifOfTkuszj8EbTJwfw== Date: Thu, 25 Nov 2021 10:08:02 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: D7522AF910E2E74ABA0EFB4E9B31E8B7.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-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 107fa748-bc9e-4702-f305-08d9affb7c61 x-ms-traffictypediagnostic: DB8PR08MB5179:|AM6PR08MB5543: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1060;OLM:1060; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: I2bD03al/HIG2eYAZIrLkON7iZs/OrK4/Kw7O3WcvAuz+anE9CRHkdt02+xk0psz603w4aUM5HvFAiQH3My0s5j2DNjkYbQJUX7E+tUSCZvtElbTw6tT/v1+jWWl/8agYDeWtVmCUGEx0jiZXWa8/4TCoN/Phr/ucXQGP3gf7KMLyFwwjbXRMoEi+DHH+gH+w4n1KWZFL9C4hika3is64ShVymefhIdpDBEx0tLGHRz76/mRpYw9xFgvB8AD3TywAvnYerPp/m7tFikOI2RGjGh8LRuVP5Q3Bd5H45HdN7kn6+ve5EHvDhY6heDWllWSQEH2QYmsOG7B/fd5C+F7o161ggatl9gPQ/imaSPtYtPt4O1f1w4QUB9v1PVT0BfdnZflWdy/xBBVmp3yFXRrJbdaUX6ckgJPjjVlXXOB/nUb3w6bDvaEeTWwAofX2HsN3rrZebO4X1qnc6cRc+Tt6TjWIYN8TWxe3wGTWDuGOk4d7N/1Nv1aCH+z+jWM5IJLOgmfim0CQmHztnwGu+ZRVlFipnJCkITn/S+65peMm0ZAA7Whq3ABMhGPjvT67vFo/f6oP6i/FoxARLzFRG61w1hlq/6XPHQNhTupHNi8UvCeZQWJnajvXiRYFemADLNRlXTtzMNUUOa3Vo1keTVek6iiIQu2GhAMRpc8SGxrDzKQUPRMRkHbI8y8VBxX7M9UugCdHob1FAt8ZXcMTM/x9g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6603.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(71200400001)(2906002)(26005)(86362001)(33656002)(54906003)(9686003)(508600001)(83380400001)(316002)(66446008)(38070700005)(186003)(66556008)(7696005)(66476007)(8936002)(4326008)(52536014)(6506007)(8676002)(5660300002)(122000001)(64756008)(53546011)(66946007)(76116006)(38100700002)(6916009)(55016003); 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: DB8PR08MB5179 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: DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 7d7609cd-b1af-4468-25db-08d9affb77a2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MWFjHKjKoXxifG1/KzTnebTePwfgi57a3bk4ZQKvzixnn4qt1VyCOtsFbcwNdZc9cB/j9CLJGJENGt+YnRyQxOME6m9BbNQW7tW4rTASbEE38LKZ9Y1xC7Dco5MZUD/TE7DIWxutmBCHer5ZQu4Qjh6h2AZ27+gGCGQ/6iLEMvQ+O2HNvccFU40Uw3Dpae1ZMCOCnH8hMguja8WR1bubCmJDRWWz/Wz7W8ApY1y7LzQZLoqyRgdHWM3pJmFxGkTSFQO+7vyp5IDSTQtCcNjWSeJMRxRm3P1+fcyDxOeU3o27pfCQyNZsSdUro3uhoiHIPaJgpxuiNfSgIz+I6S9YaO6tkxGqhHj/chg/+lNewImBBSPWkJzaijrfhkHZMGTZ3itvMSDvXkZzjogmigQ0cgvhE+jpeK8sOSqG2OW0cKmXRZPfD5yLMfd0evIC7p3pn3jKoo5o6U/hp+CyAhvwJhjGKp3VGoUZUaUp2MX6WVIiVMTQJmkAUk/j+hwB4Y3U2193BLq7jZvhk8HvgGi45R8IXBy8l0H+w+MMtk+CR7v+j5Mlc+e4CELOx6h3Soel8Axa4B1BTKp0Lw9usLAl+igdyk6lcOSpUWCuOWOzZ6nVAsPFCLsPSQb8r2ItXFmpIF/wHF2n3dcFGz+BMemHJ8AIM7asI2ai9PS63Ie3eesOJSU8lF+tFEbzzrsxAXEerwzs/D3xNnBfp2aNufWYjw== 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:(4636009)(36840700001)(46966006)(4326008)(70586007)(336012)(316002)(52536014)(8676002)(356005)(26005)(70206006)(6862004)(2906002)(54906003)(83380400001)(33656002)(86362001)(7696005)(186003)(47076005)(8936002)(5660300002)(9686003)(81166007)(82310400004)(6506007)(53546011)(55016003)(36860700001)(508600001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2021 10:08:10.8011 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 107fa748-bc9e-4702-f305-08d9affb7c61 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: DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5543 X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Nov 2021 10:08:18 -0000 Just a quick ping to check this hasn't been forgotten. > -----Original Message----- > From: Joel Hutton > Sent: 12 November 2021 11:42 > To: Richard Biener > Cc: gcc-patches@gcc.gnu.org; Richard Sandiford > > Subject: RE: [vect-patterns] Refactor widen_plus/widen_minus as > internal_fns >=20 > > please use #define INCLUDE_MAP before the system.h include instead. > > Is it really necessary to build a new std::map for each optab lookup?! > > That looks quite ugly and inefficient. We'd usually - if necessary at > > all - build a auto_vec > and .sort () and .bsearch = () it. > Ok, I'll rework this part. In the meantime, to address your other comment= . >=20 > > I'm not sure I understand DEF_INTERNAL_OPTAB_MULTI_FN, neither this > > cover letter nor the patch ChangeLog explains anything. >=20 > I'll attempt to clarify, if this makes things clearer I can include this = in the > commit message of the respun patch: >=20 > DEF_INTERNAL_OPTAB_MULTI_FN is like DEF_INTERNAL_OPTAB_FN except it > provides convenience wrappers for defining conversions that require a hi/= lo > split, like widening and narrowing operations. Each definition for > will require an optab named and two other optabs that you specify > for signed and unsigned. The hi/lo pair is necessary because the widening > operations take n narrow elements as inputs and return n/2 wide elements > as outputs. The 'lo' operation operates on the first n/2 elements of inpu= t. > The 'hi' operation operates on the second n/2 elements of input. Defining= an > internal_fn along with hi/lo variations allows a single internal function= to be > returned from a vect_recog function that will later be expanded to hi/lo. >=20 > DEF_INTERNAL_OPTAB_MULTI_FN is used in internal-fn.def to register a > widening internal_fn. It is defined differently in different places and i= nternal- > fn.def is sourced from those places so the parameters given can be reused= . > internal-fn.c: defined to expand to hi/lo signed/unsigned optabs, later > defined to generate the 'expand_' functions for the hi/lo versions of th= e fn. > internal-fn.def: defined to invoke DEF_INTERNAL_OPTAB_FN for the origin= al > and hi/lo variants of the internal_fn >=20 > For example: > IFN_VEC_WIDEN_PLUS -> IFN_VEC_WIDEN_PLUS_HI, > IFN_VEC_WIDEN_PLUS_LO > for aarch64: IFN_VEC_WIDEN_PLUS_HI -> vec_widen_addl_hi_ > -> (u/s)addl2 > IFN_VEC_WIDEN_PLUS_LO -> vec_widen_addl_lo_ > -> (u/s)addl >=20 > This gives the same functionality as the previous > WIDEN_PLUS/WIDEN_MINUS tree codes which are expanded into > VEC_WIDEN_PLUS_LO, VEC_WIDEN_PLUS_HI. >=20 > Let me know if I'm not expressing this clearly. >=20 > Thanks, > Joel