blob: 37774eebf508a6e842f82d17350a72cffaa7d902 [file] [log] [blame]
2002-12-31 Kazu Hirata <>
* config/h8300/h8300-protos.h: Update the prototypes.
* config/h8300/h8300.c (const_le_2_operand): Change to
(const_int_le_6_operand): Change to const_int_le_6_operand.
* config/h8300/ (two peepholes): Update the function
2002-12-31 Tom Tromey <>
* doc/install.texi (Testing): Fixed typo.
2002-12-31 Kazu Hirata <>
* config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
(TRAMPOLINE_SIZE): Support the normal mode.
(INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2002-12-31 Mark Mitchell <>
* c-common.h (pending_lang_change): Declare.
2002-12-31 Jerry Quinn <>
* gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2002-12-31 Jerry Quinn <>
* gcc/doc/invoke.texi (Optimization Options): List the options
enabled by each -O flag.
2002-12-31 Gerald Pfeifer <>
* doc/install.texi (Configuration): Explicitly refer
gcc/config.gcc for a list of cpu models.
2002-12-31 Kazu Hirata <>
* config/h8300/h8300.h: Fix comment typos.
2002-12-30 David Edelsohn <>
* config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2002-12-30 Tom Tromey <>
* doc/install.texi (Testing): Mention Jacks.
2002-12-30 Joseph S. Myers <>
* doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2002-12-30 Kazu Hirata <>
* config/h8300/h8300.c (output_logical_op): Use extu.w in more
(compute_logical_op_length): Update to reflect the change in
(compute_logical_op_cc): Likewise.
2002-12-30 Joseph S. Myers <>
* doc/service.texi: Uncomment and update FAQ link.
2002-12-30 Andreas Jaeger <>
* unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2002-12-30 Kazu Hirata <>
* config/h8300/ (*addsi3_lshiftrt_16_zexthi): New.
2002-12-30 Kazu Hirata <>
* config/h8300/h8300.c (output_logical_op): Use extu.w if we
are clearing the most significant byte.
(compute_logical_op_length): Update to reflect the change in
(compute_logical_op_cc): Likewise.
2002-12-29 Kazu Hirata <>
* config/h8300/ Give internal names to anonymous
2002-12-29 Kazu Hirata <>
* config/h8300/ Reorder some insns.
2002-12-29 Kazu Hirata <>
* config/h8300/h8300-protos.h: Add prototypes for
const_int_qi_operand and const_int_hi_operand.
* config/h8300/h8300.c (const_int_qi_operand): New.
(const_int_hi_operand): Likewise.
* config/h8300/ (three peepholes): New.
2002-12-28 Joseph S. Myers <>
* doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
Use @copying.
2002-12-28 Joseph S. Myers <>
* Increase makeinfo version requirement to 4.[2-9].
* configure: Regenerate.
* doc/install.texi: Update Texinfo version requirement.
2002-12-28 Andreas Jaeger <>
* config/i386/i386.c (x86_function_profiler): Mark labelno as
possibly unused.
correct format.
2002-12-27 Kazu Hirata <>
* config/h8300/ (*iorhi_shift_8): Change the name to
(*iorhi_lshiftrt_8): New.
2002-12-27 Joseph S. Myers <>
* doc/include/texinfo.tex: Update to version 2002-12-26.16.
2002-12-27 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2002-12-26 Kazu Hirata <>
* config/h8300/h8300-protos.h: Fix comment typos.
Update copyright.
* config/h8300/h8300.c: Fix comment typos.
2002-12-26 Kazu Hirata <>
* config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2002-12-26 Kazu Hirata <>
* config/i386/ Fix comment typos.
* config/i386/crtdll.h: Likewise.
* config/i386/djgpp.h: Likewise.
* config/i386/i386-interix.h: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/ Likewise.
* config/i386/ Likewise.
* config/i386/mingw32.h: Likewise.
* config/i386/ Likewise.
* config/i386/sco5.h: Likewise.
* config/i386/winnt.c: Likewise.
* config/i386/xmmintrin.h: Likewise.
2002-12-26 Jose Renau <>
* ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
INSN_P before checking to see if it is dead.
(mark_all_insn_unnecessary): Similarly.
(ssa_eliminate_dead_code): Similarly.
* rtl.h (struct rtx_def): Update comments for in_struct usage
in dead code elimination pass.
2002-12-26 Andreas Schwab <>
* config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2002-12-25 David Edelsohn <>
* config/rs6000/rs6000.c (rs6000_override_options): Convert to
* config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
Compact target_flags bits.
(TARGET_SWITCHES): Delete references to *_SET flags.
Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <>
* (memory attribute): Fix setcc attribute.
2002-12-25 Kazu Hirata <>
* output.h: Fix comment typos.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* ra-build.c: Likewise.
* ra-colorize.c: Likewise.
* ra-debug.c: Likewise.
* ra-rewrite.c: Likewise.
* ra.c: Likewise.
* ra.h: Likewise.
* real.c: Likewise.
* recog.c: Likewise.
* reg-stack.c: Likewise.
* regclass.c: Likewise.
2002-12-25 Kazu Hirata <>
* config/h8300/h8300.c (print_operand_address): Do not negate
a negative number when printing one.
2002-12-25 Kazu Hirata <>
* config/h8300/h8300-protos.h: Add prototypes for
output_plussi, compute_plussi_length, and compute_plussi_cc.
* config/h8300/h8300.c (output_plussi): New.
(compute_plussi_length): Likewise.
(compute_plussi_cc): Likewise.
* config/h8300/ (addsi_h8300h): Call
output_plussi, compute_plussi_length, and compute_plussi_cc.
2002-12-24 Kazu Hirata <>
* config/h8300/ (two peepholes): Use match_dup instead
of match_operand in the new patterns.
2002-12-24 Joseph S. Myers <>
* doc/include/texinfo.tex: Update to version 2002-11-25.11.
2002-12-24 Nathan Sidwell <>
* (enable-coverage): Add SELF_COVERAGE.
* profile.c (end_branch_prob): Use SELF_COVERAGE.
2002-12-24 Jim Wilson <>
* alias.c (record_set): Handle multi-reg hard registers.
2002-12-24 Kazu Hirata <>
* regmove.c: Fix comment typos.
* reload.c: Likewise.
* reload1.c: Likewise.
* resource.c: Likewise.
* rtl.def: Likewise.
* rtl.h: Likewise.
* rtlanal.c: Likewise.
* sched-deps.c: Likewise.
* sched-rgn.c: Likewise.
* sibcall.c: Likewise.
* simplify-rtx.c: Likewise.
* ssa-ccp.c: Likewise.
* ssa.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* system.h: Likewise.
* tlink.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* tree-inline.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* unroll.c: Likewise.
* varasm.c: Likewise.
2002-12-23 Larin Hennessy <>
* doc/install.texi: Remove i386-*-isc, i860-*-bsd,
m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
* doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
DG/UX entries.
* doc/md.texi: Remove AMD 29K entries.
* doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
1.38.1, NewsOS, RT PC, WE32K entries.
2002-12-23 Aldy Hernandez <>
* config/rs6000/ (mulv4sf3): Rewrite to add -0.0 vector.
(altivec_vspltisw_v4sf): Name pattern.
(altivec_vslw_v4sf): New pattern.
2002-12-23 Joseph S. Myers <>
* doc/include/gcc-common.texi: Define DEVELOPMENT.
2002-12-23 Mark Mitchell <>
* stor-layout.c (update_alignment_for_field): Correct handling of
unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
* doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
bitfield does not affect alignment.
2002-12-23 David Edelsohn <>
* expr.c (expand_assignment): Apply special treatment to
2002-12-23 Kazu Hirata <>
* config/h8300/h8300-protos.h: Update the prototype of
* config/h8300/h8300.c (expand_a_shift): Change the return
type to void.
* config/h8300/ Update all the uses of
2002-12-22 Nathan Sidwell <>
* tree.c (save_expr): Allow either side of a dyadic operand to be
* doc/portability.texi (portability): Update portability goals.
2002-12-23 Kazu Hirata <>
* config/h8300/h8300.c (output_a_shift): Remove unused code.
2002-12-22 Mark Mitchell <>
* stor-layout.c (update_alignment_for_field): Guard use of
* stor-layout.c (update_alignment_for_field): Use
ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2002-12-22 Kazu Hirata <>
* genautomata.c: Fix comment typos.
Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <>
* params.def (tracer-min-branch-probability-feedback): Fix default.
* final.c (compute_alignments): Use profile to avoid code bloat.
2002-12-22 Kazu Hirata <>
* config/h8300/h8300.c (get_shift_alg): Make shift insn
sequences end with a valid cc0 whenever possible.
2002-12-22 Kazu Hirata <>
* config/h8300/ (negsf2): New.
(*negsf2_h8300): Likewise.
(*negsf2_h8300hs): Likewise.
2002-12-21 Geoffrey Keating <>
* integrate.c (output_inline_function): Don't hold private
pointers to 'struct function' over GC calls.
2002-12-21 Kaz kojima <>
* config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2002-12-21 Kazu Hirata <>
* config/h8300/ (zero_extendqisi2): Correct the
2002-12-21 Kazu Hirata <>
* config/h8300/ (*zero_extendqihi2_h8300): Make the
second alternative "#".
(*zero_extendqihi2_h8300hs): Likewise.
(a define_split): New.
2002-12-21 Kazu Hirata <>
* config/h8300/h8300-protos.h: Update the prototype for
Add prototypes for const_le_2_operand and const_le_6_operand.
* config/h8300/h8300.c (split_adds_subs): Add an argument to
specify whether inc/dec should be used when possible.
(const_le_2_operand): New.
(const_le_6_operand): Likewise.
* config/h8300/ (two peepholes): New.
2002-12-21 Kazu Hirata <>
* config/fr30/ Fix a comment typo.
* config/i386/i386.c: Likewise.
* config/ip2k/ip2k.h: Likewise.
2002-12-20 Jim Wilson <>
* config/rs6000/spe.h (__ev_subifw): Reverse arguments.
(__ev_subw, __ev_subiw): New.
(ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2002-12-20 John David Anglin <>
* pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
* pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
2002-12-20 Kazu Hirata <>
* config/h8300/h8300-protos.h: Add prototypes for
incdec_operand and eqne_operator.
* config/h8300/h8300.c (incdec_operand): New.
(eqne_operator): Likewise.
* config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
(CONST_OK_FOR_O): Likewise.
* config/h8300/ (UNSPEC_INCDEC): New.
(addhi3_incdec): New.
(addsi3_incdec): Likewise.
(two peepholes): Likewise.
2002-12-20 Kazu Hirata <>
* config/h8300/h8300.c (dosize): Remove warnings.
(print_operand): Likewise.
2002-12-20 Richard Henderson <>
* config/alpha/alpha.c (decl_has_samegp): New.
(samegp_function_operand): Use it. Rename from
(direct_call_operand): Handle -msmall-text via symbol->jump.
(tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
(tls_symbolic_operand_type): Likewise.
(alpha_encode_section_info): Likewise. Handle -msmall-text.
(alpha_function_ok_for_sibcall): Use decl_has_samegp.
(alpha_end_function): Set symbol->jump for functions defined in
the text section.
* config/alpha/alpha-protos.h: Update.
* config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
(TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
* config/alpha/ (call patterns): Update for
samegp_function_operand rename; use !samegp reloc if
* doc/invoke.text: Document -msmall-text and -mlarge-text.
2002-12-20 Ian Dall <>
* config/ns32k/ (movdi): Use "l" instead of "f" to match
all registers capable of holding a double float.
(*rcond): change name of "reverse branch" insns to
something more meaningful.
(*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
comparisons properly.
(*ffs): Change operand 0 from write to read-modify-write.
(*ffsssi2): Drop constraints from define_expand.
* config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
MOVE_RATIO as default for store operations.
* config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
LONG_REGS class.
(GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
* config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
* config/ns32k/STATUS: New File
* config/ns32k/NOTES: New file.
2002-12-20 Hartmut Penner <>
* doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
option for S/390 and zSeries.
* config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
s390_arch_string): New variables.
(override_options): Checking for options and setting of
appropriate target_flags, cpu and arch flags.
* config/s390/s390.h: (processor_type): New enum.
(TARGET_SWITCHES): New switches -mesa/zarch.
* config/s390/ New attribute 'cpu'.
2002-12-19 Kazu Hirata <>
* c-pretty-print.h: Fix comment typos.
* integrate.c: Likewise.
* varasm.c: Likewise.
* config/c4x/c4x.h: Likewise.
* config/c4x/ Likewise.
* config/fr30/ Likewise.
* config/frv/frv.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/i386.h: Likewise.
* config/ia64/ia64.c: Likewise.
* config/ia64/ia64.h: Likewise.
* config/ip2k/ Likewise.
* config/m68hc11/m68hc11-crt0.S: Likewise.
* config/m68hc11/m68hc11.h: Likewise.
* config/m68hc11/ Likewise.
* config/m68hc11/m68hc12.h: Likewise.
* config/mcore/ Likewise.
* config/mips/mips.c: Likewise.
* config/mips/ Likewise.
* config/mmix/mmix-modes.def: Likewise.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/rs6000/ Likewise.
2002-12-19 Kazu Hirata <>
* config/h8300/ (output_a_shift): Clean up the code to
output shifts using rotation.
2002-12-20 Zdenek Dvorak <>
* flow.c (allocate_reg_life_data): Reset REG_FREQ.
2002-12-19 Kazu Hirata <>
* config/h8300/ (pushqi_h8300): Don't push the stack
(pushqi_h8300hs): Likewise.
(pushhi_h8300): Likewise.
(pushhi_h8300hs): Likewise.
Thu Dec 19 23:44:09 2002 J"orn Rennecke <>
* sched-rgn.c (init_regions): Update comment.
2002-12-19 David Edelsohn <>
* config/rs6000/ (define_attr type): Remove altivec.
* config/rs6000/ (movv4si_internal): Set correct instruction
(movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
(get_vrsave_internal,set_vrsave_internal): Same.
(altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
(absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
(altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2002-12-19 Casper S. Hornstrup <>
Danny Smith <>
Eric Kohl <>
* config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
attributes incompatible with fastcall attribute.
(ix86_handle_regparm_attribute): Likewise.
* config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
fastcall types.
* config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
(ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
* config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
* config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
i386_pe_output_labelref rather than here.
(gen_fastcall_suffix): New function. Decorates a label name with the
fastcall prefix (@) and the stdcall suffix.
(i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
has a fastcall attribute.
(i386_pe_output_labelref): New function. Outputs a label reference.
* config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
valid attribute.
(ix86_return_pops_args): Fastcall functions pop the stack.
(init_cumulative_args): Reserve registers ECX and EDX if function has
fastcall attribute.
(function_arg): Use registers ECX and EDX if function has fastcall
* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
(DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
(FASTCALL_PREFIX): Define as '@'.
* config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
* doc/extend.texi: Add documentation of fastcall attribute.
2002-12-19 Nathanael Nerode <>
* FORBUILD when build!=host changed from
../$build-alias to ../build-$build_alias to match change made
in top directory.
* configure: Regenerated.
2002-12-19 Eric Botcazou <>
PR optimization/8988
* loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
the biv when eliminating.
2002-12-19 Devang Patel <>
* gcc.c (struct default_compiler): Recognizes input file name with
.CPP extension as C++ source files
* cp/lang-spec.h: Same
* doc/invoke.texi: Add documentation for .CPP support.
2002-12-19 Aldy Hernandez <>
PR 8553
* config/rs6000/ ("absv8hi2"): Add & to clobbered
("absv16qi2"): Same.
("absv4si2"): Same.
("absv4sf2"): Same.
("altivec_abss_v16qi"): Same.
("altivec_abss_v8hi"): Same.
("altivec_abss_v4si"): Same.
2002-12-19 Ulrich Weigand <>
* config/s390/ ("*tsthiCCT", "*tsthiCCT_cconly",
"*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2002-12-19 Eric Botcazou <>
PR target/8340
* stmt.c (expand_asm_operands): Produce an error when
the PIC register is clobbered.
2002-12-18 Daniel Berlin <>
* (OBJS): Add alloc-pool.o
(alloc-pool.o): New object.
* alloc-pool.c: New file.
* alloc-pool.h: New file.
2002-12-18 Loren James Rittle <>
* gcc.c (validate_switches): Robustify against skipping past '\0'.
2002-12-18 Geoffrey Keating <>
* config.gcc: Set extra_objs in the generic Darwin rule,
not in the machine-specific rules.
2002-12-19 Kazu Hirata <>
* ChangeLog: Follow spelling conventions.
* ChangeLog.2: Likewise.
* ChangeLog.4: Likewise.
* ChangeLog.5: Likewise.
* cppexp.c: Likewise.
* df.c: Likewise.
* gcov.c: Likewise.
* gengtype.c: Likewise.
* reload1.c: Likewise.
* sched-rgn.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* timevar.c: Likewise.
* toplev.c: Likewise.
* tree.h: Likewise.
* varasm.c: Likewise.
* config/fr30/ Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/pa/pa.c: Likewise.
2002-12-18 Roger Sayle <>
* basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2002-12-18 Aldy Hernandez <>
PR 8551
* config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
(vec_cmplt C++ functions): Reverse arguments.
2002-12-18 Geoffrey Keating <>
* config/rs6000/t-rs6000: Move contents to t-fprules,
add rules for dependencies of rs6000.o and to build rs6000-c.o
* config/rs6000/t-fprules: New file from t-rs6000.
* config/rs6000/t-beos: Remove soft-fp rules.
* config/rs6000/t-ppccomm: Likewise.
* config/rs6000/t-newas: Likewise.
* config/rs6000/t-rs6000-c-rule: Delete.
* config.gcc: Use t-fprules for rs6000/ ports when appropriate.
Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
Create generic Darwin rules.
* gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2002-12-18 Doug Evans <>
* m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
(move_src_operand): Remove compile-time warning.
* m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2002-12-18 Jason Merrill <>
* unwind-dw2-fde.c (frame_downheap): Split out from...
(frame_heapsort): Here.
2002-12-17 Jason Merrill <>
* tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
(build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
* gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
* calls.c (expand_call): Don't try to be clever about expanding
the return slot address.
2002-12-18 Kaz kojima <>
2002-12-17 Jason Merrill <>
* genmultilib: Use 'cd ./foo'.
2002-12-17 Kazu Hirata <>
* doc/c-tree.texi: Restore deliberate spelling mistakes.
2002-12-17 Kazu Hirata <>
* doc/c-tree.texi: Fix typos and follow spelling conventions.
* doc/cpp.texi: Likewise.
* doc/extend.texi: Likewise.
* doc/gty.texi: Likewise.
* doc/install.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* doc/passes.texi: Likewise.
* doc/rtl.texi: Likewise.
* doc/sourcebuild.texi: Likewise.
* doc/tm.texi: Likewise.
2002-12-17 Jerry Quinn <>
* doc/invoke.texi: Minor spelling and grammar fixes.
2002-12-17 Ulrich Weigand <>
* config/s390/s390.c (s390_output_constant_pool): Replace
ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <>
* convert.c (convert_to_real): Disable function transformation for
2002-12-16 Geoffrey Keating <>
* gcc.c (handle_braces): Allow '@' as a switch name.
2002-12-16 Jason Merrill <>
* calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
with special struct-return ABIs.
* c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
doesn't match the begin SCOPE_STMT in partialness.
2002-12-16 Geoffrey Keating <>
* genmultilib: Create temporary files in unique subdirectory.
* gcc.c (validate_switches): Allow '@' as a switch name.
2002-12-16 Loren J. Rittle <>
* (gcov-iov.h): Improve portability.
Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <>
* mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
* (tablejump insn): Likewise.
2002-12-16 Mark Mitchell <>
* doc/include/gcc-common.texi: Change version number to 3.4.
2002-12-16 Bruce Korb <>
* fixinc/fixlib.h: add: #include <signal.h>
* fixinc/fixincl.c: remove: #include <signal.h>
Mon Dec 16 17:20:04 2002 J"orn Rennecke <>
* sh.h (EXTRA_CONSTRAINT_Z): New macro.
* (anddi3): Use 'Z' constraint for alternative 2.
2002-12-15 Zack Weinberg <>
* config.gcc (need_64bit_hwint): New variable.
(alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
Set it.
(powerpc*-*-darwin*): Unset it.
(alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
i?86-*-interix*, sparc64-*-openbsd*): Remove references to
deleted/nonexistent xm-*.h headers.
target set need_64bit_hwint in config.gcc.
* configure, Regenerate.
* hwint.h: Overhaul. Don't bother trying int for
HOST_WIDE_INT. Do try __int64 if long is not enough. Base
decision to force 64-bit HOST_WIDE_INT on
not visible at this point. Don't allow prior definition of
any macro defined by this file.
* config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
* config/c4x/c4x.h: Adjust redefinition of
HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
config/i386/xm-i386-interix.h: Delete file.
2002-12-14 Rodney Brown <>
John David Anglin <>
* pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
* pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2002-12-14 Zack Weinberg <>
* Correct comment. Add copyright boilerplate.
2002-12-14 Zack Weinberg <>
* config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
config/v850/t-v850: Correct dependencies and normalize
compilation commands for files that include coretypes.h and tm.h.
* config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
not config.h and system.h.
Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <>
* i386.c (flags_reg_operand): New function.
* i386.h (PREDICATE_CODES): Add flags_reg_operand.
* (cmov splitter, movqicc): Use new predicate.
Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <>
* (movqicc splitter): Fix template.
2002-12-13 Jason Merrill <>
* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
* calls.c (expand_call): Handle it.
* tree-inline.c (struct inline_data): Remove target_exprs field.
(optimize_inline_calls): Don't initialize it.
(expand_call_inline): Don't modify it. Handle
(declare_return_variable): Take return slot addr.
* langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
to return_slot_addr.
* langhooks-def.h, langhooks.c: Adjust.
* explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
a decl with no DECL_INITIAL.
* expr.c (expand_expr): Don't discard the target of a call which
returns in memory.
2002-12-13 Neil Booth <>
* cppinit.c (path_include): Take an environment variable name.
Tidy up.
(init_standard_includes): Simplify environment handling, and
move to ...
(cpp_read_main_file): as -nostdinc should not affect
environment variable paths.
2002-12-13 John David Anglin <>
* pa.c (output_millicode_call): Correct typo.
(output_call): Likewise.
Fri Dec 13 21:07:18 2002 Alexandre Oliva <>
* config/mn10300/mn10300.c (print_operand) <case N>: Check
operand's range. Print value directly, without aid from
<case U>: New.
<case S>: Make sure argument to fprintf has the right type.
* config/mn10300/mn10300.h (OK_FOR_T): New macro.
* config/mn10300/ Add new all-QImode pattern for
bclr. Use %U for immediate operands of bset and bclr.
(iorqi3): New expand, with insns for AM33 and mn10300.
Fri Dec 13 16:02:27 2002 J"orn Rennecke <>
* sh.c (sh_register_operand): New function.
(prepare_move_operands): Use it.
* sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
* (movsi_media, movsi_media_nofpu): Allow stores of 0.
(movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
(movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
(movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
(movv2si_i): Likewise.
2002-12-13 Jim Wilson <>
* doc/extend.texi (Complex Numbers): Update info on debug info.
2002-12-13 Kazu Hirata <>
* config/h8300/ (addhi3_h8300): Remove the last
2002-12-12 Zdenek Dvorak <>
* hooks.h (hook_tree_tree_bool_false): Declare
hook_bool_tree_tree_false instead.
2002-12-12 Devang Patel <>
* doc/invoke.texi: Document Darwin linker options, -bundle
-bind_at_load, -all_load and -arch_errors_fatal
2002-12-12 Jim Wilson <>
* dbxout.c (dbxout_fptype_value): New.
(dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
2002-12-12 Kazu Hirata <>
* c-decl.c: Fix a comment typo.
* cfg.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgrtl.c: Likewise.
* c-typeck.c: Likewise.
* dominance.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarfout.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* flow.c: Likewise.
* function.c: Likewise.
* gcc.c: Likewise.
* genautomata.c: Likewise.
* integrate.c: Likewise.
* loop.c: Likewise.
* loop.h: Likewise.
* output.h: Likewise.
* profile.c: Likewise.
* ra.h: Likewise.
* reload1.c: Likewise.
* reload.c: Likewise.
* sched-rgn.c: Likewise.
* stmt.c: Likewise.
* tree.h: Likewise.
* vmsdbgout.c: Likewise.
2002-12-12 Kazu Hirata <>
* config/h8300/ Add a new peephole2.
2002-12-12 Kazu Hirata <>
* config/h8300/ (a peephole2): Accept a constant
that's accepted by CONST_OK_FOR_J.
2002-12-12 Kazu Hirata <>
* config/h8300/h8300.h (CONST_OK_FOR_J): New.
* config/h8300/ (*addhi_h8300): Add a new alternative.
(*addhi_h8300hs): Likewise.
Thu Dec 12 16:24:59 2002 J"orn Rennecke <>
* sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
(sh_register_move_cost): Add clause for SImode fp-fp moves.
Increase cost for moves involving multiple general purpose registers.
* sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
(HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
(enum reg_class reg_class_from_letter): No longer const.
Handle SImode moves from/to fp registers.
* (movsi_ie): Add alternatives to move from / to fp regisyters.
2002-12-12 Andreas Schwab <>
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
change and some warnings.
2002-12-12 Kazu Hirata <>
* doc/md.texi (pushm): Fix a typo.
2002-12-12 Alexandre Oliva <>
* config/mips/mips.c (mips_output_conditional_branch): Support
PIC-safe out-of-range branch and branch-likely.
* config/mips/ (attr length): PIC-safe out-of-range
branches are longer.
("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
unused code to support indirect jumps.
2002-12-11 Zack Weinberg <>
* (GTFILES): Add $(host_xm_file_list) and
2002-12-11 David Edelsohn <>
* config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <>
* (cmove splitters): Avoid creation of unnecesary subregs.
2002-12-11 John David Anglin <>
* pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
2002-12-11 Kazu Hirata <>
* doc/invoke.texi: Correct dump file names.
2002-12-09 Steve Ellcey <>
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
name to globalize_label or assemble_name.
Wed Dec 11 20:15:19 2002 J"orn Rennecke <>
Wed Dec 11 19:05:05 2002 J"orn Rennecke <>
* sh.h (REG_CLASS_HAS_FP_REG): New.
(REGISTER_MOVE_COST) Use it. Put body into a function and
move it into:
* sh.c (sh_register_move_cost).
* sh-protos.h (sh_register_move_cost): Declare.
* sh.c (sh_expand_builtin): Abort for unexpected nop values.
(sh_adjust_cost): Always return a value.
Wed Dec 11 18:39:52 2002 J"orn Rennecke <>
2002-12-11 Richard Henderson <>
* tree.h (MODULE_LOCAL_P): Kill.
* varasm.c (default_binds_local_p_1): Use decl_visibility instead.
2002-12-11 Kazu Hirata <>
* config/h8300/ (two define_peephole2): New.
2002-12-11 Kazu Hirata <>
* config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
(CONST_OK_FOR_K): Likewise.
(CONST_OK_FOR_M): Likewise.
(CONST_OK_FOR_LETTER_P): Do not use the above macros.
2002-12-11 Neil Booth <>
* c-common.c (builtin_define_type_max): Handle unsigned
types too.
2002-12-10 David Edelsohn <>
* haifa-sched.c (rank_for_schedule): Correct style.
2002-12-10 Per Bothner <>
* cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
directive_index into an unsigned field and a new is_directive field.
* cppinit.c (mark_named_operators): Update to set new fields.
* cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
* cpplib.c [_cpp_handle_directive]: Test is_directive field.
No longer need to subtract 1 from directive_index.
(_cpp_init_directives): No longer need to add 1 to directive_index.
* cpptrad.c (scan_out_logical_line): Use is_directive field.
2002-12-10 Roger Sayle <>
* builtins.c (fold_builtin): Remove -funsafe-math-optimizations
check for evaluating sqrt of a constant at compile time.
* simplify-rtx.c (simplify_unary_operation): Likewise.
2002-12-10 Janis Johnson <>
PR other/8882
* doc/tm.texi (PUSH_ARGS): Remove misplaced line.
2002-12-10 Devang Patel <>
* config/darwin.h(LINK_SPEC): Add darwin specific linker options.
* doc/invoke.texi: Add new "Darwin Options" section.
2002-12-10 Jim Wilson <>
* rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
2002-12-10 Andrew Haley <>
* cse.c (cse_insn): Don't cse past a basic block boundary.
2002-12-10 Jakub Jelinek <>
* config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
* config/alpha/linux-elf.h (LIB_SPEC): Likewise.
* config/alpha/linux.h (LIB_SPEC): Likewise.
* config/arm/linux-elf.h (LIB_SPEC): Likewise.
* config/pa/pa-linux.h (LIB_SPEC): Likewise.
* config/sparc/linux.h (LIB_SPEC): Likewise.
* config/sparc/linux64.h (LIB_SPEC): Likewise.
2002-12-09 Larin Hennessy <>
* doc/invoke.texi: Document UltraSparc III option.
2002-12-09 Richard Henderson <>
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__tune_pentium2__ and __tune_pentium3__ as necessary.
2002-12-09 Richard Henderson <>
* target.h (gcc_target): Add cannot_force_const_mem.
* target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
* varasm.c (force_const_mem): Fail if cannot_force_const_mem.
* expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
* reload1.c (reload): Likewise.
* hooks.c (hook_bool_rtx_false): New.
* hooks.h: Declare it.
* config/i386/i386.c (ix86_cannot_force_const_mem): New.
(ix86_expand_move): Remove de-const-pooling hack.
Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <>
* toplev.c (dump_file): Fix order to match reality.
2002-12-08 Geoffrey Keating <>
* config/rs6000/ (load_multiple): Use adjust_address_nv.
(store_multiple): Likewise.
2002-12-09 John David Anglin <>
* pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
function pointers in page 0.
2002-12-09 Steve Ellcey <>
* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
aggregate arguments.
(ia64_function_value): Use PARALLEL to return aggregate values.
2002-12-09 Steve Ellcey <>
* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
* calls.c (store_unaligned_arguments_into_pseudos) Remove
* stmt.c (expand_return): Ditto.
* expr.c (move_block_from_reg): Ditto.
(copy_blkmode_from_reg): Ditto.
* expmed.c (store_bit_field): Ditto.
2002-12-09 Svein E. Seldal <>
* config.gcc: Added tic4x-* target as an alias to c4x-*
Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Use force_operand instead of
constructing insn directly.
2002-12-06 Per Bothner <>
* cpplib.h (struct cpp_hashnode): Change field directive_index from
char to an int bit-field, for hosts where char is unsigned.
2002-12-07 Roger Sayle <>
Richard Henderson <>
* real.c (ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
Provide appropriate values for new signbit field.
2002-12-07 Roger Sayle <>
* real.h (real_format): Add signbit field.
* real.c (ieee_single_format, ieee_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format, ibm_extended_format,
ieee_quad_format, vax_f_format, vax_d_format,
vax_g_format, i370_single_format, i370_double_format,
c4x_single_format, c4x_extended_format, real_internal_format):
Provide suitable signbit value, or -1 to avoid bit twiddling.
* optabs.c (expand_unop): Try implementing negation of
floating point modes by flipping the sign bit.
(expand_abs): Try implementing abs of floating point modes
by clearing the sign bit.
Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Use force_operand instead
of constructing insn directly.
2002-12-07 Kazu Hirata <>
* config/h8300/ (*iorhi_shift_8): New.
2002-12-06 Bernd Schmidt <>
* doc/invoke.texi: Document FRV port options.
* doc/md.texi: Document FRV register classes.
2002-12-07 Gerald Pfeifer <>
* doc/install.texi (Configuration): Improve description of cases
where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
2002-12-06 Per Bothner <>
* cpplib.h (NODE_MACRO_ARG): New flag.
(struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
Remove value.operator field. Move arg_index field to value union.
(directive_index): Make signed, since also used for C++ operators.
* cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
check for duplicate parameter. Set NODE_MACRO_ARG flag.
Save node->value, and set node->value.arg_index.
(_cpp_create_definition): For each paramater, restore node->value.
(lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
* cpptrad.c (scan_out_logical_line): Likewise.
(scan_out_logical_line): Check for directive > 0.
* cpplib.c (cpp_handle_directive): Likewise.
* cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
by negative of directive_index.
* cppinit.c (mark_named_operators): Likewise.
* hashtable.h (struct ht_identifier): Swap fields, for better packing.
2002-12-06 Dhananjay Deshpande <>
* gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
(push): Generate push_fpscr.
(pop): Generate pop_fpscr.
* gcc/config/sh/ : Add define_expand "push_fpscr", "pop_fpscr".
(fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
Fri Dec 6 19:36:24 2002 J"orn Rennecke <>
* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
Fri Dec 6 19:17:49 2002 J"orn Rennecke <>
* (movdi_i): Name. Remove inappropriate comment.
Fri Dec 6 15:44:46 2002 J"orn Rennecke <>
Merged from basic improvements branch (excerpt):
2002-11-19 Kaz Kojima <>
* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2002-12-06 Jakub Jelinek <>
* expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <>
* (dimode peep2s): Re-add "&& 1".
Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_prologue): Add comment, do not use
fast prologues for cold and normal functions.
Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <>
* i386.c (x86_rep_movl_optimal): New variable.
(ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
* i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
* (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
generate unnecesary subregs.
2002-12-05 John David Anglin <>
2002-12-05 Dale Johannesen <>
* tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
2002-12-05 Danny Smith <>
* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
* config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
2002-12-05 Aldy Hernandez <>
* config/rs6000/spe.h (__ev_mwlufi): Remove.
(__ev_mwlufia): Remove.
(__ev_mwlumfaaw): Remove.
(__ev_mwlusfaaw): Remove.
(__ev_mwlumfanw): Remove.
(__ev_mwlusfanw): Remove.
2002-12-05 Kazu Hirata <>
* config/h8300/ (*andorsi3_shift_8): New.
2002-12-05 Kazu Hirata <>
* config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
(get_shift_alg): Return optimal assembly instructions for the
shifts mentioned above.
Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Force operand into register for QImode
condtiional moves.
2002-12-04 Kazu Hirata <>
* config/h8300/h8300.c (h8300_init_once): Do not use loop to
implement ashiftrt:HI by 13 bits on H8S.
2002-12-04 John David Anglin <>
* pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
* (canonicalize_funcptr_for_compare): Output library call to
canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
CTOR_LIST_BEGIN): New defines.
* pa/t-linux (LIB2FUNCS_EXTRA): New define.
(fptr.c): Add make rules.
2002-12-04 Geoffrey Keating <>
* combine.c (combine_simplify_rtx): Add new canonicalizations.
* doc/md.texi (Insn Canonicalizations): Document new
canonicalizations for multiply/add combinations.
* config/rs6000/ Add and modify floating add/multiply
patterns to ensure they're used whenever they can be.
2002-12-04 Kazu Hirata <>
* config/h8300/h8300.c: Update the comments related to shifts.
2002-12-04 Chris Demetriou <>
* config/mips/ (get_fnaddr): Correct length attribute.
2002-12-04 Kazu Hirata <>
* config/h8300/ (*extzv_8_8): New.
(*extzv_8_16): Likewise.
2002-12-04 Jason Merrill <>
PR c++/8461, c++/8625
* integrate.c (copy_decl_for_inlining): Handle explicit invisible
* tree-inline.c (initialize_inlined_parameters): Likewise.
* tree.c (variably_modified_type_p): Just return an error_mark_node.
2002-12-04 Chris Demetriou <>
* config/mips/ (get_fnaddr): Avoid placing an "la"
macro instruction in a branch delay slot, to avoid assembler
2002-12-04 Eric Botcazou <>
PR c/7622
* c-semantics (genrtl_scope_stmt): Do not output inlined
nested functions that contain no code.
Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <>
* cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
to be forced into nonfallthru.
2002-12-03 Jason Thorpe <>
* config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
2002-12-03 Aldy Hernandez <>
* config/rs6000/ (*movv1di_const0): New pattern.
2002-12-03 Richard Henderson <>
* libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
2002-12-03 Hans-Peter Nilsson <>
* bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
Initialize tmp.using_obstack to 0.
2002-12-03 Andreas Schwab <>
* config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
* config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
registers and don't save fixed registers.
(m68k_output_function_prologue): Use it.
(use_return_insn): Likewise.
(m68k_output_function_epilogue): Likewise.
2002-12-03 Kazu Hirata <>
* config/h8300/h8300.c (single_one_operand): Fix a warning.
(single_zero_operand): Likewise.
2002-12-02 Nathanael Nerode <>
* configure dummy-conditions.c fix-header.c
gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
genpreds.c genrecog.c gensupport.c read-rtl.c
scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
doc/install-old.texi: Replace hconfig.h with bconfig.h.
* Replace HCONFIG_H with BCONFIG_H.
2002-12-02 Andrew Pinski <>
* config/rs6000/ (ffssi): Convert to expander.
(ffsdi): Likewise.
(cntlzw2, cntlzd2): New patterns.
2002-12-02 H.J. Lu <>
* config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
(mips*-*-linux*): Remove mips/t-linux.
Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Avoid overflow.
2002-12-02 Kazu Hirata <>
* config/h8300/h8300.c (dosize): Replace argument op with
(h8300_output_function_prologue): Update the call to dosize.
(h8300_output_function_epilogue): Likewise.
2002-12-02 Bob Wilson <>
* config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
2002-12-02 Craig Rodrigues <>
* Use "missing" script to generate warning if
flex or bison programs not found, instead of invoking "false".
* configure: Rebuilt.
Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <>
* unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Avoid overflow.
2002-12-02 Kazu Hirata <>
* config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
(push): Likewise.
(pop): Likewise.
(h8300_output_function_prologue): Likewise.
(h8300_output_function_epilogue): Likewise.
Mon Dec 2 14:43:22 2002 J"orn Rennecke <>
* expmed.c (store_bit_field): Use int_mode_for_mode to find
corresponding mode of non-integer mode, unless it is VOIDmode.
2002-12-02 Kazu Hirata <>
* config/h8300/ (stm_h8300s_2): New.
(stm_h8300s_3): Likewise.
(stm_h8300s_4): Likewise.
(five define_peephole2): Likewise.
2002-12-02 Kazu Hirata <>
* ra-build.c: Fix a comment typo.
Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): fix
reversed BRANCH_COST test; be curefull about infinite recursion.
2002-12-01 Kazu Hirata <>
* config/h8300/h8300.c (h8300_output_function_prologue):
Remove variable idx.
(h8300_output_function_epilogue): Likewise.
2002-12-01 Zack Weinberg <>
* config/frv/xm-frv.h: Delete, unnecessary.
2002-12-01 Kazu Hirata <>
* config/h8300/ Add comments for define_peephole2.
2002-12-01 Mark Mitchell <>
* builtin-types.def (BT_SIZE): Use size_type_node.
* builtins.c (fold_builtin): Make the builtin strlen returns a
size_t, not a sizetype.
* c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
(c_alignof_expr): Likewise.
(c_common_nodes_and_builtins): Likewise.
* c-common.h (CTI_C_SIZE_TYPE): Remove.
(c_size_type_node): Likewise.
* c-format.c (T_ST): Use size_type_node, not c_size_type_node.
* tree.h (TI_SIZE_TYPE): New enumeral.
(size_type_node): Likewise.
2002-11-30 Zack Weinberg <>
* Don't put ${tm_file} into host_xm_file,
build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
Take location of tm-preds.h into account when calculating
* configure: Regenerate.
* No need for separate TM_DEFINES and XM_DEFINES
arguments. Do not provide rtx, rtvec, tree, or GTY here.
Remove special case code for tm_p.h and *config.h; add new
special case code for tm.h and tconfig.h. Clean up a bit.
* (tm_file, tm_file_list): New variables set from
(GCONFIG_H): Deleted.
(GTM_H, TM_H): New.
(CONFIG_H): Is now just config.h $(host_xm_file_list).
(TM_P_H): Move up with the other
headers; don't mention tm-preds.h explicitly.
(tm.h, cs-tm.h): New rule.
(cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
invocations of for changes to that program.
(mostlyclean): Delete print-rtl1.c.
(clean): Delete tm.h.
Update dependencies for the files listed below.
* Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
* coretypes.h: New file.
* system.h: #define malloc to xmalloc and realloc to xrealloc
when FLEX_SCANNER or YYBISON is defined, independent of the
value of GCC_VERSION.
* alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
c-opts.c,, c-pragma.c, c-pretty-print.c,
c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
gencheck.c, gencodes.c, genconditions.c, genconfig.c,
genconstants.c, genemit.c, genextract.c, genflags.c,
gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
print-tree.c, profile.c, protoize.c, ra-build.c,
ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
regrename.c, reload.c, reload1.c, reorg.c, resource.c,
rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
xcoffout.c, config/darwin-c.c, config/darwin.c,
config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
config/i960/i960-c.c, config/i960/i960.c,
config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
config/m32r/m32r.c, config/m68hc11/m68hc11.c,
config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
config/mips/irix6-libc-compat.c, config/mips/mips.c,
config/mmix/mmix.c, config/mn10200/mn10200.c,
config/mn10300/mn10300.c, config/ns32k/ns32k.c,
config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
config/sparc/sparc.c, config/stormy16/stormy16.c,
config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
Include coretypes.h and tm.h.
* genattrtab.c, genconditions.c, genemit.c, genextract.c,
gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
genrecog.c: Include coretypes.h and tm.h from the file
generated by this program.
* unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
coretypes.h and tm.h, and tsystem.h when not already included.
No need to include stddef.h nor stdlib.h.
* fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
include auto-host.h or ansidecl.h/
* fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
* fixinc/procopen.c: Include server.h after fixlib.h. Do not
include auto-host.h, ansidecl.h, or system.h.
* fixinc/server.c: Likewise. Also, do not include signal.h,
and do not redefine volatile.
Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <>
* (movdf_integer): Always enable in 64bit.
(movdf_nointeger): Always disable in 64bit.
2002-11-30 John David Anglin <>
* cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
pseudo register number plus 1.
Fri Nov 29 20:10:56 2002 J"orn Rennecke <>
* expmed.c (store_bit_field): Use int_mode_for_mode to find
corresponding mode of non-integer mode, unless it is VOIDmode.
2002-11-29 Hans-Peter Nilsson <>
* cpplib.c (_cpp_test_assertion): Default *value to 0.
* cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
2002-11-29 Ulrich Weigand <>
* config/s390/t-crtstuff: New target makefile fragment.
* config.gcc [s390-*-linux, s390x-*-linux]: Use it.
2002-11-29 Kazu Hirata <>
* config/h8300/ (movsi_h8300hs): Change the order of
alternatives to correct the length when the memory operand is
either pre_dec or post_inc.
2002-11-29 Kazu Hirata <>
* config/h8300/ (an anonymous pattern): Give an
internal name *tst_extzv_bitqi_1_n.
Accept bit_operand instead of bit_memory_operand.
Do not accept bit tests with the MSB.
(*tst_extzv_memqi_1_n): New.
Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
sharing when operand is SUBREG.
Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <>
* (athlon-decodev): New reservation unit.
(athlon-direct0): New reservation.
(athlon-vector): New use athlon-decodev.
(athlon-double, athlon-direct): Better model.
(athlon_imul_k8): Use athlon-direct0.
(athlon_movlpd_load): New insn reservation.
2002-11-28 Kazu Hirata <>
* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
Fix a comment typo.
(h8300_tiny_constant_address_p): Likewise.
2002-11-28 Michael Matz <>
* doc/passes.texi: Mention the other register allocator.
2002-11-28 Kazu Hirata <>
* config/h8300/ (6 new peephole2 patterns): New.
2002-11-28 Jakub Jelinek <>
* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
* config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
2002-11-28 Kazu Hirata <>
* config/h8300/h8300.c (h8300_and_costs): New.
* config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
* config/h8300/h8300-protos.h: Add a prototype for
Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <>
* i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
* i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
* (truncdfsf patterns and splitters): Use
2002-11-27 Zack Weinberg <>
* config/rs6000/rs6000.c (altivec_init_builtins): Make the
pointer argument in the prototypes of the following builtins
be (const TYPE *) rather than (TYPE *):
+ __builtin_altivec_ld_internal_4sf
+ __builtin_altivec_ld_internal_4si
+ __builtin_altivec_ld_internal_8hi
+ __builtin_altivec_ld_internal_16qi
+ __builtin_altivec_lvsl
+ __builtin_altivec_lvsr
+ __builtin_altivec_lvebx
+ __builtin_altivec_lvehx
+ __builtin_altivec_lvewx
+ __builtin_altivec_lvxl
+ __builtin_altivec_lvx
+ __builtin_altivec_dst
+ __builtin_altivec_dstt
+ __builtin_altivec_dstst
+ __builtin_altivec_dststt
2002-11-27 Kaveh R. Ghazi <>
* except.c (default_exception_section): Move variable into the
scope where it is used.
2002-11-27 Krister Walfridsson <>
* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
correct version.
2002-11-27 Kazu Hirata <>
* config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
2002-11-27 Kazu Hirata <>
* config/h8300/h8300.c (h8300_shift_costs): New.
* config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
* config/h8300/h8300-protos.h: Add a prototype for
2002-11-27 Jim Wilson <>
* config/rs6000/ (spu_evsplatfi, spu_evsplati): Swap operands
in output template.
2002-11-27 Casper S. Hornstrup <>
* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
* config/i386/winnt.c (i386_pe_dllexport_name_p): Use
(i386_pe_dllimport_name_p): Likewise.
(i386_pe_mark_dllexport): Likewise.
(i386_pe_mark_dllimport): Likewise.
(i386_pe_encode_section_info): Likewise.
(i386_pe_strip_name_encoding): Likewise.
2002-11-27 Richard Henderson <>
* mkmap-symver.awk (BEGIN): Set sawsymbol false.
(nm && NF == 3): Set sawsymbol true.
(END): Exit if no symbols seen.
(output): Fix map syntax error if no globals for the version.
Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <>
* builtins.def (DEF_C99_BUILTIN): Fix.
2002-11-26 Kaz Kojima <>
* config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
(all): Add .size and .type information.
Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <>
* i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
partial_reg_stall target.
Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <>
* (movhicc): Allow general operand.
(movqicc): New expander.
(movqicc_noc): New pattern.
* i386.c (ix86_expand_carry_flag_compare): New function.
(ix86_expand_int_movcc): Optimize harder using sbb; support more
HImode conversion; support QImode conditional moves
Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <>
* i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
(ix86_expand_prologue): Multiply the count by amount of registers to be
Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <>
* i386.c (override_options): Error about wrong -mcpu on x86-64
2002-11-26 NIIBE Yutaka <>
* config/sh/linux.h (FUNCTION_PROFILER): Implemented.
Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <>
* i386-protos.h (x86_extended_QIreg_mentioned_p,
x86_extended_reg_mentioned_p): Declare.
* i386.c (extended_reg_mentioned_1): New static function.
x86_extended_reg_mentioned_p): New global functions.
* i386.h (REX_SSE_REGNO_P): New macro.
* (prefix_rex): New attribute.
(length attribute): Add rex.
2002-11-26 Andrew Haley <>
* unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
* unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
* config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
* libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
_Unwind_Find_Enclosing_Function, export @@GCC_3.3.
* unwind.h (_Unwind_FindEnclosingFunction): Add.
2002-11-26 Hartmut Penner <>
* config/s390/s390.c (390_output_constant_pool): Set alignment
before label in 64 bit mode, behind otherwise.
2002-11-26 Richard Henderson <>
* c-common.c (handle_visibility_attribute): Accept "default".
* tree.h (enum symbol_visibility): New.
(decl_visibility): Declare.
* target.h (gcc_target.visibility): Take visibility arg as integer.
* varasm.c (default_assemble_visibility): Likewise.
(decl_visibility): New.
(maybe_assemble_visibility): Use it.
* output.h (default_assemble_visibility): Update prototype.
* config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
visibility arg as integer.
* doc/extend.texi: Document default visibility.
2002-11-26 Kazu Hirata <>
* config/h8300/h8300.c: Adjust spacing.
* config/h8300/h8300.h: Likewise.
2002-11-26 Richard Henderson <>
* hooks.c (hook_bool_void_false, hook_void_tree_int,
hook_void_FILEptr_constcharptr): Rename so that the return
type is first.
(hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
hook_bool_tree_false): New.
* hooks.h: Update.
* langhooks-def.h: Update for renames.
* target-def.h: Likewise.
* tree.c (default_comp_type_attributes,
default_set_default_type_attributes, default_insert_attributes,
default_ms_bitfield_layout_p): Remove.
* tree.h: Update.
2002-11-26 John David Anglin <>
* pa-protos.h (function_value): New prototype.
* pa.c (function_value): Use a PARALLEL to return small aggregates on
* pa.h (FUNCTION_VALUE): Use function_value.
* (call_value_internal_symref, call_value_internal_reg_64bit,
call_value_internal_reg, sibcall_value_internal_symref,
sibcall_value_internal_symref_64bit): Remove =rf constraint on return
2002-11-26 John David Anglin <>
* expr.c (gen_group_rtx, emit_group_move): New functions.
* expr.h (gen_group_rtx, emit_group_move): Prototype.
* function.c (expand_function_start): Use gen_group_rtx to create a
PARALLEL rtx to hold the return value when the real return rtx is a
(expand_function_end): Use emit_group_move to move the return value
from a PARALLEL to the real return registers.
* rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
2002-11-26 Jason Thorpe <>
* config/t-libc-ok: Fix typo.
2002-11-26 Jakub Jelinek <>
before AC_PROG_CC.
* configure: Rebuilt.
2002-11-26 Nathan Sidwell <>
* c-decl.c: (start_struct): Commonize flag setting.
2002-11-26 Jason Thorpe <>
* config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
* config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
2002-11-26 Hartmut Penner <>
* config/s390/ (literal_pool_64, literal_pool_31 ): New
* config/s390/s390.c (struct machine_function): Introduction of
struct machine_function.
(s390_output_symbolic_const): Use of cfun.
(s390_optimize_prolog): Likewise.
(s390_fixup_clobbered_return_reg): Likewise.
(s390_frame_info): Likewise.
(s390_emit_prologue, s390_emit_epilogue): Likewise.
(s390_init_machine_status): New function.
(override_options): call s390_init_machine_status.
* config/s390/s390-protos.h (s390_output_constant_pool): Changed
2002-11-26 Jakub Jelinek <>
* varasm.c (output_constant_pool): For pool constants in mergeable
section ensure each constant is padded to multiple of entity size.
2002-11-26 Jakub Jelinek <>
* varasm.c (default_exception_section): Move to...
* except.c (default_exception_section): ... here. Make
.gcc_except_table read-only if it is not expected to have any
dynamic relocations and linker handles it.
* dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
if it is not expected to have any dynamic relocations and linker
handles it.
* (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
when linking read-only and read-write sections together.
* configure, Rebuilt.
* crtstuff.c (EH_FRAME_SECTION_CONST): Define.
(__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <>
* (pushsf_rex64): Fix typo.
2002-11-25 Aldy Hernandez <>
* config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
new function.
(__ev_create_ufix32_fs): Same.
(__ev_get_sfix32_fs_internal): New.
(__ev_get_sfix32_fs): Define to use function.
(__ev_get_ufix32_fs_internal): New.
(__ev_get_ufix32_fs): Define to use function.
(__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
(__ev_get_lower_ufix32_fs): Same.
(__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
(__ev_get_lower_sfix32_fs): Same.
(__ev_set_sfix32_fs_internal): New.
(__ev_set_ufix32_fs_internal): New.
(__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
(__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
(__ev_set_upper_sfix32_fs): Call function.
(__ev_set_lower_sfix32_fs): Same.
(__ev_set_upper_ufix32_fs): Same.
(__ev_set_lower_ufix32_fs): Same.
2002-11-25 Douglas B Rupp <>
* gcc.c (do_spec_1): Reset delete_this_arg to zero.
2002-11-25 Jason Thorpe <>
* config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
* config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
* config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
2002-11-25 Dave Pitts <>
* gcc/fixinc/ add i370-*-openedition to bypass fixinc list
2002-11-25 Kazu Hirata <>
* config/h8300/ (an anonymous pattern): New.
2002-11-25 Richard Henderson <>
* alias.c (find_base_value): Use new_reg_base_value if it's live.
(copying_arguments): Make boolean.
2002-11-25 Jason Thorpe <>
* gcc.c (static_spec_functions): Add if-exists-else spec
(if_exists_else_spec_function): New function.
* doc/invoke.texi: Document the if-exists-else spec function.
* config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
"%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
2002-11-25 Jason Thorpe <>
* config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
"netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
"${tmake_file} rs6000/t-netbsd".
* config/rs6000/netbsd.h: Rewrite.
* config/rs6000/t-netbsd: New file.
2002-11-25 Kazu Hirata <>
* config/h8300/ (an anonymous pattern): Relax the
condition for the pattern.
2002-11-25 Aldy Hernandez <>
* config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
evmwlssfanw, evmwlsmfanw.
* config/rs6000/rs6000.c (bdesc_2arg): Same.
* config/rs6000/ Same for patterns.
2002-11-25 Christian Ehrhardt <>
PR c/8639
* fold-const.c (extract_muldiv): Don't propagate division unless
both arguments are multiples of C.
2002-11-25 Andrew Haley <>
* libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
* config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
* unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
* unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <>
* i386.c (x86_use_ffreep): New global variable.
* i386.h (x86_use_frfeep): Declare
* (movs?f*): Use freep when asked for.
(push?f): Remove dead code.
2002-11-24 Kazu Hirata <>
* config/h8300/h8300.c (h8300_init_once): Fix a typo in the
target help message.
2002-11-24 Jason Thorpe <>
* config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
(arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
(ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
to "" for a.out configurations.
* config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
2002-11-24 Jason Thorpe <>
* config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
(SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
(ENDFILE_SPEC): Use %(netbsd_endfile_spec).
2002-11-24 Jason Thorpe <>
* config/netbsd-elf.h (STARTFILE_SPEC): Rename to
(ENDFILE_SPEC): Likewise.
* config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
2002-11-24 Andreas Schwab <>
* (install-driver): Remove versioned link before
trying to create it.
* config/m68k/m68k.c: Fix typo in last change defining
2002-11-23 H.J. Lu <>
* aclocal.m4: Include ../config/accross.m4.
(gcc_AC_C_COMPILE_ENDIAN): Removed.
(gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
instead of $ac_cv_c_compile_endian.
* Replace gcc_AC_COMPILE_CHECK_SIZEOF with
* configure: Rebuild.
2002-11-23 Kazu Hirata <>
* config/h8300/h8300.c (print_operand): Update the use of
(h8300_adjust_insn_length): Likewise.
(h8300_tiny_constant_address_p): Check if the given rtx is a
variable declared with __attribute__ ((tiny_data)).
2002-11-22 Dale Johannesen <>
* toplev.c (rest_of_compilation): Fix comments.
2002-11-22 Geoffrey Keating <>
* aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
allow mmap from /dev/zero. Don't make decisions for the host
based on presence or absence of /dev/zero on the build machine.
(ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
(AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
* configure: Regenerate.
2002-11-22 Daniel Jacobowitz <>
* gcc.c (make_relative_prefix, split_directories)
(free_split_directories): Removed.
2002-11-22 Daniel Jacobowitz <>
* Set insn=nop for DWARF-2 tests on ARM.
* configure: Regenerated.
2002-11-22 Kazu Hirata <>
* config/h8300/h8300.c (compute_a_shift_length): Fix the insn
length computation when xor.l is output.
2002-11-21 Douglas B Rupp <>
* (movstrdi, clrstrdi): New VMS patterns.
(call_vms_1, call_value_vms_1): Cleanup syntax.
Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <>
* (define_atuomaton): Add athlon_load.
(athlon-double): New reservation.
(athlon-ieu0): New CPU unit.
(athlon-load?): Use athlon_load automaton.
(*_k8 reservations): New.
(other insn revervations): Activate for K8.
Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <>
* cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
2002-11-21 Jim Wilson <>
* config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
vectors to SI.
2002-11-21 Bob Wilson <>
* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
* config/xtensa/xtensa.c (struct machine_function): Add
incoming_a7_copied flag.
(xtensa_copy_incoming_a7): Define.
(xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
* config/xtensa/ (movdi, movsf, movdf): Ditto.
Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <>
* i386-protos.h (x86_64_sign_extended_value): Fix prototype.
* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
x86_64_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
(local_symbolic_operand): Do not care the 64bit limits.
(x86_64_sign_extended_value): Remove allow_rip support.
(legitimate_pic_address_disp_p): Handle all cases allowed
with RIP addressing.
(legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
(legitimize_pic_address): Reorganize.
* i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
2002-11-21 Jason Thorpe <>
* config.gcc (arm*-*-netbsdelf*): Enable configuration.
* config/arm/netbsd-elf.h: New file.
2002-11-21 Jason Thorpe <>
* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
(SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
defaults from...
(ASM_SPEC): Use subtarget_asm_float_spec.
2002-11-21 Nick Clifton <>
* config/fr30/ (movsf_constant_store): Move code to
detect 0.0 into fr30.c.
* config/fr30/fr30-protos.h (fr30_const_double_is_zero):
* config/fr30/fr30.c (fr30_const_double_is_zero): New
function. Return true if the rtx is 0.0.
2002-11-21 Jason Thorpe <>
* config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
if -mlittle-endian is specified.
2002-11-21 Richard Earnshaw <>
PR optimization/2903
* (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
(anddi_notsesidi_di): Likewise.
2002-11-21 Kazu Hirata <>
* config/h8300/h8300.c (print_operand): Use
h8300_eightbit_constant_address_p and
(h8300_adjust_insn_length): Likewise.
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
(OK_FOR_U): Use eightbit_constant_address_p.
2002-11-21 Ulrich Weigand <>
* config/s390/libgcc-libc.ver: Add multilib support.
* config/s390/linux.h (MULTILIB_DEFAULT): Define.
2002-11-21 Richard Earnshaw <>
* arm.c (arm_get_frame_size): A leaf function does not need its
stack padding to an aligned boundary if it has no frame.
(thumb_get_frame_size): Likewise.
Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <>
* x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
(override_options): Likewise.
Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <>
* config.gcc: Add k8 target alias support
* i386.c (_cost): Declare costs for various variants of divides and
(k8_cost): New.
(m_K8, m_ATHLON_K8): New macros.
(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
x86_integer_DFmode_moves, x86_partial_reg_dependency,
x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
x86_prologue_using_move, x86_epilogue_using_move,
x86_arch_always_fancy_math_387, x86_sse_partial_regs,
x86_sse_typeless_stores): Set for K8
(override_options): Add k8 support; fix athlon alignment;
complain about non-x86-64 capable CPU being used in x86-64 compilation.
(ix86_issue_rate): Set for K8.
(ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
x86_machine_dependent_reorg): Handle K8 like
* i386.h
(x86_costs): Change mult_init and divide into array.
(MODE_INDEX): New macro.
(RTX_COST): Use new costs.
(TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
(TARGET_CPU_DEFAULT_k8): New constant
(enum processor_type): Add PROCESSOR_K8.
* (cpu attribute): Add k8.
* invoke.texi: Document -march=k8.
* (type attribute): Add leave
(mode attribute): Remove unknownfp.
(length_immediate, modrm, memory attributes): Handle leave correctly.
(fp comparison patterns): Determine FP mode.
(leave, leave_rex64): Remove special cases.
* (ppro_uops, ppro_p2): Add leave
* (pent_pop): Handle leave too.
* (k6_load): Handle leave.
* (athlon_leave, athlon_pop): Fix.
(athlon_decode): Handle leave.
2002-11-20 Steve Ellcey <>
* emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
to component type using GET_MODE_INNER.
* expr.c (emit_move_insn_1): Ditto.
* optabs.c (expand_binop): Ditto.
(expand_unop): Ditto.
(expand_complex_abs): Ditto.
2002-11-20 Douglas B Rupp <>
* hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2002-11-20 DJ Delorie <>
* config/stormy16/stormy16.c (s16builtins,
xstormy16_init_builtins, xstormy16_expand_builtin): New.
* config/stormy16/ (divmodhi4, sdivlh, udivlh): New.
2002-11-20 Hans-Peter Nilsson <>
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* Move host compiler tests before --enable-checking
(--enable-checking=valgrind): New.
*, configure: Regenerate.
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
Define as empty.
(ggc_realloc): Update valgrind annotations.
Define as empty.
(alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
valgrind-annotate memory.
2002-11-20 Ulrich Weigand <>
* recog.c (constrain_operands): Prefer exact match over reloadable
* reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
operands in Pmode.
2002-11-20 Eric Botcazou <>
PR c/8518
* c-decl.c (duplicate_decls): Outline the second definition
of an extern inline function in all cases.
2002-11-20 Richard Sandiford <>
* stor-layout.c (place_field): Update rli->offset as well as
2002-11-20 Richard Sandiford <>
* sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2002-11-20 Richard Sandiford <>
* config/sh/ (udivsi3): Don't put udivsi3_i4_media instructions
into a libcall block.
(divsi3): Likewise divsi3_i4_media.
2002-11-20 Richard Sandiford <>
* global.c (find_reg): Check HARD_REGNO_NREGS before kicking
out another register.
2002-11-20 Jakub Jelinek <>
* combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
(not just mask) are set in C.
2002-11-19 Steven Bosscher <>
* config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2002-11-19 Zdenek Dvorak <>
* profile.c (index_counts_file): Fix obvious mistake.
2002-11-19 Zdenek Dvorak <>
* (profile.o): Add hashtab.h dependency.
* gcov-io.h (GCOV_SUMMARY_LENGTH): New.
* profile.c: Include hashtab.h.
(htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
cleanup_counts_index, index_counts_file, struct section_reference,
struct da_index_entry, counts_file_name, counts_file_index): New.
(get_exec_counts, init_branch_prob): Modified.
2002-11-19 Kaz Kojima <>
* config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
to tmake_file. Remove setting gas and gnu_ld here.
* config/sh/libgcc-glibc.ver: New file.
* config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
(LINK_EH_SPEC): Redefine.
(MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
* config/sh/sh-protos.h (sh_set_return_address): Declare.
* config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
registers if the current function calls EH return.
(sh_expand_epilogue): Handle EH stack adjustments.
(sh_set_return_address): New function.
* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
Don't abort even if the number is mapped to -1.
* config/sh/ (UNSPEC_EH_RETURN): New.
(eh_return): New pattern.
(eh_set_ra_di, eh_set_ra_si): Likewise.
Add splitter to perform EH return after reload.
Tue Nov 19 12:52:07 2002 J"orn Rennecke <>
* stor-layout.c (excess_unit_span): New function.
(place_field): Use it.
2002-11-19 Andreas Schwab <>
* unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
not valid in C++.
2002-11-19 Nathanael Nerode <>
*, Correct BUILD/HOST confusion.
* configure: Regenerate.
Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <>
* convert.c (strip_float_extensions): New function.
(convert_to_real): Optimize some cases.
2002-11-19 Andreas Jaeger <>
* loop.c (record_giv): Initialize not_replaceable.
(check_final_value): Likewise.
2002-11-19 Kazu Hirata <>
* config/h8300/h8300.c (h8300_init_once): Replace 1 with
2002-11-19 Vijay L. Khuspe <>
* config/h8300/h8300.c (h8300_init_once): Allow -mn switch
only if -mh or -ms present.
(h8300_eightbit_constant_address_p): Support the normal mode.
(h8300_tiny_constant_address_p): Likewise.
* config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
(POINTER_SIZE): Add 16 bit pointer for the normal mode.
(Pmode): Evaluate to HImode for the normal mode.
(SIZE_TYPE): Evaluate to unsigned int for normal mode.
(PTRDIFF_TYPE): Evaluate to int for the normal mode.
(ASM_WORD_OP): Evaluate to word for the normal mode.
* config/h8300/ (tablejump_normal_mode): New.
(indirect_jump_normal_mode): New.
* config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
(MULTILIB_DIRNAMES): Create target dependent directory
(MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
* doc/invoke.texi (gccoptlist): Describe the new switch -mn.
Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <>
* (length_immediate): Do not refer to insn address.
(jcc*, jmp patterns): Compute length explicitly.
2002-11-19 Eric Botcazou <>
PR c/8588
* optabs.c (expand_binop): Convert CONST_INTs in shift
operations too.
2002-11-19 Roger Sayle <>
* gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2002-11-19 Kazu Hirata <>
* config/h8300/ (an anonymous pattern): Relax the
condition to accept the same operands and/or subregs.
2002-11-19 Daniel Jacobowitz <>
* config/sh/sh.c (gen_shl_and): Revert previous patch.
* config/sh/ (ashrdi3+1, ashrdi3+2): Predicate on
2002-11-19 Kazu Hirata <>
* config/h8300/h8300.c (print_operand): Update the use of
(h8300_adjust_insn_length): Likewise.
(h8300_eightbit_constant_address_p): Check if the given rtx is
a variable with __attribute__((eightbit_data)).
* config/h8300/h8300.h (OK_FOR_U): Update the use of
2002-11-19 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Add self as second contact in
addition to Jeff Law.
2002-11-19 Andreas Jaeger <>
* tree-inline.c: Move prototpyes of find_alloca_call_1 and
find_alloca_call to right place.
2002-11-19 Kazu Hirata <>
* cppfiles.c: Fix formatting.
2002-11-19 Jason Thorpe <>
* gcc.c (The Specs Language): Document spec functions.
(static_spec_functions, lookup_spec_function)
(eval_spec_function, handle_spec_function)
(if_exists_spec_function, alloc_args): New.
(execute): Abort if processing_spec_function is true.
(do_spec_1): Hand off spec to handle_spec_function if %:
is encountered. If processing_spec_function is true,
end any pending argument when the end of the string is reached.
(main): Use alloc_args to allocate the initial argument vector.
* gcc.h (struct spec_function): New.
(lang_specific_spec_functions): New extern.
* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
(ENDFILE_SPEC): Add if-exists(crtn%O%s).
* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
* doc/invoke.texi: Document spec functions.
* cppspec.c (lang_specific_spec_functions): New.
* gccspec.c: Likewise.
2002-11-18 Steve Ellcey <>
* config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
(fixunstfsi_libfunc): Change.
(fixunstfdi_libfunc): Change.
(sdiv_optab): Don't zero out SImode handler.
(udiv_optab): Don't zero out SImode handler.
(smod_optab): Don't zero out SImode handler.
(umod_optab): Don't zero out SImode handler.
2002-11-18 Neil Booth <>
PR preprocessor/8524
* cpplib.c (run_directive): Remove previous kludge to _Pragma.
Add a new one in its place, which hopefully works.
(skip_rest_of_line): Change test for bottom-of-context-stack.
Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <>
* (addqi_1_slp): Fix output template.
(subqi_1_slp): Fix type.
Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <>
* calls.c (alloca_call_p): New global function.
* tree.h (alloca_call_p): New.
* tree-inline.c (inlinable_function_p): Do not inline when
function calls alloca.
(find_alloca_call, find_alloca_call_1): New functions.
2002-11-18 Kazu Hirata <>
* config/h8300/ (*andorqi3): Use bor between bld and
bst. Update the insn length.
(*andorhi3): Likewise.
(*andorsi3): Likewise.
2002-11-18 Richard Sandiford <>
* config/sh/sh-protos.h (sh_mark_label): Declare.
* config/sh/sh.c (sh_mark_label): New function, taken from
movdi_const, but fixing the case when the address has an addend.
* config/sh/ (movdi_const, movdi_const_32bit): Use it.
2002-11-18 Richard Sandiford <>
* config/sh/sh.c (pool_node): New field: part_of_sequence_p.
(add_constant): Set it.
(dump_table): Don't reorder a constant if part_of_sequence_p.
(machine_dependent_reorg): Assume that float constants will
stay in their original order if used as a sequence.
2002-11-18 Richard Sandiford <>
* config/sh/sh.c (calc_live_regs): Update check for PIC liveness
in compact code.
2002-11-18 Richard Sandiford <>
* config/sh/ (initialize_trampoline): Do not force the
trampoline address into R0_REGS here.
Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <>
* (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
(neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
generate unnecesary subregs.
2002-11-17 Kazu Hirata <>
* df.c: Fix formatting.
2002-11-17 Kazu Hirata <>
* config/h8300/ (two anonymous patterns): Fix insn
2002-11-17 Daniel Jacobowitz <>
* sh.c (gen_shl_and): Don't create a zero_extend if the operand
is not an arith_reg_operand.
2002-11-17 Graham Stott <>
* real.c (real_to_decimal): Fix buffer overrun when buffer size
is smaller than representation.
2002-11-17 Kazu Hirata <>
* builtins.c: Fix formatting.
Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <>
* (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
Work around regclass stupidity.
(truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <>
* (fop_df_6): New pattern.
(fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
(fop_xf_6): Rewrite
(fop_xf_7): Delete.
(fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
(fop_tf_6): Rewrite
(fop_tf_7): Delete.
2002-11-16 Kazu Hirata <>
* config/h8300/ (two anonymous patterns): Fix typos.
2002-11-16 Kazu Hirata <>
* config/h8300/ Fix formatting.
2002-11-16 Kazu Hirata <>
* config/h8300/ Replace spaces with tabs.
* config/h8300/t-h8300: Remove a trailing empty line.
2002-11-16 Kazu Hirata <>
* tlink.c: Fix formatting.
2002-11-16 David Edelsohn <>
PR 8362
* config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
* config/rs6000/ (movti_string): Remove output modifier
when scratch register never needed.
(ldmsi[3-8]): New patterns.
2002-11-16 Kazu Hirata <>
* hard-reg-set.h: Follow spelling conventions.
* real.c: Likewise.
* target.h: Likewise.
2002-11-16 Jakub Jelinek <>
* config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2002-11-16 Kazu Hirata <>
* optabs.c: Fix formatting.
Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <>
*,,, Handle shift1, rotate1
* (attribute type): Add type shift1 and rotate1.
(*_slp): Rewrite to have just two operands to avoid reload problems.
2002-11-15 Kazu Hirata <>
* config/h8300/ (4 anonymous patterns): New.
2002-11-15 Geoffrey Keating <>
* params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
* doc/invoke.texi: Correct description of what needs to be done to
force collection at every ggc_collect call.
2002-11-15 Ulrich Weigand <>
* config/s390/s390.c (optimization_options): Set
flag_asynchronous_unwind_tables to 1 by default.
2002-11-15 Ulrich Weigand <>
* config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <>
* i386-protos.h (x86_function_profiler): New function
* i386.h (MCOUNT_NAME): New.
(FUNCTION_PROFILER): Move offline to ...
* i386.c (x86_function_profiler) ... here; fix 64bit support
* beos-elf.h (FUNCTION_PROFILER): Kill.
* freebsd-aout.h (FUNCTION_PROFILER): Kill.
* linux.h (FUNCTION_PROFILER): Kill.
* x86-64.h (FUNCTION_PROFILER): Kill.
* freebsd.h (FUNCTION_PROFILER): Kill.
2002-11-14 Jeroen Dobbelaere <>
* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
* config/arm/arm.c (arm_va_arg,
arm_function_arg_pass_by_reference): New.
* config/arm/arm-protos.h: Add prototypes.
2002-11-14 Kazu Hirata <>
* gthr-single.h: Fix formatting.
2002-11-14 Zack Weinberg <>
* tree.c (tree_vec_elt_check_failed): New function.
* tree.h (TREE_VEC_ELT_CHECK): New checking macro.
(TREE_VEC_ELT): Use it.
* tree-inline.c (optimize_inline_calls): Don't copy a
zero-length vector.
2002-11-14 Gabriel Dos Reis <>
* diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2002-11-14 Jakub Jelinek <>
* varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
both operands contain local relocations.
(categorize_decl_for_section): Don't use mergeable sections if
initializer has any relocations.
2002-11-14 Kazu Hirata <>
* gthr-vxworks.h: Fix formatting.
2002-11-13 Janis Johnson <>
* doc/install.texi (Testing): Document extra Java testing.
* doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2002-11-13 John David Anglin <>
* pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
beginning of the spec.
(LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
regarding problems with global constructors when using GNU ld.
2002-11-13 Kazu Hirata <>
* gthr-solaris.h: Fix formatting.
2002-11-13 Kazu Hirata <>
* gthr-posix.h: Fix formatting.
2002-11-12 Devang Patel <>
* gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
(process_command): Same.
* doc/invoke.texi: Info about these two new options.
2002-11-12 Kazu Hirata <>
* config/h8300/ (*andorsi3): New.
2002-11-12 Franz Sirl <>
* doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2002-11-12 Kazu Hirata <>
* config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
expressions appropriately.
2002-11-12 Kazu Hirata <>
* gthr-win32.h: Fix formatting.
2002-11-12 Kazu Hirata <>
* config/h8300/h8300.c (single_one_operand): Correctly compute
mask when mode is SImode.
(single_zero_operand): Likewise.
* config/h8300/ (two new anonymous insns): New.
2002-11-12 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
to that entire project.
2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2002-11-11 Zack Weinberg <>
* params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
* doc/invoke.texi: Document them.
* ggc-page.c: Include params.h. Remove definitions of
GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
(init_gcc): Don't set G.allocated_last_gc here.
(ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
perform collection.
* ggc-simple.c: Similarly.
* (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2002-11-11 Kazu Hirata <>
* gthr-dce.h: Fix formatting.
2002-11-11 Franz Sirl <>
PR c/8467
* stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
mode of DECL_RTL case.
2002-11-11 Janis Johnson <>
* doc/contrib.texi: Merge in the list from the libstdc++ web pages.
Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <>
* i386.c (construct_container): Fix handling of SSE_CLASS.
2002-11-10 Joel Sherrill <>
* config/m68k/t-crtstuff (crti.o): Use this...
($(T)crti.o): ... instead.
(crtn.o): Use this...
($(T)crtn.o): ... instead.
2002-11-10 Eric Botcazou <>
PR c/8439
* recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
if there is something new to be simplified.
2002-11-10 H.J. Lu <>
* calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
* expr.c (PUSH_ARGS_REVERSED): Likewise.
* config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2002-11-10 Zack Weinberg <>
* config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
* config/rs6000/linux.h, config/rs6000/linux64.h,
config/rs6000/windiss.h: ... not here.
2002-11-10 Jason Thorpe <>
* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <>
* i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2002-11-10 Joseph S. Myers <>
* c-decl.c (grokdeclarator): Make error for duplicate type
qualifiers into a pedwarn, disabled for C99.
2002-11-10 Hans-Peter Nilsson <>
* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2002-11-09 Zack Weinberg <>
* doc/install.texi: Add *-*-vxworks* specific installation
* config/vxlib.c: Rewrite using generation numbers to identify
valid TSD keys.
Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <>
* i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2002-11-09 John David Anglin <>
* pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
* config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
(hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
* pa.c (output_millicode_call): Use symbol difference rather than
$PIC_pcrel$0 when using HP assembler.
* pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
not elfos.h (i.e., gas) is being used.
using elfos.h.
(TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
(ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
using elfos.h.
BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
Don't define when not using elfos.h.
(ASM_DECLARE_RESULT): Don't define.
* doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
doesn't work on hppa64-hp-hpux11.
(hppa*-hp-hpux11): Update.
2002-11-09 Jason Thorpe <>
* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
to the assembler if -mno-abicalls was specified.
2002-11-09 John David Anglin <>
2002-11-09 Neil Booth <>
* c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2002-11-08 Roger Sayle <>
* real.c (real_sqrt): Update comment with bibliographic reference.
Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <>
* (sse_loadss, sse2_loadsd): Fix expander.
Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <>
* i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <>
* builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
(expand_builtin): Likewise.
* builtins.def: Add
__builtin_floor, __builtin_floorf, __builtin_floorl
__builtin_ceil, __builtin_ceilf, __builtin_ceill
__builtin_round, __builtin_roundf, __builtin_roundl
__builtin_trunc, __builtin_truncf, __builtin_truncl
__builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
* genopinit.c (optabs): Initialize the new optabs.
* optab.c (init_optabs): Likewise.
* optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
OTI_round, OTI_nearbyint.
(floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
* doc/md.texi: Document new named patterns.
* doc/extend.texi (builtin functions) Document
floor, floorf, floorl, ceil, ceilf,
ceill, round, roundf, roundl, trunc,
truncf, truncl, nearbyint, nearbyintf, nearbyintl.
Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <>
* (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2002-11-08 Dale Johannesen <>
* dbxout.c (dbxout_type): Fix stabs info for vector types.
2002-11-08 Neil Booth <>
PR preprocessor/8497
PR preprocessor/8501
* cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
start a directive. In assembler, #NUM is not a line directive.
2002-11-08 Neil Booth <>
* cppmain.c (cpp_preprocess_file): Loop to pop any -included
2002-11-08 Kazu Hirata <>
* config/h8300/ (two anonymous test insns): New.
Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <>
* jump.c (mark_jump_label): Handle subregs of label_refs.
Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <>
* (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
* i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2002-11-07 David Mosberger <>
* config/ia64/crtend.asm: Include "auto-host.h".
[HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
* config/ia64/crtbegin.asm: Similarly.
* config/ia64/t-ia64 (crtbegin.o): Include from current directory.
(crtend.o, crtbeginS.o, crtendS.o): Likewise.
* aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
* Use it if --enable-initfini-array not specified.
* doc/install.texi (Configuration): Document --enable-initfini-array.
* configure, Rebuild.
2002-11-07 Jason Thorpe <>
* config/arm/arm-protos.h (arm_get_frame_size)
(thumb_get_frame_size): New prototypes.
* config/arm/arm.c (arm_get_frame_size)
(thumb_get_frame_size): New functions.
(use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
(arm_compute_initial_elimination_offset, arm_expand_prologue): Use
(thumb_expand_prologue, thumb_expand_epilogue): Use
* config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
(machine_function): Add frame_size member.
(THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2002-11-07 Richard Earnshaw <>
* arm.c (bit_count): Make argument unsigned long. Return unsigned.
Adjust code to use portable unsigned bit manipulation.
(insn_flags, tune_flags): Change type to unsigned.
(struct processors): Make flags unsigned long.
(arm_override_options): Change type of count and current_bit_count
to unsigned.
2002-11-07 Richard Earnshaw <>
* arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
Thu Nov 7 15:50:18 2002 J"orn Rennecke <>
Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <>
* reg-stack.c (compensate_edge): Fix sanity check.
2002-11-05 Geoffrey Keating <>
* config.gcc: Don't create crtbegin, crtend on Darwin; do create
crt2.o. Rearrange t-darwin makefiles.
* crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
* unwind-dw2-fde-darwin.c: New.
* unwind-dw2-fde-glibc.c: Correct comment.
* unwind-dw2-fde.c (__register_frame_info_bases)
(classify_object_over_fdes): Use last_fde.
(add_fdes): Likewise.
(linear_search_fdes): Likewise.
* unwind-dw2-fde.h (struct object)
(last_fde): New.
* config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
(ENDFILE_SPEC): No crtend.o.
* config/t-darwin: New.
* config/i386/t-darwin: Delete.
* config/darwin-crt2.c: New.
* config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
or config/t-darwin.
2002-11-06 Douglas B Rupp <>
* config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
(SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
MS bitfields for Objective-C.
* config/i386/i386.c (ix86_ms_bitfield_layout): New function.
(TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
* config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
(TARGET_SWITCHES): Add above mask.
* testsuite/gcc.dg/bf-ms-layout.c: New test case.
* testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
* testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
flags for interix.
Wed Nov 6 18:54:47 2002 Alexandre Oliva <>
* config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
.gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
* config/mips/ (tablejump_internal3): Output .cpadd
before jump on ABI_N32 too.
(tablejump_internal4): Ditto on ABI_64. Increase maximum
length to match.
Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <>
* (negsf splitter): Accept memory operand in second register.
(abssf/absdf splitters): Simplify
(sse_loadss, sse_loadsd): Turn into expander.
2002-11-06 David Edelsohn <>
PR target/8480
* config/rs6000/ (movdi_internal64): Discourage
FPR to FPR moves.
2002-11-06 Janis Johnson <>
* doc/contrib.texi: Merge in the list from the Java web pages.
2002-11-06 David O'Brien <>
* config/sparc/freebsd: Fix typo.
2002-11-06 John David Anglin <>
* pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2002-11-06 Alexandre Oliva <>
* config/mips/ (call_value_multiple_internal2): Use dla for
non-SImode addresses.
Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <>
* (float_truncate SSE splitter): Ensure that operand is not
stack register.
(float SSE splitters): Reorder conditional.
2002-11-05 Bob Wilson <>
* config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2002-11-05 John David Anglin <>
* pa64-hpux.h (LIB_SPEC): Fix p and pg options.
(STARTFILE_SPEC): Remove p and pg options.
2002-11-05 Andrew Haley <>
* fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2002-11-05 Richard Sandiford <>
* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
* config/mips/mips.c (mips_cannot_change_mode_class):
2002-11-04 Zack Weinberg <>
* gthr-vxworks.h: Rewritten from scratch.
* config/vxlib.c: New file.
* config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
* config/rs6000/t-vxworks: Add config/vxlib.c to
LIB2FUNCS_EXTRA here too, because of clash with
2002-11-04 Dale Johannesen <>
* doloop.c (doloop_modify_runtime): Fix loop count computation
for unrolled loops.
* loop.c (loop_invariant_p): Support calling from unroller.
2002-11-04 Ulrich Weigand <>
* config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
for comparison.
2002-11-04 Aldy Hernandez <>
* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
* config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
* config/alpha/alpha.h: Same.
* config/ia64/ia64.h: Same.
* config/mips/mips.h: Same.
* config/s390/s390.h: Same.
* config/sh/sh.h: Same.
* config/pa/pa64-regs.h: Same.
* config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
* config/sh/sh.c (sh_cannot_change_mode_class): New.
* config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
* config/mips/mips.c (mips_cannot_change_mode_class): New.
* doc/tm.texi (Register Classes): Remove
* reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
(push_reload): Same.
* simplify-rtx.c (simplify_subreg): Same.
* reload1.c (choose_reload_regs): Same.
* recog.c (register_operand): Same.
* regrename.c (mode_change_ok): Change to use new
* regclass.c (cannot_change_mode_set_regs): New.
Declare subregs_of_mode.
(regclass): Use subregs_of_mode.
Remove references to reg_changes_mode.
(init_reg_sets_1): Remove class_can_change_mode and
reg_changes_mode code.
(invalid_mode_change_p): New.
(dump_regclass): Use invalid_mode_change_p instead of
(regclass): Same.
(record_operand_costs): Do not set reg_changes_mode.
* local-alloc.c (struct qty): Remove changes_mode field.
(alloc_qty): Remove changes_mode initialization.
(update_qty_class): Remove set of changes_mode.
(find_free_reg): Use subregs_of_mode.
* global.c (find_reg): Use subregs_of_mode info.
* rtl.h (cannot_change_mode_set_regs): New prototype.
(invalid_mode_change_p): Same.
* flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
(life_analysis): Clear subregs_of_mode.
* combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
(simplify_set): Same.
(gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
* regs.h: Add extern for subregs_of_mode;
Include hard-reg-set and basic-block.
2002-11-03 Roger Sayle <>
* real.c (real_sqrt): New function to calculate square roots.
* real.h (real_sqrt): Add function prototype.
* builtins.c (fold_builtin): Fold sqrt of constant argument.
* simplify-rtx.c (simplify_unary_operation): Simplify sqrt
of constant argument.
2002-11-03 John David Anglin <>
* jump.c (never_reached_warning): Don't set contains_insn until the
first line note is seen.
2002-11-03 David Edelsohn <>
* config/rs6000/ (movti_string): Use string instructions.
2002-11-03 Roger Sayle <>
PR c/7128
* c-typeck.c (c_expand_asm_operands): Defend against
error_mark_nodes in the output argument to avoid ICE.
2002-11-03 Eric Botcazou <>
PR middle-end/8408
* genrecog.c (preds): Handle ADDRESSOF.
(validate_pattern): Mark it as an lvalue.
2002-11-02 David Edelsohn <>
* config/rs6000/rs6000.c (rs6000_override_options): Use string
instructions when optimizing for size.
2002-11-02 Kazu Hirata <>
* config/h8300/h8300.h: Fix comment typos.
* config/h8300/ Likewise.
* config/h8300/lib1funcs.asm: Likewise.
2002-11-02 Gerald Pfeifer <>
Revert this change:
*doc/install.texi (Installing GCC: Configuration): Clarify
the only supported ways to configure gcc.
2002-11-01 Kazu Hirata <>
* config/h8300/ (anonymous and:QI pattern): Use 'n'
instead of 'O' for the constraint for the second operand.
2002-11-01 Mark Mitchell <>
PR c++/8391
* toplev.c (rest_of_compilation): Do not refuse to output code for
an inline function in a local class.
2002-11-01 David O'Brien <>
* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
Add comment.
2002-11-01 Kazu Hirata <>
* config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2002-11-01 Toshiyasu Morita <>
* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2002-11-01 Steve Ellcey <>
* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
* config/ia64/ (divsi3): Change to use new macros.
(modsi3): Ditto.
(udivsi3): Ditto.
(umodsi3): Ditto.
(divsi3_internal): Ditto.
(divdi3): Ditto.
(moddi3): Ditto.
(udivdi3): Ditto.
(umoddi3): Ditto.
(divdi3_internal_lat): Ditto.
(divdi3_internal_thr): Ditto.
(divsf3): Ditto.
(divsf3_internal_lat): Ditto.
(divsf3_internal_thr): Ditto.
(divdf3): Ditto.
(divdf3_internal_lat): Ditto.
(divdf3_internal_thr): Ditto.
(divtf3): Ditto.
(divtf3_internal_lat): Ditto.
(divtf3_internal_thr): Ditto.
* config/ia64/ia64.c (ia64_override_options): Change
to check new macros for conflicts in settings.
* doc/invoke.texi (-minline-divide-min-latency): Remove.
(-minline-divide-max-throughput): Remove.
(-minline-float-divide-min-latency): New.
(-minline-float-divide-max-throughput): New.
(-minline-int-divide-min-latency): New.
(-minline-int-divide-max-throughput): New.
2002-11-01 Richard Earnshaw (
PR target/7856
* arm.c (use_return_insn): Don't use a return insn if there are
saved integer regs, but LR is not one of them.
Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <>
* expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
* machmode.h (SCALAR_FLOAT_MODE_P): New macro.
Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <>
* (sse_loadss, sse_loadsd): Canonicalize; add expander
(movps, movpd splitters): Use canonical form.
(movv2di): Fix merge problem.
Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <>
* (negdf2_ifs_rex64): Don't allow GPR operand.
2002-10-31 Nathanael Nerode <>
PR optimization/6162
* doc/md.texi: Document restriction on commutative operand
2002-10-31 Eric Christopher <>
* explow.c (convert_memory_address): Use shallow_copy_rtx.
2002-10-31 Steve Ellcey <>
* expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2002-10-31 Steve Ellcey <>
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
Thu Oct 31 Dale Johannesen <>
* config/rs6000/darwin.h: Correct formatting in previous.
Thu Oct 31 Dale Johannesen <>
* config/rs6000/darwin.h: Enable -falign-xxx options.
Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <>
* i386.c (override_options): Set defaults for flag_omit_frame_pointer,
flag_asynchronous_unwind_tables, flag_pcc_struct_return.
* i386.c (optimization_options): Set flag_omit_frame_pointer,
flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
Do not clear -momit-leaf-frame-pointer when profiling.
(ix86_frame_pointer_required): Frame pointer is always required when
Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <>
* (negdf2_ifs_rex64): Don't allow GPR operand.
Thu Oct 31 12:45:55 2002 J"orn Rennecke <>
* sh.h (binary_logical_operator): Declare.
* sh.c (binary_logical_operator): New function.
* (xordi3+1): New combiner splitter pattern.
2002-10-31 David O'Brien <>
* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
__enable_execute_stack function.
2002-10-30 Zack Weinberg <>
* gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
* unwind-sjlj.c (fc_key_dtor): Delete.
(fc_key_init): Adjust __gthread_key_create call to match.
2002-10-30 Aldy Hernandez <>
* c-common.c: Add GTY to vector_type_node_list.
2002-10-30 John David Anglin <>
* pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
* pa-protos.h (attr_length_millicode_call, attr_length_call,
pa_init_machine_status): Declare new global functions.
* pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
implement new functions.
(attr_length_millicode_call, attr_length_call): Implement.
(total_code_bytes): Change type to long.
(pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
Reset counter if flag_function_sections.
(output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
(output_cbranch): Move call to gen_label_rtx.
(output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
delay slot in all variants, shorten pc-relative calls.
(output_call): Rewrite adding long TARGET_64BIT call, improved delay
slot usage and exposure, various new call variants, and shortened
sequences for some variants on TARGET_PA_20.
Miscellaneous format changes.
* pa.h (total_code_bytes): Change type to long.
(TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
stores on TARGET_ELF32.
* (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
(unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
canonicalize_funcptr_for_compare expanders): Calculate attribute length
(call_internal_symref, call_value_internal_symref): Clobber register 1.
Calculate attribute length using attr_length_call().
(call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
to delay slot.
(sibcall, sibcall_value): Rewrite.
(sibcall_internal_symref, sibcall_value_internal_symref): Clobber
register 1. Use attr_length_call().
(sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
New patterns.
(unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
* som.h (MEMBER_TYPE_FORCES_BLK): Define.
* t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
* doc/invoke.texi (mlong-calls): Document.
2002-10-30 Roger Sayle <>
* fold-const.c (fold_binary_op_with_conditional_arg): Improve
handling of cases where one or both branches of the conditional
have void type, i.e. throw an exception or don't return.
(fold): Only apply (and undo) type conversion to the non-void
branches of a COND_EXPR.
2002-10-30 Mark Mitchell <>
PR c++/8333
* varasm.c (asm_output_aligned_bss): Do not call
2002-10-30 David Edelsohn <>
Torbjorn Granlund <>
* config/rs6000/ (load_toc_v4_PIC_1): Use preferred form
for addressibility.
(load_toc_v4_PIC_1b): Same.
2002-10-30 Kazu Hirata <>
* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
Truncate the addresses for H8/300 using HImode.
Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <>
* (negdf splitter): Fix construction of the constant.
Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <>
* (negsf, negdf): Reorganize to use vector modes
for SSE variants.
(abssf, absdf): Use force_reg.
(movv4sf, movv2df): New splitters.
* i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
* i386.c (zero_extended_scalar_load_operand
* i386-protos.h (ix86_expand_call): Update prototype.
* i386.c (ix86_function_ok_for_sibcall): Handle 64bit
(ix86_expand_call): Use r11 for indirect sibcalls.
* (call, call_value, untyped_call, call_value_pop):
update x86_expand_call call.
(sibcall, sibcall_value): new patterns
(call_rex64, call_value_rex64): Do not accept sibcalls.
(sibcall_rex64, sibcall_value_rex64,
sibcall_rex64_v, sibcall_value_rex64_v): New.
Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <>
* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
before final pass.
2002-10-29 Hans-Peter Nilsson <>
* toplev.c (rest_of_type_compilation): Return early in case of
(check_global_declarations): Don't call debug_hooks->global_decl
in case of errors.
2002-10-28 Andreas Bauer <>
* doc/c-tree.texi (Tree overview): Fix typos.
2002-10-29 Phil Edwards <>
* (gnucompare*): Only record bad comparisons
if there really was a bad comparison.
Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <>
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
* (movsf*, movdf*): Use 'C' instead of 'H'
* md.texi (machine dependent constraints): Document 'C'
* simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
* i386.c (ix86_expand_vector_move): Fix.
* i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
* (sse2_maskmovdqu_rex64): New pattern
PR target/8322
* xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
(ix86_init_mmx_sse_builtins): Fix type.
2002-10-29 Jason Thorpe <>
* gthr-posix.h: Include <unistd.h> for feature tests.
(sched_get_priority_max, sched_get_priority_min)
(pthread_getschedparam, pthread_setschedparam): Only use
(__gthread_objc_thread_set_priority): Don't treat all nonzero
returns from sched_get_priority_max and sched_get_priority_min
as an error.
2002-10-29 Kazu Hirata <>
* config/h8300/h8300.h (TARGET_DEFAULT): Make it
2002-10-29 Kazu Hirata <>
* config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
(h8300_tiny_constant_address_p): Likewise.
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
(TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
* config/h8300/h8300-protos.h: Add the prototypes for the two
new functions.
2002-10-29 Kazu Hirata <>
* reload1.c (update_eliminables): Unconditionally check if
frame_pointer_needed has changed.
Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <>
* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
before final pass.
2002-10-29 Eric Botcazou <>
PR optimization/8334
* expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
check for zero operands explicitly.
2002-10-29 Richard Sandiford <>
* config/mips/ (extv, extzv, insv): Set size of referenced
memory after adjusting to BLKmode.
2002-10-29 Kazu Hirata <>
* config/h8300/h8300.h (MASK_*): New.
(TARGET_*): Use MASK_*.
2002-10-28 Zack Weinberg <>
* config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
* config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
config/rs6000/vxworks.h: New files.
* config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
* config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
sparc-*-vxsim*): Delete stanzas.
* gthr-vxworks.h: Rip out all substantive code and just
include gthr-single.h.
* config/alpha/vxworks.h, config/arm/vxarm.h,
config/i386/vxi386.h, config/i960/t-vxworks960,
config/i960/vx960-coff.h, config/i960/vx960.h,
config/m68k/t-vxworks68, config/m68k/vxm68k.h,
config/mips/vxworks.h, config/rs6000/vxppc.h,
config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
config/sparc/vxsim.h, config/sparc/vxsparc.h,
config/sparc/vxsparc64.h: Delete files.
2002-10-28 Jason Thorpe <>
* config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
tm_defines if pthreads are enabled.
* config/netbsd.h (LIB_SPEC): Only support the -pthread option
2002-10-28 Kazu Hirata <>
* ChangeLog.1: Fix typos.
* cse.c: Fix a comment typo.
* reload1.c: Likewise.
2002-10-27 Hans-Peter Nilsson <>
* fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
* fixinc/tests/base/_G_config.h: New file.
2002-10-27 Kazu Hirata <>
* combine.c: Fix comment formatting.
* loop.c: Likewise.
* real.c: Likewise.
* regclass.c: Likewise.
* regmove.c: Likewise.
* regrename.c: Likewise.
* reg-stack.c: Likewise.
* reload1.c: Likewise.
* reload.c: Likewise.
* reload.h: Likewise.
* unroll.c: Likewise.
2002-10-27 Kazu Hirata <>
* reload1.c (reload): Fix a comment typo.
Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <>
* linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
2002-10-27 Zdenek Dvorak <>
* (dwarf2out.o): Add dependendcy on hashtab.h.
* dwarf2out.c: Include hashtab.h.
(is_main_source): New static variable.
(attr_checksum, die_checksum): Modified to handle die references.
(same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
record_comdat_symbol_number): New static functions.
(output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
* toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
declarations added.
2002-10-26 Kazu Hirata <>
* config/h8300/h8300.c (initial_offset): Change to
* config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
* config/h8300/h8300-protos.h: Update the prototype.
2002-10-26 Hans-Peter Nilsson <>
* config/mmix/mmix.h (LIBCALL_VALUE): Use
(FUNCTION_VALUE_REGNO_P): Similar, but move code to...
* config/mmix/mmix.c (mmix_function_value_regno_p): New.
* config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
(mmix_function_value_regno_p): Declare.
* config/mmix/ ("fixuns_truncdfdi2"): Replace unsigned_fix,
invalid for floating point mode result, with fix.
Fri Oct 25 00:04:21 2002 Alexandre Oliva <>
* (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
(stage1_build): Likewise.
2002-10-25 Mike Stump <>
Fixes gcc.dg/warn-1.c.
* c-typeck.c (warn_for_assignment): Don't print argument number,
if zero.
Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <>
* toplev.c (dump_file_index): Add DFI_ce3.
(dump_file_info): Likewise.
(rest_of_compilation): Run first ifcvt pass before tracer.
2002-10-25 Steve Ellcey <>
* config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
2002-10-25 Richard Henderson <>
* real.c (real_to_decimal): If the >1 tens reduction loop results
in a negative exponent, fall into the <1 pten computation.
2002-10-25 Zack Weinberg <>
PR middle-end/6994
* c-objc-common.c (inline_forbidden_p): Can not inline
functions containing structures or unions containing VLAs.
* tree-inline.c (walk_tree): For all class 't' nodes, walk
(copy_tree_r): Copy types if they are variably modified.
2002-10-25 Ulrich Weigand <>
* config/s390/ Remove old-style peepholes.
2002-10-25 Ulrich Weigand <>
* config/s390/s390.c (s390_decompose_address): Do not range check the
displacement if base or index is the argument pointer register.
2002-10-24 Hans-Peter Nilsson <>
PR other/3337
PR bootstrap/6763
PR bootstrap/8122
* fixinc/inclhack.def (libc1_G_va_list): New fix.
* fixinc/fixincl.x: Regenerate.
* config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
ifndef IN_LIBGCC2. Wrap it together with signal.h and
sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
* (gcc_AC_CHECK_DECLS): Check vasprintf too.
*, configure: Regenerate.
2002-10-24 Igor Shevlyakov <>
* varasm.c (struct rtx_const): Array size 16 for V16QImode.
2002-10-24 Richard Henderson <>
* config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
2002-10-24 Kazu Hirata <>
* config/h8300/h8300.c (initial_offset): Simplify by using
2002-10-24 Marek Michalkiewicz <>
* doc/install.texi (avr): Update required binutils version.
2002-10-24 Theodore A. Roth <>
* doc/install.texi: Point avr users at more up-to-date information.
2002-10-24 Ulrich Weigand <>
* config/s390/ (movdi, movsi, movhi, movqi): Add peepholes2
to pull operands out of the literal pool where possible.
2002-10-24 Denis Chertykov <>
* config/avr/avr.c (init_cumulative_args): Test fntype for zero.
2002-10-24 Steve Ellcey <>
* expr.c (convert_move): If unsignedp is less then zero there
is no equivalent code.
2002-10-24 Zack Weinberg <>
* tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
2002-10-24 Ulrich Weigand <>
* config/s390/s390.h: Rework comments; re-sort target macro definitions
according to the sequence they are defined in the manual.
2002-10-24 Kazu Hirata <>
* config/h8300/h8300.c (round_frame_size): Replace 8 with
2002-10-24 Kazu Hirata <>
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
64-bit safe.
2002-10-24 Richard Henderson <>
* config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
(ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
vcall offset.
2002-10-24 Richard Henderson <>
PR opt/7944
* reload.c (find_reloads_toplev): Mode of X is not important
when simplifying subregs of constants.
2002-10-24 Richard Sandiford <>
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
* config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
(override_options): Base default setting of MASK_SOFT_FLOAT on -march
2002-10-24 Richard Sandiford <>
* optabs.c (expand_binop): Don't reuse the shift target in the
middle of shift sequences.
Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <>
* (abs splitters): Do not produce nested subregs.
Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <>
* (movti_rex64): Fix constraints.
Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <>
* (abssf,absdf): Use vector operands for SSE
(abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
vector operand.
2002-10-23 Ziemowit Laski <>
* objc/objc-act.c (get_static_reference): Remove unneeded
TYPE_BINFO initialization.
(get_object-reference): Likewise.
(build_constructor): Tighten precondition check.
(finish_message_expr): Likewise.
2002-10-23 Jakub Jelinek <>
* config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
after CONST test.
2002-10-23 Steve Ellcey <>
* config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
in HFAs.
2002-10-23 Richard Henderson <>
* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
(alpha_output_mi_thunk_osf): Handle vcall_offset.
2002-10-23 Zack Weinberg <>
* langhooks.h (struct lang_hooks_for_tree_inlining): Add
* langhooks-def.h: Default for tree_inlining.var_mod_type_p is
* tree.c (variably_modified_type_p): Moved here from
cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
language-specific cases. Due to this, must weaken some 'if
and only if' checks to merely 'if'.
* tree.h: Prototype variably_modified_type_p.
* tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
2002-10-23 Ulrich Weigand <>
* config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
* config/s390/s390.c (optimization_options): Disable -fcaller-saves.
* config/s390/s390-protos.h (fp_operand): Remove.
* config/s390/s390.c (fp_operand): Remove.
* config/s390/ ("movdi"): Replace fp_operand by FP_REG_P.
("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
(movdi_31, movdf_31 splitters): Likewise.
* config/s390/s390.h (IEEE_FLOAT): Remove.
(INT_REGNO_P): Rename to ...
(GENERAL_REGNO_P): ... this.
(FLOAT_REGNO_P): Rename to ...
(FP_REGNO_P): ... this.
(ADDR_REGNO_P): New macro.
(HARD_REGNO_NREGS): Adapt to macro renaming.
2002-10-23 David Edelsohn <>
Geoff Keating <>
* config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
(rs6000_memory_move_cost): New function.
* config/rs6000/rs6000-protos.h: Declare them.
* config/rs6000/rs6000.h: Use them.
2002-10-23 Ulrich Weigand <>
* libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
inlining it into other libgcc2 routines.
(__udivmoddi4): Likewise.
2002-10-22 Nathanael Nerode <>
* doc/sourcebuild.texi (Test Suites): Improve.
2002-10-22 Stan Shebs <>
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
case for Darwin.
2002-10-22 Jim Wilson <>
* config/i386/ (subdi3_1): Add call to ix86_binary_operator_ok.
Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <>
PR other/8289
* xmmintrin.h: Add const to the argument of loads.
* (pushv2di): New pattern.
PR target/6890
* xmmintrin.h (_MM_TRANSPOSE4_PS): New.
2002-10-22 Richard Henderson <>
* target.h (gcc_target.asm_out): Merge output_mi_thunk and
output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
* hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
(hook_bool_tree_hwi_hwi_tree_true): New.
(default_can_output_mi_thunk_no_vcall): New.
* hooks.h: Declare them.
* system.h (ASM_OUTPUT_MI_THUNK): Poison.
* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
(alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
* config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
config/stormy16/stormy16.c: Similarly.
* config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
Handle 64-bit properly. Streamline.
(x86_output_mi_vcall_thunk): Remove.
(x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
(x86_can_output_mi_thunk): New.
(override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
output_mi_thunk; make static; always use function_section.
(rs6000_ra_ever_killed): Test no_new_pseudos not
targetm.asm_out.output_mi_thunk in conjunction with thunks.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
xcoffout_declare_function when using rs6000_output_mi_thunk.
* config/s390/s390.c (s390_output_mi_thunk): Rename from
* config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
* config/vax/vax-protos.h: Update.
* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
* i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
* i386.h (EXTRA_CONSTRAINT): Recognize 'C'
* (movti_internal): Use 'C'
* xmmintrin.h (_mm_cmplt_epi*): New.
2002-10-22 Ulrich Weigand <>
* config/s390/ ("*movdi_64"): Fix op_type attribute.
("*movdf_64"): Likewise.
("*lshrdi3_64"): Likewise.
("blockage"): Add length attribute.
("lit"): Likewise.
Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <>
* FIx typo.
(sse2_cvtsi2sd, sse2_pslrdq): Fix template.
(sse2_umulv2siv2di3): Fix predicate.
(sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
* xmmintrin.h (_mm_mul_epu16): Rename to...
(_mm_mul_epu32): This one.
(_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
(contains_128bit_aligned_vector_p): Undo accidental checkin.
2002-10-22 Eric Christopher <>
* config/sparc/sparc.h: Add #error.
2002-10-22 Ulrich Weigand <>
* config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
[s390x-*-linux*]: Likewise.
* config/s390/t-linux: Remove.
* config/s390/s390.h: Include fixdfdi.h when building libgcc2.
Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <>
* i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
(ix86_expand_builtin): Fix MASKMOVDQU expasion.
* i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
* (mmx_punpck?dq): Simplify.
(sse2_pubpcklqdq): Fix.
(sse2_pubpckhqdq): New.
* xmmintrin.h (_mm_unpackhi_epi32): New.
* xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
(_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
2002-10-22 Nathan Sidwell <>
PR c++/7209
* fold_const.c (fold_binary_op_with_conditional_arg): Always
build compound_expr if we used save_expr.
2002-10-22 Alan Modra <>
* output.h (SECTION_NOTYPE): Define.
* varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
init array sections.
(default_elf_asm_named_section): Mind SECTION_NOTYPE.
* config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
merge TLS support.
2002-10-21 Richard Henderson <>
* config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
the function type, not the return type.
2002-10-21 Richard Henderson <>
* real.c (sticky_rshift_significand): Return inexact, don't
or it in immediately.
(sub_significands): Accept incomming carry.
(div_significands, rtd_divmod): Update for sub_significands change.
(round_for_format): Update for sticky_rshift_significand change.
(do_add): Don't involve the inexact bit in addition, do give the
inexact bit as the subtraction carry-in.
(encode_internal, decode_internal, real_internal_format): New.
* real.h (real_internal_format): Declare.
2002-10-21 Ulrich Weigand <>
* libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
don't define sdiv_qrnnd.
2002-10-21 Kazu Hirata <>
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
using IN_RANGE.
Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <>
* i386.c (builtin_description): Add punpcklqdq and movdq2q
(ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
__builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
__builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
(ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
* i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
* (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
sse2_movq): New patterns.
(sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
* xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
_mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
_mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
_mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
_mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
(_mm_insert_epi16): Fix.
2002-10-21 Dale Johannesen <>
* config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
unsafe math reversals correctly for RTL generation.
(output_cbranch): Replace rs6000_reverse_condition call
by its former definition.
2002-10-21 Jakub Jelinek <>
* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
from constant pool or LABEL_REFs as sign extended if allow_rip.
Change all +-1GB limits to +-16MB.
(x86_64_general_operand, x86_64_szext_general_operand,
x86_64_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
legitimate_address_p, ix86_expand_int_movcc): Update callers.
(local_symbolic_operand): Don't allow offsets bigger than +-16MB
in CM_SMALL_PIC model.
(legitimate_pic_address_disp_p): Don't check offsets before
calling local_symbolic_operand.
(legitimize_pic_address): Force offsets bigger than +-16MB into
* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
* Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
* configure: Rebuilt.
* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
non-pic code if TARGET_64BIT.
(legitimize_address): Generate 64-bit TLS sequences.
(output_pic_addr_const): Support x86-64 TLS operators.
(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
(output_addr_const_extra): Support x86-64 TLS operators.
(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
* config/i386/ (*tls_global_dynamic_gnu): Renamed to...
(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_global_dynamic_sun): Renamed to...
(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_global_dynamic): Renamed to...
(tls_global_dynamic_32): ... this.
(tls_global_dynamic_64, *tls_global_dynamic_64): New.
(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_local_dynamic_base_dynamic_sun): R