2007-01-18 Richard Sandiford <richard@codesourcery.com>
+ * config/m68k/m68k-protos.h (m68k_output_pic_call): Delete.
+ (output_call, m68k_legitimize_call_address): Declare.
+ * config/m68k/m68k.h (EXTRA_CONSTRAINT): Remove unnecessary
+ parenthesees. Add support for a 'W' constraint.
+ (LEGITIMATE_PIC_OPERAND_P): Remove SYMBOL_REF_FLAG handling.
+ (PRINT_OPERAND_PUNCT_VALID_P): Remove comment about 'o'.
+ (m68k_symbolic_call, m68k_symbolic_jump): Declare.
+ * config/m68k/m68k.c (m68k_symbolic_call, m68k_symbolic_jump): New
+ variables.
+ (override_options): Initialize them. Do not set flag_no_function_cse
+ for TARGET_ID_SHARED_LIBRARY.
+ (m68k_output_pic_call): Delete.
+ (m68k_legitimize_call_address): New function.
+ (print_operand): Remove the %o prefix. Handle the %p prefix.
+ (output_call): New function.
+ (m68k_output_mi_thunk): Use m68k_symbolic_jump. Always load the
+ target address from the GOT if symbolic jumps are not allowed.
+ * config/m68k/m68k.md (call, general_operand): Do not set
+ SYMBOL_REF_FLAG. Use m68k_legitimize_call_address instead.
+ Merge separate flag_pic and !flag_pic define_insns into...
+ (*call, *call_value): ...these new patterns. Match the address
+ rather than the containing MEM and require it to be a call_operand.
+ Use output_call to generate the asm template.
+ * config/m68k/predicates.md (const_call_operand): New predicate.
+ (call_operand): Likewise.
+
+2007-01-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify definition.
+ (STACK_GROWS_DOWNWARD): Define to 1.
+ (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Equivocate
+ comments, emphasizing that these values are only defaults.
+ * config/m68k/linux.h (LINK_SPEC): Fix formatting in #undef.
+ * config/m68k/m68k.c (const_method): Remove trailing whitespace.
+
+2007-01-18 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.md (cmpsi): Remove outdated flag_pic handling.
+
+2007-01-18 Kazu Hirata <kazu@codesourcery.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P)
+ (FP_REGNO_P): New macros.
+ (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_DATA_P)
+ (REGNO_OK_FOR_FP_P, REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Use them.
+ (EH_RETURN_STACKADJ_RTX): Use A0_REG.
+ * config/m68k/m68k.c (m68k_regno_mode_ok): Use the new REGNO macros.
+
+2007-01-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+ (m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-rtems*): Add t-floatlib
+ to $tmake_file.
+ * config/m68k/t-floatlib: New file, extracting common code from...
+ * config/m68k/t-m68kbare, config/m68k/t-m68kelf,
+ * config/m68k/t-uclinux: Here.
+ * config/m68k/fpgnulib.c: Do not compile extendeed precision
+ routines on ColdFire targets.
+
+2007-01-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+ (m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*)
+ (m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-linux*)
+ (m68k-*-rtems*): Use tm_file rather than m68k/m68k.h and
+ explicitly set MOTOROLA to 1.
+ * config/m68k/m68k.h (MOTOROLA): Simplify definition accordingly.
+
+2007-01-18 Richard Sandiford <richard@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m68k/m68k.h (PCC_STATIC_STRUCT_RETURN): Delete.
+ (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add MOTOROLA cases.
+ * config/m68k/coff.h (REGISTER_PREFIX_MD): Delete.
+ * config/m68k/m68020-elf.h (LIB_SPEC): Delete.
+ * config/m68k/m68k-none.h (CC1_SPEC, CPP_SUBTARGET_SPEC): Delete.
+ * config/m68k/m68kelf.h (IMMEDIATE_PREFIX, REGISTER_PREFIX_MD)
+ (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+ (NO_DOLLAR_IN_LABEL, PCC_STATIC_STRUCT_RETURN): Don't undefine.
+ (BSS_ASM_OP, ASM_OUTPUT_SKIP, ASM_OUTPUT_ASCII): Delete.
+ * config/m68k/m68kemb.h (PCC_STATIC_STRUCT_RETURN): Don't undefine.
+ * config/m68k/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE)
+ (WCHAR_TYPE_SIZE, TARGET_OBJFMT_CPP_BUILTINS): Delete.
+ (TARGET_OS_CPP_BUILTINS): Don't define mc68000 and mc68020 here.
+ (DBX_REGISTER_NUMBER): Delete.
+ * config/m68k/netbsd-elf.h (IMMEDIATE_PREFIX): Delete.
+ (PCC_STATIC_STRUCT_RETURN): Don't undefine.
+ * config/m68k/openbsd.h (PCC_STATIC_STRUCT_RETURN): Define.
+
+2007-01-18 Richard Sandiford <richard@codesourcery.com>
+
* config.gcc (m68k-*-uclinux*): Add flat.h to $tm_file.
* config/flat.h: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define if