1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
21 __m128d
h (__m128d p
, __m128d q
)
23 __m128d r
= { p
[0] - p
[1], q
[0] - q
[1] };
27 __m128d
i1 (__m128d p
, __m128d q
)
29 __m128d r
= { p
[0] + p
[1], q
[0] + q
[1] };
33 __m128d
i2 (__m128d p
, __m128d q
)
35 __m128d r
= { p
[0] + p
[1], q
[1] + q
[0] };
39 __m128d
i3 (__m128d p
, __m128d q
)
41 __m128d r
= { p
[1] + p
[0], q
[0] + q
[1] };
45 __m128d
i4 (__m128d p
, __m128d q
)
47 __m128d r
= { p
[1] + p
[0], q
[1] + q
[0] };
51 /* { dg-final { scan-assembler-times "hsubpd" 2 } } */
52 /* { dg-final { scan-assembler-times "haddpd" 6 } } */
53 /* { dg-final { scan-assembler-not "unpck" } } */