This is missed by InstCombine, patch comming

llvm-svn: 24157
diff --git a/llvm/test/Regression/Transforms/InstCombine/add.ll b/llvm/test/Regression/Transforms/InstCombine/add.ll
index 8a84863..3de3f33 100644
--- a/llvm/test/Regression/Transforms/InstCombine/add.ll
+++ b/llvm/test/Regression/Transforms/InstCombine/add.ll
@@ -206,3 +206,10 @@
         %tmp.10 = or uint %tmp.7, %tmp.9                ; <uint> [#uses=1]
 	ret uint %tmp.10
 }
+
+long %test30(long %x) {
+        %tmp.2 = xor long %x, -9223372036854775808
+        ;; Add of sign bit -> xor of sign bit.
+        %tmp.4 = add long %tmp.2, -9223372036854775808
+        ret long %tmp.4
+}