diff options
author | Sanjay Patel <spatel@rotateright.com> | 2017-03-08 17:19:56 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2017-03-08 17:19:56 +0000 |
commit | 9f495695bbdf4c21625915c8f1048bfe0583af7f (patch) | |
tree | 7814fbcfab441c0e4793e804f8e016b4c67bb388 | |
parent | 8966848d179ea8a7e4dcce21ef9e35b2f9709dac (diff) | |
download | bcm5719-llvm-9f495695bbdf4c21625915c8f1048bfe0583af7f.tar.gz bcm5719-llvm-9f495695bbdf4c21625915c8f1048bfe0583af7f.zip |
[x86] regenerate checks; NFC
This test could be reduced? The check fails for a seemingly unrelated change,
so I'm adding full checks to see what is happening.
llvm-svn: 297296
-rw-r--r-- | llvm/test/CodeGen/X86/pr30693.ll | 78 |
1 files changed, 72 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/X86/pr30693.ll b/llvm/test/CodeGen/X86/pr30693.ll index 834365911ed..ebaf80aeaf9 100644 --- a/llvm/test/CodeGen/X86/pr30693.ll +++ b/llvm/test/CodeGen/X86/pr30693.ll @@ -1,18 +1,84 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; PR30693 -; RUN: llc < %s | FileCheck %s +; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s -; CHECK: .p2align 2 -; CHECK-NEXT: .LCPI0_0: -; CHECK-NOT: vmovaps .LCPI0_0(%rip), -; CHECK: .cfi_endproc target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -target triple = "x86_64-unknown-linux-gnu" @var_35 = external local_unnamed_addr global i32, align 4 @var_14 = external local_unnamed_addr global i16, align 2 ; Function Attrs: uwtable define void @_Z3foov() local_unnamed_addr #0 { +; CHECK-LABEL: _Z3foov: +; CHECK: # BB#0: # %entry +; CHECK-NEXT: movslq {{.*}}(%rip), %rax +; CHECK-NEXT: movzwl {{.*}}(%rip), %esi +; CHECK-NEXT: imull %eax, %esi +; CHECK-NEXT: xorl %edi, %edi +; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 +; CHECK-NEXT: vxorps %ymm1, %ymm1, %ymm1 +; CHECK-NEXT: jmp .LBB0_1 +; CHECK-NEXT: .p2align 4, 0x90 +; CHECK-NEXT: .LBB0_7: # %for.cond.cleanup477.loopexit +; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %ymm2 +; CHECK-NEXT: vmovdqu %ymm2, (%rax) +; CHECK-NEXT: .LBB0_1: # %vector.ph1520 +; CHECK-NEXT: # =>This Loop Header: Depth=1 +; CHECK-NEXT: # Child Loop BB0_3 Depth 2 +; CHECK-NEXT: xorl %eax, %eax +; CHECK-NEXT: xorl %edx, %edx +; CHECK-NEXT: idivl %edi +; CHECK-NEXT: movl %eax, %ecx +; CHECK-NEXT: xorl %eax, %eax +; CHECK-NEXT: xorl %edx, %edx +; CHECK-NEXT: idivq %rdi +; CHECK-NEXT: testq %rax, %rax +; CHECK-NEXT: jne .LBB0_8 +; CHECK-NEXT: # BB#2: # %vector.body1512.prol.loopexit +; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: vpbroadcastw %xmm0, %ymm2 +; CHECK-NEXT: vpbroadcastw %xmm0, %xmm3 +; CHECK-NEXT: .p2align 4, 0x90 +; CHECK-NEXT: .LBB0_3: # %for.cond74.loopexit.us +; CHECK-NEXT: # Parent Loop BB0_1 Depth=1 +; CHECK-NEXT: # => This Inner Loop Header: Depth=2 +; CHECK-NEXT: vmovdqu %xmm0, (%rax) +; CHECK-NEXT: testb %dil, %dil +; CHECK-NEXT: jne .LBB0_3 +; CHECK-NEXT: # BB#4: # %for.cond337.preheader.lr.ph +; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: vmovups %ymm1, (%rax) +; CHECK-NEXT: vmovdqu %ymm2, (%rax) +; CHECK-NEXT: vmovdqu %xmm3, (%rax) +; CHECK-NEXT: testl %eax, %eax +; CHECK-NEXT: jg .LBB0_9 +; CHECK-NEXT: # BB#5: # %for.cond385.preheader +; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: testl %eax, %eax +; CHECK-NEXT: jle .LBB0_10 +; CHECK-NEXT: # BB#6: # %for.cond399.preheader.lr.ph.us.1 +; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: testl %eax, %eax +; CHECK-NEXT: jle .LBB0_7 +; CHECK-NEXT: .LBB0_9: # %for.cond337.preheader.us.preheader +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: .LBB0_8: # %vector.body1512.prol.preheader +; CHECK-NEXT: imull %ecx, %esi +; CHECK-NEXT: imull %eax, %esi +; CHECK-NEXT: imull %ecx, %esi +; CHECK-NEXT: imull %eax, %esi +; CHECK-NEXT: addl $36611, %esi # imm = 0x8F03 +; CHECK-NEXT: vmovd %esi, %xmm0 +; CHECK-NEXT: vpbroadcastw %xmm0, %ymm0 +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: .LBB0_10: # %for.cond392.preheader.preheader +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: vmovdqu %ymm0, (%rax) +; CHECK-NEXT: vmovdqu %ymm0, (%rax) entry: %0 = load i32, i32* @var_35, align 4 %1 = load i16, i16* @var_14, align 2 |