Common: Remove xImpl_G1Compare

We already have SIMD compare under xCMPXXX.PS
This commit is contained in:
TellowKrinkle
2025-08-10 00:33:40 -05:00
committed by TellowKrinkle
parent 8dc905e827
commit 165595008e
4 changed files with 3 additions and 21 deletions

View File

@@ -102,7 +102,6 @@ namespace x86Emitter
ImplementGroup1(xImpl_Group1, InstType)
ImplementGroup1(xImpl_G1Logic, InstType)
ImplementGroup1(xImpl_G1Arith, InstType)
ImplementGroup1(xImpl_G1Compare, G1Type_CMP)
const xImpl_G1Logic xAND = {G1Type_AND, {0x00, 0x54}, {0x66, 0x54}};
const xImpl_G1Logic xOR = {G1Type_OR, {0x00, 0x56}, {0x66, 0x56}};
@@ -110,10 +109,10 @@ namespace x86Emitter
const xImpl_G1Arith xADD = {G1Type_ADD, {0x00, 0x58}, {0x66, 0x58}, {0xf3, 0x58}, {0xf2, 0x58}};
const xImpl_G1Arith xSUB = {G1Type_SUB, {0x00, 0x5c}, {0x66, 0x5c}, {0xf3, 0x5c}, {0xf2, 0x5c}};
const xImpl_G1Compare xCMP = {{0x00, 0xc2}, {0x66, 0xc2}, {0xf3, 0xc2}, {0xf2, 0xc2}};
const xImpl_Group1 xADC = {G1Type_ADC};
const xImpl_Group1 xSBB = {G1Type_SBB};
const xImpl_Group1 xCMP = {G1Type_CMP};
// =====================================================================================================
// Group 2 Instructions - SHR, SHL, etc.

View File

@@ -111,21 +111,4 @@ namespace x86Emitter
xImplSimd_DestRegSSE SD; // scalar double precision
};
// ------------------------------------------------------------------------
struct xImpl_G1Compare
{
void operator()(const xRegisterInt& to, const xRegisterInt& from) const;
void operator()(const xIndirectVoid& to, const xRegisterInt& from) const;
void operator()(const xRegisterInt& to, const xIndirectVoid& from) const;
void operator()(const xRegisterInt& to, int imm) const;
void operator()(const xIndirect64orLess& to, int imm) const;
xImplSimd_DestSSE_CmpImm PS;
xImplSimd_DestSSE_CmpImm PD;
xImplSimd_DestSSE_CmpImm SS;
xImplSimd_DestSSE_CmpImm SD;
};
} // End namespace x86Emitter

View File

@@ -29,6 +29,7 @@ namespace x86Emitter
extern const xImpl_Group1 xADC;
extern const xImpl_Group1 xSBB;
extern const xImpl_Group1 xCMP;
extern const xImpl_G1Logic xAND;
extern const xImpl_G1Logic xOR;
@@ -36,7 +37,6 @@ namespace x86Emitter
extern const xImpl_G1Arith xADD;
extern const xImpl_G1Arith xSUB;
extern const xImpl_G1Compare xCMP;
// ------------------------------------------------------------------------
// Group 2 Instruction Class

View File

@@ -481,7 +481,7 @@ namespace x86Emitter
const xImplSimd_Compare xCMPEQ = {SSE2_Equal};
const xImplSimd_Compare xCMPLT = {SSE2_Less};
const xImplSimd_Compare xCMPLE = {SSE2_LessOrEqual};
const xImplSimd_Compare xCMPUNORD = {SSE2_LessOrEqual};
const xImplSimd_Compare xCMPUNORD = {SSE2_Unordered};
const xImplSimd_Compare xCMPNE = {SSE2_NotEqual};
const xImplSimd_Compare xCMPNLT = {SSE2_NotLess};
const xImplSimd_Compare xCMPNLE = {SSE2_NotLessOrEqual};