Guard fabs to bfc convert with V6T2 flag
[oota-llvm.git] / test / CodeGen / ARM / fabss.ll
1 ; RUN: llc < %s -mtriple=arm-apple-ios -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2
2 ; RUN: llc < %s -mtriple=arm-apple-ios -mattr=+neon | FileCheck %s -check-prefix=NFP0
3 ; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
4 ; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9
5
6 define float @test(float %a, float %b) {
7 entry:
8         %dum = fadd float %a, %b
9         %0 = tail call float @fabsf(float %dum) readnone
10         %dum1 = fadd float %0, %b
11         ret float %dum1
12 }
13
14 declare float @fabsf(float)
15
16 ; VFP2-LABEL: test:
17 ; VFP2:         vabs.f32        s
18
19 ; NFP1-LABEL: test:
20 ; NFP1:         vabs.f32        d
21 ; NFP0-LABEL: test:
22 ; NFP0:         vabs.f32        s
23
24 ; CORTEXA8-LABEL: test:
25 ; CORTEXA8:     vadd.f32        [[D1:d[0-9]+]]
26 ; CORTEXA8:     vabs.f32        {{d[0-9]+}}, [[D1]]
27
28 ; CORTEXA9-LABEL: test:
29 ; CORTEXA9:     vabs.f32        s{{.}}, s{{.}}