[llvm] 811167b - [NFC][InstCombine] Add a few test of adding to add-like or
Roman Lebedev via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 11 08:08:51 PDT 2021
Author: Roman Lebedev
Date: 2021-04-11T18:08:08+03:00
New Revision: 811167b1f6a611363ce43c8e27e71b1494af6fc5
URL: https://github.com/llvm/llvm-project/commit/811167b1f6a611363ce43c8e27e71b1494af6fc5
DIFF: https://github.com/llvm/llvm-project/commit/811167b1f6a611363ce43c8e27e71b1494af6fc5.diff
LOG: [NFC][InstCombine] Add a few test of adding to add-like or
Added:
Modified:
llvm/test/Transforms/InstCombine/add.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstCombine/add.ll b/llvm/test/Transforms/InstCombine/add.ll
index b6a7a52ed126..223f033c1fd8 100644
--- a/llvm/test/Transforms/InstCombine/add.ll
+++ b/llvm/test/Transforms/InstCombine/add.ll
@@ -1354,3 +1354,42 @@ define i32 @lshr_add_use2_sexts(i1 %x, i1 %y, i32* %p) {
%r = lshr i32 %sub, 31
ret i32 %r
}
+
+define i8 @add_like_or_t0(i8 %x) {
+; CHECK-LABEL: @add_like_or_t0(
+; CHECK-NEXT: [[I0:%.*]] = shl i8 [[X:%.*]], 4
+; CHECK-NEXT: [[I1:%.*]] = or i8 [[I0]], 15
+; CHECK-NEXT: [[R:%.*]] = add i8 [[I1]], 42
+; CHECK-NEXT: ret i8 [[R]]
+;
+ %i0 = shl i8 %x, 4
+ %i1 = or i8 %i0, 15 ; no common bits
+ %r = add i8 %i1, 42
+ ret i8 %r
+}
+define i8 @add_like_or_n1(i8 %x) {
+; CHECK-LABEL: @add_like_or_n1(
+; CHECK-NEXT: [[I0:%.*]] = shl i8 [[X:%.*]], 4
+; CHECK-NEXT: [[I1:%.*]] = or i8 [[I0]], 31
+; CHECK-NEXT: [[R:%.*]] = add i8 [[I1]], 42
+; CHECK-NEXT: ret i8 [[R]]
+;
+ %i0 = shl i8 %x, 4
+ %i1 = or i8 %i0, 31 ; 4'th bit might be common-set
+ %r = add i8 %i1, 42
+ ret i8 %r
+}
+define i8 @add_like_or_t2_extrause(i8 %x) {
+; CHECK-LABEL: @add_like_or_t2_extrause(
+; CHECK-NEXT: [[I0:%.*]] = shl i8 [[X:%.*]], 4
+; CHECK-NEXT: [[I1:%.*]] = or i8 [[I0]], 15
+; CHECK-NEXT: call void @use(i8 [[I1]])
+; CHECK-NEXT: [[R:%.*]] = add i8 [[I1]], 42
+; CHECK-NEXT: ret i8 [[R]]
+;
+ %i0 = shl i8 %x, 4
+ %i1 = or i8 %i0, 15 ; no common bits
+ call void @use(i8 %i1) ; extra use
+ %r = add i8 %i1, 42
+ ret i8 %r
+}
More information about the llvm-commits
mailing list