summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/or.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine/or.ll')
-rw-r--r--test/Transforms/InstCombine/or.ll9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll
index 849df7c6f8..4b731dfa5c 100644
--- a/test/Transforms/InstCombine/or.ll
+++ b/test/Transforms/InstCombine/or.ll
@@ -1,6 +1,7 @@
; This test makes sure that these instructions are properly eliminated.
;
+; RUN: llvm-as < %s | opt -instcombine -disable-output &&
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep -v xor | not grep 'or '
implementation
@@ -148,4 +149,10 @@ int %test22(int %B) {
%ELIM5 = or int %ELIM41, %ELIM7 ; <int> [#uses=1]
ret int %ELIM5
}
-
+
+ushort %test23(ushort %A) {
+ %B = shr ushort %A, ubyte 1
+ %C = or ushort %B, 32768 ;; fold or into xor
+ %D = xor ushort %C, 8193
+ ret ushort %D
+}