]> granicus.if.org Git - llvm/commitdiff
[InstCombine] add more extra use tests for icmp with extends; NFC
authorSanjay Patel <spatel@rotateright.com>
Tue, 20 Aug 2019 21:23:28 +0000 (21:23 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 20 Aug 2019 21:23:28 +0000 (21:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369447 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll

index 934d981d81b394651b1e77c5d3435df73ebe1365..f5a0c1c259df9f592d4502d24a77db7153f91082 100644 (file)
@@ -425,8 +425,8 @@ define i1 @different_size_sext_zext_ne(i7 %x, i4 %y) {
 
 declare void @use(i25)
 
-define i1 @different_size_sext_sext_ule_extra_use(i7 %x, i4 %y) {
-; CHECK-LABEL: @different_size_sext_sext_ule_extra_use(
+define i1 @different_size_sext_sext_ule_extra_use1(i7 %x, i4 %y) {
+; CHECK-LABEL: @different_size_sext_sext_ule_extra_use1(
 ; CHECK-NEXT:    [[SX:%.*]] = sext i7 [[X:%.*]] to i25
 ; CHECK-NEXT:    [[SY:%.*]] = sext i4 [[Y:%.*]] to i25
 ; CHECK-NEXT:    call void @use(i25 [[SY]])
@@ -439,3 +439,35 @@ define i1 @different_size_sext_sext_ule_extra_use(i7 %x, i4 %y) {
   %r = icmp ule i25 %sx, %sy
   ret i1 %r
 }
+
+define i1 @different_size_sext_sext_ule_extra_use2(i7 %x, i4 %y) {
+; CHECK-LABEL: @different_size_sext_sext_ule_extra_use2(
+; CHECK-NEXT:    [[SX:%.*]] = sext i7 [[X:%.*]] to i25
+; CHECK-NEXT:    call void @use(i25 [[SX]])
+; CHECK-NEXT:    [[SY:%.*]] = sext i4 [[Y:%.*]] to i25
+; CHECK-NEXT:    [[R:%.*]] = icmp ule i25 [[SX]], [[SY]]
+; CHECK-NEXT:    ret i1 [[R]]
+;
+  %sx = sext i7 %x to i25
+  call void @use(i25 %sx)
+  %sy = sext i4 %y to i25
+  %r = icmp ule i25 %sx, %sy
+  ret i1 %r
+}
+
+define i1 @different_size_sext_sext_ule_extra_use3(i7 %x, i4 %y) {
+; CHECK-LABEL: @different_size_sext_sext_ule_extra_use3(
+; CHECK-NEXT:    [[SX:%.*]] = sext i7 [[X:%.*]] to i25
+; CHECK-NEXT:    call void @use(i25 [[SX]])
+; CHECK-NEXT:    [[SY:%.*]] = sext i4 [[Y:%.*]] to i25
+; CHECK-NEXT:    call void @use(i25 [[SY]])
+; CHECK-NEXT:    [[R:%.*]] = icmp ule i25 [[SX]], [[SY]]
+; CHECK-NEXT:    ret i1 [[R]]
+;
+  %sx = sext i7 %x to i25
+  call void @use(i25 %sx)
+  %sy = sext i4 %y to i25
+  call void @use(i25 %sy)
+  %r = icmp ule i25 %sx, %sy
+  ret i1 %r
+}