From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id DE1BD3858D38 for ; Thu, 3 Nov 2022 17:47:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DE1BD3858D38 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,134,1665475200"; d="scan'208,223";a="88910269" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 03 Nov 2022 09:47:47 -0800 IronPort-SDR: uhlhnNRLsK2c+N1p5i6jhMCi8g/04yvN6oKYg1+bb3nzK+aJuHc6TuYb5MJM6EsUX6UikLSxCe lNbjSJDcyCkgvlrxp0T87NQeGC2QmMhuAjhq7GeY9XoC2ojO+iMgWOPP0cTpQRKIdFHLLSrA/0 7h20xZ+0ebUlPWj6+hS3pvHYNbk1pxrkXX8tMzyVJu4TJXunFQQUCbZwZ+SPepzu4/lqkqg/zM uLXprcsIcJ7c3z8WTMxXVm8hZWE2V7osE+uttRDcoejkl6TmAi2zxBWckFUl4JjaNIDDb6E//E MXY= Content-Type: multipart/mixed; boundary="------------W8N3IwfWFc3rrx72mzOX65Qd" Message-ID: Date: Thu, 3 Nov 2022 17:47:35 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 From: Kwok Cheung Yeung Subject: [PATCH] amdgcn: Fix instruction generation for exp2 and log2 operations To: gcc-patches , Andrew Stubbs 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.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_SHORT,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: --------------W8N3IwfWFc3rrx72mzOX65Qd Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hello This patch fixes a bug introduced in a previous patch adding support for generating native instructions for the exp2 and log2 patterns. The problem is that the name of the instruction implementing the exp2 operation is v_exp (and not v_exp2), and similarly log2 is implemented by v_log, so we cannot use the RTL name of the operation when outputting the instruction. I've added an extra iterator for the GCN operation name and used that when outputting instructions instead. I have also added an extra testcase for GCN that exercises this case. Okay for trunk? Thanks Kwok --------------W8N3IwfWFc3rrx72mzOX65Qd Content-Type: text/plain; charset="UTF-8"; name="0001-amdgcn-Fix-instruction-generation-for-exp2-and-log2-.patch" Content-Disposition: attachment; filename*0="0001-amdgcn-Fix-instruction-generation-for-exp2-and-log2-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjMGU3NGUwMTc0M2NkM2EzZTBkY2IyYTA3MTM5NmUzYTU3NTFmZjRjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogS3dvayBDaGV1bmcgWWV1bmcgPGtjeUBjb2Rlc291 cmNlcnkuY29tPg0KRGF0ZTogVGh1LCAzIE5vdiAyMDIyIDE3OjE5OjExICswMDAwDQpTdWJq ZWN0OiBbUEFUQ0hdIGFtZGdjbjogRml4IGluc3RydWN0aW9uIGdlbmVyYXRpb24gZm9yIGV4 cDIgYW5kIGxvZzINCiBvcGVyYXRpb25zDQoNClRoZSBHQ04gaW5zdHJ1Y3Rpb25zIGZvciB0 aGUgZXhwMiBhbmQgbG9nMiBvcGVyYXRpb25zIGFyZSB2X2V4cF8qIGFuZCB2X2xvZ18qDQpy ZXNwZWN0aXZlbHksIHdoaWNoIHVuZm9ydHVuYXRlbHkgZG8gbm90IGxpbmUgdXAgd2l0aCB0 aGUgUlRMIG5hbWluZw0KY29udmVudGlvbi4gIFRvIGRlYWwgd2l0aCB0aGlzLCBhIG5ldyBz ZXQgb2YgaW50IGF0dHJpYnV0ZXMgaXMgbm93IHVzZWQgd2hlbg0KZ2VuZXJhdGluZyB0aGUg YXNzZW1ibHkgZm9yIHRoZXNlIGluc3RydWN0aW9ucy4NCg0KMjAyMi0xMS0wMyAgS3dvayBD aGV1bmcgWWV1bmcgIDxrY3lAY29kZXNvdXJjZXJ5LmNvbT4NCg0KCWdjYy8NCgkqIGNvbmZp Zy9nY24vZ2NuLXZhbHUubWQgKG1hdGhfdW5vcF9pbnNuKTogTmV3IGF0dHJpYnV0ZS4NCgko PG1hdGhfdW5vcD48bW9kZT4yLCA8bWF0aF91bm9wPjxtb2RlPjI8ZXhlYz4sIDxtYXRoX3Vu b3A+PG1vZGU+MiwNCgk8bWF0aF91bm9wPjxtb2RlPjI8ZXhlYz4sICo8bWF0aF91bm9wPjxt b2RlPjJfaW5zbiwNCgkqPG1hdGhfdW5vcD48bW9kZT4yPGV4ZWM+X2luc24pOiBVc2UgbWF0 aF91bm9wX2luc24gdG8gZ2VuZXJhdGUNCglhc3NlbWJsZXIgb3V0cHV0Lg0KDQoJZ2NjL3Rl c3RzdWl0ZS8NCgkqIGdjYy50YXJnZXQvZ2NuL3Vuc2FmZS1tYXRoLTEuYzogTmV3Lg0KLS0t DQogZ2NjL2NvbmZpZy9nY24vZ2NuLXZhbHUubWQgICAgICAgICAgICAgICAgICAgfCAyMCAr KysrKysrKysrKysrKy0tLS0tLQ0KIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9nY24vdW5z YWZlLW1hdGgtMS5jIHwgMTAgKysrKysrKysrKw0KIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2djbi91bnNhZmUtbWF0aC0xLmMNCg0KZGlmZiAtLWdpdCBh L2djYy9jb25maWcvZ2NuL2djbi12YWx1Lm1kIGIvZ2NjL2NvbmZpZy9nY24vZ2NuLXZhbHUu bWQNCmluZGV4IDNiNjE5NTEyZTEzLi45ZjQzNTM4MzFiZCAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvZ2NuL2djbi12YWx1Lm1kDQorKysgYi9nY2MvY29uZmlnL2djbi9nY24tdmFsdS5t ZA0KQEAgLTI1NDksMTMgKzI1NDksMjEgQEANCiAgICAoVU5TUEVDX1NJTiAic2luIikNCiAg ICAoVU5TUEVDX0NPUyAiY29zIildKQ0KIA0KKyhkZWZpbmVfaW50X2F0dHIgbWF0aF91bm9w X2luc24NCisgIFsoVU5TUEVDX0ZMT09SICJmbG9vciIpDQorICAgKFVOU1BFQ19DRUlMICJj ZWlsIikNCisgICAoVU5TUEVDX0VYUDIgImV4cCIpDQorICAgKFVOU1BFQ19MT0cyICJsb2ci KQ0KKyAgIChVTlNQRUNfU0lOICJzaW4iKQ0KKyAgIChVTlNQRUNfQ09TICJjb3MiKV0pDQor DQogKGRlZmluZV9pbnNuICI8bWF0aF91bm9wPjxtb2RlPjIiDQogICBbKHNldCAobWF0Y2hf b3BlcmFuZDpGUCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgIj0gIHYiKQ0KIAkodW5zcGVjOkZQ DQogCSAgWyhtYXRjaF9vcGVyYW5kOkZQIDEgImdjbl9hbHVfb3BlcmFuZCIgInZTdkIiKV0N CiAJICBNQVRIX1VOT1BfMU9SMlJFRykpXQ0KICAgIiINCi0gICJ2XzxtYXRoX3Vub3A+JWkw XHQlMCwgJTEiDQorICAidl88bWF0aF91bm9wX2luc24+JWkwXHQlMCwgJTEiDQogICBbKHNl dF9hdHRyICJ0eXBlIiAidm9wMSIpDQogICAgKHNldF9hdHRyICJsZW5ndGgiICI4IildKQ0K IA0KQEAgLTI1NjUsNyArMjU3Myw3IEBADQogCSAgWyhtYXRjaF9vcGVyYW5kOlZfRlAgMSAi Z2NuX2FsdV9vcGVyYW5kIiAidlN2QiIpXQ0KIAkgIE1BVEhfVU5PUF8xT1IyUkVHKSldDQog ICAiIg0KLSAgInZfPG1hdGhfdW5vcD4laTBcdCUwLCAlMSINCisgICJ2XzxtYXRoX3Vub3Bf aW5zbj4laTBcdCUwLCAlMSINCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2b3AxIikNCiAgICAo c2V0X2F0dHIgImxlbmd0aCIgIjgiKV0pDQogDQpAQCAtMjU3NSw3ICsyNTgzLDcgQEANCiAJ ICBbKG1hdGNoX29wZXJhbmQ6RlBfMVJFRyAxICJnY25fYWx1X29wZXJhbmQiICJ2U3ZCIild DQogCSAgTUFUSF9VTk9QXzFSRUcpKV0NCiAgICJmbGFnX3Vuc2FmZV9tYXRoX29wdGltaXph dGlvbnMiDQotICAidl88bWF0aF91bm9wPiVpMFx0JTAsICUxIg0KKyAgInZfPG1hdGhfdW5v cF9pbnNuPiVpMFx0JTAsICUxIg0KICAgWyhzZXRfYXR0ciAidHlwZSIgInZvcDEiKQ0KICAg IChzZXRfYXR0ciAibGVuZ3RoIiAiOCIpXSkNCiANCkBAIC0yNTg1LDcgKzI1OTMsNyBAQA0K IAkgIFsobWF0Y2hfb3BlcmFuZDpWX0ZQXzFSRUcgMSAiZ2NuX2FsdV9vcGVyYW5kIiAidlN2 QiIpXQ0KIAkgIE1BVEhfVU5PUF8xUkVHKSldDQogICAiZmxhZ191bnNhZmVfbWF0aF9vcHRp bWl6YXRpb25zIg0KLSAgInZfPG1hdGhfdW5vcD4laTBcdCUwLCAlMSINCisgICJ2XzxtYXRo X3Vub3BfaW5zbj4laTBcdCUwLCAlMSINCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2b3AxIikN CiAgICAoc2V0X2F0dHIgImxlbmd0aCIgIjgiKV0pDQogDQpAQCAtMjU5NSw3ICsyNjAzLDcg QEANCiAJICBbKG1hdGNoX29wZXJhbmQ6RlBfMVJFRyAxICJnY25fYWx1X29wZXJhbmQiICJ2 U3ZCIildDQogCSAgTUFUSF9VTk9QX1RSSUcpKV0NCiAgICJmbGFnX3Vuc2FmZV9tYXRoX29w dGltaXphdGlvbnMiDQotICAidl88bWF0aF91bm9wPiVpMFx0JTAsICUxIg0KKyAgInZfPG1h dGhfdW5vcF9pbnNuPiVpMFx0JTAsICUxIg0KICAgWyhzZXRfYXR0ciAidHlwZSIgInZvcDEi KQ0KICAgIChzZXRfYXR0ciAibGVuZ3RoIiAiOCIpXSkNCiANCkBAIC0yNjA1LDcgKzI2MTMs NyBAQA0KIAkgIFsobWF0Y2hfb3BlcmFuZDpWX0ZQXzFSRUcgMSAiZ2NuX2FsdV9vcGVyYW5k IiAidlN2QiIpXQ0KIAkgIE1BVEhfVU5PUF9UUklHKSldDQogICAiZmxhZ191bnNhZmVfbWF0 aF9vcHRpbWl6YXRpb25zIg0KLSAgInZfPG1hdGhfdW5vcD4laTBcdCUwLCAlMSINCisgICJ2 XzxtYXRoX3Vub3BfaW5zbj4laTBcdCUwLCAlMSINCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2 b3AxIikNCiAgICAoc2V0X2F0dHIgImxlbmd0aCIgIjgiKV0pDQogDQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2djbi91bnNhZmUtbWF0aC0xLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvZ2NuL3Vuc2FmZS1tYXRoLTEuYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4yYjU0ZmEyMzJlOQ0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2djbi91bnNhZmUtbWF0aC0xLmMNCkBA IC0wLDAgKzEsMTAgQEANCisvKiB7IGRnLWRvIGxpbmsgfSAqLw0KKy8qIHsgZGctb3B0aW9u cyAiLU8wIC1mZmFzdC1tYXRoIiB9ICovDQorDQoraW50IG1haW4gKHZvaWQpDQorew0KKyAg ZmxvYXQgeCA9IDAuMTIzNDU2ZjsNCisNCisgIGZsb2F0IHIxID0gX19idWlsdGluX2V4cDJm ICh4KTsNCisgIGZsb2F0IHIyID0gX19idWlsdGluX2xvZzJmICh4KTsNCit9DQotLSANCjIu MjUuMQ0KDQo= --------------W8N3IwfWFc3rrx72mzOX65Qd--