1 Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
3 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
4 (EXTRA_CONSTRAINT): Use it.
5 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
7 2002-12-15 Zack Weinberg <zack@codesourcery.com>
9 * config.gcc (need_64bit_hwint): New variable.
10 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
11 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
12 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
13 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
15 (powerpc*-*-darwin*): Unset it.
16 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
17 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
18 deleted/nonexistent xm-*.h headers.
19 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
20 target set need_64bit_hwint in config.gcc.
21 * configure, config.in: Regenerate.
23 * hwint.h: Overhaul. Don't bother trying int for
24 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
25 decision to force 64-bit HOST_WIDE_INT on
26 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
27 not visible at this point. Don't allow prior definition of
28 any macro defined by this file.
30 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
31 HOST_BITS_PER_WIDE_INT.
32 * config/c4x/c4x.h: Adjust redefinition of
33 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
34 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
35 config/i386/xm-i386-interix.h: Delete file.
37 2002-12-14 Rodney Brown <rbrown64@csc.com.au>
38 John David Anglin <dave@hiauly1.hia.nrc.ca>
40 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
41 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
43 2002-12-14 Zack Weinberg <zack@codesourcery.com>
45 * mkconfig.sh: Correct comment. Add copyright boilerplate.
47 2002-12-14 Zack Weinberg <zack@codesourcery.com>
49 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
50 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
51 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
52 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
53 config/v850/t-v850: Correct dependencies and normalize
54 compilation commands for files that include coretypes.h and tm.h.
56 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
57 not config.h and system.h.
59 Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
61 * i386.c (flags_reg_operand): New function.
62 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
63 * i386.md (cmov splitter, movqicc): Use new predicate.
65 Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
67 * i386.md (movqicc splitter): Fix template.
69 2002-12-13 Jason Merrill <jason@redhat.com>
71 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
72 * calls.c (expand_call): Handle it.
73 * tree-inline.c (struct inline_data): Remove target_exprs field.
74 (optimize_inline_calls): Don't initialize it.
75 (expand_call_inline): Don't modify it. Handle
76 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
77 (declare_return_variable): Take return slot addr.
78 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
80 * langhooks-def.h, langhooks.c: Adjust.
81 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
82 a decl with no DECL_INITIAL.
84 * expr.c (expand_expr): Don't discard the target of a call which
87 2002-12-13 Neil Booth <neil@daikokuya.co.uk>
89 * cppinit.c (path_include): Take an environment variable name.
91 (init_standard_includes): Simplify environment handling, and
93 (cpp_read_main_file): ...here as -nostdinc should not affect
94 environment variable paths.
96 2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
98 * pa.c (output_millicode_call): Correct typo.
99 (output_call): Likewise.
101 Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
103 * config/mn10300/mn10300.c (print_operand) <case N>: Check
104 operand's range. Print value directly, without aid from
107 <case S>: Make sure argument to fprintf has the right type.
108 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
109 (EXTRA_CONSTRAINT): Adjust.
110 * config/mn10300/mn10300.md: Add new all-QImode pattern for
111 bclr. Use %U for immediate operands of bset and bclr.
112 (iorqi3): New expand, with insns for AM33 and mn10300.
114 Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
116 * sh.c (sh_register_operand): New function.
117 (prepare_move_operands): Use it.
118 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
119 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
120 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
121 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
122 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
123 (movv2si_i): Likewise.
125 2002-12-13 Jim Wilson <wilson@redhat.com>
127 * doc/extend.texi (Complex Numbers): Update info on debug info.
129 2002-12-13 Kazu Hirata <kazu@cs.umass.edu>
131 * config/h8300/h8300.md (addhi3_h8300): Remove the last
134 2002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
136 * hooks.h (hook_tree_tree_bool_false): Declare
137 hook_bool_tree_tree_false instead.
139 2002-12-12 Devang Patel <dpatel@apple.com>
141 * doc/invoke.texi: Document Darwin linker options, -bundle
142 -bind_at_load, -all_load and -arch_errors_fatal
144 2002-12-12 Jim Wilson <wilson@redhat.com>
146 * dbxout.c (dbxout_fptype_value): New.
147 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
149 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
151 * c-decl.c: Fix a comment typo.
153 * cfgcleanup.c: Likewise.
154 * cfglayout.c: Likewise.
155 * cfgrtl.c: Likewise.
156 * c-typeck.c: Likewise.
157 * dominance.c: Likewise.
158 * dwarf2asm.c: Likewise.
159 * dwarfout.c: Likewise.
160 * expmed.c: Likewise.
164 * function.c: Likewise.
166 * genautomata.c: Likewise.
167 * integrate.c: Likewise.
170 * output.h: Likewise.
171 * profile.c: Likewise.
173 * reload1.c: Likewise.
174 * reload.c: Likewise.
175 * sched-rgn.c: Likewise.
178 * vmsdbgout.c: Likewise.
180 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
182 * config/h8300/h8300.md: Add a new peephole2.
184 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
186 * config/h8300/h8300.md (a peephole2): Accept a constant
187 that's accepted by CONST_OK_FOR_J.
189 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
191 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
192 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
193 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
194 (*addhi_h8300hs): Likewise.
196 Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
198 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
199 (sh_register_move_cost): Add clause for SImode fp-fp moves.
200 Increase cost for moves involving multiple general purpose registers.
201 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
203 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
204 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
205 (enum reg_class reg_class_from_letter): No longer const.
206 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
207 REGCLASS_HAS_GENERAL_REG.
208 Handle SImode moves from/to fp registers.
209 ! TARGET_SHMEDIA && TARGET_FMOVD.
210 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
211 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
213 2002-12-12 Andreas Schwab <schwab@suse.de>
215 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
216 change and some warnings.
218 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
220 * doc/md.texi (pushm): Fix a typo.
222 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
224 * config/mips/mips.c (mips_output_conditional_branch): Support
225 PIC-safe out-of-range branch and branch-likely.
226 * config/mips/mips.md (attr length): PIC-safe out-of-range
228 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
229 unused code to support indirect jumps.
231 2002-12-11 Zack Weinberg <zack@codesourcery.com>
233 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
236 2002-12-11 David Edelsohn <edelsohn@gnu.org>
238 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
240 Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
242 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
244 2002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
246 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
247 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
249 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
250 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
252 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
254 * doc/invoke.texi: Correct dump file names.
256 2002-12-09 Steve Ellcey <sje@cup.hp.com>
258 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
259 name to globalize_label or assemble_name.
261 Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
263 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
264 if not TARGET_SHMEDIA.
266 Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
268 * sh.h (REG_CLASS_HAS_FP_REG): New.
269 (REGISTER_MOVE_COST) Use it. Put body into a function and
271 * sh.c (sh_register_move_cost).
272 * sh-protos.h (sh_register_move_cost): Declare.
274 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
275 (sh_adjust_cost): Always return a value.
277 Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
279 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
280 (REGISTER_MOVE_COST): Use it.
282 2002-12-11 Richard Henderson <rth@redhat.com>
284 * tree.h (MODULE_LOCAL_P): Kill.
285 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
287 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
289 * config/h8300/h8300.md (two define_peephole2): New.
291 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
293 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
294 (CONST_OK_FOR_K): Likewise.
295 (CONST_OK_FOR_M): Likewise.
296 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
298 2002-12-11 Neil Booth <neil@daikokuya.co.uk>
300 * c-common.c (builtin_define_type_max): Handle unsigned
303 2002-12-10 David Edelsohn <edelsohn@gnu.org>
305 * haifa-sched.c (rank_for_schedule): Correct style.
307 2002-12-10 Per Bothner <pbothner@apple.com>
309 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
310 directive_index into an unsigned field and a new is_directive field.
311 * cppinit.c (mark_named_operators): Update to set new fields.
312 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
313 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
314 No longer need to subtract 1 from directive_index.
315 (_cpp_init_directives): No longer need to add 1 to directive_index.
316 * cpptrad.c (scan_out_logical_line): Use is_directive field.
318 2002-12-10 Roger Sayle <roger@eyesopen.com>
320 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
321 check for evaluating sqrt of a constant at compile time.
322 * simplify-rtx.c (simplify_unary_operation): Likewise.
324 2002-12-10 Janis Johnson <janis187@us.ibm.com>
327 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
329 2002-12-10 Devang Patel <dpatel@appple.com>
331 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
332 * doc/invoke.texi: Add new "Darwin Options" section.
334 2002-12-10 Jim Wilson <wilson@redhat.com>
336 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
339 2002-12-10 Andrew Haley <aph@redhat.com>
341 * cse.c (cse_insn): Don't cse past a basic block boundary.
343 2002-12-10 Jakub Jelinek <jakub@redhat.com>
345 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
347 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
348 * config/alpha/linux.h (LIB_SPEC): Likewise.
349 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
350 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
351 * config/sparc/linux.h (LIB_SPEC): Likewise.
352 * config/sparc/linux64.h (LIB_SPEC): Likewise.
354 2002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
356 * doc/invoke.texi: Document UltraSparc III option.
358 2002-12-09 Richard Henderson <rth@redhat.com>
360 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
361 __tune_pentium2__ and __tune_pentium3__ as necessary.
363 2002-12-09 Richard Henderson <rth@redhat.com>
365 * target.h (gcc_target): Add cannot_force_const_mem.
366 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
367 (TARGET_INITIALIZER): Add it.
368 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
369 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
370 * reload1.c (reload): Likewise.
371 * hooks.c (hook_bool_rtx_false): New.
372 * hooks.h: Declare it.
374 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
375 (TARGET_CANNOT_FORCE_CONST_MEM): New.
376 (ix86_expand_move): Remove de-const-pooling hack.
378 Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
380 * toplev.c (dump_file): Fix order to match reality.
382 2002-12-08 Geoffrey Keating <geoffk@apple.com>
384 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
385 (store_multiple): Likewise.
387 2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
389 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
390 function pointers in page 0.
392 2002-12-09 Steve Ellcey <sje@cup.hp.com>
394 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
396 (MEMBER_TYPE_FORCES_BLK): Move.
397 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
399 (ia64_function_value): Use PARALLEL to return aggregate values.
401 2002-12-09 Steve Ellcey <sje@cup.hp.com>
403 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
404 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
405 * calls.c (store_unaligned_arguments_into_pseudos) Remove
406 FUNCTION_ARG_REG_LITTLE_ENDIAN.
407 * stmt.c (expand_return): Ditto.
408 * expr.c (move_block_from_reg): Ditto.
409 (copy_blkmode_from_reg): Ditto.
410 * expmed.c (store_bit_field): Ditto.
412 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
414 * config.gcc: Added tic4x-* target as an alias to c4x-*
416 Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
418 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
419 constructing insn directly.
421 2002-12-06 Per Bothner <pbothner@apple.com>
423 * cpplib.h (struct cpp_hashnode): Change field directive_index from
424 char to an int bit-field, for hosts where char is unsigned.
426 2002-12-07 Roger Sayle <roger@eyesopen.com>
427 Richard Henderson <rth@redhat.com>
429 * real.c (ieee_extended_motorola_format,
430 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
431 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
432 Provide appropriate values for new signbit field.
434 2002-12-07 Roger Sayle <roger@eyesopen.com>
436 * real.h (real_format): Add signbit field.
437 * real.c (ieee_single_format, ieee_double_format,
438 ieee_extended_motorola_format, ieee_extended_intel_96_format,
439 ieee_extended_intel_128_format, ibm_extended_format,
440 ieee_quad_format, vax_f_format, vax_d_format,
441 vax_g_format, i370_single_format, i370_double_format,
442 c4x_single_format, c4x_extended_format, real_internal_format):
443 Provide suitable signbit value, or -1 to avoid bit twiddling.
445 * optabs.c (expand_unop): Try implementing negation of
446 floating point modes by flipping the sign bit.
447 (expand_abs): Try implementing abs of floating point modes
448 by clearing the sign bit.
450 Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
452 * i386.c (ix86_expand_int_movcc): Use force_operand instead
453 of constructing insn directly.
455 2002-12-07 Kazu Hirata <kazu@cs.umass.edu>
457 * config/h8300/h8300.md (*iorhi_shift_8): New.
459 2002-12-06 Bernd Schmidt <bernds@redhat.com>
461 * doc/invoke.texi: Document FRV port options.
462 * doc/md.texi: Document FRV register classes.
464 2002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
466 * doc/install.texi (Configuration): Improve description of cases
467 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
469 2002-12-06 Per Bothner <pbothner@apple.com>
471 * cpplib.h (NODE_MACRO_ARG): New flag.
472 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
473 Remove value.operator field. Move arg_index field to value union.
474 (directive_index): Make signed, since also used for C++ operators.
475 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
476 check for duplicate parameter. Set NODE_MACRO_ARG flag.
477 Save node->value, and set node->value.arg_index.
478 (_cpp_create_definition): For each paramater, restore node->value.
479 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
480 * cpptrad.c (scan_out_logical_line): Likewise.
481 (scan_out_logical_line): Check for directive > 0.
482 * cpplib.c (cpp_handle_directive): Likewise.
483 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
484 by negative of directive_index.
485 * cppinit.c (mark_named_operators): Likewise.
487 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
489 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
491 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
493 (push): Generate push_fpscr.
494 (pop): Generate pop_fpscr.
495 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
496 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
498 Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
500 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
501 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
503 Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
505 * sh.md (movdi_i): Name. Remove inappropriate comment.
507 Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
508 Merged from basic improvements branch (excerpt):
510 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
511 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
513 2002-12-06 Jakub Jelinek <jakub@redhat.com>
515 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
517 Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
519 * i386.md (dimode peep2s): Re-add "&& 1".
521 Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
523 * i386.c (ix86_expand_prologue): Add comment, do not use
524 fast prologues for cold and normal functions.
526 Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
528 * i386.c (x86_rep_movl_optimal): New variable.
529 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
530 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
532 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
533 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
534 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
535 generate unnecesary subregs.
537 2002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
539 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
540 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
542 2002-12-05 Dale Johannesen <dalej@apple.com>
544 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
546 2002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
548 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
550 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
552 2002-12-05 Aldy Hernandez <aldyh@redhat.com>
554 * config/rs6000/spe.h (__ev_mwlufi): Remove.
555 (__ev_mwlufia): Remove.
556 (__ev_mwlumfaaw): Remove.
557 (__ev_mwlusfaaw): Remove.
558 (__ev_mwlumfanw): Remove.
559 (__ev_mwlusfanw): Remove.
561 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
563 * config/h8300/h8300.md (*andorsi3_shift_8): New.
565 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
567 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
568 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
569 (get_shift_alg): Return optimal assembly instructions for the
570 shifts mentioned above.
572 Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
574 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
577 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
579 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
580 implement ashiftrt:HI by 13 bits on H8S.
582 2002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
584 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
585 * pa.md (canonicalize_funcptr_for_compare): Output library call to
586 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
587 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
588 CTOR_LIST_BEGIN): New defines.
589 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
590 (fptr.c): Add make rules.
592 2002-12-04 Geoffrey Keating <geoffk@apple.com>
594 * combine.c (combine_simplify_rtx): Add new canonicalizations.
595 * doc/md.texi (Insn Canonicalizations): Document new
596 canonicalizations for multiply/add combinations.
597 * config/rs6000/rs6000.md: Add and modify floating add/multiply
598 patterns to ensure they're used whenever they can be.
600 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
602 * config/h8300/h8300.c: Update the comments related to shifts.
604 2002-12-04 Chris Demetriou <cgd@broadcom.com>
606 * config/mips/mips.md (get_fnaddr): Correct length attribute.
608 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
610 * config/h8300/h8300.md (*extzv_8_8): New.
611 (*extzv_8_16): Likewise.
613 2002-12-04 Jason Merrill <jason@redhat.com>
615 PR c++/8461, c++/8625
616 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
618 * tree-inline.c (initialize_inlined_parameters): Likewise.
620 * tree.c (variably_modified_type_p): Just return an error_mark_node.
622 2002-12-04 Chris Demetriou <cgd@broadcom.com>
624 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
625 macro instruction in a branch delay slot, to avoid assembler
628 2002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
631 * c-semantics (genrtl_scope_stmt): Do not output inlined
632 nested functions that contain no code.
634 Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
636 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
637 to be forced into nonfallthru.
639 2002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
641 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
643 2002-12-03 Aldy Hernandez <aldyh@redhat.com>
645 * config/rs6000/spe.md (*movv1di_const0): New pattern.
647 2002-12-03 Richard Henderson <rth@redhat.com>
649 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
651 2002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
653 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
654 Initialize tmp.using_obstack to 0.
656 2002-12-03 Andreas Schwab <schwab@suse.de>
658 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
659 (EH_RETURN_STACKADJ_RTX): Define.
660 (EH_RETURN_HANDLER_RTX): Define.
661 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
662 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
663 registers and don't save fixed registers.
664 (m68k_output_function_prologue): Use it.
665 (use_return_insn): Likewise.
666 (m68k_output_function_epilogue): Likewise.
668 2002-12-03 Kazu Hirata <kazu@cs.umass.edu>
670 * config/h8300/h8300.c (single_one_operand): Fix a warning.
671 (single_zero_operand): Likewise.
673 2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
675 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
676 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
677 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
678 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
679 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
680 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
681 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
682 doc/install-old.texi: Replace hconfig.h with bconfig.h.
683 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
685 2002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
687 * config/rs6000/rs6000.md (ffssi): Convert to expander.
689 (cntlzw2, cntlzd2): New patterns.
691 2002-12-02 H.J. Lu <hjl@gnu.org>
693 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
694 (mips*-*-linux*): Remove mips/t-linux.
696 Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
698 * i386.c (ix86_expand_int_movcc): Avoid overflow.
700 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
702 * config/h8300/h8300.c (dosize): Replace argument op with
704 (h8300_output_function_prologue): Update the call to dosize.
705 (h8300_output_function_epilogue): Likewise.
707 2002-12-02 Bob Wilson <bob.wilson@acm.org>
709 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
711 2002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
713 * configure.in: Use "missing" script to generate warning if
714 flex or bison programs not found, instead of invoking "false".
715 * configure: Rebuilt.
717 Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
719 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
721 Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
723 * i386.c (ix86_expand_int_movcc): Avoid overflow.
725 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
727 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
730 (h8300_output_function_prologue): Likewise.
731 (h8300_output_function_epilogue): Likewise.
733 Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
735 * expmed.c (store_bit_field): Use int_mode_for_mode to find
736 corresponding mode of non-integer mode, unless it is VOIDmode.
738 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
740 * config/h8300/h8300.md (stm_h8300s_2): New.
741 (stm_h8300s_3): Likewise.
742 (stm_h8300s_4): Likewise.
743 (five define_peephole2): Likewise.
745 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
747 * ra-build.c: Fix a comment typo.
749 Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
751 * i386.c (ix86_expand_int_movcc): fix
752 reversed BRANCH_COST test; be curefull about infinite recursion.
754 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
756 * config/h8300/h8300.c (h8300_output_function_prologue):
758 (h8300_output_function_epilogue): Likewise.
760 2002-12-01 Zack Weinberg <zack@codesourcery.com>
762 * config/frv/xm-frv.h: Delete, unnecessary.
764 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
766 * config/h8300/h8300.md: Add comments for define_peephole2.
768 2002-12-01 Mark Mitchell <mark@codesourcery.com>
770 * builtin-types.def (BT_SIZE): Use size_type_node.
771 * builtins.c (fold_builtin): Make the builtin strlen returns a
772 size_t, not a sizetype.
773 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
775 (c_alignof_expr): Likewise.
776 (c_common_nodes_and_builtins): Likewise.
777 * c-common.h (CTI_C_SIZE_TYPE): Remove.
778 (c_size_type_node): Likewise.
779 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
780 * tree.h (TI_SIZE_TYPE): New enumeral.
781 (size_type_node): Likewise.
783 2002-11-30 Zack Weinberg <zack@codesourcery.com>
785 * configure.in: Don't put ${tm_file} into host_xm_file,
786 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
787 Take location of tm-preds.h into account when calculating
789 * configure: Regenerate.
790 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
791 arguments. Do not provide rtx, rtvec, tree, or GTY here.
792 Remove special case code for tm_p.h and *config.h; add new
793 special case code for tm.h and tconfig.h. Clean up a bit.
795 * Makefile.in (tm_file, tm_file_list): New variables set from
797 (GCONFIG_H): Deleted.
799 (CONFIG_H): Is now just config.h $(host_xm_file_list).
800 (TM_P_H): Move up with the other mkconfig.sh-generated
801 headers; don't mention tm-preds.h explicitly.
802 (tm.h, cs-tm.h): New rule.
803 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
804 invocations of mkconfig.sh for changes to that program.
805 (mostlyclean): Delete print-rtl1.c.
806 (clean): Delete tm.h.
807 Update dependencies for the files listed below.
809 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
811 * coretypes.h: New file.
812 * system.h: #define malloc to xmalloc and realloc to xrealloc
813 when FLEX_SCANNER or YYBISON is defined, independent of the
814 value of GCC_VERSION.
815 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
816 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
817 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
818 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
819 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
820 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
821 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
822 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
823 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
824 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
825 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
826 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
827 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
828 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
829 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
830 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
831 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
832 genconstants.c, genemit.c, genextract.c, genflags.c,
833 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
834 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
835 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
836 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
837 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
838 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
839 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
840 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
841 print-tree.c, profile.c, protoize.c, ra-build.c,
842 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
843 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
844 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
845 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
846 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
847 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
848 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
849 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
850 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
851 xcoffout.c, config/darwin-c.c, config/darwin.c,
852 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
853 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
854 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
855 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
856 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
857 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
858 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
859 config/i960/i960-c.c, config/i960/i960.c,
860 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
861 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
862 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
863 config/mips/irix6-libc-compat.c, config/mips/mips.c,
864 config/mmix/mmix.c, config/mn10200/mn10200.c,
865 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
866 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
867 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
868 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
869 config/sparc/sparc.c, config/stormy16/stormy16.c,
870 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
871 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
872 Include coretypes.h and tm.h.
874 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
875 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
876 genrecog.c: Include coretypes.h and tm.h from the file
877 generated by this program.
879 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
880 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
881 coretypes.h and tm.h, and tsystem.h when not already included.
882 No need to include stddef.h nor stdlib.h.
884 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
885 include auto-host.h or ansidecl.h/
886 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
887 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
888 include auto-host.h, ansidecl.h, or system.h.
889 * fixinc/server.c: Likewise. Also, do not include signal.h,
890 and do not redefine volatile.
892 Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
894 * i386.md (movdf_integer): Always enable in 64bit.
895 (movdf_nointeger): Always disable in 64bit.
897 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
899 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
900 pseudo register number plus 1.
902 Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
904 * expmed.c (store_bit_field): Use int_mode_for_mode to find
905 corresponding mode of non-integer mode, unless it is VOIDmode.
907 2002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
909 * cpplib.c (_cpp_test_assertion): Default *value to 0.
911 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
913 2002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
915 * config/s390/t-crtstuff: New target makefile fragment.
916 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
918 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
920 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
921 alternatives to correct the length when the memory operand is
922 either pre_dec or post_inc.
924 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
926 * config/h8300/h8300.md (an anonymous pattern): Give an
927 internal name *tst_extzv_bitqi_1_n.
928 Accept bit_operand instead of bit_memory_operand.
929 Do not accept bit tests with the MSB.
930 (*tst_extzv_memqi_1_n): New.
932 Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
934 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
935 sharing when operand is SUBREG.
937 Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
939 * athlon.md (athlon-decodev): New reservation unit.
940 (athlon-direct0): New reservation.
941 (athlon-vector): New use athlon-decodev.
942 (athlon-double, athlon-direct): Better model.
943 (athlon_imul_k8): Use athlon-direct0.
944 (athlon_movlpd_load): New insn reservation.
946 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
948 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
950 (h8300_tiny_constant_address_p): Likewise.
952 2002-11-28 Michael Matz <matz@suse.de>
954 * doc/passes.texi: Mention the other register allocator.
956 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
958 * config/h8300/h8300.md (6 new peephole2 patterns): New.
960 2002-11-28 Jakub Jelinek <jakub@redhat.com>
962 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
963 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
964 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
966 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
968 * config/h8300/h8300.c (h8300_and_costs): New.
969 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
970 * config/h8300/h8300-protos.h: Add a prototype for
973 Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
975 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
976 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
977 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
978 * i386.md (truncdfsf patterns and splitters): Use
979 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
981 2002-11-27 Zack Weinberg <zack@codesourcery.com>
983 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
984 pointer argument in the prototypes of the following builtins
985 be (const TYPE *) rather than (TYPE *):
986 + __builtin_altivec_ld_internal_4sf
987 + __builtin_altivec_ld_internal_4si
988 + __builtin_altivec_ld_internal_8hi
989 + __builtin_altivec_ld_internal_16qi
990 + __builtin_altivec_lvsl
991 + __builtin_altivec_lvsr
992 + __builtin_altivec_lvebx
993 + __builtin_altivec_lvehx
994 + __builtin_altivec_lvewx
995 + __builtin_altivec_lvxl
996 + __builtin_altivec_lvx
997 + __builtin_altivec_dst
998 + __builtin_altivec_dstt
999 + __builtin_altivec_dstst
1000 + __builtin_altivec_dststt
1002 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1004 * except.c (default_exception_section): Move variable into the
1005 scope where it is used.
1007 2002-11-27 Krister Walfridsson <cato@df.lth.se>
1009 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1012 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
1014 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1016 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
1018 * config/h8300/h8300.c (h8300_shift_costs): New.
1019 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1020 * config/h8300/h8300-protos.h: Add a prototype for
1023 2002-11-27 Jim Wilson <wilson@redhat.com>
1025 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1028 2002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
1030 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1031 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1032 DLL_IMPORT_EXPORT_PREFIX, not '@'.
1033 (i386_pe_dllimport_name_p): Likewise.
1034 (i386_pe_mark_dllexport): Likewise.
1035 (i386_pe_mark_dllimport): Likewise.
1036 (i386_pe_encode_section_info): Likewise.
1037 (i386_pe_strip_name_encoding): Likewise.
1039 2002-11-27 Richard Henderson <rth@redhat.com>
1041 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1042 (nm && NF == 3): Set sawsymbol true.
1043 (END): Exit if no symbols seen.
1044 (output): Fix map syntax error if no globals for the version.
1046 Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
1048 * builtins.def (DEF_C99_BUILTIN): Fix.
1050 2002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
1052 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1053 (all): Add .size and .type information.
1055 Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
1057 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
1058 partial_reg_stall target.
1060 Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
1062 * i386.md (movhicc): Allow general operand.
1063 (movqicc): New expander.
1064 (movqicc_noc): New pattern.
1065 * i386.c (ix86_expand_carry_flag_compare): New function.
1066 (ix86_expand_int_movcc): Optimize harder using sbb; support more
1067 HImode conversion; support QImode conditional moves
1069 Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
1071 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1072 (ix86_expand_prologue): Multiply the count by amount of registers to be
1075 Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
1077 * i386.c (override_options): Error about wrong -mcpu on x86-64
1080 2002-11-26 NIIBE Yutaka <gniibe@m17n.org>
1082 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1084 Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
1086 * i386-protos.h (x86_extended_QIreg_mentioned_p,
1087 x86_extended_reg_mentioned_p): Declare.
1088 * i386.c (extended_reg_mentioned_1): New static function.
1089 (x86_extended_QIreg_mentioned_p,
1090 x86_extended_reg_mentioned_p): New global functions.
1091 * i386.h (REX_SSE_REGNO_P): New macro.
1092 * i386.md (prefix_rex): New attribute.
1093 (length attribute): Add rex.
1095 2002-11-26 Andrew Haley <aph@redhat.com>
1097 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1098 from_Unwind_Find_Enclosing_Function.
1099 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1100 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1101 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1102 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1103 * unwind.h (_Unwind_FindEnclosingFunction): Add.
1105 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
1107 * config/s390/s390.c (390_output_constant_pool): Set alignment
1108 before label in 64 bit mode, behind otherwise.
1110 2002-11-26 Richard Henderson <rth@redhat.com>
1112 * c-common.c (handle_visibility_attribute): Accept "default".
1113 * tree.h (enum symbol_visibility): New.
1114 (decl_visibility): Declare.
1115 * target.h (gcc_target.visibility): Take visibility arg as integer.
1116 * varasm.c (default_assemble_visibility): Likewise.
1117 (decl_visibility): New.
1118 (maybe_assemble_visibility): Use it.
1119 * output.h (default_assemble_visibility): Update prototype.
1120 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1121 visibility arg as integer.
1122 * doc/extend.texi: Document default visibility.
1124 2002-11-26 Kazu Hirata <kazu@cs.umass.edu>
1126 * config/h8300/h8300.c: Adjust spacing.
1127 * config/h8300/h8300.h: Likewise.
1129 2002-11-26 Richard Henderson <rth@redhat.com>
1131 * hooks.c (hook_bool_void_false, hook_void_tree_int,
1132 hook_void_FILEptr_constcharptr): Rename so that the return
1134 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1135 hook_bool_tree_false): New.
1137 * langhooks-def.h: Update for renames.
1138 * target-def.h: Likewise.
1139 * tree.c (default_comp_type_attributes,
1140 default_set_default_type_attributes, default_insert_attributes,
1141 default_function_attribute_inlinable_p,
1142 default_ms_bitfield_layout_p): Remove.
1145 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
1147 * pa-protos.h (function_value): New prototype.
1148 * pa.c (function_value): Use a PARALLEL to return small aggregates on
1150 * pa.h (FUNCTION_VALUE): Use function_value.
1151 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1152 call_value_internal_reg, sibcall_value_internal_symref,
1153 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1156 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
1158 * expr.c (gen_group_rtx, emit_group_move): New functions.
1159 * expr.h (gen_group_rtx, emit_group_move): Prototype.
1160 * function.c (expand_function_start): Use gen_group_rtx to create a
1161 PARALLEL rtx to hold the return value when the real return rtx is a
1163 (expand_function_end): Use emit_group_move to move the return value
1164 from a PARALLEL to the real return registers.
1165 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1168 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
1170 * config/t-libc-ok: Fix typo.
1172 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1174 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1176 * configure: Rebuilt.
1178 2002-11-26 Nathan Sidwell <nathan@codesourcery.com>
1180 * c-decl.c: (start_struct): Commonize flag setting.
1182 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
1184 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1185 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1186 RS6000_CPU_CPP_ENDIAN_BUILTINS.
1187 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1189 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
1191 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1193 * config/s390/s390.c (struct machine_function): Introduction of
1194 struct machine_function.
1195 (s390_output_symbolic_const): Use of cfun.
1196 (s390_optimize_prolog): Likewise.
1197 (s390_fixup_clobbered_return_reg): Likewise.
1198 (s390_frame_info): Likewise.
1199 (s390_emit_prologue, s390_emit_epilogue): Likewise.
1200 (s390_init_machine_status): New function.
1201 (override_options): call s390_init_machine_status.
1202 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1205 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1207 * varasm.c (output_constant_pool): For pool constants in mergeable
1208 section ensure each constant is padded to multiple of entity size.
1210 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1212 * varasm.c (default_exception_section): Move to...
1213 * except.c (default_exception_section): ... here. Make
1214 .gcc_except_table read-only if it is not expected to have any
1215 dynamic relocations and linker handles it.
1216 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1217 if it is not expected to have any dynamic relocations and linker
1219 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1220 when linking read-only and read-write sections together.
1221 * configure, config.in: Rebuilt.
1222 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1223 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1225 Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
1227 * i386.md (pushsf_rex64): Fix typo.
1229 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
1231 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1233 (__ev_create_ufix32_fs): Same.
1234 (__ev_get_sfix32_fs_internal): New.
1235 (__ev_get_sfix32_fs): Define to use function.
1236 (__ev_get_ufix32_fs_internal): New.
1237 (__ev_get_ufix32_fs): Define to use function.
1238 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1239 (__ev_get_lower_ufix32_fs): Same.
1240 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1241 (__ev_get_lower_sfix32_fs): Same.
1242 (__ev_set_sfix32_fs_internal): New.
1243 (__ev_set_ufix32_fs_internal): New.
1244 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1245 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1246 (__ev_set_upper_sfix32_fs): Call function.
1247 (__ev_set_lower_sfix32_fs): Same.
1248 (__ev_set_upper_ufix32_fs): Same.
1249 (__ev_set_lower_ufix32_fs): Same.
1251 2002-11-25 Douglas B Rupp <rupp@gnat.com>
1253 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1255 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1257 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1258 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1259 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1260 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1261 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1262 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1263 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1264 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1265 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1266 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1267 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1268 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1269 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1270 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1271 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1272 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1273 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1274 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1275 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1276 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1277 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1278 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1279 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1280 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1282 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1283 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1285 2002-11-25 Dave Pitts <dpitts@cozx.com>
1287 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1289 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
1291 * config/h8300/h8300.md (an anonymous pattern): New.
1293 2002-11-25 Richard Henderson <rth@redhat.com>
1295 * alias.c (find_base_value): Use new_reg_base_value if it's live.
1296 (copying_arguments): Make boolean.
1298 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1300 * gcc.c (static_spec_functions): Add if-exists-else spec
1302 (if_exists_else_spec_function): New function.
1303 * doc/invoke.texi: Document the if-exists-else spec function.
1305 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1306 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1308 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1310 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1311 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
1312 "${tmake_file} rs6000/t-netbsd".
1313 * config/rs6000/netbsd.h: Rewrite.
1314 * config/rs6000/t-netbsd: New file.
1316 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
1318 * config/h8300/h8300.md (an anonymous pattern): Relax the
1319 condition for the pattern.
1321 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
1323 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1324 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1325 evmwlssfanw, evmwlsmfanw.
1327 * config/rs6000/rs6000.c (bdesc_2arg): Same.
1329 * config/rs6000/spe.md: Same for patterns.
1331 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
1334 * fold-const.c (extract_muldiv): Don't propagate division unless
1335 both arguments are multiples of C.
1337 2002-11-25 Andrew Haley <aph@redhat.com>
1339 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1340 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1341 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1342 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1344 Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
1346 * i386.c (x86_use_ffreep): New global variable.
1347 * i386.h (x86_use_frfeep): Declare
1348 (TARGET_USE_FFREEP): New macro
1349 * i386.md (movs?f*): Use freep when asked for.
1350 (push?f): Remove dead code.
1352 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
1354 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1355 target help message.
1357 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1359 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1360 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1362 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1363 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1364 to "" for a.out configurations.
1365 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1367 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1369 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1370 NETBSD_CPP_SPEC directly.
1371 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
1372 netbsd_endfile_spec.
1373 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1375 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1377 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1378 NETBSD_STARTFILE_SPEC.
1379 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1380 (ENDFILE_SPEC): Likewise.
1381 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1383 2002-11-24 Andreas Schwab <schwab@suse.de>
1385 * Makefile.in (install-driver): Remove versioned link before
1386 trying to create it.
1388 * config/m68k/m68k.c: Fix typo in last change defining
1389 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1391 2002-11-23 H.J. Lu <hjl@gnu.org>
1393 * aclocal.m4: Include ../config/accross.m4.
1394 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1395 (gcc_AC_C_COMPILE_ENDIAN): Removed.
1396 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1397 instead of $ac_cv_c_compile_endian.
1399 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1400 AC_COMPILE_CHECK_SIZEOF.
1401 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1402 * configure: Rebuild.
1404 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
1406 * config/h8300/h8300.c (print_operand): Update the use of
1407 h8300_tiny_constant_address_p.
1408 (h8300_adjust_insn_length): Likewise.
1409 (h8300_tiny_constant_address_p): Check if the given rtx is a
1410 variable declared with __attribute__ ((tiny_data)).
1412 2002-11-22 Dale Johannesen <dalej@apple.com>
1414 * toplev.c (rest_of_compilation): Fix comments.
1416 2002-11-22 Geoffrey Keating <geoffk@apple.com>
1418 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1419 allow mmap from /dev/zero. Don't make decisions for the host
1420 based on presence or absence of /dev/zero on the build machine.
1421 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1422 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1423 * configure: Regenerate.
1425 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
1427 * gcc.c (make_relative_prefix, split_directories)
1428 (free_split_directories): Removed.
1430 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
1432 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1433 * configure: Regenerated.
1435 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
1437 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1438 length computation when xor.l is output.
1440 2002-11-21 Douglas B Rupp <rupp@gnat.com>
1442 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1443 (call_vms_1, call_value_vms_1): Cleanup syntax.
1445 Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
1447 * athlon.md (define_atuomaton): Add athlon_load.
1448 (athlon-double): New reservation.
1449 (athlon-ieu0): New CPU unit.
1450 (athlon-load?): Use athlon_load automaton.
1451 (*_k8 reservations): New.
1452 (other insn revervations): Activate for K8.
1454 Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
1456 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
1458 2002-11-21 Jim Wilson <wilson@redhat.com>
1460 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1463 2002-11-21 Bob Wilson <bob.wilson@acm.org>
1465 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1466 * config/xtensa/xtensa.c (struct machine_function): Add
1467 incoming_a7_copied flag.
1468 (xtensa_copy_incoming_a7): Define.
1469 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1470 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1472 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
1474 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1475 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1476 x86_64_nonmemory_operand, x86_64_movabs_operand,
1477 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1478 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1479 (local_symbolic_operand): Do not care the 64bit limits.
1480 (x86_64_sign_extended_value): Remove allow_rip support.
1481 (legitimate_pic_address_disp_p): Handle all cases allowed
1482 with RIP addressing.
1483 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1484 (legitimize_pic_address): Reorganize.
1485 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1487 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1489 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1490 * config/arm/netbsd-elf.h: New file.
1492 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1494 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1495 subtarget_asm_float_spec.
1496 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1498 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
1500 2002-11-21 Nick Clifton <nickc@redhat.com>
1502 * config/fr30/fr30.md (movsf_constant_store): Move code to
1503 detect 0.0 into fr30.c.
1504 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1506 * config/fr30/fr30.c (fr30_const_double_is_zero): New
1507 function. Return true if the rtx is 0.0.
1509 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1511 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1512 if -mlittle-endian is specified.
1514 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
1516 PR optimization/2903
1517 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1518 (anddi_notsesidi_di): Likewise.
1520 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
1522 * config/h8300/h8300.c (print_operand): Use
1523 h8300_eightbit_constant_address_p and
1524 h8300_tiny_constant_address_p.
1525 (h8300_adjust_insn_length): Likewise.
1526 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1527 (TINY_CONSTANT_ADDRESS_P): Likewise.
1528 (OK_FOR_U): Use eightbit_constant_address_p.
1530 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
1532 * config/s390/libgcc-libc.ver: Add multilib support.
1533 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1534 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1535 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1536 EXTRA_MULTILIB_PARTS): Define.
1538 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
1540 * arm.c (arm_get_frame_size): A leaf function does not need its
1541 stack padding to an aligned boundary if it has no frame.
1542 (thumb_get_frame_size): Likewise.
1544 Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
1546 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1547 (override_options): Likewise.
1549 Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
1551 * config.gcc: Add k8 target alias support
1552 * i386.c (_cost): Declare costs for various variants of divides and
1555 (m_K8, m_ATHLON_K8): New macros.
1556 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1557 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1558 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1559 x86_integer_DFmode_moves, x86_partial_reg_dependency,
1560 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1561 x86_prologue_using_move, x86_epilogue_using_move,
1562 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1563 x86_sse_typeless_stores): Set for K8
1564 (override_options): Add k8 support; fix athlon alignment;
1565 complain about non-x86-64 capable CPU being used in x86-64 compilation.
1566 (ix86_issue_rate): Set for K8.
1567 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1568 x86_machine_dependent_reorg): Handle K8 like
1570 (x86_costs): Change mult_init and divide into array.
1571 (TARGET_K8, TARGET_ATHLON): New macros.
1572 (MODE_INDEX): New macro.
1573 (RTX_COST): Use new costs.
1574 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
1575 (TARGET_CPU_DEFAULT_NAMES): Add k8
1576 (TARGET_CPU_DEFAULT_k8): New constant
1577 (enum processor_type): Add PROCESSOR_K8.
1578 * i386.md (cpu attribute): Add k8.
1580 * invoke.texi: Document -march=k8.
1582 * i386.md (type attribute): Add leave
1583 (mode attribute): Remove unknownfp.
1584 (length_immediate, modrm, memory attributes): Handle leave correctly.
1585 (fp comparison patterns): Determine FP mode.
1586 (leave, leave_rex64): Remove special cases.
1587 * ppro.md (ppro_uops, ppro_p2): Add leave
1588 * pentiun.md (pent_pop): Handle leave too.
1589 * k6.md (k6_load): Handle leave.
1590 * athlon.md (athlon_leave, athlon_pop): Fix.
1591 (athlon_decode): Handle leave.
1593 2002-11-20 Steve Ellcey <sje@cup.hp.com>
1595 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1596 to component type using GET_MODE_INNER.
1597 * expr.c (emit_move_insn_1): Ditto.
1598 * optabs.c (expand_binop): Ditto.
1599 (expand_unop): Ditto.
1600 (expand_complex_abs): Ditto.
1602 2002-11-20 Douglas B Rupp <rupp@gnat.com>
1604 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1606 2002-11-20 DJ Delorie <dj@redhat.com>
1608 * config/stormy16/stormy16.c (s16builtins,
1609 xstormy16_init_builtins, xstormy16_expand_builtin): New.
1610 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1612 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
1614 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1615 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1616 (executing gencheck, genconfigs, genconditions, genflags,
1617 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1618 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1619 gengtype, genprotos): Prepend $(RUN_GEN).
1620 * configure.in: Move host compiler tests before --enable-checking
1622 (--enable-checking=valgrind): New.
1623 * config.in, configure: Regenerate.
1624 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1626 (read_include_file): When doing the mmap+1 trick,
1627 valgrind-annotate the byte after the mmap:ed area as readable.
1628 (purge_cache): Remove above annotation.
1629 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1630 VALGRIND_PATH -q to each command.
1632 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1634 (ggc_realloc): Update valgrind annotations.
1635 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1637 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1638 valgrind-annotate memory.
1640 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
1642 * recog.c (constrain_operands): Prefer exact match over reloadable
1643 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1645 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1648 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
1651 * c-decl.c (duplicate_decls): Outline the second definition
1652 of an extern inline function in all cases.
1654 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1656 * stor-layout.c (place_field): Update rli->offset as well as
1659 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1661 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1663 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1665 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1666 into a libcall block.
1667 (divsi3): Likewise divsi3_i4_media.
1669 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1671 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1672 out another register.
1674 2002-11-20 Jakub Jelinek <jakub@redhat.com>
1676 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1677 (not just mask) are set in C.
1679 2002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
1681 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1683 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1685 * profile.c (index_counts_file): Fix obvious mistake.
1687 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1689 * Makefile.in (profile.o): Add hashtab.h dependency.
1690 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1691 * profile.c: Include hashtab.h.
1692 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1693 cleanup_counts_index, index_counts_file, struct section_reference,
1694 struct da_index_entry, counts_file_name, counts_file_index): New.
1695 (get_exec_counts, init_branch_prob): Modified.
1697 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
1699 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1700 to tmake_file. Remove setting gas and gnu_ld here.
1701 * config/sh/libgcc-glibc.ver: New file.
1702 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1703 (SHLIB_MAPFILES): New.
1704 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1705 (MD_STARTFILE_PREFIX): Likewise.
1706 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1707 (DWARF2_UNWIND_INFO): Redefine.
1708 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1709 (LINK_EH_SPEC): Redefine.
1710 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1711 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1712 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1713 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1714 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1715 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1716 SH_DWARF_FRAME_FPSCR): Likewise.
1717 * config/sh/sh-protos.h (sh_set_return_address): Declare.
1718 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1719 registers if the current function calls EH return.
1720 (sh_expand_epilogue): Handle EH stack adjustments.
1721 (sh_set_return_address): New function.
1722 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1723 Don't abort even if the number is mapped to -1.
1724 (EH_RETURN_DATA_REGNO): Define.
1725 (EH_RETURN_STACKADJ_RTX): Define.
1726 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1727 (eh_return): New pattern.
1728 (eh_set_ra_di, eh_set_ra_si): Likewise.
1729 Add splitter to perform EH return after reload.
1731 Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
1733 * stor-layout.c (excess_unit_span): New function.
1734 (place_field): Use it.
1736 2002-11-19 Andreas Schwab <schwab@suse.de>
1738 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1741 2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
1743 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1744 * configure: Regenerate.
1746 Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
1748 * convert.c (strip_float_extensions): New function.
1749 (convert_to_real): Optimize some cases.
1751 2002-11-19 Andreas Jaeger <aj@suse.de>
1753 * loop.c (record_giv): Initialize not_replaceable.
1754 (check_final_value): Likewise.
1756 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1758 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1761 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
1763 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1764 only if -mh or -ms present.
1765 (h8300_eightbit_constant_address_p): Support the normal mode.
1766 (h8300_tiny_constant_address_p): Likewise.
1767 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1768 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1769 (Pmode): Evaluate to HImode for the normal mode.
1770 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1771 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1772 (ASM_WORD_OP): Evaluate to word for the normal mode.
1773 * config/h8300/h8300.md (tablejump_normal_mode): New.
1774 (indirect_jump_normal_mode): New.
1775 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1777 (MULTILIB_DIRNAMES): Create target dependent directory
1779 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1780 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1782 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
1784 * i386.md (length_immediate): Do not refer to insn address.
1785 (jcc*, jmp patterns): Compute length explicitly.
1787 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1790 * optabs.c (expand_binop): Convert CONST_INTs in shift
1793 2002-11-19 Roger Sayle <roger@eyesopen.com>
1795 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1797 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1799 * config/h8300/h8300.md (an anonymous pattern): Relax the
1800 condition to accept the same operands and/or subregs.
1802 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
1804 * config/sh/sh.c (gen_shl_and): Revert previous patch.
1805 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1808 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1810 * config/h8300/h8300.c (print_operand): Update the use of
1811 EIGHTBIT_CONSTANT_ADDRESS_P.
1812 (h8300_adjust_insn_length): Likewise.
1813 (h8300_eightbit_constant_address_p): Check if the given rtx is
1814 a variable with __attribute__((eightbit_data)).
1815 * config/h8300/h8300.h (OK_FOR_U): Update the use of
1816 EIGHTBIT_CONSTANT_ADDRESS_P.
1818 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1820 * doc/contrib.texi (Contributors): Add self as second contact in
1821 addition to Jeff Law.
1823 2002-11-19 Andreas Jaeger <aj@suse.de>
1825 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1826 find_alloca_call to right place.
1828 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1830 * cppfiles.c: Fix formatting.
1832 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
1834 * gcc.c (The Specs Language): Document spec functions.
1835 (static_spec_functions, lookup_spec_function)
1836 (eval_spec_function, handle_spec_function)
1837 (if_exists_spec_function, alloc_args): New.
1838 (execute): Abort if processing_spec_function is true.
1839 (do_spec_1): Hand off spec to handle_spec_function if %:
1840 is encountered. If processing_spec_function is true,
1841 end any pending argument when the end of the string is reached.
1842 (main): Use alloc_args to allocate the initial argument vector.
1843 * gcc.h (struct spec_function): New.
1844 (lang_specific_spec_functions): New extern.
1846 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1847 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1848 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1850 * doc/invoke.texi: Document spec functions.
1852 * cppspec.c (lang_specific_spec_functions): New.
1853 * gccspec.c: Likewise.
1855 2002-11-18 Steve Ellcey <sje@cup.hp.com>
1857 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1858 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1859 (fixunstfsi_libfunc): Change.
1860 (fixunstfdi_libfunc): Change.
1861 (sdiv_optab): Don't zero out SImode handler.
1862 (udiv_optab): Don't zero out SImode handler.
1863 (smod_optab): Don't zero out SImode handler.
1864 (umod_optab): Don't zero out SImode handler.
1866 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
1868 PR preprocessor/8524
1869 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1870 Add a new one in its place, which hopefully works.
1871 (skip_rest_of_line): Change test for bottom-of-context-stack.
1873 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
1875 * i386.md (addqi_1_slp): Fix output template.
1876 (subqi_1_slp): Fix type.
1878 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
1880 * calls.c (alloca_call_p): New global function.
1881 * tree.h (alloca_call_p): New.
1882 * tree-inline.c (inlinable_function_p): Do not inline when
1883 function calls alloca.
1884 (find_alloca_call, find_alloca_call_1): New functions.
1886 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
1888 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
1889 bst. Update the insn length.
1890 (*andorhi3): Likewise.
1891 (*andorsi3): Likewise.
1893 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1895 * config/sh/sh-protos.h (sh_mark_label): Declare.
1896 * config/sh/sh.c (sh_mark_label): New function, taken from
1897 movdi_const, but fixing the case when the address has an addend.
1898 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
1900 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1902 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
1903 (add_constant): Set it.
1904 (dump_table): Don't reorder a constant if part_of_sequence_p.
1905 (machine_dependent_reorg): Assume that float constants will
1906 stay in their original order if used as a sequence.
1908 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1910 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
1913 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1915 * config/sh/sh.md (initialize_trampoline): Do not force the
1916 trampoline address into R0_REGS here.
1918 Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
1920 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1921 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1922 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1923 generate unnecesary subregs.
1925 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1927 * df.c: Fix formatting.
1929 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1931 * config/h8300/h8300.md (two anonymous patterns): Fix insn
1934 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
1936 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
1937 is not an arith_reg_operand.
1939 2002-11-17 Graham Stott <graham.stott@btinternet.com>
1941 * real.c (real_to_decimal): Fix buffer overrun when buffer size
1942 is smaller than representation.
1944 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1946 * builtins.c: Fix formatting.
1948 Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
1950 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
1952 Work around regclass stupidity.
1953 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
1955 Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
1957 * i386.md (fop_df_6): New pattern.
1958 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
1961 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
1965 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1967 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
1969 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1971 * config/h8300/h8300.md: Fix formatting.
1973 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1975 * config/h8300/h8300.md: Replace spaces with tabs.
1976 * config/h8300/t-h8300: Remove a trailing empty line.
1978 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1980 * tlink.c: Fix formatting.
1982 2002-11-16 David Edelsohn <edelsohn@gnu.org>
1985 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
1986 * config/rs6000/rs6000.md (movti_string): Remove output modifier
1987 when scratch register never needed.
1988 (ldmsi[3-8]): New patterns.
1990 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1992 * hard-reg-set.h: Follow spelling conventions.
1994 * target.h: Likewise.
1996 2002-11-16 Jakub Jelinek <jakub@redhat.com>
1998 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2000 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
2002 * optabs.c: Fix formatting.
2004 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
2006 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2007 * i386.md (attribute type): Add type shift1 and rotate1.
2008 (*_slp): Rewrite to have just two operands to avoid reload problems.
2010 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
2012 * config/h8300/h8300.md (4 anonymous patterns): New.
2014 2002-11-15 Geoffrey Keating <geoffk@apple.com>
2016 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2017 * doc/invoke.texi: Correct description of what needs to be done to
2018 force collection at every ggc_collect call.
2020 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
2022 * config/s390/s390.c (optimization_options): Set
2023 flag_asynchronous_unwind_tables to 1 by default.
2025 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
2027 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2029 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
2031 * i386-protos.h (x86_function_profiler): New function
2032 * i386.h (MCOUNT_NAME): New.
2033 (PROFILE_COUNT_REGISTER): New.
2034 (FUNCTION_PROFILER): Move offline to ...
2035 * i386.c (x86_function_profiler) ... here; fix 64bit support
2036 * beos-elf.h (FUNCTION_PROFILER): Kill.
2038 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2040 (PROFILE_COUNT_REGISTER): New.
2041 * linux.h (FUNCTION_PROFILER): Kill.
2043 * x86-64.h (FUNCTION_PROFILER): Kill.
2045 * freebsd.h (FUNCTION_PROFILER): Kill.
2048 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2050 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2051 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2052 * config/arm/arm.c (arm_va_arg,
2053 arm_function_arg_pass_by_reference): New.
2054 * config/arm/arm-protos.h: Add prototypes.
2056 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
2058 * gthr-single.h: Fix formatting.
2060 2002-11-14 Zack Weinberg <zack@codesourcery.com>
2062 * tree.c (tree_vec_elt_check_failed): New function.
2063 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2064 (TREE_VEC_ELT): Use it.
2066 * tree-inline.c (optimize_inline_calls): Don't copy a
2069 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
2071 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2073 2002-11-14 Jakub Jelinek <jakub@redhat.com>
2075 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2076 both operands contain local relocations.
2077 (categorize_decl_for_section): Don't use mergeable sections if
2078 initializer has any relocations.
2080 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
2082 * gthr-vxworks.h: Fix formatting.
2084 2002-11-13 Janis Johnson <janis187@us.ibm.com>
2086 * doc/install.texi (Testing): Document extra Java testing.
2087 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2089 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
2091 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2092 beginning of the spec.
2093 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2094 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
2095 regarding problems with global constructors when using GNU ld.
2097 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
2099 * gthr-solaris.h: Fix formatting.
2101 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
2103 * gthr-posix.h: Fix formatting.
2105 2002-11-12 Devang Patel <dpatel@apple.com>
2107 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2108 (process_command): Same.
2109 * doc/invoke.texi: Info about these two new options.
2111 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2113 * config/h8300/h8300.md (*andorsi3): New.
2115 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2117 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2119 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2121 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2122 expressions appropriately.
2124 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2126 * gthr-win32.h: Fix formatting.
2128 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2130 * config/h8300/h8300.c (single_one_operand): Correctly compute
2131 mask when mode is SImode.
2132 (single_zero_operand): Likewise.
2133 * config/h8300/h8300.md (two new anonymous insns): New.
2135 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2137 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2138 to that entire project.
2140 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2142 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2145 2002-11-11 Zack Weinberg <zack@codesourcery.com>
2147 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2148 * doc/invoke.texi: Document them.
2150 * ggc-page.c: Include params.h. Remove definitions of
2151 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
2152 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2153 (init_gcc): Don't set G.allocated_last_gc here.
2154 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2155 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2157 * ggc-simple.c: Similarly.
2158 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2161 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
2163 * gthr-dce.h: Fix formatting.
2165 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2168 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2169 mode of DECL_RTL case.
2171 2002-11-11 Janis Johnson <janis187@us.ibm.com>
2173 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2175 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
2177 * i386.c (construct_container): Fix handling of SSE_CLASS.
2179 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
2181 * config/m68k/t-crtstuff (crti.o): Use this...
2182 ($(T)crti.o): ... instead.
2183 (crtn.o): Use this...
2184 ($(T)crtn.o): ... instead.
2186 2002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2189 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2190 if there is something new to be simplified.
2192 2002-11-10 H.J. Lu <hjl@gnu.org>
2194 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2195 * expr.c (PUSH_ARGS_REVERSED): Likewise.
2197 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2199 2002-11-10 Zack Weinberg <zack@codesourcery.com>
2201 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2202 * config/rs6000/linux.h, config/rs6000/linux64.h,
2203 config/rs6000/windiss.h: ... not here.
2205 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
2207 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2208 __ABICALLS__ if TARGET_ABICALLS.
2210 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
2212 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2214 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
2216 * c-decl.c (grokdeclarator): Make error for duplicate type
2217 qualifiers into a pedwarn, disabled for C99.
2219 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
2221 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2222 as FUNCTION_ARG_PASS_BY_REFERENCE.
2224 2002-11-09 Zack Weinberg <zack@codesourcery.com>
2226 * doc/install.texi: Add *-*-vxworks* specific installation
2229 * config/vxlib.c: Rewrite using generation numbers to identify
2232 Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
2234 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2236 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2238 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2240 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2241 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
2242 * pa.c (output_millicode_call): Use symbol difference rather than
2243 $PIC_pcrel$0 when using HP assembler.
2244 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2245 not elfos.h (i.e., gas) is being used.
2246 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2247 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2248 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2249 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2250 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2252 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2253 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2254 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2256 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2257 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2258 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2259 Don't define when not using elfos.h.
2260 (ASM_DECLARE_RESULT): Don't define.
2261 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2262 doesn't work on hppa64-hp-hpux11.
2263 (hppa*-hp-hpux11): Update.
2265 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
2267 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2268 to the assembler if -mno-abicalls was specified.
2270 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2272 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2273 ASM_OUTPUT_DEF): Delete.
2275 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
2277 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2279 2002-11-08 Roger Sayle <roger@eyesopen.com>
2281 * real.c (real_sqrt): Update comment with bibliographic reference.
2283 Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
2285 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2287 Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
2289 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2291 Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
2293 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2294 (expand_builtin): Likewise.
2296 __builtin_floor, __builtin_floorf, __builtin_floorl
2297 __builtin_ceil, __builtin_ceilf, __builtin_ceill
2298 __builtin_round, __builtin_roundf, __builtin_roundl
2299 __builtin_trunc, __builtin_truncf, __builtin_truncl
2300 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2301 * genopinit.c (optabs): Initialize the new optabs.
2302 * optab.c (init_optabs): Likewise.
2303 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2304 OTI_round, OTI_nearbyint.
2305 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2306 * doc/md.texi: Document new named patterns.
2307 * doc/extend.texi (builtin functions) Document
2308 floor, floorf, floorl, ceil, ceilf,
2309 ceill, round, roundf, roundl, trunc,
2310 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2312 Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
2314 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2316 2002-11-08 Dale Johannesen <dalej@apple.com>
2318 * dbxout.c (dbxout_type): Fix stabs info for vector types.
2320 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
2322 PR preprocessor/8497
2323 PR preprocessor/8501
2324 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2325 start a directive. In assembler, #NUM is not a line directive.
2327 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
2329 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2332 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
2334 * config/h8300/h8300.md (two anonymous test insns): New.
2336 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
2338 * jump.c (mark_jump_label): Handle subregs of label_refs.
2340 Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
2342 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2343 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2345 2002-11-07 David Mosberger <davidm@hpl.hp.com>
2347 * config/ia64/crtend.asm: Include "auto-host.h".
2348 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2349 * config/ia64/crtbegin.asm: Similarly.
2350 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2351 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2353 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2354 * configure.in: Use it if --enable-initfini-array not specified.
2355 * doc/install.texi (Configuration): Document --enable-initfini-array.
2356 * configure, config.in: Rebuild.
2358 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
2360 * config/arm/arm-protos.h (arm_get_frame_size)
2361 (thumb_get_frame_size): New prototypes.
2362 * config/arm/arm.c (arm_get_frame_size)
2363 (thumb_get_frame_size): New functions.
2364 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2365 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2367 (thumb_expand_prologue, thumb_expand_epilogue): Use
2368 thumb_get_frame_size.
2369 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2370 (machine_function): Add frame_size member.
2371 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2373 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
2375 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
2376 Adjust code to use portable unsigned bit manipulation.
2377 (insn_flags, tune_flags): Change type to unsigned.
2378 (struct processors): Make flags unsigned long.
2379 (arm_override_options): Change type of count and current_bit_count
2382 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
2384 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2386 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
2388 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2390 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
2392 * reg-stack.c (compensate_edge): Fix sanity check.
2394 2002-11-05 Geoffrey Keating <geoffk@apple.com>
2396 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2397 crt2.o. Rearrange t-darwin makefiles.
2398 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2399 * unwind-dw2-fde-darwin.c: New.
2400 * unwind-dw2-fde-glibc.c: Correct comment.
2401 * unwind-dw2-fde.c (__register_frame_info_bases)
2402 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2403 (classify_object_over_fdes): Use last_fde.
2404 (add_fdes): Likewise.
2405 (linear_search_fdes): Likewise.
2406 * unwind-dw2-fde.h (struct object)
2407 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2409 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2410 (ENDFILE_SPEC): No crtend.o.
2411 * config/t-darwin: New.
2412 * config/i386/t-darwin: Delete.
2413 * config/darwin-crt2.c: New.
2414 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2417 2002-11-06 Douglas B Rupp <rupp@gnat.com>
2419 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2420 MASK_MS_BITFIELD_LAYOUT
2421 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2422 MS bitfields for Objective-C.
2423 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2426 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2427 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2428 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2430 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2431 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2432 (TARGET_SWITCHES): Add above mask.
2434 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2435 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2436 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2439 Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
2441 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2442 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2444 * config/mips/mips.md (tablejump_internal3): Output .cpadd
2445 before jump on ABI_N32 too.
2446 (tablejump_internal4): Ditto on ABI_64. Increase maximum
2449 Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
2451 * i386.md (negsf splitter): Accept memory operand in second register.
2452 (abssf/absdf splitters): Simplify
2453 (sse_loadss, sse_loadsd): Turn into expander.
2455 2002-11-06 David Edelsohn <edelsohn@gnu.org>
2458 * config/rs6000/rs6000.md (movdi_internal64): Discourage
2461 2002-11-06 Janis Johnson <janis187@us.ibm.com>
2463 * doc/contrib.texi: Merge in the list from the Java web pages.
2465 2002-11-06 David O'Brien <obrien@FreeBSD.org>
2467 * config/sparc/freebsd: Fix typo.
2469 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
2471 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2473 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
2475 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2476 non-SImode addresses.
2478 Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
2480 * i386.md (float_truncate SSE splitter): Ensure that operand is not
2482 (float SSE splitters): Reorder conditional.
2484 2002-11-05 Bob Wilson <bob.wilson@acm.org>
2486 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2488 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
2490 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2491 (STARTFILE_SPEC): Remove p and pg options.
2493 2002-11-05 Andrew Haley <aph@redhat.com>
2495 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2496 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2498 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
2500 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2501 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2503 2002-11-04 Zack Weinberg <zack@codesourcery.com>
2505 * gthr-vxworks.h: Rewritten from scratch.
2506 * config/vxlib.c: New file.
2507 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2508 * config/rs6000/t-vxworks: Add config/vxlib.c to
2509 LIB2FUNCS_EXTRA here too, because of clash with
2510 config/rs6000/t-ppccomm.
2512 2002-11-04 Dale Johannesen <dalej@apple.com>
2514 * doloop.c (doloop_modify_runtime): Fix loop count computation
2516 * loop.c (loop_invariant_p): Support calling from unroller.
2518 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
2520 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2523 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
2525 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2527 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2528 (CLASS_CANNOT_CHANGE_MODE): Remove.
2529 (CANNOT_CHANGE_MODE_CLASS): New.
2531 * config/alpha/alpha.h: Same.
2533 * config/ia64/ia64.h: Same.
2535 * config/mips/mips.h: Same.
2537 * config/s390/s390.h: Same.
2539 * config/sh/sh.h: Same.
2541 * config/pa/pa64-regs.h: Same.
2543 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2545 * config/sh/sh.c (sh_cannot_change_mode_class): New.
2547 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2550 * config/mips/mips.c (mips_cannot_change_mode_class): New.
2552 * doc/tm.texi (Register Classes): Remove
2553 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2554 Document CANNOT_CHANGE_MODE_CLASS.
2556 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2557 (push_reload): Same.
2559 * simplify-rtx.c (simplify_subreg): Same.
2561 * reload1.c (choose_reload_regs): Same.
2563 * recog.c (register_operand): Same.
2565 * regrename.c (mode_change_ok): Change to use new
2566 CANNOT_CHANGE_MODE_CLASS infrastructure.
2568 * regclass.c (cannot_change_mode_set_regs): New.
2569 Declare subregs_of_mode.
2570 (regclass): Use subregs_of_mode.
2571 Remove references to reg_changes_mode.
2572 (init_reg_sets_1): Remove class_can_change_mode and
2573 reg_changes_mode code.
2574 (invalid_mode_change_p): New.
2575 (dump_regclass): Use invalid_mode_change_p instead of
2576 class_can_change_mode.
2578 (record_operand_costs): Do not set reg_changes_mode.
2580 * local-alloc.c (struct qty): Remove changes_mode field.
2581 (alloc_qty): Remove changes_mode initialization.
2582 (update_qty_class): Remove set of changes_mode.
2583 (find_free_reg): Use subregs_of_mode.
2585 * global.c (find_reg): Use subregs_of_mode info.
2587 * rtl.h (cannot_change_mode_set_regs): New prototype.
2588 (invalid_mode_change_p): Same.
2589 (REG_CANNOT_CHANGE_MODE_P): New macro.
2591 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
2593 (life_analysis): Clear subregs_of_mode.
2595 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2596 Remove use of CLASS_CANNOT_CHANGE_MODE.
2597 (simplify_set): Same.
2598 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
2601 * regs.h: Add extern for subregs_of_mode;
2602 Include hard-reg-set and basic-block.
2603 (REG_CHANGES_MODE): Delete.
2605 2002-11-03 Roger Sayle <roger@eyesopen.com>
2607 * real.c (real_sqrt): New function to calculate square roots.
2608 * real.h (real_sqrt): Add function prototype.
2609 * builtins.c (fold_builtin): Fold sqrt of constant argument.
2610 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2611 of constant argument.
2613 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
2615 * jump.c (never_reached_warning): Don't set contains_insn until the
2616 first line note is seen.
2618 2002-11-03 David Edelsohn <edelsohn@gnu.org>
2620 * config/rs6000/rs6000.md (movti_string): Use string instructions.
2622 2002-11-03 Roger Sayle <roger@eyesopen.com>
2625 * c-typeck.c (c_expand_asm_operands): Defend against
2626 error_mark_nodes in the output argument to avoid ICE.
2628 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2631 * genrecog.c (preds): Handle ADDRESSOF.
2632 (validate_pattern): Mark it as an lvalue.
2634 2002-11-02 David Edelsohn <edelsohn@gnu.org>
2636 * config/rs6000/rs6000.c (rs6000_override_options): Use string
2637 instructions when optimizing for size.
2639 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
2641 * config/h8300/h8300.h: Fix comment typos.
2642 * config/h8300/h8300.md: Likewise.
2643 * config/h8300/lib1funcs.asm: Likewise.
2645 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2649 *doc/install.texi (Installing GCC: Configuration): Clarify
2650 the only supported ways to configure gcc.
2652 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
2654 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2655 instead of 'O' for the constraint for the second operand.
2657 2002-11-01 Mark Mitchell <mark@codesourcery.com>
2660 * toplev.c (rest_of_compilation): Do not refuse to output code for
2661 an inline function in a local class.
2663 2002-11-01 David O'Brien <obrien@FreeBSD.org>
2665 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2666 (TRANSFER_FROM_TRAMPOLINE): Reformat.
2669 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
2671 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2673 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2675 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2677 2002-11-01 Steve Ellcey <sje@cup.hp.com>
2679 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2680 (MASK_INLINE_DIV_THR): Remove.
2681 (TARGET_INLINE_DIV_LAT): Remove.
2682 (TARGET_INLINE_DIV_THR): Remove.
2683 (TARGET_INLINE_DIV): Remove.
2684 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2685 (MASK_INLINE_FLOAT_DIV_THR): New macro.
2686 (MASK_INLINE_INT_DIV_LAT): New macro.
2687 (MASK_INLINE_INT_DIV_THR): New macro.
2688 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2689 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2690 (TARGET_INLINE_INT_DIV_LAT): New macro.
2691 (TARGET_INLINE_INT_DIV_THR): New macro.
2692 (TARGET_INLINE_FLOAT_DIV): New macro.
2693 (TARGET_INLINE_INT_DIV): New macro.
2694 * config/ia64/ia64.md (divsi3): Change to use new macros.
2698 (divsi3_internal): Ditto.
2703 (divdi3_internal_lat): Ditto.
2704 (divdi3_internal_thr): Ditto.
2706 (divsf3_internal_lat): Ditto.
2707 (divsf3_internal_thr): Ditto.
2709 (divdf3_internal_lat): Ditto.
2710 (divdf3_internal_thr): Ditto.
2712 (divtf3_internal_lat): Ditto.
2713 (divtf3_internal_thr): Ditto.
2714 * config/ia64/ia64.c (ia64_override_options): Change
2715 to check new macros for conflicts in settings.
2716 * doc/invoke.texi (-minline-divide-min-latency): Remove.
2717 (-minline-divide-max-throughput): Remove.
2718 (-minline-float-divide-min-latency): New.
2719 (-minline-float-divide-max-throughput): New.
2720 (-minline-int-divide-min-latency): New.
2721 (-minline-int-divide-max-throughput): New.
2723 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
2726 * arm.c (use_return_insn): Don't use a return insn if there are
2727 saved integer regs, but LR is not one of them.
2729 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
2731 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
2732 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2734 Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
2736 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
2737 (movps, movpd splitters): Use canonical form.
2738 (movv2di): Fix merge problem.
2740 Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
2742 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2744 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
2746 PR optimization/6162
2747 * doc/md.texi: Document restriction on commutative operand
2750 2002-10-31 Eric Christopher <echristo@redhat.com>
2752 * explow.c (convert_memory_address): Use shallow_copy_rtx.
2754 2002-10-31 Steve Ellcey <sje@cup.hp.com>
2756 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2758 2002-10-31 Steve Ellcey <sje@cup.hp.com>
2760 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2762 Thu Oct 31 Dale Johannesen <dalej@apple.com>
2764 * config/rs6000/darwin.h: Correct formatting in previous.
2766 Thu Oct 31 Dale Johannesen <dalej@apple.com>
2768 * config/rs6000/darwin.h: Enable -falign-xxx options.
2770 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
2772 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2773 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2774 * i386.c (optimization_options): Set flag_omit_frame_pointer,
2775 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2776 Do not clear -momit-leaf-frame-pointer when profiling.
2777 (ix86_frame_pointer_required): Frame pointer is always required when
2780 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
2782 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2784 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
2786 * sh.h (binary_logical_operator): Declare.
2787 * sh.c (binary_logical_operator): New function.
2788 * sh.md (xordi3+1): New combiner splitter pattern.
2790 2002-10-31 David O'Brien <obrien@FreeBSD.org>
2792 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2793 __enable_execute_stack function.
2795 2002-10-30 Zack Weinberg <zack@codesourcery.com>
2797 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2798 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2799 * unwind-sjlj.c (fc_key_dtor): Delete.
2800 (fc_key_init): Adjust __gthread_key_create call to match.
2802 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
2804 * c-common.c: Add GTY to vector_type_node_list.
2806 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
2808 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2809 * pa-protos.h (attr_length_millicode_call, attr_length_call,
2810 pa_init_machine_status): Declare new global functions.
2811 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2812 implement new functions.
2813 (attr_length_millicode_call, attr_length_call): Implement.
2814 (total_code_bytes): Change type to long.
2815 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2816 Reset counter if flag_function_sections.
2817 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2818 (output_cbranch): Move call to gen_label_rtx.
2819 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2820 delay slot in all variants, shorten pc-relative calls.
2821 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2822 slot usage and exposure, various new call variants, and shortened
2823 sequences for some variants on TARGET_PA_20.
2824 Miscellaneous format changes.
2825 * pa.h (total_code_bytes): Change type to long.
2826 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2827 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2828 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2829 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2830 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2831 stores on TARGET_ELF32.
2832 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2833 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2834 canonicalize_funcptr_for_compare expanders): Calculate attribute length
2835 attr_length_millicode_call().
2836 (call_internal_symref, call_value_internal_symref): Clobber register 1.
2837 Calculate attribute length using attr_length_call().
2838 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2840 (sibcall, sibcall_value): Rewrite.
2841 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2842 register 1. Use attr_length_call().
2843 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2845 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2846 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2847 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2848 * doc/invoke.texi (mlong-calls): Document.
2850 2002-10-30 Roger Sayle <roger@eyesopen.com>
2852 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
2853 handling of cases where one or both branches of the conditional
2854 have void type, i.e. throw an exception or don't return.
2855 (fold): Only apply (and undo) type conversion to the non-void
2856 branches of a COND_EXPR.
2858 2002-10-30 Mark Mitchell <mark@codesourcery.com>
2861 * varasm.c (asm_output_aligned_bss): Do not call
2862 ASM_GLOBALIZE_LABEL.
2864 2002-10-30 David Edelsohn <edelsohn@gnu.org>
2865 Torbjorn Granlund <tege@swox.com>
2867 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2869 (load_toc_v4_PIC_1b): Same.
2871 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
2873 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2874 Truncate the addresses for H8/300 using HImode.
2876 Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
2878 * i386.md (negdf splitter): Fix construction of the constant.
2880 Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
2882 * i386.md (negsf, negdf): Reorganize to use vector modes
2884 (abssf, absdf): Use force_reg.
2885 (movv4sf, movv2df): New splitters.
2886 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
2887 * i386.c (zero_extended_scalar_load_operand
2889 * i386-protos.h (ix86_expand_call): Update prototype.
2890 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
2891 (ix86_expand_call): Use r11 for indirect sibcalls.
2892 * i386.md (call, call_value, untyped_call, call_value_pop):
2893 update x86_expand_call call.
2894 (sibcall, sibcall_value): new patterns
2895 (call_rex64, call_value_rex64): Do not accept sibcalls.
2896 (sibcall_rex64, sibcall_value_rex64,
2897 sibcall_rex64_v, sibcall_value_rex64_v): New.
2899 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
2901 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2904 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
2906 * toplev.c (rest_of_type_compilation): Return early in case of
2908 (check_global_declarations): Don't call debug_hooks->global_decl
2911 2002-10-28 Andreas Bauer <baueran@in.tum.de>
2913 * doc/c-tree.texi (Tree overview): Fix typos.
2915 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
2917 * Makefile.in (gnucompare*): Only record bad comparisons
2918 if there really was a bad comparison.
2920 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
2922 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
2923 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
2924 * md.texi (machine dependent constraints): Document 'C'
2926 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
2928 * i386.c (ix86_expand_vector_move): Fix.
2930 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
2931 * i386.md (sse2_maskmovdqu_rex64): New pattern
2934 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
2935 (ix86_init_mmx_sse_builtins): Fix type.
2937 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
2939 * gthr-posix.h: Include <unistd.h> for feature tests.
2940 (sched_get_priority_max, sched_get_priority_min)
2941 (pthread_getschedparam, pthread_setschedparam): Only use
2942 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
2943 (__gthread_objc_thread_set_priority): Don't treat all non-zero
2944 returns from sched_get_priority_max and sched_get_priority_min
2947 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2949 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
2952 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2954 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
2955 (h8300_tiny_constant_address_p): Likewise.
2956 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
2957 h8300_eightbit_constant_address_p.
2958 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
2959 * config/h8300/h8300-protos.h: Add the prototypes for the two
2962 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2964 * reload1.c (update_eliminables): Unconditionally check if
2965 frame_pointer_needed has changed.
2967 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
2969 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2972 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2974 PR optimization/8334
2975 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
2976 check for zero operands explicitly.
2978 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
2980 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
2981 memory after adjusting to BLKmode.
2983 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2985 * config/h8300/h8300.h (MASK_*): New.
2986 (TARGET_*): Use MASK_*.
2988 2002-10-28 Zack Weinberg <zack@codesourcery.com>
2990 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
2991 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
2992 config/rs6000/vxworks.h: New files.
2993 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
2995 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
2996 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
2997 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
2998 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
2999 sparc-*-vxsim*): Delete stanzas.
3000 * gthr-vxworks.h: Rip out all substantive code and just
3001 include gthr-single.h.
3003 * config/alpha/vxworks.h, config/arm/vxarm.h,
3004 config/i386/vxi386.h, config/i960/t-vxworks960,
3005 config/i960/vx960-coff.h, config/i960/vx960.h,
3006 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3007 config/mips/vxworks.h, config/rs6000/vxppc.h,
3008 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3009 config/sparc/vxsim.h, config/sparc/vxsparc.h,
3010 config/sparc/vxsparc64.h: Delete files.
3012 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
3014 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3015 tm_defines if pthreads are enabled.
3016 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3017 if NETBSD_ENABLE_PTHREADS is defined.
3019 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
3021 * ChangeLog.1: Fix typos.
3022 * cse.c: Fix a comment typo.
3023 * reload1.c: Likewise.
3025 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
3027 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3028 * fixinc/tests/base/_G_config.h: New file.
3030 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
3032 * combine.c: Fix comment formatting.
3035 * regclass.c: Likewise.
3036 * regmove.c: Likewise.
3037 * regrename.c: Likewise.
3038 * reg-stack.c: Likewise.
3039 * reload1.c: Likewise.
3040 * reload.c: Likewise.
3041 * reload.h: Likewise.
3042 * unroll.c: Likewise.
3044 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
3046 * reload1.c (reload): Fix a comment typo.
3048 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
3050 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
3052 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3054 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3055 * dwarf2out.c: Include hashtab.h.
3056 (is_main_source): New static variable.
3057 (attr_checksum, die_checksum): Modified to handle die references.
3058 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3059 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3060 record_comdat_symbol_number): New static functions.
3061 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3062 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3063 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3066 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
3068 * config/h8300/h8300.c (initial_offset): Change to
3069 h8300_initial_elimination_offset.
3070 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3071 h8300_initial_elimination_offset.
3072 * config/h8300/h8300-protos.h: Update the prototype.
3074 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
3076 * config/mmix/mmix.h (LIBCALL_VALUE): Use
3077 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3078 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3079 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3080 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3082 (mmix_function_value_regno_p): Declare.
3084 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3085 invalid for floating point mode result, with fix.
3087 Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
3089 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3090 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3091 (stage1_build): Likewise.
3093 2002-10-25 Mike Stump <mrs@apple.com>
3095 Fixes gcc.dg/warn-1.c.
3096 * c-typeck.c (warn_for_assignment): Don't print argument number,
3099 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
3101 * toplev.c (dump_file_index): Add DFI_ce3.
3102 (dump_file_info): Likewise.
3103 (rest_of_compilation): Run first ifcvt pass before tracer.
3105 2002-10-25 Steve Ellcey <sje@cup.hp.com>
3107 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3109 2002-10-25 Richard Henderson <rth@redhat.com>
3111 * real.c (real_to_decimal): If the >1 tens reduction loop results
3112 in a negative exponent, fall into the <1 pten computation.
3114 2002-10-25 Zack Weinberg <zack@codesourcery.com>
3117 * c-objc-common.c (inline_forbidden_p): Can not inline
3118 functions containing structures or unions containing VLAs.
3119 * tree-inline.c (walk_tree): For all class 't' nodes, walk
3120 TYPE_SIZE and TYPE_SIZE_UNIT.
3121 (copy_tree_r): Copy types if they are variably modified.
3123 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
3125 * config/s390/s390.md: Remove old-style peepholes.
3127 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
3129 * config/s390/s390.c (s390_decompose_address): Do not range check the
3130 displacement if base or index is the argument pointer register.
3132 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
3137 * fixinc/inclhack.def (libc1_G_va_list): New fix.
3138 * fixinc/fixincl.x: Regenerate.
3139 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3140 ifndef IN_LIBGCC2. Wrap it together with signal.h and
3141 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3142 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3143 * config.in, configure: Regenerate.
3145 2002-10-24 Igor Shevlyakov <igor@microunity.com>
3147 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3149 2002-10-24 Richard Henderson <rth@redhat.com>
3151 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3153 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3155 * config/h8300/h8300.c (initial_offset): Simplify by using
3158 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
3160 * doc/install.texi (avr): Update required binutils version.
3162 2002-10-24 Theodore A. Roth <troth@openavr.org>
3164 * doc/install.texi: Point avr users at more up-to-date information.
3166 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3168 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3169 to pull operands out of the literal pool where possible.
3171 2002-10-24 Denis Chertykov <denisc@overta.ru>
3173 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3175 2002-10-24 Steve Ellcey <sje@cup.hp.com>
3177 * expr.c (convert_move): If unsignedp is less then zero there
3178 is no equivalent code.
3180 2002-10-24 Zack Weinberg <zack@codesourcery.com>
3182 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3184 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3186 * config/s390/s390.h: Rework comments; re-sort target macro definitions
3187 according to the sequence they are defined in the manual.
3188 (POINTER_BOUNDARY): Remove.
3190 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3192 * config/h8300/h8300.c (round_frame_size): Replace 8 with
3195 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3197 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3199 (TINY_CONSTANT_ADDRESS_P): Likewise.
3201 2002-10-24 Richard Henderson <rth@redhat.com>
3203 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3204 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3207 2002-10-24 Richard Henderson <rth@redhat.com>
3210 * reload.c (find_reloads_toplev): Mode of X is not important
3211 when simplifying subregs of constants.
3213 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
3215 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3216 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3217 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3218 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3219 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3221 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
3223 * optabs.c (expand_binop): Don't reuse the shift target in the
3224 middle of shift sequences.
3226 Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
3228 * i386.md (abs splitters): Do not produce nested subregs.
3230 Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
3232 * i386.md (movti_rex64): Fix constraints.
3234 Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
3236 * i386.md (abssf,absdf): Use vector operands for SSE
3237 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3240 2002-10-23 Ziemowit Laski <zlaski@apple.com>
3242 * objc/objc-act.c (get_static_reference): Remove unneeded
3243 TYPE_BINFO initialization.
3244 (get_object-reference): Likewise.
3245 (build_constructor): Tighten precondition check.
3246 (finish_message_expr): Likewise.
3248 2002-10-23 Jakub Jelinek <jakub@redhat.com>
3250 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3253 2002-10-23 Steve Ellcey <sje@cup.hp.com>
3255 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3258 2002-10-23 Richard Henderson <rth@redhat.com>
3260 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3261 (alpha_output_mi_thunk_osf): Handle vcall_offset.
3263 2002-10-23 Zack Weinberg <zack@codesourcery.com>
3265 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3267 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3268 hook_tree_bool_false.
3270 * tree.c (variably_modified_type_p): Moved here from
3271 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
3272 language-specific cases. Due to this, must weaken some 'if
3273 and only if' checks to merely 'if'.
3274 * tree.h: Prototype variably_modified_type_p.
3276 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3278 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
3280 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3281 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3283 * config/s390/s390-protos.h (fp_operand): Remove.
3284 * config/s390/s390.c (fp_operand): Remove.
3285 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3286 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3287 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3288 (movdi_31, movdf_31 splitters): Likewise.
3290 * config/s390/s390.h (IEEE_FLOAT): Remove.
3291 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3292 (INT_REGNO_P): Rename to ...
3293 (GENERAL_REGNO_P): ... this.
3294 (FLOAT_REGNO_P): Rename to ...
3295 (FP_REGNO_P): ... this.
3296 (ADDR_REGNO_P): New macro.
3297 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3298 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3299 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3300 (HARD_REGNO_NREGS): Adapt to macro renaming.
3301 (HARD_REGNO_MODE_OK): Likewise.
3303 2002-10-23 David Edelsohn <edelsohn@gnu.org>
3304 Geoff Keating <geoffk@apple.com>
3306 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3307 (rs6000_memory_move_cost): New function.
3308 * config/rs6000/rs6000-protos.h: Declare them.
3309 * config/rs6000/rs6000.h: Use them.
3311 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
3313 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3314 inlining it into other libgcc2 routines.
3315 (__udivmoddi4): Likewise.
3317 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
3319 * doc/sourcebuild.texi (Test Suites): Improve.
3321 2002-10-22 Stan Shebs <shebs@apple.com>
3323 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3326 2002-10-22 Jim Wilson <wilson@redhat.com>
3328 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3330 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
3333 * xmmintrin.h: Add const to the argument of loads.
3335 * i386.md (pushv2di): New pattern.
3337 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3339 2002-10-22 Richard Henderson <rth@redhat.com>
3341 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3342 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
3343 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3344 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3345 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3346 (TARGET_ASM_OUT): Update.
3347 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3348 (hook_bool_tree_hwi_hwi_tree_true): New.
3349 (default_can_output_mi_thunk_no_vcall): New.
3350 * hooks.h: Declare them.
3351 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3353 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3354 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3355 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3356 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3357 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3358 config/stormy16/stormy16.c: Similarly.
3360 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3361 Handle 64-bit properly. Streamline.
3362 (x86_output_mi_vcall_thunk): Remove.
3363 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3364 (x86_can_output_mi_thunk): New.
3365 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3366 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3367 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3369 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3370 output_mi_thunk; make static; always use function_section.
3371 (TARGET_ASM_OUTPUT_MI_THUNK): New.
3372 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3373 (rs6000_ra_ever_killed): Test no_new_pseudos not
3374 targetm.asm_out.output_mi_thunk in conjunction with thunks.
3375 * config/rs6000/rs6000-protos.h: Update.
3376 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3377 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3378 xcoffout_declare_function when using rs6000_output_mi_thunk.
3380 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3381 s390_output_mi_vcall_thunk.
3382 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3383 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3385 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3386 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3387 * config/vax/vax-protos.h: Update.
3388 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3390 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
3392 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3393 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3394 * i386.md (movti_internal): Use 'C'
3396 * xmmintrin.h (_mm_cmplt_epi*): New.
3398 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3400 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3401 ("*movdf_64"): Likewise.
3402 ("*lshrdi3_64"): Likewise.
3403 ("blockage"): Add length attribute.
3406 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
3408 * i386.md: FIx typo.
3409 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3410 (sse2_umulv2siv2di3): Fix predicate.
3411 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3412 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3413 * xmmintrin.h (_mm_mul_epu16): Rename to...
3414 (_mm_mul_epu32): This one.
3415 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3417 (contains_128bit_aligned_vector_p): Undo accidental checkin.
3419 2002-10-22 Eric Christopher <echristo@redhat.com>
3421 * config/sparc/sparc.h: Add #error.
3423 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3425 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3426 [s390x-*-linux*]: Likewise.
3427 * config/s390/t-linux: Remove.
3428 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3430 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
3432 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3433 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3434 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3435 * i386.md (mmx_punpck?dq): Simplify.
3436 (sse2_pubpcklqdq): Fix.
3437 (sse2_pubpckhqdq): New.
3438 * xmmintrin.h (_mm_unpackhi_epi32): New.
3440 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3441 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3443 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
3446 * fold_const.c (fold_binary_op_with_conditional_arg): Always
3447 build compound_expr if we used save_expr.
3449 2002-10-22 Alan Modra <amodra@bigpond.net.au>
3451 * output.h (SECTION_NOTYPE): Define.
3452 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3453 init array sections.
3454 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3455 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
3458 2002-10-21 Richard Henderson <rth@redhat.com>
3460 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3461 the function type, not the return type.
3463 2002-10-21 Richard Henderson <rth@redhat.com>
3465 * real.c (sticky_rshift_significand): Return inexact, don't
3466 or it in immediately.
3467 (sub_significands): Accept incomming carry.
3468 (div_significands, rtd_divmod): Update for sub_significands change.
3469 (round_for_format): Update for sticky_rshift_significand change.
3470 (do_add): Don't involve the inexact bit in addition, do give the
3471 inexact bit as the subtraction carry-in.
3472 (encode_internal, decode_internal, real_internal_format): New.
3473 * real.h (real_internal_format): Declare.
3475 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3477 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3478 don't define sdiv_qrnnd.
3480 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
3482 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3484 (TINY_CONSTANT_ADDRESS_P): Likewise.
3486 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
3488 * i386.c (builtin_description): Add punpcklqdq and movdq2q
3489 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3490 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3491 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3492 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3493 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3494 __builtin_ia32_setzero128.
3495 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3496 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3497 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3498 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3499 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3500 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3501 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3502 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3503 sse2_movq): New patterns.
3504 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3505 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3506 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3507 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3508 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3509 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3510 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3511 (_mm_insert_epi16): Fix.
3513 2002-10-21 Dale Johannesen <dalej@apple.com>
3515 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3516 unsafe math reversals correctly for RTL generation.
3517 (output_cbranch): Replace rs6000_reverse_condition call
3518 by its former definition.
3520 2002-10-21 Jakub Jelinek <jakub@redhat.com>
3522 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3523 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3524 from constant pool or LABEL_REFs as sign extended if allow_rip.
3525 Change all +-1GB limits to +-16MB.
3526 (x86_64_general_operand, x86_64_szext_general_operand,
3527 x86_64_nonmemory_operand, x86_64_movabs_operand,
3528 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3529 legitimate_address_p, ix86_expand_int_movcc): Update callers.
3530 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3531 in CM_SMALL_PIC model.
3532 (legitimate_pic_address_disp_p): Don't check offsets before
3533 calling local_symbolic_operand.
3534 (legitimize_pic_address): Force offsets bigger than +-16MB into
3536 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3537 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3540 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3541 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
3542 * configure: Rebuilt.
3543 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3544 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
3545 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3546 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3548 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3549 non-pic code if TARGET_64BIT.
3550 (legitimize_address): Generate 64-bit TLS sequences.
3551 (output_pic_addr_const): Support x86-64 TLS operators.
3552 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3553 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3554 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3555 (output_addr_const_extra): Support x86-64 TLS operators.
3556 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3557 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3559 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3560 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3561 (*tls_global_dynamic_sun): Renamed to...
3562 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3563 (tls_global_dynamic): Renamed to...
3564 (tls_global_dynamic_32): ... this.
3565 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3566 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3567 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3568 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3569 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3570 (tls_local_dynamic_base_dynamic): Renamed to...
3571 (tls_local_dynamic_base_dynamic_32): ... this.
3572 (tls_local_dynamic_base_dynamic_64,
3573 *tls_local_dynamic_base_dynamic_64): New.
3574 (*tls_local_dynamic_once): Renamed to...
3575 (*tls_local_dynamic_32_once): ... this.
3577 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3579 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3580 __divdi3, __umoddi3, or __moddi3.
3582 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3584 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3585 instead of just opt_index as switch expression.
3587 * calls.c (store_one_arg): Change type of 'excess_align'
3590 * profile.c (output_gcov_string): Change type of 'temp'
3593 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3595 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3596 (__fixunssfdi, __fixsfdi): Likewise.
3597 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3598 (s390_single_qi): Likewise.
3599 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
3600 unsigned comparison warning.
3601 (s390_return_addr_rtx): New function.
3602 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3603 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3604 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3606 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3608 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3609 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3610 (s390_output_mi_thunk): Remove.
3611 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3613 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
3615 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3617 2002-10-20 Zack Weinberg <zack@codesourcery.com>
3619 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3620 inverted test in the conditional determining the possibility
3621 of sibcalls in PIC mode.
3623 2002-10-20 Richard Henderson <rth@redhat.com>
3625 * target.h (struct gcc_target): Line wrap.
3627 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3628 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3629 * config/alpha/alpha.h: ... not here.
3630 * config/alpha/alpha-protos.h: Update.
3632 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3633 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3634 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3635 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3636 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3637 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3638 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3639 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3640 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3641 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3642 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3643 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3644 config/sparc/sparc.c, config/sparc/sparc.h,
3645 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3646 config/stormy16/stormy16.h: Similarly.
3648 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3649 selection logic from call patterns.
3651 2002-10-20 Mark Mitchell <mark@codesourcery.com>
3653 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3655 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3658 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3659 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3660 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3661 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3663 2002-10-20 Roger Sayle <roger@eyesopen.com>
3666 * toplev.c (flag_unsafe_profile_arcs): Remove.
3667 (flag_bounded_pointers): Remove.
3668 (flag_bounds_check): Correct comments.
3669 (lang_independent_options): Remove -funsafe-profile-arcs and
3670 -fbounded-pointers. Correct -fbounds-check comments.
3672 * flags.h: Correct flag_schedule_interblock comments.
3673 (flag_bounded_pointers): Remove prototype.
3674 (flag_bounds_check): Correct comments.
3676 * c-opts.c (c_common_init_options): No need to mark
3677 flag_bounds_check as unspecified.
3678 (c_common_post_options): And no need to set it from
3679 flag_bounded_pointers if its still unspecified.
3681 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3682 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3683 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3684 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3686 Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
3687 Angela Marie Thomas <angela@releasedominatrix.com>
3688 Brendan Kehoe <brendan@zen.org>
3689 Nick Clifton <nickc@redhat.com>
3690 Andrew Haley <aph@redhat.com>
3692 * configure.in (--with-sysroot): New. Don't inhibit libc if
3693 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3694 and CROSS_SYSTEM_HEADER_DIR.
3695 * configure: Rebuilt.
3696 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
3697 (TARGET_SYSTEM_ROOT): New.
3698 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
3699 CROSS_SYSTEM_HEADER_DIR.
3700 (install-gcc-tooldir): New target.
3701 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
3702 if SYSTEM_HEADER_DIR does not exist and it's not the default
3703 sys-include directory.
3704 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
3705 (install-mkheaders): Likewise.
3706 * gcc.c (target_system_root): New variable.
3707 (add_sysrooted_prefix): New function.
3708 (process_command): Recompute run-time target_system_root from
3709 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
3711 (do_spec_1): Process 'R' spec.
3712 (main): Add md_exec_prefix to exec_prefixes regardless of
3713 startfile_prefix_spec. Use add_sysrooted_prefix for
3714 startfile_prefixes, and don't skip the default ones when cross
3715 compiling with sysroot enabled. Removed unused case of
3716 non-absolute standard_startfile_prefix.
3717 * config/interix.h: Remove the only potential, yet disabled,
3718 occurrence of non-absolute (empty) standard_startfile_prefix.
3719 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
3721 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
3722 * doc/install.texi (--with-sysroot): Document.
3723 (--with-headers, --with-libs): Deprecate.
3725 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3726 Mark Mitchell <mark@codesourcery.com>
3728 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
3730 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
3731 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
3732 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
3733 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
3734 x86_output_mi_thunk): Likewise.
3735 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
3736 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
3737 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
3738 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
3739 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
3740 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
3741 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
3743 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3745 * target.h (gcc_target): Update output_mi_thunk and
3746 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
3749 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
3750 TARGET_ASM_OUTPUT_MI_THUNK in comments.
3751 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
3752 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
3753 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
3754 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
3756 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
3757 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3758 TARGET_ASM_OUTPUT_MI_THUNK in comments.
3759 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
3760 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
3761 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3762 TARGET_ASM_OUTPUT_MI_THUNK in comments.
3763 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
3764 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
3766 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
3767 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3769 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
3771 * real.c (do_add): Fix 0+0 sign corner case.
3772 (do_divide): Fix Inf/0 corner case.
3774 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
3776 * i386.c (classify_argument): Pass MMX arguments in memory
3777 (ix86_expand_builtin): Expand proper address mode for cflush.
3778 * i386.md (movdqa): Fix typo.
3779 (sse2_cflush): Accept DImode addresses.
3781 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
3782 (_mm_max_sd): Fix pasto.
3783 (_mm_storeh_pd, _mm_storel_pd): Fix.
3785 * i386.c (bdesc_comi): Fix to match specification.
3786 (ix86_expand_sse_comi): Emit the comparison properly.
3787 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
3788 Do not use comparison operator.
3789 (vnmaskcmp): Fix template.
3791 * xmmintrin.h (_mm_cvtps_pi16): Fix.
3793 2002-10-19 Sebastian Pop <s.pop@laposte.net>
3795 * dependence.c : Removed.
3796 * Makefile.in : Remove dependence.o.
3798 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
3800 * mmintrin.h (__m64): typedef it to v2si.
3801 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
3802 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
3803 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
3804 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
3805 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
3806 * xmmintrin.h (_mm_setzero_si64): Likewise.
3808 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
3809 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
3812 Patch by Shawn Wagner
3813 * mmintrin.h: Replace pi64 by si64.
3815 2002-10-18 David Edelsohn <edelsohn@gnu.org>
3817 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
3818 Use length of 4 not *.
3819 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
3820 (movdf_softfloat64): Likewise.
3821 (movdi_internal32): Use length of 4 not *.
3822 (movti_power): Same.
3823 (ctrsi, ctrdi): Same.
3825 2002-10-18 Zack Weinberg <zack@codesourcery.com>
3827 * c-decl.c (start_decl): Point users of the old initialized-
3828 typedef extension at __typeof__.
3830 2002-10-18 Richard Henderson <rth@redhat.com>
3832 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
3833 (real_to_decimal): Re-implement using the logic from the
3834 gcc 3.2 etoasc. Comment heavily.
3835 (div_significands): Simplify loop startup and comparison logic.
3837 2002-10-18 Mark Mitchell <mark@codesourcery.com>
3839 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
3840 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
3841 (TARGET_ASM_OUT): Add them.
3842 * target.h (asm_out): Add output_mi_thunk and
3843 output_mi_vcall_thunk.
3844 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3845 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3846 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
3847 * config/arm/arm.c (arm_output_mi_thunk): Define.
3848 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3849 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3850 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3851 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3852 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3853 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3854 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
3856 (x86_output_mi_vcall_thunk): Declare.
3857 * config/i386/i386.c (override_options): Clear
3858 output_mi_vcall_thunk in 64-bit mode.
3859 (ix86_fntype_regparm): New function.
3860 (ix86_return_pops_args): Use it.
3861 (ia32_this_parameter): New function.
3862 (x86_output_mi_vcall_thunk): New function.
3863 (x86_output_mi_thunk): Use it
3864 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
3865 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
3866 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
3867 * config/i960/i960.c (i960_output_mi_thunk): New function.
3868 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
3869 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
3870 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
3871 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3872 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3873 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
3874 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3875 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3876 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3877 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3878 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3879 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3880 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3881 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3882 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3883 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3884 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
3885 * config/s390/s390.c (s390_output_mi_thunk): Define.
3886 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3887 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3888 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3889 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3890 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3891 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3892 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
3893 * config/vax/vax.c (vax_output_mi_thunk): Define.
3894 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3895 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3896 * doc/tm.texi: Adjust documentation.
3898 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
3900 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
3901 __enable_execute_stack function.
3902 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3903 as NETBSD_ENABLE_EXECUTE_STACK.
3904 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3905 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3906 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3907 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3908 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3910 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
3912 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
3913 to __enable_execute_stack with the address of the trampoline
3914 if TRANSFER_FROM_TRAMPOLINE is defined.
3915 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
3916 constant if building libgcc2.
3918 Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
3920 * i386.c (pentium4_cost): Fix according to Intel recommendations.
3921 (ix86_memory_move_cost): Fix for 64bit compilation.
3923 2002-10-17 Roger Sayle <roger@eyesopen.com>
3925 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
3927 2002-10-17 Geoffrey Keating <geoffk@apple.com>
3929 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
3931 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
3933 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
3934 (movsf_softfloat): Likewise.
3936 2002-10-17 Janis Johnson <janis187@us.ibm.com>
3938 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
3940 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
3942 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
3943 tramp, not addr, to pass the trampoline address to
3944 __enable_execute_stack.
3946 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
3948 * mmintrin.h: Guard by __MMX__
3949 * xmmintrin.h: Guard by __SSE__
3952 * xmmintrin.h (_MM_SHUFFLE2): New macro.
3953 (_mm_load*_?d): New functions.
3954 (_mm_set*_?d): New functions.
3955 (_mm_store*_?d): New functions.
3957 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
3959 Really commit patch announced at Oct 14
3961 * predict.c (can_predict_insn_p): New function.
3962 (estimate_probability): Avoid unnecesary work.
3963 (process_note_prediction): Likewise.
3964 * toplev.c (rest_of_compilation): Account early branch prediction pass
3968 Found by Ian Ollmann
3969 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
3970 (_mm_load?_pd): Likewise.
3971 (_mm_store?_pd): Likewise.
3974 * i386.c (builtin_description):Drop cmpg[te]s[sd].
3975 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
3976 swapped alternative.
3979 * reload1.c (reload_inner_reg_of_subreg): New argument output;
3980 (push_reload): Update call.
3982 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
3984 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
3985 if using mips/elf.h or mips/elf64.h.
3986 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
3987 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
3989 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
3991 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
3994 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
3996 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
3997 (LPREFIX): Likewise.
3998 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
3999 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4000 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4001 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4002 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4004 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4005 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4006 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4007 BSS_SECTION_ASM_OP): Move from linux.h.
4008 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4009 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4011 * config/s390/s390.c (s390_function_profiler): Use
4012 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4014 2002-10-15 Eric Christopher <echristo@redhat.com>
4016 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4017 * java/parse.y (obtain_incomplete_type): Make pointer
4020 2002-10-15 Richard Henderson <rth@redhat.com>
4022 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4023 as arguments. Bound DIGITS by the available buffer size.
4024 (real_to_hexadecimal): Likewise.
4025 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4026 (REAL_VALUE_TO_DECIMAL): Remove.
4027 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4028 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4029 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4030 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4031 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4032 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4033 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4034 use real_to_decimal directly, and with the proper arguments.
4035 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4037 2002-10-15 Jim Wilson <wilson@redhat.com>
4039 * reload1.c (merge_assigned_reloads): After converting overlapping
4040 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4042 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4044 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
4046 * expr.c (do_tablejump): Fix typo in my previous commit.
4048 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
4050 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4052 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
4054 * config/s390/s390.c (s390_split_branches): Add return
4055 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
4057 (find_base_register_in_addr): New function.
4058 (find_base_register_ref): New function.
4059 (replace_base_register_ref): New function.
4061 (struct constant_pool): Add members pool_insn, insns, and anchor.
4062 Remove member last_insn.
4063 (s390_start_pool): Initialize them.
4064 (s390_end_pool): Emit pool placeholder insn.
4065 (s390_add_pool_insn): New function.
4066 (s390_find_pool): Use insns bitmap instead of addresses.
4067 (s390_dump_pool): Replace placeholder insn. Emit anchor.
4068 Replace unspec 104 by local-pool-relative references.
4069 (s390_output_constant_pool): Output anchor label if required.
4070 (s390_output_symbolic_const): Handle unspec 104 and 105.
4071 (s390_add_pool): Remove, replace by ...
4072 (s390_add_constant, s390_find_constant): ... these new functions.
4073 (s390_add_anchor): New function.
4075 (s390_chunkify_pool): Delete, replace by ...
4076 (s390_chunkify_start, s390_chunkify_finish,
4077 s390_chunkify_cancel): ... these new functions.
4078 (s390_optimize_prolog): Add parameter TEMP_REGNO.
4079 Recompute register live data for special registers.
4080 (s390_fixup_clobbered_return_reg): New function.
4081 (s390_machine_dependent_reorg): Rewrite to use new
4082 s390_chunkify_... routines.
4084 config/s390/s390.md ("reload_base"): Rename to ...
4085 ("reload_base_31"): ... this.
4086 ("reload_base_64"): New insn.
4087 ("reload_base2"): Remove.
4088 ("reload_anchor"): New insn.
4091 s390.c (s390_pool_overflow): Remove.
4092 s390.h (s390_pool_overflow): Likewise.
4093 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4095 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
4097 * sh.md (movv8qi_i+2): Don't split if source is -1.
4099 2002-10-15 Janis Johnson <janis187@us.ibm.com>
4101 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4103 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
4106 * loop.c (loop_regs_scan): Mark registers used for function
4107 argument passing as MAY_NOT_OPTIMIZE.
4109 Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
4111 * gcov-io.h (gcov_info): Fix type.
4112 * profile.c (create_profiler): Fix type mismatch.
4114 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
4116 * i386.md (movv2di_internal): New pattern.
4117 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4118 (movv2di): New expander.
4119 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.