diff --git a/src/xenia/cpu/backend/x64/x64_emitter.cc b/src/xenia/cpu/backend/x64/x64_emitter.cc index 8884b9a56..ae9ba1eed 100644 --- a/src/xenia/cpu/backend/x64/x64_emitter.cc +++ b/src/xenia/cpu/backend/x64/x64_emitter.cc @@ -78,6 +78,7 @@ X64Emitter::X64Emitter(X64Backend* backend, XbyakAllocator* allocator) feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tAVX2) ? kX64EmitAVX2 : 0; feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tFMA) ? kX64EmitFMA : 0; feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tLZCNT) ? kX64EmitLZCNT : 0; + feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tBMI1) ? kX64EmitBMI1 : 0; feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tBMI2) ? kX64EmitBMI2 : 0; feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tF16C) ? kX64EmitF16C : 0; feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tMOVBE) ? kX64EmitMovbe : 0; diff --git a/src/xenia/cpu/backend/x64/x64_emitter.h b/src/xenia/cpu/backend/x64/x64_emitter.h index a00a68306..b84162d34 100644 --- a/src/xenia/cpu/backend/x64/x64_emitter.h +++ b/src/xenia/cpu/backend/x64/x64_emitter.h @@ -128,16 +128,18 @@ enum X64EmitterFeatureFlags { kX64EmitAVX2 = 1 << 1, kX64EmitFMA = 1 << 2, kX64EmitLZCNT = 1 << 3, - kX64EmitBMI2 = 1 << 4, - kX64EmitF16C = 1 << 5, - kX64EmitMovbe = 1 << 6, + kX64EmitBMI1 = 1 << 4, + kX64EmitBMI2 = 1 << 5, + kX64EmitF16C = 1 << 6, + kX64EmitMovbe = 1 << 7, + + kX64EmitAVX512F = 1 << 8, + kX64EmitAVX512VL = 1 << 9, + + kX64EmitAVX512BW = 1 << 10, + kX64EmitAVX512DQ = 1 << 11, - kX64EmitAVX512F = 1 << 7, - kX64EmitAVX512VL = 1 << 8, kX64EmitAVX512Ortho = kX64EmitAVX512F | kX64EmitAVX512VL, - - kX64EmitAVX512BW = 1 << 9, - kX64EmitAVX512DQ = 1 << 10, kX64EmitAVX512Ortho64 = kX64EmitAVX512Ortho | kX64EmitAVX512DQ };