diff options
author | Mike Pall <mike> | 2016-03-28 23:04:33 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2016-03-28 23:04:33 +0200 |
commit | 6801e7165c3a5031db3cfe0e52f50cebb918695f (patch) | |
tree | 6a26e078a7ecee447dc861860e2bacaf20f04d3c /src/lib_jit.c | |
parent | c24c8e5312003da5ac0643645e321e84a672fea3 (diff) | |
download | luajit-6801e7165c3a5031db3cfe0e52f50cebb918695f.tar.gz luajit-6801e7165c3a5031db3cfe0e52f50cebb918695f.tar.bz2 luajit-6801e7165c3a5031db3cfe0e52f50cebb918695f.zip |
x86: Detect BMI2 instruction support.
Diffstat (limited to 'src/lib_jit.c')
-rw-r--r-- | src/lib_jit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib_jit.c b/src/lib_jit.c index 402ca35c..c6330c49 100644 --- a/src/lib_jit.c +++ b/src/lib_jit.c | |||
@@ -668,6 +668,11 @@ static uint32_t jit_cpudetect(lua_State *L) | |||
668 | if (fam >= 0x00000f00) /* K8, K10. */ | 668 | if (fam >= 0x00000f00) /* K8, K10. */ |
669 | flags |= JIT_F_PREFER_IMUL; | 669 | flags |= JIT_F_PREFER_IMUL; |
670 | } | 670 | } |
671 | if (vendor[0] >= 7) { | ||
672 | uint32_t xfeatures[4]; | ||
673 | lj_vm_cpuid(7, xfeatures); | ||
674 | flags |= ((xfeatures[1] >> 8)&1) * JIT_F_BMI2; | ||
675 | } | ||
671 | #endif | 676 | #endif |
672 | } | 677 | } |
673 | /* Check for required instruction set support on x86 (unnecessary on x64). */ | 678 | /* Check for required instruction set support on x86 (unnecessary on x64). */ |