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