diff options
author | MITSUNARI Shigeo <[email protected]> | 2016-08-15 11:04:22 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2016-08-15 11:04:22 +0900 |
commit | 4cc35dbec0e2eb4d66205f12ea3fab9d8622f99f (patch) | |
tree | e98ede8516e6b6152fcfe6a28e66dd65ee6612f5 | |
parent | eeee56fb26e77ee118e8044171e0f8a0fe09a0c3 (diff) | |
download | xbyak-4cc35dbec0e2eb4d66205f12ea3fab9d8622f99f.tar.gz xbyak-4cc35dbec0e2eb4d66205f12ea3fab9d8622f99f.zip |
xbyak_bin2hex.h does not included by xbyak.h
-rw-r--r-- | readme.md | 10 | ||||
-rw-r--r-- | readme.txt | 12 | ||||
-rw-r--r-- | test/make_nm.cpp | 1 | ||||
-rw-r--r-- | xbyak/xbyak.h | 22 | ||||
-rw-r--r-- | xbyak/xbyak_mnemonic.h | 2 |
5 files changed, 20 insertions, 27 deletions
@@ -1,5 +1,5 @@ -Xbyak 5.01 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++ +Xbyak 5.02 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++ ============= Abstract @@ -297,12 +297,6 @@ Sample * calc.cpp ; assemble and estimate a given polynomial(x86, x64) * bf.cpp ; JIT brainfuck(x86, x64) -Remark -------------- - -The current version does not support 3D Now!, 80bit FPU load/store and some special mnemonics. -Please mail to me if necessary. - License ------------- @@ -315,6 +309,8 @@ The header files under xbyak/ are independent of cybozulib. History ------------- +* 2016/Aug/15 ver 5.02 xbyak does not include xbyak_bin2hex.h +* 2016/Aug/15 ver 5.011 fix detection of version of gcc 5.4 * 2016/Aug/03 ver 5.01 disable omitted operand * 2016/Jun/24 ver 5.00 support avx-512 instruction set * 2016/Jun/13 avx-512 add mask instructions @@ -1,5 +1,5 @@ - C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.01
+ C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.02
-----------------------------------------------------------------------------
◎概要
@@ -317,14 +317,6 @@ calc.cpp ; 与えられた多項式をアセンブルして実行(x86, x64) bf.cpp ; JIT Brainfuck(x86, x64)
-----------------------------------------------------------------------------
-◎注意
-
-MMX/SSE命令はほぼ全て実装されていますが、3D Now!命令や、一部の特殊な
-命令は現時点では実装されていません。FPUの80bit浮動小数はサポートしていません。
-
-何かご要望があればご連絡ください。
-
------------------------------------------------------------------------------
◎ライセンス
修正された新しいBSDライセンスに従います。
@@ -341,6 +333,8 @@ cybozulibは単体テストでのみ利用されていて、xbyak/ディレク� -----------------------------------------------------------------------------
◎履歴
+2016/08/15 ver 5.02 xbyak_bin2hex.hをincludeしない
+2016/08/15 ver 5.011 gcc 5.4のバージョン取得ミスの修正
2016/08/03 ver 5.01 AVXの省略表記非サポート
2016/07/24 ver 5.00 avx-512フルサポート
2016/06/13 avx-512 opmask命令サポート
diff --git a/test/make_nm.cpp b/test/make_nm.cpp index bcc780e..477a77f 100644 --- a/test/make_nm.cpp +++ b/test/make_nm.cpp @@ -1,5 +1,6 @@ #include <stdio.h> #include "xbyak/xbyak.h" +#include "xbyak/xbyak_bin2hex.h" #include <stdlib.h> #include <string.h> #include "cybozu/inttype.hpp" diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h index a785e07..a04ae45 100644 --- a/xbyak/xbyak.h +++ b/xbyak/xbyak.h @@ -31,6 +31,12 @@ #undef XBYAK_USE_MMAP_ALLOCATOR #endif +#ifdef __GNUC__ + #define XBYAK_GNUC_PREREQ(major, minor) ((__GNUC__) * 100 + (__GNUC_MINOR__) >= (major) * 100 + (minor)) +#else + #define XBYAK_GNUC_PREREQ(major, minor) 0 +#endif + // This covers -std=(gnu|c)++(0x|11|1y), -stdlib=libc++, and modern Microsoft. #if ((defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(_LIBCPP_VERSION) ||\ ((__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__))) @@ -38,13 +44,11 @@ #define XBYAK_STD_UNORDERED_MAP std::unordered_map #define XBYAK_STD_UNORDERED_MULTIMAP std::unordered_multimap -// Clang/llvm-gcc and ICC-EDG in 'GCC-mode' always claim to be GCC 4.2, using -// libstdcxx 20070719 (from GCC 4.2.1, the last GPL 2 version). -// These headers have been expanded/fixed in various forks. -// In F.S.F. 'real' GCC, issues with the tr headers were resolved in GCC 4.5. -#elif defined(__GNUC__) && (__GNUC__ >= 4) && ((__GNUC_MINOR__ >= 5) || \ - ((__GLIBCXX__ >= 20070719) && (__GNUC_MINOR__ >= 2) && \ - (defined(__INTEL_COMPILER) || defined(__llvm__)))) +/* + Clang/llvm-gcc and ICC-EDG in 'GCC-mode' always claim to be GCC 4.2, using + libstdcxx 20070719 (from GCC 4.2.1, the last GPL 2 version). +*/ +#elif XBYAK_GNUC_PREREQ(4, 5) || (XBYAK_GNUC_PREREQ(4, 2) && __GLIBCXX__ >= 20070719) || defined(__INTEL_COMPILER) || defined(__llvm__) #include <tr1/unordered_map> #define XBYAK_STD_UNORDERED_MAP std::tr1::unordered_map #define XBYAK_STD_UNORDERED_MULTIMAP std::tr1::unordered_multimap @@ -99,11 +103,9 @@ namespace Xbyak { -#include "xbyak_bin2hex.h" - enum { DEFAULT_MAX_CODE_SIZE = 4096, - VERSION = 0x5010 /* 0xABCD = A.BC(D) */ + VERSION = 0x5020 /* 0xABCD = A.BC(D) */ }; #ifndef MIE_INTEGER_TYPE_DEFINED diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h index dcc7f2c..ace6e60 100644 --- a/xbyak/xbyak_mnemonic.h +++ b/xbyak/xbyak_mnemonic.h @@ -1,4 +1,4 @@ -const char *getVersionString() const { return "5.00"; } +const char *getVersionString() const { return "5.02"; } void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); } void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); } void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); } |