+2005-01-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * gcc.dg/mips-movcc-1.c, gcc.dg/mips-movcc-2.c, gcc.dg/mips-movcc-3.c,
+ * gcc.dg/mips-nmadd-1.c, gcc.dg/mips-nmadd-2.c, gcc.dg/mips-rsqrt-1.c,
+ * gcc.dg/mips-rsqrt-2, gcc.dg/mips-rsqrt-3.c: Add dummy asm statements
+ to cope with cases where the multilib options override the dg-options.
+
2005-01-27 Jakub Jelinek <jakub@redhat.com>
PR c/18946
void ext_int (int);
+#if __mips < 4
+asm ("# movz movn");
+#else
int
sub1 (int i, int j, int k)
{
{
ext_int (!l ? i : j);
}
+#endif
+#if __mips < 4 || __mips_soft_float
+asm ("# movt");
+#else
int
sub3 (int i, int j, float f)
{
ext_int (f ? i : j);
}
+#endif
void ext_long (long);
+#if __mips < 4
+asm ("# movz movn");
+#else
long
sub4 (long i, long j, long k)
{
{
ext_long (!k ? i : j);
}
+#endif
+#if __mips < 4 || __mips_soft_float
+asm ("# movf");
+#else
long
sub6 (long i, long j, float f)
{
ext_long (!f ? i : j);
}
+#endif
/* { dg-final { scan-assembler "movn.d" } } */
/* { dg-final { scan-assembler "movf.d" } } */
+#if __mips < 4 || __mips_soft_float
+asm ("# movz.s movn.s movt.s movz.d movn.d movf.d");
+#else
void ext_float (float);
void ext_double (double);
{
ext_double (!h ? f : g);
}
+#endif
/* { dg-final { scan-assembler "nmsub.s" } } */
/* { dg-final { scan-assembler "nmsub.d" } } */
+#if (__mips != 4 && __mips != 64) || __mips_soft_float
+asm ("# nmadd.s nmadd.d nmsub.s nmsub.d");
+#else
float
sub1 (float f, float g, float h)
{
{
return -((f * g) - h);
}
+#endif
/* { dg-final { scan-assembler "nmsub.s" } } */
/* { dg-final { scan-assembler "nmsub.d" } } */
+#if (__mips != 4 && __mips != 64) || __mips_soft_float
+asm ("# nmadd.s nmadd.d nmsub.s nmsub.d");
+#else
float
sub1 (float f, float g, float h)
{
{
return -((f * g) - h);
}
+#endif
/* { dg-final { scan-assembler "rsqrt.d" } } */
/* { dg-final { scan-assembler "rsqrt.s" } } */
+#if (__mips != 4 && __mips != 64) || __mips_soft_float
+asm ("# rsqrt.d rsqrt.s");
+#else
extern double sqrt(double);
extern float sqrtf(float);
{
return 1.0f/sqrtf(x);
}
-
+#endif
/* { dg-final { scan-assembler "rsqrt.d" } } */
/* { dg-final { scan-assembler "rsqrt.s" } } */
+#if (__mips != 4 && __mips != 64) || __mips_soft_float
+asm ("# rsqrt.d rsqrt.s");
+#else
extern double sqrt(double);
extern float sqrtf(float);
{
return sqrtf(1.0f/x);
}
-
+#endif