summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-05-18 20:27:32 +0000
committerCraig Topper <craig.topper@gmail.com>2017-05-18 20:27:32 +0000
commitdf01feb40eea328a1fc3cee31f659a66fdabc859 (patch)
tree82c686adcd8fb4b20a21782b3eda2f3613fc413b /llvm/test/Transforms
parenta6749432114fdf02a365d8ddac8c363cbc656974 (diff)
downloadbcm5719-llvm-df01feb40eea328a1fc3cee31f659a66fdabc859.tar.gz
bcm5719-llvm-df01feb40eea328a1fc3cee31f659a66fdabc859.zip
[InstSimplify] Make m_Not work for xor -1, X
Currently m_Not only works the canonical xor X, -1 form that InstCombine produces. InstSimplify can't rely on this canonicalization. Differential Revision: https://reviews.llvm.org/D33331 llvm-svn: 303379
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/InstSimplify/AndOrXor.ll8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstSimplify/AndOrXor.ll b/llvm/test/Transforms/InstSimplify/AndOrXor.ll
index 2d7eeae0fd0..a027c7e1828 100644
--- a/llvm/test/Transforms/InstSimplify/AndOrXor.ll
+++ b/llvm/test/Transforms/InstSimplify/AndOrXor.ll
@@ -865,3 +865,11 @@ define <2 x i8> @shl_undersized_mask_splat(<2 x i8> %x) {
ret <2 x i8> %mask
}
+define i32 @reversed_not(i32 %a) {
+; CHECK-LABEL: @reversed_not(
+; CHECK-NEXT: ret i32 -1
+;
+ %nega = xor i32 -1, %a
+ %or = or i32 %a, %nega
+ ret i32 %or
+}
OpenPOWER on IntegriCloud