1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mcpu=pwr7 -mattr=+vsx -O1 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@vf = global <4 x float> <float -1.500000e+00, float 2.500000e+00, float -3.500000e+00, float 4.500000e+00>, align 16 4*9880d681SAndroid Build Coastguard Worker@vd = global <2 x double> <double 3.500000e+00, double -7.500000e+00>, align 16 5*9880d681SAndroid Build Coastguard Worker@vf_res = common global <4 x float> zeroinitializer, align 16 6*9880d681SAndroid Build Coastguard Worker@vd_res = common global <2 x double> zeroinitializer, align 16 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine void @test1() { 9*9880d681SAndroid Build Coastguard Workerentry: 10*9880d681SAndroid Build Coastguard Worker %0 = load <4 x float>, <4 x float>* @vf, align 16 11*9880d681SAndroid Build Coastguard Worker %1 = tail call <4 x float> @llvm.ppc.vsx.xvdivsp(<4 x float> %0, <4 x float> %0) 12*9880d681SAndroid Build Coastguard Worker store <4 x float> %1, <4 x float>* @vf_res, align 16 13*9880d681SAndroid Build Coastguard Worker ret void 14*9880d681SAndroid Build Coastguard Worker} 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test1 16*9880d681SAndroid Build Coastguard Worker; CHECK: xvdivsp 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerdefine void @test2() { 19*9880d681SAndroid Build Coastguard Workerentry: 20*9880d681SAndroid Build Coastguard Worker %0 = load <2 x double>, <2 x double>* @vd, align 16 21*9880d681SAndroid Build Coastguard Worker %1 = tail call <2 x double> @llvm.ppc.vsx.xvdivdp(<2 x double> %0, <2 x double> %0) 22*9880d681SAndroid Build Coastguard Worker store <2 x double> %1, <2 x double>* @vd_res, align 16 23*9880d681SAndroid Build Coastguard Worker ret void 24*9880d681SAndroid Build Coastguard Worker} 25*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test2 26*9880d681SAndroid Build Coastguard Worker; CHECK: xvdivdp 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.ppc.vsx.xvdivdp(<2 x double>, <2 x double>) 29*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.ppc.vsx.xvdivsp(<4 x float>, <4 x float>) 30