summaryrefslogtreecommitdiff
path: root/test/Transforms/InstSimplify
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-12-21 15:12:22 +0000
committerDuncan Sands <baldrick@free.fr>2010-12-21 15:12:22 +0000
commit025c98bdbdda72fa06c3cbbeb7a3190ed0006300 (patch)
tree6c3c48a1a88442b9e471c916671b26e23922b4e2 /test/Transforms/InstSimplify
parent07f30fbd734069b80b90c6aeea0ae645ce3880c0 (diff)
downloadllvm-025c98bdbdda72fa06c3cbbeb7a3190ed0006300.tar.gz
llvm-025c98bdbdda72fa06c3cbbeb7a3190ed0006300.tar.bz2
llvm-025c98bdbdda72fa06c3cbbeb7a3190ed0006300.tar.xz
Add an additional InstructionSimplify factorization test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstSimplify')
-rw-r--r--test/Transforms/InstSimplify/2010-12-20-Distribute.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/InstSimplify/2010-12-20-Distribute.ll b/test/Transforms/InstSimplify/2010-12-20-Distribute.ll
index 56f7823417..4aac8dd588 100644
--- a/test/Transforms/InstSimplify/2010-12-20-Distribute.ll
+++ b/test/Transforms/InstSimplify/2010-12-20-Distribute.ll
@@ -10,6 +10,16 @@ define i32 @factorize(i32 %x, i32 %y) {
; CHECK: ret i32 %x
}
+define i32 @factorize2(i32 %x) {
+; CHECK: @factorize2
+; 3*X - 2*X -> X
+ %l = mul i32 3, %x
+ %r = mul i32 2, %x
+ %z = sub i32 %l, %r
+ ret i32 %z
+; CHECK: ret i32 %x
+}
+
define i32 @expand(i32 %x) {
; CHECK: @expand
; ((X & 1) | 2) & 1 -> ((X & 1) & 1) | (2 & 1) -> (X & 1) | 0 -> X & 1