]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
configure.in (arm*-*-eabi*): New target.
[gcc.git] / gcc / ChangeLog
index 87045e6484c7fcd6a6fce702a38c4c5cb621d867..1022abd673e73fa93f4e96710cc59de9664b94dc 100644 (file)
@@ -1,3 +1,225 @@
+2004-08-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * 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.
+       
+2004-08-10  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
+       * config/rs6000/rs6000.md (clrmemsi): New pattern.
+       * config/rs6000/rs6000.c (expand_block_clear): New function.
+       (expand_block_move): Convert alignment to bits.  Use SImode and
+       HImode for unaligned addresses if not STRICT_ALIGNMENT.
+
+2004-08-10  Caroline Tice  <ctice@apple.com>
+
+       * varasm.c (unlikely_section_label): New global variable.
+       (unlikely_text_section_name): New global variable.
+       (text_section):  Remove alignment statement.
+       (unlikely_text_section): Remove alignment statement; use 
+       unlikely_section_label rather than hard-coded string.
+       (assemble_start_function): Initialize unlikely_section_label and
+       unlikely_text_section_name;  make sure cold section is properly
+       aligned at start of function; output unlikely_section_label if
+       appropriate.
+
+2004-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
+       * config/s390/s390.c (s390_canonicalize_comparison): New function.
+       * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
+       * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
+       "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
+       ("*tmqi_mem"): Remove SUBREG from pattern.
+       ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
+       ("*andsi3_cconly"): Likewise.
+       
+2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/16909
+       * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
+
+2004-08-10  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (compat testing): Document available test
+       framework commands.  Use the preferred spelling of DejaGnu.
+
+2004-08-10  Daniel Berlin <dberlin@dberlin.org>
+
+       * lambda.h: Add matrix type, and prototypes for remainder of
+       matrix and vector functions.
+       (lambda_vector_mult_const): New function.
+       (lambda_vector_negate): Ditto.
+       (lambda_vector_add): Ditto.
+       (lambda_vector_add_mc): Ditto.
+       (lambda_vector_copy): Ditto.
+       (lambda_vector_zerop): Ditto.
+       (lambda_vector_equal): Ditto.
+       (lambda_vector_min_nz): Ditto.
+       (lambda_vector_first_nz): Ditto.
+       (lambda_vector_matrix_mult): Ditto.
+       * lambda-mat.c: New file.
+       * Makefile.in (lambda-mat.o): New.
+
+2004-08-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
+       after linking stmt into the program.
+       (bsi_remove): Don't call modify_stmt.
+       * tree-complex.c (update_complex_assignment, 
+       expand_complex_comparison): Call modify_stmt after changing the stmt.
+       * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not 
+       removing the stmt.
+       * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
+       the stmt, and only if needed.
+       * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
+       expression.
+       (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
+       (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
+       (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
+       (eliminate_redundant_computations): Don't pass an annotation. Call 
+       modify_stmt rather than setting the annotation directly.
+       (record_equivalences_from_stmt): Remove unused local 'j'.
+       (cprop_operand): Take a stmt rather than an annotation as a parameter.
+       Call modify_stmt.
+       (cprop_into_stmt): Pass stmt rather than annotation.
+       (update_rhs_and_lookup_avail_expr): Call modify_stmt.
+       * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than 
+       modify_stmt.
+       * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
+
+2004-08-10  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/16948
+       * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
+       the RESULT_DECL.
+
+2004-08-10  Geoffrey Keating  <geoffk@apple.com>
+
+       * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
+       hash function.
+
+2004-08-10  Roger Sayle  <roger@eyesopen.com>
+
+       * config/mips/mips.md: New reciprocal square root patterns that
+       match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
+
+2004-08-10  Paul Brook  <paul@codesourcery.com>
+
+       * 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.
+
+2004-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/3144
+       * expr.c (move_by_pieces_ninsns): Add max_size argument.
+       (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
+       (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
+       (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
+       but using MOVE_RATIO.
+       (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
+       (can_store_by_pieces): Change max_size type to unsigned int.
+       (store_by_pieces_1): Likewise.  Pass max_size to
+       move_by_pieces_ninsns.
+       * config/s390/s390.h (STORE_BY_PIECES_P): Define.
+       * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
+       to move_by_pieces_ninsns.
+       (STORE_BY_PIECES_P): Define.
+       * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
+       to move_by_pieces_ninsns.
+       * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
+
+       * config/i386/i386.h (CLEAR_RATIO): Define.
+
 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
 
        * expr.c (expand_expr_real_1): Add back code that was not dead.
This page took 0.036783 seconds and 5 git commands to generate.