add serialize
diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp
index a8b169e..9e2b808 100644
--- a/gen/gen_code.cpp
+++ b/gen/gen_code.cpp
@@ -693,6 +693,7 @@
 			{ "lock", 0xF0 },
 
 			{ "sahf", 0x9E },
+			{ "serialize", 0x0F, 0x01, 0xE8 },
 			{ "stc", 0xF9 },
 			{ "std", 0xFD },
 			{ "sti", 0xFB },
diff --git a/test/make_nm.cpp b/test/make_nm.cpp
index 801ffe0..60a9fa7 100644
--- a/test/make_nm.cpp
+++ b/test/make_nm.cpp
@@ -533,6 +533,7 @@
 			"nop",
 
 			"sahf",
+			"serialize",
 			"stc",
 			"std",
 			"sti",
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 74ceb53..4b9bdce 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -747,6 +747,7 @@
 void scasb() { db(0xAE); }
 void scasd() { db(0xAF); }
 void scasw() { db(0x66); db(0xAF); }
+void serialize() { db(0x0F); db(0x01); db(0xE8); }
 void seta(const Operand& op) { opR_ModM(op, 8, 0, 0x0F, 0x90 | 7); }//-V524
 void setae(const Operand& op) { opR_ModM(op, 8, 0, 0x0F, 0x90 | 3); }//-V524
 void setb(const Operand& op) { opR_ModM(op, 8, 0, 0x0F, 0x90 | 2); }//-V524