gather test does not generate bad combination of regs
diff --git a/test/make_nm.cpp b/test/make_nm.cpp
index 494d8ac..6fd875a 100644
--- a/test/make_nm.cpp
+++ b/test/make_nm.cpp
@@ -179,6 +179,19 @@
 			printf("\n");
 		}
 	}
+	void put(const char *nm, const char *para1, uint64_t op2, const char *para3) const
+	{
+		for (int j = 0; j < bitEnd; j++) {
+			if ((op2 & (1ULL << j)) == 0) continue;
+			printf("%s ", nm);
+			if (isXbyak_) printf("(");
+			printf("%s", para1);
+			if (!(op2 & NOPARA)) printf(", %s", get(1ULL << j));
+			printf(", %s", para3);
+			if (isXbyak_) printf("); dump();");
+			printf("\n");
+		}
+	}
 	const char *get(uint64_t type) const
 	{
 		int idx = (rand() / 31) & 7;
@@ -2361,16 +2374,16 @@
 		for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
 			const Tbl& p = tbl[i];
 			const char *name = p.name;
-			put(name, XMM, VM32X, XMM);
+			put(name, "xmm3", VM32X, "xmm5");
 			switch (p.mode) {
 			case y_vx_y:
-				put(name, YMM, VM32X, YMM);
+				put(name, "ymm3", VM32X, "ymm5");
 				break;
 			case y_vy_y:
-				put(name, YMM, VM32Y, YMM);
+				put(name, "ymm3", VM32Y, "ymm5");
 				break;
 			case x_vy_x:
-				put(name, XMM, VM32Y, XMM);
+				put(name, "xmm3", VM32Y, "xmm5");
 				break;
 			default:
 				printf("ERR mode=%d\n", p.mode);