| /* { dg-do run } */ |
| /* { dg-options "-O1 -fno-inline --save-temps" } */ |
| |
| extern double fabs (double); |
| extern float fabsf (float); |
| extern void abort (); |
| extern void exit (int); |
| |
| void |
| fabd_d (double x, double y, double d) |
| { |
| if ((fabs (x - y) - d) > 0.00001) |
| abort (); |
| } |
| |
| /* { dg-final { scan-assembler "fabd\td\[0-9\]+" } } */ |
| |
| void |
| fabd_f (float x, float y, float d) |
| { |
| if ((fabsf (x - y) - d) > 0.00001) |
| abort (); |
| } |
| |
| /* { dg-final { scan-assembler "fabd\ts\[0-9\]+" } } */ |
| |
| int |
| main () |
| { |
| fabd_d (10.0, 5.0, 5.0); |
| fabd_d (5.0, 10.0, 5.0); |
| fabd_f (10.0, 5.0, 5.0); |
| fabd_f (5.0, 10.0, 5.0); |
| |
| return 0; |
| } |
| |