diff options
Diffstat (limited to 'test/Transforms/InstCombine/not.ll')
-rw-r--r-- | test/Transforms/InstCombine/not.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/not.ll b/test/Transforms/InstCombine/not.ll index 57560d61d6..24d8f69a4b 100644 --- a/test/Transforms/InstCombine/not.ll +++ b/test/Transforms/InstCombine/not.ll @@ -29,3 +29,20 @@ int %test3(int %A, int %B) { %d = xor int %c, -1 ret int %d } + +; Test that demorgens law can work with constants +int %test4(int %A, int %B) { + %a = xor int %A, -1 + %c = and int %a, 5 ; 5 = ~c2 + %d = xor int %c, -1 + ret int %d +} + +; test the mirror of demorgans law... +int %test5(int %A, int %B) { + %a = xor int %A, -1 + %b = xor int %B, -1 + %c = or int %a, %b + %d = xor int %c, -1 + ret int %d +} |