1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker%0 = type { i32, i32, i32, i32 } 4*9880d681SAndroid Build Coastguard Worker%1 = type { i1, i1, i1, i32 } 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; CHECK: ReturnBigStruct 7*9880d681SAndroid Build Coastguard Worker; CHECK: movl $24601, 12(%ecx) 8*9880d681SAndroid Build Coastguard Worker; CHECK: movl $48, 8(%ecx) 9*9880d681SAndroid Build Coastguard Worker; CHECK: movl $24, 4(%ecx) 10*9880d681SAndroid Build Coastguard Worker; CHECK: movl $12, (%ecx) 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine fastcc %0 @ReturnBigStruct() nounwind readnone { 13*9880d681SAndroid Build Coastguard Workerentry: 14*9880d681SAndroid Build Coastguard Worker %0 = insertvalue %0 zeroinitializer, i32 12, 0 15*9880d681SAndroid Build Coastguard Worker %1 = insertvalue %0 %0, i32 24, 1 16*9880d681SAndroid Build Coastguard Worker %2 = insertvalue %0 %1, i32 48, 2 17*9880d681SAndroid Build Coastguard Worker %3 = insertvalue %0 %2, i32 24601, 3 18*9880d681SAndroid Build Coastguard Worker ret %0 %3 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker; CHECK: ReturnBigStruct2 22*9880d681SAndroid Build Coastguard Worker; CHECK: movl $48, 4(%ecx) 23*9880d681SAndroid Build Coastguard Worker; CHECK: movb $1, 2(%ecx) 24*9880d681SAndroid Build Coastguard Worker; CHECK: movb $1, 1(%ecx) 25*9880d681SAndroid Build Coastguard Worker; CHECK: movb $0, (%ecx) 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdefine fastcc %1 @ReturnBigStruct2() nounwind readnone { 28*9880d681SAndroid Build Coastguard Workerentry: 29*9880d681SAndroid Build Coastguard Worker %0 = insertvalue %1 zeroinitializer, i1 false, 0 30*9880d681SAndroid Build Coastguard Worker %1 = insertvalue %1 %0, i1 true, 1 31*9880d681SAndroid Build Coastguard Worker %2 = insertvalue %1 %1, i1 true, 2 32*9880d681SAndroid Build Coastguard Worker %3 = insertvalue %1 %2, i32 48, 3 33*9880d681SAndroid Build Coastguard Worker ret %1 %3 34*9880d681SAndroid Build Coastguard Worker} 35