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