xref: /llvm-project/llvm/test/CodeGen/ARM/fp.ll (revision f9dd170e36e465bc8a16d31daae4ee775504fc47)
1; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 > %t
2; RUN: grep fmsr %t | count 4
3; RUN: grep fsitos %t
4; RUN: grep fmrs %t | count 2
5; RUN: grep fsitod %t
6; RUN: grep fmrrd %t | count 5
7; RUN: grep fmdrr %t | count 2
8; RUN: grep fldd %t
9; RUN: grep fuitod %t
10; RUN: grep fuitos %t
11; RUN: grep 1065353216 %t
12
13float %f(int %a) {
14entry:
15	%tmp = cast int %a to float		; <float> [#uses=1]
16	ret float %tmp
17}
18
19double %g(int %a) {
20entry:
21        %tmp = cast int %a to double            ; <double> [#uses=1]
22        ret double %tmp
23}
24
25double %uint_to_double(uint %a) {
26entry:
27	%tmp = cast uint %a to double
28	ret double %tmp
29}
30
31float %uint_to_float(uint %a) {
32entry:
33	%tmp = cast uint %a to float
34	ret float %tmp
35}
36
37
38double %h(double* %v) {
39entry:
40	%tmp = load double* %v		; <double> [#uses=1]
41	ret double %tmp
42}
43
44float %h2() {
45entry:
46        ret float 1.000000e+00
47}
48
49double %f2(double %a) {
50        ret double %a
51}
52
53void %f3() {
54entry:
55	%tmp = call double %f5()		; <double> [#uses=1]
56	call void %f4(double %tmp )
57	ret void
58}
59
60declare void %f4(double)
61declare double %f5()
62