update version
diff --git a/readme.md b/readme.md
index 01aa50f..d932908 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
 
-Xbyak 4.10 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+Xbyak 4.20 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 =============
 
 Abstract
@@ -237,6 +237,7 @@
 
 History
 -------------
+* 2013/Jul/30 ver 4.20 [break backward compatibility] split Reg32e class into RegExp(base+index*scale+disp) and Reg32e(means Reg32 or Reg64)
 * 2013/Jul/04 ver 4.10 [break backward compatibility] change the type of Xbyak::Error from enum to a class
 * 2013/Jun/21 ver 4.02 add putL(LABEL) function to put the address of the label
 * 2013/Jun/21 ver 4.01 vpsllw, vpslld, vpsllq, vpsraw, vpsrad, vpsrlw, vpsrld, vpsrlq support (ymm, ymm, xmm).
diff --git a/readme.txt b/readme.txt
index 872b41c..74cb5ee 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 

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

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

 

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

 ◎概要

@@ -41,7 +41,7 @@
 ** 従来のenumの値をとるにはintにキャストしてください。

 * (古い)Reg32eクラスを(新しい)Reg32eとRegExpに分ける。

 ** (新しい)Reg32eはReg32かReg64

-** (新しい)RegExpは'Reg32e + Reg32e * scale + disp'の型

+** (新しい)RegExpは'Reg32e + (Reg32e|Xmm|Ymm) * scale + disp'の型

 

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

 ◎新機能

@@ -252,6 +252,7 @@
 -----------------------------------------------------------------------------

 ◎履歴

 

+2013/07/30 ver 4.20 [break backward compatibility] 従来のReg32eクラスをアドレッシング用のRegExpとReg32, Reg64を表すReg32eに分離

 2013/07/04 ver 4.10 [break backward compatibility] Xbyak::Errorの型をenumからclassに変更

 2013/06/21 ver 4.02 LABELの指すアドレスを書き込むputL(LABEL)関数の追加。

 2013/06/21 ver 4.01 vpsllw, vpslld, vpsllq, vpsraw, vpsrad, vpsrlw, vpsrld, vpsrlq support (ymm, ymm, xmm)

diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 8bcacd4..4c0578e 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -72,7 +72,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x4100 /* 0xABCD = A.BC(D) */
+	VERSION = 0x4200 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 1c04623..bf41c4e 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "4.10"; }
+const char *getVersionString() const { return "4.20"; }
 void packssdw(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x6B); }
 void packsswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x63); }
 void packuswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x67); }