aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/InstCombine/shift.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll
index 6a496d3723..7d438fb157 100644
--- a/test/Transforms/InstCombine/shift.ll
+++ b/test/Transforms/InstCombine/shift.ll
@@ -80,3 +80,16 @@ sbyte %test13(sbyte %A) { ;; (A >> 3) << 4 === (A & -8) * 2
%C = shl sbyte %B, ubyte 4
ret sbyte %C
}
+
+uint %test14(uint %A) {
+ %B = shr uint %A, ubyte 4
+ %C = or uint %B, 1234
+ %D = shl uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
+ ret uint %D
+}
+int %test14a(int %A) {
+ %B = shl int %A, ubyte 4
+ %C = and int %B, -1234
+ %D = shr int %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
+ ret int %D
+}