32 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- | FileCheck %s3; 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 ; <ptr> [#uses=1]7 8declare void @test63(ptr byval(%struct.S63) align 4 ) nounwind9 10define void @testit63_entry_2E_ce() nounwind {11; CHECK-LABEL: testit63_entry_2E_ce:12; CHECK: # %bb.0:13; CHECK-NEXT: pushl %edi14; CHECK-NEXT: pushl %esi15; CHECK-NEXT: subl $64, %esp16; CHECK-NEXT: movl $15, %ecx17; CHECK-NEXT: movl %esp, %edi18; CHECK-NEXT: movl $g1s63, %esi19; CHECK-NEXT: rep;movsl (%esi), %es:(%edi)20; CHECK-NEXT: movzbl g1s63+62, %eax21; CHECK-NEXT: movb %al, {{[0-9]+}}(%esp)22; CHECK-NEXT: movzwl g1s63+60, %eax23; CHECK-NEXT: movw %ax, {{[0-9]+}}(%esp)24; CHECK-NEXT: calll test63@PLT25; CHECK-NEXT: addl $64, %esp26; CHECK-NEXT: popl %esi27; CHECK-NEXT: popl %edi28; CHECK-NEXT: retl29 tail call void @test63(ptr byval(%struct.S63) align 4 @g1s63) nounwind30 ret void31}32