From 25af7444df8f1115feced4105d893678c7f54cd0 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Tue, 9 Aug 2016 17:02:17 +0000 Subject: [PATCH] auto-generate checks llvm-svn: 278136 --- llvm/test/Transforms/InstCombine/and-compare.ll | 32 ++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/llvm/test/Transforms/InstCombine/and-compare.ll b/llvm/test/Transforms/InstCombine/and-compare.ll index e97d74c..074f165 100644 --- a/llvm/test/Transforms/InstCombine/and-compare.ll +++ b/llvm/test/Transforms/InstCombine/and-compare.ll @@ -1,3 +1,4 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instcombine -S | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" @@ -6,21 +7,23 @@ target triple = "x86_64-unknown-linux-gnu" ; Should be optimized to one and. define i1 @test1(i32 %a, i32 %b) { ; CHECK-LABEL: @test1( -; CHECK-NEXT: %1 = xor i32 %a, %b -; CHECK-NEXT: %2 = and i32 %1, 65280 -; CHECK-NEXT: %tmp = icmp ne i32 %2, 0 -; CHECK-NEXT: ret i1 %tmp - %tmp1 = and i32 %a, 65280 ; [#uses=1] - %tmp3 = and i32 %b, 65280 ; [#uses=1] - %tmp = icmp ne i32 %tmp1, %tmp3 ; [#uses=1] - ret i1 %tmp +; CHECK-NEXT: [[TMP1:%.*]] = xor i32 %a, %b +; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], 65280 +; CHECK-NEXT: [[TMP:%.*]] = icmp ne i32 [[TMP2]], 0 +; CHECK-NEXT: ret i1 [[TMP]] +; + %tmp1 = and i32 %a, 65280 + %tmp3 = and i32 %b, 65280 + %tmp = icmp ne i32 %tmp1, %tmp3 + ret i1 %tmp } define zeroext i1 @test2(i64 %A) { ; CHECK-LABEL: @test2( -; CHECK-NEXT: %[[trunc:.*]] = trunc i64 %A to i8 -; CHECK-NEXT: %[[icmp:.*]] = icmp sgt i8 %[[trunc]], -1 -; CHECK-NEXT: ret i1 %[[icmp]] +; CHECK-NEXT: [[TMP1:%.*]] = trunc i64 %A to i8 +; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[TMP1]], -1 +; CHECK-NEXT: ret i1 [[CMP]] +; %and = and i64 %A, 128 %cmp = icmp eq i64 %and, 0 ret i1 %cmp @@ -28,9 +31,10 @@ define zeroext i1 @test2(i64 %A) { define zeroext i1 @test3(i64 %A) { ; CHECK-LABEL: @test3( -; CHECK-NEXT: %[[trunc:.*]] = trunc i64 %A to i8 -; CHECK-NEXT: %[[icmp:.*]] = icmp slt i8 %[[trunc]], 0 -; CHECK-NEXT: ret i1 %[[icmp]] +; CHECK-NEXT: [[TMP1:%.*]] = trunc i64 %A to i8 +; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[TMP1]], 0 +; CHECK-NEXT: ret i1 [[CMP]] +; %and = and i64 %A, 128 %cmp = icmp ne i64 %and, 0 ret i1 %cmp -- 2.7.4