From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE22AC3F2CD for ; Fri, 28 Feb 2020 17:20:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7BB572072A for ; Fri, 28 Feb 2020 17:20:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="sLirLKZr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BB572072A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:51174 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7jJn-00019s-LF for qemu-devel@archiver.kernel.org; Fri, 28 Feb 2020 12:20:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58498) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7imD-0005lP-Tx for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7imA-0007JL-Nj for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:13 -0500 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:27035) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7imA-0005Ug-B9 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1582908370; x=1614444370; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dZMcL23+nYfUkbbRF6GyhrCSUY47Y4a40MuxhsRi4hk=; b=sLirLKZr+9BKseUfa30MGt2iJ84RW7CpEyUKxrZ74CpKNMCPD/3qeUdt mvjwFmYzMZbPGkSWVCa97bSIt+G5Wf0IncIDcHXTkxPCWE/SBCzR7OaqK BHybVgld4Ck+37dbf+Z2S8V/qv/PfxRButkjenF0WuuXgdcWeCA6MJu67 E=; Received: from unknown (HELO ironmsg-SD-alpha.qualcomm.com) ([10.53.140.30]) by alexa-out-sd-02.qualcomm.com with ESMTP; 28 Feb 2020 08:44:34 -0800 Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg-SD-alpha.qualcomm.com with ESMTP; 28 Feb 2020 08:44:33 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id C4F83119A; Fri, 28 Feb 2020 10:44:33 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH v2 62/67] Hexagon HVX macros to interface with the generator Date: Fri, 28 Feb 2020 10:43:58 -0600 Message-Id: <1582908244-304-63-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> References: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.39 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: riku.voipio@iki.fi, richard.henderson@linaro.org, laurent@vivier.eu, Taylor Simpson , philmd@redhat.com, aleksandar.m.mail@gmail.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" VmFyaW91cyBmb3JtcyBvZiBkZWNsYXJlLCByZWFkLCB3cml0ZSwgZnJlZSBmb3IgSFZYIG9wZXJh bmRzCgpTaWduZWQtb2ZmLWJ5OiBUYXlsb3IgU2ltcHNvbiA8dHNpbXBzb25AcXVpY2luYy5jb20+ Ci0tLQogdGFyZ2V0L2hleGFnb24vbW12ZWMvbWFjcm9zLmggfCAyNjIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjYyIGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9tbXZlYy9tYWNyb3MuaAoK ZGlmZiAtLWdpdCBhL3RhcmdldC9oZXhhZ29uL21tdmVjL21hY3Jvcy5oIGIvdGFyZ2V0L2hleGFn b24vbW12ZWMvbWFjcm9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU4 MGJiZAotLS0gL2Rldi9udWxsCisrKyBiL3RhcmdldC9oZXhhZ29uL21tdmVjL21hY3Jvcy5oCkBA IC0wLDAgKzEsMjYyIEBACisvKgorICogIENvcHlyaWdodChjKSAyMDE5LTIwMjAgUXVhbGNvbW0g SW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq CisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgSEVYQUdPTl9N TVZFQ19NQUNST1NfSAorI2RlZmluZSBIRVhBR09OX01NVkVDX01BQ1JPU19ICisKKyNpbmNsdWRl ICJtbXZlYy9zeXN0ZW1fZXh0X21tdmVjLmgiCisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZWxz ZQorI2RlZmluZSBWZFYgICAgICAoKihtbXZlY3Rvcl90ICopKFZkVl92b2lkKSkKKyNkZWZpbmUg VnNWICAgICAgKCoobW12ZWN0b3JfdCAqKShWc1Zfdm9pZCkpCisjZGVmaW5lIFZ1ViAgICAgICgq KG1tdmVjdG9yX3QgKikoVnVWX3ZvaWQpKQorI2RlZmluZSBWdlYgICAgICAoKihtbXZlY3Rvcl90 ICopKFZ2Vl92b2lkKSkKKyNkZWZpbmUgVndWICAgICAgKCoobW12ZWN0b3JfdCAqKShWd1Zfdm9p ZCkpCisjZGVmaW5lIFZ4ViAgICAgICgqKG1tdmVjdG9yX3QgKikoVnhWX3ZvaWQpKQorI2RlZmlu ZSBWeVYgICAgICAoKihtbXZlY3Rvcl90ICopKFZ5Vl92b2lkKSkKKworI2RlZmluZSBWZGRWICAg ICAoKihtbXZlY3Rvcl9wYWlyX3QgKikoVmRkVl92b2lkKSkKKyNkZWZpbmUgVnV1ViAgICAgKCoo bW12ZWN0b3JfcGFpcl90ICopKFZ1dVZfdm9pZCkpCisjZGVmaW5lIFZ2dlYgICAgICgqKG1tdmVj dG9yX3BhaXJfdCAqKShWdnZWX3ZvaWQpKQorI2RlZmluZSBWeHhWICAgICAoKihtbXZlY3Rvcl9w YWlyX3QgKikoVnh4Vl92b2lkKSkKKworI2RlZmluZSBRZVYgICAgICAoKihtbXFyZWdfdCAqKShR ZVZfdm9pZCkpCisjZGVmaW5lIFFkViAgICAgICgqKG1tcXJlZ190ICopKFFkVl92b2lkKSkKKyNk ZWZpbmUgUXNWICAgICAgKCoobW1xcmVnX3QgKikoUXNWX3ZvaWQpKQorI2RlZmluZSBRdFYgICAg ICAoKihtbXFyZWdfdCAqKShRdFZfdm9pZCkpCisjZGVmaW5lIFF1ViAgICAgICgqKG1tcXJlZ190 ICopKFF1Vl92b2lkKSkKKyNkZWZpbmUgUXZWICAgICAgKCoobW1xcmVnX3QgKikoUXZWX3ZvaWQp KQorI2RlZmluZSBReFYgICAgICAoKihtbXFyZWdfdCAqKShReFZfdm9pZCkpCisjZW5kaWYKKwor I2lmZGVmIFFFTVVfR0VORVJBVEUKKyNkZWZpbmUgREVDTF9WUkVHKFZBUiwgTlVNLCBYLCBPRkYp IFwKKyAgICBUQ0d2X3B0ciBWQVIgPSB0Y2dfdGVtcF9sb2NhbF9uZXdfcHRyKCk7IFwKKyAgICBz aXplMXVfdCBOVU0gPSBSRUdOTyhYKSArIE9GRjsgXAorICAgIGRvIHsgXAorICAgICAgICB1aW50 MzJfdCBvZmZzZXQgPSBuZXdfdGVtcF92cmVnX29mZnNldChjdHgsIDEpOyBcCisgICAgICAgIHRj Z19nZW5fYWRkaV9wdHIoVkFSLCBjcHVfZW52LCBvZmZzZXQpOyBcCisgICAgfSB3aGlsZSAoMCkK KworLyoKKyAqIENlcnRhaW4gaW5zdHJ1Y3Rpb25zIGFwcGVhciB0byBoYXZlIHJlYWRvbmx5IG9w ZXJhbmRzLCBidXQKKyAqIGluIHJlYWxpdHkgdGhleSBkbyBub3QuCisgKiAgICAgdmRlbHRhIGlu c3RydWN0aW9ucyBvdmVyd3JpdGUgdGhlaXIgVnVWIG9wZXJhbmQKKyAqLworc3RhdGljIGJvb2wg cmVhZG9ubHlfb2soaW5zbl90ICppbnNuKQoreworICAgIHVpbnQzMl90IG9wY29kZSA9IGluc24t Pm9wY29kZTsKKyAgICBpZiAob3Bjb2RlID09IFY2X3ZkZWx0YSB8fAorICAgICAgICBvcGNvZGUg PT0gVjZfdnJkZWx0YSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVy biB0cnVlOworfQorCisjZGVmaW5lIERFQ0xfVlJFR19SRUFET05MWShWQVIsIE5VTSwgWCwgT0ZG KSBcCisgICAgVENHdl9wdHIgVkFSID0gdGNnX3RlbXBfbG9jYWxfbmV3X3B0cigpOyBcCisgICAg c2l6ZTF1X3QgTlVNID0gUkVHTk8oWCkgKyBPRkY7IFwKKyAgICBpZiAoIXJlYWRvbmx5X29rKGlu c24pKSB7IFwKKyAgICAgICAgdWludDMyX3Qgb2Zmc2V0ID0gbmV3X3RlbXBfdnJlZ19vZmZzZXQo Y3R4LCAxKTsgXAorICAgICAgICB0Y2dfZ2VuX2FkZGlfcHRyKFZBUiwgY3B1X2Vudiwgb2Zmc2V0 KTsgXAorICAgIH0KKworI2RlZmluZSBERUNMX1ZSRUdfZChWQVIsIE5VTSwgWCwgT0ZGKSBcCisg ICAgREVDTF9WUkVHKFZBUiwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfVlJFR19zKFZBUiwg TlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1ZSRUdfUkVBRE9OTFkoVkFSLCBOVU0sIFgsIE9GRikK KyNkZWZpbmUgREVDTF9WUkVHX3UoVkFSLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfVlJFR19S RUFET05MWShWQVIsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1ZSRUdfdihWQVIsIE5VTSwg WCwgT0ZGKSBcCisgICAgREVDTF9WUkVHX1JFQURPTkxZKFZBUiwgTlVNLCBYLCBPRkYpCisjZGVm aW5lIERFQ0xfVlJFR193KFZBUiwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1ZSRUdfUkVBRE9O TFkoVkFSLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9WUkVHX3goVkFSLCBOVU0sIFgsIE9G RikgXAorICAgIERFQ0xfVlJFRyhWQVIsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1ZSRUdf eShWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9WUkVHKFZBUiwgTlVNLCBYLCBPRkYpCisK KyNkZWZpbmUgREVDTF9WUkVHX1BBSVIoVkFSLCBOVU0sIFgsIE9GRikgXAorICAgIFRDR3ZfcHRy IFZBUiA9IHRjZ190ZW1wX2xvY2FsX25ld19wdHIoKTsgXAorICAgIHNpemUxdV90IE5VTSA9IFJF R05PKFgpICsgT0ZGOyBcCisgICAgZG8geyBcCisgICAgICAgIHVpbnQzMl90IG9mZnNldCA9IG5l d190ZW1wX3ZyZWdfb2Zmc2V0KGN0eCwgMik7IFwKKyAgICAgICAgdGNnX2dlbl9hZGRpX3B0cihW QVIsIGNwdV9lbnYsIG9mZnNldCk7IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIERFQ0xf VlJFR19kZChWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9WUkVHX1BBSVIoVkFSLCBOVU0s IFgsIE9GRikKKyNkZWZpbmUgREVDTF9WUkVHX3V1KFZBUiwgTlVNLCBYLCBPRkYpIFwKKyAgICBE RUNMX1ZSRUdfUEFJUihWQVIsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1ZSRUdfdnYoVkFS LCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfVlJFR19QQUlSKFZBUiwgTlVNLCBYLCBPRkYpCisj ZGVmaW5lIERFQ0xfVlJFR194eChWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9WUkVHX1BB SVIoVkFSLCBOVU0sIFgsIE9GRikKKworI2RlZmluZSBERUNMX1FSRUcoVkFSLCBOVU0sIFgsIE9G RikgXAorICAgIFRDR3ZfcHRyIFZBUiA9IHRjZ190ZW1wX2xvY2FsX25ld19wdHIoKTsgXAorICAg IHNpemUxdV90IE5VTSA9IFJFR05PKFgpICsgT0ZGOyBcCisgICAgZG8geyBcCisgICAgICAgIHVp bnQzMl90IF9fb2Zmc2V0ID0gbmV3X3RlbXBfcXJlZ19vZmZzZXQoY3R4KTsgXAorICAgICAgICB0 Y2dfZ2VuX2FkZGlfcHRyKFZBUiwgY3B1X2VudiwgX19vZmZzZXQpOyBcCisgICAgfSB3aGlsZSAo MCkKKworI2RlZmluZSBERUNMX1FSRUdfZChWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9R UkVHKFZBUiwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUVJFR19lKFZBUiwgTlVNLCBYLCBP RkYpIFwKKyAgICBERUNMX1FSRUcoVkFSLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9RUkVH X3MoVkFSLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUVJFRyhWQVIsIE5VTSwgWCwgT0ZGKQor I2RlZmluZSBERUNMX1FSRUdfdChWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9RUkVHKFZB UiwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUVJFR191KFZBUiwgTlVNLCBYLCBPRkYpIFwK KyAgICBERUNMX1FSRUcoVkFSLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9RUkVHX3YoVkFS LCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUVJFRyhWQVIsIE5VTSwgWCwgT0ZGKQorI2RlZmlu ZSBERUNMX1FSRUdfeChWQVIsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9RUkVHKFZBUiwgTlVN LCBYLCBPRkYpCisKKyNkZWZpbmUgRlJFRV9WUkVHKFZBUikgICAgICAgICAgdGNnX3RlbXBfZnJl ZV9wdHIoVkFSKQorI2RlZmluZSBGUkVFX1ZSRUdfZChWQVIpICAgICAgICBGUkVFX1ZSRUcoVkFS KQorI2RlZmluZSBGUkVFX1ZSRUdfcyhWQVIpICAgICAgICBGUkVFX1ZSRUcoVkFSKQorI2RlZmlu ZSBGUkVFX1ZSRUdfdShWQVIpICAgICAgICBGUkVFX1ZSRUcoVkFSKQorI2RlZmluZSBGUkVFX1ZS RUdfdihWQVIpICAgICAgICBGUkVFX1ZSRUcoVkFSKQorI2RlZmluZSBGUkVFX1ZSRUdfdyhWQVIp ICAgICAgICBGUkVFX1ZSRUcoVkFSKQorI2RlZmluZSBGUkVFX1ZSRUdfeChWQVIpICAgICAgICBG UkVFX1ZSRUcoVkFSKQorI2RlZmluZSBGUkVFX1ZSRUdfeShWQVIpICAgICAgICBGUkVFX1ZSRUco VkFSKQorCisjZGVmaW5lIEZSRUVfVlJFR19QQUlSKFZBUikgICAgIHRjZ190ZW1wX2ZyZWVfcHRy KFZBUikKKyNkZWZpbmUgRlJFRV9WUkVHX2RkKFZBUikgICAgICAgRlJFRV9WUkVHX1BBSVIoVkFS KQorI2RlZmluZSBGUkVFX1ZSRUdfdXUoVkFSKSAgICAgICBGUkVFX1ZSRUdfUEFJUihWQVIpCisj ZGVmaW5lIEZSRUVfVlJFR192dihWQVIpICAgICAgIEZSRUVfVlJFR19QQUlSKFZBUikKKyNkZWZp bmUgRlJFRV9WUkVHX3h4KFZBUikgICAgICAgRlJFRV9WUkVHX1BBSVIoVkFSKQorCisjZGVmaW5l IEZSRUVfUVJFRyhWQVIpICAgICAgICAgIHRjZ190ZW1wX2ZyZWVfcHRyKFZBUikKKyNkZWZpbmUg RlJFRV9RUkVHX2QoVkFSKSAgICAgICAgRlJFRV9RUkVHKFZBUikKKyNkZWZpbmUgRlJFRV9RUkVH X2UoVkFSKSAgICAgICAgRlJFRV9RUkVHKFZBUikKKyNkZWZpbmUgRlJFRV9RUkVHX3MoVkFSKSAg ICAgICAgRlJFRV9RUkVHKFZBUikKKyNkZWZpbmUgRlJFRV9RUkVHX3QoVkFSKSAgICAgICAgRlJF RV9RUkVHKFZBUikKKyNkZWZpbmUgRlJFRV9RUkVHX3UoVkFSKSAgICAgICAgRlJFRV9RUkVHKFZB UikKKyNkZWZpbmUgRlJFRV9RUkVHX3YoVkFSKSAgICAgICAgRlJFRV9RUkVHKFZBUikKKyNkZWZp bmUgRlJFRV9RUkVHX3goVkFSKSAgICAgICAgRlJFRV9RUkVHKFZBUikKKworI2RlZmluZSBSRUFE X1ZSRUcoVkFSLCBOVU0pIFwKKyAgICBnZW5fcmVhZF92cmVnKFZBUiwgTlVNLCAwKQorI2RlZmlu ZSBSRUFEX1ZSRUdfUkVBRE9OTFkoVkFSLCBOVU0pIFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYg KHJlYWRvbmx5X29rKGluc24pKSB7IFwKKyAgICAgICAgICAgIGdlbl9yZWFkX3ZyZWdfcmVhZG9u bHkoVkFSLCBOVU0sIDApOyBcCisgICAgICAgIH0gZWxzZSB7IFwKKyAgICAgICAgICAgIGdlbl9y ZWFkX3ZyZWcoVkFSLCBOVU0sIDApOyBcCisgICAgICAgIH0gXAorICAgIH0gd2hpbGUgKDApCisK KyNkZWZpbmUgUkVBRF9WUkVHX3MoVkFSLCBOVU0pICAgIFJFQURfVlJFR19SRUFET05MWShWQVIs IE5VTSkKKyNkZWZpbmUgUkVBRF9WUkVHX3UoVkFSLCBOVU0pICAgIFJFQURfVlJFR19SRUFET05M WShWQVIsIE5VTSkKKyNkZWZpbmUgUkVBRF9WUkVHX3YoVkFSLCBOVU0pICAgIFJFQURfVlJFR19S RUFET05MWShWQVIsIE5VTSkKKyNkZWZpbmUgUkVBRF9WUkVHX3coVkFSLCBOVU0pICAgIFJFQURf VlJFR19SRUFET05MWShWQVIsIE5VTSkKKyNkZWZpbmUgUkVBRF9WUkVHX3goVkFSLCBOVU0pICAg IFJFQURfVlJFRyhWQVIsIE5VTSkKKyNkZWZpbmUgUkVBRF9WUkVHX3koVkFSLCBOVU0pICAgIFJF QURfVlJFRyhWQVIsIE5VTSkKKworI2RlZmluZSBSRUFEX1ZSRUdfUEFJUihWQVIsIE5VTSkgXAor ICAgIGdlbl9yZWFkX3ZyZWdfcGFpcihWQVIsIE5VTSwgMCkKKyNkZWZpbmUgUkVBRF9WUkVHX3V1 KFZBUiwgTlVNKSAgIFJFQURfVlJFR19QQUlSKFZBUiwgTlVNKQorI2RlZmluZSBSRUFEX1ZSRUdf dnYoVkFSLCBOVU0pICAgUkVBRF9WUkVHX1BBSVIoVkFSLCBOVU0pCisjZGVmaW5lIFJFQURfVlJF R194eChWQVIsIE5VTSkgICBSRUFEX1ZSRUdfUEFJUihWQVIsIE5VTSkKKworI2RlZmluZSBSRUFE X1FSRUcoVkFSLCBOVU0pIFwKKyAgICBnZW5fcmVhZF9xcmVnKFZBUiwgTlVNLCAwKQorI2RlZmlu ZSBSRUFEX1FSRUdfcyhWQVIsIE5VTSkgICAgIFJFQURfUVJFRyhWQVIsIE5VTSkKKyNkZWZpbmUg UkVBRF9RUkVHX3QoVkFSLCBOVU0pICAgICBSRUFEX1FSRUcoVkFSLCBOVU0pCisjZGVmaW5lIFJF QURfUVJFR191KFZBUiwgTlVNKSAgICAgUkVBRF9RUkVHKFZBUiwgTlVNKQorI2RlZmluZSBSRUFE X1FSRUdfdihWQVIsIE5VTSkgICAgIFJFQURfUVJFRyhWQVIsIE5VTSkKKyNkZWZpbmUgUkVBRF9R UkVHX3goVkFSLCBOVU0pICAgICBSRUFEX1FSRUcoVkFSLCBOVU0pCisKKyNkZWZpbmUgREVDTF9O RVdfT1JFRyhUWVBFLCBOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIFRZUEUgTkFNRTsgXAorICAg IGludCBOVU0gPSBSRUdOTyhYKSArIE9GRgorCisjZGVmaW5lIFJFQURfTkVXX09SRUcodG1wLCBp KSAodG1wID0gdGNnX2NvbnN0X3RsKGkpKQorCisjZGVmaW5lIEZSRUVfTkVXX09SRUcoTkFNRSkg XAorICAgIHRjZ190ZW1wX2ZyZWUoTkFNRSkKKworI2RlZmluZSBMT0dfVlJFR19XUklURShOVU0s IFZBUiwgVk5FVykgXAorICAgIGRvIHsgXAorICAgICAgICBpbnQgaXNfcHJlZGljYXRlZCA9IEdF VF9BVFRSSUIoaW5zbi0+b3Bjb2RlLCBBX0NPTkRFWEVDKTsgXAorICAgICAgICBnZW5fbG9nX3Zy ZWdfd3JpdGUoVkFSLCBOVU0sIFZORVcsIGluc24tPnNsb3QpOyBcCisgICAgICAgIGN0eF9sb2df dnJlZ193cml0ZShjdHgsIChOVU0pLCBpc19wcmVkaWNhdGVkKTsgXAorICAgIH0gd2hpbGUgKDAp CisKKyNkZWZpbmUgTE9HX1ZSRUdfV1JJVEVfUEFJUihOVU0sIFZBUiwgVk5FVykgXAorICAgIGRv IHsgXAorICAgICAgICBpbnQgaXNfcHJlZGljYXRlZCA9IEdFVF9BVFRSSUIoaW5zbi0+b3Bjb2Rl LCBBX0NPTkRFWEVDKTsgXAorICAgICAgICBnZW5fbG9nX3ZyZWdfd3JpdGVfcGFpcihWQVIsIE5V TSwgVk5FVywgaW5zbi0+c2xvdCk7IFwKKyAgICAgICAgY3R4X2xvZ192cmVnX3dyaXRlKGN0eCwg KE5VTSkgXiAwLCBpc19wcmVkaWNhdGVkKTsgXAorICAgICAgICBjdHhfbG9nX3ZyZWdfd3JpdGUo Y3R4LCAoTlVNKSBeIDEsIGlzX3ByZWRpY2F0ZWQpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2Rl ZmluZSBMT0dfUVJFR19XUklURShOVU0sIFZBUiwgVk5FVykgXAorICAgIGRvIHsgXAorICAgICAg ICBpbnQgaXNfcHJlZGljYXRlZCA9IEdFVF9BVFRSSUIoaW5zbi0+b3Bjb2RlLCBBX0NPTkRFWEVD KTsgXAorICAgICAgICBnZW5fbG9nX3FyZWdfd3JpdGUoVkFSLCBOVU0sIFZORVcsIGluc24tPnNs b3QpOyBcCisgICAgICAgIGN0eF9sb2dfcXJlZ193cml0ZShjdHgsIChOVU0pLCBpc19wcmVkaWNh dGVkKTsgXAorICAgIH0gd2hpbGUgKDApCisjZWxzZQorI2RlZmluZSBORVdfV1JJVFRFTihOVU0p ICgoZW52LT5WUmVnc19zZWxlY3QgPj4gKE5VTSkpICYgMSkKKyNkZWZpbmUgVE1QX1dSSVRURU4o TlVNKSAoKGVudi0+VlJlZ3NfdXBkYXRlZF90bXAgPj4gKE5VTSkpICYgMSkKKworI2RlZmluZSBM T0dfVlJFR19XUklURV9GVU5DKFgpIFwKKyAgICBfR2VuZXJpYygoWCksIHZvaWQgKiA6IGxvZ192 cmVnX3dyaXRlLCBtbXZlY3Rvcl90IDogbG9nX21tdmVjdG9yX3dyaXRlKQorI2RlZmluZSBMT0df VlJFR19XUklURShOVU0sIFZBUiwgVk5FVykgXAorICAgIExPR19WUkVHX1dSSVRFX0ZVTkMoVkFS KShlbnYsIE5VTSwgVkFSLCBWTkVXLCBzbG90KQorCisjZGVmaW5lIFJFQURfRVhUX1ZSRUcoTlVN LCBWQVIsIFZUTVApIFwKKyAgICBkbyB7IFwKKyAgICAgICAgVkFSID0gKChORVdfV1JJVFRFTihO VU0pKSA/IGVudi0+ZnV0dXJlX1ZSZWdzW05VTV0gXAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogZW52LT5WUmVnc1tOVU1dKTsgXAorICAgICAgICBWQVIgPSAoKFRNUF9XUklU VEVOKE5VTSkpID8gZW52LT50bXBfVlJlZ3NbTlVNXSA6IFZBUik7IFwKKyAgICAgICAgaWYgKFZU TVAgPT0gRVhUX1RNUCkgeyBcCisgICAgICAgICAgICBpZiAoZW52LT5WUmVnc191cGRhdGVkICYg KChWUmVnTWFzaykxKSA8PCAoTlVNKSkgeyBcCisgICAgICAgICAgICAgICAgVkFSID0gZW52LT5m dXR1cmVfVlJlZ3NbTlVNXTsgXAorICAgICAgICAgICAgICAgIGVudi0+VlJlZ3NfdXBkYXRlZCBe PSAoKFZSZWdNYXNrKTEpIDw8IChOVU0pOyBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAgfSBc CisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBSRUFEX0VYVF9WUkVHX1BBSVIoTlVNLCBWQVIs IFZUTVApIFwKKyAgICBkbyB7IFwKKyAgICAgICAgUkVBRF9FWFRfVlJFRygoTlVNKSBeIDAsIFZB Ui52WzBdLCBWVE1QKTsgXAorICAgICAgICBSRUFEX0VYVF9WUkVHKChOVU0pIF4gMSwgVkFSLnZb MV0sIFZUTVApIFwKKyAgICB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNkZWZpbmUgV1JJVEVfRVhU X1ZSRUcoTlVNLCBWQVIsIFZORVcpICAgTE9HX1ZSRUdfV1JJVEUoTlVNLCBWQVIsIFZORVcpCisj ZGVmaW5lIFdSSVRFX1ZSRUdfZChOVU0sIFZBUiwgVk5FVykgICAgIExPR19WUkVHX1dSSVRFKE5V TSwgVkFSLCBWTkVXKQorI2RlZmluZSBXUklURV9WUkVHX3goTlVNLCBWQVIsIFZORVcpICAgICBM T0dfVlJFR19XUklURShOVU0sIFZBUiwgVk5FVykKKyNkZWZpbmUgV1JJVEVfVlJFR195KE5VTSwg VkFSLCBWTkVXKSAgICAgTE9HX1ZSRUdfV1JJVEUoTlVNLCBWQVIsIFZORVcpCisKKyNkZWZpbmUg V1JJVEVfVlJFR19kZChOVU0sIFZBUiwgVk5FVykgICAgTE9HX1ZSRUdfV1JJVEVfUEFJUihOVU0s IFZBUiwgVk5FVykKKyNkZWZpbmUgV1JJVEVfVlJFR194eChOVU0sIFZBUiwgVk5FVykgICAgTE9H X1ZSRUdfV1JJVEVfUEFJUihOVU0sIFZBUiwgVk5FVykKKyNkZWZpbmUgV1JJVEVfVlJFR195eShO VU0sIFZBUiwgVk5FVykgICAgTE9HX1ZSRUdfV1JJVEVfUEFJUihOVU0sIFZBUiwgVk5FVykKKwor I2RlZmluZSBXUklURV9RUkVHX2QoTlVNLCBWQVIsIFZORVcpICAgICBMT0dfUVJFR19XUklURShO VU0sIFZBUiwgVk5FVykKKyNkZWZpbmUgV1JJVEVfUVJFR19lKE5VTSwgVkFSLCBWTkVXKSAgICAg TE9HX1FSRUdfV1JJVEUoTlVNLCBWQVIsIFZORVcpCisjZGVmaW5lIFdSSVRFX1FSRUdfeChOVU0s IFZBUiwgVk5FVykgICAgIExPR19RUkVHX1dSSVRFKE5VTSwgVkFSLCBWTkVXKQorCisjZW5kaWYK LS0gCjIuNy40Cgo=