Use static inline to do the right thing when built in C99 mode. Of course,
[llvm/stm8.git] / test / CodeGen / ARM / fnegs.ll
blob418b59803d308cd8b0b7be8dffb3749633b07c2d
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=NFP0
3 ; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
4 ; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9
6 define float @test1(float* %a) {
7 entry:
8         %0 = load float* %a, align 4            ; <float> [#uses=2]
9         %1 = fsub float -0.000000e+00, %0               ; <float> [#uses=2]
10         %2 = fpext float %1 to double           ; <double> [#uses=1]
11         %3 = fcmp olt double %2, 1.234000e+00           ; <i1> [#uses=1]
12         %retval = select i1 %3, float %1, float %0              ; <float> [#uses=1]
13         ret float %retval
15 ; VFP2: test1:
16 ; VFP2:         vneg.f32        s{{.*}}, s{{.*}}
18 ; NFP1: test1:
19 ; NFP1:         vneg.f32        d{{.*}}, d{{.*}}
21 ; NFP0: test1:
22 ; NFP0:         vneg.f32        s{{.*}}, s{{.*}}
24 ; CORTEXA8: test1:
25 ; CORTEXA8:     vneg.f32        d{{.*}}, d{{.*}}
27 ; CORTEXA9: test1:
28 ; CORTEXA9:     vneg.f32        s{{.*}}, s{{.*}}
30 define float @test2(float* %a) {
31 entry:
32         %0 = load float* %a, align 4            ; <float> [#uses=2]
33         %1 = fmul float -1.000000e+00, %0               ; <float> [#uses=2]
34         %2 = fpext float %1 to double           ; <double> [#uses=1]
35         %3 = fcmp olt double %2, 1.234000e+00           ; <i1> [#uses=1]
36         %retval = select i1 %3, float %1, float %0              ; <float> [#uses=1]
37         ret float %retval
39 ; VFP2: test2:
40 ; VFP2:         vneg.f32        s{{.*}}, s{{.*}}
42 ; NFP1: test2:
43 ; NFP1:         vneg.f32        d{{.*}}, d{{.*}}
45 ; NFP0: test2:
46 ; NFP0:         vneg.f32        s{{.*}}, s{{.*}}
48 ; CORTEXA8: test2:
49 ; CORTEXA8:     vneg.f32        d{{.*}}, d{{.*}}
51 ; CORTEXA9: test2:
52 ; CORTEXA9:     vneg.f32        s{{.*}}, s{{.*}}