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