diff --git a/src/lib_jit.c b/src/lib_jit.c index 22ca0a1a..62052159 100644 --- a/src/lib_jit.c +++ b/src/lib_jit.c @@ -661,6 +661,7 @@ static uint32_t jit_cpudetect(lua_State *L) #if LJ_HASJIT flags |= ((features[2] >> 0)&1) * JIT_F_SSE3; flags |= ((features[2] >> 19)&1) * JIT_F_SSE4_1; + flags |= ((features[2] >> 28)&1) * JIT_F_AVX1; if (vendor[2] == 0x6c65746e) { /* Intel. */ if ((features[0] & 0x0fff0ff0) == 0x000106c0) /* Atom. */ flags |= JIT_F_LEA_AGU; diff --git a/src/lj_jit.h b/src/lj_jit.h index f46775c0..ed72acd8 100644 --- a/src/lj_jit.h +++ b/src/lj_jit.h @@ -20,10 +20,11 @@ #define JIT_F_PREFER_IMUL 0x00000080 #define JIT_F_LEA_AGU 0x00000100 #define JIT_F_BMI2 0x00000200 +#define JIT_F_AVX1 0x00000400 /* Names for the CPU-specific flags. Must match the order above. */ #define JIT_F_CPU_FIRST JIT_F_SSE2 -#define JIT_F_CPUSTRING "\4SSE2\4SSE3\6SSE4.1\3AMD\4ATOM\4BMI2" +#define JIT_F_CPUSTRING "\4SSE2\4SSE3\6SSE4.1\3AMD\4ATOM\4BMI2\4AVX1" #elif LJ_TARGET_ARM #define JIT_F_ARMV6_ 0x00000010 #define JIT_F_ARMV6T2_ 0x00000020