TargetRegisterInfo: Make the concept of imprecise lane masks explicit
[oota-llvm.git] / lib / CodeGen / RegisterCoalescer.cpp
index e513a4f1ccf5030104c24487f5a288556f9f2e7e..7b7c75021720689c81ec9d9797247e69fd1e879c 100644 (file)
@@ -2633,7 +2633,8 @@ bool RegisterCoalescer::joinVirtRegs(CoalescerPair &CP) {
       // "overflow bit" 32. As a workaround we drop all subregister ranges
       // which means we loose some precision but are back to a well defined
       // state.
-      assert((CP.getNewRC()->getLaneMask() & 0x80000000u)
+      assert(TargetRegisterInfo::isImpreciseLaneMask(
+             CP.getNewRC()->getLaneMask())
              && "SubRange merge should only fail when merging into bit 32.");
       DEBUG(dbgs() << "\tSubrange join aborted!\n");
       LHS.clearSubRanges();