-; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2
-; RUN: llc < %s -march=arm -mattr=+neon -arm-use-neon-fp=0 | FileCheck %s -check-prefix=NEON
-; RUN: llc < %s -march=arm -mattr=+neon -arm-use-neon-fp=1 | FileCheck %s -check-prefix=NEONFP
+; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - | FileCheck %s -check-prefix=VFP2
+; RUN: llc -mtriple=arm-eabi -mattr=+neon %s -o - | FileCheck %s -check-prefix=NEON
+; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a8 %s -o - | FileCheck %s -check-prefix=A8
-define float @test(float %acc, float %a, float %b) {
+define float @t1(float %acc, float %a, float %b) {
entry:
-; VFP2: fnmacs
-; NEON: fnmacs
+; VFP2-LABEL: t1:
+; VFP2: vmls.f32
-; NEONFP-NOT: vmls
-; NEONFP-NOT: fcpys
-; NEONFP: vmul.f32
-; NEONFP: vsub.f32
-; NEONFP: fmrs
+; NEON-LABEL: t1:
+; NEON: vmls.f32
+; A8-LABEL: t1:
+; A8: vmul.f32
+; A8: vsub.f32
%0 = fmul float %a, %b
%1 = fsub float %acc, %0
ret float %1
}
+define double @t2(double %acc, double %a, double %b) {
+entry:
+; VFP2-LABEL: t2:
+; VFP2: vmls.f64
+
+; NEON-LABEL: t2:
+; NEON: vmls.f64
+
+; A8-LABEL: t2:
+; A8: vmul.f64
+; A8: vsub.f64
+ %0 = fmul double %a, %b
+ %1 = fsub double %acc, %0
+ ret double %1
+}