From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61942 invoked by alias); 10 Jun 2016 13:56:32 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 61925 invoked by uid 89); 10 Jun 2016 13:56:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Hx-languages-length:1830 X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Jun 2016 13:56:21 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DFADDF; Fri, 10 Jun 2016 06:56:55 -0700 (PDT) Received: from [10.2.206.222] (e108033-lin.cambridge.arm.com [10.2.206.222]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 830AF3F246; Fri, 10 Jun 2016 06:56:18 -0700 (PDT) Subject: Re: [ARM] Fix, add tests for FP16 aapcs. To: Christophe Lyon References: <57598992.8090106@foss.arm.com> Cc: gcc-patches From: Matthew Wahab Message-ID: <575AC701.5000907@foss.arm.com> Date: Fri, 10 Jun 2016 13:56:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00816.txt.bz2 On 10/06/16 09:32, Christophe Lyon wrote: > On 9 June 2016 at 17:21, Matthew Wahab wrote: >> A number of tests were added to check for FP16 arguments and return >> values being passed in registers. These require mfloat-abi=hard to be >> selected but in some test configurations they were run with >> -mfloat-abi=soft or -mfloat-abi=softfp. >> > It's an improvement, but I'm still seeing a few problems with this patch: > the vfp* tests are still failing in some of the configurations I test, because > * you force dg-options that contains -mfloat-abi=hard, > * you check effective-target arm_neon_fp16_hw > * but you don't call dg-add-options arm_neon_fp16 > > on non-hf targets, the effective-target arm_neon_fp16_hw will want to > add -mfloat-abi=softfp, but you actually force -mfloat-abi=hard. > So, the dg-skip directive doesn't match, and the test fails to link because > the dejagnu glue code is compiled in soft mode, and conflicts > with the hard mode from vfpXX.o Thanks for testing this. I'm not sure why the skip-if is failing, it's intended to skip the test if float-abi={soft,softfp} appears anywhere in the command line. That's needed because, in some configurations, the directives add an -mfloat-abi=softfp after the -mfloat-abi=hard from dg-options, making the test fail. The require-effective-target arm_neon_fp16_hw was intended to select a hard-float target with FP16 support. I don't think that dg-add-options arm_neon_fp16 is right because that could also force soft-fp. It may be better to not use arm_neon_fp16_hw. The existing aapc/vfp* tests have a list of require-effective-target directives to filter out invalid boards. I'll see if that can be made to work with arm_hard_vfp_ok and a selector for vfp-fp16 hardware. Matthew