aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/InstCombine/xor.ll16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/Transforms/InstCombine/xor.ll b/test/Transforms/InstCombine/xor.ll
index 3dc827395e..0273768f56 100644
--- a/test/Transforms/InstCombine/xor.ll
+++ b/test/Transforms/InstCombine/xor.ll
@@ -48,8 +48,8 @@ int %test7(int %A, int %B) {
%A1 = and int %A, 7
%B1 = and int %B, 128
- %OROK = xor int %A1, %B1
- ret int %OROK
+ %C1 = xor int %A1, %B1
+ ret int %C1
}
ubyte %test8(bool %c) {
@@ -66,3 +66,15 @@ bool %test9(ubyte %A) {
%C = seteq ubyte %B, 34
ret bool %C
}
+
+ubyte %test10(ubyte %A) {
+ %B = and ubyte %A, 3
+ %C = xor ubyte %B, 4 ; transform into an OR
+ ret ubyte %C
+}
+
+ubyte %test11(ubyte %A) {
+ %B = or ubyte %A, 12
+ %C = xor ubyte %B, 4 ; transform into an AND
+ ret ubyte %C
+}