]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/ARM/fparith.ll
Import LLVM, at r72732.
[FreeBSD/FreeBSD.git] / test / CodeGen / ARM / fparith.ll
1 ; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 > %t
2 ; RUN: grep fadds %t
3 ; RUN: grep faddd %t
4 ; RUN: grep fmuls %t
5 ; RUN: grep fmuld %t
6 ; RUN: grep eor %t
7 ; RUN: grep fnegd %t
8 ; RUN: grep fdivs %t
9 ; RUN: grep fdivd %t
10
11 define float @f1(float %a, float %b) {
12 entry:
13         %tmp = add float %a, %b         ; <float> [#uses=1]
14         ret float %tmp
15 }
16
17 define double @f2(double %a, double %b) {
18 entry:
19         %tmp = add double %a, %b                ; <double> [#uses=1]
20         ret double %tmp
21 }
22
23 define float @f3(float %a, float %b) {
24 entry:
25         %tmp = mul float %a, %b         ; <float> [#uses=1]
26         ret float %tmp
27 }
28
29 define double @f4(double %a, double %b) {
30 entry:
31         %tmp = mul double %a, %b                ; <double> [#uses=1]
32         ret double %tmp
33 }
34
35 define float @f5(float %a, float %b) {
36 entry:
37         %tmp = sub float %a, %b         ; <float> [#uses=1]
38         ret float %tmp
39 }
40
41 define double @f6(double %a, double %b) {
42 entry:
43         %tmp = sub double %a, %b                ; <double> [#uses=1]
44         ret double %tmp
45 }
46
47 define float @f7(float %a) {
48 entry:
49         %tmp1 = sub float -0.000000e+00, %a             ; <float> [#uses=1]
50         ret float %tmp1
51 }
52
53 define double @f8(double %a) {
54 entry:
55         %tmp1 = sub double -0.000000e+00, %a            ; <double> [#uses=1]
56         ret double %tmp1
57 }
58
59 define float @f9(float %a, float %b) {
60 entry:
61         %tmp1 = fdiv float %a, %b               ; <float> [#uses=1]
62         ret float %tmp1
63 }
64
65 define double @f10(double %a, double %b) {
66 entry:
67         %tmp1 = fdiv double %a, %b              ; <double> [#uses=1]
68         ret double %tmp1
69 }
70
71 define float @f11(float %a) {
72 entry:
73         %tmp1 = call float @fabsf( float %a )           ; <float> [#uses=1]
74         ret float %tmp1
75 }
76
77 declare float @fabsf(float)
78
79 define double @f12(double %a) {
80 entry:
81         %tmp1 = call double @fabs( double %a )          ; <double> [#uses=1]
82         ret double %tmp1
83 }
84
85 declare double @fabs(double)