v5.81
diff --git a/readme.md b/readme.md
index d48ba25..f3c3781 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
 
-# Xbyak 5.802 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.81 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 
 ## Abstract
 
@@ -392,6 +392,7 @@
 http://opensource.org/licenses/BSD-3-Clause
 
 ## History
+* 2019/Sep/14 ver 5.81 support some generic mnemonics.
 * 2019/Aug/01 ver 5.802 fix detection of AVX512_BF16 (thanks to vpirogov)
 * 2019/May/27 support vp2intersectd, vp2intersectq (not tested)
 * 2019/May/26 ver 5.80 support vcvtne2ps2bf16, vcvtneps2bf16, vdpbf16ps
diff --git a/readme.txt b/readme.txt
index 1fc67ff..54caee5 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 

-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.802

+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.81

 

 -----------------------------------------------------------------------------

 ◎概要

@@ -373,6 +373,7 @@
 -----------------------------------------------------------------------------

 ◎履歴

 

+2019/09/14 ver 5.81 いくつかの一般命令をサポート

 2019/08/01 ver 5.802 AVX512_BF16判定修正 (thanks to vpirogov)

 2019/05/27 support vp2intersectd, vp2intersectq (not tested)

 2019/05/26 ver 5.80 support vcvtne2ps2bf16, vcvtneps2bf16, vdpbf16ps

diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 0efe4e1..fa5b405 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -113,7 +113,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5802 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5810 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index b7db103..88b190b 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.802"; }
+const char *getVersionString() const { return "5.81"; }
 void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); }
 void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
 void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }