From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 164423858284 for ; Mon, 24 Oct 2022 16:50:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 164423858284 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.95,209,1661846400"; d="scan'208";a="85153627" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 24 Oct 2022 08:50:45 -0800 IronPort-SDR: QOCQhLEKPkdBpsd57JlSvb1Jm4iIvC4CgKQL4s1RrN+A6ft/Yk0Hy59bL/dG+GlzD0jCGKbqZT S3YXMqE0LgGw06v6i48T6xjzPIFYFXMjOcOSv+PTt663PIZhL1MLd2cNRM+6BFdwphd6zFtomw 9RQdY7zAuzViTk9zEq0AsRtLD2S0aW9YOsc8LjECboZVeXfbch3dQnELa7/eEZEebR8FcAVaxb z1C3Sepiwwj1kRg7dh5tRiEmYMEtJiFmwZ19n+9N5P1UxgJ89Kkz8euu7hMtxfJNvImT1WMqf5 tZc= Content-Type: multipart/mixed; boundary="------------yNWYFr6BidmuJ0CdH00kZgVE" Message-ID: <264e9c27-cef4-b2a5-8758-a8b621428e01@codesourcery.com> Date: Mon, 24 Oct 2022 17:50:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Content-Language: en-GB From: Andrew Stubbs Subject: [OG12 commit] vect: WORKAROUND vectorizer bug To: "gcc-patches@gcc.gnu.org" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-14.mgc.mentorg.com (139.181.222.14) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,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: --------------yNWYFr6BidmuJ0CdH00kZgVE Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit I've committed this to the OG12 branch to remove some test failures. We probably ought to have something on mainline also, but a proper fix would be better. Without this. the libgomp.oacc-c-c++-common/private-variables.c testcase fails to compile due to an ICE. The OpenACC worker broadcasting code is creating SLP optimizable loads and stores in amdgcn address-space-4. Previously this was "ok" as SLP didn't work with less that 64-lane vectors, but the newly implemented smaller vectors are working as intended and optimizing this. Unfortunately the vectorizer is losing the address-space data from the intermediate types, and it all falls apart during expand when it tries the convert a 32-bit address into a 64-bit address and that's not something that works. At first sight it looks like we could possibly make that work with POINTERS_EXTEND_UNSIGNED, but that only changes the error message. Fundamentally we need to make sure that various instances of "vectype" have the correct address space, but my attempts to do so showed that that's a larger task than I have time for right now. This patch simply prevents the vectorizer working in the case where it would break. This should not be a regression because this code didn't vectorize at all, previously. Andrew --------------yNWYFr6BidmuJ0CdH00kZgVE Content-Type: text/plain; charset="UTF-8"; name="221024-workarround-vec-addrspace-bug.patch" Content-Disposition: attachment; filename="221024-workarround-vec-addrspace-bug.patch" Content-Transfer-Encoding: base64 dmVjdDogV09SS0FST1VORCB2ZWN0b3JpemVyIGJ1ZwoKVGhpcyBwYXRjaCBkaXNhYmxlcyB2 ZWN0b3JpemF0aW9uIG9mIG1lbW9yeSBhY2Nlc3NlcyB0byBub24tZGVmYXVsdCBhZGRyZXNz CnNwYWNlcyB3aGVyZSB0aGUgcG9pbnRlciBzaXplIGlzIGRpZmZlcmVudCB0byB0aGUgdXN1 YWwgcG9pbnRlciBzaXplLiAgVGhpcwpjb25kaXRpb24gdHlwaWNhbGx5IG9jY3VycyBpbiBP cGVuQUNDIHByb2dyYW1zIG9uIGFtZGdjbiwgd2hlcmUgTERTIG1lbW9yeSBpcwp1c2VkIGZv ciBicm9hZGNhc3RpbmcgZ2FuZy1wcml2YXRlIHZhcmlhYmxlcyBiZXR3ZWVuIHRocmVhZHMu IEluIHBhcnRpY3VsYXIsCnNlZSBsaWJnb21wLm9hY2MtYy1jKystY29tbW9uL3ByaXZhdGUt dmFyaWFibGVzLmMKClRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGFkZHJlc3Mgc3BhY2UgaW5m b3JtYXRpb24gaXMgZHJvcHBlZCBmcm9tIHRoZSB2YXJpb3VzCnR5cGVzIGluIHRoZSBtaWRk bGUtZW5kIGFuZCBldmVudHVhbGx5IGl0IHRyaWdnZXJzIGFuIElDRSB0cnlpbmcgdG8gZG8g YW4KYWRkcmVzcyBjb252ZXJzaW9uLiAgVGhhdCBJQ0UgY2FuIGJlIGF2b2lkZWQgYnkgZGVm aW5pbmcKUE9JTlRFUlNfRVhURU5EX1VOU0lHTkVELCBidXQgdGhhdCBqdXN0IHByb2R1Y2Vz IHdyb25nIFJUTCBjb2RlIGxhdGVyIG9uLgoKQSBjb3JyZWN0IHNvbHV0aW9uIHdvdWxkIGVu c3VyZSB0aGF0IGFsbCB0aGUgdmVjdHlwZXMgaGF2ZSB0aGUgY29ycmVjdCBhZGRyZXNzCnNw YWNlcywgYnV0IEkgZG9uJ3QgaGF2ZSB0aW1lIGZvciB0aGF0IHJpZ2h0IG5vdy4KCmdjYy9D aGFuZ2VMb2c6CgoJKiB0cmVlLXZlY3QtZGF0YS1yZWZzLmNjICh2ZWN0X2FuYWx5emVfZGF0 YV9yZWZzKTogV29ya2Fyb3VuZCBhbgoJYWRkcmVzcy1zcGFjZSBidWcuCgpkaWZmIC0tZ2l0 IGEvZ2NjL3RyZWUtdmVjdC1kYXRhLXJlZnMuY2MgYi9nY2MvdHJlZS12ZWN0LWRhdGEtcmVm cy5jYwppbmRleCAwOTIyM2JhZjcxOC4uNzBiNjcxZWQ5NGEgMTAwNjQ0Ci0tLSBhL2djYy90 cmVlLXZlY3QtZGF0YS1yZWZzLmNjCisrKyBiL2djYy90cmVlLXZlY3QtZGF0YS1yZWZzLmNj CkBAIC00NTk4LDcgKzQ1OTgsMjEgQEAgdmVjdF9hbmFseXplX2RhdGFfcmVmcyAodmVjX2lu Zm8gKnZpbmZvLCBwb2x5X3VpbnQ2NCAqbWluX3ZmLCBib29sICpmYXRhbCkKICAgICAgIC8q IFNldCB2ZWN0eXBlIGZvciBTVE1ULiAgKi8KICAgICAgIHNjYWxhcl90eXBlID0gVFJFRV9U WVBFIChEUl9SRUYgKGRyKSk7CiAgICAgICB0cmVlIHZlY3R5cGUgPSBnZXRfdmVjdHlwZV9m b3Jfc2NhbGFyX3R5cGUgKHZpbmZvLCBzY2FsYXJfdHlwZSk7Ci0gICAgICBpZiAoIXZlY3R5 cGUpCisKKyAgICAgIC8qIEZJWE1FOiBJZiB0aGUgb2JqZWN0IGlzIGluIGFuIGFkZHJlc3Mt c3BhY2UgaW4gd2hpY2ggdGhlIHBvaW50ZXIgc2l6ZQorCSBpcyBkaWZmZXJlbnQgdG8gdGhl IGRlZmF1bHQgYWRkcmVzcyBzcGFjZSB0aGVuIHZlY3Rvcml6aW5nIGhlcmUgd2lsbAorCSBs ZWFkIHRvIGFuIElDRSBkb3duIHRoZSByb2FkIGJlY2F1c2UgdGhlIGFkZHJlc3Mgc3BhY2Ug aW5mb3JtYXRpb24KKwkgZ2V0cyBsb3N0LiAgVGhpcyB3b3JrLWFyb3VuZCBmaXhlcyB0aGUg cHJvYmxlbSB1bnRpbCB3ZSBoYXZlIGEgcHJvcGVyCisJIHNvbHV0aW9uLiAgKi8KKyAgICAg IHRyZWUgYmFzZV9vYmplY3QgPSBEUl9SRUYgKGRyKTsKKyAgICAgIHRyZWUgb3AgPSAoVFJF RV9DT0RFIChiYXNlX29iamVjdCkgPT0gQ09NUE9ORU5UX1JFRgorCQkgfHwgVFJFRV9DT0RF IChiYXNlX29iamVjdCkgPT0gQVJSQVlfUkVGCisJCSA/IFRSRUVfT1BFUkFORCAoYmFzZV9v YmplY3QsIDApIDogYmFzZV9vYmplY3QpOworICAgICAgYWRkcl9zcGFjZV90IGFzID0gVFlQ RV9BRERSX1NQQUNFIChUUkVFX1RZUEUgKG9wKSk7CisgICAgICBib29sIGFkZHJfc3BhY2Vf YnVnID0gKCFBRERSX1NQQUNFX0dFTkVSSUNfUCAoYXMpCisJCQkgICAgICYmIHRhcmdldG0u YWRkcl9zcGFjZS5wb2ludGVyX21vZGUgKGFzKSAhPSBQbW9kZSk7CisKKyAgICAgIGlmICgh dmVjdHlwZSB8fCBhZGRyX3NwYWNlX2J1ZykKICAgICAgICAgewogICAgICAgICAgIGlmIChk dW1wX2VuYWJsZWRfcCAoKSkKICAgICAgICAgICAgIHsK --------------yNWYFr6BidmuJ0CdH00kZgVE--