1 /* PR target/13685 */
2 /* { dg-do compile } */
3 /* { dg-options "-Os -msse" } */
4 
5 typedef float __m128 __attribute__ ((vector_size (16)));
6 typedef int __m64 __attribute__ ((vector_size (8)));
7 
8 int puts (const char *s);
9 void foo (__m128 *, __m64 *, int);
10 
main(void)11 int main (void)
12 {
13   foo (0, 0, 0);
14   return 0;
15 }
16 
foo(__m128 * dst,__m64 * src,int n)17 void 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