From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com [IPv6:2607:f8b0:4864:20::1132]) by sourceware.org (Postfix) with ESMTPS id DE8403858D28 for ; Thu, 3 Nov 2022 13:23:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DE8403858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-3701a0681daso14931937b3.4 for ; Thu, 03 Nov 2022 06:23:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=+rG7VJFtjUxWzBo6np+1HT4bdFrp3wCOFbSzYtURDEs=; b=e1vD6eu+2laj+n8FsANg9QWEcJtmIVW6qh0WutAPqjiDNIq+BrdL8/4ZhTPYaaF1Lo Cnsfeu7jsFGPTIV7D975/4bwT+41HTR7mCrvzTv4NafyhhYKRzmMIBRDY60P792qxvO0 LT+WEPv6fz/A+d+CrVDl5I1AEq7oWwAoCzE1yM1FjOpVslgDqYseQccnrLdi39ZUjxET ZpuUgX9bfiReF2BKd30GaendI+phJ+wXTWkobuBvXpq5aOKN3Esh6Bs4S7fjysGHumkH rDRzucq0hMwZ1WFdWgFSmDbyFhDjHQMCMLZd1ea+k1gBo1X5IV2LWJeRaQWECI9zxVxR Bj5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=+rG7VJFtjUxWzBo6np+1HT4bdFrp3wCOFbSzYtURDEs=; b=Ght0cXlWlOxPcLovVvOBomoxFuCRuufJgnfetz2O/HVGyECo/iv9zVDaHQ2f6Lfr9J y6NilUN178bNN7ZrHOlreDpZDHE3kjWwXuAS8A0PCK9fVFMJCEXE63/4kDG700SR+UGo 2HnXElEPrnz/Hu1bgxrPa8ZWA4fyk23xMs8Fvrv6TAKTThlyCNsFpo8cRLbaML2CWL9f 0v9yK9T9S6X0QCT3LLDp8QTRYM9UC0AIa46nIemZzvTLKuZs/oScSfKuLYhoqKm9tgif kxIoTK/MQ/SBdLdFuOkcQOoVuFnVr1KTi0NgQg8D9MLPtU+XM7DNUiSxjHwXnC2u5KxG 7r4A== X-Gm-Message-State: ACrzQf33kAVDfqSGI+92skDOCZ+JJIlc+KNkzfSaHD0VbrdTmE8LiPFs y74zcUK1r6OFimIVXVaS2ODw5iIa94bciARXQBIgdRrXp0WP5w== X-Google-Smtp-Source: AMsMyM7N34xzrinYsjKePYt7QwQxsIPPDVfeD0jnBSD/4xjplevL9WjYvIrhV+S8mUKwPb5l1ME5tkUyT38QZuNIZJo= X-Received: by 2002:a81:c204:0:b0:370:28bf:c630 with SMTP id z4-20020a81c204000000b0037028bfc630mr29106212ywc.429.1667481795024; Thu, 03 Nov 2022 06:23:15 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Thu, 3 Nov 2022 14:23:03 +0100 Message-ID: Subject: [PATCH] i386: Fix uninitialized register after peephole2 conversion [PR107404] To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="00000000000010161205ec90dc15" X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP 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: --00000000000010161205ec90dc15 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The eliminate reg-reg move by inverting the condition of a cmove #2 peephole2 converts the following sequence: 473: bx:DI=3D[r14:DI*0x8+r12:DI] 960: r15:DI=3Dr8:DI 485: {flags:CCC=3Dcmp(r15:DI+bx:DI,bx:DI);r15:DI=3Dr15:DI+bx:DI;} 737: r15:DI=3D{(geu(flags:CCC,0))?r15:DI:bx:DI} to: 1110: {flags:CCC=3Dcmp(r8:DI+bx:DI,bx:DI);r8:DI=3Dr8:DI+bx:DI;} 1111: r15:DI=3D[r14:DI*0x8+r12:DI] 1112: r15:DI=3D{(geu(flags:CCC,0))?r8:DI:r15:DI} Please note that(insn 1110) uses register BX, but its initialization was eliminated. Avoid conversion if eliminated move intialized a register, used in the moved instruction. 2022-11-03 Uro=C5=A1 Bizjak gcc/ChangeLog: PR target/107404 * config/i386/i386.md (eliminate reg-reg move by inverting the condition of a cmove #2 peephole2): Check if eliminated move initialized a register, used in the moved instruction. gcc/testsuite/ChangeLog: PR target/107404 * g++.target/i386/pr107404.C: New test. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Pushed to master. Uros. --00000000000010161205ec90dc15 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_la13lhfh0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2Lm1kIGIvZ2NjL2NvbmZpZy9pMzg2L2kz ODYubWQKaW5kZXggODU1Njc5ODBhYTMuLjQzNmVhYmI2OTFhIDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL2kzODYvaTM4Ni5tZAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5tZApAQCAtMjE4MDAs NyArMjE4MDAsOCBAQCAoZGVmaW5lX3BlZXBob2xlMgogICAmJiBSRUdOTyAob3BlcmFuZHNbMl0p ICE9IFJFR05PIChvcGVyYW5kc1sxXSkKICAgJiYgcGVlcDJfcmVnX2RlYWRfcCAoMiwgb3BlcmFu ZHNbMV0pCiAgICYmIHBlZXAyX3JlZ19kZWFkX3AgKDQsIG9wZXJhbmRzWzJdKQotICAmJiAhcmVn X292ZXJsYXBfbWVudGlvbmVkX3AgKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1szXSkiCisgICYmICFy ZWdfb3ZlcmxhcF9tZW50aW9uZWRfcCAob3BlcmFuZHNbMF0sIG9wZXJhbmRzWzNdKQorICAmJiAh cmVnX21lbnRpb25lZF9wIChvcGVyYW5kc1syXSwgb3BlcmFuZHNbNl0pIgogIFsocGFyYWxsZWwg WyhzZXQgKG1hdGNoX2R1cCA3KSAobWF0Y2hfZHVwIDgpKQogCSAgICAgKHNldCAobWF0Y2hfZHVw IDEpIChtYXRjaF9kdXAgOSkpXSkKICAgKHNldCAobWF0Y2hfZHVwIDApIChtYXRjaF9kdXAgMykp CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy50YXJnZXQvaTM4Ni9wcjEwNzQwNC5DIGIv Z2NjL3Rlc3RzdWl0ZS9nKysudGFyZ2V0L2kzODYvcHIxMDc0MDQuQwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTQ3ZDBmZDc3OWQKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2crKy50YXJnZXQvaTM4Ni9wcjEwNzQwNC5DCkBAIC0wLDAgKzEsNTMgQEAK Ky8vIFBSIHRhcmdldC8xMDc0MDQKKy8vIHsgZGctZG8gcnVuIH0KKy8vIHsgZGctb3B0aW9ucyAi LU8zIiB9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBhOwordm9pZCBiKHVuc2lnbmVkIGxvbmcgbG9u ZyAqZiwgaW50IHAyKSB7ICpmIF49IHAyOyB9Citsb25nIGM7CitjaGFyIGUsIGk7CitzaG9ydCBn LCBtOworbG9uZyBsb25nIGFiWzFdWzI1XVsyMV1bMjJdOwordW5zaWduZWQgbG9uZyBsb25nIGFh WzFdWzIxXVsyMl07Cit1bnNpZ25lZCBsb25nIGxvbmcgYWVbMV1bMjVdWzIxXVsyMV07Citsb25n IGxvbmcgYWNbMTI5MzYwXTsKK2NoYXIgYWRbMjVdWzFdWzIxXTsKK2NoYXIgYWhbMV1bMjVdWzFd WzIxXTsKK3Nob3J0IGFmWzEwMF07Citsb25nIG1heChsb25nIGYsIHVuc2lnbmVkIGxvbmcgcDIp IHsgcmV0dXJuIGYgPCBwMiA/IHAyIDogZjsgfQorY29uc3QgaW50ICZtYXgyKGNvbnN0IGludCAm ZiwgY29uc3QgaW50ICZwMikgeyByZXR1cm4gZiA8IHAyID8gcDIgOiBmOyB9Cit2b2lkIGZvbyh1 bnNpZ25lZCBmLCB1bnNpZ25lZCBwMiwgY2hhciBsLCBjaGFyIHA0LCBsb25nIGxvbmcgbltdWzI1 XVsyMV1bMjJdLAorICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgcDZbXVsyMV1bMjJdLCB1bnNp Z25lZCBsb25nIGxvbmcgdVtdWzI1XVsyMV1bMjFdKSB7CisgIGxvbmcgYW47CisgIGZvciAoaW50 IGogPSAwOyBqIDwgNDsgaiA9IHAyKQorICAgIGZvciAoc2hvcnQgayA9IDA7IGsgPCA3OyBrICs9 IDIpCisgICAgICBmb3IgKHNob3J0IG8gPSAwOyBvIDwgKHNob3J0KXAyICsgMjE3NDI7IG8gPSBs KSB7CisgICAgICAgIGZvciAoc2lnbmVkIGNoYXIgcCA9IDI7IHAgPCA5OyBwICs9IHA0KQorICAg ICAgICAgIGlmIChwNltqXVtvXVtwXSkKKyAgICAgICAgICAgIGZvciAobG9uZyBxKDMpOyA0ID8g blswXVtrXVtvXVswXSA6IDA7CisgICAgICAgICAgICAgICAgIHEgKz0gcDZbMF1bb11bMF0gPyBw NltqXVswXVtwXSA6IDApCisgICAgICAgICAgICAgIGFjW2ogKyBxXSA9IDUwNjY3OTk1OTA7Cisg ICAgICAgIGZvciAobG9uZyByKHA0IC0gMTYpOyByIDwgMjE7IHIgKz0gNCkgeworICAgICAgICAg IGFkW2tdW29dW3JdID0gbWF4KHVbal1ba11bb11bcl0sIGYgKyB1W2pdW2tdW29dW3JdKTsKKyAg ICAgICAgICBsb25nIGQgPSB1W2pdW2tdW29dW3JdOworICAgICAgICAgIGFuID0gZCA8IHAyID8g cDIgOiBkOworICAgICAgICAgIGUgPSBhaFtqXVtrXVtvXVtyXSA9IGFuOworICAgICAgICAgIGFm W28gKiByXSA9IGk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChzaG9ydCBzKGMpOyBzIDwgKHNo b3J0KXAyOyBzID0gMikKKyAgICAgICAgICBmb3IgKHNob3J0IGFtKG0pOyBhbTsgYW0gPSBtYXgy KDMsIHAyKSkKKyAgICAgICAgICAgIGZvciAobG9uZyB5ID0gMDsgeTsgeSA9IDMpCisgICAgICAg ICAgICAgIGZvciAoc2hvcnQgdCgwKTsgdCA8IG1heDIoZywgMCk7KQorICAgICAgICAgICAgICAg IDsKKyAgICAgIH0KK30KK2ludCBtYWluKCkgeworICBmb28oNywgMTU1ODIyNzc1MSwgMTA0LCAx NiwgYWIsIGFhLCBhZSk7CisgIGZvciAodW5zaWduZWQgbG9uZyB2ID0gMDsgdiA8IDU7ICsrdikK KyAgICBmb3IgKHVuc2lnbmVkIGxvbmcgdyA9IDA7IHcgPCAxOyArK3cpCisgICAgICBmb3IgKHVu c2lnbmVkIGxvbmcgeCA9IDA7IHggPCAyMTsgKyt4KQorICAgICAgICBiKCZhLCBhZFt2XVt3XVt4 XSk7CisKKyAgaWYgKGEpCisgICAgX19idWlsdGluX2Fib3J0KCk7Cit9Cg== --00000000000010161205ec90dc15--