| /* { dg-do run } */ | |
| /* { dg-require-effective-target avx } */ | |
| /* { dg-options "-O2 -mavx" } */ | |
| #include "avx-check.h" | |
| void static | |
| avx_test (void) | |
| { | |
| union256d u, s1, s2; | |
| double e [4]; | |
| s1.x = _mm256_set_pd (2134.3343,1234.635654,453.345635,54646.464356); | |
| s2.x = _mm256_set_pd (41124.234,2344.2354,8653.65635,856.43576); | |
| u.x = _mm256_hsub_pd (s1.x, s2.x); | |
| e[0] = s1.a[0] - s1.a[1]; | |
| e[1] = s2.a[0] - s2.a[1]; | |
| e[2] = s1.a[2] - s1.a[3]; | |
| e[3] = s2.a[2] - s2.a[3]; | |
| if (check_union256d (u, e)) | |
| abort (); | |
| } |