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