58 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X863; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X644 5%0 = type { i32, i32, i32, i32 }6%1 = type { i1, i1, i1, i32 }7 8define fastcc %0 @ReturnBigStruct() nounwind readnone {9; X86-LABEL: ReturnBigStruct:10; X86: # %bb.0: # %entry11; X86-NEXT: movl %ecx, %eax12; X86-NEXT: movl $24601, 12(%ecx) # imm = 0x601913; X86-NEXT: movl $48, 8(%ecx)14; X86-NEXT: movl $24, 4(%ecx)15; X86-NEXT: movl $12, (%ecx)16; X86-NEXT: retl17;18; X64-LABEL: ReturnBigStruct:19; X64: # %bb.0: # %entry20; X64-NEXT: movq %rdi, %rax21; X64-NEXT: movabsq $105660490448944, %rcx # imm = 0x60190000003022; X64-NEXT: movq %rcx, 8(%rdi)23; X64-NEXT: movabsq $103079215116, %rcx # imm = 0x180000000C24; X64-NEXT: movq %rcx, (%rdi)25; X64-NEXT: retq26entry:27 %0 = insertvalue %0 zeroinitializer, i32 12, 028 %1 = insertvalue %0 %0, i32 24, 129 %2 = insertvalue %0 %1, i32 48, 230 %3 = insertvalue %0 %2, i32 24601, 331 ret %0 %332}33 34 35define fastcc %1 @ReturnBigStruct2() nounwind readnone {36; X86-LABEL: ReturnBigStruct2:37; X86: # %bb.0: # %entry38; X86-NEXT: movl %ecx, %eax39; X86-NEXT: movl $48, 4(%ecx)40; X86-NEXT: movb $1, 2(%ecx)41; X86-NEXT: movw $256, (%ecx) # imm = 0x10042; X86-NEXT: retl43;44; X64-LABEL: ReturnBigStruct2:45; X64: # %bb.0: # %entry46; X64-NEXT: movq %rdi, %rax47; X64-NEXT: movl $48, 4(%rdi)48; X64-NEXT: movb $1, 2(%rdi)49; X64-NEXT: movw $256, (%rdi) # imm = 0x10050; X64-NEXT: retq51entry:52 %0 = insertvalue %1 zeroinitializer, i1 false, 053 %1 = insertvalue %1 %0, i1 true, 154 %2 = insertvalue %1 %1, i1 true, 255 %3 = insertvalue %1 %2, i32 48, 356 ret %1 %357}58