From fc6170832d2d8513a28a0be47e667bb4a5ae7cc6 Mon Sep 17 00:00:00 2001
From: clc5q <clc5q@git.zephyr-software.com>
Date: Mon, 21 Apr 2008 02:02:17 +0000
Subject: [PATCH] Infer NUMERIC USEs on boolean and comparison operators.

---
 SMPInstr.cpp | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/SMPInstr.cpp b/SMPInstr.cpp
index 01d931b7..18411c25 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
-- 
GitLab