From 40f6dc61c6971e00d1221b4613bbbf194e98be80 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Tue, 22 Aug 2017 16:27:00 +0000 Subject: [PATCH] [x86] auto-generate full checks; NFC I don't see anything Darwin-specific here, so I made the target generic x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311465 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/critical-edge-split-2.ll | 33 +++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/test/CodeGen/X86/critical-edge-split-2.ll b/test/CodeGen/X86/critical-edge-split-2.ll index d5878bd1a74..693d1ab1fcf 100644 --- a/test/CodeGen/X86/critical-edge-split-2.ll +++ b/test/CodeGen/X86/critical-edge-split-2.ll @@ -1,6 +1,5 @@ -; RUN: llc < %s | FileCheck %s -target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" -target triple = "x86_64-apple-darwin10.0.0" +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s %0 = type <{ %1, %1 }> %1 = type { i8, i8, i8, i8 } @@ -8,22 +7,34 @@ target triple = "x86_64-apple-darwin10.0.0" @g_2 = global %0 zeroinitializer @g_4 = global %1 zeroinitializer, align 4 - ; PR8642 define i16 @test1(i1 zeroext %C, i8** nocapture %argv) nounwind ssp { +; CHECK-LABEL: test1: +; CHECK: # BB#0: # %entry +; CHECK-NEXT: movw $1, %ax +; CHECK-NEXT: testb %dil, %dil +; CHECK-NEXT: jne .LBB0_2 +; CHECK-NEXT: # BB#1: # %cond.false.i +; CHECK-NEXT: movl $g_4, %eax +; CHECK-NEXT: movl $g_2+4, %ecx +; CHECK-NEXT: xorl %esi, %esi +; CHECK-NEXT: cmpq %rax, %rcx +; CHECK-NEXT: sete %sil +; CHECK-NEXT: movl $1, %eax +; CHECK-NEXT: xorl %edx, %edx +; CHECK-NEXT: divl %esi +; CHECK-NEXT: movl %edx, %eax +; CHECK-NEXT: .LBB0_2: # %cond.end.i +; CHECK-NEXT: # kill: %AX %AX %EAX +; CHECK-NEXT: retq entry: br i1 %C, label %cond.end.i, label %cond.false.i -cond.false.i: ; preds = %entry +cond.false.i: br label %cond.end.i -cond.end.i: ; preds = %entry +cond.end.i: %call1 = phi i16 [ trunc (i32 srem (i32 1, i32 zext (i1 icmp eq (%1* bitcast (i8* getelementptr inbounds (%0, %0* @g_2, i64 0, i32 1, i32 0) to %1*), %1* @g_4) to i32)) to i16), %cond.false.i ], [ 1, %entry ] ret i16 %call1 } -; CHECK-LABEL: test1: -; CHECK: testb %dil, %dil -; CHECK: jne LBB0_2 -; CHECK: divl -; CHECK: LBB0_2: