1 ; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2 2 ; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s -check-prefix=NEON 3 ; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s -check-prefix=A8 4 5 define float @t1(float %acc, float %a, float %b) { 6 entry: 7 ; VFP2: t1: 8 ; VFP2: vnmls.f32 9 10 ; NEON: t1: 11 ; NEON: vnmls.f32 12 13 ; A8: t1: 14 ; A8: vmul.f32 15 ; A8: vsub.f32 16 %0 = fmul float %a, %b 17 %1 = fsub float %0, %acc 18 ret float %1 19 } 20 21 define double @t2(double %acc, double %a, double %b) { 22 entry: 23 ; VFP2: t2: 24 ; VFP2: vnmls.f64 25 26 ; NEON: t2: 27 ; NEON: vnmls.f64 28 29 ; A8: t2: 30 ; A8: vmul.f64 31 ; A8: vsub.f64 32 %0 = fmul double %a, %b 33 %1 = fsub double %0, %acc 34 ret double %1 35 } 36