backend/x64: Add vcmp constants

This commit is contained in:
Wunkolo 2021-06-04 22:25:30 -07:00 committed by merry
parent 8fde505943
commit 0c67b913fe

View file

@ -13,6 +13,42 @@
namespace Dynarmic::Backend::X64 {
// Redefinition of _MM_CMP_* constants for use with the 'vcmp' instruction
namespace Cmp {
constexpr u8 Equal_OQ = 0; // Equal (Quiet, Ordered).
constexpr u8 LessThan_OS = 1; // Less (Signaling, Ordered).
constexpr u8 LessEqual_OS = 2; // Less/Equal (Signaling, Ordered).
constexpr u8 Unordered_Q = 3; // Unordered (Quiet).
constexpr u8 NotEqual_UQ = 4; // Not Equal (Quiet, Unordered).
constexpr u8 NotLessThan_US = 5; // Not Less (Signaling, Unordered).
constexpr u8 NotLessEqual_US = 6; // Not Less/Equal (Signaling, Unordered).
constexpr u8 Ordered_Q = 7; // Ordered (Quiet).
constexpr u8 Equal_UQ = 8; // Equal (Quiet, Unordered).
constexpr u8 NotGreaterEqual_US = 9; // Not Greater/Equal (Signaling, Unordered).
constexpr u8 NotGreaterThan_US = 10; // Not Greater (Signaling, Unordered).
constexpr u8 False_OQ = 11; // False (Quiet, Ordered).
constexpr u8 NotEqual_OQ = 12; // Not Equal (Quiet, Ordered).
constexpr u8 GreaterEqual_OS = 13; // Greater/Equal (Signaling, Ordered).
constexpr u8 GreaterThan_OS = 14; // Greater (Signaling, Ordered).
constexpr u8 True_UQ = 15; // True (Quiet, Unordered).
constexpr u8 Equal_OS = 16; // Equal (Signaling, Ordered).
constexpr u8 LessThan_OQ = 17; // Less (Quiet, Ordered).
constexpr u8 LessEqual_OQ = 18; // Less/Equal (Quiet, Ordered).
constexpr u8 Unordered_S = 19; // Unordered (Signaling).
constexpr u8 NotEqual_US = 20; // Not Equal (Signaling, Unordered).
constexpr u8 NotLessThan_UQ = 21; // Not Less (Quiet, Unordered).
constexpr u8 NotLessEqual_UQ = 22; // Not Less/Equal (Quiet, Unordered).
constexpr u8 Ordered_S = 23; // Ordered (Signaling).
constexpr u8 Equal_US = 24; // Equal (Signaling, Unordered).
constexpr u8 NotGreaterEqual_UQ = 25; // Not Greater/Equal (Quiet, Unordered).
constexpr u8 NotGreaterThan_UQ = 26; // Not Greater (Quiet, Unordered).
constexpr u8 False_OS = 27; // False (Signaling, Ordered).
constexpr u8 NotEqual_OS = 28; // Not Equal (Signaling, Ordered).
constexpr u8 GreaterEqual_OQ = 29; // Greater/Equal (Quiet, Ordered).
constexpr u8 GreaterThan_OQ = 30; // Greater (Quiet, Ordered).
constexpr u8 True_US = 31; // True (Signaling, Unordered).
} // namespace Cmp
// Redefinition of _MM_CMPINT_* constants for use with the 'vpcmp' instruction
namespace CmpInt {
constexpr u8 Equal = 0x0;