1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple="powerpc-unknown-linux-gnu" -mcpu=ppc64 < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; PR15286 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker%va_list = type {i8, i8, i16, i8*, i8*} 5*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.va_copy(i8*, i8*) 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine void @test_vacopy() nounwind { 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker %0 = alloca %va_list 10*9880d681SAndroid Build Coastguard Worker %1 = alloca %va_list 11*9880d681SAndroid Build Coastguard Worker %2 = bitcast %va_list* %0 to i8* 12*9880d681SAndroid Build Coastguard Worker %3 = bitcast %va_list* %1 to i8* 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker call void @llvm.va_copy(i8* %3, i8* %2) 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker ret void 17*9880d681SAndroid Build Coastguard Worker} 18*9880d681SAndroid Build Coastguard Worker; CHECK: test_vacopy: 19*9880d681SAndroid Build Coastguard Worker; CHECK: lwz [[REG1:[0-9]+]], {{.*}} 20*9880d681SAndroid Build Coastguard Worker; CHECK: lwz [[REG2:[0-9]+]], {{.*}} 21*9880d681SAndroid Build Coastguard Worker; CHECK: lwz [[REG3:[0-9]+]], {{.*}} 22*9880d681SAndroid Build Coastguard Worker; CHECK: stw [[REG1]], {{.*}} 23*9880d681SAndroid Build Coastguard Worker; CHECK: stw [[REG2]], {{.*}} 24*9880d681SAndroid Build Coastguard Worker; CHECK: stw [[REG3]], {{.*}} 25