summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/MachineSink-eflags.ll
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-11-05 19:45:37 +0000
committerCraig Topper <craig.topper@intel.com>2018-11-05 19:45:37 +0000
commitab896b08d4f85fb0c452fc51569ca627a83dd64f (patch)
treeab654a993c0eeb70426b9f17f887ffae6b378324 /llvm/test/CodeGen/X86/MachineSink-eflags.ll
parent8a0eb44398e7c34750264344bfc5ce49e922b5a8 (diff)
downloadbcm5719-llvm-ab896b08d4f85fb0c452fc51569ca627a83dd64f.tar.gz
bcm5719-llvm-ab896b08d4f85fb0c452fc51569ca627a83dd64f.zip
[X86] Regenerate test checks in preparation for a patch. NFC
I'm preparing a patch to avoid creating critical edges in cmov expansion. Updating these tests to make the changes by the next patch easier to see. llvm-svn: 346161
Diffstat (limited to 'llvm/test/CodeGen/X86/MachineSink-eflags.ll')
-rw-r--r--llvm/test/CodeGen/X86/MachineSink-eflags.ll33
1 files changed, 31 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/MachineSink-eflags.ll b/llvm/test/CodeGen/X86/MachineSink-eflags.ll
index 4e52c8c5f7d..6302b3be671 100644
--- a/llvm/test/CodeGen/X86/MachineSink-eflags.ll
+++ b/llvm/test/CodeGen/X86/MachineSink-eflags.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; 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-pc-linux"
@@ -11,6 +12,36 @@ target triple = "x86_64-pc-linux"
%5 = type <{ void (i32)*, i8*, i32 (i8*, ...)* }>
define void @foo(i8* nocapture %_stubArgs) nounwind {
+; CHECK-LABEL: foo:
+; CHECK: # %bb.0: # %entry
+; CHECK-NEXT: movq 48(%rdi), %rax
+; CHECK-NEXT: movl 64(%rdi), %edx
+; CHECK-NEXT: movl $200, %esi
+; CHECK-NEXT: addl 68(%rdi), %esi
+; CHECK-NEXT: imull $46, %edx, %ecx
+; CHECK-NEXT: addq %rsi, %rcx
+; CHECK-NEXT: shlq $4, %rcx
+; CHECK-NEXT: imull $47, %edx, %edx
+; CHECK-NEXT: addq %rsi, %rdx
+; CHECK-NEXT: shlq $4, %rdx
+; CHECK-NEXT: movaps (%rax,%rdx), %xmm0
+; CHECK-NEXT: cmpl $0, (%rdi)
+; CHECK-NEXT: jne .LBB0_1
+; CHECK-NEXT: # %bb.2: # %entry
+; CHECK-NEXT: xorps %xmm1, %xmm1
+; CHECK-NEXT: jmp .LBB0_3
+; CHECK-NEXT: .LBB0_1:
+; CHECK-NEXT: movaps (%rax,%rcx), %xmm1
+; CHECK-NEXT: .LBB0_3: # %entry
+; CHECK-NEXT: leaq -{{[0-9]+}}(%rsp), %rsp
+; CHECK-NEXT: movaps %xmm1, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: jne .LBB0_5
+; CHECK-NEXT: # %bb.4: # %entry
+; CHECK-NEXT: xorps %xmm0, %xmm0
+; CHECK-NEXT: .LBB0_5: # %entry
+; CHECK-NEXT: movaps %xmm0, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: addq $152, %rsp
+; CHECK-NEXT: retq
entry:
%i0 = alloca i8*, align 8
%i2 = alloca i8*, align 8
@@ -60,8 +91,6 @@ entry:
%cmp432.i = icmp ult i32 %tmp156.i, %tmp1
; %shl.i should not be sinked below the compare.
-; CHECK: cmpl
-; CHECK-NOT: shlq
%cond.i = select i1 %cmp432.i, <2 x double> %tmp162.i, <2 x double> zeroinitializer
store <2 x double> %cond.i, <2 x double>* %ptr4438.i, align 16
OpenPOWER on IntegriCloud