diff --git a/doc/usage.md b/doc/usage.md index 1ab56e1..53c0bb9 100644 --- a/doc/usage.md +++ b/doc/usage.md @@ -121,15 +121,14 @@ vmpsadbw(xm1, xm3, xm15, 3); // evex(avx10.2) ``` -- `setDefaultEncoding(PreferredEncoding vnniEnc = EvexEncoding, PreferredEncoding mpsadbwEnc = VexEncoding)` - - 1st argument. Set the default encoding to select EVEX or VEX for VNNI - - The default value is EvexEncoding (AVX512_VNNI). - - encoded as AVX-VNNI if VexEncoding is set. - - This parameter affects to vpdpbusd, vpdpbusds, vpdpwssd, vpdpwssds. - - 2nd argument. Set the default encoding to select EVEX or VEX for vmpsadbw - - The default value is VexEncoding (AVX/AVX2). - - encoded as AVX10.2 if EvexEncoding is set. - - This parameter affects to vmpsadbw. +- `setDefaultEncoding(PreferredEncoding vnniEnc = EvexEncoding, PreferredEncoding avx10Enc = VexEncoding)` + +param|vnniEnc|avx10Enc +-|-|- +EvexEncoding|AVX512_VNNI|AVX10.2 +VexEncoding|AVX/AVX2|AVX-VNNI-INT8 +default|EvexEncoding|VexEncoding +mnemonic|vpdpbusd, vpdpbusds, vpdpwssd, vpdpwssds|vmpsadbw, vpdpbssd ### Remark * `k1`, ..., `k7` are opmask registers. diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h index c5de008..454613c 100644 --- a/xbyak/xbyak.h +++ b/xbyak/xbyak.h @@ -3170,9 +3170,11 @@ public: #undef jnl #endif - // set default encoding to select Vex or Evex - void setDefaultEncoding(PreferredEncoding vnniEnc = EvexEncoding, PreferredEncoding mpsadbwEnc = VexEncoding) - { defaultEncoding_[0] = vnniEnc; defaultEncoding_[1] = mpsadbwEnc; } + // set default encoding + // vnniEnc : control AVX512_VNNI (evex:default) or AVX-VNNI (vex) + // avx10Enc : control mpsadbw, AVX-VNNI-INT8 (vex:default) or AVX10.2 (evex) + void setDefaultEncoding(PreferredEncoding vnniEnc = EvexEncoding, PreferredEncoding avx10Enc = VexEncoding) + { defaultEncoding_[0] = vnniEnc; defaultEncoding_[1] = avx10Enc; } void sha1msg12(const Xmm& x, const Operand& op) {