Two sets of changes. Sorry they are intermingled.
[oota-llvm.git] / test / CodeGen / ARM / fmacs.ll
index a205a064c5a244179feec6141f6f2f2f1bc85c2d..f8b47b5bac0deea64047fc2eeb05561f6fa82c3a 100644 (file)
@@ -1,8 +1,7 @@
-; RUN: llc < %s -march=arm -mattr=+vfp2 | grep -E {fmacs\\W*s\[0-9\]+,\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 1
-; RUN: llc < %s -march=arm -mattr=+neon,+neonfp | grep -E {vmla.f32\\W*d\[0-9\]+,\\W*d\[0-9\]+,\\W*d\[0-9\]+} | count 1
-; RUN: llc < %s -march=arm -mattr=+neon,-neonfp | grep -E {fmacs\\W*s\[0-9\]+,\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 1
-; RUN: llc < %s -march=arm -mcpu=cortex-a8 | grep -E {vmla.f32\\W*d\[0-9\]+,\\W*d\[0-9\]+,\\W*d\[0-9\]+} | count 1
-; RUN: llc < %s -march=arm -mcpu=cortex-a9 | grep -E {fmacs\\W*s\[0-9\]+,\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 1
+; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2
+; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s -check-prefix=NFP0
+; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
+; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9
 
 define float @test(float %acc, float %a, float %b) {
 entry:
@@ -11,3 +10,15 @@ entry:
        ret float %1
 }
 
+; VFP2: test:
+; VFP2:        vmla.f32        s2, s1, s0
+
+; NFP1: test:
+; NFP1:        vmul.f32        d0, d1, d0
+; NFP0: test:
+; NFP0:        vmla.f32        s2, s1, s0
+
+; CORTEXA8: test:
+; CORTEXA8:    vmul.f32        d0, d1, d0
+; CORTEXA9: test:
+; CORTEXA9:    vmla.f32        s2, s1, s0