add vpavgb, vpavgw
diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp
index e462d94..b491f03 100644
--- a/gen/gen_code.cpp
+++ b/gen/gen_code.cpp
@@ -1066,8 +1066,8 @@
 			{ 0xDB, "pand", T_0F | T_66 | T_YMM, false, true },
 			{ 0xDF, "pandn", T_0F | T_66 | T_YMM, false, true },
 
-			{ 0xE0, "pavgb", T_0F | T_66 | T_YMM, false, true },
-			{ 0xE3, "pavgw", T_0F | T_66 | T_YMM, false, true },
+			{ 0xE0, "pavgb", T_0F | T_66 | T_YMM | T_EVEX, false, true },
+			{ 0xE3, "pavgw", T_0F | T_66 | T_YMM | T_EVEX, false, true },
 
 			{ 0x74, "pcmpeqb", T_0F | T_66 | T_YMM, false, true },
 			{ 0x75, "pcmpeqw", T_0F | T_66 | T_YMM, false, true },
diff --git a/test/make_nm.cpp b/test/make_nm.cpp
index ffc226a..2679888 100644
--- a/test/make_nm.cpp
+++ b/test/make_nm.cpp
@@ -2772,6 +2772,9 @@
 
 			{ "vpandnd", ZMM_KZ, _ZMM, _ZMM | M_1to16 },
 			{ "vpandnq", ZMM_KZ, _ZMM, _ZMM | M_1to8 },
+
+			{ "vpavgb", ZMM_KZ, _ZMM, _ZMM },
+			{ "vpavgw", ZMM_KZ, _ZMM, _ZMM },
 		};
 		for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
 			const Tbl& p = tbl[i];
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 90a9bcd..adc2347 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -807,9 +807,9 @@
 void vpand(const Xmm& x, const Operand& op) { vpand(x, x, op); }
 void vpandn(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xDF); }
 void vpandn(const Xmm& x, const Operand& op) { vpandn(x, x, op); }
-void vpavgb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xE0); }
+void vpavgb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xE0); }
 void vpavgb(const Xmm& x, const Operand& op) { vpavgb(x, x, op); }
-void vpavgw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xE3); }
+void vpavgw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xE3); }
 void vpavgw(const Xmm& x, const Operand& op) { vpavgw(x, x, op); }
 void vpcmpeqb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0x74); }
 void vpcmpeqb(const Xmm& x, const Operand& op) { vpcmpeqb(x, x, op); }