From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105324 invoked by alias); 3 Sep 2017 23:19:32 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 104212 invoked by uid 89); 3 Sep 2017 23:19:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=hello! X-HELO: mail-ua0-f175.google.com Received: from mail-ua0-f175.google.com (HELO mail-ua0-f175.google.com) (209.85.217.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 03 Sep 2017 23:19:26 +0000 Received: by mail-ua0-f175.google.com with SMTP id g16so10937636uah.3 for ; Sun, 03 Sep 2017 16:19:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=M+YatEyZFUfuZYaGYbOOqDUopkdVTQ5Ms7BzaSa0O5g=; b=uJPwF3UVn38Lq6AuMGPoAaWXgnHpK4Apdg3fsoFjBYtoAhhGdXE+ueyKkk26C8LeJn jEj+FCfdzke+A7VkWiNcjSWTMajV384A86d31+Q79vePjq9Cg8evXovf5G7Mw/Xy8Nyf 1cuhCSnVa0chdh0dnVmJZCNTkf8HcNNuZwHVLRW5WIMahoq0eENZR/D7sVEL7qS+Yj7z Q/Zf6iT549CI8kZt9ULjjjTGNueYflDQebtv8tnTLJmkp80gl+W+KdHBDGmmHExeU/lz L/bxG9K0/MrQhelfaxy2+g/1v4/kROOIFvpVgDWUMzElddJOUlI95X9sX32InA0zou08 GHng== X-Gm-Message-State: AHPjjUjAz9L6OIKMvzWQ6Z//SxWsLamtCAnBX3ljNvjjK1uHtwXjH6V7 8PMnQMkgrL8TjThNbcuC0KzUSBUXzHg4 X-Google-Smtp-Source: ADKCNb7Jf3Vz4MENjy9QvMYf7ZC295jkHxX7EtX5j6b3yh+viruFtMnW9d9wvIRbvc2IVPHMo8+test4i22yU5HLN5Y= X-Received: by 10.176.77.78 with SMTP id k14mr286553uag.137.1504480764149; Sun, 03 Sep 2017 16:19:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.55.28 with HTTP; Sun, 3 Sep 2017 16:19:23 -0700 (PDT) From: Uros Bizjak Date: Sun, 03 Sep 2017 23:19:00 -0000 Message-ID: Subject: [PATCH, i386]: Use __get_cpuid_count in testsuite ISA check headers To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="f403043c56a484e1a005585139af" X-SW-Source: 2017-09/txt/msg00130.txt.bz2 --f403043c56a484e1a005585139af Content-Type: text/plain; charset="UTF-8" Content-length: 811 Hello! Use __get_cpuid_count and introduce check_osxsave local function. 2017-09-04 Uros Bizjak * gcc.target/i386/adx-check.h (main): Use __get_cpuid_count. * gcc.target/i386/bmi-check.h (main): Ditto. * gcc.target/i386/bmi2-check.h (main): Ditto. * gcc.target/i386/rtm-check.h (main): Ditto. * gcc.target/i386/sha-check.h (main): Ditto. * gcc.target/i386/avx2-check.h (check_osxsave): New function. (main): Use __get_cpuid_count. Use check_osxsave. * gcc.target/i386/avx512-check.h (check_osxsave): New function. (main): Use __get_cpuid_count. Use check_osxsave. Reorder conditions. * gcc.target/i386/mpx/mpx-check.h (check_osxsave): New function. (main): Use check_osxsave. Tested on x86_64-linux-gnu, committed to mainline SVN. Uros. --f403043c56a484e1a005585139af Content-Type: text/plain; charset="US-ASCII"; name="t.diff.txt" Content-Disposition: attachment; filename="t.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j75czyab0 Content-length: 10936 SW5kZXg6IGdjYy50YXJnZXQvaTM4Ni9hZHgtY2hlY2suaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBnY2MudGFyZ2V0L2kzODYvYWR4LWNoZWNrLmgJ KHJldmlzaW9uIDI1MTU2NikKKysrIGdjYy50YXJnZXQvaTM4Ni9hZHgtY2hl Y2suaAkod29ya2luZyBjb3B5KQpAQCAtMTMsMTYgKzEzLDEwIEBACiB7CiAg IHVuc2lnbmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHg7CiAKLSAgaWYgKCFf X2dldF9jcHVpZCAoMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCkpCisgIGlm ICghX19nZXRfY3B1aWRfY291bnQgKDcsIDAsICZlYXgsICZlYngsICZlY3gs ICZlZHgpKQogICAgIHJldHVybiAwOwogCiAgIC8qIFJ1biBBRFggdGVzdCBv bmx5IGlmIGhvc3QgaGFzIEFEWCBzdXBwb3J0LiAgKi8KLQotICBpZiAoX19n ZXRfY3B1aWRfbWF4ICgwLCBOVUxMKSA8IDcpCi0gICAgcmV0dXJuIDA7Ci0K LSAgX19jcHVpZF9jb3VudCAoNywgMCwgZWF4LCBlYngsIGVjeCwgZWR4KTsK LQogICBpZiAoZWJ4ICYgYml0X0FEWCkKICAgICB7CiAgICAgICBkb190ZXN0 ICgpOwpAQCAtMzEsMTAgKzI1LDEwIEBACiAjZW5kaWYKICAgICAgIHJldHVy biAwOwogICAgIH0KKwogI2lmZGVmIERFQlVHCiAgIHByaW50ZiAoIlNLSVBQ RURcbiIpOwogI2VuZGlmCi0KICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IGdj Yy50YXJnZXQvaTM4Ni9hdngyLWNoZWNrLmgKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjLnRhcmdldC9pMzg2L2F2eDItY2hlY2suaAkocmV2aXNp b24gMjUxNTY2KQorKysgZ2NjLnRhcmdldC9pMzg2L2F2eDItY2hlY2suaAko d29ya2luZyBjb3B5KQpAQCAtMTAsMzggKzEwLDM1IEBACiAgIGF2eDJfdGVz dCAoKTsKIH0KIAorc3RhdGljIGludAorY2hlY2tfb3N4c2F2ZSAodm9pZCkK K3sKKyAgdW5zaWduZWQgaW50IGVheCwgZWJ4LCBlY3gsIGVkeDsKKworICBf X2NwdWlkICgxLCBlYXgsIGVieCwgZWN4LCBlZHgpOworICByZXR1cm4gKGVj eCAmIGJpdF9PU1hTQVZFKSAhPSAwOworfQorCiBpbnQKIG1haW4gKCkKIHsK ICAgdW5zaWduZWQgaW50IGVheCwgZWJ4LCBlY3gsIGVkeDsKIAotICBpZiAo IV9fZ2V0X2NwdWlkICgxLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KSkKKyAg aWYgKCFfX2dldF9jcHVpZF9jb3VudCAoNywgMCwgJmVheCwgJmVieCwgJmVj eCwgJmVkeCkpCiAgICAgcmV0dXJuIDA7CiAKICAgLyogUnVuIEFWWDIgdGVz dCBvbmx5IGlmIGhvc3QgaGFzIEFWWDIgc3VwcG9ydC4gICovCi0gIGlmIChl Y3ggJiBiaXRfT1NYU0FWRSkKKyAgaWYgKGNoZWNrX29zeHNhdmUgKCkgJiYg KGVieCAmIGJpdF9BVlgyKSAmJiBhdnhfb3Nfc3VwcG9ydCAoKSkKICAgICB7 Ci0gICAgICBpZiAoX19nZXRfY3B1aWRfbWF4ICgwLCBOVUxMKSA8IDcpCi0J cmV0dXJuIDA7Ci0KLSAgICAgIF9fY3B1aWRfY291bnQgKDcsIDAsIGVheCwg ZWJ4LCBlY3gsIGVkeCk7Ci0KLSAgICAgIGlmICgoZWJ4ICYgYml0X0FWWDIp ICYmIGF2eF9vc19zdXBwb3J0ICgpKQotCXsKLQkgIGRvX3Rlc3QgKCk7Cisg ICAgICBkb190ZXN0ICgpOwogI2lmZGVmIERFQlVHCi0JICBwcmludGYgKCJQ QVNTRURcbiIpOworICAgICAgcHJpbnRmICgiUEFTU0VEXG4iKTsKICNlbmRp ZgotCSAgcmV0dXJuIDA7Ci0JfQotI2lmZGVmIERFQlVHCi0gICAgICBwcmlu dGYgKCJTS0lQUEVEXG4iKTsKLSNlbmRpZgorICAgICAgcmV0dXJuIDA7CiAg ICAgfQorCiAjaWZkZWYgREVCVUcKLSAgZWxzZQotICAgIHByaW50ZiAoIlNL SVBQRURcbiIpOworICBwcmludGYgKCJTS0lQUEVEXG4iKTsKICNlbmRpZgot CiAgIHJldHVybiAwOwogfQpJbmRleDogZ2NjLnRhcmdldC9pMzg2L2F2eDUx Mi1jaGVjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy50YXJn ZXQvaTM4Ni9hdng1MTItY2hlY2suaAkocmV2aXNpb24gMjUxNTY2KQorKysg Z2NjLnRhcmdldC9pMzg2L2F2eDUxMi1jaGVjay5oCSh3b3JraW5nIGNvcHkp CkBAIC0yNSw4NyArMjUsNjUgQEAKIH0KICNlbmRpZgogCitzdGF0aWMgaW50 CitjaGVja19vc3hzYXZlICh2b2lkKQoreworICB1bnNpZ25lZCBpbnQgZWF4 LCBlYngsIGVjeCwgZWR4OworCisgIF9fY3B1aWQgKDEsIGVheCwgZWJ4LCBl Y3gsIGVkeCk7CisgIHJldHVybiAoZWN4ICYgYml0X09TWFNBVkUpICE9IDA7 Cit9CisKIGludAogbWFpbiAoKQogewogICB1bnNpZ25lZCBpbnQgZWF4LCBl YngsIGVjeCwgZWR4OwogCi0gIGlmICghX19nZXRfY3B1aWQgKDEsICZlYXgs ICZlYngsICZlY3gsICZlZHgpKQotICAgIGdvdG8gc2tpcHBlZDsKKyAgaWYg KCFfX2dldF9jcHVpZF9jb3VudCAoNywgMCwgJmVheCwgJmVieCwgJmVjeCwg JmVkeCkpCisgICAgcmV0dXJuIDA7CiAKLSAgLyogUnVuIEFWWDUxMkYgdGVz dCBvbmx5IGlmIGhvc3QgaGFzIEFWWDUxMkYgc3VwcG9ydC4gICovCi0gIGlm ICghKGVjeCAmIGJpdF9PU1hTQVZFKSkKLSAgICBnb3RvIHNraXBwZWQ7Ci0K LSAgaWYgKF9fZ2V0X2NwdWlkX21heCAoMCwgTlVMTCkgPCA3KQotICAgIGdv dG8gc2tpcHBlZDsKLQotICBfX2NwdWlkX2NvdW50ICg3LCAwLCBlYXgsIGVi eCwgZWN4LCBlZHgpOwotCi0gIGlmICghKGVieCAmIGJpdF9BVlg1MTJGKSkK LSAgICBnb3RvIHNraXBwZWQ7Ci0KKyAgLyogUnVuIEFWWDUxMiB0ZXN0IG9u bHkgaWYgaG9zdCBoYXMgSVNBIHN1cHBvcnQuICAqLworICBpZiAoY2hlY2tf b3N4c2F2ZSAoKQorICAgICAgJiYgKGVieCAmIGJpdF9BVlg1MTJGKQogI2lm ZGVmIEFWWDUxMlZMCi0gIGlmICghKGVieCAmIGJpdF9BVlg1MTJWTCkpCi0g ICAgZ290byBza2lwcGVkOworICAgICAgJiYgKGVieCAmIGJpdF9BVlg1MTJW TCkKICNlbmRpZgotCiAjaWZkZWYgQVZYNTEyRVIKLSAgaWYgKCEoZWJ4ICYg Yml0X0FWWDUxMkVSKSkKLSAgICBnb3RvIHNraXBwZWQ7CisgICAgICAmJiAo ZWJ4ICYgYml0X0FWWDUxMkVSKQogI2VuZGlmCi0KICNpZmRlZiBBVlg1MTJD RAotICBpZiAoIShlYnggJiBiaXRfQVZYNTEyQ0QpKQotICAgIGdvdG8gc2tp cHBlZDsKKyAgICAgICYmIChlYnggJiBiaXRfQVZYNTEyQ0QpCiAjZW5kaWYK LQogI2lmZGVmIEFWWDUxMkRRCi0gIGlmICghKGVieCAmIGJpdF9BVlg1MTJE USkpCi0gICAgZ290byBza2lwcGVkOworICAgICAgJiYgKGVieCAmIGJpdF9B Vlg1MTJEUSkKICNlbmRpZgotCiAjaWZkZWYgQVZYNTEyQlcKLSAgaWYgKCEo ZWJ4ICYgYml0X0FWWDUxMkJXKSkKLSAgICBnb3RvIHNraXBwZWQ7CisgICAg ICAmJiAoZWJ4ICYgYml0X0FWWDUxMkJXKQogI2VuZGlmCi0KICNpZmRlZiBB Vlg1MTJJRk1BCi0gIGlmICghKGVieCAmIGJpdF9BVlg1MTJJRk1BKSkKLSAg ICBnb3RvIHNraXBwZWQ7CisgICAgICAmJiAoZWJ4ICYgYml0X0FWWDUxMklG TUEpCiAjZW5kaWYKLQogI2lmZGVmIEFWWDUxMlZCTUkKLSAgaWYgKCEoZWN4 ICYgYml0X0FWWDUxMlZCTUkpKQotICAgIGdvdG8gc2tpcHBlZDsKKyAgICAg ICYmIChlY3ggJiBiaXRfQVZYNTEyVkJNSSkKICNlbmRpZgotCiAjaWZkZWYg QVZYNTEyNEZNQVBTCi0gIGlmICghKGVkeCAmIGJpdF9BVlg1MTI0Rk1BUFMp KQotICAgIGdvdG8gc2tpcHBlZDsKKyAgICAgICYmIChlZHggJiBiaXRfQVZY NTEyNEZNQVBTKQogI2VuZGlmCi0KICNpZmRlZiBBVlg1MTI0Vk5OSVcKLSAg aWYgKCEoZWR4ICYgYml0X0FWWDUxMjRWTk5JVykpCi0gICAgZ290byBza2lw cGVkOworICAgICAgJiYgKGVkeCAmIGJpdF9BVlg1MTI0Vk5OSVcpCiAjZW5k aWYKLQogI2lmZGVmIEFWWDUxMlZQT1BDTlREUQotICBpZiAoIShlY3ggJiBi aXRfQVZYNTEyVlBPUENOVERRKSkKLSAgICBnb3RvIHNraXBwZWQ7CisgICAg ICAmJiAoZWN4ICYgYml0X0FWWDUxMlZQT1BDTlREUSkKICNlbmRpZgotCi0g IGlmICghYXZ4NTEyZl9vc19zdXBwb3J0ICgpKQotICAgIGdvdG8gc2tpcHBl ZDsKLQotICBET19URVNUICgpOwotCisgICAgICAmJiBhdng1MTJmX29zX3N1 cHBvcnQgKCkpCisgICAgeworICAgICAgRE9fVEVTVCAoKTsKICNpZmRlZiBE RUJVRwotICBwcmludGYgKCJQQVNTRURcbiIpOworICAgICAgcHJpbnRmICgi UEFTU0VEXG4iKTsKICNlbmRpZgotICByZXR1cm4gMDsKLQotc2tpcHBlZDoK KyAgICAgIHJldHVybiAwOworICAgIH0KKyAKICNpZmRlZiBERUJVRwogICBw cmludGYgKCJTS0lQUEVEXG4iKTsKICNlbmRpZgpJbmRleDogZ2NjLnRhcmdl dC9pMzg2L2JtaS1jaGVjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy50YXJnZXQvaTM4Ni9ibWktY2hlY2suaAkocmV2aXNpb24gMjUxNTY2 KQorKysgZ2NjLnRhcmdldC9pMzg2L2JtaS1jaGVjay5oCSh3b3JraW5nIGNv cHkpCkBAIC0xNywyMyArMTcsMjEgQEAKIHsKICAgdW5zaWduZWQgaW50IGVh eCwgZWJ4LCBlY3gsIGVkeDsKIAotICBpZiAoX19nZXRfY3B1aWRfbWF4ICgw LCBOVUxMKSA8IDcpCisgIGlmICghX19nZXRfY3B1aWRfY291bnQgKDcsIDAs ICZlYXgsICZlYngsICZlY3gsICZlZHgpKQogICAgIHJldHVybiAwOwogCi0g IF9fY3B1aWRfY291bnQgKDcsIDAsIGVheCwgZWJ4LCBlY3gsIGVkeCk7Ci0K ICAgLyogUnVuIEJNSSB0ZXN0IG9ubHkgaWYgaG9zdCBoYXMgQk1JIHN1cHBv cnQuICAqLwogICBpZiAoZWJ4ICYgYml0X0JNSSkKICAgICB7CiAgICAgICBk b190ZXN0ICgpOwogI2lmZGVmIERFQlVHCi0gICAgcHJpbnRmICgiUEFTU0VE XG4iKTsKKyAgICAgIHByaW50ZiAoIlBBU1NFRFxuIik7CiAjZW5kaWYKKyAg ICAgIHJldHVybiAwOwogICAgIH0KKwogI2lmZGVmIERFQlVHCi0gIGVsc2UK LSAgICBwcmludGYgKCJTS0lQUEVEXG4iKTsKKyAgcHJpbnRmICgiU0tJUFBF RFxuIik7CiAjZW5kaWYKLQogICByZXR1cm4gMDsKIH0KSW5kZXg6IGdjYy50 YXJnZXQvaTM4Ni9ibWkyLWNoZWNrLmgKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjLnRhcmdldC9pMzg2L2JtaTItY2hlY2suaAkocmV2aXNpb24g MjUxNTY2KQorKysgZ2NjLnRhcmdldC9pMzg2L2JtaTItY2hlY2suaAkod29y a2luZyBjb3B5KQpAQCAtMSw2ICsxLDUgQEAKICNpbmNsdWRlIDxzdGRpby5o PgogI2luY2x1ZGUgPHN0ZGxpYi5oPgotCiAjaW5jbHVkZSAiY3B1aWQuaCIK IAogc3RhdGljIHZvaWQgYm1pMl90ZXN0ICh2b2lkKTsKQEAgLTE3LDExICsx Niw5IEBACiB7CiAgIHVuc2lnbmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHg7 CiAKLSAgaWYgKF9fZ2V0X2NwdWlkX21heCAoMCwgTlVMTCkgPCA3KQorICBp ZiAoIV9fZ2V0X2NwdWlkX2NvdW50ICg3LCAwLCAmZWF4LCAmZWJ4LCAmZWN4 LCAmZWR4KSkKICAgICByZXR1cm4gMDsKIAotICBfX2NwdWlkX2NvdW50ICg3 LCAwLCAgZWF4LCBlYngsIGVjeCwgZWR4KTsKLQogICAvKiBSdW4gQk1JMiB0 ZXN0IG9ubHkgaWYgaG9zdCBoYXMgQk1JMiBzdXBwb3J0LiAgKi8KICAgaWYg KGVieCAmIGJpdF9CTUkyKQogICAgIHsKQEAgLTI5LDExICsyNiwxMSBAQAog I2lmZGVmIERFQlVHCiAgICAgICBwcmludGYgKCJQQVNTRURcbiIpOwogI2Vu ZGlmCisgICAgICByZXR1cm4gMDsKICAgICB9CisKICNpZmRlZiBERUJVRwot ICBlbHNlCi0gICAgcHJpbnRmICgiU0tJUFBFRFxuIik7CisgIHByaW50ZiAo IlNLSVBQRURcbiIpOwogI2VuZGlmCi0KICAgcmV0dXJuIDA7CiB9CkluZGV4 OiBnY2MudGFyZ2V0L2kzODYvbXB4L21weC1jaGVjay5oCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGdjYy50YXJnZXQvaTM4Ni9tcHgvbXB4LWNoZWNr LmgJKHJldmlzaW9uIDI1MTYyNykKKysrIGdjYy50YXJnZXQvaTM4Ni9tcHgv bXB4LWNoZWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDE1IEBA CiAgICByZXR1cm4gZWF4OwogfQogCitzdGF0aWMgaW50CitjaGVja19vc3hz YXZlICh2b2lkKQoreworICB1bnNpZ25lZCBpbnQgZWF4LCBlYngsIGVjeCwg ZWR4OworCisgIF9fY3B1aWQgKDEsIGVheCwgZWJ4LCBlY3gsIGVkeCk7Cisg IHJldHVybiAoZWN4ICYgYml0X09TWFNBVkUpICE9IDA7Cit9CisKIGludAog bWFpbiAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewpAQCAtMzUs NyArNDQsNyBAQAogICAgIHJldHVybiBOT1JVTlJFUzsKIAogICAvKiBSdW4g TVBYIHRlc3Qgb25seSBpZiBob3N0IGhhcyBNUFggc3VwcG9ydC4gICovCi0g IGlmICgoZWJ4ICYgYml0X01QWCkgJiYgKHhnZXRidiAoMCkgJiBYU1RBVEVf Qk5EUkVHUykpCisgIGlmIChjaGVja19vc3hzYXZlICgpICYmIChlYnggJiBi aXRfTVBYKSAmJiAoeGdldGJ2ICgwKSAmIFhTVEFURV9CTkRSRUdTKSkKICAg ICBtcHhfdGVzdCAoYXJnYywgYXJndik7CiAgIGVsc2UKICAgICB7CkluZGV4 OiBnY2MudGFyZ2V0L2kzODYvcnRtLWNoZWNrLmgKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjLnRhcmdldC9pMzg2L3J0bS1jaGVjay5oCShyZXZp c2lvbiAyNTE1NjYpCisrKyBnY2MudGFyZ2V0L2kzODYvcnRtLWNoZWNrLmgJ KHdvcmtpbmcgY29weSkKQEAgLTEzLDE4ICsxMywxOSBAQAogewogICB1bnNp Z25lZCBpbnQgZWF4LCBlYngsIGVjeCwgZWR4OwogCi0gIGlmIChfX2dldF9j cHVpZF9tYXggKDAsIE5VTEwpID49IDcpCisgIGlmICghX19nZXRfY3B1aWRf Y291bnQgKDcsIDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpKQorICAgIHJl dHVybiAwOworCisgIC8qIFJ1biBSVE0gdGVzdCBvbmx5IGlmIGhvc3QgaGFz IFJUTSBzdXBwb3J0LiAgKi8KKyAgaWYgKGVieCAmIGJpdF9SVE0pCiAgICAg ewotICAgICAgX19jcHVpZF9jb3VudCAoNywgMCwgZWF4LCBlYngsIGVjeCwg ZWR4KTsKLSAgICAgIGlmIChlYnggJiBiaXRfUlRNKQotCXsKLQkgIGRvX3Rl c3QgKCk7CisgICAgICBkb190ZXN0ICgpOwogI2lmZGVmIERFQlVHCi0JICBw cmludGYgKCJQQVNTRURcbiIpOworICAgICAgcHJpbnRmICgiUEFTU0VEXG4i KTsKICNlbmRpZgotCSAgcmV0dXJuIDA7Ci0JfQorICAgICAgcmV0dXJuIDA7 CiAgICAgfQorCiAjaWZkZWYgREVCVUcKICAgcHJpbnRmICgiU0tJUFBFRFxu Iik7CiAjZW5kaWYKSW5kZXg6IGdjYy50YXJnZXQvaTM4Ni9zaGEtY2hlY2su aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MudGFyZ2V0L2kzODYv c2hhLWNoZWNrLmgJKHJldmlzaW9uIDI1MTU2NikKKysrIGdjYy50YXJnZXQv aTM4Ni9zaGEtY2hlY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTUsMTkgKzE1 LDE3IEBACiB7CiAgIHVuc2lnbmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHg7 CiAKLSAgaWYgKF9fZ2V0X2NwdWlkX21heCAoMCwgTlVMTCkgPj0gNykKKyAg aWYgKCFfX2dldF9jcHVpZF9jb3VudCAoNywgMCwgJmVheCwgJmVieCwgJmVj eCwgJmVkeCkpCisgICAgcmV0dXJuIDA7CisKKyAgLyogUnVuIFNIQSB0ZXN0 IG9ubHkgaWYgaG9zdCBoYXMgU0hBIHN1cHBvcnQuICAqLworICBpZiAoZWJ4 ICYgYml0X1NIQSkKICAgICB7Ci0gICAgICBfX2NwdWlkX2NvdW50ICg3LCAw LCBlYXgsIGVieCwgZWN4LCBlZHgpOwotCi0gICAgICAvKiBSdW4gU0hBIHRl c3Qgb25seSBpZiBob3N0IGhhcyBTSEEgc3VwcG9ydC4gICovCi0gICAgICBp ZiAoZWJ4ICYgYml0X1NIQSkKLQl7Ci0JICBkb190ZXN0ICgpOworICAgICAg ZG9fdGVzdCAoKTsKICNpZmRlZiBERUJVRwotCSAgcHJpbnRmICgiUEFTU0VE XG4iKTsKKyAgICAgIHByaW50ZiAoIlBBU1NFRFxuIik7CiAjZW5kaWYKLQkg IHJldHVybiAwOwotCX0KKyAgICAgIHJldHVybiAwOwogICAgIH0KIAogI2lm ZGVmIERFQlVHCg== --f403043c56a484e1a005585139af--