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