From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) by sourceware.org (Postfix) with ESMTPS id 9D9E93858D28 for ; Mon, 11 Dec 2023 17:14:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9D9E93858D28 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 9D9E93858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b2f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314860; cv=none; b=SJ7yNEmDI71mPWe8TK5hcRhDrVbqS5gvlaUmDdxpyehO1HvzZ05RZWzv5UqX40JovopQY3whx95lo0Wuo2clX9KgZnNiPTbEnFuwAWEXygy9aOaA8MoWRU7x78MI/2MXAvOjT95Uwt0YitqFoqlmz37fFWzDVQjXfGMdK6REJEw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314860; c=relaxed/simple; bh=hyQTLRpIcJc9g2eGB3gTZR7TM0MH95TGWd5htWiCLXM=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=cLBDe1fLj7SFq3uIhJ0MRgHz1Y8OtPWH1IRieq0ja/gbhFgBSXbXif23GeOMEZiGF24J1IRqRb6pLNSGamUfNct7RMRdHSiGTQDb1TXiLahnueuWzSnAAmONzQH7tU9sAbcDehO89dkV7SYsDDNT6t5pMkYdZxWDmsoT/qw+n1A= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb2f.google.com with SMTP id 3f1490d57ef6-dafe04717baso4600678276.1 for ; Mon, 11 Dec 2023 09:14:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702314858; x=1702919658; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=hyQTLRpIcJc9g2eGB3gTZR7TM0MH95TGWd5htWiCLXM=; b=KN+FpB24Ped456utd1pGwBqxpD4Tgr7+jejd95tvwEdNc0jt1DSUzZ3duLpPHokTc4 A12AoKFZteqd7ipA8WBsQDHQ+mPAsn2I3UqiP8fEkIm+D2pMnTnw+pOcMq8mT95yIBUi hkYagzDVO3JZ16FC1TbJFdE13kBCZMbFJBy9ChyQQN0ar/IrPe/RaqPvie0YMxV1/jVT BuFQZc16jkpC5qBdmD5XsCLxIfrEX75UQiIxBVAmdgffwTveU5Vv6StCvgMAXcHujUv3 gA8e0Si/dp0EMAFpmgra9ThtAzcR9pKzn3vBHE125ny9cdGR9mUX6ov9RRlYIJ5dflbq v/9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702314858; x=1702919658; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hyQTLRpIcJc9g2eGB3gTZR7TM0MH95TGWd5htWiCLXM=; b=t3yG+GjCDbupQ2hvOcPES6QeOXZkUqBXDo1/55w5Rs9WfVUTG1E56X9y+B8qBAHoR+ oBmJiYPiydpMxU2kvrTqJTUNXmbIU12jfmxaDteVbyjNT3yf759lxJH992zf1aaeU6jn Xpmk1B9OgVbswr0SOKrfgOqkKXY5iW4hPU2RSNmSrMcgQhDTwFp/Miypu1Nl1jgJZAY5 deGJi9CuFiZWa0jbyBtmyFc1eFUffNfz9ynw56p2NSJoYx4M7XwNex/M/xw0hgpTkJz+ uJgs2W4V76m4j/ZVPbIUAUzBWgJuoIcLNJxfTThwFUeqje38kem40lDF2q04p+Jt6DIp J2NQ== X-Gm-Message-State: AOJu0Yxl79rS8EbWHykZDSzJ1hl6lG7EEyZM5p7nlWrS1y3M9CQ0SqXB US3viMG+L4D6ceBScq8y+3vfNdo9TTBDYmdC6YfN/ENSpA== X-Google-Smtp-Source: AGHT+IHjA21Fvi1cOxdAQi/AyGWSoXVQ97qf/AvKERCRbLjo3acnuffmrMBpcGpCn2FTkpkn1axzNm6+KTH4+gVAGqI= X-Received: by 2002:a25:c1c6:0:b0:db7:dacf:6fed with SMTP id r189-20020a25c1c6000000b00db7dacf6fedmr2919257ybf.117.1702314857818; Mon, 11 Dec 2023 09:14:17 -0800 (PST) MIME-Version: 1.0 From: Jingwen Wu Date: Tue, 12 Dec 2023 01:14:00 +0800 Message-ID: Subject: issue: unexpected results in optimizations To: gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary="0000000000006616de060c3f1025" X-Spam-Status: No, score=0.4 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: --0000000000006616de060c3f1025 Content-Type: multipart/alternative; boundary="0000000000006616dc060c3f1023" --0000000000006616dc060c3f1023 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 *-Os* optimization level, while the results of both were the same when using other levels of optimization such as *-O0*, -O1, -O2, -O3, *-Ofast*. Please help me to explain why this is, thank you. command line: *gcc file.c -Os -lm -I $CSMITH_HOME/include && ./a.out* version: gcc 12.2.0 os: ubuntu 22.04 --0000000000006616dc060c3f1023-- --0000000000006616de060c3f1025 Content-Type: application/octet-stream; name="initial.c" Content-Disposition: attachment; filename="initial.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lq169aut0 CiNpbmNsdWRlICJjc21pdGguaCIKCnN0YXRpYyBpbnQzMl90IGdfYTgzWzY5 XTsKc3RhdGljIGludDMyX3QgZ19iODNbNjldOwoKc3RhdGljIHZvbGF0aWxl IHVpbnQxNl90IGdfMlszXVsyXVsxXSA9IHt7ezB4NDM5Qkx9LCB7OFVMfX0s IHt7OFVMfSwgezB4NDM5Qkx9fSwge3s4VUx9LCB7OFVMfX19OwpzdGF0aWMg aW50MzJfdCBnXzMgPSAweEI0RTEyNjVBTDsKc3RhdGljIHVpbnQ4X3QgZ18x MyA9IDB4ODNMOwpzdGF0aWMgaW50MTZfdCBnXzE1WzFdID0gezB4NEYyM0x9 OwpzdGF0aWMgaW50MzJfdCAqZ18yMCA9ICZnXzM7CnN0YXRpYyBpbnQzMl90 ICpjb25zdCAqZ181MyA9ICZnXzIwOwpzdGF0aWMgaW50MzJfdCAqY29uc3Qg KipnXzUyID0gJmdfNTM7CnN0YXRpYyBpbnQzMl90ICpnXzkyID0gJmdfMzsK c3RhdGljIHZvbGF0aWxlIHVpbnQ4X3QgZ18xNjcgPSA4VUw7CnN0YXRpYyBp bnQzMl90IGdfMjU4ID0gMHhEQjQxRjkyOEw7CnN0YXRpYyB2b2xhdGlsZSB1 aW50OF90ICp2b2xhdGlsZSBnXzI2MSA9ICZnXzE2NzsKc3RhdGljIHZvbGF0 aWxlIGludDMyX3QgZ18yNjcgPSAweDlCMkUxOTRETDsKc3RhdGljIGludDMy X3QgKip2b2xhdGlsZSBnXzM4OSA9ICZnXzkyOwoKc3RhdGljIHZvaWQgZnVu Y18xKHZvaWQpOwoKc3RhdGljIHZvaWQgZnVuY18xKHZvaWQpIHsKICBpbnQz Ml90IGxfMTQgPSAweEREMDEzRDBCTDsKCiAgaWYgKGdfMlsxXVsxXVswXSkg ewogICAgdWludDMyX3QgbF8zNlsxXVszXTsKICAgIHVpbnQ4X3QgKmxfMzcg PSAmZ18xMzsKICAgIGludCBpLCBqOwogICAgZm9yIChpID0gMDsgaSA8IDE7 IGkrKykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMzsgaisrKSB7CiAgICAg ICAgbF8zNltpXVtqXSA9IDB4QjgzOUJGNUJMOwogICAgICB9CiAgICB9CiAg ICBpZiAoKH4oKCgqKipnXzUyKSA9IGxfMzZbMF1bMV0pIF4gKHNhZmVfZGl2 X2Z1bmNfaW50NjRfdF9zX3MoKGxfMTQgfHwgMHgxMkwpLCBnXzE1WzBdKSkp KSkgewogICAgICBpbnQgaWlfNDsKICAgICAgLy8gZnVzaW9uIGluIG1heCBl eGVjVGltZXMKICAgICAgZm9yIChnXzEzID0gOCwgaWlfNCA9IDA7IChnXzEz IDw9IDQ0KTsgZ18xMyA9IHNhZmVfYWRkX2Z1bmNfdWludDY0X3RfdV91KGdf MTMsIDEpLCBpaV80KyspIHsKICAgICAgICBnX2E4M1tpaV80XSA9IGdfMjU4 ICogZ18xMyArICgqZ18yNjEpOwogICAgICB9CiAgICAgIGludCBqal80Owog ICAgICBmb3IgKGpqXzQgPSAwOyBqal80IDwgNjk7IGpqXzQrKykgewogICAg ICAgIGdfYjgzW2pqXzRdID0gKCoqZ18zODkpICogZ19hODNbampfNF0gLSBn XzI2NzsKICAgICAgfQogICAgfSBlbHNlIHsKICAgIAl1aW50OF90ICoqbF84 MSA9ICZsXzM3OwogICAgICB1aW50OF90ICoqKmxfODAgPSAmbF84MTsKICAg IH0KICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICBpbnQgaSwgaiwgazsKICBp bnQgcHJpbnRfaGFzaF92YWx1ZSA9IDA7CiAgcGxhdGZvcm1fbWFpbl9iZWdp bigpOwogIGNyYzMyX2dlbnRhYigpOwogIGZ1bmNfMSgpOwogIGZvciAoaSA9 IDA7IGkgPCAzOyBpKyspIHsKICAgIGZvciAoaiA9IDA7IGogPCAyOyBqKysp IHsKICAgICAgZm9yIChrID0gMDsgayA8IDE7IGsrKykgewogICAgICAgIHRy YW5zcGFyZW50X2NyYyhnXzJbaV1bal1ba10sICJnXzJbaV1bal1ba10iLCBw cmludF9oYXNoX3ZhbHVlKTsKICAgICAgfQogICAgfQogIH0KICB0cmFuc3Bh cmVudF9jcmMoZ18zLCAiZ18zIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgdHJh bnNwYXJlbnRfY3JjKGdfMTMsICJnXzEzIiwgcHJpbnRfaGFzaF92YWx1ZSk7 CiAgZm9yIChpID0gMDsgaSA8IDE7IGkrKykgewogICAgdHJhbnNwYXJlbnRf Y3JjKGdfMTVbaV0sICJnXzE1W2ldIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAg fQogIHRyYW5zcGFyZW50X2NyYyhnXzE2NywgImdfMTY3IiwgcHJpbnRfaGFz aF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjU4LCAiZ18yNTgiLCBw cmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMoZ18yNjcsICJn XzI2NyIsIHByaW50X2hhc2hfdmFsdWUpOwogIGZvciAoaSA9IDA7IGkgPCA2 OTsgaSsrKSB7CiAgICB0cmFuc3BhcmVudF9jcmMoZ19hODNbaV0sICJnX2E4 M1tpXSIsIHByaW50X2hhc2hfdmFsdWUpOwogIH0KICBmb3IgKGkgPSAwOyBp IDwgNjk7IGkrKykgewogICAgdHJhbnNwYXJlbnRfY3JjKGdfYjgzW2ldLCAi Z19iODNbaV0iLCBwcmludF9oYXNoX3ZhbHVlKTsKICB9CiAgcGxhdGZvcm1f bWFpbl9lbmQoY3JjMzJfY29udGV4dCBeIDB4RkZGRkZGRkZVTCwgcHJpbnRf aGFzaF92YWx1ZSk7CiAgcmV0dXJuIDA7Cn0K --0000000000006616de060c3f1025 Content-Type: application/octet-stream; name="transformed.c" Content-Disposition: attachment; filename="transformed.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lq169aux1 CiNpbmNsdWRlICJjc21pdGguaCIKCnN0YXRpYyBpbnQzMl90IGdfYTgzWzY5 XTsKc3RhdGljIGludDMyX3QgZ19iODNbNjldOwoKc3RhdGljIHZvbGF0aWxl IHVpbnQxNl90IGdfMlszXVsyXVsxXSA9IHt7ezB4NDM5Qkx9LCB7OFVMfX0s IHt7OFVMfSwgezB4NDM5Qkx9fSwge3s4VUx9LCB7OFVMfX19OwpzdGF0aWMg aW50MzJfdCBnXzMgPSAweEI0RTEyNjVBTDsKc3RhdGljIHVpbnQ4X3QgZ18x MyA9IDB4ODNMOwpzdGF0aWMgaW50MTZfdCBnXzE1WzFdID0gezB4NEYyM0x9 OwpzdGF0aWMgaW50MzJfdCAqZ18yMCA9ICZnXzM7CnN0YXRpYyBpbnQzMl90 ICpjb25zdCAqZ181MyA9ICZnXzIwOwpzdGF0aWMgaW50MzJfdCAqY29uc3Qg KipnXzUyID0gJmdfNTM7CnN0YXRpYyBpbnQzMl90ICpnXzkyID0gJmdfMzsK c3RhdGljIHZvbGF0aWxlIHVpbnQ4X3QgZ18xNjcgPSA4VUw7CnN0YXRpYyBp bnQzMl90IGdfMjU4ID0gMHhEQjQxRjkyOEw7CnN0YXRpYyB2b2xhdGlsZSB1 aW50OF90ICp2b2xhdGlsZSBnXzI2MSA9ICZnXzE2NzsKc3RhdGljIHZvbGF0 aWxlIGludDMyX3QgZ18yNjcgPSAweDlCMkUxOTRETDsKc3RhdGljIGludDMy X3QgKip2b2xhdGlsZSBnXzM4OSA9ICZnXzkyOwoKc3RhdGljIHZvaWQgZnVu Y18xKHZvaWQpOwoKc3RhdGljIHZvaWQgZnVuY18xKHZvaWQpIHsKICBpbnQz Ml90IGxfMTQgPSAweEREMDEzRDBCTDsKCiAgaWYgKGdfMlsxXVsxXVswXSkg ewogICAgdWludDMyX3QgbF8zNlsxXVszXTsKICAgIHVpbnQ4X3QgKmxfMzcg PSAmZ18xMzsKICAgIGludCBpLCBqOwogICAgZm9yIChpID0gMDsgaSA8IDE7 IGkrKykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMzsgaisrKSB7CiAgICAg ICAgbF8zNltpXVtqXSA9IDB4QjgzOUJGNUJMOwogICAgICB9CiAgICB9CiAg ICBpZiAoKH4oKCgqKipnXzUyKSA9IGxfMzZbMF1bMV0pIF4gKHNhZmVfZGl2 X2Z1bmNfaW50NjRfdF9zX3MoKGxfMTQgfHwgMHgxMkwpLCBnXzE1WzBdKSkp KSkgewogICAgICBpbnQgaWlfNDsKICAgICAgaW50IGpqXzQ7CiAgICAgIGlu dCBpal80OwogICAgICAvLyBmdXNpb24gaW4gbWF4IGV4ZWNUaW1lcwogICAg ICBmb3IgKGdfMTMgPSA4LCBpaV80ID0gMCwgampfNCA9IDAsIGlqXzQgPSAw OyBpal80IDw9IDY5OyBpal80KyspIHsKICAgICAgICBpZiAoaWpfNCA8PSAz NyAmJiAoZ18xMyA8PSA0NCkpIHsKICAgICAgICAgIGdfYTgzW2lpXzRdID0g Z18yNTggKiBnXzEzICsgKCpnXzI2MSk7CiAgICAgICAgICBnXzEzID0gc2Fm ZV9hZGRfZnVuY191aW50NjRfdF91X3UoZ18xMywgMSk7CiAgICAgICAgICBp aV80Kys7CiAgICAgICAgfQogICAgICAgIGlmIChpal80IDw9IDY5ICYmIGpq XzQgPCA2OSkgewogICAgICAgICAgZ19iODNbampfNF0gPSAoKipnXzM4OSkg KiBnX2E4M1tqal80XSAtIGdfMjY3OwogICAgICAgICAgampfNCsrOwogICAg ICAgIH0KICAgICAgfQogICAgfSBlbHNlIHsKICAgIAl1aW50OF90ICoqbF84 MSA9ICZsXzM3OwogICAgICB1aW50OF90ICoqKmxfODAgPSAmbF84MTsKICAg IH0KICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICBpbnQgaSwgaiwgazsKICBp bnQgcHJpbnRfaGFzaF92YWx1ZSA9IDA7CiAgcGxhdGZvcm1fbWFpbl9iZWdp bigpOwogIGNyYzMyX2dlbnRhYigpOwogIGZ1bmNfMSgpOwogIGZvciAoaSA9 IDA7IGkgPCAzOyBpKyspIHsKICAgIGZvciAoaiA9IDA7IGogPCAyOyBqKysp IHsKICAgICAgZm9yIChrID0gMDsgayA8IDE7IGsrKykgewogICAgICAgIHRy YW5zcGFyZW50X2NyYyhnXzJbaV1bal1ba10sICJnXzJbaV1bal1ba10iLCBw cmludF9oYXNoX3ZhbHVlKTsKICAgICAgfQogICAgfQogIH0KICB0cmFuc3Bh cmVudF9jcmMoZ18zLCAiZ18zIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAgdHJh bnNwYXJlbnRfY3JjKGdfMTMsICJnXzEzIiwgcHJpbnRfaGFzaF92YWx1ZSk7 CiAgZm9yIChpID0gMDsgaSA8IDE7IGkrKykgewogICAgdHJhbnNwYXJlbnRf Y3JjKGdfMTVbaV0sICJnXzE1W2ldIiwgcHJpbnRfaGFzaF92YWx1ZSk7CiAg fQogIHRyYW5zcGFyZW50X2NyYyhnXzE2NywgImdfMTY3IiwgcHJpbnRfaGFz aF92YWx1ZSk7CiAgdHJhbnNwYXJlbnRfY3JjKGdfMjU4LCAiZ18yNTgiLCBw cmludF9oYXNoX3ZhbHVlKTsKICB0cmFuc3BhcmVudF9jcmMoZ18yNjcsICJn XzI2NyIsIHByaW50X2hhc2hfdmFsdWUpOwogIGZvciAoaSA9IDA7IGkgPCA2 OTsgaSsrKSB7CiAgICB0cmFuc3BhcmVudF9jcmMoZ19hODNbaV0sICJnX2E4 M1tpXSIsIHByaW50X2hhc2hfdmFsdWUpOwogIH0KICBmb3IgKGkgPSAwOyBp IDwgNjk7IGkrKykgewogICAgdHJhbnNwYXJlbnRfY3JjKGdfYjgzW2ldLCAi Z19iODNbaV0iLCBwcmludF9oYXNoX3ZhbHVlKTsKICB9CiAgcGxhdGZvcm1f bWFpbl9lbmQoY3JjMzJfY29udGV4dCBeIDB4RkZGRkZGRkZVTCwgcHJpbnRf aGFzaF92YWx1ZSk7CiAgcmV0dXJuIDA7Cn0K --0000000000006616de060c3f1025--