From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 42897 invoked by alias); 9 Aug 2016 13:43:48 -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 39258 invoked by uid 89); 9 Aug 2016 13:43:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:74.2016, Attached X-HELO: mail-pf0-f180.google.com Received: from mail-pf0-f180.google.com (HELO mail-pf0-f180.google.com) (209.85.192.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 09 Aug 2016 13:43:37 +0000 Received: by mail-pf0-f180.google.com with SMTP id p64so5351337pfb.1 for ; Tue, 09 Aug 2016 06:43:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version; bh=sS3yrG3TD4LmiENdO1RaQioqJYf+MJfK9awH+6fjLcY=; b=Bp+cXcf3gdm6GnREJ0SYzz8pLkJvgSqbsdJwqnZyl1FsVxhErANxfN95QsaN97r0dd muwTx3Un7dc1OlqUI+ay5J2JAvIU2vy6cPimPxiiC12CP/yAgOYvZa5SDRG5Pqu37re6 D+Of9R4RzpYjwpTf/m6e8GdHNiTeqgdXynvby/JaK3JNKd+8QJVCWiblAH5KTA+PLOwr UzoPl/2Ms0e4FeFuvi7sTjAmDytOyNNJ8+/TKVA8cy4HJ/PrFdi3UuVPn/G3yd+oQtHB ZpgeR5ANp+oM9wDpnwBMGU5HIUC4Xd7OcoLaeVeqhIW0fU0aV3vJd7Mc1dRwY1EX4E6/ aluQ== X-Gm-Message-State: AEkoouvMAY9s4Zd1N6vT0K4mX4lETdf0mXiRR04JuvlgPfWgF3bHdgYALu7JIVF8N1o231F/ X-Received: by 10.98.80.29 with SMTP id e29mr172435603pfb.76.1470750215298; Tue, 09 Aug 2016 06:43:35 -0700 (PDT) Received: from [10.1.1.4] (58-6-183-210.dyn.iinet.net.au. [58.6.183.210]) by smtp.gmail.com with ESMTPSA id 9sm56255305pfo.74.2016.08.09.06.43.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Aug 2016 06:43:34 -0700 (PDT) From: kugan Subject: [PR72835] Incorrect arithmetic optimization involving bitfield arguments To: "gcc-patches@gcc.gnu.org" , Richard Biener Message-ID: <0a1eaaf8-3ede-cd56-ffb5-40b25f94e46e@linaro.org> Date: Tue, 09 Aug 2016 13:43:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------11F021400EA003AB06551659" X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00708.txt.bz2 This is a multi-part message in MIME format. --------------11F021400EA003AB06551659 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1494 Hi, The test-case in PR72835 is failing with -O2 and passing with -fno-tree-reassoc. It also passes with -O2 -fno-tree-vrp. diff of .115t.dse2 and .116t.reassoc1 for the c++ testcase is as follows, which looks OK. + unsigned int _16; + unsigned int _17; + unsigned int _18; : _1 = s1.m2; _2 = (unsigned int) _1; _3 = s1.m3; _4 = (unsigned int) _3; - _5 = -_4; - _6 = _2 * _5; + _5 = _4; + _6 = _5 * _2; var_32.0_7 = var_32; _8 = (unsigned int) var_32.0_7; _9 = s1.m1; _10 = (unsigned int) _9; - _11 = -_10; - _12 = _8 * _11; - c_14 = _6 + _12; + _11 = _10; + _12 = _11 * _8; + _16 = _12 + _6; + _18 = _16; + _17 = -_18; + c_14 = _17; if (c_14 != 4098873984) However, I noticed that when we re-associate and assign different operands to the stmts, we are not resetting the flow information to the LHS. This looks wrong. Attached patch resets it. With this, the testcases in TH PR is now working. Bootstrap and regression testing for x86_64-linux-gnu is in progress. Is this OK for trunk if there is no regression. Thanks, Kugan gcc/testsuite/ChangeLog: 2016-08-09 Kugan Vivekanandarajah PR tree-optimization/72835 * gcc.dg/torture/pr72835.c: New test. gcc/ChangeLog: 2016-08-09 Kugan Vivekanandarajah PR tree-optimization/72835 * tree-ssa-reassoc.c (rewrite_expr_tree): Reset value_range of LHS when operands are changed. (rewrite_expr_tree_parallel): Likewise. --------------11F021400EA003AB06551659 Content-Type: text/plain; charset=UTF-8; name="pr72835.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pr72835.txt" Content-length: 2184 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RvcnR1cmUvcHI3 MjgzNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdG9ydHVyZS9wcjcyODM1 LmMKaW5kZXggZTY5ZGUyOS4uZDdkMGE4ZCAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdG9ydHVyZS9wcjcyODM1LmMKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdG9ydHVyZS9wcjcyODM1LmMKQEAgLTAsMCArMSwz NiBAQAorLyogUFIgdHJlZS1vcHRpbWl6YXRpb24vNzI4MzUgKi8KKy8qIHsg ZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisK K3N0cnVjdCBzdHJ1Y3RfMSB7CisgICAgdW5zaWduZWQgaW50IG0xIDogNiA7 CisgICAgdW5zaWduZWQgaW50IG0yIDogMjQgOworICAgIHVuc2lnbmVkIGlu dCBtMyA6IDYgOworfTsKKwordW5zaWduZWQgc2hvcnQgdmFyXzMyID0gMHgy ZDEwOworCitzdHJ1Y3Qgc3RydWN0XzEgczE7CisKK3ZvaWQgaW5pdCAoKQor eworICBzMS5tMSA9IDQ7CisgIHMxLm0yID0gMHg3Y2E0Yjg7CisgIHMxLm0z ID0gMjQ7Cit9CisKK3ZvaWQgZm9vICgpCit7CisgIHVuc2lnbmVkIGludCBj ID0KKyAgICAoKHVuc2lnbmVkIGludCkgczEubTIpICogKC0oKHVuc2lnbmVk IGludCkgczEubTMpKQorICAgICsgKHZhcl8zMikgKiAoLSgodW5zaWduZWQg aW50KSAoczEubTEpKSk7CisgIGlmIChjICE9IDQwOTg4NzM5ODQpCisgICAg X19idWlsdGluX2Fib3J0ICgpOworfQorCitpbnQgbWFpbiAoKQoreworICAg IGluaXQgKCk7CisgICAgZm9vICgpOworICAgIHJldHVybiAwOworfQpkaWZm IC0tZ2l0IGEvZ2NjL3RyZWUtc3NhLXJlYXNzb2MuYyBiL2djYy90cmVlLXNz YS1yZWFzc29jLmMKaW5kZXggN2ZkNzU1MC4uYjg2NGVkMSAxMDA2NDQKLS0t IGEvZ2NjL3RyZWUtc3NhLXJlYXNzb2MuYworKysgYi9nY2MvdHJlZS1zc2Et cmVhc3NvYy5jCkBAIC0zOTQ1LDYgKzM5NDUsNyBAQCByZXdyaXRlX2V4cHJf dHJlZSAoZ2ltcGxlICpzdG10LCB1bnNpZ25lZCBpbnQgb3BpbmRleCwKIAkg ICAgICBnaW1wbGVfYXNzaWduX3NldF9yaHMxIChzdG10LCBvZTEtPm9wKTsK IAkgICAgICBnaW1wbGVfYXNzaWduX3NldF9yaHMyIChzdG10LCBvZTItPm9w KTsKIAkgICAgICB1cGRhdGVfc3RtdCAoc3RtdCk7CisJICAgICAgcmVzZXRf Zmxvd19zZW5zaXRpdmVfaW5mbyAobGhzKTsKIAkgICAgfQogCiAJICBpZiAo cmhzMSAhPSBvZTEtPm9wICYmIHJoczEgIT0gb2UyLT5vcCkKQEAgLTQxOTMs OSArNDE5NCwxMSBAQCByZXdyaXRlX2V4cHJfdHJlZV9wYXJhbGxlbCAoZ2Fz c2lnbiAqc3RtdCwgaW50IHdpZHRoLAogCSBvdGhlcnMgYXJlIHJlY3JlYXRl ZC4gICovCiAgICAgICBpZiAoaSA9PSBzdG10X251bSAtIDEpCiAJeworCSAg dHJlZSBsaHMgPSBnaW1wbGVfYXNzaWduX2xocyAoc3RtdHNbaV0pOwogCSAg Z2ltcGxlX2Fzc2lnbl9zZXRfcmhzMSAoc3RtdHNbaV0sIG9wMSk7CiAJICBn aW1wbGVfYXNzaWduX3NldF9yaHMyIChzdG10c1tpXSwgb3AyKTsKIAkgIHVw ZGF0ZV9zdG10IChzdG10c1tpXSk7CisJICByZXNldF9mbG93X3NlbnNpdGl2 ZV9pbmZvIChsaHMpOwogCX0KICAgICAgIGVsc2UKIAl7Cg== --------------11F021400EA003AB06551659--