1/* PR target/13685 */
2/* { dg-options "-Os -msse" } */
3/* { dg-require-effective-target sse } */
4
5typedef float __m128 __attribute__ ((vector_size (16)));
6typedef int __m64 __attribute__ ((vector_size (8)));
7
8int puts (const char *s);
9void foo (__m128 *, __m64 *, int);
10
11int main (void)
12{
13  foo (0, 0, 0);
14  return 0;
15}
16
17void foo (__m128 *dst, __m64 *src, int n)
18{
19  __m128 xmm0 = { 0 };
20  while (n > 64)
21    {
22      puts ("");
23      xmm0 = __builtin_ia32_cvtpi2ps (xmm0, *src);
24      *dst = xmm0;
25      n --;
26    }
27}
28