From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id ED1493858C31 for ; Thu, 23 Mar 2023 11:32:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED1493858C31 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.98,283,1673942400"; d="scan'208";a="115406" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 23 Mar 2023 03:32:24 -0800 IronPort-SDR: cSxeHJr1KWc/rS2YHrbZdBFwN+bYcw2tlGw9avfCRo3jmdK5T2fQ7RCxJ1FejllTJBgk8N4M7D pSB/M5qJJo6a4ETz9kj2HK4lYcGMTwUFhEDwkabbO0Lx6qI6JOie40LKrtxEfvChnsWLynOhWM Z+IrGiJfzFCOmlvpd1OQiEPgbOxSkjWkRhXnGHknrovuyIQe7WZU+fuNh1pK0kRgxR0C7ogNkZ yWh18A6gtaiM6tW71QnqWk85zpVawXZcSpPIlTuwCch0dqu6Dp6kglAYs+60L6ThIajojcdllc jK8= Content-Type: multipart/mixed; boundary="------------YK50MEcAMUUp3ulcwhvmTdLr" Message-ID: Date: Thu, 23 Mar 2023 11:32:20 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-GB From: Andrew Stubbs Subject: [committed] amdgcn: vec_extract no-op insns To: "gcc-patches@gcc.gnu.org" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H2,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: --------------YK50MEcAMUUp3ulcwhvmTdLr Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit This patch adds new pseudo-insns for no-op vector extractions. These were previously modelled as simple move instructions, but the register allocator has unhelpful special handling for these that triggered spills to memory. Modelling them as a vec_select does the right thing in the register allocator, but now the instruction has to be explicitly empty. This patch has already been committed to the OG12 branch. Andrew --------------YK50MEcAMUUp3ulcwhvmTdLr Content-Type: text/plain; charset="UTF-8"; name="230323-vec_extract.patch" Content-Disposition: attachment; filename="230323-vec_extract.patch" Content-Transfer-Encoding: base64 YW1kZ2NuOiB2ZWNfZXh0cmFjdCBuby1vcCBpbnNucwoKSnVzdCB1c2luZyBtb3ZlIGluc24g Zm9yIG5vLW9wIGNvbnZlcnNpb25zIHRyaWdnZXJzIHNwZWNpYWwgbW92ZSBoYW5kbGluZyBp bgpJUkEgd2hpY2ggZGVjbGFyZXMgdGhhdCBzdWJyZWcgb2YgdmVjdG9ycyBhcmVuJ3QgdmFs aWQgYW5kIHJvdXRlcyBldmVyeXRoaW5nCnRocm91Z2ggbWVtb3J5LiAgVGhlc2UgcGF0dGVy bnMgbWFrZSB0aGUgdmVjX3NlbGVjdCBleHBsaWNpdCBhbmQgYWxsIGlzIHdlbGwuCgpnY2Mv Q2hhbmdlTG9nOgoKCSogY29uZmlnL2djbi9nY24tcHJvdG9zLmggKGdjbl9zdGVwcGVkX3pl cm9faW50X3BhcmFsbGVsX3ApOiBOZXcuCgkqIGNvbmZpZy9nY24vZ2NuLXZhbHUubWQgKFZf MVJFR19BTFQpOiBOZXcuCgkoVl8yUkVHX0FMVCk6IE5ldy4KCSh2ZWNfZXh0cmFjdDxWXzFS RUc6bW9kZT48Vl8xUkVHX0FMVDptb2RlPl9ub3ApOiBOZXcuCgkodmVjX2V4dHJhY3Q8Vl8y UkVHOm1vZGU+PFZfMlJFR19BTFQ6bW9kZT5fbm9wKTogTmV3LgoJKHZlY19leHRyYWN0PFZf QUxMOm1vZGU+PFZfQUxMX0FMVDptb2RlPik6IFVzZSBuZXcgcGF0dGVybnMuCgkqIGNvbmZp Zy9nY24vZ2NuLmNjIChnY25fc3RlcHBlZF96ZXJvX2ludF9wYXJhbGxlbF9wKTogTmV3LgoJ KiBjb25maWcvZ2NuL3ByZWRpY2F0ZXMubWQgKGFzY2VuZGluZ196ZXJvX2ludF9wYXJhbGxl bCk6IE5ldy4KCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2djbi9nY24tcHJvdG9zLmggYi9n Y2MvY29uZmlnL2djbi9nY24tcHJvdG9zLmgKaW5kZXggZDc4NjJiMjFhMmEuLjI4N2NlMTdk NDIyIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2djbi9nY24tcHJvdG9zLmgKKysrIGIvZ2Nj L2NvbmZpZy9nY24vZ2NuLXByb3Rvcy5oCkBAIC03NSw2ICs3NSw3IEBAIGV4dGVybiByZWdf Y2xhc3MgZ2NuX3JlZ25vX3JlZ19jbGFzcyAoaW50IHJlZ25vKTsKIGV4dGVybiBib29sIGdj bl9zY2FsYXJfZmxhdF9hZGRyZXNzX3AgKHJ0eCk7CiBleHRlcm4gYm9vbCBnY25fc2NhbGFy X2ZsYXRfbWVtX3AgKHJ0eCk7CiBleHRlcm4gYm9vbCBnY25fc2dwcl9tb3ZlX3AgKHJ0eCwg cnR4KTsKK2V4dGVybiBib29sIGdjbl9zdGVwcGVkX3plcm9faW50X3BhcmFsbGVsX3AgKHJ0 eCBvcCwgaW50IHN0ZXApOwogZXh0ZXJuIGJvb2wgZ2NuX3ZhbGlkX21vdmVfcCAobWFjaGlu ZV9tb2RlLCBydHgsIHJ0eCk7CiBleHRlcm4gcnR4IGdjbl92ZWNfY29uc3RhbnQgKG1hY2hp bmVfbW9kZSwgaW50KTsKIGV4dGVybiBydHggZ2NuX3ZlY19jb25zdGFudCAobWFjaGluZV9t b2RlLCBydHgpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9nY24vZ2NuLXZhbHUubWQgYi9n Y2MvY29uZmlnL2djbi9nY24tdmFsdS5tZAppbmRleCA3ODdkNzcwOWQwZC4uMzM0YjZiMGI1 MWMgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvZ2NuL2djbi12YWx1Lm1kCisrKyBiL2djYy9j b25maWcvZ2NuL2djbi12YWx1Lm1kCkBAIC00OSw2ICs0OSwxMyBAQCAoZGVmaW5lX21vZGVf aXRlcmF0b3IgVl8xUkVHCiAJCSAgICAgICBWMTZRSSBWMTZISSBWMTZTSSBWMTZIRiBWMTZT RgogCQkgICAgICAgVjMyUUkgVjMySEkgVjMyU0kgVjMySEYgVjMyU0YKIAkJICAgICAgIFY2 NFFJIFY2NEhJIFY2NFNJIFY2NEhGIFY2NFNGXSkKKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBW XzFSRUdfQUxUCisJCSAgICAgIFtWMlFJIFYySEkgVjJTSSBWMkhGIFYyU0YKKwkJICAgICAg IFY0UUkgVjRISSBWNFNJIFY0SEYgVjRTRgorCQkgICAgICAgVjhRSSBWOEhJIFY4U0kgVjhI RiBWOFNGCisJCSAgICAgICBWMTZRSSBWMTZISSBWMTZTSSBWMTZIRiBWMTZTRgorCQkgICAg ICAgVjMyUUkgVjMySEkgVjMyU0kgVjMySEYgVjMyU0YKKwkJICAgICAgIFY2NFFJIFY2NEhJ IFY2NFNJIFY2NEhGIFY2NFNGXSkKIAogKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZfSU5UXzFS RUcKIAkJICAgICAgW1YyUUkgVjJISSBWMlNJCkBAIC04MCw2ICs4NywxMyBAQCAoZGVmaW5l X21vZGVfaXRlcmF0b3IgVl8yUkVHCiAJCSAgICAgICBWMTZESSBWMTZERgogCQkgICAgICAg VjMyREkgVjMyREYKIAkJICAgICAgIFY2NERJIFY2NERGXSkKKyhkZWZpbmVfbW9kZV9pdGVy YXRvciBWXzJSRUdfQUxUCisJCSAgICAgIFtWMkRJIFYyREYKKwkJICAgICAgIFY0REkgVjRE RgorCQkgICAgICAgVjhESSBWOERGCisJCSAgICAgICBWMTZESSBWMTZERgorCQkgICAgICAg VjMyREkgVjMyREYKKwkJICAgICAgIFY2NERJIFY2NERGXSkKIAogOyBWZWN0b3IgbW9kZXMg d2l0aCBuYXRpdmUgc3VwcG9ydAogKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZfbm9RSQpAQCAt Nzg4LDExICs4MDIsMzYgQEAgKGRlZmluZV9pbnNuICJ2ZWNfZXh0cmFjdDxtb2RlPjxzY2Fs YXJfbW9kZT4iCiAgICAoc2V0X2F0dHIgImV4ZWMiICJub25lIikKICAgIChzZXRfYXR0ciAi bGFuZXNlbGVjdCIgInllcyIpXSkKIAorKGRlZmluZV9pbnNuICJ2ZWNfZXh0cmFjdDxWXzFS RUc6bW9kZT48Vl8xUkVHX0FMVDptb2RlPl9ub3AiCisgIFsoc2V0IChtYXRjaF9vcGVyYW5k OlZfMVJFR19BTFQgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj12LHYiKQorCSh2ZWNfc2VsZWN0 OlZfMVJFR19BTFQKKwkgIChtYXRjaF9vcGVyYW5kOlZfMVJFRyAxICJyZWdpc3Rlcl9vcGVy YW5kIiAgICIgMCx2IikKKwkgIChtYXRjaF9vcGVyYW5kIDIgImFzY2VuZGluZ196ZXJvX2lu dF9wYXJhbGxlbCIgIiIpKSldCisgICJNT0RFX1ZGICg8Vl8xUkVHX0FMVDpNT0RFPm1vZGUp IDwgTU9ERV9WRiAoPFZfMVJFRzpNT0RFPm1vZGUpCisgICAmJiA8Vl8xUkVHX0FMVDpTQ0FM QVJfTU9ERT5tb2RlID09IDxWXzFSRUc6U0NBTEFSX01PREU+bW9kZSIKKyAgIkAKKyAgOyBp bi1wbGFjZSBleHRyYWN0ICUwCisgIHZfbW92X2IzMlx0JUwwLCAlTDEiCisgIFsoc2V0X2F0 dHIgInR5cGUiICJ2bXVsdCIpCisgICAoc2V0X2F0dHIgImxlbmd0aCIgIjAsOCIpXSkKKyAg CisoZGVmaW5lX2luc24gInZlY19leHRyYWN0PFZfMlJFRzptb2RlPjxWXzJSRUdfQUxUOm1v ZGU+X25vcCIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl8yUkVHX0FMVCAwICJyZWdpc3Rl cl9vcGVyYW5kIiAiPXYsdiIpCisJKHZlY19zZWxlY3Q6Vl8yUkVHX0FMVAorCSAgKG1hdGNo X29wZXJhbmQ6Vl8yUkVHIDEgInJlZ2lzdGVyX29wZXJhbmQiICAgIiAwLHYiKQorCSAgKG1h dGNoX29wZXJhbmQgMiAiYXNjZW5kaW5nX3plcm9faW50X3BhcmFsbGVsIiAiIikpKV0KKyAg Ik1PREVfVkYgKDxWXzJSRUdfQUxUOk1PREU+bW9kZSkgPCBNT0RFX1ZGICg8Vl8yUkVHOk1P REU+bW9kZSkKKyAgICYmIDxWXzJSRUdfQUxUOlNDQUxBUl9NT0RFPm1vZGUgPT0gPFZfMlJF RzpTQ0FMQVJfTU9ERT5tb2RlIgorICAiQAorICA7IGluLXBsYWNlIGV4dHJhY3QgJTAKKyAg dl9tb3ZfYjMyXHQlTDAsICVMMVw7dl9tb3ZfYjMyXHQlSDAsICVIMSIKKyAgWyhzZXRfYXR0 ciAidHlwZSIgInZtdWx0IikKKyAgIChzZXRfYXR0ciAibGVuZ3RoIiAiMCw4IildKQorICAK IChkZWZpbmVfZXhwYW5kICJ2ZWNfZXh0cmFjdDxWX0FMTDptb2RlPjxWX0FMTF9BTFQ6bW9k ZT4iCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfQUxMX0FMVCAwICJyZWdpc3Rlcl9vcGVy YW5kIikKLQkodmVjX3NlbGVjdDpWX0FMTF9BTFQKLQkgIChtYXRjaF9vcGVyYW5kOlZfQUxM IDEgInJlZ2lzdGVyX29wZXJhbmQiKQotCSAgKHBhcmFsbGVsIFsobWF0Y2hfb3BlcmFuZCAy ICJpbW1lZGlhdGVfb3BlcmFuZCIpXSkpKV0KKyAgWyhtYXRjaF9vcGVyYW5kOlZfQUxMX0FM VCAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKyAgIChtYXRjaF9vcGVyYW5kOlZfQUxMIDEgInJl Z2lzdGVyX29wZXJhbmQiKQorICAgKG1hdGNoX29wZXJhbmQgMiAiaW1tZWRpYXRlX29wZXJh bmQiKV0KICAgIk1PREVfVkYgKDxWX0FMTF9BTFQ6TU9ERT5tb2RlKSA8IE1PREVfVkYgKDxW X0FMTDpNT0RFPm1vZGUpCiAgICAmJiA8Vl9BTExfQUxUOlNDQUxBUl9NT0RFPm1vZGUgPT0g PFZfQUxMOlNDQUxBUl9NT0RFPm1vZGUiCiAgIHsKQEAgLTgwMiw4ICs4NDEsMTIgQEAgKGRl ZmluZV9leHBhbmQgInZlY19leHRyYWN0PFZfQUxMOm1vZGU+PFZfQUxMX0FMVDptb2RlPiIK IAogICAgIGlmIChmaXJzdGxhbmUgPT0gMCkKICAgICAgIHsKLQkvKiBBIHBsYWluIG1vdmUg d2lsbCBkby4gICovCi0JdG1wID0gb3BlcmFuZHNbMV07CisJcnR4IHBhcmFsbGVsID0gZ2Vu X3J0eF9QQVJBTExFTCAoPFZfQUxMOk1PREU+bW9kZSwKKwkJCQkJICBydHZlY19hbGxvYyAo bnVtbGFuZXMpKTsKKwlmb3IgKGludCBpID0gMDsgaSA8IG51bWxhbmVzOyBpKyspCisJICBY VkVDRVhQIChwYXJhbGxlbCwgMCwgaSkgPSBHRU5fSU5UIChpKTsKKwllbWl0X2luc24gKGdl bl92ZWNfZXh0cmFjdDxWX0FMTDptb2RlPjxWX0FMTF9BTFQ6bW9kZT5fbm9wCisJCSAgIChv cGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIHBhcmFsbGVsKSk7CiAgICAgICB9IGVsc2Ugewog ICAgICAgICAvKiBGSVhNRTogb3B0aW1pemUgdGhpcyBieSB1c2luZyBEUFAgd2hlcmUgYXZh aWxhYmxlLiAgKi8KIApAQCAtODE1LDEwICs4NTgsMTAgQEAgKGRlZmluZV9leHBhbmQgInZl Y19leHRyYWN0PFZfQUxMOm1vZGU+PFZfQUxMX0FMVDptb2RlPiIKIAl0bXAgPSBnZW5fcmVn X3J0eCAoPFZfQUxMOk1PREU+bW9kZSk7CiAJZW1pdF9pbnNuIChnZW5fZHNfYnBlcm11dGU8 Vl9BTEw6bW9kZT4gKHRtcCwgcGVybXV0YXRpb24sIG9wZXJhbmRzWzFdLAogCQkJCQkJZ2V0 X2V4ZWMgKDxWX0FMTDpNT0RFPm1vZGUpKSk7Ci0gICAgICB9CiAKLSAgICBlbWl0X21vdmVf aW5zbiAob3BlcmFuZHNbMF0sCi0JCSAgICBnZW5fcnR4X1NVQlJFRyAoPFZfQUxMX0FMVDpN T0RFPm1vZGUsIHRtcCwgMCkpOworCWVtaXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwKKwkJ CWdlbl9ydHhfU1VCUkVHICg8Vl9BTExfQUxUOk1PREU+bW9kZSwgdG1wLCAwKSk7CisgICAg ICB9CiAgICAgRE9ORTsKICAgfSkKIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9nY24vZ2Nu LmNjIGIvZ2NjL2NvbmZpZy9nY24vZ2NuLmNjCmluZGV4IGFjYTE3YTE5ZDg0Li41YmY4OGU5 ODA4MyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9nY24vZ2NuLmNjCisrKyBiL2djYy9jb25m aWcvZ2NuL2djbi5jYwpAQCAtMTQyMiw2ICsxNDIyLDI0IEBAIENPREVfRk9SX09QIChyZWxv YWRfb3V0KQogI3VuZGVmIENPREVfRk9SX09QCiAjdW5kZWYgQ09ERV9GT1IKIAorLyogUmV0 dXJuIHRydWUgaWYgT1AgaXMgYSBQQVJBTExFTCBvZiBDT05TVF9JTlRzIHRoYXQgZm9ybSBh IGxpbmVhcgorICAgc2VyaWVzIHdpdGggc3RlcCBTVEVQLiAgKi8KKworYm9vbAorZ2NuX3N0 ZXBwZWRfemVyb19pbnRfcGFyYWxsZWxfcCAocnR4IG9wLCBpbnQgc3RlcCkKK3sKKyAgaWYg KEdFVF9DT0RFIChvcCkgIT0gUEFSQUxMRUwgfHwgIUNPTlNUX0lOVF9QIChYVkVDRVhQIChv cCwgMCwgMCkpKQorICAgIHJldHVybiBmYWxzZTsKKworICB1bnNpZ25lZCBIT1NUX1dJREVf SU5UIGJhc2UgPSAwOworICBmb3IgKGludCBpID0gMDsgaSA8IFhWRUNMRU4gKG9wLCAwKTsg KytpKQorICAgIGlmICghQ09OU1RfSU5UX1AgKFhWRUNFWFAgKG9wLCAwLCBpKSkKKwl8fCBV SU5UVkFMIChYVkVDRVhQIChvcCwgMCwgaSkpICE9IGJhc2UgKyBpICogc3RlcCkKKyAgICAg IHJldHVybiBmYWxzZTsKKworICByZXR1cm4gdHJ1ZTsKK30KKwogLyogfX19ICAqLwogLyog e3t7IEFkZHJlc3NlcywgcG9pbnRlcnMgYW5kIG1vdmVzLiAgKi8KIApkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9nY24vcHJlZGljYXRlcy5tZCBiL2djYy9jb25maWcvZ2NuL3ByZWRpY2F0 ZXMubWQKaW5kZXggYTIwYWNmN2U5ZWYuLjU1NTRhMDZiNjNiIDEwMDY0NAotLS0gYS9nY2Mv Y29uZmlnL2djbi9wcmVkaWNhdGVzLm1kCisrKyBiL2djYy9jb25maWcvZ2NuL3ByZWRpY2F0 ZXMubWQKQEAgLTE5NywzICsxOTcsMTAgQEAgKGRlZmluZV9wcmVkaWNhdGUgImdjbl9yZWdp c3Rlcl9kc19vcl91bnNwZWNfb3BlcmFuZCIKICAgICAgICAoaW9yIChtYXRjaF9vcGVyYW5k IDAgImdjbl9kc19tZW1vcnlfb3BlcmFuZCIpCiAJICAgIChhbmQgKG1hdGNoX2NvZGUgInVu c3BlYyIpCiAgICAgICAgICAgICAgIChtYXRjaF90ZXN0ICJYSU5UIChvcCwgMSkgPT0gVU5T UEVDX1ZFQ1RPUiIpKSkpKQorCisoZGVmaW5lX3ByZWRpY2F0ZSAiYXNjZW5kaW5nX3plcm9f aW50X3BhcmFsbGVsIgorICAobWF0Y2hfY29kZSAicGFyYWxsZWwiKQoreworICByZXR1cm4g Z2NuX3N0ZXBwZWRfemVyb19pbnRfcGFyYWxsZWxfcCAob3AsIDEpOworfSkKKwo= --------------YK50MEcAMUUp3ulcwhvmTdLr--