default encoding is always evex

This commit is contained in:
MITSUNARI Shigeo 2020-10-19 18:09:12 +09:00
parent f85b1100b5
commit 6b3eb9c1e4
2 changed files with 7 additions and 5 deletions

View file

@ -821,7 +821,9 @@ CYBOZU_TEST_AUTO(vnni)
struct Code : Xbyak::CodeGenerator { struct Code : Xbyak::CodeGenerator {
Code() Code()
{ {
vpdpbusd(xm0, xm1, xm2); // EVEX // default encoding is EVEX
vpdpbusd(xm0, xm1, xm2);
vpdpbusd(xm0, xm1, xm2, EvexEncoding); // EVEX
vpdpbusd(xm0, xm1, xm2, VexEncoding); // VEX vpdpbusd(xm0, xm1, xm2, VexEncoding); // VEX
} }
void badVex() void badVex()
@ -830,6 +832,7 @@ CYBOZU_TEST_AUTO(vnni)
} }
} c; } c;
const uint8_t tbl[] = { const uint8_t tbl[] = {
0x62, 0xF2, 0x75, 0x08, 0x50, 0xC2,
0x62, 0xF2, 0x75, 0x08, 0x50, 0xC2, 0x62, 0xF2, 0x75, 0x08, 0x50, 0xC2,
0xC4, 0xE2, 0x71, 0x50, 0xC2, 0xC4, 0xE2, 0x71, 0x50, 0xC2,
}; };

View file

@ -2306,12 +2306,11 @@ private:
void opVnni(const Xmm& x1, const Xmm& x2, const Operand& op, int type, int code0, PreferredEncoding encoding) void opVnni(const Xmm& x1, const Xmm& x2, const Operand& op, int type, int code0, PreferredEncoding encoding)
{ {
if (encoding == DefaultEncoding) { if (encoding == DefaultEncoding) {
#ifdef XBYAK_DISABLE_AVX512
encoding = VexEncoding;
#else
encoding = EvexEncoding; encoding = EvexEncoding;
#endif
} }
#ifdef XBYAK_DISABLE_AVX512
if (encoding == EvexEncoding) XBYAK_THROW(ERR_EVEX_IS_INVALID)
#endif
if (encoding == EvexEncoding) { if (encoding == EvexEncoding) {
type |= T_MUST_EVEX; type |= T_MUST_EVEX;
} }