From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) by sourceware.org (Postfix) with ESMTPS id 76D673858407 for ; Mon, 11 Dec 2023 17:08:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 76D673858407 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 76D673858407 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314484; cv=none; b=GsrvjlUj6L9tsU4lszNb1DD3MyTQi4WaFMqcAUZlx9XLI1VhctZJbZoB5/vjPysOrrUSzO+5oWdynUu6M/1CBhWw4vPjPGp3CgTi/74GF8lP4W3/C9YLZHyTHDuiVjeKbgGuzg6TzMOxTZtpUkZTQxk0h4Mh1IZcFR/zv11Ns3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314484; c=relaxed/simple; bh=8Z0ODs26asLDTKDCOpz5LaBrISI13Fs5ipsyafrbsGA=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=Qc1K4OFS84p0OPjfKGT/TGk7d6/DrjNxwvwcXgdx1ZC3VhOkO88/N3TdlYH84XEWBIjnoCw5uVNkOmYLXRllxsKxeOoszGpqniUKFiOoQTDh89VHloDiSd5iiREMCzBqWX+GPA9mgP1Y8DSGfXf228lRg71i+TXHmye56MnrAJM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb32.google.com with SMTP id 3f1490d57ef6-db54611b920so4243625276.3 for ; Mon, 11 Dec 2023 09:08:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702314482; x=1702919282; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=8Z0ODs26asLDTKDCOpz5LaBrISI13Fs5ipsyafrbsGA=; b=hJmmcEQ1V2B0X260DBZc7/2J9bsgqmYgUtht0JvqEcaMP3S0V+tAqjnOzLHeXi7sQx zSDaoIC4YjZje7V1/3mqQFReS/bCzZGicj4sKteLRBLPVyLaaVCYdBAZvv4pCKfbEZMV lAM7j+j0ysk/4+zPPoxweJ3M4ovEpypQMgOtzZ/jL2aSvOtM9ZukJ8zONWAM7Oba61WB Ajp5Tu/G0VEfkovopUZK1VNKxPIGCCGI5jcgmntyONeGYAr5CbkQss4SYmgQ5F2SwUkb 84Qz5px0Em2azJyhnuORWTAQk14fV4+UUYma3oMD2LhxCkkNPr1YHkIje3iK6jDmTS8M /9DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702314482; x=1702919282; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8Z0ODs26asLDTKDCOpz5LaBrISI13Fs5ipsyafrbsGA=; b=pHuP7xyB7izhuRNQweviriywTLJYpLUpsewAQSStbOa/dEtG3+Fe86c4bfv6c7kk6h gh4znD7Z84JEFw5OPIsa7FbS7bOS1ajzhlcDKAd0vy5b28G28YMLnj6vuKJxJKxN/7ob e8A2tl3cbTWyrfDb2s+AoLCKiecT89f9lFWe8Iz4U3wHvOPwp7h11vcRbIiTETgobGVB J7aXiqii0SYmeVk77m6Vh1hTuXpDvCwKiYY93OrakDBnBUl2lHQ/GRL9MUkr0ionmGIB v/aEjwiPSqQcs/Krd+4B43WHEHb5iRx4VEHXTIqlsN/co3Jvse3UA6NEfeiQSX+7JIbT j8UA== X-Gm-Message-State: AOJu0Yywu5dNiqahJGUWDexTjbOMiRu2t9My/bqEBqbJLqByPdIGt+ps eb4gdip8lXnMxFlnCrvv8d1ApLzph1F4n4T2HM5A9CiExA== X-Google-Smtp-Source: AGHT+IGlVdH84XGnQs7UwpY4+gMUdcnpV5k/NE15fYMZ39WUKkic2GUJkT2d4Kkyfoh+LPS9otAAkzjdBNxqo9LDeuw= X-Received: by 2002:a25:8c88:0:b0:db7:dacf:2f21 with SMTP id m8-20020a258c88000000b00db7dacf2f21mr2906933ybl.104.1702314481738; Mon, 11 Dec 2023 09:08:01 -0800 (PST) MIME-Version: 1.0 From: Jingwen Wu Date: Tue, 12 Dec 2023 01:07:50 +0800 Message-ID: Subject: issue: unexpected results in optimizations To: gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000fb06f9060c3ef9ac" X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000fb06f9060c3ef9ac Content-Type: multipart/alternative; boundary="000000000000fb06f7060c3ef9aa" --000000000000fb06f7060c3ef9aa Content-Type: text/plain; charset="UTF-8" Hello, I'm sorry to bother you. And I have some gcc compiler optimization questions to ask you. First of all, I used csmith tools to generate c files randomly. Meanwhile, the final running result was the checksum for global variables in a c file. For the two c files in the attachment, I performed the equivalent transformation of loop from *initial.**c* to *transformed.c*. And the two files produced different results (i.e. different checksum values) when using *-O2* optimization level, while the results of both were the same when using other levels of optimization such as *-O0*, *-O1*, *-O3*, *-Os*, *-Ofast*. Please help me to explain why this is, thank you. command line: *gcc file.c -O2 -lm -I $CSMITH_HOME/include && ./a.out* version: gcc 12.2.0 os: ubuntu 22.04 --000000000000fb06f7060c3ef9aa-- --000000000000fb06f9060c3ef9ac Content-Type: text/x-c-code; charset="US-ASCII"; name="initial.c" Content-Disposition: attachment; filename="initial.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lq12u50v0 CiNpbmNsdWRlICJjc21pdGguaCIKCnN0YXRpYyBpbnQzMl90IGdfYTMyMVsz XTsKc3RhdGljIGludDY0X3QgZ19iMzIxWzNdOwoKdW5pb24gVTAgewogIGNv bnN0IGludDMyX3QgZjA7Cn07Cgp1bmlvbiBVMSB7CiAgY29uc3QgdWludDE2 X3QgZjA7CiAgY29uc3QgdWludDY0X3QgZjE7CiAgaW50MzJfdCBmMjsKICBj b25zdCBzaWduZWQgZjMgOiAyOTsKfTsKCnVuaW9uIFUyIHsKICBpbnQ2NF90 IGYwOwogIGludDE2X3QgZjE7Cn07CgpzdGF0aWMgdWludDMyX3QgZ18zOSA9 IDB4NzhDNzY0NDVMOwpzdGF0aWMgdW5pb24gVTAgZ184NyA9IHsweEE5QUNG MzA0TH07CnN0YXRpYyB1bmlvbiBVMCAqZ184OVsxXVszXVsyXSA9IHt7eyZn Xzg3LCAmZ184N30sIHsmZ184NywgJmdfODd9LCB7JmdfODcsICZnXzg3fX19 OwpzdGF0aWMgdW5pb24gVTAgKip2b2xhdGlsZSBnXzg4WzNdWzFdID0ge3sm Z184OVswXVsyXVsxXX0sIHsmZ184OVswXVsyXVsxXX0sIHsmZ184OVswXVsy XVsxXX19OwpzdGF0aWMgaW50MzJfdCBnXzE2NSA9IDJMOwpzdGF0aWMgdW5p b24gVTIgZ18yNjFbM10gPSB7ezB4REY5QzZFOEJDQzYzQ0NBRUxMfSwgezB4 REY5QzZFOEJDQzYzQ0NBRUxMfSwgezB4REY5QzZFOEJDQzYzQ0NBRUxMfX07 CnN0YXRpYyB1bmlvbiBVMSBnXzQxMiA9IHszVUx9OwoKc3RhdGljIHZvaWQg ZnVuY18xKHZvaWQpOwoKc3RhdGljIHZvaWQgZnVuY18xKCkgewogIHVpbnQ4 X3QgbF8xOSA9IDFVTDsKICBmb3IgKGxfMTkgPSAwOyAobF8xOSA8PSAyKTsg bF8xOSArPSAxKSB7CiAgICBpbnQgaSwgajsKICAgIGZvciAoaSA9IDA7IGkg PCAxOyBpKyspIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDM7IGorKykgewog ICAgICB9CiAgICB9CiAgICBpbnQgaWlfNzsKICAgIC8vIGZ1c2lvbiBpbiBh ZGQgZXhlY1RpbWVzCiAgICBmb3IgKGdfMzkgPSAwLCBpaV83ID0gMDsgKGdf MzkgPD0gMSk7IGdfMzkgKz0gMSwgaWlfNysrKSB7CiAgICAgIGdfYTMyMVtp aV83XSA9ICgqZ184OVswXVsyXVswXSkuZjAgKiBsXzE5ICsgZ18xNjU7CiAg ICB9CiAgICBpbnQgampfNzsKICAgIGZvciAoampfNyA9IDA7IGpqXzcgPCAz OyBqal83KyspIHsKICAgICAgZ19iMzIxW2pqXzddID0gZ18yNjFbMV0uZjAg KiBnX2EzMjFbampfN10gKyBnXzQxMi5mMjsKICAgIH0KICB9Cn0KCmludCBt YWluKHZvaWQpIHsKICBpbnQgaTsKICBpbnQgcHJpbnRfaGFzaF92YWx1ZSA9 IDA7CiAgcGxhdGZvcm1fbWFpbl9iZWdpbigpOwogIGNyYzMyX2dlbnRhYigp OwogIGZ1bmNfMSgpOwogIHRyYW5zcGFyZW50X2NyYyhnXzM5LCAiZ18zOSIs IHByaW50X2hhc2hfdmFsdWUpOwogIHRyYW5zcGFyZW50X2NyYyhnXzg3LmYw LCAiZ184Ny5mMCIsIHByaW50X2hhc2hfdmFsdWUpOwogIHRyYW5zcGFyZW50 X2NyYyhnXzE2NSwgImdfMTY1IiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgZm9y IChpID0gMDsgaSA8IDM7IGkrKykgewogICAgdHJhbnNwYXJlbnRfY3JjKGdf MjYxW2ldLmYwLCAiZ18yNjFbaV0uZjAiLCBwcmludF9oYXNoX3ZhbHVlKTsK ICB9CiAgdHJhbnNwYXJlbnRfY3JjKGdfNDEyLmYwLCAiZ180MTIuZjAiLCBw cmludF9oYXNoX3ZhbHVlKTsKICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7 CiAgICB0cmFuc3BhcmVudF9jcmMoZ19hMzIxW2ldLCAiZ19hMzIxW2ldIiwg cHJpbnRfaGFzaF92YWx1ZSk7CiAgfQogIGZvciAoaSA9IDA7IGkgPCAzOyBp KyspIHsKICAgIHRyYW5zcGFyZW50X2NyYyhnX2IzMjFbaV0sICJnX2IzMjFb aV0iLCBwcmludF9oYXNoX3ZhbHVlKTsKICB9CiAgcGxhdGZvcm1fbWFpbl9l bmQoY3JjMzJfY29udGV4dCBeIDB4RkZGRkZGRkZVTCwgcHJpbnRfaGFzaF92 YWx1ZSk7CiAgcmV0dXJuIDA7Cn0K --000000000000fb06f9060c3ef9ac Content-Type: text/x-c-code; charset="US-ASCII"; name="transformed.c" Content-Disposition: attachment; filename="transformed.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lq12u50y1 CiNpbmNsdWRlICJjc21pdGguaCIKCnN0YXRpYyBpbnQzMl90IGdfYTMyMVsz XTsKc3RhdGljIGludDY0X3QgZ19iMzIxWzNdOwoKdW5pb24gVTAgewogIGNv bnN0IGludDMyX3QgZjA7Cn07Cgp1bmlvbiBVMSB7CiAgY29uc3QgdWludDE2 X3QgZjA7CiAgY29uc3QgdWludDY0X3QgZjE7CiAgaW50MzJfdCBmMjsKICBj b25zdCBzaWduZWQgZjMgOiAyOTsKfTsKCnVuaW9uIFUyIHsKICBpbnQ2NF90 IGYwOwogIGludDE2X3QgZjE7Cn07CgpzdGF0aWMgdWludDMyX3QgZ18zOSA9 IDB4NzhDNzY0NDVMOwpzdGF0aWMgdW5pb24gVTAgZ184NyA9IHsweEE5QUNG MzA0TH07CnN0YXRpYyB1bmlvbiBVMCAqZ184OVsxXVszXVsyXSA9IHt7eyZn Xzg3LCAmZ184N30sIHsmZ184NywgJmdfODd9LCB7JmdfODcsICZnXzg3fX19 OwpzdGF0aWMgdW5pb24gVTAgKip2b2xhdGlsZSBnXzg4WzNdWzFdID0ge3sm Z184OVswXVsyXVsxXX0sIHsmZ184OVswXVsyXVsxXX0sIHsmZ184OVswXVsy XVsxXX19OwpzdGF0aWMgaW50MzJfdCBnXzE2NSA9IDJMOwpzdGF0aWMgdW5p b24gVTIgZ18yNjFbM10gPSB7ezB4REY5QzZFOEJDQzYzQ0NBRUxMfSwgezB4 REY5QzZFOEJDQzYzQ0NBRUxMfSwgezB4REY5QzZFOEJDQzYzQ0NBRUxMfX07 CnN0YXRpYyB1bmlvbiBVMSBnXzQxMiA9IHszVUx9OwoKc3RhdGljIHZvaWQg ZnVuY18xKHZvaWQpOwoKc3RhdGljIHZvaWQgZnVuY18xKCkgewogIHVpbnQ4 X3QgbF8xOSA9IDFVTDsKICBmb3IgKGxfMTkgPSAwOyAobF8xOSA8PSAyKTsg bF8xOSArPSAxKSB7CiAgICBpbnQgaSwgajsKICAgIGZvciAoaSA9IDA7IGkg PCAxOyBpKyspIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDM7IGorKykgewog ICAgICB9CiAgICB9CiAgICBpbnQgaWlfNzsKICAgIGludCBqal83OwogICAg aW50IGlqXzc7CiAgICAvLyBmdXNpb24gaW4gYWRkIGV4ZWNUaW1lcwogICAg Zm9yIChnXzM5ID0gMCwgaWlfNyA9IDAsIGpqXzcgPSAwLCBpal83ID0gMDsg aWpfNyA8IDU7IGlqXzcrKykgewogICAgICBpZiAoaWpfNyA8PSAyICYmIChn XzM5IDw9IDEpKSB7CiAgICAgICAgZ19hMzIxW2lpXzddID0gKCpnXzg5WzBd WzJdWzBdKS5mMCAqIGxfMTkgKyBnXzE2NTsKICAgICAgICBnXzM5ICs9IDE7 CiAgICAgICAgaWlfNysrOwogICAgICB9IGVsc2UgewogICAgICAgIGpqXzcg PSBpal83IC0gMjsKICAgICAgICBnX2IzMjFbampfN10gPSBnXzI2MVsxXS5m MCAqIGdfYTMyMVtqal83XSArIGdfNDEyLmYyOwogICAgICB9CiAgICB9CiAg fQp9CgppbnQgbWFpbih2b2lkKSB7CiAgaW50IGk7CiAgaW50IHByaW50X2hh c2hfdmFsdWUgPSAwOwogIHBsYXRmb3JtX21haW5fYmVnaW4oKTsKICBjcmMz Ml9nZW50YWIoKTsKICBmdW5jXzEoKTsKICB0cmFuc3BhcmVudF9jcmMoZ18z OSwgImdfMzkiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9j cmMoZ184Ny5mMCwgImdfODcuZjAiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0 cmFuc3BhcmVudF9jcmMoZ18xNjUsICJnXzE2NSIsIHByaW50X2hhc2hfdmFs dWUpOwogIGZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgIHRyYW5zcGFy ZW50X2NyYyhnXzI2MVtpXS5mMCwgImdfMjYxW2ldLmYwIiwgcHJpbnRfaGFz aF92YWx1ZSk7CiAgfQogIHRyYW5zcGFyZW50X2NyYyhnXzQxMi5mMCwgImdf NDEyLmYwIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgZm9yIChpID0gMDsgaSA8 IDM7IGkrKykgewogICAgdHJhbnNwYXJlbnRfY3JjKGdfYTMyMVtpXSwgImdf YTMyMVtpXSIsIHByaW50X2hhc2hfdmFsdWUpOwogIH0KICBmb3IgKGkgPSAw OyBpIDwgMzsgaSsrKSB7CiAgICB0cmFuc3BhcmVudF9jcmMoZ19iMzIxW2ld LCAiZ19iMzIxW2ldIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgfQogIHBsYXRm b3JtX21haW5fZW5kKGNyYzMyX2NvbnRleHQgXiAweEZGRkZGRkZGVUwsIHBy aW50X2hhc2hfdmFsdWUpOwogIHJldHVybiAwOwp9Cg== --000000000000fb06f9060c3ef9ac--