From daff644d470ce51cf84cb2f6587c565e9757c0e8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 24 Jul 2003 19:44:51 +0000 Subject: [PATCH] More testcases, which I'll implement later llvm-svn: 7298 --- llvm/test/Regression/Transforms/InstCombine/add.ll | 5 +++++ llvm/test/Regression/Transforms/InstCombine/and.ll | 13 +++++++++++++ llvm/test/Regression/Transforms/InstCombine/or.ll | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/llvm/test/Regression/Transforms/InstCombine/add.ll b/llvm/test/Regression/Transforms/InstCombine/add.ll index e3b9c98f317b..10040f972cc3 100644 --- a/llvm/test/Regression/Transforms/InstCombine/add.ll +++ b/llvm/test/Regression/Transforms/InstCombine/add.ll @@ -55,3 +55,8 @@ int %test8(int %A, int %B) { ; (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1 ret int %C } +int %test9(int %A) { + %B = shl int %A, ubyte 4 + %C = add int %B, %B ; === shl int %A, 5 + ret int %C +} diff --git a/llvm/test/Regression/Transforms/InstCombine/and.ll b/llvm/test/Regression/Transforms/InstCombine/and.ll index 3eeac3b17f53..23bd2df3977c 100644 --- a/llvm/test/Regression/Transforms/InstCombine/and.ll +++ b/llvm/test/Regression/Transforms/InstCombine/and.ll @@ -74,4 +74,17 @@ uint %test11(uint %A, uint* %P) { ret uint %D } +bool %test12(uint %A, uint %B) { + %C1 = setlt uint %A, %B + %C2 = setle uint %A, %B + %D = and bool %C1, %C2 ; (A < B) & (A <= B) === (A < B) + ret bool %D +} + +bool %test13(uint %A, uint %B) { + %C1 = setlt uint %A, %B + %C2 = setgt uint %A, %B + %D = and bool %C1, %C2 ; (A < B) & (A > B) === false + ret bool %D +} diff --git a/llvm/test/Regression/Transforms/InstCombine/or.ll b/llvm/test/Regression/Transforms/InstCombine/or.ll index c4a62283f3c2..43ed83d6188c 100644 --- a/llvm/test/Regression/Transforms/InstCombine/or.ll +++ b/llvm/test/Regression/Transforms/InstCombine/or.ll @@ -93,3 +93,10 @@ bool %test14(uint %A, uint %B) { ret bool %D } +bool %test15(uint %A, uint %B) { + %C1 = setlt uint %A, %B + %C2 = seteq uint %A, %B + %D = or bool %C1, %C2 ; (A < B) | (A == B) === A <= B + ret bool %D +} +