diff --git a/src/xenia/cpu/backend/x64/x64_backend.cc b/src/xenia/cpu/backend/x64/x64_backend.cc index fe1326920..1da4ba9f3 100644 --- a/src/xenia/cpu/backend/x64/x64_backend.cc +++ b/src/xenia/cpu/backend/x64/x64_backend.cc @@ -37,10 +37,11 @@ DEFINE_int32(x64_extension_mask, -1, " 16 = BMI2\n" " 32 = F16C\n" " 64 = Movbe\n" - " 128 = AVX512F\n" - " 256 = AVX512VL\n" - " 512 = AVX512BW\n" - " 1024 = AVX512DQ\n" + " 128 = GFNI\n" + " 256 = AVX512F\n" + " 512 = AVX512VL\n" + " 1024 = AVX512BW\n" + " 2048 = AVX512DQ\n" " -1 = Detect and utilize all possible processor features\n", "x64"); diff --git a/src/xenia/cpu/backend/x64/x64_emitter.cc b/src/xenia/cpu/backend/x64/x64_emitter.cc index d555ff7eb..f517122d3 100644 --- a/src/xenia/cpu/backend/x64/x64_emitter.cc +++ b/src/xenia/cpu/backend/x64/x64_emitter.cc @@ -88,6 +88,8 @@ X64Emitter::X64Emitter(X64Backend* backend, XbyakAllocator* allocator) feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tF16C) ? kX64EmitF16C : 0; if (cvars::x64_extension_mask & kX64EmitMovbe) feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tMOVBE) ? kX64EmitMovbe : 0; + if (cvars::x64_extension_mask & kX64EmitGFNI) + feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tGFNI) ? kX64EmitGFNI : 0; if (cvars::x64_extension_mask & kX64EmitAVX512F) feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tAVX512F) ? kX64EmitAVX512F : 0; diff --git a/src/xenia/cpu/backend/x64/x64_emitter.h b/src/xenia/cpu/backend/x64/x64_emitter.h index be8cd0b1a..840e355fc 100644 --- a/src/xenia/cpu/backend/x64/x64_emitter.h +++ b/src/xenia/cpu/backend/x64/x64_emitter.h @@ -132,12 +132,13 @@ enum X64EmitterFeatureFlags { kX64EmitBMI2 = 1 << 4, kX64EmitF16C = 1 << 5, kX64EmitMovbe = 1 << 6, + kX64EmitGFNI = 1 << 7, - kX64EmitAVX512F = 1 << 7, - kX64EmitAVX512VL = 1 << 8, + kX64EmitAVX512F = 1 << 8, + kX64EmitAVX512VL = 1 << 9, - kX64EmitAVX512BW = 1 << 9, - kX64EmitAVX512DQ = 1 << 10, + kX64EmitAVX512BW = 1 << 10, + kX64EmitAVX512DQ = 1 << 11, kX64EmitAVX512Ortho = kX64EmitAVX512F | kX64EmitAVX512VL, kX64EmitAVX512Ortho64 = kX64EmitAVX512Ortho | kX64EmitAVX512DQ