1 /* { dg-do compile { target "mips*-*-*" } } */
2 /* { dg-options "-O2 -mips4" } */
3 /* { dg-final { scan-assembler "movz.s" } } */
4 /* { dg-final { scan-assembler "movn.s" } } */
5 /* { dg-final { scan-assembler "movt.s" } } */
6 /* { dg-final { scan-assembler "movz.d" } } */
7 /* { dg-final { scan-assembler "movn.d" } } */
8 /* { dg-final { scan-assembler "movf.d" } } */
10 #if __mips < 4 || __mips_soft_float
11 asm ("# movz.s movn.s movt.s movz.d movn.d movf.d");
13 void ext_float (float);
14 void ext_double (double);
17 sub7 (float f
, float g
, int i
)
19 ext_float (i
? f
: g
);
23 sub8 (float f
, float g
, long l
)
25 ext_float (!l
? f
: g
);
29 sub9 (float f
, float g
, float h
)
31 ext_float (h
? f
: g
);
35 suba (double f
, double g
, int i
)
37 ext_double (i
? f
: g
);
41 subb (double f
, double g
, long l
)
43 ext_double (!l
? f
: g
);
47 subc (double f
, double g
, double h
)
49 ext_double (!h
? f
: g
);