1/* { dg-do compile } */
2/* { dg-require-effective-target lp64 } */
3/* { dg-options "-O1 -mvis3" } */
4
5double d;
6float f;
7
8long test_convert_from_float(void)
9{
10  return f;
11}
12
13long test_convert_from_double(void)
14{
15  return d;
16}
17
18float test_convert_to_float(long x)
19{
20  return x;
21}
22
23double test_convert_to_double(long x)
24{
25  return x;
26}
27
28/* { dg-final { scan-assembler-times "movdtox\t%" 2 } } */
29/* { dg-final { scan-assembler-times "movxtod\t%" 2 } } */
30