1/* { dg-do compile } */
2/* { dg-options "-O2 -msse2" } */
3/* { dg-final { scan-assembler "cmpunordss" } } */
4/* { dg-final { scan-assembler "cmpunordps" } } */
5/* { dg-final { scan-assembler "cmpunordsd" } } */
6/* { dg-final { scan-assembler "cmpunordpd" } } */
7/* { dg-final { scan-assembler-not "cmpordss" } } */
8/* { dg-final { scan-assembler-not "cmpordps" } } */
9/* { dg-final { scan-assembler-not "cmpordsd" } } */
10/* { dg-final { scan-assembler-not "cmpordpd" } } */
11
12#include <emmintrin.h>
13
14__m128
15f1 (__m128 x, __m128 y)
16{
17  return _mm_cmpunord_ss (x, y);
18}
19
20__m128
21f2 (__m128 x, __m128 y)
22{
23  return _mm_cmpunord_ps (x, y);
24}
25
26__m128d
27f3 (__m128d x, __m128d y)
28{
29  return _mm_cmpunord_sd (x, y);
30}
31
32__m128d
33f4 (__m128d x, __m128d y)
34{
35  return _mm_cmpunord_pd (x, y);
36}
37