aboutsummaryrefslogtreecommitdiffhomepage
path: root/gen
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <[email protected]>2024-10-11 11:50:55 +0900
committerMITSUNARI Shigeo <[email protected]>2024-10-13 13:51:06 +0900
commit3ca7e64c63daac8c3dd1c3cbafdc26ac011fa6ab (patch)
treec9f0509a05372e641bc698466064e7e1be1ce20b /gen
parent864fd0c49ce07fc534b16250758987c445bb9c70 (diff)
downloadxbyak-3ca7e64c63daac8c3dd1c3cbafdc26ac011fa6ab.tar.gz
xbyak-3ca7e64c63daac8c3dd1c3cbafdc26ac011fa6ab.zip
add type of w(x, x, op) in avx10 bf16
Diffstat (limited to 'gen')
-rw-r--r--gen/gen_avx512.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/gen/gen_avx512.cpp b/gen/gen_avx512.cpp
index 23923b0..ff1ba30 100644
--- a/gen/gen_avx512.cpp
+++ b/gen/gen_avx512.cpp
@@ -946,18 +946,26 @@ void putFP16_2()
void putAVX10_BF16()
{
- const struct Tbl {
+ // x, x, op
+ const struct xxopTbl {
const char *name;
uint64_t type;
uint8_t code;
} tbl[] = {
{ "vaddnepbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x58 },
+ { "vdivnepbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x5E },
+ { "vmaxpbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x5F },
+ { "vminpbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x5D },
+ { "vmulnepbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x59 },
+ { "vscalefpbf16", T_MAP6 | T_EW0 | T_YMM | T_B16, 0x2C },
+ { "vsubnepbf16", T_66 | T_MAP5 | T_EW0 | T_YMM | T_B16, 0x5C },
};
for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
- const Tbl& p = tbl[i];
+ const xxopTbl& p = tbl[i];
std::string s = type2String(p.type | T_MUST_EVEX);
printf("void %s(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, %s, 0x%2X); }\n" , p.name, s.c_str(), p.code);
}
+// { "vrcppbf16", T_66 | T_MAP6 | T_EW0 | T_YMM | T_B16, 0x4C },
}
void putFP16()