From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) by sourceware.org (Postfix) with ESMTPS id DB0AA3858D1E for ; Tue, 7 May 2024 21:18:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB0AA3858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ventanamicro.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DB0AA3858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::334 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715116721; cv=none; b=E3RbPWYbc3Y1no8BHN42U0DmTUOhAkysEjLqgGs4rY9K2rPJnK+f7BoMuR/AJKtVyZVsmy7DD5eNvKj9OEOAzrT5A0CugJ5zGmFHC3bViZmFJGpHvztNmYOGJx6r70y3PdKoy4BPEOPrN1euQCbKawcK0zcDnIlnFCnnqG4FjVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715116721; c=relaxed/simple; bh=vjhYkbi72iO+PNxkhCertf+0Z3mwihViI6dsgU02zkc=; h=DKIM-Signature:Message-ID:Date:MIME-Version:From:To:Subject; b=RaCDwnMiMg+hJQKvN2Faei2vr47Spvm8ESKJWHSUotE6Q5X7/FPGlsiMB+GwG5QUDZq9jUFm1gYxfnghSHJVEFX/SgpDbKZ7nJBdrolsTYvJTftMQZHP1mHW/XsPw6jLqFCUiyDk46JRYX8NSjFF67+5LCi/B2IGk1l4ebyVwOI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-6f08f1d26e6so853709a34.2 for ; Tue, 07 May 2024 14:18:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1715116718; x=1715721518; darn=gcc.gnu.org; h=subject:to:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=ttpiGpgi09qPE4/9bwE5tUcsOanHibS4LpGwqVNY5fo=; b=YGiwtpCsEliyzWDG8UAn9waDJbvZ70HUOejUiscMsQpa7KMWHsfvrTUXaTNpLBIudw T6HBxXI/MdvOQV8fg4Ledo2IBTESgaCFs1QIoeLfyHEXt1E0k3MN+yO08K8xCmaVghCh 0E42sq1WpB5NBdt+50OZ+a+qj6OH9UYcEdVNMKCrow3SBRKnJGW/h+nYb3sCAJ36kGW1 Qu/Z2N3u053wYBrcpOvCWVn7RcSKx311km5S4v0hOeGfg3ml8my6KOE8O0bwmI6t1HLN dBHVnrur7b70ETSSF/JpzGTQcBakQXnmRRyBimGqc5GeVQ3GIOr+Hov+Ygpxn0HKFTQB /cpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715116718; x=1715721518; h=subject:to:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ttpiGpgi09qPE4/9bwE5tUcsOanHibS4LpGwqVNY5fo=; b=RfO9vaaGre5fIt/JGYSxlw+InpkS8nm6O0NjCmLz0RGs/NA+tSW9GEqmyQ/HNeT/Yx n8VasuIZXFBMAUA+JDU9yvIcJAft0JBukjzK09lLYdSUaMbKA3C5/KyMnJg7ZP1P+XIC uZAYo4J1l0krBpIx9Y/iC/tjUb3GfYQlWX4eaBcc3p7VUsnyBJ9yyFG3UBGRlRfWfFXn D+r3C5IrgyOZ/YUXjItGb58gV94r9sMhNLq+Ztky2mv4VZYYCaAypiyiINBEDEN7uYwS +N11j7+I/nKVMYp8aSTye9AbUecqUlTONUtaSuYy9UJLxnLG1fbqMi9KN0nXg1CmwrwT 19Pw== X-Gm-Message-State: AOJu0YxOlGt1BIZ4XWHE3WNAexwrn/fbQiFmgVI/bPvst3h/MXTTMCvE fWBVP9W0850amYF3PH7BCLqyswFZB7tNNr9/AVYLmpBRL7gYjawwznNlhlll+7lGb51i/rySqY/ d X-Google-Smtp-Source: AGHT+IF/Q0RfzG/PCZPJSl+cv/XiWihtIWI0jcztHbIUPx2GyC28HRz4dHFrIltOWd1GVqNvaooHig== X-Received: by 2002:a9d:4b18:0:b0:6ee:39ac:a757 with SMTP id 46e09a7af769-6f0b7e87ffcmr747234a34.21.1715116717627; Tue, 07 May 2024 14:18:37 -0700 (PDT) Received: from [172.31.0.109] ([136.36.72.243]) by smtp.gmail.com with ESMTPSA id r21-20020a056830419500b006eb84466e68sm2595820otu.55.2024.05.07.14.18.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 May 2024 14:18:37 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------fy9Ov5NZKiasEKaWNuusA5rm" Message-ID: Date: Tue, 7 May 2024 15:18:36 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Content-Language: en-US From: Jeff Law To: "gcc-patches@gcc.gnu.org" Subject: [committed] [RISC-V] Allow uarchs to set TARGET_OVERLAP_OP_BY_PIECES_P X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,LIKELY_SPAM_BODY,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: This is a multi-part message in MIME format. --------------fy9Ov5NZKiasEKaWNuusA5rm Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This is almost exclusively work from the VRULL team. As we've discussed in the Tuesday meeting in the past, we'd like to have a knob in the tuning structure to indicate that overlapped stores during move_by_pieces expansion of memcpy & friends are acceptable. This patch adds the that capability in our tuning structure. It's off for all the uarchs upstream, but we have been using it inside Ventana for our uarch with success. So technically it's NFC upstream, but puts in the infrastructure multiple organizations likely need. Built and tested rv64gc. Pushing to the trunk shortly. jeff --------------fy9Ov5NZKiasEKaWNuusA5rm Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 Y29tbWl0IDMwMDM5MzQ4NGRiZmE5ZmQzODkxMTc0ZWE0N2FhM2ZiNDE5MTVhYmMKQXV0aG9y OiBDaHJpc3RvcGggTcO8bGxuZXIgPGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT4KRGF0 ZTogICBUdWUgTWF5IDcgMTU6MTY6MjEgMjAyNCAtMDYwMAoKICAgIFtjb21taXR0ZWRdIFtS SVNDLVZdIEFsbG93IHVhcmNocyB0byBzZXQgVEFSR0VUX09WRVJMQVBfT1BfQllfUElFQ0VT X1AKICAgIAogICAgVGhpcyBpcyBhbG1vc3QgZXhjbHVzaXZlbHkgd29yayBmcm9tIHRoZSBW UlVMTCB0ZWFtLgogICAgCiAgICBBcyB3ZSd2ZSBkaXNjdXNzZWQgaW4gdGhlIFR1ZXNkYXkg bWVldGluZyBpbiB0aGUgcGFzdCwgd2UnZCBsaWtlIHRvIGhhdmUgYSBrbm9iCiAgICBpbiB0 aGUgdHVuaW5nIHN0cnVjdHVyZSB0byBpbmRpY2F0ZSB0aGF0IG92ZXJsYXBwZWQgc3RvcmVz IGR1cmluZwogICAgbW92ZV9ieV9waWVjZXMgZXhwYW5zaW9uIG9mIG1lbWNweSAmIGZyaWVu ZHMgYXJlIGFjY2VwdGFibGUuCiAgICAKICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgdGhhdCBj YXBhYmlsaXR5IGluIG91ciB0dW5pbmcgc3RydWN0dXJlLiAgSXQncyBvZmYgZm9yIGFsbAog ICAgdGhlIHVhcmNocyB1cHN0cmVhbSwgYnV0IHdlIGhhdmUgYmVlbiB1c2luZyBpdCBpbnNp ZGUgVmVudGFuYSBmb3Igb3VyIHVhcmNoCiAgICB3aXRoIHN1Y2Nlc3MuICBTbyB0ZWNobmlj YWxseSBpdCdzIE5GQyB1cHN0cmVhbSwgYnV0IHB1dHMgaW4gdGhlIGluZnJhc3RydWN0dXJl CiAgICBtdWx0aXBsZSBvcmdhbml6YXRpb25zIGxpa2VseSBuZWVkLgogICAgCiAgICBnY2Mv CiAgICAKICAgICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHN0cnVjdCByaXNj dl90dW5lX3BhcmFtKTogQWRkIG5ldwogICAgICAgICAgICAib3ZlcmxhcF9vcF9ieV9waWVj ZXMiIGZpZWxkLgogICAgICAgICAgICAocm9ja2V0X3R1bmVfaW5mbywgc2lmaXZlXzdfdHVu ZV9pbmZvKTogU2V0IGl0LgogICAgICAgICAgICAoc2lmaXZlX3A0MDBfdHVuZV9pbmZvLCBz aWZpdmVfcDYwMF90dW5lX2luZm8pOiBMaWtld2lzZS4KICAgICAgICAgICAgKHRoZWFkX2M5 MDZfdHVuZV9pbmZvLCB4aWFuZ3NoYW5fbmFuaHVfdHVuZV9pbmZvKTogTGlrZXdpc2UuCiAg ICAgICAgICAgIChnZW5lcmljX29vb190dW5lX2luZm8sIG9wdGltaXplX3NpemVfdHVuZV9p bmZvKTogTGlrZXdpc2UuCiAgICAgICAgICAgIChyaXNjdl9vdmVybGFwX29wX2J5X3BpZWNl cyk6IE5ldyBmdW5jdGlvbi4KICAgICAgICAgICAgKFRBUkdFVF9PVkVSTEFQX09QX0JZX1BJ RUNFU19QKTogZGVmaW5lLgogICAgCiAgICBnY2MvdGVzdHN1aXRlLwogICAgCiAgICAgICAg ICAgICogZ2NjLnRhcmdldC9yaXNjdi9tZW1jcHktbm9ub3ZlcmxhcHBpbmcuYzogTmV3IHRl c3QuCiAgICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9tZW1zZXQtbm9ub3ZlcmxhcHBp bmcuYzogTmV3IHRlc3QuCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKaW5kZXggNTQ1ZTY4NTY2ZGMuLmE5YjU3 ZDQxMTg0IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCisrKyBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YuY2MKQEAgLTI4OCw2ICsyODgsNyBAQCBzdHJ1Y3Qgcmlz Y3ZfdHVuZV9wYXJhbQogICB1bnNpZ25lZCBzaG9ydCBmbXZfY29zdDsKICAgYm9vbCBzbG93 X3VuYWxpZ25lZF9hY2Nlc3M7CiAgIGJvb2wgdXNlX2Rpdm1vZF9leHBhbnNpb247CisgIGJv b2wgb3ZlcmxhcF9vcF9ieV9waWVjZXM7CiAgIHVuc2lnbmVkIGludCBmdXNpYmxlX29wczsK ICAgY29uc3Qgc3RydWN0IGNwdV92ZWN0b3JfY29zdCAqdmVjX2Nvc3RzOwogfTsKQEAgLTQy Nyw2ICs0MjgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJpc2N2X3R1bmVfcGFyYW0gcm9j a2V0X3R1bmVfaW5mbyA9IHsKICAgOCwJCQkJCQkvKiBmbXZfY29zdCAqLwogICB0cnVlLAkJ CQkJCS8qIHNsb3dfdW5hbGlnbmVkX2FjY2VzcyAqLwogICBmYWxzZSwJCQkJCS8qIHVzZV9k aXZtb2RfZXhwYW5zaW9uICovCisgIGZhbHNlLAkJCQkJLyogb3ZlcmxhcF9vcF9ieV9waWVj ZXMgKi8KICAgUklTQ1ZfRlVTRV9OT1RISU5HLCAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIGZ1c2libGVfb3BzICovCiAgIE5VTEwsCQkJCQkJLyogdmVjdG9yIGNvc3QgKi8KIH07 CkBAIC00NDQsNiArNDQ2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByaXNjdl90dW5lX3Bh cmFtIHNpZml2ZV83X3R1bmVfaW5mbyA9IHsKICAgOCwJCQkJCQkvKiBmbXZfY29zdCAqLwog ICB0cnVlLAkJCQkJCS8qIHNsb3dfdW5hbGlnbmVkX2FjY2VzcyAqLwogICBmYWxzZSwJCQkJ CS8qIHVzZV9kaXZtb2RfZXhwYW5zaW9uICovCisgIGZhbHNlLAkJCQkJLyogb3ZlcmxhcF9v cF9ieV9waWVjZXMgKi8KICAgUklTQ1ZfRlVTRV9OT1RISU5HLCAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIGZ1c2libGVfb3BzICovCiAgIE5VTEwsCQkJCQkJLyogdmVjdG9yIGNv c3QgKi8KIH07CkBAIC00NjEsNiArNDY0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByaXNj dl90dW5lX3BhcmFtIHNpZml2ZV9wNDAwX3R1bmVfaW5mbyA9IHsKICAgNCwJCQkJCQkvKiBm bXZfY29zdCAqLwogICB0cnVlLAkJCQkJCS8qIHNsb3dfdW5hbGlnbmVkX2FjY2VzcyAqLwog ICBmYWxzZSwJCQkJCS8qIHVzZV9kaXZtb2RfZXhwYW5zaW9uICovCisgIGZhbHNlLAkJCQkJ Lyogb3ZlcmxhcF9vcF9ieV9waWVjZXMgKi8KICAgUklTQ1ZfRlVTRV9MVUlfQURESSB8IFJJ U0NWX0ZVU0VfQVVJUENfQURESSwgIC8qIGZ1c2libGVfb3BzICovCiAgICZnZW5lcmljX3Zl Y3Rvcl9jb3N0LAkJCQkvKiB2ZWN0b3IgY29zdCAqLwogfTsKQEAgLTQ3OCw2ICs0ODIsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHJpc2N2X3R1bmVfcGFyYW0gc2lmaXZlX3A2MDBfdHVu ZV9pbmZvID0gewogICA0LAkJCQkJCS8qIGZtdl9jb3N0ICovCiAgIHRydWUsCQkJCQkJLyog c2xvd191bmFsaWduZWRfYWNjZXNzICovCiAgIGZhbHNlLAkJCQkJLyogdXNlX2Rpdm1vZF9l eHBhbnNpb24gKi8KKyAgZmFsc2UsCQkJCQkvKiBvdmVybGFwX29wX2J5X3BpZWNlcyAqLwog ICBSSVNDVl9GVVNFX0xVSV9BRERJIHwgUklTQ1ZfRlVTRV9BVUlQQ19BRERJLCAgLyogZnVz aWJsZV9vcHMgKi8KICAgJmdlbmVyaWNfdmVjdG9yX2Nvc3QsCQkJCS8qIHZlY3RvciBjb3N0 ICovCiB9OwpAQCAtNDk1LDYgKzUwMCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmlzY3Zf dHVuZV9wYXJhbSB0aGVhZF9jOTA2X3R1bmVfaW5mbyA9IHsKICAgOCwJCS8qIGZtdl9jb3N0 ICovCiAgIGZhbHNlLCAgICAgICAgICAgIC8qIHNsb3dfdW5hbGlnbmVkX2FjY2VzcyAqLwog ICBmYWxzZSwJLyogdXNlX2Rpdm1vZF9leHBhbnNpb24gKi8KKyAgZmFsc2UsCQkJCQkvKiBv dmVybGFwX29wX2J5X3BpZWNlcyAqLwogICBSSVNDVl9GVVNFX05PVEhJTkcsICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogZnVzaWJsZV9vcHMgKi8KICAgTlVMTCwJCQkJCQkvKiB2 ZWN0b3IgY29zdCAqLwogfTsKQEAgLTUxMiw2ICs1MTgsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHJpc2N2X3R1bmVfcGFyYW0geGlhbmdzaGFuX25hbmh1X3R1bmVfaW5mbyA9IHsKICAg MywJCQkJCQkvKiBmbXZfY29zdCAqLwogICB0cnVlLAkJCQkJCS8qIHNsb3dfdW5hbGlnbmVk X2FjY2VzcyAqLwogICBmYWxzZSwJCQkJCS8qIHVzZV9kaXZtb2RfZXhwYW5zaW9uICovCisg IGZhbHNlLAkJCQkJLyogb3ZlcmxhcF9vcF9ieV9waWVjZXMgKi8KICAgUklTQ1ZfRlVTRV9a RVhUVyB8IFJJU0NWX0ZVU0VfWkVYVEgsICAgICAgICAgIC8qIGZ1c2libGVfb3BzICovCiAg IE5VTEwsCQkJCQkJLyogdmVjdG9yIGNvc3QgKi8KIH07CkBAIC01MjksNiArNTM2LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCByaXNjdl90dW5lX3BhcmFtIGdlbmVyaWNfb29vX3R1bmVf aW5mbyA9IHsKICAgNCwJCQkJCQkvKiBmbXZfY29zdCAqLwogICBmYWxzZSwJCQkJCS8qIHNs b3dfdW5hbGlnbmVkX2FjY2VzcyAqLwogICBmYWxzZSwJCQkJCS8qIHVzZV9kaXZtb2RfZXhw YW5zaW9uICovCisgIGZhbHNlLAkJCQkJLyogb3ZlcmxhcF9vcF9ieV9waWVjZXMgKi8KICAg UklTQ1ZfRlVTRV9OT1RISU5HLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZ1c2li bGVfb3BzICovCiAgICZnZW5lcmljX3ZlY3Rvcl9jb3N0LAkJCQkvKiB2ZWN0b3IgY29zdCAq LwogfTsKQEAgLTU0Niw2ICs1NTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJpc2N2X3R1 bmVfcGFyYW0gb3B0aW1pemVfc2l6ZV90dW5lX2luZm8gPSB7CiAgIDgsCQkJCQkJLyogZm12 X2Nvc3QgKi8KICAgZmFsc2UsCQkJCQkvKiBzbG93X3VuYWxpZ25lZF9hY2Nlc3MgKi8KICAg ZmFsc2UsCQkJCQkvKiB1c2VfZGl2bW9kX2V4cGFuc2lvbiAqLworICBmYWxzZSwJCQkJCS8q IG92ZXJsYXBfb3BfYnlfcGllY2VzICovCiAgIFJJU0NWX0ZVU0VfTk9USElORywgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBmdXNpYmxlX29wcyAqLwogICBOVUxMLAkJCQkJCS8q IHZlY3RvciBjb3N0ICovCiB9OwpAQCAtOTk3OSw2ICs5OTg4LDEyIEBAIHJpc2N2X3Nsb3df dW5hbGlnbmVkX2FjY2VzcyAobWFjaGluZV9tb2RlLCB1bnNpZ25lZCBpbnQpCiAgIHJldHVy biByaXNjdl9zbG93X3VuYWxpZ25lZF9hY2Nlc3NfcDsKIH0KIAorc3RhdGljIGJvb2wKK3Jp c2N2X292ZXJsYXBfb3BfYnlfcGllY2VzICh2b2lkKQoreworICByZXR1cm4gdHVuZV9wYXJh bS0+b3ZlcmxhcF9vcF9ieV9waWVjZXM7Cit9CisKIC8qIEltcGxlbWVudCBUQVJHRVRfQ0FO X0NIQU5HRV9NT0RFX0NMQVNTLiAgKi8KIAogc3RhdGljIGJvb2wKQEAgLTExNDIwLDYgKzEx NDM1LDkgQEAgcmlzY3ZfZ2V0X3Jhd19yZXN1bHRfbW9kZSAoaW50IHJlZ25vKQogI3VuZGVm IFRBUkdFVF9TTE9XX1VOQUxJR05FRF9BQ0NFU1MKICNkZWZpbmUgVEFSR0VUX1NMT1dfVU5B TElHTkVEX0FDQ0VTUyByaXNjdl9zbG93X3VuYWxpZ25lZF9hY2Nlc3MKIAorI3VuZGVmIFRB UkdFVF9PVkVSTEFQX09QX0JZX1BJRUNFU19QCisjZGVmaW5lIFRBUkdFVF9PVkVSTEFQX09Q X0JZX1BJRUNFU19QIHJpc2N2X292ZXJsYXBfb3BfYnlfcGllY2VzCisKICN1bmRlZiBUQVJH RVRfU0VDT05EQVJZX01FTU9SWV9ORUVERUQKICNkZWZpbmUgVEFSR0VUX1NFQ09OREFSWV9N RU1PUllfTkVFREVEIHJpc2N2X3NlY29uZGFyeV9tZW1vcnlfbmVlZGVkCiAKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9tZW1jcHktbm9ub3ZlcmxhcHBp bmcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9tZW1jcHktbm9ub3Zlcmxh cHBpbmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMWM5OWUx M2ZjMjYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvbWVtY3B5LW5vbm92ZXJsYXBwaW5nLmMKQEAgLTAsMCArMSw1NCBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1jcHU9c2lmaXZlLXU3NCAtbWFy Y2g9cnY2NGdjIC1tYWJpPWxwNjQiIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0q IH0geyAiLU8wIiAiLU9zIiAiLU96IiAiLU9nIiB9IH0gKi8KKworCisjZGVmaW5lIENPUFlf TihOKQkJCQlcCit2b2lkIGNvcHkjI04gKGNoYXIgKnNyYywgY2hhciAqZHN0KQkJXAorewkJ CQkJCVwKKyAgZHN0ID0gX19idWlsdGluX2Fzc3VtZV9hbGlnbmVkIChkc3QsIDQwOTYpOwlc CisgIHNyYyA9IF9fYnVpbHRpbl9hc3N1bWVfYWxpZ25lZCAoc3JjLCA0MDk2KTsJXAorICBf X2J1aWx0aW5fbWVtY3B5IChkc3QsIHNyYywgTik7CQlcCit9CisKKy8qIEVtaXRzIDF4IHts ZCxzZH0gYW5kIDF4IHtsaHUsbGJ1LHNoLHNifS4gICovCitDT1BZX04oMTEpCisKKy8qIEVt aXRzIDF4IHtsZCxzZH0gYW5kIDF4IHtsdyxsYnUsc3csc2J9LiAgKi8KK0NPUFlfTigxMykK KworLyogRW1pdHMgMXgge2xkLHNkfSBhbmQgMXgge2x3LGxodSxzdyxzaH0uICAqLworQ09Q WV9OKDE0KQorCisvKiBFbWl0cyAxeCB7bGQsc2R9IGFuZCAxeCB7bHcsbGh1LGxidSxzdyxz aCxzYn0uICAqLworQ09QWV9OKDE1KQorCisvKiBFbWl0cyAyeCB7bGQsc2R9IGFuZCAxeCB7 bGh1LGxidSxzaCxzYn0uICAqLworQ09QWV9OKDE5KQorCisvKiBFbWl0cyAyeCB7bGQsc2R9 IGFuZCAxeCB7bHcsbGh1LGxidSxzdyxzaCxzYn0uICAqLworQ09QWV9OKDIzKQorCisvKiBU aGUgYnktcGllY2VzIGluZnJhc3RydWN0dXJlIGhhbmRsZXMgdXAgdG8gMjQgYnl0ZXMuCisg ICBTbyB0aGUgY29kZSBiZWxvdyBpcyBlbWl0dGVkIHZpYSBjcHltZW1zaS9ibG9ja19tb3Zl X3N0cmFpZ2h0LiAgKi8KKworLyogRW1pdHMgM3gge2xkLHNkfSBhbmQgMXgge2xodSxsYnUs c2gsc2J9LiAgKi8KK0NPUFlfTigyNykKKworLyogRW1pdHMgM3gge2xkLHNkfSBhbmQgMXgg e2x3LGxidSxzdyxzYn0uICAqLworQ09QWV9OKDI5KQorCisvKiBFbWl0cyAzeCB7bGQsc2R9 IGFuZCAxeCB7bHcsbGh1LGxidSxzdyxzaCxzYn0uICAqLworQ09QWV9OKDMxKQorCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImxkXHQiIDE3IH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzZFx0IiAxNyB9IH0gKi8KKwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJsd1x0IiA2IH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzd1x0IiA2IH0gfSAqLwor CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImxodVx0IiA3IH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzaFx0IiA3IH0gfSAq LworCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImxidVx0IiA4IH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzYlx0IiA4IH0g fSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L21lbXNl dC1ub25vdmVybGFwcGluZy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L21l bXNldC1ub25vdmVybGFwcGluZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5jNDMxMWM3YThkMAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9tZW1zZXQtbm9ub3ZlcmxhcHBpbmcuYwpAQCAtMCwwICsxLDQ1 IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWNwdT1z aWZpdmUtdTc0IC1tYXJjaD1ydjY0Z2MgLW1hYmk9bHA2NCIgfSAqLworLyogeyBkZy1za2lw LWlmICIiIHsgKi0qLSogfSB7ICItTzAiICItT3MiICItT3oiICItT2ciIH0gfSAqLworCisj ZGVmaW5lIFpFUk9fTihOKQkJCQlcCit2b2lkIHplcm8jI04gKGNoYXIgKmRzdCkJCQlcCit7 CQkJCQkJXAorICBkc3QgPSBfX2J1aWx0aW5fYXNzdW1lX2FsaWduZWQgKGRzdCwgNDA5Nik7 CVwKKyAgX19idWlsdGluX21lbXNldCAoZHN0LCAwLCBOKTsJCQlcCit9CisKKy8qIEVtaXRz IDF4IHNkIGFuZCAxeCB7c2gsc2J9LiAgKi8KK1pFUk9fTigxMSkKKworLyogRW1pdHMgMXgg c2QgYW5kIDF4IHtzdyxzYn0uICAqLworWkVST19OKDEzKQorCisvKiBFbWl0cyAxeCBzZCBh bmQgMXgge3N3LHNofS4gICovCitaRVJPX04oMTQpCisKKy8qIEVtaXRzIDF4IHNkIGFuZCAx eCB7c3csc2gsc2J9LiAgKi8KK1pFUk9fTigxNSkKKworLyogRW1pdHMgMnggc2QgYW5kIDF4 IHtzaCxzYn0uICAqLworWkVST19OKDE5KQorCisvKiBFbWl0cyAyeCBzZCBhbmQgMXgge3N3 LHNoLHNifS4gICovCitaRVJPX04oMjMpCisKKy8qIFRoZSBieS1waWVjZXMgaW5mcmFzdHJ1 Y3R1cmUgaGFuZGxlcyB1cCB0byAyNCBieXRlcy4KKyAgIFNvIHRoZSBjb2RlIGJlbG93IGlz IGVtaXR0ZWQgdmlhIGNweW1lbXNpL2Jsb2NrX21vdmVfc3RyYWlnaHQuICAqLworCisvKiBF bWl0cyAzeCBzZCBhbmQgMXgge3NoLHNifS4gICovCitaRVJPX04oMjcpCisKKy8qIEVtaXRz IDN4IHNkIGFuZCAxeCB7c3csc2J9LiAgKi8KK1pFUk9fTigyOSkKKworLyogRW1pdHMgM3gg c2QgYW5kIDF4IHtzdyxzaCxzYn0uICAqLworWkVST19OKDMxKQorCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInNkXHQiIDE3IH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzd1x0IiA2IH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzaFx0IiA3IH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzYlx0IiA4IH0gfSAqLwo= --------------fy9Ov5NZKiasEKaWNuusA5rm--