mirror of
https://github.com/FEX-Emu/xbyak.git
synced 2025-02-23 14:50:45 +00:00
update document and version
This commit is contained in:
parent
362d379b3d
commit
a2db4e9369
12
readme.md
12
readme.md
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Xbyak 3.80 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
Xbyak 4.00 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Abstract
|
Abstract
|
||||||
@ -14,7 +14,7 @@ you can use Xbyak's functions at once if xbyak.h is included.
|
|||||||
|
|
||||||
### Supported Instructions Sets
|
### Supported Instructions Sets
|
||||||
|
|
||||||
MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(*partial*)/AVX
|
MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(*partial*)/AVX/AVX2/FMA/VEX-encoded GPR
|
||||||
|
|
||||||
### Supported OS
|
### Supported OS
|
||||||
|
|
||||||
@ -24,9 +24,9 @@ MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(*partial*)/AVX
|
|||||||
|
|
||||||
### Supported Compilers
|
### Supported Compilers
|
||||||
|
|
||||||
* Visual Studio C++ 2005 Express Ed., VC2008 Pro, VC2010
|
* Visual Studio C++ VC2008 Pro, VC2010, VC2012
|
||||||
* gcc 4.5
|
* gcc 4.7
|
||||||
* mingw 3.4.2
|
* cygwin gcc 4.5.3
|
||||||
* icc 7.2
|
* icc 7.2
|
||||||
|
|
||||||
>Note: Xbyak uses and(), or(), xor(), not() functions, so "-fno-operator-names" option is required on gcc.
|
>Note: Xbyak uses and(), or(), xor(), not() functions, so "-fno-operator-names" option is required on gcc.
|
||||||
@ -101,6 +101,7 @@ You can omit a destination for almost 3-op mnemonics.
|
|||||||
vaddps(xmm1, xmm2, xmm3); // xmm1 <- xmm2 + xmm3
|
vaddps(xmm1, xmm2, xmm3); // xmm1 <- xmm2 + xmm3
|
||||||
vaddps(xmm2, xmm3); // xmm2 <- xmm2 + xmm3
|
vaddps(xmm2, xmm3); // xmm2 <- xmm2 + xmm3
|
||||||
vaddps(xmm2, xmm3, ptr [rax]); // use ptr to access memory
|
vaddps(xmm2, xmm3, ptr [rax]); // use ptr to access memory
|
||||||
|
vgatherdpd(xmm1, ptr [ebp+123+xmm2*4], xmm3);
|
||||||
|
|
||||||
### Label
|
### Label
|
||||||
|
|
||||||
@ -226,6 +227,7 @@ http://opensource.org/licenses/BSD-3-Clause
|
|||||||
|
|
||||||
History
|
History
|
||||||
-------------
|
-------------
|
||||||
|
* 2013/May/30 ver 4.00 support AVX2, VEX-encoded GPR-instructions
|
||||||
* 2013/Mar/27 ver 3.80 support mov(reg, "label");
|
* 2013/Mar/27 ver 3.80 support mov(reg, "label");
|
||||||
* 2013/Mar/13 ver 3.76 add cqo(), jcxz(), jecxz(), jrcxz()
|
* 2013/Mar/13 ver 3.76 add cqo(), jcxz(), jecxz(), jrcxz()
|
||||||
* 2013/Jan/15 ver 3.75 add setSize() to modify generated code
|
* 2013/Jan/15 ver 3.75 add setSize() to modify generated code
|
||||||
|
12
readme.txt
12
readme.txt
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 3.80
|
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 4.00
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
◎概要
|
◎概要
|
||||||
@ -14,12 +14,11 @@
|
|||||||
xbyak.hをインクルードするだけですぐ利用することができます。
|
xbyak.hをインクルードするだけですぐ利用することができます。
|
||||||
C++の枠組み内で閉じているため、外部アセンブラは不要です。
|
C++の枠組み内で閉じているため、外部アセンブラは不要です。
|
||||||
32bit/64bit両対応です。
|
32bit/64bit両対応です。
|
||||||
対応ニーモニック:特権命令除くx86, MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(一部)/AVX
|
対応ニーモニック:特権命令除くx86, MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(一部)/AVX/AVX2/FMA/VEX-encoded GPR
|
||||||
|
|
||||||
・Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel Mac対応
|
・Windows Xp(32bit, 64bit), Windows 7/Linux(32bit, 64bit)/Intel Mac対応
|
||||||
Windows Xp上ではVC2005 Express Ed., VC2008, VC2010,
|
Windows Xp, Windows 7上ではVC2008, VC2010, VC2012
|
||||||
Windows Vista
|
Linux (kernel 3.8)上ではgcc 4.7.3
|
||||||
Linux (kernel 2.4.32)上ではgcc 4.5.0, CentOS 5.1上ではgcc 4.1.2
|
|
||||||
Intel Mac
|
Intel Mac
|
||||||
などで動作確認をしています。
|
などで動作確認をしています。
|
||||||
|
|
||||||
@ -245,6 +244,7 @@ sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から
|
|||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
◎履歴
|
◎履歴
|
||||||
|
|
||||||
|
2013/05/30 ver 4.00 AVX2, VEX-encoded GPR-instructionをサポート
|
||||||
2013/03/27 ver 3.80 mov(reg, "label");をサポート
|
2013/03/27 ver 3.80 mov(reg, "label");をサポート
|
||||||
2013/03/13 ver 3.76 cqo, jcxz, jecxz, jrcxz追加
|
2013/03/13 ver 3.76 cqo, jcxz, jecxz, jrcxz追加
|
||||||
2013/01/15 ver 3.75 生成されたコードを修正するためにsetSize()を追加
|
2013/01/15 ver 3.75 生成されたコードを修正するためにsetSize()を追加
|
||||||
|
@ -72,7 +72,7 @@ namespace Xbyak {
|
|||||||
|
|
||||||
enum {
|
enum {
|
||||||
DEFAULT_MAX_CODE_SIZE = 4096,
|
DEFAULT_MAX_CODE_SIZE = 4096,
|
||||||
VERSION = 0x3800 /* 0xABCD = A.BC(D) */
|
VERSION = 0x4000 /* 0xABCD = A.BC(D) */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef MIE_INTEGER_TYPE_DEFINED
|
#ifndef MIE_INTEGER_TYPE_DEFINED
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
const char *getVersionString() const { return "3.80"; }
|
const char *getVersionString() const { return "4.00"; }
|
||||||
void packssdw(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x6B); }
|
void packssdw(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x6B); }
|
||||||
void packsswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x63); }
|
void packsswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x63); }
|
||||||
void packuswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x67); }
|
void packuswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x67); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user