1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mcpu=pwr7 -mattr=+vsx | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mcpu=pwr7 -mattr=+vsx -fast-isel -O0 | FileCheck %s 3*9880d681SAndroid Build Coastguard Workertarget datalayout = "E-m:e-i64:64-n32:64" 4*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64-unknown-linux-gnu" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @sv(<2 x double>, <2 x i64>, <4 x float>) #0 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @main(<4 x float> %a, <2 x double> %b, <2 x i64> %c) #1 { 9*9880d681SAndroid Build Coastguard Workerentry: 10*9880d681SAndroid Build Coastguard Worker %ca = tail call <2 x double> @sv(<2 x double> %b, <2 x i64> %c, <4 x float> %a) 11*9880d681SAndroid Build Coastguard Worker %v = fadd <2 x double> %ca, <double 1.0, double 1.0> 12*9880d681SAndroid Build Coastguard Worker ret <2 x double> %v 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @main 15*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: vor [[V:[0-9]+]], 2, 2 16*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: xxlor 34, 35, 35 17*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: xxlor 35, 36, 36 18*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: vor 4, [[V]], [[V]] 19*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: bl sv 20*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: lxvd2x [[VC:[0-9]+]], 21*9880d681SAndroid Build Coastguard Worker; CHECK: xvadddp 34, 34, [[VC]] 22*9880d681SAndroid Build Coastguard Worker; CHECK: blr 23*9880d681SAndroid Build Coastguard Worker} 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerattributes #0 = { noinline nounwind readnone } 26*9880d681SAndroid Build Coastguard Workerattributes #1 = { nounwind } 27*9880d681SAndroid Build Coastguard Worker 28