1 ; RUN: llc < %s -mtriple=armv7-apple-darwin | FileCheck %s 2 ; RUN: llc < %s -mtriple=armv7s-apple-darwin | FileCheck %s -check-prefix=VFP4 3 4 define <4 x float> @muladd(<4 x float> %a, <4 x float> %b, <4 x float> %c) nounwind { 5 ; CHECK-LABEL: muladd: 6 ; CHECK: fmaf 7 ; CHECK: fmaf 8 ; CHECK: fmaf 9 ; CHECK: fmaf 10 ; CHECK-NOT: fmaf 11 12 ; CHECK-VFP4: vfma.f32 13 %tmp = tail call <4 x float> @llvm.fma.v4f32(<4 x float> %b, <4 x float> %c, <4 x float> %a) #2 14 ret <4 x float> %tmp 15 } 16 17 declare <4 x float> @llvm.fma.v4f32(<4 x float>, <4 x float>, <4 x float>) #1 18 19 define <2 x float> @muladd2(<2 x float> %a, <2 x float> %b, <2 x float> %c) nounwind { 20 ; CHECK-LABEL: muladd2: 21 ; CHECK: fmaf 22 ; CHECK: fmaf 23 ; CHECK-NOT: fmaf 24 25 ; CHECK-VFP4: vfma.f32 26 %tmp = tail call <2 x float> @llvm.fma.v2f32(<2 x float> %b, <2 x float> %c, <2 x float> %a) #2 27 ret <2 x float> %tmp 28 } 29 30 declare <2 x float> @llvm.fma.v2f32(<2 x float>, <2 x float>, <2 x float>) #1 31 32