From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id F38BB3857407 for ; Thu, 13 Oct 2022 15:31:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F38BB3857407 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1665675088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=+iMPgB0u+nHBL9l5oWAzS9rKeUrowoqlGjJxfn+QSVY=; b=LrxrGdR26LRsD3tiE/P49sqAU6q+sHbUcumMV2IaQ1YjwBDPrHjUPEKvR1Du9QrO+axoHU XGpNgQzqi599eC1ewhG7LM0JWpAhZ2KoIoiuhkkypLL28gRP4VxaqJPJwy8wWANu9mx58x uk117OrSc7bn9HifQPOSQBZjLVZ7dNs= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-417-Pds1i8sQMfOdkKiedfoKYw-1; Thu, 13 Oct 2022 11:31:27 -0400 X-MC-Unique: Pds1i8sQMfOdkKiedfoKYw-1 Received: by mail-qt1-f200.google.com with SMTP id cg13-20020a05622a408d00b0035bb2f77e7eso1563413qtb.10 for ; Thu, 13 Oct 2022 08:31:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BQJNRgvI3LsacgWiir6gsfy8ziwx/PsyYAmgwTpopEM=; b=XHSFc3/hiQgtEURR0TcCk32+iZ+tHptpUHqCD/Rg7s7BCgVmv/BVPttK09RIUGO32W gc7MDe+s+wO0JRnSHkPiajNxMbpMFC7ebx1WdkpPD3WpQpT1CUVIjkTNx/Sgvk/u4rXq hZ5crG4wxku24+2gxcP1OZ4a/hnTmjVa0BU7VuXgtYo38CMifS8bg1OWJZda6h7k+ZVo EcYtjYCbjcTZJwvtvyDLxGxzFdmZXtS5YTn1Cdc6lXpckiiwv62krKODY0MZsXOMMI9J VwzWzCQm/XcGSGpZIBu9LjsAecouSgsaFdIrf0XGgS7EqkLfvFWdpd+OGzKUY4NocW5j D+tg== X-Gm-Message-State: ACrzQf0mUfmfrDtkrdTCDsMuxIhJ1oHrSWhEdOg8i65GqbfsxoSneUpo Ge8cQLZziDdpyozlpv6HOp3zkSfN63wi/nbDtO02k1gpZnu0FIRFja1rrGei8dcOkTyB9BKxZK/ sLW7Jor1mmsaXQEck63EBhn/3LCBPYeHzm3KlVz8jyiGyo0Z8Uk0Y8u/tum5De4xnc7xD5A== X-Received: by 2002:a37:8205:0:b0:6e4:3d36:10a4 with SMTP id e5-20020a378205000000b006e43d3610a4mr304922qkd.783.1665675086150; Thu, 13 Oct 2022 08:31:26 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5Aq7WTgtw9q5cHxoX0js1ANddKJ7UDwTr9om0yeq/flrY+WR/Ic4/C0ihm+PVPK4wcixC+QA== X-Received: by 2002:a37:8205:0:b0:6e4:3d36:10a4 with SMTP id e5-20020a378205000000b006e43d3610a4mr304895qkd.783.1665675085803; Thu, 13 Oct 2022 08:31:25 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::50d4? ([2607:fea8:a263:f600::50d4]) by smtp.gmail.com with ESMTPSA id t4-20020a05620a450400b006eeacec79a3sm3723203qkp.104.2022.10.13.08.31.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Oct 2022 08:31:24 -0700 (PDT) Message-ID: Date: Thu, 13 Oct 2022 11:31:23 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [COMMITTED 3/4] Add partial equivalence recognition to cast and bitwise and. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------tas5WIRhMmpkNrSjq1cgwbja" Content-Language: en-US X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE,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: This is a multi-part message in MIME format. --------------tas5WIRhMmpkNrSjq1cgwbja Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit This provides the hooks that will register basic partial equivalencies for casts and bitwise AND operations with the appropriate bit pattern. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed Andrew --------------tas5WIRhMmpkNrSjq1cgwbja Content-Type: text/x-patch; charset=UTF-8; name="0003-Add-partial-equivalence-recognition-to-cast-and-bitw.patch" Content-Disposition: attachment; filename*0="0003-Add-partial-equivalence-recognition-to-cast-and-bitw.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkNzViZTdlNDM0M2YwNDkxNzY1NDZhYTk1MTdkNTcwZTVlYjY3OTU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogVGh1LCA2IE9jdCAyMDIyIDE1OjAxOjI0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzLzRd IEFkZCBwYXJ0aWFsIGVxdWl2YWxlbmNlIHJlY29nbml0aW9uIHRvIGNhc3QgYW5kIGJpdHdpc2UK IGFuZC4KClRoaXMgcHJvdmlkZXMgdGhlIGhvb2tzIHRoYXQgd2lsbCByZWdpc3RlciBwYXJ0aWFs IGVxdWl2YWxlbmNpZXMgZm9yCmNhc3RzIGFuZCBiaXR3aXNlIEFORCBvcGVyYXRpb25zIHdpdGgg dGhlIGFwcHJvcHJpYXRlIGJpdCBwYXR0ZXJuLgoKCSogcmFuZ2Utb3AuY2MgKG9wZXJhdG9yX2Nh c3Q6Omxoc19vcDFfcmVsYXRpb24pOiBOZXcuCgkob3BlcmF0b3JfYml0d2lzZV9hbmQ6Omxoc19v cDFfcmVsYXRpb24pOiBOZXcuCi0tLQogZ2NjL3JhbmdlLW9wLmNjIHwgNjUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDY1 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nY2MvcmFuZ2Utb3AuY2MgYi9nY2MvcmFuZ2Ut b3AuY2MKaW5kZXggZjgyNTVkZDEwYTEuLmNmN2YwZGNkNjcwIDEwMDY0NAotLS0gYS9nY2MvcmFu Z2Utb3AuY2MKKysrIGIvZ2NjL3JhbmdlLW9wLmNjCkBAIC0yNDE3LDYgKzI0MTcsMTAgQEAgcHVi bGljOgogCQkJICBjb25zdCBpcmFuZ2UgJmxocywKIAkJCSAgY29uc3QgaXJhbmdlICZvcDIsCiAJ CQkgIHJlbGF0aW9uX2tpbmQgcmVsID0gVlJFTF9WQVJZSU5HKSBjb25zdDsKKyAgdmlydHVhbCBy ZWxhdGlvbl9raW5kIGxoc19vcDFfcmVsYXRpb24gKGNvbnN0IGlyYW5nZSAmbGhzLAorCQkJCQkg IGNvbnN0IGlyYW5nZSAmb3AxLAorCQkJCQkgIGNvbnN0IGlyYW5nZSAmb3AyLAorCQkJCQkgIHJl bGF0aW9uX2tpbmQpIGNvbnN0OwogcHJpdmF0ZToKICAgYm9vbCB0cnVuY2F0aW5nX2Nhc3RfcCAo Y29uc3QgaXJhbmdlICZpbm5lciwgY29uc3QgaXJhbmdlICZvdXRlcikgY29uc3Q7CiAgIGJvb2wg aW5zaWRlX2RvbWFpbl9wIChjb25zdCB3aWRlX2ludCAmbWluLCBjb25zdCB3aWRlX2ludCAmbWF4 LApAQCAtMjQyNSw2ICsyNDI5LDM1IEBAIHByaXZhdGU6CiAJCQkgICBjb25zdCBpcmFuZ2UgJm91 dGVyKSBjb25zdDsKIH0gb3BfY29udmVydDsKIAorLy8gQWRkIGEgcGFydGlhbCBlcXVpdmFsZW5j ZSBiZXR3ZWVuIHRoZSBMSFMgYW5kIG9wMSBmb3IgY2FzdHMuCisKK3JlbGF0aW9uX2tpbmQKK29w ZXJhdG9yX2Nhc3Q6Omxoc19vcDFfcmVsYXRpb24gKGNvbnN0IGlyYW5nZSAmbGhzLAorCQkJCSBj b25zdCBpcmFuZ2UgJm9wMSwKKwkJCQkgY29uc3QgaXJhbmdlICZvcDIgQVRUUklCVVRFX1VOVVNF RCwKKwkJCQkgcmVsYXRpb25fa2luZCkgY29uc3QKK3sKKyAgaWYgKGxocy51bmRlZmluZWRfcCAo KSB8fCBvcDEudW5kZWZpbmVkX3AgKCkpCisgICAgcmV0dXJuIFZSRUxfVkFSWUlORzsKKyAgdW5z aWduZWQgbGhzX3ByZWMgPSBUWVBFX1BSRUNJU0lPTiAobGhzLnR5cGUgKCkpOworICB1bnNpZ25l ZCBvcDFfcHJlYyA9IFRZUEVfUFJFQ0lTSU9OIChvcDEudHlwZSAoKSk7CisgIC8vIElmIHRoZSBy ZXN1bHQgZ2V0cyBzaWduIGV4dGVuZGVkIGludG8gYSBsYXJnZXIgdHlwZSBjaGVjayBmaXJzdCBp ZiB0aGlzCisgIC8vIHF1YWxpZmllcyBhcyBhIHBhcnRpYWwgZXF1aXZhbGVuY2UuCisgIGlmIChU WVBFX1NJR04gKG9wMS50eXBlICgpKSA9PSBTSUdORUQgJiYgbGhzX3ByZWMgPiBvcDFfcHJlYykK KyAgICB7CisgICAgICAvLyBJZiB0aGUgcmVzdWx0IGlzIHNpZ24gZXh0ZW5kZWQsIGFuZCB0aGUg TEhTIGlzIGxhcmdlciB0aGFuIG9wMSwKKyAgICAgIC8vIGNoZWNrIGlmIG9wMSdzIHJhbmdlIGNh biBiZSBuZWdhdGl2ZSBhcyB0aGUgc2lnbiBleHRlbnRpb24gd2lsbAorICAgICAgLy8gY2F1c2Ug dGhlIHVwcGVyIGJpdHMgdG8gYmUgMSBpbnN0ZWFkIG9mIDAsIGludmFsaWRhdGluZyB0aGUgUEUu CisgICAgICBpbnRfcmFuZ2U8Mz4gbmVncyA9IHJhbmdlX25lZ2F0aXZlcyAob3AxLnR5cGUgKCkp OworICAgICAgbmVncy5pbnRlcnNlY3QgKG9wMSk7CisgICAgICBpZiAoIW5lZ3MudW5kZWZpbmVk X3AgKCkpCisJcmV0dXJuIFZSRUxfVkFSWUlORzsKKyAgICB9CisKKyAgdW5zaWduZWQgcHJlYyA9 IE1JTiAobGhzX3ByZWMsIG9wMV9wcmVjKTsKKyAgcmV0dXJuIGJpdHNfdG9fcGUgKHByZWMpOwor fQorCiAvLyBSZXR1cm4gVFJVRSBpZiBjYXN0aW5nIGZyb20gSU5ORVIgdG8gT1VURVIgaXMgYSB0 cnVuY2F0aW5nIGNhc3QuCiAKIGlubGluZSBib29sCkBAIC0yNzM5LDYgKzI3NzIsMTAgQEAgcHVi bGljOgogCQkgICAgICAgIGNvbnN0IHdpZGVfaW50ICZsaF91YiwKIAkJICAgICAgICBjb25zdCB3 aWRlX2ludCAmcmhfbGIsCiAJCSAgICAgICAgY29uc3Qgd2lkZV9pbnQgJnJoX3ViKSBjb25zdDsK KyAgdmlydHVhbCByZWxhdGlvbl9raW5kIGxoc19vcDFfcmVsYXRpb24gKGNvbnN0IGlyYW5nZSAm bGhzLAorCQkJCQkgIGNvbnN0IGlyYW5nZSAmb3AxLAorCQkJCQkgIGNvbnN0IGlyYW5nZSAmb3Ay LAorCQkJCQkgIHJlbGF0aW9uX2tpbmQpIGNvbnN0OwogcHJpdmF0ZToKICAgdm9pZCBzaW1wbGVf b3AxX3JhbmdlX3NvbHZlciAoaXJhbmdlICZyLCB0cmVlIHR5cGUsCiAJCQkJY29uc3QgaXJhbmdl ICZsaHMsCkBAIC0yNzg0LDYgKzI4MjEsMzQgQEAgd2lfb3B0aW1pemVfc2lnbmVkX2JpdHdpc2Vf b3AgKGlyYW5nZSAmciwgdHJlZSB0eXBlLAogICByZXR1cm4gdHJ1ZTsKIH0KIAorLy8gQW4gQU5E IG9mIDgsMTYsIDMyIG9yIDY0IGJpdHMgY2FuIHByb2R1Y2UgYSBwYXJ0aWFsIGVxdWl2YWxlbmNl IGJldHdlZW4KKy8vIHRoZSBMSFMgYW5kIG9wMS4KKworcmVsYXRpb25fa2luZAorb3BlcmF0b3Jf Yml0d2lzZV9hbmQ6Omxoc19vcDFfcmVsYXRpb24gKGNvbnN0IGlyYW5nZSAmbGhzLAorCQkJCSBj b25zdCBpcmFuZ2UgJm9wMSwKKwkJCQkgY29uc3QgaXJhbmdlICZvcDIsCisJCQkJIHJlbGF0aW9u X2tpbmQpIGNvbnN0Cit7CisgIGlmIChsaHMudW5kZWZpbmVkX3AgKCkgfHwgb3AxLnVuZGVmaW5l ZF9wICgpIHx8IG9wMi51bmRlZmluZWRfcCAoKSkKKyAgICByZXR1cm4gVlJFTF9WQVJZSU5HOwor ICBpZiAoIW9wMi5zaW5nbGV0b25fcCAoKSkKKyAgICByZXR1cm4gVlJFTF9WQVJZSU5HOworICAv LyBpZiB2YWwgPT0gMHhmZiBvciAweEZGRkYgT1IgMFhmZmZmZmZmZiBPUiAwWGZmZmZmZmZmZmZm ZmZmZmYsIHJldHVybiBUUlVFCisgIGludCBwcmVjMSA9IFRZUEVfUFJFQ0lTSU9OIChvcDEudHlw ZSAoKSk7CisgIGludCBwcmVjMiA9IFRZUEVfUFJFQ0lTSU9OIChvcDIudHlwZSAoKSk7CisgIGlu dCBtYXNrX3ByZWMgPSAwOworICB3aWRlX2ludCBtYXNrID0gb3AyLmxvd2VyX2JvdW5kICgpOwor ICBpZiAod2k6OmVxX3AgKG1hc2ssIHdpOjptYXNrICg4LCBmYWxzZSwgcHJlYzIpKSkKKyAgICBt YXNrX3ByZWMgPSA4OworICBlbHNlIGlmICh3aTo6ZXFfcCAobWFzaywgd2k6Om1hc2sgKDE2LCBm YWxzZSwgcHJlYzIpKSkKKyAgICBtYXNrX3ByZWMgPSAxNjsKKyAgZWxzZSBpZiAod2k6OmVxX3Ag KG1hc2ssIHdpOjptYXNrICgzMiwgZmFsc2UsIHByZWMyKSkpCisgICAgbWFza19wcmVjID0gMzI7 CisgIGVsc2UgaWYgKHdpOjplcV9wIChtYXNrLCB3aTo6bWFzayAoNjQsIGZhbHNlLCBwcmVjMikp KQorICAgIG1hc2tfcHJlYyA9IDY0OworICByZXR1cm4gYml0c190b19wZSAoTUlOIChwcmVjMSwg bWFza19wcmVjKSk7Cit9CiAKIC8vIE9wdGltaXplIEJJVF9BTkRfRVhQUiBhbmQgQklUX0lPUl9F WFBSIGluIHRlcm1zIG9mIGEgbWFzayBpZgogLy8gcG9zc2libGUuICBCYXNpY2FsbHksIHNlZSBp ZiB3ZSBjYW4gb3B0aW1pemU6Ci0tIAoyLjM3LjMKCg== --------------tas5WIRhMmpkNrSjq1cgwbja--