add sortline for tool
diff --git a/gen/sortline.cpp b/gen/sortline.cpp
new file mode 100644
index 0000000..a70ed9f
--- /dev/null
+++ b/gen/sortline.cpp
@@ -0,0 +1,23 @@
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <set>
+
+typedef std::set<std::string> StrSet;
+
+int main()
+{
+	StrSet ss;
+	std::string line;
+	while (std::getline(std::cin, line)) {
+		if (!line.empty() && line[line.size() - 1] == '\n') {
+			line.resize(line.size() - 1);
+		}
+		if (!line.empty()) {
+			ss.insert(line);
+		}
+	}
+	for (StrSet::const_iterator i = ss.begin(), ie = ss.end(); i != ie; ++i) {
+		std::cout << *i << std::endl;
+	}
+}
diff --git a/gen/update.bat b/gen/update.bat
index eabbd25..55b0025 100644
--- a/gen/update.bat
+++ b/gen/update.bat
@@ -3,19 +3,15 @@
 set TARGET=..\\xbyak\\xbyak_mnemonic.h
 set SORT=sortline
 cl gen_code.cpp %OPT%
-gen_code > tmp.txt
-%SORT% tmp.txt > %TARGET%
+gen_code | %SORT% > %TARGET%
 echo #ifdef XBYAK_ENABLE_OMITTED_OPERAND>> %TARGET%
-gen_code omit > tmp.txt
-%SORT% tmp.txt >> %TARGET%
+gen_code omit | %SORT% >> %TARGET%
 echo #endif>>%TARGET%
 gen_code fixed >> %TARGET%
 cl gen_avx512.cpp %OPT%
 echo #ifndef XBYAK_DISABLE_AVX512>> %TARGET%
-gen_avx512 > tmp.txt
-%SORT% tmp.txt >> %TARGET%
+gen_avx512 | %SORT% >> %TARGET%
 echo #ifdef XBYAK64>> %TARGET%
-gen_avx512 64 > tmp.txt
-%SORT% tmp.txt >> %TARGET%
+gen_avx512 64 | %SORT% >> %TARGET%
 echo #endif>> %TARGET%
-echo #endif>> %TARGET%
\ No newline at end of file
+echo #endif>> %TARGET%