1 /* PR rtl-optimization/21239 */
3 /* { dg-options "-O2 -msse2" } */
5 #include "sse2-check.h"
10 foo (unsigned int x
, double *y
, const double *z
)
15 tmp
= _mm_load_sd (z
);
16 _mm_store_sd (y
, tmp
);
22 bar (unsigned int x
, float *y
, const float *z
)
26 for (i
= 0; i
< x
; ++i
)
28 tmp
= (__m128
) { *z
, 0, 0, 0 };
29 *y
= __builtin_ia32_vec_ext_v4sf (tmp
, 0);
32 for (i
= 0; i
< x
; ++i
)
34 tmp
= (__m128
) { 0, *z
, 0, 0 };
35 *y
= __builtin_ia32_vec_ext_v4sf (tmp
, 1);
38 for (i
= 0; i
< x
; ++i
)
40 tmp
= (__m128
) { 0, 0, *z
, 0 };
41 *y
= __builtin_ia32_vec_ext_v4sf (tmp
, 2);
44 for (i
= 0; i
< x
; ++i
)
46 tmp
= (__m128
) { 0, 0, 0, *z
};
47 *y
= __builtin_ia32_vec_ext_v4sf (tmp
, 3);
58 for (i
= 0; i
< 16; ++i
)
67 for (i
= 0; i
< 16; ++i
)