[llvm] [X86][ARM] Invert the low bit to get the inverse predicate (NFC) (PR #151748)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 1 11:48:49 PDT 2025


================
@@ -46,23 +46,9 @@ enum CondCodes { // Meaning (integer)          Meaning (floating-point)
 };
 
 inline static CondCodes getOppositeCondition(CondCodes CC) {
-  switch (CC) {
-  default: llvm_unreachable("Unknown condition code");
-  case EQ: return NE;
-  case NE: return EQ;
-  case HS: return LO;
-  case LO: return HS;
-  case MI: return PL;
-  case PL: return MI;
-  case VS: return VC;
-  case VC: return VS;
-  case HI: return LS;
-  case LS: return HI;
-  case GE: return LT;
-  case LT: return GE;
-  case GT: return LE;
-  case LE: return GT;
-  }
+  // To reverse a condition it's necessary to only invert the low bit:
----------------
topperc wrote:

assert that CC is not `AL` since thats not handled here.

https://github.com/llvm/llvm-project/pull/151748


More information about the llvm-commits mailing list