1 /* { dg-do compile } */
2 /* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim2 --param=ranger-recompute-depth=1" } */
3 /* { dg-warning "'-fassociative-math' disabled" "" { target *-*-* } 0 } */
4 /* ranger-recompute-depth prevents the optimizers from being too smart. */
6 double F
[2] = { 0., 0. }, e
= 0.;
13 /* make sure the program crashes on FP exception */
14 unsigned short int Mask
;
20 for( i
=0; i
< 2; i
++ )
23 P
= ( W
< E
) ? (W
- E
)/d
: (E
- W
)/d
;
30 /* LIM only performs the transformation in the no-trapping-math case. In
31 the future we will do it for trapping-math as well in recip, check that
32 this is not wrongly optimized. */
33 /* { dg-final { scan-tree-dump-not "reciptmp" "lim2" } } */
34 /* { dg-final { scan-tree-dump-not "reciptmp" "recip" } } */