1 /* { dg-do compile { target arm*-*-* } } */
2 /* { dg-options "-mfp16-format=ieee" } */
3 
4 /* Test basic assignments and conversions for __fp16.  */
5 
6 __fp16 h1 = 0.0;
7 __fp16 h2 = 1234.0;
8 char c1 = 1;
9 char c2 = 2;
10 short s1 = 10;
11 short s2 = 20;
12 int i1 = -100;
13 int i2 = -200;
14 long long l1 = 1000.0;
15 long long l2 = 2000.0;
16 double d1 = -10000.0;
17 double d2 = -20000.0;
18 
f(void)19 void f (void)
20 {
21   c1 = h1;
22   h2 = c2;
23 
24   h1 = s1;
25   s2 = h2;
26 
27   i1 = h1;
28   h2 = i2;
29 
30   h1 = l1;
31   l2 = h2;
32 
33   d1 = h1;
34   h2 = d2;
35 }
36 
37 /* Make sure we are not falling through to undefined libcalls.  */
38 /* { dg-final { scan-assembler-not "__float.ihf" } } */
39 /* { dg-final { scan-assembler-not "__fixhf.i" } } */
40 /* { dg-final { scan-assembler-not "__trunc.fhf" } } */
41 /* { dg-final { scan-assembler-not "__extendhf.f" } } */
42