From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 9DC823858D28 for ; Thu, 29 Sep 2022 05:45:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9DC823858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 28T3eKoi006831; Thu, 29 Sep 2022 05:45:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=content-type : message-id : date : mime-version : subject : to : cc : references : from : in-reply-to; s=pp1; bh=i1Z4ozPEQrWOK3TAOKPAwrpd+NW4hGpCNYWkrfUzZC8=; b=a93QwNhzZVnIIzB49AlUyppAAHztzXuQ3s/nNjn+WSeB/bPWiuimN9RfkMfvaSplddcq 3DqpD9HHaFj1l7KnvkU1twugrU0CJbXe3Fzq8vPWk+grJ5LHsPyR41Yu1D40/15kZo1W pFl4W2ivrwFkK9g6zbRA6J23tD2MJGyPUDi+cnyn/4rMnvmsH+KhIswbsRUa/F3F8jT/ an7IX2agtOvCEp6A4D9yByyeUDUuFEAQwnX0JBIEw8InJ7h4O+B9ow7RGQk8bIkmTpQ1 D7DpMC7a6vawTaI39VwmWtB44abvKpft7cATBQDrR18TPj17zKROgY+7keNOkLFn79qY +w== Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3jvrm0dnax-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 29 Sep 2022 05:45:23 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 28T5d8dg008819; Thu, 29 Sep 2022 05:45:21 GMT Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by ppma04ams.nl.ibm.com with ESMTP id 3juapukt9y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 29 Sep 2022 05:45:21 +0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 28T5jJHb459358 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 Sep 2022 05:45:19 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2037252051; Thu, 29 Sep 2022 05:45:19 +0000 (GMT) Received: from [9.197.253.23] (unknown [9.197.253.23]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id DB7075204E; Thu, 29 Sep 2022 05:45:17 +0000 (GMT) Content-Type: multipart/mixed; boundary="------------Tz4MorQ0IgjjJzTI5YKvZnJ0" Message-ID: <5e64fed0-7e79-3d60-da62-5c2bf3e2c707@linux.ibm.com> Date: Thu, 29 Sep 2022 13:45:16 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680] Content-Language: en-US To: Iain Sandoe Cc: GCC Patches , Segher Boessenkool References: <9d9f1f43-b528-387d-45a7-1d89400de0fc@linux.ibm.com> <5B4DCBBB-3237-4A9F-ACCA-6669DE6905B8@sandoe.co.uk> <92415AC8-4A5A-4119-BFCC-D7C66472F961@sandoe.co.uk> From: "Kewen.Lin" In-Reply-To: <92415AC8-4A5A-4119-BFCC-D7C66472F961@sandoe.co.uk> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: IMxiEv_v_OVs6zf7AL3hWBzvMGrGFaM1 X-Proofpoint-ORIG-GUID: IMxiEv_v_OVs6zf7AL3hWBzvMGrGFaM1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-29_02,2022-09-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 mlxlogscore=999 spamscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 clxscore=1015 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2209290030 X-Spam-Status: No, score=-14.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,WEIRD_PORT 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. --------------Tz4MorQ0IgjjJzTI5YKvZnJ0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hi Iain, Thanks very much for your time!!! on 2022/9/29 03:09, Iain Sandoe wrote: > Hi Kewen > >> On 28 Sep 2022, at 17:18, Iain Sandoe wrote: >> >> (reduced CC list, if folks want to be re-included .. please add them back). >> >>> On 28 Sep 2022, at 07:37, Iain Sandoe wrote: >> >>>> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches wrote: >>> >>>> PR106680 shows that -m32 -mpowerpc64 is different from >>>> -mpowerpc64 -m32, this is determined by the way how we >>>> handle option powerpc64 in rs6000_handle_option. >>>> >>>> Segher pointed out this difference should be taken as >>>> a bug and we should ensure that option powerpc64 is >>>> independent of -m32/-m64. So this patch removes the >>>> handlings in rs6000_handle_option and add some necessary >>>> supports in rs6000_option_override_internal instead. >>>> >>>> With this patch, if users specify -m{no-,}powerpc64, the >>>> specified value is honoured, otherwise, for 64bit it >>>> always enables OPTION_MASK_POWERPC64 while for 32bit >>>> it disables OPTION_MASK_POWERPC64 if OS_MISSING_POWERPC64. >>>> >>>> Bootstrapped and regress-tested on: >>>> - powerpc64-linux-gnu P7 and P8 {-m64,-m32} >>>> - powerpc64le-linux-gnu P9 and P10 >>>> - powerpc-ibm-aix7.2.0.0 {-maix64,-maix32} >>>> >>>> Hi Iain, could you help to test this on darwin to ensure >>>> it won't break darwin's build and new tests are fine? >>>> Thanks in advance! >>> >>> Will do, it will take a day or so, thanks, >> >> Perhaps a small exposition on the target: >> >> powerpc-apple-darwin, is perhaps somewhat unusual in that it is nominally a 32b kernel, but the OS supports 64b processes on suitable hardware (and the OS does preserve the upper bits of 64b regs in the context). >> >> ----- >> >> I bootstrapped (all supported languages) and tested r13-2892 yesterday with “nominal” results. >> >> Then I added this patch .. and did a clean bootstrap (same configuration). >> >> the bootstrap fails on the stage3 libgomp (building the ppc64 multilib) with the error below >> What is somewhat odd here is that libgomp is bootstrapped with the compiler and, apparently, >> openacc-init.c built OK at stage2. >> >> —— >> >> Of course, powerpc-darwin is not a blocker for anything, it should not hold you up (but sometimes it >> manages to find a glitch missed elsewhere). I will try to take a look at this this evening see if I can throw >> any more light on it. >> >> ------ >> >> /src-local/gcc-master/libgomp/oacc-init.c:876:1: internal compiler error: ‘global_options’ are modified in local context >> 876 | { >> | ^ >> 0xe940d7 cl_optimization_compare(gcc_options*, gcc_options*) >> /scratch/10-5-leo/gcc-master/gcc/options-save.cc:14082 > > This repeats on a cross from x86_64-darwin to powerpc-darwin .. (makes debug a bit quicker) > > this is the failing case - which does not (immediately) seem directly connected .. does it ring > any bells for you? > > 16649 if (ptr1->x_rs6000_sched_restricted_insns_priority != ptr2->x_rs6000_sched_restricted_insns_priority) > -> 16650 internal_error ("% are modified in local context”); > I found this flag is mainly related to tune setting and spotted that we have some code for tune setting when no explicit cpu is given. ... else { size_t i; enum processor_type tune_proc = (TARGET_POWERPC64 ? PROCESSOR_DEFAULT64 : PROCESSOR_DEFAULT); tune_index = -1; for (i = 0; i < ARRAY_SIZE (processor_target_table); i++) if (processor_target_table[i].processor == tune_proc) { tune_index = i; break; } } It checks TARGET_POWERPC64 directly here, my proposed patch will adjust TARGET_POWERPC64 after this hunk, so it seems to be problematic for some case. I'm testing the attached diff which can be applied on top of the previous proposed patch on ppc64 and ppc64le, could you help to test it can fix the issue? BR, Kewen --------------Tz4MorQ0IgjjJzTI5YKvZnJ0 Content-Type: text/plain; charset=UTF-8; name="darwin.diff" Content-Disposition: attachment; filename="darwin.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jYyBiL2djYy9jb25maWcv cnM2MDAwL3JzNjAwMC5jYwppbmRleCA2MDVkMzU4OTNmOS4uM2JmYmI0ZWFjMjEgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jYworKysgYi9nY2MvY29uZmlnL3Jz NjAwMC9yczYwMDAuY2MKQEAgLTM3MDIsNyArMzcwMiw3IEBAIHJzNjAwMF9vcHRpb25fb3Zl cnJpZGVfaW50ZXJuYWwgKGJvb2wgZ2xvYmFsX2luaXRfcCkKICAgICAgIGVsc2UKIAl7CiAJ ICAvKiBQb3dlclBDIDY0LWJpdCBMRSByZXF1aXJlcyBhdCBsZWFzdCBJU0EgMi4wNy4gICov Ci0JICBjb25zdCBjaGFyICpkZWZhdWx0X2NwdSA9ICghVEFSR0VUX1BPV0VSUEM2NAorCSAg Y29uc3QgY2hhciAqZGVmYXVsdF9jcHUgPSAoIVRBUkdFVF9QT1dFUlBDNjQgJiYgVEFSR0VU XzMyQklUCiAJCQkJICAgICA/ICJwb3dlcnBjIgogCQkJCSAgICAgOiAoQllURVNfQklHX0VO RElBTgogCQkJCQk/ICJwb3dlcnBjNjQiCkBAIC0zNzEzLDYgKzM3MTMsMjYgQEAgcnM2MDAw X29wdGlvbl9vdmVycmlkZV9pbnRlcm5hbCAoYm9vbCBnbG9iYWxfaW5pdF9wKQogICAgICAg cnM2MDAwX2lzYV9mbGFncyB8PSAoZmxhZ3MgJiB+cnM2MDAwX2lzYV9mbGFnc19leHBsaWNp dCk7CiAgICAgfQogCisgIC8qIFdpdGggb3B0aW9uIHBvd2VycGM2NCBzcGVjaWZpZWQgZXhw bGljaXRseSAoZWl0aGVyIG9uIG9yIG9mZiksIGV2ZW4gaWYKKyAgICAgYmVpbmcgY29tcGls ZWQgZm9yIDY0IGJpdCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIGlmIGl0J3MgZGlzYWJsZWQg aGVyZSwKKyAgICAgc2luY2Ugc3VidGFyZ2V0cyB3aWxsIGNoZWNrIGFuZCByYWlzZSBhbiBl cnJvciBtZXNzYWdlIGlmIG5lY2Vzc2FyeQorICAgICBsYXRlci4gIEJ1dCB3aXRob3V0IG9w dGlvbiBwb3dlcnBjNjQgc3BlY2lmaWVkIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8KKyAgICAg ZW5zdXJlIHBvd2VycGM2NCBlbmFibGVkIGZvciA2NCBiaXQgYW5kIGRpc2FibGVkIG9uIHRo b3NlIE9TZXMgd2l0aAorICAgICBPU19NSVNTSU5HX1BPV0VSUEM2NCwgc2luY2UgdGhleSBk b24ndCBzdXBwb3J0IHNhdmluZyB0aGUgaGlnaCBwYXJ0IG9mCisgICAgIDY0LWJpdCByZWdp c3RlcnMgb24gY29udGV4dCBzd2l0Y2guICAqLworICBpZiAoIShyczYwMDBfaXNhX2ZsYWdz X2V4cGxpY2l0ICYgT1BUSU9OX01BU0tfUE9XRVJQQzY0KSkKKyAgICB7CisgICAgICBpZiAo VEFSR0VUXzY0QklUKQorCS8qIE1ha2Ugc3VyZSB3ZSBhbHdheXMgZW5hYmxlIGl0IGJ5IGRl ZmF1bHQgZm9yIDY0IGJpdC4gICovCisJcnM2MDAwX2lzYV9mbGFncyB8PSBPUFRJT05fTUFT S19QT1dFUlBDNjQ7CisjaWZkZWYgT1NfTUlTU0lOR19QT1dFUlBDNjQKKyAgICAgIGVsc2Ug aWYgKE9TX01JU1NJTkdfUE9XRVJQQzY0KQorCS8qIEl0J3MgdW5leHBlY3RlZCB0byBoYXZl IE9QVElPTl9NQVNLX1BPV0VSUEM2NCBvbiBmb3IgT1NlcyB3aGljaAorCSAgIG1pc3MgcG93 ZXJwYzY0IHN1cHBvcnQsIHNvIGRpc2FibGUgaXQuICAqLworCXJzNjAwMF9pc2FfZmxhZ3Mg Jj0gfk9QVElPTl9NQVNLX1BPV0VSUEM2NDsKKyNlbmRpZgorICAgIH0KKwogICBpZiAocnM2 MDAwX3R1bmVfaW5kZXggPj0gMCkKICAgICB0dW5lX2luZGV4ID0gcnM2MDAwX3R1bmVfaW5k ZXg7CiAgIGVsc2UgaWYgKGNwdV9pbmRleCA+PSAwKQpAQCAtMzc0OCwyNiArMzc2OCw2IEBA IHJzNjAwMF9vcHRpb25fb3ZlcnJpZGVfaW50ZXJuYWwgKGJvb2wgZ2xvYmFsX2luaXRfcCkK IAllcnJvciAoIkFsdGlWZWMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHRhcmdldCIpOwogICAg IH0KIAotICAvKiBXaXRoIG9wdGlvbiBwb3dlcnBjNjQgc3BlY2lmaWVkIGV4cGxpY2l0bHkg KGVpdGhlciBvbiBvciBvZmYpLCBldmVuIGlmCi0gICAgIGJlaW5nIGNvbXBpbGVkIGZvciA2 NCBiaXQgd2UgZG9uJ3QgbmVlZCB0byBjaGVjayBpZiBpdCdzIGRpc2FibGVkIGhlcmUsCi0g ICAgIHNpbmNlIHN1YnRhcmdldHMgd2lsbCBjaGVjayBhbmQgcmFpc2UgYW4gZXJyb3IgbWVz c2FnZSBpZiBuZWNlc3NhcnkKLSAgICAgbGF0ZXIuICBCdXQgd2l0aG91dCBvcHRpb24gcG93 ZXJwYzY0IHNwZWNpZmllZCBleHBsaWNpdGx5LCB3ZSBuZWVkIHRvCi0gICAgIGVuc3VyZSBw b3dlcnBjNjQgZW5hYmxlZCBmb3IgNjQgYml0IGFuZCBkaXNhYmxlZCBvbiB0aG9zZSBPU2Vz IHdpdGgKLSAgICAgT1NfTUlTU0lOR19QT1dFUlBDNjQsIHNpbmNlIHRoZXkgZG9uJ3Qgc3Vw cG9ydCBzYXZpbmcgdGhlIGhpZ2ggcGFydCBvZgotICAgICA2NC1iaXQgcmVnaXN0ZXJzIG9u IGNvbnRleHQgc3dpdGNoLiAgKi8KLSAgaWYgKCEocnM2MDAwX2lzYV9mbGFnc19leHBsaWNp dCAmIE9QVElPTl9NQVNLX1BPV0VSUEM2NCkpCi0gICAgewotICAgICAgaWYgKFRBUkdFVF82 NEJJVCkKLQkvKiBNYWtlIHN1cmUgd2UgYWx3YXlzIGVuYWJsZSBpdCBieSBkZWZhdWx0IGZv ciA2NCBiaXQuICAqLwotCXJzNjAwMF9pc2FfZmxhZ3MgfD0gT1BUSU9OX01BU0tfUE9XRVJQ QzY0OwotI2lmZGVmIE9TX01JU1NJTkdfUE9XRVJQQzY0Ci0gICAgICBlbHNlIGlmIChPU19N SVNTSU5HX1BPV0VSUEM2NCkKLQkvKiBJdCdzIHVuZXhwZWN0ZWQgdG8gaGF2ZSBPUFRJT05f TUFTS19QT1dFUlBDNjQgb24gZm9yIE9TZXMgd2hpY2gKLQkgICBtaXNzIHBvd2VycGM2NCBz dXBwb3J0LCBzbyBkaXNhYmxlIGl0LiAgKi8KLQlyczYwMDBfaXNhX2ZsYWdzICY9IH5PUFRJ T05fTUFTS19QT1dFUlBDNjQ7Ci0jZW5kaWYKLSAgICB9Ci0KICAgLyogSWYgd2UgYXJlIG9w dGltaXppbmcgYmlnIGVuZGlhbiBzeXN0ZW1zIGZvciBzcGFjZSwgdXNlIHRoZSBsb2FkL3N0 b3JlCiAgICAgIG11bHRpcGxlIGluc3RydWN0aW9ucy4gICovCiAgIGlmIChCWVRFU19CSUdf RU5ESUFOICYmIG9wdGltaXplX3NpemUpCg== --------------Tz4MorQ0IgjjJzTI5YKvZnJ0--