+2001-09-30 H.J. Lu <hjl@gnu.org>
+
+ * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
+ * config.in: Rebuild.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
+ ("tsthi_1"): Avoid allocation in register y.
+ ("*movqi_68hc12"): Reorganize and fix constraints.
+ ("zero_extendqisi2"): Prefer d over x and y for operand 1.
+ ("addqi3"): Likewise.
+ ("addhi3"): Fix constraints.
+ ("*logicalhi3_zexthi"): Disparage soft registers.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
+ to tmp reg.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
+ that we use setjmp/longjmp exceptions.
+
+2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
+ POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
+ struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, _cpp_next_chunk): Remove.
+ (_cpp_extend_buff, BUFF_ROOM): Update.
+ (_cpp_append_extend_buff): New.
+ (struct cpp_reader): Remove macro_pool, add a_buff.
+ * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
+ macro_pool.
+ (cpp_destroy): Free a_buff instead of macro_pool.
+ * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
+ new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, ): Remove.
+ (parse_number, parse_string): Update use of _cpp_extend_buff.
+ (_cpp_extend_buff): Update.
+ (_cpp_append_extend_buff, cpp_aligned_alloc): New.
+ * cpplib.c (glue_header_name, parse_answer):
+ Update use of _cpp_extend_buff.
+ (cpp_register_pragma, cpp_register_pragma_space): Use
+ _cpp_aligned_alloc.
+ (do_assert, do_unassert): Check for EOL, update.
+ * cppmacro.c (stringify_arg, collect_args): Update to use
+ _cpp_extend_buff and _cpp_append_extend_buff.
+ (save_parameter, parse_params, alloc_expansion_token,
+ _cpp_create_definition): Rework memory management.
+
+2001-09-29 Andris Pavenis <pavenis@lanet.lv>
+
+ * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
+ update md_exec_prefix.
+ (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
+ to string constant.
+
+2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
+ (SELECT_CC_MODE): Use s390_select_ccmode.
+ * config/s390/s390-protos.h (s390_select_ccmode): Add.
+ * config/s390/s390.c (s390_select_ccmode): New.
+ (s390_match_ccmode): Add CCLmode.
+ (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
+ (output_branch_condition, output_inverse_branch_condition): Removed.
+ (print_operand): Use s390_branch_condition_mnemonic.
+ * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
+ subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
+ (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
+
+ * config/s390/s390.c (check_and_change_labels): Preserve CC mode
+ when converting conditional branches to far branches.
+ * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
+ cmpint_di): Use CCSmode instead of CCUmode.
+
+ * config/s390/s390.c (legitimate_la_operand_p): New.
+ * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
+ * config/s390/s390.md (movsi): Convert load address patterns to
+ arithmetic operations when necessary.
+ (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
+ (do_la): Renamed to *do_la and use legitimate_la_operand_p.
+ (*do_la_reg_0): Don't use before reload.
+
+ * config/s390/s390.c (legitimize_address): Make more efficient
+ use of two-register addressing mode.
+
+ * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
+ with -mno-backchain in some corner cases.
+
+ * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
+
+2001-09-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (find_reloads): Mark new USE insns with QImode.
+ (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
+ find_reloads_subreg_address): Likewise.
+ * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
+ encountered.
+ * reload1.c (reload_combine_note_use): Likewise, inside USEs and
+ CLOBBERs.
+ (reload): Make sure there are no USEs with mode other than
+ VOIDmode. At the end, remove those marked with QImode.
+
+2001-09-29 Per Bothner <per@bothner.com>
+
+ * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
+ * Makefile.in (includedir): Rename to local_includedir.
+ (includedir): Define as $(prefix)/include.
+ * config.in (PREFIX_INCLUDE_DIR): New variable.
+ * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
+
+2001-09-29 Bernd Schmidt <bernds@redhat.com>
+
+ * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
+ storehps builtins.
+ * doc/extend.texi (Vector Extensions): New node.
+ * doc/invoke.texi (Machine Dependent Options): Add documentation for
+ i386 -mmmx, -msse, -m3dnow.
+
+Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
+
+2001-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
+
+ * doc/invoke.texi (Optimize Options): Delete spurious @table.
+
+2001-09-28 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (assemble_integer): Bound alignment check by
+ BIGGEST_ALIGNMENT.
+
+ * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
+
+2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+
+2001-09-25 Bernd Schmidt <bernds@redhat.com>
+
+ Mostly from Graham Stott <grahams@redhat.com>
+ * c-common.c (type_for_mode): Add support for V2SFmode.
+ * tree.c (build_common_tree_nodes_2): Likewise.
+ * tree.h (enum tree_index, global_trees): Likewise.
+ * config/i386/i386.c (x86_3dnow_a): New variable.
+ (override_options): Support 3Dnow extensions.
+ (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
+ Athlon's version of 3Dnow.
+ (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
+ (ix86_expand_builtin): Handle them.
+ (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
+ * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
+ TARGET_3DNOW_A): New macros.
+ (TARGET_SWITCHES): Add 3Dnow switches.
+ (VALID_MMX_REG_MODE_3DNOW): New macro.
+ (VECTOR_MODE_SUPPORTED_P): Use it.
+ (enum ix86_builtins): Add entries for 3Dnow builtins.
+ * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
+ pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
+ pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
+ pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
+ pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
+ pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
+ (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
+ mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
+ mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
+ sfence_insn, prefetch): Make these available if TARGET_SSE or
+ TARGET_3DNOW_A.
+
+Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): Declare.
+ * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): New global functions.
+ * i386.md (sse_prologue_save_insn): New insn.
+ (sse_prologue_save): New expander.
+ * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
+ BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
+
+2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
+ Use size_t everywhere, make definitions consistent with
+ prototypes.
+
Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
* gcse.c (replace_store_insn): Use delete_insn.