/* Check that certain preprocessor macros are defined, and do some
   consistency checks.  */
/* { dg-do compile } */

const char *compiled_for = _MIPS_ARCH;
const char *optimized_for = _MIPS_TUNE;

#if __mips_fpr != 32 && __mips_fpr != 64 && __mips_fpr != 0
#error Bad __mips_fpr
#endif

/* Test complementary macro pairs: exactly one of each pair
   must be defined.  */

#if defined (_R3000) == defined (_R4000)
#error _R3000 / _R4000 mismatch
#endif

#if defined (__mips_hard_float) == defined (__mips_soft_float)
#error __mips_hard_float / __mips_soft_float mismatch
#endif

#if defined (_MIPSEL) == defined (_MIPSEB)
#error _MIPSEL / _MIPSEB mismatch
#endif

/* Check for __mips64 consistency.  */

#if defined (__mips64) != defined (_R4000)
#error __mips64 / _R4000 mismatch
#endif

#if defined (__mips64) && __mips != 3 && __mips != 4 && __mips != 64
#error __mips64 / __mips mismatch
#endif
