2007-01-12 Julian Brown <julian@codesourcery.com>
+
+ * config/m68k/m68k.h: Use TARGET_68040 instead of TARGET_68040_ONLY.
+ (TARGET_68040_ONLY): Rename to...
+ (TARGET_68040): ...this.
+ * config/m68k/m68k.c: Use TARGET_68040 instead of TARGET_68040_ONLY.
+ * config/m68k/m68k.md: Likewise.
+
+2007-01-12 Julian Brown <julian@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
{ \
builtin_define ("__m68k__"); \
builtin_define_std ("mc68000"); \
- if (TARGET_68040_ONLY) \
+ if (TARGET_68040) \
{ \
if (TUNE_68060) \
builtin_define_std ("mc68060"); \
#define TARGET_68010 ((m68k_cpu_flags & FL_ISA_68010) != 0)
#define TARGET_68020 ((m68k_cpu_flags & FL_ISA_68020) != 0)
-#define TARGET_68040_ONLY ((m68k_cpu_flags & FL_ISA_68040) != 0)
+#define TARGET_68040 ((m68k_cpu_flags & FL_ISA_68040) != 0)
#define TARGET_COLDFIRE ((m68k_cpu_flags & FL_COLDFIRE) != 0)
#define TARGET_COLDFIRE_FPU (m68k_fpu == FPUTYPE_COLDFIRE)
#define TARGET_68881 (m68k_fpu == FPUTYPE_68881)
/* Set the value of FLT_EVAL_METHOD in float.h. When using 68040 fp
instructions, we get proper intermediate rounding, otherwise we
get extended precision results. */
-#define TARGET_FLT_EVAL_METHOD ((TARGET_68040_ONLY || ! TARGET_68881) ? 0 : 2)
+#define TARGET_FLT_EVAL_METHOD ((TARGET_68040 || ! TARGET_68881) ? 0 : 2)
#define BITS_BIG_ENDIAN 1
#define BYTES_BIG_ENDIAN 1
[(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(float_truncate:SF
(match_operand:DF 1 "general_operand" "fmG")))]
- "TARGET_68881 && TARGET_68040_ONLY"
+ "TARGET_68881 && TARGET_68040"
{
if (FP_REG_P (operands[1]))
return "f%$move%.x %1,%0";
(match_operand:FP 1 "general_operand" "0")))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>mul%.l %2,%0"
: "f<FP:round_mul>mul%.l %2,%0";
})
(match_operand:FP 1 "general_operand" "0")))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>mul%.w %2,%0"
: "f<FP:round_mul>mul%.w %2,%0";
})
(match_operand:FP 1 "general_operand" "0")))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>mul%.b %2,%0"
: "f<FP:round_mul>mul%.b %2,%0";
})
"TARGET_68881"
{
if (FP_REG_P (operands[2]))
- return (TARGET_68040_ONLY
+ return (TARGET_68040
? "fsmul%.x %2,%0"
: "fsglmul%.x %2,%0");
- return (TARGET_68040_ONLY
+ return (TARGET_68040
? "fsmul%.s %f2,%0"
: "fsglmul%.s %f2,%0");
})
(float:FP (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>div%.l %2,%0"
: "f<FP:round_mul>div%.l %2,%0";
})
(float:FP (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>div%.w %2,%0"
: "f<FP:round_mul>div%.w %2,%0";
})
(float:FP (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
{
- return TARGET_68040_ONLY
+ return TARGET_68040
? "f<FP:round>div%.b %2,%0"
: "f<FP:round_mul>div%.b %2,%0";
})
"TARGET_68881"
{
if (FP_REG_P (operands[2]))
- return (TARGET_68040_ONLY
+ return (TARGET_68040
? "f<FP:round>div%.x %2,%0"
: "f<FP:round_mul>div%.x %2,%0");
- return (TARGET_68040_ONLY
+ return (TARGET_68040
? "f<FP:round>div%.<FP:prec> %f2,%0"
: "f<FP:round_mul>div%.<FP:prec> %f2,%0");
})