[llvm] r274188 - regenerate checks

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 16:58:39 PDT 2016


Author: spatel
Date: Wed Jun 29 18:58:39 2016
New Revision: 274188

URL: http://llvm.org/viewvc/llvm-project?rev=274188&view=rev
Log:
regenerate checks

Modified:
    llvm/trunk/test/Transforms/InstCombine/apint-select.ll

Modified: llvm/trunk/test/Transforms/InstCombine/apint-select.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/apint-select.ll?rev=274188&r1=274187&r2=274188&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/apint-select.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/apint-select.ll Wed Jun 29 18:58:39 2016
@@ -1,45 +1,93 @@
-; This test makes sure that these instructions are properly eliminated.
-
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt < %s -instcombine -S | FileCheck %s
-; CHECK-NOT: select
 
+; No selects should remain.
 
-define i41 @test1(i1 %C) {
-	%V = select i1 %C, i41 1, i41 0  ; V = C
-	ret i41 %V
+define i41 @zext(i1 %C) {
+; CHECK-LABEL: @zext(
+; CHECK-NEXT:    [[V:%.*]] = zext i1 %C to i41
+; CHECK-NEXT:    ret i41 [[V]]
+;
+  %V = select i1 %C, i41 1, i41 0
+  ret i41 %V
+}
+
+define i41 @sext(i1 %C) {
+; CHECK-LABEL: @sext(
+; CHECK-NEXT:    [[V:%.*]] = sext i1 %C to i41
+; CHECK-NEXT:    ret i41 [[V]]
+;
+  %V = select i1 %C, i41 -1, i41 0
+  ret i41 %V
+}
+
+define i999 @not_zext(i1 %C) {
+; CHECK-LABEL: @not_zext(
+; CHECK-NEXT:    [[TMP1:%.*]] = zext i1 %C to i999
+; CHECK-NEXT:    [[V:%.*]] = xor i999 [[TMP1]], 1
+; CHECK-NEXT:    ret i999 [[V]]
+;
+  %V = select i1 %C, i999 0, i999 1
+  ret i999 %V
+}
+
+define i999 @not_sext(i1 %C) {
+; CHECK-LABEL: @not_sext(
+; CHECK-NEXT:    [[NOT_C:%.*]] = xor i1 %C, true
+; CHECK-NEXT:    [[V:%.*]] = sext i1 [[NOT_C]] to i999
+; CHECK-NEXT:    ret i999 [[V]]
+;
+  %V = select i1 %C, i999 0, i999 -1
+  ret i999 %V
 }
 
-define i999 @test2(i1 %C) {
-	%V = select i1 %C, i999 0, i999 1  ; V = C
-	ret i999 %V
-}
+;; (x <s 0) ? -1 : 0 -> ashr x, 31
 
 define i41 @test3(i41 %X) {
-    ;; (x <s 0) ? -1 : 0 -> ashr x, 31
-    %t = icmp slt i41 %X, 0
-    %V = select i1 %t, i41 -1, i41 0
-    ret i41 %V
+; CHECK-LABEL: @test3(
+; CHECK-NEXT:    [[X_LOBIT:%.*]] = ashr i41 %X, 40
+; CHECK-NEXT:    ret i41 [[X_LOBIT]]
+;
+  %t = icmp slt i41 %X, 0
+  %V = select i1 %t, i41 -1, i41 0
+  ret i41 %V
 }
 
+;; (x <s 0) ? -1 : 0 -> ashr x, 31
+
 define i1023 @test4(i1023 %X) {
-    ;; (x <s 0) ? -1 : 0 -> ashr x, 31
-    %t = icmp slt i1023 %X, 0
-    %V = select i1 %t, i1023 -1, i1023 0
-    ret i1023 %V
+; CHECK-LABEL: @test4(
+; CHECK-NEXT:    [[X_LOBIT:%.*]] = ashr i1023 %X, 1022
+; CHECK-NEXT:    ret i1023 [[X_LOBIT]]
+;
+  %t = icmp slt i1023 %X, 0
+  %V = select i1 %t, i1023 -1, i1023 0
+  ret i1023 %V
 }
 
+;; ((X & 27) ? 27 : 0)
+
 define i41 @test5(i41 %X) {
-    ;; ((X & 27) ? 27 : 0)
-    %Y = and i41 %X, 32
-    %t = icmp ne i41 %Y, 0
-    %V = select i1 %t, i41 32, i41 0
-    ret i41 %V
+; CHECK-LABEL: @test5(
+; CHECK-NEXT:    [[Y:%.*]] = and i41 %X, 32
+; CHECK-NEXT:    ret i41 [[Y]]
+;
+  %Y = and i41 %X, 32
+  %t = icmp ne i41 %Y, 0
+  %V = select i1 %t, i41 32, i41 0
+  ret i41 %V
 }
 
+;; ((X & 27) ? 27 : 0)
+
 define i1023 @test6(i1023 %X) {
-    ;; ((X & 27) ? 27 : 0)
-    %Y = and i1023 %X, 64
-    %t = icmp ne i1023 %Y, 0
-    %V = select i1 %t, i1023 64, i1023 0
-    ret i1023 %V
+; CHECK-LABEL: @test6(
+; CHECK-NEXT:    [[Y:%.*]] = and i1023 %X, 64
+; CHECK-NEXT:    ret i1023 [[Y]]
+;
+  %Y = and i1023 %X, 64
+  %t = icmp ne i1023 %Y, 0
+  %V = select i1 %t, i1023 64, i1023 0
+  ret i1023 %V
 }
+




More information about the llvm-commits mailing list