From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97445 invoked by alias); 19 Nov 2018 10:38:47 -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 97430 invoked by uid 89); 19 Nov 2018 10:38:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:3514 X-HELO: mail-lf1-f46.google.com Received: from mail-lf1-f46.google.com (HELO mail-lf1-f46.google.com) (209.85.167.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 19 Nov 2018 10:38:44 +0000 Received: by mail-lf1-f46.google.com with SMTP id b20so20909709lfa.12 for ; Mon, 19 Nov 2018 02:38:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7I/cBOAzoTcwNHJzL0HYjN27n+5V+6sEwWzk0KyW8Ow=; b=G86wsob16/YIV3D65wsJbv8DcfOXAcTNPRleLY0jDLGTVZ78GlvNwek1hbavjBp8ZO vQgO/Z0I3CEFDKr6JhaABIuPrGqwaA4H79T90DHC2G/c0BKnzEzEl5TKTShZFbbW2AqH WfjPR0BsLXc8P9JpQkS4EcM8JBg72PWYy69hnbWSQITTqxPSgtQQ5pMNWSARxH2B1GNJ dEe//tv8wez2fI659C9bSLZYbzyO78rPHnS4RByYQ7n7CstYEMWtnb40DaWk6/KVAT0+ If8br0Dz7z5FLLvzt0DogEe9sqkF4mZ+rIL2eIwCO/xRan2eExAskwfEa2VH17ZzewyC 2djg== MIME-Version: 1.0 References: <20181116112737.GH11625@tucnak> In-Reply-To: From: Lokesh Janghel Date: Mon, 19 Nov 2018 10:38:00 -0000 Message-ID: Subject: Re: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87626 To: jakub@redhat.com Cc: umesh.kalappa0@gmail.com, richard.guenther@gmail.com, gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000e78ca5057b021e1e" X-SW-Source: 2018-11/txt/msg01611.txt.bz2 --000000000000e78ca5057b021e1e Content-Type: text/plain; charset="UTF-8" Content-length: 3617 Thank you Jakub, I update the patch with your comments and tested it. Please let me know your thoughts/suggestions. On Mon, Nov 19, 2018 at 4:00 PM Lokesh Janghel wrote: > > Thank you Jakub, I update the patch with your comments and tested it. > Please let me know your thoughts/suggestions. > > > Thanks > Lokesh > > On Fri, Nov 16, 2018 at 4:57 PM Jakub Jelinek wrote: >> >> 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 > > > > -- > Thanks & Regards > Lokesh Janghel > +91-9752984749 -- Thanks & Regards Lokesh Janghel +91-9752984749 --000000000000e78ca5057b021e1e Content-Type: application/octet-stream; name="85667.patch" Content-Disposition: attachment; filename="85667.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_joo6fo160 Content-length: 3319 ZGlmZiAtLWdpdCBhL2djYy9DaGFuZ2VMb2cgYi9nY2MvQ2hhbmdlTG9nCmlu ZGV4IDhjYTJlNzMuLmI1NWRmYTkgMTAwNjQ0Ci0tLSBhL2djYy9DaGFuZ2VM b2cKKysrIGIvZ2NjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDggQEAKKzIwMTgt MTEtMTkgTG9rZXNoIEphbmdoZWwgPGxva2VzaGphbmdoZWw5MUBnbWFpbC5j b20+CisKKwkqIGNvbmZpZy9pMzg2L2kzODYuYyhmdW5jdGlvbl92YWx1ZV9t c182NCk6IFJldHVybiBBWF9SRUcgaW5zdGVhZAorCW9mIEZJUlNUX1NTRV9S RUcgZm9yIDQgb3IgOCBieXRlIG1vZGVzLgorCiAyMDE4LTExLTE2ICBJbHlh IExlb3Noa2V2aWNoICA8aWlpQGxpbnV4LmlibS5jb20+CiAKIAkqIGNvbmZp Zy9zMzkwL3MzOTAubWQKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9p Mzg2LmMgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5jCmluZGV4IGMxOGM2MGEu LjQxZGVmNTQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmMK KysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwpAQCAtOTAwNSwxMSArOTAw NSw2IEBAIGZ1bmN0aW9uX3ZhbHVlX21zXzY0IChtYWNoaW5lX21vZGUgb3Jp Z19tb2RlLCBtYWNoaW5lX21vZGUgbW9kZSwKIAkgICAgICAmJiAhQ09NUExF WF9NT0RFX1AgKG1vZGUpKQogCSAgICByZWdubyA9IEZJUlNUX1NTRV9SRUc7 CiAJICBicmVhazsKLQljYXNlIDg6Ci0JY2FzZSA0OgotCSAgaWYgKG1vZGUg PT0gU0Ztb2RlIHx8IG1vZGUgPT0gREZtb2RlKQotCSAgICByZWdubyA9IEZJ UlNUX1NTRV9SRUc7Ci0JICBicmVhazsKIAlkZWZhdWx0OgogCSAgYnJlYWs7 CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvQ2hhbmdl TG9nIGIvZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKaW5kZXggNjQ3ZWE1ZC4u NDBlYzYwNSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5IEBA CisyMDE4LTExLTE5IExva2VzaCBKYW5naGVsIDxsb2tlc2hqYW5naGVsOTFA Z21haWwuY29tPgorCQorCVBSIHRhcmdldC84NTY2NworCSogZ2NjLnRhcmdl dC9wcjg1NjY3LTEuYzogTmV3IHRlc3RjYXNlLgorCSogZ2NjLnRhcmdldC9w cjg1NjY3LTIuYzogTmV3IHRlc3RjYXNlLgorCiAyMDE4LTExLTE2ICBJbHlh IExlb3Noa2V2aWNoICA8aWlpQGxpbnV4LmlibS5jb20+CiAKIAkqIGdjYy50 YXJnZXQvczM5MC9tZC9yWHNiZ19tb2RlX3NYbC5jOiBEbyBub3QgdXNlIGFy aXRobWV0aWMgaW4KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3ByODU2NjctMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI4NTY2Ny0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uY2IzYWNiYgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByODU2NjctMS5jCkBAIC0wLDAg KzEsMjggQEAKKy8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICov Cit2b2lkIGFib3J0ICgpOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgZmxvYXQg eDsKK30gRmxvYXQ7CisKK0Zsb2F0IF9fYXR0cmlidXRlX18oKG1zX2FiaSkp IGZuMSAoKQoreworICBGbG9hdCB2OworICB2LnggPSAzLjE0NTsKKyAgcmV0 dXJuIHY7Cit9CitGbG9hdCBmbjIgKCkKK3sKKyAgRmxvYXQgdjsKKyAgdi54 ID0gMy4xNDU7CisgIHJldHVybiB2OworfQoraW50IG1haW4gKCkKK3sKKyAg RmxvYXQgYSwgYjsKKyAgYSA9IGZuMSAoKTsKKyAgYiA9IGZuMiAoKTsKKyAg aWYgKGEueCA9PSAzLjE0NWYgJiYgYi54ID09IDMuMTQ1ZikKKyAgICByZXR1 cm4gMDsgCisgIGFib3J0ICgpOyAgIAorfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI4NTY2Ny0yLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjg1NjY3LTIuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzgyYzdkCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI4NTY2 Ny0yLmMKQEAgLTAsMCArMSwxNSBAQAorLyogeyBkZy1kbyBhc3NlbWJsZSB9 ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWFzbT1pbnRlbCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgbHA2NCB9ICovCisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBtYXNtX2ludGVsIH0g Ki8gCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIm1v dmxcW15cblxyXSosICVlYXgiIDF9IH0gKi8KK3R5cGVkZWYgc3RydWN0Cit7 CisgIGZsb2F0IHg7Cit9IEZsb2F0OworRmxvYXQgX19hdHRyaWJ1dGVfXygo bXNfYWJpKSkgZm4xICgpCit7CisgIEZsb2F0IHY7CisgIHYueCA9IDMuMTQ1 OworICByZXR1cm4gdjsKK30K --000000000000e78ca5057b021e1e--