diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp
index 0faaa72..25a5c56 100644
--- a/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -703,18 +703,18 @@
           if (Size < 32) {
             int Val = (II->getValue() << (32-Size)) >> (32-Size);
             if (Val != II->getValue()) {
-	      // If sign-extended doesn't fit, does it fit as unsigned?
-	      unsigned ValueMask = unsigned(MVT::getIntVTBitMask(VT));
-	      unsigned UnsignedVal = unsigned(II->getValue());
+              // If sign-extended doesn't fit, does it fit as unsigned?
+              unsigned ValueMask = unsigned(MVT::getIntVTBitMask(VT));
+              unsigned UnsignedVal = unsigned(II->getValue());
 
-	      if ((ValueMask & UnsignedVal) != UnsignedVal) {
-		TP.error("Integer value '" + itostr(II->getValue())+
-			 "' is out of range for type '" + 
-			 getEnumName(getTypeNum(0)) + "'!");
-	      }
-	    }
-          }
-        }
+              if ((ValueMask & UnsignedVal) != UnsignedVal) {
+                TP.error("Integer value '" + itostr(II->getValue())+
+                         "' is out of range for type '" + 
+                         getEnumName(getTypeNum(0)) + "'!");
+              }
+            }
+         }
+       }
       }
       
       return MadeChange;
