57 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mcpu=generic -mtriple=i686-- | FileCheck %s3 4 %struct.W = type { x86_fp80, x86_fp80 }5@B = global %struct.W { x86_fp80 0xK4001A000000000000000, x86_fp80 0xK4001C000000000000000 }, align 326@.cpx = internal constant %struct.W { x86_fp80 0xK4001E000000000000000, x86_fp80 0xK40028000000000000000 }7 8define i32 @main() nounwind {9; CHECK-LABEL: main:10; CHECK: # %bb.0: # %entry11; CHECK-NEXT: pushl %ebx12; CHECK-NEXT: pushl %edi13; CHECK-NEXT: pushl %esi14; CHECK-NEXT: movl .cpx+20, %eax15; CHECK-NEXT: movl .cpx+16, %ecx16; CHECK-NEXT: movl .cpx+12, %edx17; CHECK-NEXT: movl .cpx+8, %esi18; CHECK-NEXT: movl .cpx+4, %edi19; CHECK-NEXT: movl .cpx, %ebx20; CHECK-NEXT: pushl %eax21; CHECK-NEXT: pushl %ecx22; CHECK-NEXT: pushl %edx23; CHECK-NEXT: pushl %esi24; CHECK-NEXT: pushl %edi25; CHECK-NEXT: pushl %ebx26; CHECK-NEXT: pushl $327; CHECK-NEXT: calll bar@PLT28; CHECK-NEXT: addl $28, %esp29; CHECK-NEXT: movl B+20, %eax30; CHECK-NEXT: movl B+16, %ecx31; CHECK-NEXT: movl B+12, %edx32; CHECK-NEXT: movl B+8, %esi33; CHECK-NEXT: movl B+4, %edi34; CHECK-NEXT: movl B, %ebx35; CHECK-NEXT: pushl %eax36; CHECK-NEXT: pushl %ecx37; CHECK-NEXT: pushl %edx38; CHECK-NEXT: pushl %esi39; CHECK-NEXT: pushl %edi40; CHECK-NEXT: pushl %ebx41; CHECK-NEXT: pushl $342; CHECK-NEXT: calll baz@PLT43; CHECK-NEXT: addl $28, %esp44; CHECK-NEXT: popl %esi45; CHECK-NEXT: popl %edi46; CHECK-NEXT: popl %ebx47; CHECK-NEXT: retl48entry:49 tail call void (i32, ...) @bar( i32 3, ptr byval(%struct.W) @.cpx ) nounwind50 tail call void (i32, ...) @baz( i32 3, ptr byval(%struct.W) @B ) nounwind51 ret i32 undef52}53 54declare void @bar(i32, ...)55 56declare void @baz(i32, ...)57