Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode.
[llvm/avr.git] / test / CodeGen / ARM / fparith.ll
blob568a6c41a0dde7d1e28e7094fe8e2b54e3098e31
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
11 define float @f1(float %a, float %b) {
12 entry:
13         %tmp = fadd float %a, %b                ; <float> [#uses=1]
14         ret float %tmp
17 define double @f2(double %a, double %b) {
18 entry:
19         %tmp = fadd double %a, %b               ; <double> [#uses=1]
20         ret double %tmp
23 define float @f3(float %a, float %b) {
24 entry:
25         %tmp = fmul float %a, %b                ; <float> [#uses=1]
26         ret float %tmp
29 define double @f4(double %a, double %b) {
30 entry:
31         %tmp = fmul double %a, %b               ; <double> [#uses=1]
32         ret double %tmp
35 define float @f5(float %a, float %b) {
36 entry:
37         %tmp = fsub float %a, %b                ; <float> [#uses=1]
38         ret float %tmp
41 define double @f6(double %a, double %b) {
42 entry:
43         %tmp = fsub double %a, %b               ; <double> [#uses=1]
44         ret double %tmp
47 define float @f7(float %a) {
48 entry:
49         %tmp1 = fsub float -0.000000e+00, %a            ; <float> [#uses=1]
50         ret float %tmp1
53 define double @f8(double %a) {
54 entry:
55         %tmp1 = fsub double -0.000000e+00, %a           ; <double> [#uses=1]
56         ret double %tmp1
59 define float @f9(float %a, float %b) {
60 entry:
61         %tmp1 = fdiv float %a, %b               ; <float> [#uses=1]
62         ret float %tmp1
65 define double @f10(double %a, double %b) {
66 entry:
67         %tmp1 = fdiv double %a, %b              ; <double> [#uses=1]
68         ret double %tmp1
71 define float @f11(float %a) {
72 entry:
73         %tmp1 = call float @fabsf( float %a )           ; <float> [#uses=1]
74         ret float %tmp1
77 declare float @fabsf(float)
79 define double @f12(double %a) {
80 entry:
81         %tmp1 = call double @fabs( double %a )          ; <double> [#uses=1]
82         ret double %tmp1
85 declare double @fabs(double)