i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / gimplefe-41.c
blob650bb2b5bd5e96f7ec92b6f8e0028caa402882cd
1 /* { dg-do compile { target { vect_double && vect_long_long } } } */
2 /* { dg-additional-options "-fgimple -Wno-psabi -w" } */
3 /* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */
5 typedef double __v2df __attribute__ ((__vector_size__ (16)));
6 typedef unsigned long long __v2di __attribute__ ((__vector_size__ (16)));
8 __v2df __GIMPLE (ssa)
9 _mm_add_sd (__v2df x, __v2df y)
11 __v2df z;
12 double _1;
13 double _2;
14 double _3;
15 __v2df _7;
17 __BB(2):
18 _1 = __BIT_FIELD_REF <double> (x_4(D), 64u, 0u);
19 _2 = __BIT_FIELD_REF <double> (y_5(D), 64u, 0u);
20 _3 = _1 + _2;
21 _7 = _Literal (__v2df) {_3, _3};
22 z_6 = __VEC_PERM (x_4(D), _7, _Literal (__v2di) { 2ul, 1ul });
23 return z_6;
26 __v2df __GIMPLE (ssa)
27 _mm_add_sd2 (__v2df x, __v2df y)
29 __v2df z;
30 double _1;
31 double _2;
32 double _3;
34 __BB(2):
35 _1 = __BIT_FIELD_REF <double> (x_4(D), 64u, 0u);
36 _2 = __BIT_FIELD_REF <double> (y_5(D), 64u, 0u);
37 _3 = _1 + _2;
38 z_6 = __BIT_INSERT (x_4(D), _3, 0);
39 return z_6;