1326949Sdim/* PR target/13685 */ 2326949Sdim/* { dg-do run } */ 3353358Sdim/* { dg-options "-Os -msse" } */ 4353358Sdim/* { dg-require-effective-target sse } */ 5353358Sdim 6326949Sdim#include "sse-check.h" 7326949Sdim 8326949Sdim#include <xmmintrin.h> 9326949Sdim 10326949Sdimvoid foo (__m128 *, __m64 *, int); 11326949Sdim 12326949Sdim__m128 xmm0 = { 0 }; 13326949Sdim__m64 mm0 = { 0 }; 14326949Sdim 15326949Sdimstatic void 16326949Sdimsse_test (void) 17326949Sdim{ 18326949Sdim foo (&xmm0, &mm0, 4); 19326949Sdim} 20326949Sdim 21326949Sdimvoid 22326949Sdimfoo (__m128 *dst, __m64 *src, int n) 23326949Sdim{ 24326949Sdim __m128 xmm0 = { 0 }; 25326949Sdim while (n > 64) 26326949Sdim { 27326949Sdim puts (""); 28326949Sdim xmm0 = _mm_cvtpi32_ps (xmm0, *src); 29326949Sdim *dst = xmm0; 30353358Sdim n--; 31326949Sdim } 32326949Sdim} 33326949Sdim