summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/InstCombine/shift.ll6
-rw-r--r--test/Transforms/InstCombine/xor.ll8
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
+}
+