Squashed 'externals/xbyak/' changes from 913099fc8..88f2f771f

88f2f771f Merge branch 'dev'
8623616e0 v6.61
1b911598d mingw uses __thread instead of __declspec(thread)
d224701f4 fix movzx eax, ah on 64bit and test it
1c35e34ab Merge branch 'dev'
4fb0e58aa test of cpuid
913c798ff update doc
8f6dee319 v6.60.2
21419721e Merge branch 'Wunkolo-standalone-cpuid' into dev
1b2e7c7da Fix detection of `GFNI`,`VAES`, and `VPCLMULQDQ`

git-subtree-dir: externals/xbyak
git-subtree-split: 88f2f771f179a3d856ecd0b07a20598bd06ba21d
This commit is contained in:
Merry 2022-07-31 17:50:57 +01:00
parent 9af5f5908c
commit 5b6e3d8b54
38 changed files with 94 additions and 13 deletions

View file

@ -77,7 +77,11 @@
#endif
#include <windows.h>
#include <malloc.h>
#define XBYAK_TLS __declspec(thread)
#ifdef _MSC_VER
#define XBYAK_TLS __declspec(thread)
#else
#define XBYAK_TLS __thread
#endif
#elif defined(__GNUC__)
#include <unistd.h>
#include <sys/mman.h>
@ -144,7 +148,7 @@ namespace Xbyak {
enum {
DEFAULT_MAX_CODE_SIZE = 4096,
VERSION = 0x6601 /* 0xABCD = A.BC(.D) */
VERSION = 0x6610 /* 0xABCD = A.BC(.D) */
};
#ifndef MIE_INTEGER_TYPE_DEFINED
@ -2187,9 +2191,6 @@ private:
{
if (op.isBit(32)) XBYAK_THROW(ERR_BAD_COMBINATION)
int w = op.isBit(16);
#ifdef XBYAK64
if (op.isHigh8bit()) XBYAK_THROW(ERR_BAD_COMBINATION)
#endif
bool cond = reg.isREG() && (reg.getBit() > op.getBit());
opModRM(reg, op, cond && op.isREG(), cond && op.isMEM(), 0x0F, code | w);
}

View file

@ -1,4 +1,4 @@
const char *getVersionString() const { return "6.60.1"; }
const char *getVersionString() const { return "6.61"; }
void adc(const Operand& op, uint32_t 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); }

View file

@ -506,9 +506,6 @@ public:
if (EBX & (1U << 31)) type_ |= tAVX512VL;
if (ECX & (1U << 1)) type_ |= tAVX512_VBMI;
if (ECX & (1U << 6)) type_ |= tAVX512_VBMI2;
if (ECX & (1U << 8)) type_ |= tGFNI;
if (ECX & (1U << 9)) type_ |= tVAES;
if (ECX & (1U << 10)) type_ |= tVPCLMULQDQ;
if (ECX & (1U << 11)) type_ |= tAVX512_VNNI;
if (ECX & (1U << 12)) type_ |= tAVX512_BITALG;
if (ECX & (1U << 14)) type_ |= tAVX512_VPOPCNTDQ;
@ -537,6 +534,9 @@ public:
if (EBX & (1U << 29)) type_ |= tSHA;
if (ECX & (1U << 0)) type_ |= tPREFETCHWT1;
if (ECX & (1U << 5)) type_ |= tWAITPKG;
if (ECX & (1U << 8)) type_ |= tGFNI;
if (ECX & (1U << 9)) type_ |= tVAES;
if (ECX & (1U << 10)) type_ |= tVPCLMULQDQ;
if (ECX & (1U << 25)) type_ |= tCLDEMOTE;
if (ECX & (1U << 27)) type_ |= tMOVDIRI;
if (ECX & (1U << 28)) type_ |= tMOVDIR64B;