1 /* { dg-do compile } */
2 /* { dg-mips-options "-O2 -mips4 -mhard-float" } */
3 /* { dg-final { scan-assembler "movt" } } */
4 /* { dg-final { scan-assembler "movf" } } */
5 /* { dg-final { scan-assembler "movz.s" } } */
6 /* { dg-final { scan-assembler "movn.s" } } */
7 /* { dg-final { scan-assembler "movt.s" } } */
8 /* { dg-final { scan-assembler "movz.d" } } */
9 /* { dg-final { scan-assembler "movn.d" } } */
10 /* { dg-final { scan-assembler "movf.d" } } */
14 void ext_float (float);
15 void ext_double (double);
18 sub3 (int i
, int j
, float f
)
24 sub6 (long i
, long j
, float f
)
26 ext_long (!f
? i
: j
);
30 sub7 (float f
, float g
, int i
)
32 ext_float (i
? f
: g
);
36 sub8 (float f
, float g
, long l
)
38 ext_float (!l
? f
: g
);
42 sub9 (float f
, float g
, float h
)
44 ext_float (h
? f
: g
);
48 suba (double f
, double g
, int i
)
50 ext_double (i
? f
: g
);
54 subb (double f
, double g
, long l
)
56 ext_double (!l
? f
: g
);
60 subc (double f
, double g
, double h
)
62 ext_double (!h
? f
: g
);