diff --git a/SMPInstr.cpp b/SMPInstr.cpp index 01d931b77817c04ca38395eb408c002419df0ff8..18411c253e34bc3384a5dc8d11d771e2f495cee6 100644 --- a/SMPInstr.cpp +++ b/SMPInstr.cpp @@ -1371,16 +1371,6 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) { case SMP_OUTPUT: // output to port case SMP_SIGN_EXTEND: case SMP_ZERO_EXTEND: - case SMP_S_COMPARE: // signed compare (subtraction-based) - case SMP_U_COMPARE: // unsigned compare (AND-based) - case SMP_LESS_THAN: // boolean test operators - case SMP_GREATER_THAN: - case SMP_LESS_EQUAL: - case SMP_GREATER_EQUAL: - case SMP_EQUAL: - case SMP_NOT_EQUAL: - case SMP_LOGICAL_AND: - case SMP_LOGICAL_OR: break; case SMP_ADDRESS_OF: // take effective address @@ -1410,6 +1400,16 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) { case SMP_BITWISE_NOT: // unary operator case SMP_BITWISE_XOR: case SMP_NEGATE: // unary negation + case SMP_S_COMPARE: // signed compare (subtraction-based) + case SMP_U_COMPARE: // unsigned compare (AND-based) + case SMP_LESS_THAN: // boolean test operators + case SMP_GREATER_THAN: + case SMP_LESS_EQUAL: + case SMP_GREATER_EQUAL: + case SMP_EQUAL: + case SMP_NOT_EQUAL: + case SMP_LOGICAL_AND: + case SMP_LOGICAL_OR: case SMP_UNARY_NUMERIC_OPERATION: // miscellaneous; produces NUMERIC result case SMP_BINARY_NUMERIC_OPERATION: // miscellaneous; produces NUMERIC result case SMP_SYSTEM_OPERATION: // for instructions such as CPUID, RDTSC, etc.; NUMERIC