1 |
319 |
jeremybenn |
/* { dg-do compile */
|
2 |
|
|
/* { dg-options "-O2" } */
|
3 |
|
|
/* { dg-final { scan-assembler-not "fmpy" } } */
|
4 |
|
|
/* { dg-final { scan-assembler-not "fadd" } } */
|
5 |
|
|
/* { dg-final { scan-assembler-not "fsub" } } */
|
6 |
|
|
/* { dg-final { scan-assembler "fma" } } */
|
7 |
|
|
/* { dg-final { scan-assembler "fms" } } */
|
8 |
|
|
/* { dg-final { scan-assembler "fnma" } } */
|
9 |
|
|
|
10 |
|
|
float foo01(float a, float b, float c) {return (a + b * c);}
|
11 |
|
|
float foo02(float a, float b, float c) {return (a - b * c);}
|
12 |
|
|
float foo03(float a, float b, float c) {return (a * b + c);}
|
13 |
|
|
float foo04(float a, float b, float c) {return (a * b - c);}
|
14 |
|
|
|
15 |
|
|
double foo05(double a, double b, double c) {return (a + b * c);}
|
16 |
|
|
double foo06(double a, double b, double c) {return (a - b * c);}
|
17 |
|
|
double foo07(double a, double b, double c) {return (a * b + c);}
|
18 |
|
|
double foo08(double a, double b, double c) {return (a * b - c);}
|
19 |
|
|
|
20 |
|
|
__float80 foo09(__float80 a, __float80 b, __float80 c) {return (a + b * c);}
|
21 |
|
|
__float80 foo10(__float80 a, __float80 b, __float80 c) {return (a - b * c);}
|
22 |
|
|
__float80 foo11(__float80 a, __float80 b, __float80 c) {return (a * b + c);}
|
23 |
|
|
__float80 foo12(__float80 a, __float80 b, __float80 c) {return (a * b - c);}
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
float foo20(double a, double b, double c) {return (float) (a + b * c);}
|
28 |
|
|
float foo21(double a, double b, double c) {return (float) (a - b * c);}
|
29 |
|
|
float foo22(double a, double b, double c) {return (float) (a * b + c);}
|
30 |
|
|
float foo23(double a, double b, double c) {return (float) (a * b - c);}
|
31 |
|
|
|
32 |
|
|
float foo24(__float80 a, __float80 b, __float80 c) {return (float) (a + b * c);}
|
33 |
|
|
float foo25(__float80 a, __float80 b, __float80 c) {return (float) (a - b * c);}
|
34 |
|
|
float foo26(__float80 a, __float80 b, __float80 c) {return (float) (a * b + c);}
|
35 |
|
|
float foo27(__float80 a, __float80 b, __float80 c) {return (float) (a * b - c);}
|
36 |
|
|
|
37 |
|
|
double foo28(__float80 a, __float80 b, __float80 c) {return (double) (a + b * c);}
|
38 |
|
|
double foo29(__float80 a, __float80 b, __float80 c) {return (double) (a - b * c);}
|
39 |
|
|
double foo30(__float80 a, __float80 b, __float80 c) {return (double) (a * b + c);}
|
40 |
|
|
double foo31(__float80 a, __float80 b, __float80 c) {return (double) (a * b - c);}
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
float foo001(float a, float b, double c) { return (a + b * c); }
|
44 |
|
|
float foo002(float a, float b, double c) { return (a - b * c); }
|
45 |
|
|
|
46 |
|
|
float foo005(float a, double b, double c) { return (a + b * c); }
|
47 |
|
|
float foo006(float a, double b, double c) { return (a - b * c); }
|
48 |
|
|
float foo007(float a, double b, double c) { return (a * b + c); }
|
49 |
|
|
float foo008(float a, double b, double c) { return (a * b - c); }
|
50 |
|
|
|
51 |
|
|
double foo009(double a, float b, double c) { return (a + b * c); }
|
52 |
|
|
double foo010(double a, float b, double c) { return (a - b * c); }
|
53 |
|
|
double foo011(double a, float b, double c) { return (a * b + c); }
|
54 |
|
|
double foo012(double a, float b, double c) { return (a * b - c); }
|
55 |
|
|
|
56 |
|
|
float foo013(float a, double b, __float80 c) { return (a + b * c); }
|
57 |
|
|
float foo014(float a, double b, __float80 c) { return (a - b * c); }
|
58 |
|
|
float foo017(double a, float b, __float80 c) { return (a + b * c); }
|
59 |
|
|
float foo018(double a, float b, __float80 c) { return (a - b * c); }
|
60 |
|
|
|
61 |
|
|
float foo021(float a, __float80 b, double c) { return (a + b * c); }
|
62 |
|
|
float foo022(float a, __float80 b, double c) { return (a - b * c); }
|
63 |
|
|
float foo023(float a, __float80 b, double c) { return (a * b + c); }
|
64 |
|
|
float foo024(float a, __float80 b, double c) { return (a * b - c); }
|