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. 4 5 %struct.S63 = type { [63 x i8] } 6@g1s63 = external dso_local global %struct.S63 ; <%struct.S63*> [#uses=1] 7 8declare void @test63(%struct.S63* byval(%struct.S63) align 4 ) nounwind 9 10define 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: movb g1s63+62, %al 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 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(%struct.S63* byval(%struct.S63) align 4 @g1s63) nounwind 30 ret void 31} 32