typo of OSXSAVE

This commit is contained in:
MITSUNARI Shigeo 2011-03-24 15:48:58 +09:00
parent eb18bc1be5
commit 82c2ea58c0
8 changed files with 16 additions and 14 deletions

View file

@ -1356,7 +1356,7 @@ void put()
printf("void vpinsrd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8 imm) { if (!op.isREG(32) && !op.isMEM()) throw ERR_BAD_COMBINATION; opAVX_X_X_XMcvt(x1, x2, op, !op.isMEM(), Operand::XMM, MM_0F3A | PP_66, 0x22, false, 0); db(imm); }\n");
printf("void vpinsrd(const Xmm& x, const Operand& op, uint8 imm) { if (!op.isREG(32) && !op.isMEM()) throw ERR_BAD_COMBINATION; opAVX_X_X_XMcvt(x, x, op, !op.isMEM(), Operand::XMM, MM_0F3A | PP_66, 0x22, false, 0); db(imm); }\n");
printf("void vpmovmskb(const Reg32e& r, const Xmm& x) { opAVX_X_X_XM(Xmm(r.getIdx()), xm0, x, MM_0F | PP_66, 0xD7, false); }\n");
printf("void vpmovmskb(const Reg32e& r, const Xmm& x) { if (x.isYMM()) throw ERR_BAD_COMBINATION; opAVX_X_X_XM(Xmm(r.getIdx()), xm0, x, MM_0F | PP_66, 0xD7, false); }\n");
}
// (x, x, imm), (x, imm)

View file

@ -1,5 +1,5 @@
Xbyak 3.00 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
Xbyak 3.01 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
=============
Abstract
@ -202,6 +202,7 @@ http://www.opensource.org/licenses/bsd-license.php
History
-------------
* 2011/May/24 ver 3.01 fix typo of OSXSAVE
* 2011/May/23 ver 3.00 add vcmpeqps and so on
* 2011/Feb/16 ver 2.994 beta add vmovq for 32-bit mode(I forgot it)
* 2011/Feb/16 ver 2.993 beta remove cvtReg to avoid thread unsafe
@ -247,5 +248,5 @@ Author
MITSUNARI Shigeo(herumi at nifty dot com)
---
$Revision: 1.9 $
$Date: 2011/03/23 04:50:42 $
$Revision: 1.10 $
$Date: 2011/03/24 06:32:21 $

View file

@ -1,5 +1,5 @@
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.00
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.01
-----------------------------------------------------------------------------
◎概要
@ -214,6 +214,7 @@ sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から
-----------------------------------------------------------------------------
◎履歴
2011/03/24 ver 3.01 fix typo of OSXSAVE
2011/03/23 ver 3.00 vcmpeqpsなどを追加
2011/02/16 ver 2.994 beta add vmovq for 32-bit mode(I forgot it)
2011/02/16 ver 2.993 beta remove cvtReg to avoid thread unsafe

View file

@ -38,7 +38,7 @@ void putCPUinfo()
{ Cpu::tSSE5, "sse5" },
{ Cpu::tAESNI, "aesni" },
{ Cpu::tRDTSCP, "rdtscp" },
{ Cpu::tOSXSACE, "osxsace(xgetvb)" },
{ Cpu::tOSXSAVE, "osxsave(xgetvb)" },
{ Cpu::tPCLMULQDQ, "pclmulqdq" },
{ Cpu::tAVX, "avx" },
{ Cpu::tFMA, "fma" },

2
test/test_nm.sh Executable file → Normal file
View file

@ -14,7 +14,7 @@ else if ($1 == "64") then
set OPT3=win64
set FILTER=./normalize_prefix
else if ($1 == "Y64") then
echo "nasm(64bit)"
echo "yasm(64bit)"
set EXE=yasm
set OPT2="-DUSE_YASM -DXBYAK64"
set OPT3=win64

View file

@ -5,9 +5,9 @@
@file xbyak.h
@brief Xbyak ; JIT assembler for x86(IA32)/x64 by C++
@author herumi
@version $Revision: 1.248 $
@version $Revision: 1.249 $
@url http://homepage1.nifty.com/herumi/soft/xbyak.html
@date $Date: 2011/03/23 04:47:06 $
@date $Date: 2011/03/24 06:32:21 $
@note modified new BSD license
http://www.opensource.org/licenses/bsd-license.php
*/
@ -51,7 +51,7 @@ namespace Xbyak {
enum {
DEFAULT_MAX_CODE_SIZE = 4096,
VERSION = 0x3000, /* 0xABCD = A.BC(D) */
VERSION = 0x3010, /* 0xABCD = A.BC(D) */
};
#ifndef MIE_INTEGER_TYPE_DEFINED

View file

@ -1,4 +1,4 @@
const char *getVersionString() const { return "3.00"; }
const char *getVersionString() const { return "3.01"; }
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); }

View file

@ -92,7 +92,7 @@ public:
tPOPCNT = 1 << 9,
tAESNI = 1 << 10,
tSSE5 = 1 << 11,
tOSXSACE = 1 << 12,
tOSXSAVE = 1 << 12,
tPCLMULQDQ = 1 << 13,
tAVX = 1 << 14,
tFMA = 1 << 15,
@ -134,9 +134,9 @@ public:
if (data[2] & (1U << 23)) type_ |= tPOPCNT;
if (data[2] & (1U << 25)) type_ |= tAESNI;
if (data[2] & (1U << 1)) type_ |= tPCLMULQDQ;
if (data[2] & (1U << 27)) type_ |= tOSXSACE;
if (data[2] & (1U << 27)) type_ |= tOSXSAVE;
if (type_ & tOSXSACE) {
if (type_ & tOSXSAVE) {
// check XFEATURE_ENABLED_MASK[2:1] = '11b'
uint64 bv = getXfeature();
if ((bv & 6) == 6) {