diff options
-rw-r--r-- | test/Transforms/InstCombine/shift.ll | 6 | ||||
-rw-r--r-- | test/Transforms/InstCombine/xor.ll | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll index e4f1bfb7b1..fd1ac0e830 100644 --- a/test/Transforms/InstCombine/shift.ll +++ b/test/Transforms/InstCombine/shift.ll @@ -158,3 +158,9 @@ bool %test22(ubyte %A) { ret bool %C } +sbyte %test23(int %A) { + %B = shl int %A, ubyte 24 ;; casts not needed + %C = shr int %B, ubyte 24 + %D = cast int %C to sbyte + ret sbyte %D +} diff --git a/test/Transforms/InstCombine/xor.ll b/test/Transforms/InstCombine/xor.ll index 8b1e193e24..57ba596421 100644 --- a/test/Transforms/InstCombine/xor.ll +++ b/test/Transforms/InstCombine/xor.ll @@ -146,3 +146,11 @@ int %test21(bool %C, int %A, int %B) { %D = select bool %C2, int %A, int %B ret int %D } + +int %test22(bool %X) { + %Y = xor bool %X, true + %Z = cast bool %Y to int + %Q = xor int %Z, 1 + ret int %Q +} + |