1; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- -mcpu=g5 | FileCheck %s -check-prefix=CHECK-NOVSX 2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu \ 3; RUN: -mattr=+altivec -mattr=+vsx | FileCheck %s 4; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu \ 5; RUN: -mattr=+altivec -mattr=-vsx | FileCheck %s \ 6; RUN: -check-prefix=CHECK-NOVSX 7 8define void @test_float(<4 x float>* %A) { 9; CHECK-LABEL: test_float 10; CHECK-NOVSX-LABEL: test_float 11 %tmp2 = load <4 x float>, <4 x float>* %A 12 %tmp3 = fsub <4 x float> < float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00 >, %tmp2 13 store <4 x float> %tmp3, <4 x float>* %A 14 ret void 15 16; CHECK: xvnegsp 17; CHECK: blr 18; CHECK-NOVSX: vsubfp 19; CHECK-NOVSX: blr 20 21} 22 23define void @test_double(<2 x double>* %A) { 24; CHECK-LABEL: test_double 25; CHECK-NOVSX-LABEL: test_double 26 %tmp2 = load <2 x double>, <2 x double>* %A 27 %tmp3 = fsub <2 x double> < double -0.000000e+00, double -0.000000e+00 >, %tmp2 28 store <2 x double> %tmp3, <2 x double>* %A 29 ret void 30 31; CHECK: xvnegdp 32; CHECK: blr 33; CHECK-NOVSX: fneg 34; CHECK-NOVSX: fneg 35; CHECK-NOVSX: blr 36 37} 38