Skip to content

Commit

Permalink
xbyak_bin2hex.h does not included by xbyak.h
Browse files Browse the repository at this point in the history
  • Loading branch information
herumi committed Aug 15, 2016
1 parent eeee56f commit 4cc35db
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 27 deletions.
10 changes: 3 additions & 7 deletions readme.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
-------------

Expand All @@ -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
Expand Down
12 changes: 3 additions & 9 deletions readme.txt
Original file line number Diff line number Diff line change
@@ -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

-----------------------------------------------------------------------------
◎概要
Expand Down Expand Up @@ -316,14 +316,6 @@ calc.cpp ; 与えられた多項式をアセンブルして実行(x86, x64)
boost(http://www.boost.org/)が必要
bf.cpp ; JIT Brainfuck(x86, x64)

-----------------------------------------------------------------------------
◎注意

MMX/SSE命令はほぼ全て実装されていますが、3D Now!命令や、一部の特殊な
命令は現時点では実装されていません。FPUの80bit浮動小数はサポートしていません。

何かご要望があればご連絡ください。

-----------------------------------------------------------------------------
◎ライセンス

Expand All @@ -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命令サポート
Expand Down
1 change: 1 addition & 0 deletions test/make_nm.cpp
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
22 changes: 12 additions & 10 deletions xbyak/xbyak.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,24 @@
#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__)))
#include <unordered_map>
#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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion xbyak/xbyak_mnemonic.h
Original file line number Diff line number Diff line change
@@ -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); }
Expand Down

0 comments on commit 4cc35db

Please sign in to comment.