diff --git a/lib/AST/MicrosoftMangle.cpp b/lib/AST/MicrosoftMangle.cpp
index 753b817..7bcc2f3 100644
--- a/lib/AST/MicrosoftMangle.cpp
+++ b/lib/AST/MicrosoftMangle.cpp
@@ -308,10 +308,11 @@
     mangleNumber(llvm::APSInt(Value.abs()));
     return;
   }
-  if (Value.uge(1) && Value.ule(10))
-    (Value-llvm::APSInt(llvm::APInt(Value.getBitWidth(), 1, Value.isSigned()),
-                        Value.isUnsigned())).print(Out, false);
-  else {
+  llvm::APSInt Temp(Value);
+  if (Value.uge(1) && Value.ule(10)) {
+    --Temp;
+    Temp.print(Out, false);
+  } else {
     // We have to build up the encoding in reverse order, so it will come
     // out right when we write it out.
     char Encoding[64];
@@ -320,8 +321,8 @@
     llvm::APSInt NibbleMask(Value.getBitWidth(), Value.isUnsigned());
     NibbleMask = 0xf;
     for (int i = 0, e = Value.getActiveBits() / 4; i != e; ++i) {
-      *--CurPtr = 'A' + Value.And(NibbleMask).lshr(i*4).getLimitedValue(0xf);
-      NibbleMask = NibbleMask.shl(4);
+      *--CurPtr = 'A' + Temp.And(NibbleMask).getLimitedValue(0xf);
+      Temp = Temp.lshr(4);
     };
     Out.write(CurPtr, EndPtr-CurPtr);
     Out << '@';
