From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by sourceware.org (Postfix) with ESMTPS id 0D1463858D32 for ; Wed, 12 Apr 2023 01:26:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0D1463858D32 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-pf1-x435.google.com with SMTP id d2e1a72fcca58-62e102cadc7so1108635b3a.2 for ; Tue, 11 Apr 2023 18:26:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681262769; x=1683854769; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=mqyam43dPAvGEzWMEjZXCFlcfty2F0kjMj7VMOcQMVw=; b=hysK5AdQ243ITMJsRN1H5UG1mSwsHuOx8C80A/P5evZxt+Xc8vtmDCLf24vsslC2vn LisNYvOCYn5HZhMBudXYet+bqomNhVNgHgIo1XSfkz/7jvQnJKFv58KHhUiKlWK83yNM kFcofyemr/3S/GNRvWQxXq/Qf5pnjF5vw4AnFkT4UrGr/KIVd5GATwyGJDnnEEktW4UI Rh/nZaplHJi6k70czNqn5JtjFmCFB/WEbpYtOKMnVP/pp8QDMgPzPTgUCXB2Wv2clhkF TCdr8qWp9rgfvRIncRIJjRvjUlGGaIJqmcrvesJo98DFGfoNzuMj1gkQXKSNdfEQ7nbe JYRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681262769; x=1683854769; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mqyam43dPAvGEzWMEjZXCFlcfty2F0kjMj7VMOcQMVw=; b=gF3LFIG7x6EqMOFG4Hkeaxmnr6GiNVTf0vBFNOqLutQNBhP29oIsbaWI5gvY+xrPir QM7iYbP5+kdxYT0bTAzSZbdQTnCVZfktPJgx9DEUyt1sjmJFmaAAO9GeWStEmeJFxZnQ iRokgL7CypUYP01jD3nT9MFk/mSU8a1k7pZJM94uKFoIh83fFGS6U3pVyc/pDPa2sdn7 2TiagCXMJh6iqW+8i/g5P/b0P//wgYwtULHiXSlyxPl9spvNPOWe1DCx4B5SvA9v33R9 SEu7AJ+r73G4EFsxQxaTnv3LTY9jRwpNExgnKvVzNEovzKIWGIqpV6nF6uvywljcP5h4 IFGw== X-Gm-Message-State: AAQBX9cialGApUu+gl6bQZrXq9YLvsDfoOMjTDPhHJ87CkVhl+Bmrbmk scge1K3nNJYstK/ihQO2I18= X-Google-Smtp-Source: AKy350aDRMncWk73xamY6EQI9Mnn4rl9bX/yp5X0DnFPeBZ6Z8To+FrIEx+EkCYMQ6k3G9XD+CbxGQ== X-Received: by 2002:a62:1ccc:0:b0:634:a3f:f5ea with SMTP id c195-20020a621ccc000000b006340a3ff5eamr13328784pfc.3.1681262769220; Tue, 11 Apr 2023 18:26:09 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::f0a? ([2601:681:8600:13d0::f0a]) by smtp.gmail.com with ESMTPSA id y10-20020aa7854a000000b005ded4825201sm10423020pfn.112.2023.04.11.18.26.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Apr 2023 18:26:08 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------HNoHp4Y91rYLV4pnvwBBISq7" Message-ID: <965831db-ac9e-cc5e-3459-08b6b70fd577@gmail.com> Date: Tue, 11 Apr 2023 19:26:07 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH] combine: Fix simplify_comparison AND handling for WORD_REGISTER_OPERATIONS targets [PR109040] Content-Language: en-US To: Jakub Jelinek Cc: Eric Botcazou , gcc-patches@gcc.gnu.org, Richard Biener , Richard Sandiford References: <2220543.iZASKD2KPV@fomalhaut> <3412470.QJadu78ljV@fomalhaut> <8d3c3861-c291-e762-a2a8-0b520f39a7e3@gmail.com> From: Jeff Law In-Reply-To: X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,NICE_REPLY_A,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: This is a multi-part message in MIME format. --------------HNoHp4Y91rYLV4pnvwBBISq7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/10/23 01:10, Jakub Jelinek wrote: > On Sat, Apr 08, 2023 at 06:25:32PM -0600, Jeff Law wrote: >> >> >> On 4/6/23 08:21, Eric Botcazou wrote: >> >>>> So, perhaps just in the return op0; case add further code for >>>> WORD_REGISTER_OPERATIONS and sub-word modes which will call nonzero_bits >>>> again for the word mode and decide if it is still safe. >>> >>> Does it work to just replace mode by word_mode in the calls to nonzero_bits? >> It helps marginally -- basically we defer mucking up the code a bit. We >> then hit this in simplify_and_const_int_1: >> >> >> /* See what bits may be nonzero in VAROP. Unlike the general case of >> a call to nonzero_bits, here we don't care about bits outside >> MODE. */ >> >> nonzero = nonzero_bits (varop, mode) & GET_MODE_MASK (mode); >> >> That just seems wrong for WORD_REGISTER_OPERATIONS targets. >> >> >> Hacking both locations in a similar manner fixes the test. > > If so, can you post that in patch form and can we go with that version > plus the testcase (e.g. from the first patch I've posted where I've changed > dse)? So as I mentioned in IRC, I haven't really looked closely at simplify_and_const_int_1. I don't have a high degree of confidence this patch is complete, even though it does fix the test for 108947 and 109040. I did bootstrap on riscv, but not a regression test, that's spinning right now. Jeff --------------HNoHp4Y91rYLV4pnvwBBISq7 Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb21iaW5lLmNjIGIvZ2NjL2NvbWJpbmUuY2MKaW5kZXggMjJi ZjhlMWVjODkuLmM0MWQ4YTA5YjNiIDEwMDY0NAotLS0gYS9nY2MvY29tYmluZS5jYworKysg Yi9nY2MvY29tYmluZS5jYwpAQCAtMTAwNTUsOSArMTAwNTUsMTAgQEAgc2ltcGxpZnlfYW5k X2NvbnN0X2ludF8xIChzY2FsYXJfaW50X21vZGUgbW9kZSwgcnR4IHZhcm9wLAogCiAgIC8q IFNlZSB3aGF0IGJpdHMgbWF5IGJlIG5vbnplcm8gaW4gVkFST1AuICBVbmxpa2UgdGhlIGdl bmVyYWwgY2FzZSBvZgogICAgICBhIGNhbGwgdG8gbm9uemVyb19iaXRzLCBoZXJlIHdlIGRv bid0IGNhcmUgYWJvdXQgYml0cyBvdXRzaWRlCi0gICAgIE1PREUuICAqLworICAgICBNT0RF IHVubGVzcyBXT1JEX1JFR0lTVEVSX09QRVJBVElPTlMgaXMgdHJ1ZS4gICovCiAKLSAgbm9u emVybyA9IG5vbnplcm9fYml0cyAodmFyb3AsIG1vZGUpICYgR0VUX01PREVfTUFTSyAobW9k ZSk7CisgIGVudW0gbWFjaGluZV9tb2RlIHRtb2RlID0gV09SRF9SRUdJU1RFUl9PUEVSQVRJ T05TID8gd29yZF9tb2RlIDogbW9kZTsKKyAgbm9uemVybyA9IG5vbnplcm9fYml0cyAodmFy b3AsIHRtb2RlKSAmIEdFVF9NT0RFX01BU0sgKHRtb2RlKTsKIAogICAvKiBUdXJuIG9mZiBh bGwgYml0cyBpbiB0aGUgY29uc3RhbnQgdGhhdCBhcmUga25vd24gdG8gYWxyZWFkeSBiZSB6 ZXJvLgogICAgICBUaHVzLCBpZiB0aGUgQU5EIGlzbid0IG5lZWRlZCBhdCBhbGwsIHdlIHdp bGwgaGF2ZSBDT05TVE9QID09IE5PTlpFUk9fQklUUwpkaWZmIC0tZ2l0IGEvZ2NjL3NpbXBs aWZ5LXJ0eC5jYyBiL2djYy9zaW1wbGlmeS1ydHguY2MKaW5kZXggM2IzM2FmYTI0NjEuLjVm NmY3MDQ5MWQ4IDEwMDY0NAotLS0gYS9nY2Mvc2ltcGxpZnktcnR4LmNjCisrKyBiL2djYy9z aW1wbGlmeS1ydHguY2MKQEAgLTM3NTIsNyArMzc1MiwxMCBAQCBzaW1wbGlmeV9jb250ZXh0 OjpzaW1wbGlmeV9iaW5hcnlfb3BlcmF0aW9uXzEgKHJ0eF9jb2RlIGNvZGUsCiAJcmV0dXJu IG9wMDsKICAgICAgIGlmIChIV0lfQ09NUFVUQUJMRV9NT0RFX1AgKG1vZGUpKQogCXsKLQkg IEhPU1RfV0lERV9JTlQgbnpvcDAgPSBub256ZXJvX2JpdHMgKHRydWVvcDAsIG1vZGUpOwor CSAgLyogV2hlbiBXT1JEX1JFR0lTVEVSX09QRVJBVElPTlMgaXMgdHJ1ZSwgd2UgbmVlZCB0 byBrbm93IHRoZQorCSAgICAgbm9uemVybyBiaXRzIGluIFdPUkRfTU9ERSByYXRoZXIgdGhh biBNT0RFLiAgKi8KKwkgIEhPU1RfV0lERV9JTlQgbnpvcDAKKwkgICAgPSBub256ZXJvX2Jp dHMgKHRydWVvcDAsIFdPUkRfUkVHSVNURVJfT1BFUkFUSU9OUyA/IHdvcmRfbW9kZSA6IG1v ZGUpOwogCSAgSE9TVF9XSURFX0lOVCBuem9wMTsKIAkgIGlmIChDT05TVF9JTlRfUCAodHJ1 ZW9wMSkpCiAJICAgIHsK --------------HNoHp4Y91rYLV4pnvwBBISq7--