diff --git a/src/core.c b/src/core.c index 01d820051e..b138e3f71e 100644 --- a/src/core.c +++ b/src/core.c @@ -226,7 +226,6 @@ static void displayMiscInfo(void) #if defined(LA64) if (box64env.avx && !cpuext.lasx) { box64env.avx = 0; - box64env.avx2 = 0; } #endif #endif diff --git a/src/include/env.h b/src/include/env.h index ab9614d900..59d992b00e 100644 --- a/src/include/env.h +++ b/src/include/env.h @@ -207,7 +207,6 @@ typedef struct box64env_s { /******** Custom ones ********/ int maxcpu; int dynarec_test; - int avx2; int rolling_log; int dynarec_perf_map_fd; int dynarec_gdbjit; diff --git a/src/os/my_cpuid.c b/src/os/my_cpuid.c index 94beab88c6..46108aeb0e 100644 --- a/src/os/my_cpuid.c +++ b/src/os/my_cpuid.c @@ -116,7 +116,7 @@ void my_cpuid(x64emu_t* emu) | 1<<3 // Monitor/MWait (priviledge instructions) | (BOX64ENV(cputype)?0:1)<<5 // VMX //is that usefull | 1<<9 // SSSE3 - | BOX64ENV(avx2)<<12 // fma + | (BOX64ENV(avx) == 2)<<12 // fma | 1<<13 // cx16 (cmpxchg16) | 1<<19 // SSE4_1 | BOX64ENV(sse42)<<20 // SSE4_2 can be hiden @@ -127,7 +127,7 @@ void my_cpuid(x64emu_t* emu) | BOX64ENV(avx)<<27 // osxsave | BOX64ENV(avx)<<28 // AVX | BOX64ENV(avx)<<29 // F16C - | BOX64ENV(avx2)<<30 // RDRAND + | (BOX64ENV(avx) == 2)<<30 // RDRAND | 0<<31 // Hypervisor guest running ; break; @@ -206,22 +206,22 @@ void my_cpuid(x64emu_t* emu) R_RAX = 0; R_RBX = 1<<0 // FSGSBASE | BOX64ENV(avx)<<3 // BMI1 - | BOX64ENV(avx2)<<5 //AVX2 + | (BOX64ENV(avx) == 2)<<5 //AVX2 | (BOX64ENV(cputype)?0:1)<<6 // FDP_EXCPTN_ONLY | 1<<7 // SMEP - | BOX64ENV(avx2)<<8 //BMI2 + | (BOX64ENV(avx) == 2)<<8 //BMI2 | (BOX64ENV(cputype)?0:1)<<9 // Enhanced REP MOVSB // is it a good idea? | 1<<10 //INVPCID (priviledge instruction | (BOX64ENV(cputype)?0:1)<<13 // Deprecates FPU CS and FPU DS | 0<<18 // RDSEED - | BOX64ENV(avx2)<<19 //ADX + | (BOX64ENV(avx) == 2)<<19 //ADX | 1<<23 // CLFLUSHOPT | 1<<24 // CLWB | BOX64ENV(shaext)<<29 // SHA extension ; R_RCX = (BOX64ENV(avx)&&BOX64ENV(aes))<<9 | //VAES - (BOX64ENV(avx2)&&BOX64ENV(pclmulqdq))<<10 | //VPCLMULQDQ. + ((BOX64ENV(avx) == 2)&&BOX64ENV(pclmulqdq))<<10 | //VPCLMULQDQ. 1<<22 | // RDPID 0; R_RDX = 0; diff --git a/src/tools/env.c b/src/tools/env.c index 500368b230..20bec39953 100644 --- a/src/tools/env.c +++ b/src/tools/env.c @@ -267,10 +267,6 @@ static void applyCustomRules() } #endif - if (box64env.avx == 2) { - box64env.avx = 1; - box64env.avx2 = 1; - } #ifndef _WIN32 if (box64env.exit) exit(0); diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 1fe2b7d166..e0b7c9220f 100644 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -2189,10 +2189,10 @@ void CreateCPUInfoFile(int fd) BOX64ENV(pclmulqdq)?" pclmulqdq":"", BOX64ENV(aes)?" aes":"", BOX64ENV(sse42)?" sse4_2":"", BOX64ENV(avx)?" avx":"", BOX64ENV(shaext)?" sha_ni":"", - BOX64ENV(avx)?" bmi1":"", BOX64ENV(avx2)?" avx2":"", BOX64ENV(avx)?" bmi2":"", - (BOX64ENV(avx2)&&BOX64ENV(aes))?" vaes":"", BOX64ENV(avx2)?" fma":"", - BOX64ENV(avx)?" xsave":"", BOX64ENV(avx)?" f16c":"", BOX64ENV(avx2)?" randr":"", - BOX64ENV(avx2)?" adx":"" + BOX64ENV(avx)?" bmi1":"", (BOX64ENV(avx) == 2)?" avx2":"", BOX64ENV(avx)?" bmi2":"", + ((BOX64ENV(avx) == 2)&&BOX64ENV(aes))?" vaes":"", (BOX64ENV(avx) == 2)?" fma":"", + BOX64ENV(avx)?" xsave":"", BOX64ENV(avx)?" f16c":"", (BOX64ENV(avx) == 2)?" randr":"", + (BOX64ENV(avx) == 2)?" adx":"" ); P; sprintf(buff, "address sizes\t: 48 bits physical, 48 bits virtual\n"); diff --git a/src/wrapped/wrappedsdl2.c b/src/wrapped/wrappedsdl2.c index c4b5c3fbcc..fcb12ba796 100644 --- a/src/wrapped/wrappedsdl2.c +++ b/src/wrapped/wrappedsdl2.c @@ -50,7 +50,7 @@ int EXPORT my2_SDL_HasAVX(void) { return BOX64ENV(avx)?1:0; } int EXPORT my2_SDL_HasAVX2(void) { - return BOX64ENV(avx2)?1:0; + return (BOX64ENV(avx) == 2)?1:0; } int EXPORT my2_SDL_HasAVX512F(void) __attribute__((alias("sdl_No")));