From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27924 invoked by alias); 20 Dec 2018 08:31:05 -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 27677 invoked by uid 89); 20 Dec 2018 08:30:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS,TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=D*Mateusz-i7, sk:mateusz, fun1, sk:Mateusz X-HELO: smtpo92.poczta.onet.pl Received: from smtpo94.poczta.onet.pl (HELO smtpo92.poczta.onet.pl) (213.180.149.147) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 20 Dec 2018 08:30:24 +0000 Received: from [192.168.1.2] (afhi142.neoplus.adsl.tpnet.pl [95.49.190.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mateuszb@poczta.onet.pl) by smtp.poczta.onet.pl (Onet) with ESMTPSA id 43L4gy6jXzz1XS3p2; Thu, 20 Dec 2018 09:30:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poczta.onet.pl; s=2011; t=1545294607; bh=3Gm9SQ0AFYHf9muqSBvuluu087uM/K0FXgpiiIdQsZ8=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=JhOFl/HA1hfc9F6wycLEZhaIdSgV2SMHJ2VhT9Sl4mU3jJzoNeEGHggCcOBgGNmdb dqV0hr209QRtgRrY8cPYysQqfIVMJ/BAS00+cn9ereuvcLCmi2T4B0PbZNHMQfcOaK qWbWx1eoZ/hGu4x7C6q3tPPipjkwzzs+7O2wvN4o= Subject: Re: [Patch] Bug 88521 - gcc 9.0 from r266355 miscompile x265 for mingw-w64 target To: Lokesh Janghel Cc: gcc-patches@gcc.gnu.org References: From: Mateusz Message-ID: <9c72d192-562f-f50c-c6f7-53f0cf22b40b@poczta.onet.pl> Date: Thu, 20 Dec 2018 08:31:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.3 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------6C4CF1F7A7D311F645AF3A60" X-ONET_PL-MDA-SEGREGATION: 0 X-SW-Source: 2018-12/txt/msg01443.txt.bz2 This is a multi-part message in MIME format. --------------6C4CF1F7A7D311F645AF3A60 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 3555 W dniu 20.12.2018 o=C2=A009:12, Lokesh Janghel pisze: > Hi Mateuszb, >=20 > I tested with your proposition patch and it is working right. > I also added the patch with test case. > Please let me know your thoughts/suggestions. >=20 >=20 > Thanks > Lokesh =20 Patch looks good to me, thanks! On 64-bit target we should be OK. We could take a look on 32-bit target. I've attached patch that do the same for 32- and 64-bit targets. Sample result: $ cat t.cpp float fun1(void) { return 4.14f; } typedef struct {float x;} Float; Float fun2(void) { Float v; v.x =3D 4.14f; return v; } double fun3(void) { return 3.13; } typedef struct {double x;} Double; Double fun4(void) { Double v; v.x =3D 3.13; return v; } Mateusz@Mateusz-i7 /c/temp $ g++ -c -Wall -O2 -o t.o t.cpp Mateusz@Mateusz-i7 /c/temp $ objdump -dr t.o t.o: file format pe-x86-64 Disassembly of section .text: 0000000000000000 <_Z4fun1v>: 0: f3 0f 10 05 00 00 00 movss 0x0(%rip),%xmm0 # 8 <_Z4fun1v= +0x8> 7: 00 4: R_X86_64_PC32 .rdata 8: c3 retq 9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 0000000000000010 <_Z4fun2v>: 10: 8b 05 00 00 00 00 mov 0x0(%rip),%eax # 16 <_Z4fun2v= +0x6> 12: R_X86_64_PC32 .rdata 16: c3 retq 17: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 1e: 00 00 0000000000000020 <_Z4fun3v>: 20: f2 0f 10 05 08 00 00 movsd 0x8(%rip),%xmm0 # 30 <_Z4fun4= v> 27: 00 24: R_X86_64_PC32 .rdata 28: c3 retq 29: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 0000000000000030 <_Z4fun4v>: 30: 48 8b 05 08 00 00 00 mov 0x8(%rip),%rax # 3f <_Z4fun4v= +0xf> 33: R_X86_64_PC32 .rdata 37: c3 retq 38: 90 nop 39: 90 nop 3a: 90 nop 3b: 90 nop 3c: 90 nop 3d: 90 nop 3e: 90 nop 3f: 90 nop Mateusz@Mateusz-i7 /c/temp $ m32- 900 Mateusz@Mateusz-i7 /c/temp $ g++ -c -Wall -O2 -o t32.o t.cpp Mateusz@Mateusz-i7 /c/temp $ objdump -dr t32.o t32.o: file format pe-i386 Disassembly of section .text: 00000000 <__Z4fun1v>: 0: d9 05 00 00 00 00 flds 0x0 2: dir32 .rdata 6: c3 ret 7: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi e: 66 90 xchg %ax,%ax 00000010 <__Z4fun2v>: 10: a1 00 00 00 00 mov 0x0,%eax 11: dir32 .rdata 15: c3 ret 16: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi 1d: 8d 76 00 lea 0x0(%esi),%esi 00000020 <__Z4fun3v>: 20: dd 05 08 00 00 00 fldl 0x8 22: dir32 .rdata 26: c3 ret 27: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi 2e: 66 90 xchg %ax,%ax 00000030 <__Z4fun4v>: 30: b8 0a d7 a3 70 mov $0x70a3d70a,%eax 35: ba 3d 0a 09 40 mov $0x40090a3d,%edx 3a: c3 ret 3b: 90 nop 3c: 90 nop 3d: 90 nop 3e: 90 nop 3f: 90 nop --------------6C4CF1F7A7D311F645AF3A60 Content-Type: text/plain; charset=UTF-8; name="gcc-9-32.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gcc-9-32.diff" Content-length: 4628 SW5kZXg6IGdjYy9jb25maWcvaTM4Ni9pMzg2LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwkocmV2aXNpb24g MjY3MjkxKQorKysgZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwkod29ya2luZyBj b3B5KQpAQCAtODk5MCw2ICs4OTkwLDY2IEBACiB9CiAKIHN0YXRpYyBydHgK K2Z1bmN0aW9uX3ZhbHVlX21zXzMyIChtYWNoaW5lX21vZGUgb3JpZ19tb2Rl LCBtYWNoaW5lX21vZGUgbW9kZSwKKwkJICAgICAgY29uc3RfdHJlZSBmbnR5 cGUsIGNvbnN0X3RyZWUgZm4sIGNvbnN0X3RyZWUgdmFsdHlwZSkKK3sKKyAg dW5zaWduZWQgaW50IHJlZ25vOworCisgIC8qIDgtYnl0ZSB2ZWN0b3IgbW9k ZXMgaW4gJW1tMC4gU2VlIGl4ODZfcmV0dXJuX2luX21lbW9yeSBmb3Igd2hl cmUKKyAgICAgd2Ugbm9ybWFsbHkgcHJldmVudCB0aGlzIGNhc2Ugd2hlbiBt bXggaXMgbm90IGF2YWlsYWJsZS4gIEhvd2V2ZXIKKyAgICAgc29tZSBBQklz IG1heSByZXF1aXJlIHRoZSByZXN1bHQgdG8gYmUgcmV0dXJuZWQgbGlrZSBE SW1vZGUuICAqLworICBpZiAoVkVDVE9SX01PREVfUCAobW9kZSkgJiYgR0VU X01PREVfU0laRSAobW9kZSkgPT0gOCkKKyAgICByZWdubyA9IEZJUlNUX01N WF9SRUc7CisKKyAgLyogMTYtYnl0ZSB2ZWN0b3IgbW9kZXMgaW4gJXhtbTAu ICBTZWUgaXg4Nl9yZXR1cm5faW5fbWVtb3J5IGZvciB3aGVyZQorICAgICB3 ZSBwcmV2ZW50IHRoaXMgY2FzZSB3aGVuIHNzZSBpcyBub3QgYXZhaWxhYmxl LiAgSG93ZXZlciBzb21lIEFCSXMKKyAgICAgbWF5IHJlcXVpcmUgdGhlIHJl c3VsdCB0byBiZSByZXR1cm5lZCBsaWtlIGludGVnZXIgVEltb2RlLiAgKi8K KyAgZWxzZSBpZiAobW9kZSA9PSBUSW1vZGUKKwkgICB8fCAoVkVDVE9SX01P REVfUCAobW9kZSkgJiYgR0VUX01PREVfU0laRSAobW9kZSkgPT0gMTYpKQor ICAgIHJlZ25vID0gRklSU1RfU1NFX1JFRzsKKworICAvKiAzMi1ieXRlIHZl Y3RvciBtb2RlcyBpbiAleW1tMC4gICAqLworICBlbHNlIGlmIChWRUNUT1Jf TU9ERV9QIChtb2RlKSAmJiBHRVRfTU9ERV9TSVpFIChtb2RlKSA9PSAzMikK KyAgICByZWdubyA9IEZJUlNUX1NTRV9SRUc7CisKKyAgLyogNjQtYnl0ZSB2 ZWN0b3IgbW9kZXMgaW4gJXptbTAuICAgKi8KKyAgZWxzZSBpZiAoVkVDVE9S X01PREVfUCAobW9kZSkgJiYgR0VUX01PREVfU0laRSAobW9kZSkgPT0gNjQp CisgICAgcmVnbm8gPSBGSVJTVF9TU0VfUkVHOworCisgIC8qIEZsb2F0aW5n IHBvaW50IHJldHVybiB2YWx1ZXMgaW4gJXN0KDApCisgICAgICh1bmxlc3Mg LW1uby1mcC1yZXQtaW4tMzg3IG9yIGFnZ3JlZ2F0ZSB0eXBlIG9mIHVwIHRv IDggYnl0ZXMpLiAgKi8KKyAgZWxzZSBpZiAoWDg3X0ZMT0FUX01PREVfUCAo bW9kZSkgJiYgVEFSR0VUX0ZMT0FUX1JFVFVSTlNfSU5fODAzODcKKwkgICAm JiAoR0VUX01PREVfU0laRSAobW9kZSkgPiA4CisJICAgICAgIHx8IHZhbHR5 cGUgPT0gTlVMTF9UUkVFIHx8ICFBR0dSRUdBVEVfVFlQRV9QICh2YWx0eXBl KSkpCisgICAgcmVnbm8gPSBGSVJTVF9GTE9BVF9SRUc7CisgIGVsc2UKKyAg ICAvKiBNb3N0IHRoaW5ncyBnbyBpbiAlZWF4LiAgKi8KKyAgICByZWdubyA9 IEFYX1JFRzsKKworICAvKiBPdmVycmlkZSBGUCByZXR1cm4gcmVnaXN0ZXIg d2l0aCAleG1tMCBmb3IgbG9jYWwgZnVuY3Rpb25zIHdoZW4KKyAgICAgU1NF IG1hdGggaXMgZW5hYmxlZCBvciBmb3IgZnVuY3Rpb25zIHdpdGggc3NlcmVn cGFybSBhdHRyaWJ1dGUuICAqLworICBpZiAoKGZuIHx8IGZudHlwZSkgJiYg KG1vZGUgPT0gU0Ztb2RlIHx8IG1vZGUgPT0gREZtb2RlKSkKKyAgICB7Cisg ICAgICBpbnQgc3NlX2xldmVsID0gaXg4Nl9mdW5jdGlvbl9zc2VyZWdwYXJt IChmbnR5cGUsIGZuLCBmYWxzZSk7CisgICAgICBpZiAoc3NlX2xldmVsID09 IC0xKQorCXsKKwkgIGVycm9yICgiY2FsbGluZyAlcUQgd2l0aCBTU0UgY2Fs bGluZyBjb252ZW50aW9uIHdpdGhvdXQgIgorCQkgIlNTRS9TU0UyIGVuYWJs ZWQiLCBmbik7CisJICBzb3JyeSAoInRoaXMgaXMgYSBHQ0MgYnVnIHRoYXQg Y2FuIGJlIHdvcmtlZCBhcm91bmQgYnkgYWRkaW5nICIKKwkJICJhdHRyaWJ1 dGUgdXNlZCB0byBmdW5jdGlvbiBjYWxsZWQiKTsKKwl9CisgICAgICBlbHNl IGlmICgoc3NlX2xldmVsID49IDEgJiYgbW9kZSA9PSBTRm1vZGUpCisJICAg ICAgIHx8IChzc2VfbGV2ZWwgPT0gMiAmJiBtb2RlID09IERGbW9kZSkpCisJ cmVnbm8gPSBGSVJTVF9TU0VfUkVHOworICAgIH0KKworICAvKiBPSW1vZGUg c2hvdWxkbid0IGJlIHVzZWQgZGlyZWN0bHkuICAqLworICBnY2NfYXNzZXJ0 IChtb2RlICE9IE9JbW9kZSk7CisKKyAgcmV0dXJuIGdlbl9ydHhfUkVHIChv cmlnX21vZGUsIHJlZ25vKTsKK30KKworc3RhdGljIHJ0eAogZnVuY3Rpb25f dmFsdWVfNjQgKG1hY2hpbmVfbW9kZSBvcmlnX21vZGUsIG1hY2hpbmVfbW9k ZSBtb2RlLAogCQkgICBjb25zdF90cmVlIHZhbHR5cGUpCiB7CkBAIC05MDYz LDYgKzkxMjMsMTMgQEAKIAkgICAgICAmJiAhQ09NUExFWF9NT0RFX1AgKG1v ZGUpKQogCSAgICByZWdubyA9IEZJUlNUX1NTRV9SRUc7CiAJICBicmVhazsK KwljYXNlIDg6CisJY2FzZSA0OgorCSAgaWYgKHZhbHR5cGUgIT0gTlVMTF9U UkVFICYmIEFHR1JFR0FURV9UWVBFX1AgKHZhbHR5cGUpKQorCSAgICBicmVh azsKKwkgIGlmIChtb2RlID09IFNGbW9kZSB8fCBtb2RlID09IERGbW9kZSkK KwkgICAgcmVnbm8gPSBGSVJTVF9TU0VfUkVHOworCSAgYnJlYWs7CiAJZGVm YXVsdDoKIAkgIGJyZWFrOwogICAgICAgICB9CkBAIC05MDgxLDggKzkxNDgs MTMgQEAKICAgICBmbiA9IGZudHlwZV9vcl9kZWNsOwogICBmbnR5cGUgPSBm biA/IFRSRUVfVFlQRSAoZm4pIDogZm50eXBlX29yX2RlY2w7CiAKLSAgaWYg KFRBUkdFVF82NEJJVCAmJiBpeDg2X2Z1bmN0aW9uX3R5cGVfYWJpIChmbnR5 cGUpID09IE1TX0FCSSkKLSAgICByZXR1cm4gZnVuY3Rpb25fdmFsdWVfbXNf NjQgKG9yaWdfbW9kZSwgbW9kZSwgdmFsdHlwZSk7CisgIGlmIChpeDg2X2Z1 bmN0aW9uX3R5cGVfYWJpIChmbnR5cGUpID09IE1TX0FCSSkKKyAgICB7Cisg ICAgICBpZiAoVEFSR0VUXzY0QklUKQorCXJldHVybiBmdW5jdGlvbl92YWx1 ZV9tc182NCAob3JpZ19tb2RlLCBtb2RlLCB2YWx0eXBlKTsKKyAgICAgIGVs c2UKKwlyZXR1cm4gZnVuY3Rpb25fdmFsdWVfbXNfMzIgKG9yaWdfbW9kZSwg bW9kZSwgZm50eXBlLCBmbiwgdmFsdHlwZSk7CisgICAgfQogICBlbHNlIGlm IChUQVJHRVRfNjRCSVQpCiAgICAgcmV0dXJuIGZ1bmN0aW9uX3ZhbHVlXzY0 IChvcmlnX21vZGUsIG1vZGUsIHZhbHR5cGUpOwogICBlbHNlCg== --------------6C4CF1F7A7D311F645AF3A60--