From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) by sourceware.org (Postfix) with ESMTPS id 788AB3857034 for ; Mon, 11 Dec 2023 17:05:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 788AB3857034 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 788AB3857034 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b30 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314322; cv=none; b=P6hywMUkJP/M6gsyGd+LwcyqIYM5KHIcFazgzDq0gQ8vuMwLNvGdWiFLdI/bP3ayn+GHbdxBkJYwhhbjqcy67WOM0GwPhA17e8FL04DI5Q2YfGUsvU3eGAWP0ALXdQziQ+WPwNAmm7NFcgT5Z1Gg4LjzQkVb1XuNc4QUHehMewE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314322; c=relaxed/simple; bh=lTz1wpt4mkDQYk4C+xAH5JPphJG3Jap/8oQSXs8lGpw=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=WWSR+xEct3Kxjtjzl6QpozAMHhi1wi/FaV6ra6dYElI2FPICgeNAUKskkZ5pWNyDnOFkUh6k+p6WlNbyvotERf2ySTcPKjIkVzLc9UuuGZ9u5Hi69Z1vM1qAJSBGughrH3iQmpkDcRurSbf0bnHK4VHBttb4nS3MYvybZ2JwPEA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb30.google.com with SMTP id 3f1490d57ef6-db632fef2dcso4543109276.1 for ; Mon, 11 Dec 2023 09:05:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702314320; x=1702919120; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=vIfnL7i4NmD8CHLAK+n0ys8GzP1ki2C4Bbfxi2PA1ig=; b=Ba+B6DTGpf0GaD22pCgkMhKv4QiKAkZT/rwvUydPRudm7CJ5xpMLzSGQvyLB1y3RSk MAFYyxgkDZYgTaT/WMe687F85rHPAoI5/2sVy6FKMW0S4uKvzjSaU3DwaJYQRMPm1yz9 hmBLJgrMDaNn28ITq0bVleO0vm5o10bfC9Dm/NDZkOpGN1dGv/aN9bd/mcEHwwxx8Rcd u8eOiJEXgOwuRpPBSFsTNjLrcrWQZVxIS+Q187jV6w1KGhYyGjetVJtF8BNe9DBjZgcA duY3Q8Mf5wYiA9tXy5eHgX29v41SEqwJxIFK8sWu1q8nVrEa7qW77jNgrN+P1eb7PfLn +CBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702314320; x=1702919120; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=vIfnL7i4NmD8CHLAK+n0ys8GzP1ki2C4Bbfxi2PA1ig=; b=c9mwJTGuLLWYr93tNFs+EHByZbsy7sba9Dqnk7Jb/lYON7GDXIXH5dX9poAVLR6/lL gkLH/a3ISzJbPBpCmtYc07A9gnqjf9YrvjADcELV9MvsigqhRdfg4utJZmBvLlIwgUo6 QIUeNE3XoRXZRkUUQ+93KuuyD8HZVVPoC6PPcikUkCe8Pg1eQ5TFUYcWdkM7oSmb7Jvp BlETeE3KCFjOE8ZfVi3pzEadIc+vzOf9H4RsGj6AmonQ1GC4mHwMQma8I58Mc0U3qbsS QC8GzjbIEKS8A+pQxkeQ4ch9LozyJOZ0YwadpddT8qF7IfdgPXrPZrOLf77tIjNCnnf6 /3/w== X-Gm-Message-State: AOJu0Yzd6BK+MiVJ1CrTb75v2Yd3uhlWBTpohrsrNPTLMc5VHpQ2soUI tQ5JHvElgEzrIuCwaYaGiax+fiJC9wCCRpW8NMebdOyJPgrz X-Google-Smtp-Source: AGHT+IFbHGpNH1cWriahk6mwEkUxXGkGZWHLe3Lglv8LnEf0uzULqChYyXaCc9CtGZyH07epBuCT002qjlTN4LuTjjE= X-Received: by 2002:a25:aa22:0:b0:db5:49f9:1025 with SMTP id s31-20020a25aa22000000b00db549f91025mr2929824ybi.12.1702314319749; Mon, 11 Dec 2023 09:05:19 -0800 (PST) MIME-Version: 1.0 From: Jingwen Wu Date: Tue, 12 Dec 2023 01:05:08 +0800 Message-ID: Subject: issue: unexpected results in optimizations To: gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000537ab7060c3ef0fe" X-Spam-Status: No, score=0.8 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: --000000000000537ab7060c3ef0fe Content-Type: multipart/alternative; boundary="000000000000537ab2060c3ef0fc" --000000000000537ab2060c3ef0fc 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 *-O3 and -Ofast* optimization level, while the results of both were the same when using other levels of optimization such as *-O0*, *-O1*, *-O2, **-Os*. Please help me to explain why this is, thank you. command line: *gcc file.c -O3 -lm -I $CSMITH_HOME/include && ./a.out* *gcc file.c -Ofast -lm -I $CSMITH_HOME/include && ./a.out* version: gcc 12.2.0 os: ubuntu 22.04 --000000000000537ab2060c3ef0fc-- --000000000000537ab7060c3ef0fe 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_lq12wlva0 I2luY2x1ZGUgImNzbWl0aC5oIgoKc3RhdGljIGludDMyX3QgZ19hNzVbNF07 CnN0YXRpYyBpbnQzMl90IGdfYjc1WzRdOwoKc3RydWN0IFMwIHsKICB1aW50 MzJfdCBmMDsKICBjb25zdCB1aW50MTZfdCBmMTsKICB2b2xhdGlsZSBpbnQz Ml90IGYyOwogIHVpbnQxNl90IGYzOwogIGludDY0X3QgZjQ7Cn07CgpzdHJ1 Y3QgUzEgewogIGludDMyX3QgZjA7CiAgY29uc3QgdWludDMyX3QgZjE7CiAg dWludDMyX3QgZjI7Cn07CgpzdHJ1Y3QgUzIgewogIGNvbnN0IGludDY0X3Qg ZjA7CiAgaW50MzJfdCBmMTsKICB2b2xhdGlsZSBpbnQ2NF90IGYyOwogIGlu dDhfdCBmMzsKICB2b2xhdGlsZSBzdHJ1Y3QgUzAgZjQ7Cn07CgpzdGF0aWMg aW50OF90IGdfMTEgPSAoLTZMKTsKc3RhdGljIGludDMyX3QgZ18xMyA9IDB4 Qzg2OUI3RDZMOwpzdGF0aWMgaW50MzJfdCAqZ18xMlsyXVszXVsxXSA9IHt7 eyZnXzEzfSwgeyZnXzEzfSwgeyZnXzEzfX0sIHt7JmdfMTN9LCB7JmdfMTN9 LCB7JmdfMTN9fX07CnN0YXRpYyB2b2xhdGlsZSB1aW50OF90IGdfMjcgPSAy VUw7CnN0YXRpYyBzdHJ1Y3QgUzEgZ18yMzcgPSB7MHhEODQzMENFNUwsIDB4 NzRBNDQ2RUFMLCAwVUx9OwpzdGF0aWMgc3RydWN0IFMxIGdfMjM5ID0gezlM LCAwVUwsIDE4NDQ2NzQ0MDczNzA5NTUxNjE1VUx9OwoKc3RhdGljIGludDY0 X3QgZnVuY18xKHZvaWQpOwoKc3RhdGljIGludDY0X3QgZnVuY18xKHZvaWQp IHsKICBpbnQzMl90ICoqbF80ODggPSAmZ18xMlsxXVsxXVswXTsKICBpbnQg aSwgaiwgazsKICBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKSB7CiAgICBpbnQg aWlfMTsKICAgIC8vIGZ1c2lvbiBpbiBtYXggZXhlY1RpbWVzCiAgICBmb3Ig KGogPSAwLCBpaV8xID0gMDsgaiA8IDI7IGorKywgaWlfMSsrKSB7CiAgICAg IGZvciAoayA9IDA7IGsgPCAxOyBrKyspIHsKICAgICAgICBnX2E3NVtpaV8x XSA9IGdfMjM3LmYwICogZ18xMSAtIGdfMjc7CiAgICAgIH0KICAgIH0KICAg IGludCBqal8xOwogICAgZm9yIChqal8xID0gMDsgampfMSA8IDQ7IGpqXzEr KykgewogICAgICBnX2I3NVtqal8xXSA9IGdfMjM5LmYwICogZ19hNzVbampf MV0gLSBnXzEzOwogICAgfQogIH0KCiAgcmV0dXJuICgqKmxfNDg4KTsKfQoK aW50IG1haW4odm9pZCkgewogIGludCBpLCBqLCBrOwogIGludCBwcmludF9o YXNoX3ZhbHVlID0gMDsKICBwbGF0Zm9ybV9tYWluX2JlZ2luKCk7CiAgY3Jj MzJfZ2VudGFiKCk7CiAgZnVuY18xKCk7CgogIHRyYW5zcGFyZW50X2NyYyhn XzExLCAiZ18xMSIsIHByaW50X2hhc2hfdmFsdWUpOwogIHRyYW5zcGFyZW50 X2NyYyhnXzEzLCAiZ18xMyIsIHByaW50X2hhc2hfdmFsdWUpOwogIHRyYW5z cGFyZW50X2NyYyhnXzI3LCAiZ18yNyIsIHByaW50X2hhc2hfdmFsdWUpOwog IHRyYW5zcGFyZW50X2NyYyhnXzIzNy5mMCwgImdfMjM3LmYwIiwgcHJpbnRf aGFzaF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjM3LmYxLCAiZ18y MzcuZjEiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMo Z18yMzcuZjIsICJnXzIzNy5mMiIsIHByaW50X2hhc2hfdmFsdWUpOwogIHRy YW5zcGFyZW50X2NyYyhnXzIzOS5mMCwgImdfMjM5LmYwIiwgcHJpbnRfaGFz aF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjM5LmYxLCAiZ18yMzku ZjEiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMoZ18y MzkuZjIsICJnXzIzOS5mMiIsIHByaW50X2hhc2hfdmFsdWUpOwogIGZvciAo aSA9IDA7IGkgPCA0OyBpKyspIHsKICAgIHRyYW5zcGFyZW50X2NyYyhnX2E3 NVtpXSwgImdfYTc1W2ldIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgfQogIGZv ciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgIHRyYW5zcGFyZW50X2NyYyhn X2I3NVtpXSwgImdfYjc1W2ldIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgfQog IHBsYXRmb3JtX21haW5fZW5kKGNyYzMyX2NvbnRleHQgXiAweEZGRkZGRkZG VUwsIHByaW50X2hhc2hfdmFsdWUpOwogIHJldHVybiAwOwp9Cg== --000000000000537ab7060c3ef0fe 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_lq12wlvf1 I2luY2x1ZGUgImNzbWl0aC5oIgoKc3RhdGljIGludDMyX3QgZ19hNzVbNF07 CnN0YXRpYyBpbnQzMl90IGdfYjc1WzRdOwoKc3RydWN0IFMwIHsKICB1aW50 MzJfdCBmMDsKICBjb25zdCB1aW50MTZfdCBmMTsKICB2b2xhdGlsZSBpbnQz Ml90IGYyOwogIHVpbnQxNl90IGYzOwogIGludDY0X3QgZjQ7Cn07CgpzdHJ1 Y3QgUzEgewogIGludDMyX3QgZjA7CiAgY29uc3QgdWludDMyX3QgZjE7CiAg dWludDMyX3QgZjI7Cn07CgpzdHJ1Y3QgUzIgewogIGNvbnN0IGludDY0X3Qg ZjA7CiAgaW50MzJfdCBmMTsKICB2b2xhdGlsZSBpbnQ2NF90IGYyOwogIGlu dDhfdCBmMzsKICB2b2xhdGlsZSBzdHJ1Y3QgUzAgZjQ7Cn07CgpzdGF0aWMg aW50OF90IGdfMTEgPSAoLTZMKTsKc3RhdGljIGludDMyX3QgZ18xMyA9IDB4 Qzg2OUI3RDZMOwpzdGF0aWMgaW50MzJfdCAqZ18xMlsyXVszXVsxXSA9IHt7 eyZnXzEzfSwgeyZnXzEzfSwgeyZnXzEzfX0sIHt7JmdfMTN9LCB7JmdfMTN9 LCB7JmdfMTN9fX07CnN0YXRpYyB2b2xhdGlsZSB1aW50OF90IGdfMjcgPSAy VUw7CnN0YXRpYyBzdHJ1Y3QgUzEgZ18yMzcgPSB7MHhEODQzMENFNUwsIDB4 NzRBNDQ2RUFMLCAwVUx9OwpzdGF0aWMgc3RydWN0IFMxIGdfMjM5ID0gezlM LCAwVUwsIDE4NDQ2NzQ0MDczNzA5NTUxNjE1VUx9OwoKc3RhdGljIGludDY0 X3QgZnVuY18xKHZvaWQpOwoKc3RhdGljIGludDY0X3QgZnVuY18xKHZvaWQp IHsKICBpbnQzMl90ICoqbF80ODggPSAmZ18xMlsxXVsxXVswXTsKICBpbnQg aSwgaiwgazsKICBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKSB7CiAgICBpbnQg aWlfMTsKICAgIGludCBqal8xOwogICAgaW50IGlqXzE7CiAgICAvLyBmdXNp b24gaW4gbWF4IGV4ZWNUaW1lcwogICAgZm9yIChqID0gMCwgaWlfMSA9IDAs IGpqXzEgPSAwLCBpal8xID0gMDsgaWpfMSA8PSA0OyBpal8xKyspIHsKICAg ICAgaWYgKGlqXzEgPD0gMiAmJiBqIDwgMikgewogICAgICAgIGZvciAoayA9 IDA7IGsgPCAxOyBrKyspIHsKICAgICAgICAgIGdfYTc1W2lpXzFdID0gZ18y MzcuZjAgKiBnXzExIC0gZ18yNzsKICAgICAgICB9CiAgICAgICAgaisrOwog ICAgICAgIGlpXzErKzsKICAgICAgfQogICAgICBpZiAoaWpfMSA8PSA0ICYm IGpqXzEgPCA0KSB7CiAgICAgICAgZ19iNzVbampfMV0gPSBnXzIzOS5mMCAq IGdfYTc1W2pqXzFdIC0gZ18xMzsKICAgICAgICBqal8xKys7CiAgICAgIH0K ICAgIH0KICB9CgogIHJldHVybiAoKipsXzQ4OCk7Cn0KCmludCBtYWluKHZv aWQpIHsKICBpbnQgaSwgaiwgazsKICBpbnQgcHJpbnRfaGFzaF92YWx1ZSA9 IDA7CiAgcGxhdGZvcm1fbWFpbl9iZWdpbigpOwogIGNyYzMyX2dlbnRhYigp OwogIGZ1bmNfMSgpOwoKICB0cmFuc3BhcmVudF9jcmMoZ18xMSwgImdfMTEi LCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMoZ18xMywg ImdfMTMiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMo Z18yNywgImdfMjciLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVu dF9jcmMoZ18yMzcuZjAsICJnXzIzNy5mMCIsIHByaW50X2hhc2hfdmFsdWUp OwogIHRyYW5zcGFyZW50X2NyYyhnXzIzNy5mMSwgImdfMjM3LmYxIiwgcHJp bnRfaGFzaF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjM3LmYyLCAi Z18yMzcuZjIiLCBwcmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9j cmMoZ18yMzkuZjAsICJnXzIzOS5mMCIsIHByaW50X2hhc2hfdmFsdWUpOwog IHRyYW5zcGFyZW50X2NyYyhnXzIzOS5mMSwgImdfMjM5LmYxIiwgcHJpbnRf aGFzaF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjM5LmYyLCAiZ18y MzkuZjIiLCBwcmludF9oYXNoX3ZhbHVlKTsKICBmb3IgKGkgPSAwOyBpIDwg NDsgaSsrKSB7CiAgICB0cmFuc3BhcmVudF9jcmMoZ19hNzVbaV0sICJnX2E3 NVtpXSIsIHByaW50X2hhc2hfdmFsdWUpOwogIH0KICBmb3IgKGkgPSAwOyBp IDwgNDsgaSsrKSB7CiAgICB0cmFuc3BhcmVudF9jcmMoZ19iNzVbaV0sICJn X2I3NVtpXSIsIHByaW50X2hhc2hfdmFsdWUpOwogIH0KICBwbGF0Zm9ybV9t YWluX2VuZChjcmMzMl9jb250ZXh0IF4gMHhGRkZGRkZGRlVMLCBwcmludF9o YXNoX3ZhbHVlKTsKICByZXR1cm4gMDsKfQo= --000000000000537ab7060c3ef0fe--