From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 103235 invoked by alias); 16 Nov 2018 11:27:45 -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 103225 invoked by uid 89); 16 Nov 2018 11:27:44 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_NUMSUBJECT,KAM_SHORT,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=att, 1,29, Hx-languages-length:2752 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 16 Nov 2018 11:27:43 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 398DE356CE; Fri, 16 Nov 2018 11:27:42 +0000 (UTC) Received: from tucnak.zalov.cz (ovpn-116-75.ams2.redhat.com [10.36.116.75]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B2997600C2; Fri, 16 Nov 2018 11:27:41 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id wAGBRc8u027454; Fri, 16 Nov 2018 12:27:39 +0100 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id wAGBRbjo027453; Fri, 16 Nov 2018 12:27:37 +0100 Date: Fri, 16 Nov 2018 11:27:00 -0000 From: Jakub Jelinek To: Umesh Kalappa Cc: Richard Biener , gcc-patches@gcc.gnu.org, lokesh janghel Subject: Re: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87626 Message-ID: <20181116112737.GH11625@tucnak> Reply-To: Jakub Jelinek References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-IsSubscribed: yes X-SW-Source: 2018-11/txt/msg01442.txt.bz2 On Fri, Nov 16, 2018 at 04:21:25PM +0530, Umesh Kalappa wrote: > My bad , > attached the same now . +2018-11-15 Lokesh Janghel Two spaces before < instead of just one. + + PR target/85667 Only a single space between PR and target. + * i386.c (function_value_ms_64): ms_abi insist to use the eax The filename is relative to the directory with ChangeLog file, so * config/i386/i386.c in this case. The description should say what you've changed, so something like: * config/i386/i386.c (function_value_ms_64): Return AX_REG instead of FIRST_SSE_REG for 4 or 8 byte modes. --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -9008,7 +9008,7 @@ function_value_ms_64 (machine_mode orig_mode, machine_mode mode, case 8: case 4: if (mode == SFmode || mode == DFmode) - regno = FIRST_SSE_REG; + regno = AX_REG; break; Is there something to back that up, say godbolt.org link with some testcases showing how does MSVC, clang etc. handle those? And, because the function starts with: unsigned int regno = AX_REG; the change isn't right, you should remove all of: case 8: case 4: if (mode == SFmode || mode == DFmode) regno = FIRST_SSE_REG; break; because the default will do what you want. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 50e53f0..ec54330 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-11-15 Lokesh Janghel Two spaces between date and name. --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr85667.c @@ -0,0 +1,29 @@ +/* { dg-options "-O2 " } */ +/* { dg-final { scan-assembler-times "movl\[\t \]\.\[a-zA-Z\]\[a-zA-Z\]\[0-9\]\\(%rip\\), %eax" 1} } */ First of all, the test is misplaced, it is clearly x86_64 specific and probably lp64 only, so it shouldn't be in gcc.dg/ where it will be run on all targets, but in gcc.target/i386/ and be guarded with { target lp64 }. Second, seems like you'd like to run the testcase, so you'd better have it /* { dg-do run { target lp64 } } */ The assembler scanning will work only with -masm=att, not -masm=intel and seems to be very fragile, so I'd suggest have one runtime test and one compile time test in which you put just the fn1 function. Why two arbitrary letters after dot? That makes on sense. Either you are looking for .LC\[0-9]* specifically, or for arbitrary symbol, then use something like "movl\[^\n\r]*, %eax" or so (and make sure to use -masm=intel). More interesting would be make check ALT_CC_UNDER_TEST=msvc ALT_CXX_UNDER_TEST=msvc++ RUNTESTFLAGS='compat.exp struct-layout-1.exp' (or whatever MSVC driver names are), i.e. try to run the compat testsuites between MSVC and newly built gcc. Jakub