Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / 2008-04-24-MemCpyBug.ll
blob50e2aac794a85d19cc41a3615572c11de15e56a3
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-- | FileCheck %s
3 ; Don't accidentally add the offset twice for trailing bytes.
5         %struct.S63 = type { [63 x i8] }
6 @g1s63 = external dso_local global %struct.S63          ; <ptr> [#uses=1]
8 declare void @test63(ptr byval(%struct.S63) align 4 ) nounwind
10 define void @testit63_entry_2E_ce() nounwind  {
11 ; CHECK-LABEL: testit63_entry_2E_ce:
12 ; CHECK:       # %bb.0:
13 ; CHECK-NEXT:    pushl %edi
14 ; CHECK-NEXT:    pushl %esi
15 ; CHECK-NEXT:    subl $64, %esp
16 ; CHECK-NEXT:    movl $15, %ecx
17 ; CHECK-NEXT:    movl %esp, %edi
18 ; CHECK-NEXT:    movl $g1s63, %esi
19 ; CHECK-NEXT:    rep;movsl (%esi), %es:(%edi)
20 ; CHECK-NEXT:    movzbl g1s63+62, %eax
21 ; CHECK-NEXT:    movb %al, {{[0-9]+}}(%esp)
22 ; CHECK-NEXT:    movzwl g1s63+60, %eax
23 ; CHECK-NEXT:    movw %ax, {{[0-9]+}}(%esp)
24 ; CHECK-NEXT:    calll test63@PLT
25 ; CHECK-NEXT:    addl $64, %esp
26 ; CHECK-NEXT:    popl %esi
27 ; CHECK-NEXT:    popl %edi
28 ; CHECK-NEXT:    retl
29         tail call void @test63(ptr byval(%struct.S63) align 4  @g1s63) nounwind
30         ret void