diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-05-18 20:27:32 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-05-18 20:27:32 +0000 |
commit | df01feb40eea328a1fc3cee31f659a66fdabc859 (patch) | |
tree | 82c686adcd8fb4b20a21782b3eda2f3613fc413b /llvm/test/Transforms | |
parent | a6749432114fdf02a365d8ddac8c363cbc656974 (diff) | |
download | bcm5719-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.ll | 8 |
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 +} |