add finit/fninit/fwait
This commit is contained in:
parent
0e1956bf0e
commit
8cb9480e50
6 changed files with 34 additions and 23 deletions
|
@ -489,7 +489,8 @@ void put()
|
|||
{ "rdpmc", 0x0F, B00110011 },
|
||||
{ "rdtsc", 0x0F, B00110001 },
|
||||
{ "rdtscp", 0x0F, 0x01, 0xF9 },
|
||||
{ "wait", B10011011 },
|
||||
{ "wait", 0x9B },
|
||||
{ "fwait", 0x9B },
|
||||
{ "wbinvd", 0x0F, B00001001 },
|
||||
{ "wrmsr", 0x0F, B00110000 },
|
||||
{ "xlatb", 0xD7 },
|
||||
|
@ -515,6 +516,8 @@ void put()
|
|||
{ "fdivp", 0xDE, 0xF9 },
|
||||
{ "fdivrp", 0xDE, 0xF1 },
|
||||
{ "fincstp", 0xD9, 0xF7 },
|
||||
{ "finit", 0x9B, 0xDB, 0xE3 },
|
||||
{ "fninit", 0xDB, 0xE3 },
|
||||
{ "fld1", 0xD9, 0xE8 },
|
||||
{ "fldl2t", 0xD9, 0xE9 },
|
||||
{ "fldl2e", 0xD9, 0xEA },
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
Xbyak 3.61 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
||||
Xbyak 3.62 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
||||
=============
|
||||
|
||||
Abstract
|
||||
|
@ -222,6 +222,7 @@ http://opensource.org/licenses/BSD-3-Clause
|
|||
History
|
||||
-------------
|
||||
|
||||
* 2012/Nov/01 ver 3.62 add fwait/fnwait/finit/fninit
|
||||
* 2012/Nov/01 ver 3.61 add fldcw/fstcw
|
||||
* 2012/May/03 ver 3.60 change interface of Allocator
|
||||
* 2012/Mar/23 ver 3.51 fix userPtr mode
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.61
|
||||
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.62
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
◎概要
|
||||
|
@ -242,6 +242,7 @@ sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から
|
|||
-----------------------------------------------------------------------------
|
||||
◎履歴
|
||||
|
||||
2012/11/01 ver 3.62 add fwait/fnwait/finit/fninit
|
||||
2012/11/01 ver 3.61 add fldcw/fstcw
|
||||
2012/05/03 ver 3.60 Allocatorクラスのインタフェースを変更
|
||||
2012/03/23 ver 3.51 userPtrモードがバグったのを修正
|
||||
|
|
|
@ -346,6 +346,7 @@ class Test {
|
|||
"rdpmc",
|
||||
"rdtsc",
|
||||
"wait",
|
||||
"fwait",
|
||||
"wbinvd",
|
||||
"wrmsr",
|
||||
"xlatb",
|
||||
|
@ -369,6 +370,8 @@ class Test {
|
|||
"fdivp",
|
||||
"fdivrp",
|
||||
"fincstp",
|
||||
"finit",
|
||||
"fninit",
|
||||
"fld1",
|
||||
"fldl2t",
|
||||
"fldl2e",
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace Xbyak {
|
|||
|
||||
enum {
|
||||
DEFAULT_MAX_CODE_SIZE = 4096,
|
||||
VERSION = 0x3601 /* 0xABCD = A.BC(D) */
|
||||
VERSION = 0x3602 /* 0xABCD = A.BC(D) */
|
||||
};
|
||||
|
||||
#ifndef MIE_INTEGER_TYPE_DEFINED
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char *getVersionString() const { return "3.601"; }
|
||||
const char *getVersionString() const { return "3.602"; }
|
||||
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 packuswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x67); }
|
||||
|
@ -316,6 +316,7 @@ void rdpmc() { db(0x0F); db(0x33); }
|
|||
void rdtsc() { db(0x0F); db(0x31); }
|
||||
void rdtscp() { db(0x0F); db(0x01); db(0xF9); }
|
||||
void wait() { db(0x9B); }
|
||||
void fwait() { db(0x9B); }
|
||||
void wbinvd() { db(0x0F); db(0x09); }
|
||||
void wrmsr() { db(0x0F); db(0x30); }
|
||||
void xlatb() { db(0xD7); }
|
||||
|
@ -336,6 +337,8 @@ void fdecstp() { db(0xD9); db(0xF6); }
|
|||
void fdivp() { db(0xDE); db(0xF9); }
|
||||
void fdivrp() { db(0xDE); db(0xF1); }
|
||||
void fincstp() { db(0xD9); db(0xF7); }
|
||||
void finit() { db(0x9B); db(0xDB); db(0xE3); }
|
||||
void fninit() { db(0xDB); db(0xE3); }
|
||||
void fld1() { db(0xD9); db(0xE8); }
|
||||
void fldl2t() { db(0xD9); db(0xE9); }
|
||||
void fldl2e() { db(0xD9); db(0xEA); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue