-; RUN: llc < %s -march=arm -mattr=+vfp2 | grep -E {fnegs\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 2
-; RUN: llc < %s -march=arm -mattr=+neon,+neonfp | grep -E {vneg.f32\\W*d\[0-9\]+,\\W*d\[0-9\]+} | count 2
-; RUN: llc < %s -march=arm -mattr=+neon,-neonfp | grep -E {fnegs\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 2
-; RUN: llc < %s -march=arm -mcpu=cortex-a8 | grep -E {vneg.f32\\W*d\[0-9\]+,\\W*d\[0-9\]+} | count 2
-; RUN: llc < %s -march=arm -mcpu=cortex-a9 | grep -E {fnegs\\W*s\[0-9\]+,\\W*s\[0-9\]+} | count 2
+; 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 -mtriple=arm-eabi -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
+; RUN: llc < %s -mtriple=arm-eabi -mcpu=cortex-a8 --enable-unsafe-fp-math | FileCheck %s -check-prefix=CORTEXA8U
+; RUN: llc < %s -mtriple=arm-darwin -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8U
+; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9
define float @test1(float* %a) {
entry:
%retval = select i1 %3, float %1, float %0 ; <float> [#uses=1]
ret float %retval
}
+; VFP2-LABEL: test1:
+; VFP2: vneg.f32 s{{.*}}, s{{.*}}
+
+; NFP1-LABEL: test1:
+; NFP1: vneg.f32 d{{.*}}, d{{.*}}
+
+; NFP0-LABEL: test1:
+; NFP0: vneg.f32 s{{.*}}, s{{.*}}
+
+; CORTEXA8-LABEL: test1:
+; CORTEXA8: vneg.f32 s{{.*}}, s{{.*}}
+
+; CORTEXA8U-LABEL: test1:
+; CORTEXA8U: vneg.f32 d{{.*}}, d{{.*}}
+
+; CORTEXA9-LABEL: test1:
+; CORTEXA9: vneg.f32 s{{.*}}, s{{.*}}
define float @test2(float* %a) {
entry:
%retval = select i1 %3, float %1, float %0 ; <float> [#uses=1]
ret float %retval
}
+; VFP2-LABEL: test2:
+; VFP2: vneg.f32 s{{.*}}, s{{.*}}
+
+; NFP1-LABEL: test2:
+; NFP1: vneg.f32 d{{.*}}, d{{.*}}
+
+; NFP0-LABEL: test2:
+; NFP0: vneg.f32 s{{.*}}, s{{.*}}
+
+; CORTEXA8-LABEL: test2:
+; CORTEXA8: vneg.f32 s{{.*}}, s{{.*}}
+
+; CORTEXA8U-LABEL: test2:
+; CORTEXA8U: vneg.f32 d{{.*}}, d{{.*}}
+
+; CORTEXA9-LABEL: test2:
+; CORTEXA9: vneg.f32 s{{.*}}, s{{.*}}
+