diff options
author | MITSUNARI Shigeo <[email protected]> | 2024-10-13 15:45:43 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2024-10-13 15:45:43 +0900 |
commit | 08f71cee951cfdda6b056165e0491b686a2b05bf (patch) | |
tree | db56f88a024a90ef86257205ad59f6723fdff631 /gen | |
parent | f6c66cf6b81f7a063a930cdfc0a62c68e6e2d0fc (diff) | |
download | xbyak-08f71cee951cfdda6b056165e0491b686a2b05bf.tar.gz xbyak-08f71cee951cfdda6b056165e0491b686a2b05bf.zip |
vpdpw[su,us,uu]d[,s] support avx10.2
Diffstat (limited to 'gen')
-rw-r--r-- | gen/gen_avx512.cpp | 14 | ||||
-rw-r--r-- | gen/gen_code.cpp | 14 |
2 files changed, 18 insertions, 10 deletions
diff --git a/gen/gen_avx512.cpp b/gen/gen_avx512.cpp index ed7440c..2b8a328 100644 --- a/gen/gen_avx512.cpp +++ b/gen/gen_avx512.cpp @@ -467,16 +467,22 @@ void putX_X_XM_IMM_AVX10() int sel; bool hasIMM; } tbl[] = { + // vpdpb[su,uu,ss]d[,s] { 0x50, "vpdpbssd", T_F2|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, { 0x51, "vpdpbssds", T_F2|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, { 0x50, "vpdpbsud", T_F3|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, { 0x51, "vpdpbsuds", T_F3|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, { 0x50, "vpdpbuud", T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, { 0x51, "vpdpbuuds", T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, -#if 0 - { 0x50, "vpdpbuud", T_MUST_EVEX | T_YMM | T_0F38 | T_EW0 | T_B32, false }, - { 0x51, "vpdpbuuds", T_MUST_EVEX | T_YMM | T_0F38 | T_EW0 | T_B32, false }, -#endif + + // vpdpw[su,us,uu]d[,s] + { 0xD2, "vpdpwsud", T_F3|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0xD3, "vpdpwsuds", T_F3|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0xD2, "vpdpwusd", T_66|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0xD3, "vpdpwusds", T_66|T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0xD2, "vpdpwuud", T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0xD3, "vpdpwuuds", T_0F38|T_YMM, T_W0, T_EW0|T_B32, 1, false }, + { 0x42, "vmpsadbw", T_0F3A|T_YMM, T_66|T_W0|T_YMM, T_F3|T_0F3A|T_EW0|T_B32, 1, true }, }; for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) { diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp index a71d416..a22c12b 100644 --- a/gen/gen_code.cpp +++ b/gen/gen_code.cpp @@ -1901,6 +1901,7 @@ void put() } // avx-vnni-int8 // avx-vnni-int16 +#if 0 { const struct Tbl { uint8_t code; @@ -1914,12 +1915,12 @@ void put() // { 0x50, "vpdpbuud", T_0F38 | T_W0 | T_YMM }, // { 0x51, "vpdpbuuds", T_0F38 | T_W0 | T_YMM }, - { 0xD2, "vpdpwsud", T_F3 | T_0F38 | T_W0 | T_YMM }, - { 0xD3, "vpdpwsuds", T_F3 | T_0F38 | T_W0 | T_YMM }, - { 0xD2, "vpdpwusd", T_66 | T_0F38 | T_W0 | T_YMM }, - { 0xD3, "vpdpwusds", T_66 | T_0F38 | T_W0 | T_YMM }, - { 0xD2, "vpdpwuud", T_0F38 | T_W0 | T_YMM }, - { 0xD3, "vpdpwuuds", T_0F38 | T_W0 | T_YMM }, +// { 0xD2, "vpdpwsud", T_F3 | T_0F38 | T_W0 | T_YMM }, +// { 0xD3, "vpdpwsuds", T_F3 | T_0F38 | T_W0 | T_YMM }, +// { 0xD2, "vpdpwusd", T_66 | T_0F38 | T_W0 | T_YMM }, +// { 0xD3, "vpdpwusds", T_66 | T_0F38 | T_W0 | T_YMM }, +// { 0xD2, "vpdpwuud", T_0F38 | T_W0 | T_YMM }, +// { 0xD3, "vpdpwuuds", T_0F38 | T_W0 | T_YMM }, }; for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) { const Tbl *p = &tbl[i]; @@ -1927,6 +1928,7 @@ void put() printf("void %s(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, %s, 0x%02X); }\n", p->name, s.c_str(), p->code); } } +#endif } void put32() |