From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 22/42] x86emul: support AVX512DQ packed quad-int/FP conversion insns Date: Thu, 06 Dec 2018 03:01:52 -0700 Message-ID: <5C08F390020000780020383B@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C08EFAE020000780020373E@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUqTm-0005fG-7f for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 10:01:58 +0000 In-Reply-To: <5C08EFAE020000780020373E@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 VkNWVHssVH1QUzJRUSwgc2hhcmluZyB0aGVpciBtYWluIG9wY29kZXMgd2l0aCBvdGhlcnMsIG9u Y2UgYWdhaW4gbmVlZAoibWFudWFsIiBvdmVycmlkZXMgb2YgZGlzcDhzY2FsZS4KCldoaWxlIG5v dCBkaXJlY3RseSByZWxhdGVkIGhlcmUsIGFsc28gYWRkIGEgc2NhbGFyIHZhcmlhbnQgb2YgdG9f d2ludCgpCnRvIHRoZSB0ZXN0IGhhcm5lc3MuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2NjogV29ya2Fyb3VuZCBmb3IgZ2NjIDcgcXVpcmsuCnY1 OiBSZS1iYXNlIG92ZXIgY2hhbmdlcyBlYXJsaWVyIGluIHRoZSBzZXJpZXMuCnY0OiBOZXcuCgot LS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rvb2xzL3Rl c3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTQxMCw4ICs0MTAsMTIgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmRxX2FsbFtdCiAgICAgSU5TTl9QRlAoYW5kLCAgICAg ICAgICAgICAgMGYsIDU0KSwKICAgICBJTlNOX1BGUChhbmRuLCAgICAgICAgICAgICAwZiwgNTUp LAogICAgIElOU04oYnJvYWRjYXN0aTMyeDIsIDY2LCAwZjM4LCA1OSwgZWxfMiwgIGQsIHZsKSwK KyAgICBJTlNOKGN2dHBkMnFxLCAgICAgICA2NiwgICAwZiwgN2IsICAgdmwsICBxLCB2bCksCisg ICAgSU5TTihjdnRwczJxcSwgICAgICAgNjYsICAgMGYsIDdiLCB2bF8yLCAgZCwgdmwpLAogICAg IElOU04oY3Z0cXEycGQsICAgICAgIGYzLCAgIDBmLCBlNiwgICB2bCwgIHEsIHZsKSwKICAgICBJ TlNOKGN2dHFxMnBzLCAgICAgICAgICwgICAwZiwgNWIsICAgdmwsICBxLCB2bCksCisgICAgSU5T TihjdnR0cGQycXEsICAgICAgNjYsICAgMGYsIDdhLCAgIHZsLCAgcSwgdmwpLAorICAgIElOU04o Y3Z0dHBzMnFxLCAgICAgIDY2LCAgIDBmLCA3YSwgdmxfMiwgIGQsIHZsKSwKICAgICBJTlNOX1BG UChvciwgICAgICAgICAgICAgICAwZiwgNTYpLAogLy8gICAgICAgcG1vdmQybSwgICAgICAgIGYz LCAwZjM4LCAzOSwgICAgICAgIGQKIC8vICAgICAgIHBtb3ZtMiwgICAgICAgICBmMywgMGYzOCwg MzgsICAgICAgIGRxCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKKysrIGIv dG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuYwpAQCAtOTAsMTQgKzkwLDM1IEBAIHN0YXRp YyBpbmxpbmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKIAogI2lmIFZFQ19TSVpFID09IEZM T0FUX1NJWkUKICMgZGVmaW5lIHRvX2ludCh4KSAoeyBpbnQgaV8gPSAoeClbMF07IHRvdWNoKGlf KTsgKCh2ZWNfdCl7IGlfIH0pOyB9KQorIyBpZmRlZiBfX3g4Nl82NF9fCisjICBkZWZpbmUgdG9f d2ludCh4KSAoeyBsb25nIGxfID0gKHgpWzBdOyB0b3VjaChsXyk7ICgodmVjX3QpeyBsXyB9KTsg fSkKKyMgZW5kaWYKICNlbGlmIFZFQ19TSVpFID09IDggJiYgRkxPQVRfU0laRSA9PSA0ICYmIGRl ZmluZWQoX18zZE5PV19fKQogIyBkZWZpbmUgdG9faW50KHgpIF9fYnVpbHRpbl9pYTMyX3BpMmZk KF9fYnVpbHRpbl9pYTMyX3BmMmlkKHgpKQogI2VsaWYgZGVmaW5lZChGTE9BVF9TSVpFKSAmJiBW RUNfU0laRSA+IEZMT0FUX1NJWkUgJiYgZGVmaW5lZChfX0FWWDUxMkZfXykgJiYgXAogICAgICAg KFZFQ19TSVpFID09IDY0IHx8IGRlZmluZWQoX19BVlg1MTJWTF9fKSkKICMgaWYgRkxPQVRfU0la RSA9PSA0CiAjICBkZWZpbmUgdG9faW50KHgpIEJSKGN2dGRxMnBzLCBfbWFzaywgQlIoY3Z0cHMy ZHEsIF9tYXNrLCB4LCAodnNpX3QpdW5kZWYoKSwgfjApLCB1bmRlZigpLCB+MCkKKyMgIGlmZGVm IF9fQVZYNTEyRFFfXworIyAgIGRlZmluZSB0b193aW50KHgpICh7IFwKKyAgICB2c2ZfaGFsZl90 IHRfID0gbG93X2hhbGYoeCk7IFwKKyAgICB2ZGlfdCBsb18sIGhpXzsgXAorICAgIHRvdWNoKHRf KTsgXAorICAgIGxvXyA9IEJSKGN2dHBzMnFxLCBfbWFzaywgdF8sICh2ZGlfdCl1bmRlZigpLCB+ MCk7IFwKKyAgICB0XyA9IGhpZ2hfaGFsZih4KTsgXAorICAgIHRvdWNoKHRfKTsgXAorICAgIGhp XyA9IEJSKGN2dHBzMnFxLCBfbWFzaywgdF8sICh2ZGlfdCl1bmRlZigpLCB+MCk7IFwKKyAgICB0 b3VjaChsb18pOyB0b3VjaChoaV8pOyBcCisgICAgaW5zZXJ0X2hhbGYoaW5zZXJ0X2hhbGYodW5k ZWYoKSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJSKGN2dHFxMnBzLCBfbWFzaywg bG9fLCAodnNmX2hhbGZfdCl7fSwgfjApLCAwKSwgXAorICAgICAgICAgICAgICAgIEJSKGN2dHFx MnBzLCBfbWFzaywgaGlfLCAodnNmX2hhbGZfdCl7fSwgfjApLCAxKTsgXAorfSkKKyMgIGVuZGlm CiAjIGVsaWYgRkxPQVRfU0laRSA9PSA4CiAjICBkZWZpbmUgdG9faW50KHgpIEIoY3Z0ZHEycGQs IF9tYXNrLCBCUihjdnRwZDJkcSwgX21hc2ssIHgsICh2c2lfaGFsZl90KXt9LCB+MCksIHVuZGVm KCksIH4wKQorIyAgaWZkZWYgX19BVlg1MTJEUV9fCisjICAgZGVmaW5lIHRvX3dpbnQoeCkgQlIo Y3Z0cXEycGQsIF9tYXNrLCBCUihjdnRwZDJxcSwgX21hc2ssIHgsICh2ZGlfdCl1bmRlZigpLCB+ MCksIHVuZGVmKCksIH4wKQorIyAgZW5kaWYKICMgZW5kaWYKICNlbGlmIFZFQ19TSVpFID09IDE2 ICYmIGRlZmluZWQoX19TU0UyX18pCiAjIGlmIEZMT0FUX1NJWkUgPT0gNApAQCAtMTIxLDYgKzE0 MiwyMSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBiCiB9KQogI2Vu ZGlmCiAKKyNpZiBWRUNfU0laRSA9PSAxNiAmJiBGTE9BVF9TSVpFID09IDQgJiYgZGVmaW5lZChf X1NTRV9fKQorIyBkZWZpbmUgbG93X2hhbGYoeCkgKHgpCisjIGRlZmluZSBoaWdoX2hhbGYoeCkg Ql8obW92aGxwcywgLCB1bmRlZigpLCB4KQorLyoKKyAqIEdDQyA3IChhbmQgcGVyaGFwcyBlYXJs aWVyKSByZXBvcnQgYSBib2d1cyB0eXBlIG1pc21hdGNoIGZvciB0aGUgY29uZGl0aW9uYWwKKyAq IGV4cHJlc3Npb24gYmVsb3cuIEFsbCB3b3JrcyB3ZWxsIHdpdGggdGhpcyBuby1vcCB3cmFwcGVy LgorICovCitzdGF0aWMgaW5saW5lIHZlY190IG1vdmxocHModmVjX3QgeCwgdmVjX3QgeSkgewor ICAgIHJldHVybiBfX2J1aWx0aW5faWEzMl9tb3ZsaHBzKHgsIHkpOworfQorIyBkZWZpbmUgaW5z ZXJ0X3BhaXIoeCwgeSwgcCkgXAorICAgICgocCkgPyBtb3ZsaHBzKHgsIHkpIFwKKyAgICAgICAg IDogKHsgdmVjX3QgdF8gPSAoeCk7IHRfWzBdID0gKHkpWzBdOyB0X1sxXSA9ICh5KVsxXTsgdF87 IH0pKQorI2VuZGlmCisKICNpZiBWRUNfU0laRSA9PSA4ICYmIEZMT0FUX1NJWkUgPT0gNCAmJiBk ZWZpbmVkKF9fM2ROT1dfQV9fKQogIyBkZWZpbmUgbWF4IF9fYnVpbHRpbl9pYTMyX3BmbWF4CiAj IGRlZmluZSBtaW4gX19idWlsdGluX2lhMzJfcGZtaW4KQEAgLTE0OSwxMyArMTg1LDE2IEBAIHN0 YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKICMgaWYgRUxFTV9DT1VOVCA9 PSA4IC8qIHZleHRyYWN0ZnszMiw2NH14NCAqLyB8fCBcCiAgICAgIChFTEVNX0NPVU5UID09IDE2 ICYmIEVMRU1fU0laRSA9PSA0ICYmIGRlZmluZWQoX19BVlg1MTJEUV9fKSkgLyogdmV4dHJhY3Rm MzJ4OCAqLyB8fCBcCiAgICAgIChFTEVNX0NPVU5UID09IDQgJiYgRUxFTV9TSVpFID09IDggJiYg ZGVmaW5lZChfX0FWWDUxMkRRX18pKSAvKiB2ZXh0cmFjdGY2NHgyICovCi0jICBkZWZpbmUgbG93 X2hhbGYoeCkgKHsgXAorIyAgZGVmaW5lIF9oYWxmKHgsIGxoKSAoeyBcCiAgICAgaGFsZl90IHRf OyBcCi0gICAgYXNtICggInZleHRyYWN0ZiVjW3ddeCVjW25dICQwLCAlW3NdLCAlW2RdIiBcCisg ICAgYXNtICggInZleHRyYWN0ZiVjW3ddeCVjW25dICVbc2VsXSwgJVtzXSwgJVtkXSIgXAogICAg ICAgICAgIDogW2RdICI9bSIgKHRfKSBcCi0gICAgICAgICAgOiBbc10gInYiICh4KSwgW3ddICJp IiAoRUxFTV9TSVpFICogOCksIFtuXSAiaSIgKEVMRU1fQ09VTlQgLyAyKSApOyBcCisgICAgICAg ICAgOiBbc10gInYiICh4KSwgW3NlbF0gImkiIChsaCksIFwKKyAgICAgICAgICAgIFt3XSAiaSIg KEVMRU1fU0laRSAqIDgpLCBbbl0gImkiIChFTEVNX0NPVU5UIC8gMikgKTsgXAogICAgIHRfOyBc CiB9KQorIyAgZGVmaW5lIGxvd19oYWxmKHgpICBfaGFsZih4LCAwKQorIyAgZGVmaW5lIGhpZ2hf aGFsZih4KSBfaGFsZih4LCAxKQogIyBlbmRpZgogIyBpZiAoRUxFTV9DT1VOVCA9PSAxNiAmJiBF TEVNX1NJWkUgPT0gNCkgLyogdmV4dHJhY3RmMzJ4NCAqLyB8fCBcCiAgICAgIChFTEVNX0NPVU5U ID09IDggJiYgRUxFTV9TSVpFID09IDggJiYgZGVmaW5lZChfX0FWWDUxMkRRX18pKSAvKiB2ZXh0 cmFjdGY2NHgyICovCkBAIC0xMTc2LDYgKzEyMTUsMTMgQEAgaW50IHNpbWRfdGVzdCh2b2lkKQog CiAjIGVuZGlmCiAKKyMgaWZkZWYgdG9fd2ludAorICAgIHRvdWNoKHNyYyk7CisgICAgeCA9IHRv X3dpbnQoc3JjKTsKKyAgICB0b3VjaChzcmMpOworICAgIGlmICggIWVxKHgsIHNyYykgKSByZXR1 cm4gX19MSU5FX187CisjIGVuZGlmCisKICMgaWZkZWYgc3FydAogICAgIHggPSBzcmMgKiBzcmM7 CiAgICAgdG91Y2goeCk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0 ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC0zMjUs NiArMzI1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRlX3RhYmxlIHsKICAgICBbMHg3 N10gPSB7IERzdEltcGxpY2l0fFNyY05vbmUgfSwKICAgICBbMHg3OF0gPSB7IEltcGxpY2l0T3Bz fE1vZFJNIH0sCiAgICAgWzB4NzldID0geyBEc3RSZWd8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tl ZF9pbnQgfSwKKyAgICBbMHg3YV0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNp bWRfcGFja2VkX2ZwLCBkOHNfdmwgfSwKKyAgICBbMHg3Yl0gPSB7IERzdEltcGxpY2l0fFNyY01l bXxNb2RSTXxNb3YsIHNpbWRfb3RoZXIsIGQ4c192bCB9LAogICAgIFsweDdjIC4uLiAweDdkXSA9 IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX290aGVyIH0sCiAgICAgWzB4N2VdID0g eyBEc3RNZW18U3JjSW1wbGljaXR8TW9kUk18TW92LCBzaW1kX25vbmUsIGQ4c19kcTY0IH0sCiAg ICAgWzB4N2ZdID0geyBEc3RNZW18U3JjSW1wbGljaXR8TW9kUk18TW92LCBzaW1kX3BhY2tlZF9p bnQsIGQ4c192bCB9LApAQCAtMzA4MCw2ICszMDgyLDEyIEBAIHg4Nl9kZWNvZGUoCiAgICAgICAg ICAgICAgICAgICAgIC0tZGlzcDhzY2FsZTsKICAgICAgICAgICAgICAgICBicmVhazsKIAorICAg ICAgICAgICAgY2FzZSAweDdhOiAvKiB2Y3Z0dHBzMnFxIG5lZWRzIHNwZWNpYWwgY2FzaW5nICov CisgICAgICAgICAgICBjYXNlIDB4N2I6IC8qIHZjdnRwczJxcSBuZWVkcyBzcGVjaWFsIGNhc2lu ZyAqLworICAgICAgICAgICAgICAgIGlmICggZGlzcDhzY2FsZSAmJiBldmV4LnBmeCA9PSB2ZXhf NjYgJiYgIWV2ZXgudyAmJiAhZXZleC5iciApCisgICAgICAgICAgICAgICAgICAgIC0tZGlzcDhz Y2FsZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAgICAgY2FzZSAweDdlOiAv KiB2bW92cSB4bW0vbTY0LHhtbSBuZWVkcyBzcGVjaWFsIGNhc2luZyAqLwogICAgICAgICAgICAg ICAgIGlmICggZGlzcDhzY2FsZSA9PSAyICYmIGV2ZXgucGZ4ID09IHZleF9mMyApCiAgICAgICAg ICAgICAgICAgICAgIGRpc3A4c2NhbGUgPSAzOwpAQCAtNzMwOSw3ICs3MzE3LDEzIEBAIHg4Nl9l bXVsYXRlKAogICAgICAgICBpZiAoIGV2ZXgucGZ4ICE9IHZleF9mMyApCiAgICAgICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKICAgICAgICAgZWxzZSBpZiAoIGV2ZXgu dyApCisgICAgICAgIHsKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHg3YSk6 ICAgLyogdmN2dHRwczJxcSB7eCx5fW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZjdnR0cGQycXEgW3h5el1tbS9tZW0s W3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweDdiKTog ICAvKiB2Y3Z0cHMycXEge3gseX1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Y3Z0cGQycXEgW3h5el1tbS9tZW0sW3h5 el1tbXtrfSAqLwogICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZHEp OworICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgICAgaG9zdF9h bmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs