d96c7631798ba6b41636470a66ae7fd61e7a313f
[gcc.git] / gcc / testsuite / gcc.target / arm / short-vfp-1.c
1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_vfp_ok }
3 /* { dg-options "-mfpu=vfp" } */
4
5 int
6 test_sisf (float x)
7 {
8 return (int)x;
9 }
10
11 short
12 test_hisf (float x)
13 {
14 return (short)x;
15 }
16
17 float
18 test_sfsi (int x)
19 {
20 return (float)x;
21 }
22
23 float
24 test_sfhi (short x)
25 {
26 return (float)x;
27 }
28
29 short
30 test_hisi (int x)
31 {
32 return (short)x;
33 }
34
35 int
36 test_sihi (short x)
37 {
38 return (int)x;
39 }
40
41 /* {dg-final { scan-assembler-times {vcvt\.s32\.f32\ts[0-9]+,s[0-9]+} 2 }} */
42 /* {dg-final { scan-assembler-times {vcvt\.f32\.s32\ts[0-9]+,s[0-9]+} 2 }} */
43 /* {dg-final { scan-assembler-times {vmov\tr[0-9]+,s[0-9]+} 2 }} */
44 /* {dg-final { scan-assembler-times {vmov\ts[0-9]+,r[0-9]+} 2 }} */
45 /* {dg-final { scan-assembler-times {sxth\tr[0-9]+,r[0-9]+} 2 }} */