| /* { dg-do compile { target { vect_double && vect_long_long } } } */ |
| /* { dg-options "-fgimple -Wno-psabi -w" } */ |
| /* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */ |
| |
| typedef double __v2df __attribute__ ((__vector_size__ (16))); |
| typedef unsigned long long __v2di __attribute__ ((__vector_size__ (16))); |
| |
| __v2df __GIMPLE (ssa) |
| _mm_add_sd (__v2df x, __v2df y) |
| { |
| __v2df z; |
| double _1; |
| double _2; |
| double _3; |
| __v2df _7; |
| |
| __BB(2): |
| _1 = __BIT_FIELD_REF <double> (x_4(D), 64u, 0u); |
| _2 = __BIT_FIELD_REF <double> (y_5(D), 64u, 0u); |
| _3 = _1 + _2; |
| _7 = _Literal (__v2df) {_3, _3}; |
| z_6 = __VEC_PERM (x_4(D), _7, _Literal (__v2di) { 2ul, 1ul }); |
| return z_6; |
| } |
| |
| __v2df __GIMPLE (ssa) |
| _mm_add_sd2 (__v2df x, __v2df y) |
| { |
| __v2df z; |
| double _1; |
| double _2; |
| double _3; |
| |
| __BB(2): |
| _1 = __BIT_FIELD_REF <double> (x_4(D), 64u, 0u); |
| _2 = __BIT_FIELD_REF <double> (y_5(D), 64u, 0u); |
| _3 = _1 + _2; |
| z_6 = __BIT_INSERT (x_4(D), _3, 0); |
| return z_6; |
| } |