diff --git a/SMPInstr.cpp b/SMPInstr.cpp
index fec0ace08a95372042425d0599e4c0eaf6e8373f..01d931b77817c04ca38395eb408c002419df0ff8 100644
--- a/SMPInstr.cpp
+++ b/SMPInstr.cpp
@@ -1369,6 +1369,18 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 			break;
 
 		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
@@ -1395,21 +1407,9 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 		case SMP_U_DIVIDE:
 		case SMP_S_DIVIDE:
 		case SMP_U_REMAINDER:
-		case SMP_SIGN_EXTEND:
-		case SMP_ZERO_EXTEND:
 		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