blob: 4de9a06521c126bd86355c3ce52b91b5ba1fe587 [file] [log] [blame]
Reid Spencer6e87ec42007-04-16 17:36:08 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 > %t
2; RUN: grep fmsr %t | wc -l | grep 4
3; RUN: grep fsitos %t
Evan Chengef409e22007-05-07 21:50:07 +00004; RUN: grep fmrs %t | wc -l | grep 2
Reid Spencer6e87ec42007-04-16 17:36:08 +00005; RUN: grep fsitod %t
6; RUN: grep fmrrd %t | wc -l | grep 5
7; RUN: grep fmdrr %t | wc -l | grep 2
8; RUN: grep fldd %t
Reid Spencer6e87ec42007-04-16 17:36:08 +00009; RUN: grep fuitod %t
10; RUN: grep fuitos %t
11; RUN: grep 1065353216 %t
Evan Chenga5007fa2007-01-19 09:20:23 +000012
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}
Rafael Espindola53f78be2006-09-29 21:20:16 +000036
Rafael Espindolab5093882006-10-07 14:24:52 +000037
Rafael Espindola58c368b2006-10-07 14:03:39 +000038double %h(double* %v) {
39entry:
40 %tmp = load double* %v ; <double> [#uses=1]
41 ret double %tmp
42}
43
Reid Spenceraf6a4082007-01-30 16:16:01 +000044float %h2() {
Rafael Espindola68d23882006-10-03 17:27:58 +000045entry:
46 ret float 1.000000e+00
47}
Rafael Espindolae04df412006-10-05 16:48:49 +000048
49double %f2(double %a) {
50 ret double %a
51}
Rafael Espindola5fe79092006-10-06 12:50:22 +000052
Rafael Espindola671f2522006-10-06 19:10:05 +000053void %f3() {
54entry:
55 %tmp = call double %f5() ; <double> [#uses=1]
56 call void %f4(double %tmp )
57 ret void
Rafael Espindola5fe79092006-10-06 12:50:22 +000058}
Rafael Espindola671f2522006-10-06 19:10:05 +000059
Rafael Espindola5fe79092006-10-06 12:50:22 +000060declare void %f4(double)
Rafael Espindola671f2522006-10-06 19:10:05 +000061declare double %f5()