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 4C8723854575 for ; Mon, 21 Nov 2022 13:41:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4C8723854575 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.96,181,1665475200"; d="diff'?scan'208";a="87265395" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 21 Nov 2022 05:41:06 -0800 IronPort-SDR: AasoC5KCPZlkpHJDp9lx0L8qTmC72wGsaqdcMVIAvgVHyU/vJyIOkjEqzigQ2gECla+BP4LY2u DWJsUuufAyqyCk9mIBeZDriQjDNNxT2fKgZ9VvtvwGxGWvVVHI9X3INIQQQPD9+ySTYnQCfnd0 gfABOv4o4pRdW9fcnliE91oTaR9taa7a3qOmk9ZK6AB2JAu1WME2AR1NIrSj+zGlBQHCu9Ves9 oW37CGZAbClnI//Mv7AcfGnMeBtTk0F9EFF7EwpF2DbBxARgtnazHTNBWcQ4PsGrghsENSxYGA pa8= Content-Type: multipart/mixed; boundary="------------9NqEHbdlGUb0kCQWByKI4QqS" Message-ID: <23880d62-9f02-8073-a8ea-52032f979089@codesourcery.com> Date: Mon, 21 Nov 2022 14:40:59 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [Patch] libgomp/gcn: fix/improve struct output (was: [Patch] libgomp/gcn: Prepare for reverse-offload callback handling) Content-Language: en-US To: Andrew Stubbs , gcc-patches References: <55dacdd3-4a82-8087-fdba-824d9910e186@codesourcery.com> <02ec5f29-953b-63dd-7d44-04f9af36a114@codesourcery.com> <1c5166f4-91d2-b320-7fd9-6831c7e26342@codesourcery.com> From: Tobias Burnus In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 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: --------------9NqEHbdlGUb0kCQWByKI4QqS Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Working on the builtins, I realized that I mixed up (again) bits and byes. While 'uint64_t var[2]' has a size of 128 bits, 'char var[128]' has a size = of 128 bytes. Thus, there is sufficient space for 16 pointer-size/uin64_t values but I on= ly need 6. This patch now makes use of the available space, avoiding one device-to-hos= t memory copy; additionally, it avoids a 32bit vs 64bit alignment issue which I somehow mi= ssed :-( Tested with libgomp on gfx908 offloading and getting only the known fails: (libgomp.c-c++-common/teams-2.c, libgomp.fortran/async_io_*.f90, libgomp.oacc-c-c++-common/{deep-copy-10.c,static-variable-1.c,vprop.c}) OK for mainline? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------9NqEHbdlGUb0kCQWByKI4QqS Content-Type: text/x-patch; charset="UTF-8"; name="gcn-fix-struct-output.diff" Content-Disposition: attachment; filename="gcn-fix-struct-output.diff" Content-Transfer-Encoding: base64 bGliZ29tcC9nY246IGZpeC9pbXByb3ZlIHN0cnVjdCBvdXRwdXQKCm91dHB1dC5wcmludGZf ZGF0YS4odmFsdWUgdW5pb24pIGNvbnRhaW5zIHRleHRbMTI4XSwgd2hpY2ggaGFzIHRoZSBz aXplCm9mIDEyOCBieXRlcywgc3VmZmljaWVudCBmb3IgMTYgdWludDY0X3QgdmFyaWFibGVz OyBoZW5jZSB2YWx1ZV91NjRbMl0KY291bGQgYmUgZXh0ZW5kZWQgdG8gdmFsdWVfdTY0WzZd IC0gc3VmZmljaWVudCBmb3IgYWxsIHJlcXVpcmVkIGFyZ3VtZW50cwp0byBnb21wX3Rhcmdl dF9yZXYuICBBZGRpdGlvbmFsbHksIG5leHRfb3V0cHV0LnByaW50Zl9kYXRhLihtc2cgdW5p b24pCmNvbnRhaW5lZCBtc2dfdTY0IHdoaWNoIHRoZW4gaXMgbm8gbG9uZ2VyIG5lZWRlZCBh bmQgYWxzbyBjYXVzZWQgMzJiaXQKdnMgNjRiaXQgYWxpZ25tZW50IGlzc3Vlcy4KCmxpYmdv bXAvCgkqIGNvbmZpZy9nY24vbGliZ29tcC1nY24uaCAoc3RydWN0IG91dHB1dCk6CglSZW1v dmUgJ21zZ191NjQnIGZyb20gdGhlIHVuaW9uLCBjaGFuZ2UKCXZhbHVlX3U2NFsyXSB0byB2 YWx1ZV91NjRbNl0uCgkqIGNvbmZpZy9nY24vdGFyZ2V0LmMgKEdPTVBfdGFyZ2V0X2V4dCk6 IFVwZGF0ZSBhY2NvcmRpbmdseS4KCSogcGx1Z2luL3BsdWdpbi1nY24uYyAocHJvY2Vzc19y ZXZlcnNlX29mZmxvYWQsIGNvbnNvbGVfb3V0cHV0KToKCUxpa2V3aXNlLgoKIGxpYmdvbXAv Y29uZmlnL2djbi9saWJnb21wLWdjbi5oIHwgIDcgKystLS0tLQogbGliZ29tcC9jb25maWcv Z2NuL3RhcmdldC5jICAgICAgfCAxMiArKysrKystLS0tLS0KIGxpYmdvbXAvcGx1Z2luL3Bs dWdpbi1nY24uYyAgICAgIHwgMTcgKysrKysrKy0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl ZCwgMTUgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli Z29tcC9jb25maWcvZ2NuL2xpYmdvbXAtZ2NuLmggYi9saWJnb21wL2NvbmZpZy9nY24vbGli Z29tcC1nY24uaAppbmRleCA5MTU2MGJlNzg3Zi4uMzkzM2U4NDZhODYgMTAwNjQ0Ci0tLSBh L2xpYmdvbXAvY29uZmlnL2djbi9saWJnb21wLWdjbi5oCisrKyBiL2xpYmdvbXAvY29uZmln L2djbi9saWJnb21wLWdjbi5oCkBAIC0zNywxNiArMzcsMTMgQEAgc3RydWN0IG91dHB1dAog ICB1bnNpZ25lZCBpbnQgbmV4dF9vdXRwdXQ7CiAgIHN0cnVjdCBwcmludGZfZGF0YSB7CiAg ICAgaW50IHdyaXR0ZW47Ci0gICAgdW5pb24gewotICAgICAgY2hhciBtc2dbMTI4XTsKLSAg ICAgIHVpbnQ2NF90IG1zZ191NjRbMl07Ci0gICAgfTsKKyAgICBjaGFyIG1zZ1sxMjhdOwog ICAgIGludCB0eXBlOwogICAgIHVuaW9uIHsKICAgICAgIGludDY0X3QgaXZhbHVlOwogICAg ICAgZG91YmxlIGR2YWx1ZTsKICAgICAgIGNoYXIgdGV4dFsxMjhdOwotICAgICAgdWludDY0 X3QgdmFsdWVfdTY0WzJdOworICAgICAgdWludDY0X3QgdmFsdWVfdTY0WzZdOwogICAgIH07 CiAgIH0gcXVldWVbMTAyNF07CiAgIHVuc2lnbmVkIGludCBjb25zdW1lZDsKZGlmZiAtLWdp dCBhL2xpYmdvbXAvY29uZmlnL2djbi90YXJnZXQuYyBiL2xpYmdvbXAvY29uZmlnL2djbi90 YXJnZXQuYwppbmRleCAyNzg1NDU2NWQ0MC4uMTFhZTZlYzk4MzMgMTAwNjQ0Ci0tLSBhL2xp YmdvbXAvY29uZmlnL2djbi90YXJnZXQuYworKysgYi9saWJnb21wL2NvbmZpZy9nY24vdGFy Z2V0LmMKQEAgLTEwMiwxMiArMTAyLDEyIEBAIEdPTVBfdGFyZ2V0X2V4dCAoaW50IGRldmlj ZSwgdm9pZCAoKmZuKSAodm9pZCAqKSwgc2l6ZV90IG1hcG51bSwKICAgICAgIGFzbSAoInNf c2xlZXAgNjQiKTsKIAogICB1bnNpZ25lZCBpbnQgc2xvdCA9IGluZGV4ICUgMTAyNDsKLSAg dWludDY0X3QgYWRkcnNfc2l6ZXNfa2luZFszXSA9IHsodWludDY0X3QpIGhvc3RhZGRycywg KHVpbnQ2NF90KSBzaXplcywKLQkJCQkgICh1aW50NjRfdCkga2luZHN9OwotICBkYXRhLT5x dWV1ZVtzbG90XS5tc2dfdTY0WzBdID0gKHVpbnQ2NF90KSBmbjsKLSAgZGF0YS0+cXVldWVb c2xvdF0ubXNnX3U2NFsxXSA9ICh1aW50NjRfdCkgbWFwbnVtOwotICBkYXRhLT5xdWV1ZVtz bG90XS52YWx1ZV91NjRbMF0gPSAodWludDY0X3QpICZhZGRyc19zaXplc19raW5kWzBdOwot ICBkYXRhLT5xdWV1ZVtzbG90XS52YWx1ZV91NjRbMV0gPSAodWludDY0X3QpIEdPTVBfQURE SVRJT05BTF9JQ1ZTLmRldmljZV9udW07CisgIGRhdGEtPnF1ZXVlW3Nsb3RdLnZhbHVlX3U2 NFswXSA9ICh1aW50NjRfdCkgZm47CisgIGRhdGEtPnF1ZXVlW3Nsb3RdLnZhbHVlX3U2NFsx XSA9ICh1aW50NjRfdCkgbWFwbnVtOworICBkYXRhLT5xdWV1ZVtzbG90XS52YWx1ZV91NjRb Ml0gPSAodWludDY0X3QpIGhvc3RhZGRyczsKKyAgZGF0YS0+cXVldWVbc2xvdF0udmFsdWVf dTY0WzNdID0gKHVpbnQ2NF90KSBzaXplczsKKyAgZGF0YS0+cXVldWVbc2xvdF0udmFsdWVf dTY0WzRdID0gKHVpbnQ2NF90KSBraW5kczsKKyAgZGF0YS0+cXVldWVbc2xvdF0udmFsdWVf dTY0WzVdID0gKHVpbnQ2NF90KSBHT01QX0FERElUSU9OQUxfSUNWUy5kZXZpY2VfbnVtOwog CiAgIGRhdGEtPnF1ZXVlW3Nsb3RdLnR5cGUgPSA0OyAvKiBSZXZlcnNlIG9mZmxvYWQuICAq LwogICBfX2F0b21pY19zdG9yZV9uICgmZGF0YS0+cXVldWVbc2xvdF0ud3JpdHRlbiwgMSwg X19BVE9NSUNfUkVMRUFTRSk7CmRpZmYgLS1naXQgYS9saWJnb21wL3BsdWdpbi9wbHVnaW4t Z2NuLmMgYi9saWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMKaW5kZXggZmZlNWNmNWFmMmMu LjM4OGU4N2I3NzY1IDEwMDY0NAotLS0gYS9saWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMK KysrIGIvbGliZ29tcC9wbHVnaW4vcGx1Z2luLWdjbi5jCkBAIC0xOTE5LDE2ICsxOTE5LDEy IEBAIGNyZWF0ZV9rZXJuZWxfZGlzcGF0Y2ggKHN0cnVjdCBrZXJuZWxfaW5mbyAqa2VybmVs LCBpbnQgbnVtX3RlYW1zKQogfQogCiBzdGF0aWMgdm9pZAotcHJvY2Vzc19yZXZlcnNlX29m ZmxvYWQgKHVpbnQ2NF90IGZuLCB1aW50NjRfdCBtYXBudW0sIHVpbnQ2NF90IHJldl9kYXRh LAotCQkJIHVpbnQ2NF90IGRldl9udW02NCkKK3Byb2Nlc3NfcmV2ZXJzZV9vZmZsb2FkICh1 aW50NjRfdCBmbiwgdWludDY0X3QgbWFwbnVtLCB1aW50NjRfdCBob3N0YWRkcnMsCisJCQkg dWludDY0X3Qgc2l6ZXMsIHVpbnQ2NF90IGtpbmRzLCB1aW50NjRfdCBkZXZfbnVtNjQpCiB7 CiAgIGludCBkZXZfbnVtID0gZGV2X251bTY0OwotICB1aW50NjRfdCBhZGRyc19zaXplc19r aW5kc1szXTsKLSAgR09NUF9PRkZMT0FEX2hvc3QyZGV2IChkZXZfbnVtLCAmYWRkcnNfc2l6 ZXNfa2luZHMsICh2b2lkICopIHJldl9kYXRhLAotCQkJIHNpemVvZiAoYWRkcnNfc2l6ZXNf a2luZHMpKTsKLSAgR09NUF9QTFVHSU5fdGFyZ2V0X3JldiAoZm4sIG1hcG51bSwgYWRkcnNf c2l6ZXNfa2luZHNbMF0sCi0JCQkgIGFkZHJzX3NpemVzX2tpbmRzWzFdLCBhZGRyc19zaXpl c19raW5kc1syXSwKLQkJCSAgZGV2X251bSwgTlVMTCwgTlVMTCwgTlVMTCk7CisgIEdPTVBf UExVR0lOX3RhcmdldF9yZXYgKGZuLCBtYXBudW0sIGhvc3RhZGRycywgc2l6ZXMsIGtpbmRz LCBkZXZfbnVtLAorCQkJICBOVUxMLCBOVUxMLCBOVUxMKTsKIH0KIAogLyogT3V0cHV0IGFu eSBkYXRhIHdyaXR0ZW4gdG8gY29uc29sZSBvdXRwdXQgZnJvbSB0aGUga2VybmVsLiAgSXQg aXMgZXhwZWN0ZWQKQEAgLTE5NzYsOCArMTk3Miw5IEBAIGNvbnNvbGVfb3V0cHV0IChzdHJ1 Y3Qga2VybmVsX2luZm8gKmtlcm5lbCwgc3RydWN0IGtlcm5hcmdzICprZXJuYXJncywKIAlj YXNlIDI6IHByaW50ZiAoIiUuMTI4cyUuMTI4c1xuIiwgZGF0YS0+bXNnLCBkYXRhLT50ZXh0 KTsgYnJlYWs7CiAJY2FzZSAzOiBwcmludGYgKCIlLjEyOHMlLjEyOHMiLCBkYXRhLT5tc2cs IGRhdGEtPnRleHQpOyBicmVhazsKIAljYXNlIDQ6Ci0JICBwcm9jZXNzX3JldmVyc2Vfb2Zm bG9hZCAoZGF0YS0+bXNnX3U2NFswXSwgZGF0YS0+bXNnX3U2NFsxXSwKLQkJCQkgICBkYXRh LT52YWx1ZV91NjRbMF0sZGF0YS0+dmFsdWVfdTY0WzFdKTsKKwkgIHByb2Nlc3NfcmV2ZXJz ZV9vZmZsb2FkIChkYXRhLT52YWx1ZV91NjRbMF0sIGRhdGEtPnZhbHVlX3U2NFsxXSwKKwkJ CQkgICBkYXRhLT52YWx1ZV91NjRbMl0sIGRhdGEtPnZhbHVlX3U2NFszXSwKKwkJCQkgICBk YXRhLT52YWx1ZV91NjRbNF0sIGRhdGEtPnZhbHVlX3U2NFs1XSk7CiAJICBicmVhazsKIAlk ZWZhdWx0OiBwcmludGYgKCJHQ04gcHJpbnQgYnVmZmVyIGVycm9yIVxuIik7IGJyZWFrOwog CX0K --------------9NqEHbdlGUb0kCQWByKI4QqS--