From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v8 38/50] x86emul: support of AVX512* population count insns Date: Fri, 15 Mar 2019 05:01:55 -0600 Message-ID: <5C8B8623020000780021F2B2@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C8B7EC0020000780021F10B@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4kb7-0000oD-FI for xen-devel@lists.xenproject.org; Fri, 15 Mar 2019 11:01:57 +0000 In-Reply-To: <5C8B7EC0020000780021F10B@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org UGx1cyB0aGUgb25seSBvdGhlciBBVlg1MTJfQklUQUxHIG9uZS4KCkFzIGluIGEgZmV3IGNhc2Vz IGJlZm9yZSwgc2luY2UgdGhlIGluc25zIGhlcmUgYW5kIGluIHBhcnRpY3VsYXIgdGhlaXIKbWVt b3J5IGFjY2VzcyBwYXR0ZXJucyBmb2xsb3cgdGhlIHVzdWFsIHNjaGVtZSwgSSBkaWRuJ3QgdGhp bmsgaXQgd2FzCm5lY2Vzc2FyeSB0byBhZGQgYSBjb250cml2ZWQgdGVzdCBzcGVjaWZpY2FsbHkg Zm9yIHRoZW0sIGJleW9uZCB0aGUKRGlzcDggc2NhbGluZyBvbmUuCgpTaWduZWQtb2ZmLWJ5OiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2NzogUmUtYmFzZS4KdjY6IE5ldy4K Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKKysrIGIvdG9vbHMv dGVzdHMveDg2X2VtdWxhdG9yL2V2ZXgtZGlzcDguYwpAQCAtNTM4LDYgKzUzOCwxMSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEycGZfNTEyW10KICAgICBJTlNOWChzY2F0dGVycGYx cSwgNjYsIDBmMzgsIGM3LCA2LCB2bCwgc2QsIGVsKSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgdGVzdCBhdng1MTJfYml0YWxnX2FsbFtdID0geworICAgIElOU04ocG9wY250LCAgICAgIDY2 LCAwZjM4LCA1NCwgdmwsIGJ3LCB2bCksCisgICAgSU5TTihwc2h1ZmJpdHFtYiwgNjYsIDBmMzgs IDhmLCB2bCwgIGIsIHZsKSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJf dmJtaV9hbGxbXSA9IHsKICAgICBJTlNOKHBlcm1iLCAgICAgICAgIDY2LCAwZjM4LCA4ZCwgdmws IGIsIHZsKSwKICAgICBJTlNOKHBlcm1pMmIsICAgICAgIDY2LCAwZjM4LCA3NSwgdmwsIGIsIHZs KSwKQEAgLTU1MCw2ICs1NTUsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMl92 Ym1pMl9hbAogICAgIElOU04ocGV4cGFuZCwgICA2NiwgMGYzOCwgNjIsIHZsLCBidywgZWwpLAog fTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMl92cG9wY250ZHFfYWxsW10gPSB7 CisgICAgSU5TTihwb3BjbnQsIDY2LCAwZjM4LCA1NSwgdmwsIGRxLCB2bCkKK307CisKIHN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIHZsX2FsbFtdID0geyBWTF81MTIsIFZMXzEyOCwgVkxfMjU2 IH07CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciB2bF8xMjhbXSA9IHsgVkxfMTI4IH07CiBz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciB2bF9ubzEyOFtdID0geyBWTF81MTIsIFZMXzI1NiB9 OwpAQCAtOTE5LDYgKzkyOCw4IEBAIHZvaWQgZXZleF9kaXNwOF90ZXN0KHZvaWQgKmluc3RyLCBz dHJ1Y3QKICAgICBSVU4oYXZ4NTEyZXIsIDUxMik7CiAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEycGYg Y3B1X2hhc19hdng1MTJmCiAgICAgUlVOKGF2eDUxMnBmLCA1MTIpOworICAgIFJVTihhdng1MTJf Yml0YWxnLCBhbGwpOwogICAgIFJVTihhdng1MTJfdmJtaSwgYWxsKTsKICAgICBSVU4oYXZ4NTEy X3ZibWkyLCBhbGwpOworICAgIFJVTihhdng1MTJfdnBvcGNudGRxLCBhbGwpOwogfQotLS0gYS90 b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuaAorKysgYi90b29scy90ZXN0cy94 ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuaApAQCAtMTQzLDYgKzE0Myw4IEBAIHN0YXRpYyBpbmxp bmUgYm9vbCB4Y3IwX21hc2sodWludDY0X3QgbWEKICNkZWZpbmUgY3B1X2hhc19hdng1MTJ2bCAg KGNwLmZlYXQuYXZ4NTEydmwgJiYgeGNyMF9tYXNrKDB4ZTYpKQogI2RlZmluZSBjcHVfaGFzX2F2 eDUxMl92Ym1pIChjcC5mZWF0LmF2eDUxMl92Ym1pICYmIHhjcjBfbWFzaygweGU2KSkKICNkZWZp bmUgY3B1X2hhc19hdng1MTJfdmJtaTIgKGNwLmZlYXQuYXZ4NTEyX3ZibWkyICYmIHhjcjBfbWFz aygweGU2KSkKKyNkZWZpbmUgY3B1X2hhc19hdng1MTJfYml0YWxnIChjcC5mZWF0LmF2eDUxMl9i aXRhbGcgJiYgeGNyMF9tYXNrKDB4ZTYpKQorI2RlZmluZSBjcHVfaGFzX2F2eDUxMl92cG9wY250 ZHEgKGNwLmZlYXQuYXZ4NTEyX3Zwb3BjbnRkcSAmJiB4Y3IwX21hc2soMHhlNikpCiAKICNkZWZp bmUgY3B1X2hhc194Z2V0YnYxICAgKGNwdV9oYXNfeHNhdmUgJiYgY3AueHN0YXRlLnhnZXRidjEp CiAKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVu L2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTQ3OSw2ICs0NzksNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUgewogICAgIFsweDRkXSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfc2NhbGFyX3ZleHcsIC5kOHMgPSBkOHNfZHEgfSwKICAgICBbMHg0ZV0gPSB7 IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLnR3b19vcCA9IDEsIC5kOHMgPSBkOHNfdmwg fSwKICAgICBbMHg0Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3NjYWxhcl92ZXh3LCAuZDhzID0g ZDhzX2RxIH0sCisgICAgWzB4NTQgLi4uIDB4NTVdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNr ZWRfaW50LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDU4XSA9IHsgLnNp bWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gMiB9LAogICAgIFsweDU5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gMyB9LAog ICAgIFsweDVhXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMTI4LCAudHdvX29wID0gMSwgLmQ4cyA9 IDQgfSwKQEAgLTUwMSw2ICs1MDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFi bGUgewogICAgIFsweDhjXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCB9LAogICAg IFsweDhkXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9IGQ4c192bCB9 LAogICAgIFsweDhlXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnRvX21lbSA9 IDEgfSwKKyAgICBbMHg4Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMg PSBkOHNfdmwgfSwKICAgICBbMHg5MCAuLi4gMHg5M10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290 aGVyLCAudnNpYiA9IDEsIC5kOHMgPSBkOHNfZHEgfSwKICAgICBbMHg5NiAuLi4gMHg5OF0gPSB7 IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDk5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX3ZleHcsIC5kOHMgPSBkOHNfZHEgfSwKQEAg LTE5MTUsNiArMTkxNyw4IEBAIHN0YXRpYyBib29sIHZjcHVfaGFzKAogI2RlZmluZSB2Y3B1X2hh c19hdng1MTJ2bCgpICAgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwgMzEsIGN0eHQsIG9wcykK ICNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEyX3ZibWkoKSB2Y3B1X2hhcyggICAgICAgICA3LCBFQ1gs ICAxLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2F2eDUxMl92Ym1pMigpIHZjcHVfaGFz KCAgICAgICAgNywgRUNYLCAgNiwgY3R4dCwgb3BzKQorI2RlZmluZSB2Y3B1X2hhc19hdng1MTJf Yml0YWxnKCkgdmNwdV9oYXMoICAgICAgIDcsIEVDWCwgMTIsIGN0eHQsIG9wcykKKyNkZWZpbmUg dmNwdV9oYXNfYXZ4NTEyX3Zwb3BjbnRkcSgpIHZjcHVfaGFzKCAgICA3LCBFQ1gsIDE0LCBjdHh0 LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX3JkcGlkKCkgICAgICAgdmNwdV9oYXMoICAgICAgICAg NywgRUNYLCAyMiwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19jbHplcm8oKSAgICAgIHZj cHVfaGFzKDB4ODAwMDAwMDgsIEVCWCwgIDAsIGN0eHQsIG9wcykKIApAQCAtODkyMyw2ICs4OTI3 LDE5IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYodmV4Lmws IEVYQ19VRCk7CiAgICAgICAgIGdvdG8gc2ltZF8wZl9hdng7CiAKKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDhmKTogLyogdnBzaHVmYml0cW1iIFt4eXpdbW0vbWVtLFt4 eXpdbW0sa3trfSAqLworICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC53IHx8ICFl dmV4LnIgfHwgIWV2ZXguUiB8fCBldmV4LnosIEVYQ19VRCk7CisgICAgICAgIC8qIGZhbGwgdGhy b3VnaCAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4NTQpOiAvKiB2 cG9wY250e2Isd30gW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgICAgICBob3N0X2FuZF92 Y3B1X211c3RfaGF2ZShhdng1MTJfYml0YWxnKTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKGV2ZXguYnJzLCBFWENfVUQpOworICAgICAgICBlbGVtX2J5dGVzID0gMSA8PCBldmV4Lnc7 CisgICAgICAgIGdvdG8gYXZ4NTEyZl9ub19zYWU7CisKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VW RVhfNjYoMHgwZjM4LCAweDU1KTogLyogdnBvcGNudHtkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW17 a30gKi8KKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyX3Zwb3BjbnRkcSk7 CisgICAgICAgIGdvdG8gYXZ4NTEyZl9ub19zYWU7CisKICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZF WF82NigweDBmMzgsIDB4NTgpOiAvKiB2cGJyb2FkY2FzdGQgeG1tL20zMix7eCx5fW1tICovCiAg ICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAweDU5KTogLyogdnBicm9hZGNhc3Rx IHhtbS9tNjQse3gseX1tbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwg MHg3OCk6IC8qIHZwYnJvYWRjYXN0YiB4bW0vbTgse3gseX1tbSAqLwotLS0gYS94ZW4vaW5jbHVk ZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1 cmUuaApAQCAtMTExLDYgKzExMSw4IEBACiAvKiBDUFVJRCBsZXZlbCAweDAwMDAwMDA3OjAuZWN4 ICovCiAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyX3ZibWkgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9BVlg1MTJfVkJNSSkKICNkZWZpbmUgY3B1X2hhc19hdng1MTJfdmJtaTIgICAgYm9vdF9j cHVfaGFzKFg4Nl9GRUFUVVJFX0FWWDUxMl9WQk1JMikKKyNkZWZpbmUgY3B1X2hhc19hdng1MTJf Yml0YWxnICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0FWWDUxMl9CSVRBTEcpCisjZGVmaW5l IGNwdV9oYXNfYXZ4NTEyX3Zwb3BjbnRkcSBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVZYNTEy X1ZQT1BDTlREUSkKICNkZWZpbmUgY3B1X2hhc19yZHBpZCAgICAgICAgICAgYm9vdF9jcHVfaGFz KFg4Nl9GRUFUVVJFX1JEUElEKQogCiAvKiBDUFVJRCBsZXZlbCAweDgwMDAwMDA3LmVkeCAqLwot LS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCisrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgKQEAgLTIyOSw2ICsyMjks NyBAQCBYRU5fQ1BVRkVBVFVSRShVTUlQLCAgICAgICAgICA2KjMyKyAyKSAvCiBYRU5fQ1BVRkVB VFVSRShQS1UsICAgICAgICAgICA2KjMyKyAzKSAvKkggIFByb3RlY3Rpb24gS2V5cyBmb3IgVXNl cnNwYWNlICovCiBYRU5fQ1BVRkVBVFVSRShPU1BLRSwgICAgICAgICA2KjMyKyA0KSAvKiEgIE9T IFByb3RlY3Rpb24gS2V5cyBFbmFibGUgKi8KIFhFTl9DUFVGRUFUVVJFKEFWWDUxMl9WQk1JMiwg IDYqMzIrIDYpIC8qQSAgQWRkaXRpb25hbCBBVlgtNTEyIFZlY3RvciBCeXRlIE1hbmlwdWxhdGlv biBJbnN0cnMgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWDUxMl9CSVRBTEcsIDYqMzIrMTIpIC8qQSAg U3VwcG9ydCBmb3IgVlBPUENOVFtCLFddIGFuZCBWUFNIVUZCSVRRTUIgKi8KIFhFTl9DUFVGRUFU VVJFKEFWWDUxMl9WUE9QQ05URFEsIDYqMzIrMTQpIC8qQSAgUE9QQ05UIGZvciB2ZWN0b3JzIG9m IERXL1FXICovCiBYRU5fQ1BVRkVBVFVSRShSRFBJRCwgICAgICAgICA2KjMyKzIyKSAvKkEgIFJE UElEIGluc3RydWN0aW9uICovCiAKLS0tIGEveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQorKysgYi94 ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CkBAIC0yNjksNyArMjY5LDcgQEAgZGVmIGNydW5jaF9udW1i ZXJzKHN0YXRlKToKICAgICAgICAgIyBBVlg1MTIgZXh0ZW5zaW9ucyBhY3RpbmcgKHNvbGVseSkg b24gdmVjdG9ycyBvZiBieXRlcy93b3JkcyBhcmUgbWFkZQogICAgICAgICAjIGRlcGVuZGVudHMg b2YgQVZYNTEyQlcgKGFzIHRvIHJlcXVpcmluZyB3aWRlciB0aGFuIDE2LWJpdCBtYXNrCiAgICAg ICAgICMgcmVnaXN0ZXJzKSwgZGVzcGl0ZSB0aGUgU0RNIG5vdCBmb3JtYWxseSBtYWtpbmcgdGhp cyBjb25uZWN0aW9uLgotICAgICAgICBBVlg1MTJCVzogW0FWWDUxMl9WQk1JLCBBVlg1MTJfVkJN STJdLAorICAgICAgICBBVlg1MTJCVzogW0FWWDUxMl9WQk1JLCBBVlg1MTJfQklUQUxHLCBBVlg1 MTJfVkJNSTJdLAogCiAgICAgICAgICMgVGhlIGZlYXR1cmVzOgogICAgICAgICAjICAgKiBTaW5n bGUgVGhyZWFkIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0b3JzCgoKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs