1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-optimized" } */
3 /* { dg-skip-if "using short-double" { avr-*-* } } */
4 
f(double aaa,double bbb)5 int f(double aaa, double bbb){
6   int xa = __builtin_isunordered(aaa, aaa);
7   int xb = __builtin_isunordered(bbb, bbb);
8   return xa | xb;
9 }
10 
g(double aaa,double bbb)11 int g(double aaa, double bbb){
12   int xa = __builtin_isunordered(aaa, bbb);
13   int xb = __builtin_isunordered(bbb, bbb);
14   return xa | xb;
15 }
16 
h(double ccc,float ddd)17 int h(double ccc, float ddd){
18   int xc = __builtin_isunordered(ccc, ccc);
19   int xd = __builtin_isunordered(ddd, ddd);
20   return xc | xd;
21 }
22 
23 /* { dg-final { scan-tree-dump-not "aaa\[^\n\r\]* unord aaa" "optimized" } } */
24 /* { dg-final { scan-tree-dump-not "bbb\[^\n\r\]* unord bbb" "optimized" } } */
25 /* { dg-final { scan-tree-dump-times "aaa\[^\n\r\]* unord bbb" 2 "optimized" } } */
26 /* { dg-final { scan-tree-dump-not "ccc\[^\n\r\]* unord ddd" "optimized" } } */
27