1 /* { dg-do run } */ 2 /* { dg-options "-O3 -mpower8-vector -Wno-psabi" } */ 3 /* { dg-require-effective-target lp64 } */ 4 /* { dg-require-effective-target p8vector_hw } */ 5 6 #ifndef CHECK_H 7 #define CHECK_H "sse2-check.h" 8 #endif 9 10 #include CHECK_H 11 12 #ifndef TEST 13 #define TEST sse2_test_movsd_1 14 #endif 15 16 #include <emmintrin.h> 17 18 static __m128d 19 __attribute__((noinline, unused)) test(double * p)20test (double *p) 21 { 22 return _mm_load_sd (p); 23 } 24 25 static void TEST(void)26TEST (void) 27 { 28 union128d u; 29 double d[2] = {128.023, 3345.1234}; 30 double e[2]; 31 32 u.x = _mm_loadu_pd (e); 33 u.x = test (d); 34 35 e[0] = d[0]; 36 e[1] = 0.0; 37 38 if (check_union128d (u, e)) 39 abort (); 40 } 41