Kazu Hirata
077fc835e5
configure.in (arm-*-linux-gnueabi): Add to noconfigdirs target-libffi...
...
/
* configure.in (arm-*-linux-gnueabi): Add to noconfigdirs
target-libffi, target-qthreads, target-libjava, and
targetlibobjc.
* configure: Regenerate.
gcc/
Merge from csl-arm-branch:
2005-09-07 Paul Brook <paul@codesourcery.com>
* config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
space to string.
2005-04-30 Paul Brook <paul@codesourcery.com>
* config/arm/bpabi.h (TARGET_DEFAULT): Define.
* config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
2005-03-07 Daniel Jacobowitz <dan@codesourcery.com>
* config/arm/arm.c (arm_all_abis): Add aapcs-linux.
(arm_override_options): Use TARGET_AAPCS_BASED.
* config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
(PTRDIFF_TYPE): Use int for AAPCS.
(DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
* config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
(DEFAULT_SHORT_ENUMS): Delete.
* doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
* config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
* config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
2004-12-03 Mark Mitchell <mark@codesourcery.com>
* config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
2004-11-22 Mark Mitchell <mark@codesourcery.com>
* config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
2004-11-19 Mark Mitchell <mark@codesourcery.com>
* config.gcc (arm*-*-linux-gnueabi): Add it.
* config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
redefining it.
(TARGET_OS_CPP_BUILTINS): Likeiwse.
* config/arm/linux-eabi.h: New file.
* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
(LINUX_TARET_LINK_SPEC): Likewise.
(LINK_SPEC): Use it.
* config/arm/t-linux-eabi: New file.
libcpp/
* configure.ac: Require 64-bit int for arm*-*-*eabi*.
* configure: Regenerate.
libstdc++/
Merge from csl-arm-branch:
2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
* libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols.
From-SVN: r105121
2005-10-08 18:17:20 +00:00
Richard Earnshaw
2591db658c
arm.h (arm_stack_offsets): Add locals_base field.
...
* arm.h (arm_stack_offsets): Add locals_base field.
* arm.c (arm_get_frame_offsets): Compute it.
(thumb_compute_initial_elimination offset): Make the Thumb frame
pointer point to the base of the local variables.
(thumb_expand_prologue): Update accordingly.
(thumb_expand_epilogue): Likewise.
* arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
mode of clobbered scratch to DImode. Handle a case that's known to
need this.
From-SVN: r103301
2005-08-20 10:31:42 +00:00
Richard Earnshaw
a132dad65c
re PR target/23436 (Insn does not satisfy its constraints (reload_cse_simplify_operands))
...
PR target/23436
* arm.c (thumb_legitimize_reload_address): New function.
* arm-protos.h (thumb_legitimize_reload_address): Add prototype.
* arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
From-SVN: r103273
2005-08-19 09:20:31 +00:00
Kazu Hirata
a4d0554781
Makefile.in, [...]: Fix comment/doc typos.
...
* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
config/alpha/predicates.md, config/arc/arc.h,
config/arm/arm.h, config/arm/ieee754-df.S,
config/arm/ieee754-sf.S, config/bfin/bfin.c,
config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
config/m68hc11/m68hc11.h, config/mips/mips.c,
config/mips/mips.h, config/mips/openbsd.h,
config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h,
config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
doc/extend.texi, doc/gcov.texi, doc/install.texi,
doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
typos. Follow spelling conventions.
From-SVN: r102809
2005-08-06 13:26:35 +00:00
Paul Brook
a14b88bb20
arm-protos.h (arm_canonicalize_comparison): Update prototype.
...
2005-07-30 Paul Brook <paul@codesourcery.com>
* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
prototype.
* config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
value for mode.
* config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
From-SVN: r102574
2005-07-30 00:11:27 +00:00
Paul Brook
617a1b7144
Makefile.in: Set and use UNWIND_H.
...
2005-06-28 Paul Brook <paul@codesourcery.com>
gcc/
* Makefile.in: Set and use UNWIND_H. Install as unwind.h.
* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
* except.c (add_ehspec_entry): Generate arm eabi filter lists.
(assign_filter_values): Ditto.
(output_ttype): New function.
(output_function_exception_table): Use output_ttype. Generate arm
eabi filter lists.
(default_init_unwind_resume_libfunc): New function.
* except.h (default_init_unwind_resume_libfunc): Add prototype.
* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
* opts.c (decode_options): Use targetm.unwind_tables_default.
* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
and arm_eabi_unwinder.
* unwind-c.c: Support Arm EABI unwinder.
* unwind.h: Rename ...
* unwind-generic.h: ... To this.
* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
(TARGET_UNWID_TABLES_DEFAULT): Document.
* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
Define.
(thumb_pushpop, thumb_output_function_prologue): Output unwinding
directives.
(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
!TARGET_UNWIND_INFO.
(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
* config/arm/lib1funcs.asm: Include libunwind.S.
* config/arm/libgcc-bpabi.ver: Add unwinding routines.
* config/arm/libunwind.S: New file.
* config/arm/pr-support.c: New file.
* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/unwind-arm.c: New file.
* config/arm/unwind-arm.h: New file.
* config/i386/t-netware (USER_H): Remove unwind.h.
* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
gcc/cp/
* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
* except.c: Include target.h.
(init_exception_processing): Initialize unwind_resume_libfunc.
* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
* decl.c (java_init_decl_processing): Call
default_init_unwind_resume_libfunc.
gcc/objc/
* objc-act.c (objc_init_exceptions): Call
default_init_unwind_resume_libfunc.
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
__cxa_end_cleanup.
* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
* libsupc++/eh_arm.cc: New file.
* libsupc++/eh_call.cc: New file.
* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
__gxx_caught_object.
(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
_Unwind_Complete when using the ARM EABI.
(__cxa_end_catch): Use __is_gxx_exception_class.
* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
using the ARM EABI.
(save_caught_exception, restore_caught_exception): New functions.
(_throw_typet): New typedef.
(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
EABI implementations.
(PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
unwinding libary.
(__cxa_unexpected): Disable when using the ARM EABI.
* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
(__cxa_rethrow): Use __is_gxx_exception_class. Call
_Unwind_RaiseException when using the ARM EABI.
* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
EABI semantics.
(struct __cxa_eh_globals): Ditto.
(__cxa_call_terminate): Add prototype.
(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
prototypes.
(__get_exception_header_from_obj, __get_exception_header_from_ue):
Move earlier in file.
(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
__gxx_caught_object): New functions.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefie.in: Regenerate.
* testsuite/makefile.in: Regenerate.
From-SVN: r101385
2005-06-28 19:52:27 +00:00
Jakub Jelinek
f62c8a5c79
defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
...
* defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
* function.c (get_func_frame_size): Use if (FRAME_GROWS_DOWNWARD)
instead of preprocessor conditionals.
(assign_stack_local_1, assign_stack_temp_for_type): Likewise.
* cfgexpand.c (FRAME_GROWS_DOWNWARD): Don't redefine to 1 or 0
depending on if it was or was not defined previously.
* doc/rtl.texi (VIRTUAL_STACK_VARS_REGNUM): Mention that only non-zero
definition of FRAME_GROWS_DOWNWARD means frame grows downward.
* doc/tm.texi (FRAME_GROWS_DOWNWARD): Likewise.
* config/m68hc11/m68hc11.h (FRAME_GROWS_DOWNWARD): Define to 0. Update
comment.
* config/pa/pa.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/stormy16/stormy16.h (FRAME_GROWS_DOWNWARD): Define to 0.
* config/c4x/c4x.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/sh/sh.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/iq2000/iq2000.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/pdp11/pdp11.h (FRAME_GROWS_DOWNWARD): Define to 1. Update
comment.
* config/i860/i860.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/h8300/h8300.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/arc/arc.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/vax/vax.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/sparc/sparc.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/i386/i386.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/fr30/fr30.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/frv/frv.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/mn10300/mn10300.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/bfin/bfin.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/ns32k/ns32k.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/v850/v850.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/alpha/alpha.h (FRAME_GROWS_DOWNWARD): Update comment.
* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/arm/arm.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/alpha/unicosmk.h (FRAME_GROWS_DOWNWARD): Define to 1.
* config/cris/cris.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/m68k/m68k.h (FRAME_GROWS_DOWNWARD): Likewise.
* config/mmix/mmix.h (FRAME_GROWS_DOWNWARD): Likewise.
From-SVN: r101329
2005-06-26 07:18:53 +02:00
R. Kelley Cook
39d14ddaac
Update FSF address.
...
From-SVN: r101314
2005-06-25 01:22:41 +00:00
Richard Earnshaw
49755603e1
arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache unconditional.
...
* arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache
unconditional.
From-SVN: r99680
2005-05-13 21:56:58 +00:00
Daniel Jacobowitz
a15900b51c
linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
...
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
default definition.
(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
From-SVN: r99581
2005-05-11 14:59:09 +00:00
Richard Sandiford
c54c732251
config.gcc (arm*-wince-pe*, [...]): Add arm/pe.opt to $extra_options.
...
* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
arm/pe.opt to $extra_options.
* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
(target_float_abi_name, target_float_switch, target_abi_name)
(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
(TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
(arm_pic_register_string): Delete.
(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
TARGET_TPCS_FRAME.
(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
* config/arm/coff.h (TARGET_DEFAULT): Likewise.
* config/arm/elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
* config/arm/semi.h (TARGET_DEFAULT): Likewise.
* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
* config/arm/pe.h (TARGET_DEFAULT): Likewise.
(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/arm/arm.c (target_float_switch): Delete.
(arm_cpu_select): Moved from config/arm/arm.h.
(target_fpu_name, target_fpe_name, target_float_abi_name)
(target_abi_name, structure_size_string, arm_pic_register_string)
(arm_select): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(arm_handle_option): New function.
(arm_override_options): Update target_flags checks for new mask names.
Remove target_float_switch code.
(arm_expand_prologue, thumb_expand_prologue): Check
!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
* config/arm/arm.opt, config/arm/pe.opt: New files.
From-SVN: r99265
2005-05-05 12:09:00 +00:00
Paul Brook
2a86f5154b
arm.h (ARM_EMIT_TRAMPOLINE_CACHE_CLEAR): Define.
...
2005-01-05 Paul Brook <paul@codesourcery.com>
* config/arm/arm.h (ARM_EMIT_TRAMPOLINE_CACHE_CLEAR): Define.
(INITIALIZE_TRAMPOLINE): Use it.
* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Remove.
* config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Remove.
* config/arm/netbsd-elf.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r99068
2005-05-01 15:28:53 +00:00
Mark Mitchell
88c6057f1d
arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a definition has already been provided.
...
* config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
definition has already been provided.
(ARM_EABI_DTORS_SECTION_OP): Likewise.
* config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
(ARM_EABI_DTORS_SECTION_OP): Likewise.
From-SVN: r98988
2005-04-29 14:22:10 +00:00
Julian Brown
7abc66b142
crtstuff.c: Handle targets that use .init_array.
...
* crtstuff.c: Handle targets that use .init_array.
* function.c (HAS_INIT_SECTION): Do not define. Instead, make sure
that INVOKE__main is set correctly.
(expand_main_function): Test INVOKE__main.
* libgcc2.c: Do not define __main when using .init_array.
* config/arm/arm.c (arm_elf_asm_constructor): New function.
* config/arm/arm.h (CTORS_SECTION_ASM_OP): Define, with specialized
libgcc version.
(DTORS_SECTION_ASM_OP): Likewise.
(CTOR_LIST_BEGIN): Define specially when in libgcc.
(CTOR_LIST_END): Likewise.
(DTOR_LIST_BEGIN): Likewise.
(DTOR_LIST_END): Likewise.
* config/arm/bpapi.h (INIT_SECTION_ASM_OP): Do not define it.
(FINI_SECTION_ASM_OP): Likewise.
(INIT_ARRAY_SECTION_ASM_OP): Define.
(FINI_ARRAY_SECTION_ASM_OP): Likewise.
* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
(FINI_ARRAY_SECTION_ASM_OP): Likewise.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r98986
2005-04-29 14:09:45 +00:00
Nathan Sidwell
685c9c11b8
arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame pointer when thumb backtracing is on.
...
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
pointer when thumb backtracing is on.
* config/fp-bit.c (abort): Revert change.
From-SVN: r98872
2005-04-27 18:33:37 +00:00
Nathan Sidwell
e6d29d157f
arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and gcc_unreachable as appropriate.
...
* config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
gcc_unreachable as appropriate.
(THUMB_PRINT_OPERAND_ADDRESS): Likewise.
* config/arm/arm.c (arm_override_options, arm_compute_func_type,
use_return_insn, const_ok_for_op, arm_gen_constant,
arm_canonicalize_comparison, legitimize_pic_address,
thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
arm_cirrus_insn_p, cirrus_reorg, minmax_code,
load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
output_call, output_mov_long_double_fpa_from_arm,
output_mov_long_double_arm_from_fpa,
output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
output_move_double, arithmetic_instr, shift_op, int_log2,
output_return_instruction, arm_output_function_prologue,
arm_output_epilogue, arm_output_function_epilogue,
emit_multi_reg_push, arm_get_frame_offsets,
arm_compute_initial_elimination_offset, arm_expand_prologue,
arm_print_operand, arm_assemble_integer, get_arm_condition_code,
arm_final_prescan_insn, arm_init_iwmmxt_builtins,
arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
thumb_compute_initial_elimination_offset,
thumb_output_function_prologue, thumb_load_double_from_address,
thumb_output_move_mem_multiple, thumb_reload_out_hi,
arm_emit_vector_const, arm_dbx_register_number): Likewise.
* config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
* config/arm/arm.md (thumb_extendhisi2,
*thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
*thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
*arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
* config/arm/cirrus.md (*cirrus_arm_movdi,
*cirrus_movdf_hard_insn): Likewise.
* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
From-SVN: r98850
2005-04-27 16:09:03 +00:00
Julian Brown
866af8a909
arm.c (arm_return_in_msb): New function.
...
* config/arm/arm.c (arm_return_in_msb): New function.
(arm_must_pass_in_stack): New function.
(TARGET_RETURN_IN_MSB): Define target hook.
(TARGET_MUST_PASS_IN_STACK): Define target hook.
(arm_function_value): Pad small aggregate return.
(arm_pad_arg_upward): New function.
(arm_pad_reg_upward): New function.
* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
(FUNCTION_ARG_PADDING): Define macro.
(BLOCK_REG_PADDING): Define macro.
(PAD_VARARGS_DOWN): Correct padding for AAPCS.
* config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
(arm_pad_reg_upward): Declare function.
From-SVN: r98774
2005-04-26 16:30:37 +00:00
Mark Mitchell
1e73110261
target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
...
* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
(TARGET_CXX): Adjust accordingly.
* target.h (struct gcc_target): Remove epxort_class_data. Add
determine_class_data_visibility and class_data_always_comdat.
* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.c (arm_cxx_export_class_data): Remove.
(arm_cxx_determine_class_data_visibility): New.
(arm_cxx_class_data_always_comdat): Likewise.
(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
Define.
* decl2.c (determine_visibility): Don't use export_class_data.
(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.
* testsuite/g++.dg/ext/visibility/arm2.C: New test.
* testsuite/g++.dg/ext/visibility/arm3.C: Likewise.
* testsuite/g++.dg/ext/visibility/symbian2.C: Likewise.
From-SVN: r98010
2005-04-12 06:33:48 +00:00
Richard Earnshaw
abac3b49c2
arm.c (FL_WBUF): Define.
...
* arm.c (FL_WBUF): Define.
(arm_tune_strongarm): Renamed from arm_is_strong. All uses changed.
(arm_is_6_or_7): Delete.
(arm_tune_wbuf): New.
(arm_override_options): Set arm_tune_wbuf.
* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
(arm_is_6_or_7): Delete declaration.
(arm_tune_wbuf): New declartion.
* arm.md (is_strongarm): Derive from arm_tune_strongarm.
(model_wbuf): Derive from arm_tune_wbuf.
* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
(arm740t): Mark CPUs as having a write buffer.
From-SVN: r97894
2005-04-09 12:03:54 +00:00
Richard Earnshaw
9b901d50bb
arm.c (arm_const_double_inline_cost): Handle any constant by using gen_lowpart and gen_highpart_mode.
...
* arm.c (arm_const_double_inline_cost): Handle any constant by
using gen_lowpart and gen_highpart_mode.
(note_invalid_constants): All constants in an RTX with a constraint
that permits memory are now pushed to the constant pool.
(output_move_double): Delete code to handle reg to reg and
constant to reg moves.
(const_double_needs_minipool, output_mov_immediate): Delete.
* arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
CONST_INT and CONST_VECTOR.
* arm.md (ANY64): New mode macro.
(arm_movdi): Split reg-reg and const-reg moves. Simplify constraints.
(movdf_soft_insn): Split reg-reg and const-reg moves.
(split patterns for 64-bit constant and register moves): New.
* cirrus.md (cirrus_arm_movdi): Split reg-reg and const-reg moves.
(cirrus_movdf_hard_insn): Likewise.
* fpa.md (movdf_fpa): Likewise.
* iwmmxt.md (iwmmxt_arm_movdi): Likewise.
(movv8qi_internal, movv4hi_internal, movv2si_internal): Fix
constraints.
(movv2si_internal_2): Likewise.
* vfp.md (arm_movdi_vfp): Split reg-reg and const-reg moves.
(movdf_vfp): Likewise.
* arm-protos.h (output_mov_immediate): Delete prototype.
From-SVN: r97778
2005-04-07 11:24:11 +00:00
Paul Brook
57ecec5749
arm.c (thumb_call_via_label): Include space for SP.
...
2005-04-01 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (thumb_call_via_label): Include space for SP.
(arm_output_function_epilogue): Allow call_via_SP.
(thumb_call_via_reg, arm_file_end): Ditto.
* config/arm/arm.h (struct machine_function): Include space for SP.
(thumb_call_via_label): Update declaration.
From-SVN: r97402
2005-04-01 15:59:09 +00:00
Paul Brook
2fa330b29a
arm-protos.h (arm_dbx_register_number): Add prototype.
...
2005-03-29 Paul Brook <paul@codesourcery.com>
* config/arm/arm-protos.h (arm_dbx_register_number): Add prototype.
* config/arm/arm.c (arm_dbx_register_number): New function.
* config/arm/arm.h (IS_FPA_REGNUM, DBX_REGISTER_NUMBER): Define.
From-SVN: r97150
2005-03-29 03:00:27 +00:00
Daniel Jacobowitz
119bb233e2
arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear call_used_regs for wCG registers.
...
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
call_used_regs for wCG registers.
From-SVN: r96525
2005-03-15 17:45:55 +00:00
Richard Earnshaw
9f7bf991d0
re PR target/19162 (ICE while building libobjc's sendmsg.c)
...
* PR target/19162
* arm.c (arm_apply_result_size): New function.
* arm.h (APPLY_RESULT_SIZE): Define.
* arm-protos.h (arm_apply_result_size): Add prototype.
* arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
(movxf): New expand.
(ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
(call_value_symbol): Remove predicate for operand 0.
(call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
(untyped_call): Rework to correclty return values for any type.
(untyped_return): New expand.
* fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
From-SVN: r95119
2005-02-16 21:57:10 +00:00
Kazu Hirata
35fd3193de
alias.c, [...]: Fix comment typos.
...
* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
fold-const.c, gimplify.c, params.h, tree-data-ref.c,
tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
config/freebsd-spec.h, config/arm/arm.h,
config/h8300/h8300.md, config/i386/i386.md,
config/i386/predicates.md, config/i386/sse.md,
config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
config/vax/vax.md: Fix comment typos. Follow spelling
conventions.
From-SVN: r94112
2005-01-23 15:05:49 +00:00
Richard Earnshaw
b12a00f173
re PR target/7525 ([ARM/Thumb] long calls stubs only in one code section, cannot branch to them from other section)
...
PR target/7525
* arm.h (struct machine_function): Add call_via field.
(thumb_call_via_label): Declare.
* arm.c (thumb_call_via_label): New variable.
(thumb_call_reg_needed): New variable.
(arm_output_function_epilogue): For Thumb code, output any per-function
call-indirect trampolines.
(thumb_call_via_reg): New function.
(arm_file_end): New function.
(TARGET_ASM_FILE_END): Call arm_file_end.
(aof_file_end): Likewise.
* arm-protos.h (thumb_call_via_reg): Declare.
* arm.md (call_reg_thumb, call_value_reg_thumb): Call
thumb_call_via_reg in normal case.
From-SVN: r93641
2005-01-14 13:58:40 +00:00
Richard Earnshaw
712ecf4dfb
arm.h (TARGET_OPTIONS): Correctly record -mhard-float and -msoft-float in target_float_switch.
...
* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
-msoft-float in target_float_switch.
* arm.c (arm_override_options): Fix processing of target_float_switch.
From-SVN: r92949
2005-01-05 11:56:24 +00:00
Richard Henderson
78a52f1158
target.h (targetm.calls.arg_partial_bytes): New.
...
* target.h (targetm.calls.arg_partial_bytes): New.
* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
* calls.c (store_unaligned_arguments_into_pseudos): Update for
partial in bytes.
(load_register_parameters): Likewise.
(store_one_arg): Likewise.
(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
(emit_library_call_value_1): Likewise.
* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
(emit_push_insn): Update for partial in bytes.
* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* function.c (assign_parm_find_entry_rtl): Use
targetm.calls.arg_partial_bytes. Update for result in bytes.
(locate_and_pad_parm): Update for partial in bytes.
* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
FUNCTION_ARG_PARTIAL_NREGS.
* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h,
config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/alpha/alpha.h, config/alpha/unicosmk.h,
config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
* config/arm/arm.c (arm_arg_partial_bytes): ... here.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
* config/cris/cris.c (cris_arg_partial_bytes): ... here.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
fr30_function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/fr30/fr30-protos.h: Update.
* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/frv/frv.c (frv_arg_partial_bytes): Rename from
frv_function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/frv/frv-protos.h: Update.
* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
ia64_function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/ia64/ia64-protos.h: Update.
* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/iq2000/iq2000-protos.h: Update.
* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/m32r/m32r-protos.h: Update.
* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
mcore_function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/mcore/mcore-protos.h: Update.
* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/mips/mips.c (mips_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/mips/mips-protos.h: Update.
* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/mn10300/mn10300-protos.h: Update.
* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/pa/pa.c (pa_arg_partial_bytes): Rename from
function_arg_partial_nregs. Handle 32-bit. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/pa/pa-protos.h: Update.
* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/rs6000/rs6000-protos.h: Update.
* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
* config/sh/sh.c (sh_arg_partial_bytes): ... here.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/sparc/sparc-protos.h: Update.
* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
* config/v850/v850.c (v850_arg_partial_bytes): Rename from
function_arg_partial_nregs. Adjust to return bytes.
(TARGET_ARG_PARTIAL_BYTES): New.
* config/v850/v850-protos.h: Update.
From-SVN: r92726
2004-12-29 19:08:18 -08:00
Richard Earnshaw
2075b05db6
arm.c (arm_override_options): Use arm_ld_sched rather than testing a bit in tune_flags.
...
* arm.c (arm_override_options): Use arm_ld_sched rather than testing
a bit in tune_flags.
(const_double_needs_minipool): Likewise. Split most of the code out
into ...
(arm_const_double_inline_cost): ... new function here.
* arm-protos.h (arm_const_double_inline_cost): Add prototype.
* arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
word constants of length 2, 3 and 4 insns respectively.
(CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
* arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
constraints. Set insn lenghts accordingly.
From-SVN: r90962
2004-11-20 11:21:55 +00:00
Paul Brook
3d8532aa2a
arm.c (target_float_switch): New variable..
...
* config/arm/arm.c (target_float_switch): New variable..
(arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
target_float_switch.
* config/arm/arm.h (target_float_switch): Declare.
(ARM_FLAG_SOFT_FLOAT): Remove.
(TARGET_SWITCHES): Remove hard-float and soft-float.
(TARGET_OPTIONS): Add hard-float and soft-float.
(TARGET_DEFAULT_FLOAT_ABI): Define.
* config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
(TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
* config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
* config/arm/netbsd-elf.h: Ditto.
* config/arm/netbsd.h: Ditto.
* config/arm/pe.h: Ditto.
* config/arm/unknown-elf.h: Ditto.
* config/arm/wince-pe.h: Ditto.
* config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
* config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
* config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
From-SVN: r90872
2004-11-18 15:59:48 +00:00
Richard Sandiford
a25036452a
arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and global for -mcaller-super-interworking.
...
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
global for -mcaller-super-interworking.
(CALLER_INTERWORKING_SLOT_SIZE): New macro.
* config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
not need a frame pointer.
(arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
the soft frame pointer offset.
(thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
* config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
_interwork_{r7,r11}_call_via_rN if some arguments are passed on
the stack. Use frame_pointer_needed to choose between them.
* config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
(interwork_with_frame): New macro.
(interwork): Add _interwork_{r7,r11}_call_via_rN().
From-SVN: r89031
2004-10-14 07:37:11 +00:00
Daniel Jacobowitz
888d2cd6b5
* defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
...
(MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
(REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
* regclass.c (record_address_regs): Remove ifdef. Use
REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
* regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
definition.
(scan_rtx_address, replace_oldest_value_addr): Use
REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
* reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
unnecessary definitions.
(find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
and MODE_BASE_REG_REG_CLASS.
* config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
(MODE_BASE_REG_REG_CLASS): Define.
(REGNO_MODE_OK_FOR_REG_BASE_P): Define.
(REG_MODE_OK_FOR_REG_BASE_P): Define.
* doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
From-SVN: r88948
2004-10-12 19:28:56 +00:00
Kazu Hirata
112cdef5e6
darwin-c.c, [...]: Fix comment typos.
...
* config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
config/arm/README-interworking, config/arm/arm-cores.def,
config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
config/frv/frv.md, config/i386/winnt.c,
config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
config/m68hc11/m68hc11.md, config/m68k/m68k.c,
config/mcore/mcore.c, config/mips/mips.h,
config/mn10300/mn10300.md, config/pa/pa.c,
config/pa/pa64-regs.h, config/pdp11/pdp11.c,
config/rs6000/rs6000.c, config/sh/symbian.c,
config/sparc/sparc.h: Fix comment typos. Follow spelling
conventions.
From-SVN: r87706
2004-09-18 19:19:40 +00:00
Kazu Hirata
c112cf2bca
darwin.c, [...]: Fix comment typos.
...
* config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
config/h8300/h8300.md, config/i386/gmm_malloc.h,
config/ia64/ia64.md, config/ip2k/libgcc.S,
config/mips/mips-ps-3d.md, config/mips/mips.c,
config/rs6000/rs6000.c, config/s390/s390.c,
config/sh/symbian.c: Fix comment typos.
From-SVN: r87295
2004-09-10 11:55:21 +00:00
Richard Earnshaw
d98a72fd4f
arm-cores.def (ARM_CORE): Add new field for the real name of the CPU.
...
* arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
CPU.
(arm7tdmi-s): New CPU name.
* arm/arm.c (ARM_CORE): Update for new format.
* arm/arm.h (ARM_CORE): Likewise.
* arm/gentune.sh: Update for extra field.
* config.gcc: Likewise.
* arm/arm-tune.md: Regenerate.
* doc/invoke.texi: Document the real processor names for ARM cpus.
From-SVN: r86884
2004-09-01 12:49:30 +00:00
Richard Earnshaw
880873be2d
arm.h (REVERSE_CONDITION): Define.
...
* arm.h (REVERSE_CONDITION): Define.
(REVERSIBLE_CC_MODE): All comparisons are now reversible.
From-SVN: r86738
2004-08-29 22:18:25 +00:00
Richard Earnshaw
a657c98a58
arm.md: Include predicates.md.
...
* arm.md: Include predicates.md.
* predicates.md: New file.
* arm.c (s_register_operand, arm_hard_register_operand)
(arm_general_register_operand, f_register_operand, reg_or_int_operand)
(arm_immediate_operand, arm_neg_immediate_operand)
(arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
(arm_add_operand, arm_addimm_operand, arm_not_operand)
(offsettable_memory_operand, alignable_memory_operand)
(arm_reload_memory_operand, arm_float_rhs_operand)
(arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
(index_operand, shiftable_operator, logical_binary_operator)
(shift_operator, equality_operator, arm_comparison_operator)
(minmax_operator, cc_register, dominant_cc_register)
(arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
(di_operand, nonimmediate_soft_df_operand, soft_df_operand)
(const_shift_operand, load_multiple_operation)
(store_multiple_operation, multi_register_push, thumb_cmp_operand)
(thumb_cmpneg_operand, thumb_cbrch_target_operand)
(cirrus_register_operand, cirrus_fp_register)
(cirrus_shift_const): Delete, replaced with equivalents in
predicates.md.
(shift_op): Handle ROTATE.
* arm-protos.h: Delete declarations for above.
* arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
* t-arm (MD_INCLUDES): Add predicates.md.
(s-preds): Depends on MD_INCLUDES.
From-SVN: r86512
2004-08-24 20:16:41 +00:00
Paul Brook
72cdc5438d
arm.c (arm_override_options): Update error message.
...
* config/arm/arm.c (arm_override_options): Update error message.
* config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
TARGET_HARD_FLOAT_ABI.
(TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
From-SVN: r86479
2004-08-24 11:32:53 +00:00
Eric Christopher
f676971a92
defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
...
2004-08-23 Eric Christopher <echristo@redhat.com>
* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
* target.h: Ditto.
* hooks.h: Include machmode.h.
(hook_bool_mode_false): Declare.
* hooks.c (hook_bool_mode_false): Define.
* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
* stor-layout.c (layout_type): Ditto.
* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
Define to target macro.
* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
* config/arm/arm.c: Ditto. Use.
* config/arm/arm.h: Ditto.
* config/arm/arm-protos.h: Ditto.
* config/i386/i386.c: Ditto.
* config/i386/i386.h: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/rs6000/rs6000.h: Ditto.
* config/sh/sh.c: Ditto.
* config/sh/sh.h: Ditto.
* config/sh/sh-protos.h: Ditto.
* config/sh/sh.md: Use.
* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
to TARGET_VECTOR_MODE_SUPPORTED_P.
2004-08-23 Eric Christopher <echristo@redhat.com>
* trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
usage. Use build_vector_type_for_mode for vector types.
From-SVN: r86453
2004-08-24 00:30:52 +00:00
Zack Weinberg
f822d2527e
rtl.def (NIL): Delete.
...
* rtl.def (NIL): Delete.
* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
Tighten the syntax a little.
* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
* config/i386/predicates.md, config/m32r/m32r.h
* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
* config/sparc/sparc.h, doc/tm.texi:
Replace all occurrences of NIL with UNKNOWN.
From-SVN: r86193
2004-08-18 17:05:14 +00:00
Paul Brook
876f13b0be
* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
...
(arm_load_pic_register): ... to this.
* config/arm/arm.c (arm_finalize_pic): Rename ...
(arm_load_pic_register): ... to this. Always output insns at the
current location. Load via low reg in thumb mode.
(arm_expand_prologue): Call arm_load_pic_register.
(thumb_expand_prologue): Ditto.
* config/arm/arm.h (FINALIZE_PIC): Remove.
* config/arm/arm.md (builtin_setjmp_receiver): Call
arm_load_pic_register.
From-SVN: r85820
2004-08-11 21:02:47 +00:00
Paul Brook
57934c3979
arm.c (thumb_force_lr_save): Add prototype.
...
* arm.c (thumb_force_lr_save): Add prototype.
(thumb_compute_save_reg_mask): New function.
(thumb_find_work_register): New function.
(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
(thumb_unexpanded_epilogue): Ditto. Remove redundant code.
Don't clobber r3 when removing pretend args.
(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
(thumb_output_function_prologue): Use new functions.
(thumb_set_return_address): Use thumb_compute_save_reg_mask.
* arm.h (THUMB_REG_PUSHED_P): Remove.
From-SVN: r85818
2004-08-11 20:59:15 +00:00
Nick Clifton
a77655b15f
(arm_is_longcall_p): Update comment describing this funciton's behaviour.
...
Return true when the current function has a section attribute and
-mlong-calls is in effect.
(ARM_DECLARE_FUNCTION_SIZE): Do not set the short-call marker when
-mlong-calls is in effect and the function has a section attribute.
From-SVN: r85796
2004-08-11 07:48:13 +00:00
Mark Mitchell
b3f8d95d35
configure.in (arm*-*-eabi*): New target.
...
* configure.in (arm*-*-eabi*): New target.
* configure: Regenerate.
* configure.ac (arm*-*-eabi*): New target.
(arm*-*-symbianelf*): Likewise.
* configure: Regenerated.
* config.gcc (arm*-*-eabi*): New target.
* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
(TARGET_LIB_INT_CMP_BIASED): Likewise.
* expmed.c (expand_divmod): Try a two-valued divmod function as a
last resort.
* gthr.h: Remove bogus tokens at end of #pragma.
* optabs.c (expand_twoval_binop_libfunc): New function.
(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
(prepare_float_lib_cmp): Try reversing the condition.
(debug_optab_libfuncs): New function.
* optabs.h (expand_twoval_binop_libfunc): Declare.
* config/arm/arm.c (arm_init_libfuncs): New function.
(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
(TARGET_INIT_LIBFUNCS): Define it.
* config/arm/arm.h (TARGET_BPABI): New macro.
* config/arm/arm-protos.h
(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
* config/arm/bpabi.S: New file.
* config/arm/bpabi.c: Likewise.
* config/arm/bpabi.h: Likewise.
* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
(__aeabi_drsub): Likewise.
(__aeabi_dsub): Likewise.
(__aeabi_dadd): Likewise.
(__aeabi_ui2d): Likewise.
(__aeabi_i2d): Likewise.
(__aeabi_f2d): Likewise.
(__aeabi_dmul): Likewise.
(__aeabi_ddiv): Likewise.
(__aeabi_cdrcmple): Likewise.
(__aeabi_cdcmpeq): Likewise.
(__aeabi_cdcmple): Likewise.
(__aeabi_dcmpeq): Likewise.
(__aeabi_dcmplt): Likewise.
(__aeabi_dcmple): Likewise.
(__aeabi_dcmpge): Likewise.
(__aeabi_dcmpgt): Likewise.
(__aeabi_dcmpun): Likewise.
(__aeabi_d2iz): Likewise.
(__aeabi_d2uiz): Likewise.
(__aeabi_d2f): Likewise.
* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
(__aeabi_frsub): Likewise.
(__aeabi_fsub): Likewise.
(__aeabi_fadd): Likewise.
(__aeabi_ui2f): Likewise.
(__aeabi_i2f): Likewise.
(__aeabi_fmul): Likewise.
(__aeabi_fdiv): Likewise.
(__aeabi_cfrcmple): Likewise.
(__aeabi_cfcmpeq): Likewise.
(__aeabi_cfcmple): Likewise.
(__aeabi_fcmpeq): Likewise.
(__aeabi_fcmplt): Likewise.
(__aeabi_fcmple): Likewise.
(__aeabi_fcmpge): Likewise.
(__aeabi_fcmpgt): Likewise.
(__aeabi_fcmpun): Likewise.
(__aeabi_f2iz): Likewise.
(__aeabi_f2uiz): Likewise.
* config/arm/lib1funcs.asm (ARM_CALL): New macro.
(__aeabi_uidivmod): New function or alias.
(__aeabi_idivmod): Likewise.
(__aeabi_idiv0): Likewise.
(__aeabi_ldiv0): Likewise.
(__aeabi_llsr): Likewise.
(__aeabi_lasr): Likewise.
(__aeabi_llsl): Likewise.
(bpabi.S): Include it.
* config/arm/libgcc-bpabi.ver: New file.
* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
(LINK_SPEC): Remove.
* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
__aeabi_ulcmp.
* config/arm/t-bpabi: New file.
* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
(TARGET_LIB_INT_CMP_BIASED): Likewise.
* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
* gcc.dg/dll-2.c: Fix dg-require syntax.
* gcc.misc-tests/arm-isr.c (abort): Declare.
(exit): Likewise.
From-SVN: r85788
2004-08-11 02:50:14 +00:00
Paul Brook
c9ca9b88bb
arm-protos.h (arm_set_return_address, [...]): Add prototypes.
...
* config/arm/arm-protos.h (arm_set_return_address,
thumb_set_return_address): Add prototypes.
* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
* config/arm/arm.c (arm_compute_func_type,
use_return_insn, arm_compute_save_reg0_reg12_mask,
arm_compute_save_reg_mask, arm_output_function_prologue,
arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
current_function_calls_eh_return.
(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
old eh code.
(arm_set_return_address, thumb_set_return_address): New functions.
* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
(epilogue): Use the stackadj register.
(eh_return, arm_eh_return, thumb_eh_return): New pattern.
From-SVN: r85757
2004-08-10 16:22:47 +00:00
Richard Henderson
3ac5ea7c80
arm-protos.h (arm_va_arg): Remove.
...
* config/arm/arm-protos.h (arm_va_arg): Remove.
* config/arm/arm.c (arm_va_arg): Remove.
(arm_init_expanders): Fix alignment of arg_pointer_rtx.
* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove.
From-SVN: r84695
2004-07-14 10:51:18 -07:00
Richard Henderson
8cd5a4e07d
target.h (struct gcc_target): Add calls.pass_by_reference.
...
* target.h (struct gcc_target): Add calls.pass_by_reference.
* target-def.h (TARGET_PASS_BY_REFERENCE): New.
* function.c (pass_by_reference): Use the hook.
* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
(hook_pass_by_reference_must_pass_in_stack): New.
* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
(alpha_pass_by_reference): New.
(TARGET_PASS_BY_REFERENCE): New.
* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/arc/arc.c (arc_pass_by_reference): New.
(TARGET_PASS_BY_REFERENCE): New.
* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): True.
* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/cris/cris.c (cris_pass_by_reference): New.
(TARGET_PASS_BY_REFERENCE): New.
* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
(frv_function_arg_pass_by_reference): Remove.
* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
(ia64_pass_by_reference): Rename from
ia64_function_arg_pass_by_reference.
* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
(m32r_pass_by_reference): Adjust prototype. Make static.
Handle mode sizes correctly.
* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
(m68hc11_function_arg_pass_by_reference): Remove.
* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
(mips_va_arg): Use pass_by_reference.
(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
Handle mode sizes correctly.
* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
(mmix_pass_by_reference): Rename from
mmix_function_arg_pass_by_reference.
* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): True.
* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
(mn10300_pass_by_reference): New.
* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): True.
* config/pa/pa.c (pa_pass_by_reference): New.
(TARGET_PASS_BY_REFERENCE): New.
* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): True.
* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
(s390_pass_by_reference): Rename from
s390_function_arg_pass_by_reference.
(s390_function_arg_advance): Don't query pass-by-ref.
(s390_function_arg): Likewise.
(s390_gimplify_va_arg): Use pass_by_reference.
(s390_call_saved_register_used): Likewise.
* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
(shcompact_byref, sh_pass_by_reference): New.
* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(SHCOMPACT_BYREF): Remove.
* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
(sparc_gimplify_va_arg): Use pass_by_reference.
* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
(v850_pass_by_reference): New.
* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
(FUNCTION_ARG_CALLEE_COPIES): True.
* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
FUNCTION_ARG_PASS_BY_REFERENCE docs.
From-SVN: r84672
2004-07-13 23:24:27 -07:00
Richard Earnshaw
2ad4dcf985
arm.c (arm_cpp_interwork): New variable.
...
* arm.c (arm_cpp_interwork): New variable.
(arm_override_options): Set it if TARGET_INTERWORK was on the command
line.
* arm.h (arm_cpp_interwork): Declare it.
(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
__THUMB_INTERWORK__ in the preprocessor.
From-SVN: r84351
2004-07-09 09:30:46 +00:00
Joseph Myers
8f99553ff6
c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
...
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
TARGET_MEM_FUNCTIONS.
* system.h: Poison TARGET_MEM_FUNCTIONS.
* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
bcmp_libfunc, bzero_libfunc): Remove.
* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
bzero_libfunc.
* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
* doc/standards.texi: Don't mention calling BSD string functions.
* doc/invoke.texi: Likewise. Mention that memmove may be called.
* config/vax/t-memfuncs: New.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: New.
* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
vax/t-memfuncs.
* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
config/elfos.h, config/gnu.h, config/h8300/h8300.h,
config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
config/netbsd.h, config/openbsd.h, config/pa/pa.h,
config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
From-SVN: r84130
2004-07-05 20:49:20 +01:00
Paul Brook
4adf3e34b2
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
...
From-SVN: r83651
2004-06-25 13:48:51 +00:00