From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21505 invoked by alias); 28 Aug 2018 15:49:16 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 21462 invoked by uid 89); 28 Aug 2018 15:49:16 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr00063.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.107.0.63) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 28 Aug 2018 15:49:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dcVKxb6PDHX6tgqwt8KdWNpJhWk7R3lpPnkgyreX4YY=; b=WBD3J2YkozBWifSSDMju7y+H+DS9sAYY9YLkhLNJv366FEXaFvNhkB/QAb+MrIXyZeVsfWQKvk4W3C2NxGhhqgf9GJRHSBz0vr239ZnMH0g7n62ahlooda30FiwFITUdtYlR03XCA9C/iovXqmft5M9u1ANCFKNNDzCfF6vgqqs= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.226.148) by DB6PR0802MB2229.eurprd08.prod.outlook.com (10.172.227.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.15; Tue, 28 Aug 2018 15:49:11 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::d961:4d5b:5082:1a78]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::d961:4d5b:5082:1a78%4]) with mapi id 15.20.1080.015; Tue, 28 Aug 2018 15:49:11 +0000 From: Alan Hayward To: Simon Marchi CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH 1/4] Aarch64: Func to detect args passed in float regs Date: Tue, 28 Aug 2018 15:49:00 -0000 Message-ID: References: <20180820092933.83224-1-alan.hayward@arm.com> <20180820092933.83224-2-alan.hayward@arm.com> <5b0e04b204c06e9ca8bab1cfbafdd3f8@polymtl.ca> In-Reply-To: <5b0e04b204c06e9ca8bab1cfbafdd3f8@polymtl.ca> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: text/plain; charset="us-ascii" Content-ID: <28B5FE87C3AA14499BFD92BF31EF7263@eurprd08.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-08/txt/msg00686.txt.bz2 > On 28 Aug 2018, at 16:43, Simon Marchi wrote: >=20 > On 2018-08-20 05:29, Alan Hayward wrote: >> aapcs_is_vfp_call_or_return_candidate is as an eventual replacement >> for is_hfa_or_hva. >> This function is based on the GCC code >> gcc/config/aarch64/aarch64.c:aarch64_vfp_is_call_or_return_candidate () >> 2018-08-20 Alan Hayward >> * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro. >> (aapcs_is_vfp_call_or_return_candidate_1): New function. >> (aapcs_is_vfp_call_or_return_candidate): Likewise. >=20 > I'm not an AArch64 expert, but I didn't spot anything suspicious. The do= cumentation > helps a lot to understand, thanks for that. >=20 >=20 >> +/* Return true if an argument, whose type is described by TYPE, can >> be passed or >> + returned in simd/fp registers, providing enough parameter passing re= gisters >> + are available. This is as described in the AAPCS64. >> + >> + Upon successful return, *COUNT returns the number of needed register= s, >> + *FUNDAMENTAL_TYPE contains the type of those registers. >> + >> + Candidate as per the AAPCS64 5.4.2.C is either a: >> + - float. >> + - short-vector. >> + - HFA (Homogeneous Floating-point Aggregate, 4.3.5.1). A Composite >> type where >> + all the members are floats and has at most 4 members. >> + - HVA (Homogeneous Short-vector Aggregate, 4.3.5.2). A Composite typ= e where >> + all the members are short vectors and has at most 4 members. >> + - Complex (7.1.1) >> + >> + Note that HFAs and HVAs can include nested structures and arrays. */ >> + >> +bool >=20 > static? >=20 Yes, it should be static. But, in this patch nothing calls the function, wh= ich causes a compile failure. I make it static in patch 2. A little awkward, but seemed the best way to do it. Alan.