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" } } */
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
);}
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
);}
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
);}
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
);}
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
);}
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
);}
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
); }
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
); }
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
); }
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
); }
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
); }