default encoding is always evex
This commit is contained in:
parent
f85b1100b5
commit
6b3eb9c1e4
2 changed files with 7 additions and 5 deletions
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue