1 2002-12-16 Bruce Korb <bkorb@gnu.org>
3 * fixinc/fixlib.h: add: #include <signal.h>
4 * fixinc/fixincl.c: remove: #include <signal.h>
6 Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
8 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
9 (EXTRA_CONSTRAINT): Use it.
10 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
12 2002-12-15 Zack Weinberg <zack@codesourcery.com>
14 * config.gcc (need_64bit_hwint): New variable.
15 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
16 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
17 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
18 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
20 (powerpc*-*-darwin*): Unset it.
21 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
22 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
23 deleted/nonexistent xm-*.h headers.
24 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
25 target set need_64bit_hwint in config.gcc.
26 * configure, config.in: Regenerate.
28 * hwint.h: Overhaul. Don't bother trying int for
29 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
30 decision to force 64-bit HOST_WIDE_INT on
31 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
32 not visible at this point. Don't allow prior definition of
33 any macro defined by this file.
35 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
36 HOST_BITS_PER_WIDE_INT.
37 * config/c4x/c4x.h: Adjust redefinition of
38 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
39 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
40 config/i386/xm-i386-interix.h: Delete file.
42 2002-12-14 Rodney Brown <rbrown64@csc.com.au>
43 John David Anglin <dave@hiauly1.hia.nrc.ca>
45 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
46 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
48 2002-12-14 Zack Weinberg <zack@codesourcery.com>
50 * mkconfig.sh: Correct comment. Add copyright boilerplate.
52 2002-12-14 Zack Weinberg <zack@codesourcery.com>
54 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
55 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
56 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
57 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
58 config/v850/t-v850: Correct dependencies and normalize
59 compilation commands for files that include coretypes.h and tm.h.
61 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
62 not config.h and system.h.
64 Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
66 * i386.c (flags_reg_operand): New function.
67 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
68 * i386.md (cmov splitter, movqicc): Use new predicate.
70 Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
72 * i386.md (movqicc splitter): Fix template.
74 2002-12-13 Jason Merrill <jason@redhat.com>
76 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
77 * calls.c (expand_call): Handle it.
78 * tree-inline.c (struct inline_data): Remove target_exprs field.
79 (optimize_inline_calls): Don't initialize it.
80 (expand_call_inline): Don't modify it. Handle
81 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
82 (declare_return_variable): Take return slot addr.
83 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
85 * langhooks-def.h, langhooks.c: Adjust.
86 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
87 a decl with no DECL_INITIAL.
89 * expr.c (expand_expr): Don't discard the target of a call which
92 2002-12-13 Neil Booth <neil@daikokuya.co.uk>
94 * cppinit.c (path_include): Take an environment variable name.
96 (init_standard_includes): Simplify environment handling, and
98 (cpp_read_main_file): ...here as -nostdinc should not affect
99 environment variable paths.
101 2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
103 * pa.c (output_millicode_call): Correct typo.
104 (output_call): Likewise.
106 Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
108 * config/mn10300/mn10300.c (print_operand) <case N>: Check
109 operand's range. Print value directly, without aid from
112 <case S>: Make sure argument to fprintf has the right type.
113 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
114 (EXTRA_CONSTRAINT): Adjust.
115 * config/mn10300/mn10300.md: Add new all-QImode pattern for
116 bclr. Use %U for immediate operands of bset and bclr.
117 (iorqi3): New expand, with insns for AM33 and mn10300.
119 Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
121 * sh.c (sh_register_operand): New function.
122 (prepare_move_operands): Use it.
123 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
124 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
125 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
126 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
127 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
128 (movv2si_i): Likewise.
130 2002-12-13 Jim Wilson <wilson@redhat.com>
132 * doc/extend.texi (Complex Numbers): Update info on debug info.
134 2002-12-13 Kazu Hirata <kazu@cs.umass.edu>
136 * config/h8300/h8300.md (addhi3_h8300): Remove the last
139 2002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
141 * hooks.h (hook_tree_tree_bool_false): Declare
142 hook_bool_tree_tree_false instead.
144 2002-12-12 Devang Patel <dpatel@apple.com>
146 * doc/invoke.texi: Document Darwin linker options, -bundle
147 -bind_at_load, -all_load and -arch_errors_fatal
149 2002-12-12 Jim Wilson <wilson@redhat.com>
151 * dbxout.c (dbxout_fptype_value): New.
152 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
154 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
156 * c-decl.c: Fix a comment typo.
158 * cfgcleanup.c: Likewise.
159 * cfglayout.c: Likewise.
160 * cfgrtl.c: Likewise.
161 * c-typeck.c: Likewise.
162 * dominance.c: Likewise.
163 * dwarf2asm.c: Likewise.
164 * dwarfout.c: Likewise.
165 * expmed.c: Likewise.
169 * function.c: Likewise.
171 * genautomata.c: Likewise.
172 * integrate.c: Likewise.
175 * output.h: Likewise.
176 * profile.c: Likewise.
178 * reload1.c: Likewise.
179 * reload.c: Likewise.
180 * sched-rgn.c: Likewise.
183 * vmsdbgout.c: Likewise.
185 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
187 * config/h8300/h8300.md: Add a new peephole2.
189 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
191 * config/h8300/h8300.md (a peephole2): Accept a constant
192 that's accepted by CONST_OK_FOR_J.
194 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
196 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
197 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
198 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
199 (*addhi_h8300hs): Likewise.
201 Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
203 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
204 (sh_register_move_cost): Add clause for SImode fp-fp moves.
205 Increase cost for moves involving multiple general purpose registers.
206 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
208 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
209 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
210 (enum reg_class reg_class_from_letter): No longer const.
211 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
212 REGCLASS_HAS_GENERAL_REG.
213 Handle SImode moves from/to fp registers.
214 ! TARGET_SHMEDIA && TARGET_FMOVD.
215 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
216 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
218 2002-12-12 Andreas Schwab <schwab@suse.de>
220 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
221 change and some warnings.
223 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
225 * doc/md.texi (pushm): Fix a typo.
227 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
229 * config/mips/mips.c (mips_output_conditional_branch): Support
230 PIC-safe out-of-range branch and branch-likely.
231 * config/mips/mips.md (attr length): PIC-safe out-of-range
233 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
234 unused code to support indirect jumps.
236 2002-12-11 Zack Weinberg <zack@codesourcery.com>
238 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
241 2002-12-11 David Edelsohn <edelsohn@gnu.org>
243 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
245 Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
247 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
249 2002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
251 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
252 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
254 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
255 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
257 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
259 * doc/invoke.texi: Correct dump file names.
261 2002-12-09 Steve Ellcey <sje@cup.hp.com>
263 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
264 name to globalize_label or assemble_name.
266 Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
268 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
269 if not TARGET_SHMEDIA.
271 Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
273 * sh.h (REG_CLASS_HAS_FP_REG): New.
274 (REGISTER_MOVE_COST) Use it. Put body into a function and
276 * sh.c (sh_register_move_cost).
277 * sh-protos.h (sh_register_move_cost): Declare.
279 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
280 (sh_adjust_cost): Always return a value.
282 Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
284 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
285 (REGISTER_MOVE_COST): Use it.
287 2002-12-11 Richard Henderson <rth@redhat.com>
289 * tree.h (MODULE_LOCAL_P): Kill.
290 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
292 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
294 * config/h8300/h8300.md (two define_peephole2): New.
296 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
298 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
299 (CONST_OK_FOR_K): Likewise.
300 (CONST_OK_FOR_M): Likewise.
301 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
303 2002-12-11 Neil Booth <neil@daikokuya.co.uk>
305 * c-common.c (builtin_define_type_max): Handle unsigned
308 2002-12-10 David Edelsohn <edelsohn@gnu.org>
310 * haifa-sched.c (rank_for_schedule): Correct style.
312 2002-12-10 Per Bothner <pbothner@apple.com>
314 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
315 directive_index into an unsigned field and a new is_directive field.
316 * cppinit.c (mark_named_operators): Update to set new fields.
317 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
318 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
319 No longer need to subtract 1 from directive_index.
320 (_cpp_init_directives): No longer need to add 1 to directive_index.
321 * cpptrad.c (scan_out_logical_line): Use is_directive field.
323 2002-12-10 Roger Sayle <roger@eyesopen.com>
325 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
326 check for evaluating sqrt of a constant at compile time.
327 * simplify-rtx.c (simplify_unary_operation): Likewise.
329 2002-12-10 Janis Johnson <janis187@us.ibm.com>
332 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
334 2002-12-10 Devang Patel <dpatel@appple.com>
336 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
337 * doc/invoke.texi: Add new "Darwin Options" section.
339 2002-12-10 Jim Wilson <wilson@redhat.com>
341 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
344 2002-12-10 Andrew Haley <aph@redhat.com>
346 * cse.c (cse_insn): Don't cse past a basic block boundary.
348 2002-12-10 Jakub Jelinek <jakub@redhat.com>
350 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
352 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
353 * config/alpha/linux.h (LIB_SPEC): Likewise.
354 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
355 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
356 * config/sparc/linux.h (LIB_SPEC): Likewise.
357 * config/sparc/linux64.h (LIB_SPEC): Likewise.
359 2002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
361 * doc/invoke.texi: Document UltraSparc III option.
363 2002-12-09 Richard Henderson <rth@redhat.com>
365 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
366 __tune_pentium2__ and __tune_pentium3__ as necessary.
368 2002-12-09 Richard Henderson <rth@redhat.com>
370 * target.h (gcc_target): Add cannot_force_const_mem.
371 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
372 (TARGET_INITIALIZER): Add it.
373 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
374 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
375 * reload1.c (reload): Likewise.
376 * hooks.c (hook_bool_rtx_false): New.
377 * hooks.h: Declare it.
379 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
380 (TARGET_CANNOT_FORCE_CONST_MEM): New.
381 (ix86_expand_move): Remove de-const-pooling hack.
383 Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
385 * toplev.c (dump_file): Fix order to match reality.
387 2002-12-08 Geoffrey Keating <geoffk@apple.com>
389 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
390 (store_multiple): Likewise.
392 2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
394 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
395 function pointers in page 0.
397 2002-12-09 Steve Ellcey <sje@cup.hp.com>
399 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
401 (MEMBER_TYPE_FORCES_BLK): Move.
402 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
404 (ia64_function_value): Use PARALLEL to return aggregate values.
406 2002-12-09 Steve Ellcey <sje@cup.hp.com>
408 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
409 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
410 * calls.c (store_unaligned_arguments_into_pseudos) Remove
411 FUNCTION_ARG_REG_LITTLE_ENDIAN.
412 * stmt.c (expand_return): Ditto.
413 * expr.c (move_block_from_reg): Ditto.
414 (copy_blkmode_from_reg): Ditto.
415 * expmed.c (store_bit_field): Ditto.
417 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
419 * config.gcc: Added tic4x-* target as an alias to c4x-*
421 Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
423 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
424 constructing insn directly.
426 2002-12-06 Per Bothner <pbothner@apple.com>
428 * cpplib.h (struct cpp_hashnode): Change field directive_index from
429 char to an int bit-field, for hosts where char is unsigned.
431 2002-12-07 Roger Sayle <roger@eyesopen.com>
432 Richard Henderson <rth@redhat.com>
434 * real.c (ieee_extended_motorola_format,
435 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
436 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
437 Provide appropriate values for new signbit field.
439 2002-12-07 Roger Sayle <roger@eyesopen.com>
441 * real.h (real_format): Add signbit field.
442 * real.c (ieee_single_format, ieee_double_format,
443 ieee_extended_motorola_format, ieee_extended_intel_96_format,
444 ieee_extended_intel_128_format, ibm_extended_format,
445 ieee_quad_format, vax_f_format, vax_d_format,
446 vax_g_format, i370_single_format, i370_double_format,
447 c4x_single_format, c4x_extended_format, real_internal_format):
448 Provide suitable signbit value, or -1 to avoid bit twiddling.
450 * optabs.c (expand_unop): Try implementing negation of
451 floating point modes by flipping the sign bit.
452 (expand_abs): Try implementing abs of floating point modes
453 by clearing the sign bit.
455 Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
457 * i386.c (ix86_expand_int_movcc): Use force_operand instead
458 of constructing insn directly.
460 2002-12-07 Kazu Hirata <kazu@cs.umass.edu>
462 * config/h8300/h8300.md (*iorhi_shift_8): New.
464 2002-12-06 Bernd Schmidt <bernds@redhat.com>
466 * doc/invoke.texi: Document FRV port options.
467 * doc/md.texi: Document FRV register classes.
469 2002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
471 * doc/install.texi (Configuration): Improve description of cases
472 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
474 2002-12-06 Per Bothner <pbothner@apple.com>
476 * cpplib.h (NODE_MACRO_ARG): New flag.
477 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
478 Remove value.operator field. Move arg_index field to value union.
479 (directive_index): Make signed, since also used for C++ operators.
480 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
481 check for duplicate parameter. Set NODE_MACRO_ARG flag.
482 Save node->value, and set node->value.arg_index.
483 (_cpp_create_definition): For each paramater, restore node->value.
484 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
485 * cpptrad.c (scan_out_logical_line): Likewise.
486 (scan_out_logical_line): Check for directive > 0.
487 * cpplib.c (cpp_handle_directive): Likewise.
488 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
489 by negative of directive_index.
490 * cppinit.c (mark_named_operators): Likewise.
492 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
494 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
496 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
498 (push): Generate push_fpscr.
499 (pop): Generate pop_fpscr.
500 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
501 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
503 Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
505 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
506 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
508 Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
510 * sh.md (movdi_i): Name. Remove inappropriate comment.
512 Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
513 Merged from basic improvements branch (excerpt):
515 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
516 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
518 2002-12-06 Jakub Jelinek <jakub@redhat.com>
520 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
522 Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
524 * i386.md (dimode peep2s): Re-add "&& 1".
526 Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
528 * i386.c (ix86_expand_prologue): Add comment, do not use
529 fast prologues for cold and normal functions.
531 Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
533 * i386.c (x86_rep_movl_optimal): New variable.
534 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
535 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
537 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
538 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
539 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
540 generate unnecesary subregs.
542 2002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
544 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
545 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
547 2002-12-05 Dale Johannesen <dalej@apple.com>
549 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
551 2002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
553 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
555 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
557 2002-12-05 Aldy Hernandez <aldyh@redhat.com>
559 * config/rs6000/spe.h (__ev_mwlufi): Remove.
560 (__ev_mwlufia): Remove.
561 (__ev_mwlumfaaw): Remove.
562 (__ev_mwlusfaaw): Remove.
563 (__ev_mwlumfanw): Remove.
564 (__ev_mwlusfanw): Remove.
566 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
568 * config/h8300/h8300.md (*andorsi3_shift_8): New.
570 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
572 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
573 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
574 (get_shift_alg): Return optimal assembly instructions for the
575 shifts mentioned above.
577 Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
579 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
582 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
584 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
585 implement ashiftrt:HI by 13 bits on H8S.
587 2002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
589 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
590 * pa.md (canonicalize_funcptr_for_compare): Output library call to
591 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
592 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
593 CTOR_LIST_BEGIN): New defines.
594 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
595 (fptr.c): Add make rules.
597 2002-12-04 Geoffrey Keating <geoffk@apple.com>
599 * combine.c (combine_simplify_rtx): Add new canonicalizations.
600 * doc/md.texi (Insn Canonicalizations): Document new
601 canonicalizations for multiply/add combinations.
602 * config/rs6000/rs6000.md: Add and modify floating add/multiply
603 patterns to ensure they're used whenever they can be.
605 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
607 * config/h8300/h8300.c: Update the comments related to shifts.
609 2002-12-04 Chris Demetriou <cgd@broadcom.com>
611 * config/mips/mips.md (get_fnaddr): Correct length attribute.
613 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
615 * config/h8300/h8300.md (*extzv_8_8): New.
616 (*extzv_8_16): Likewise.
618 2002-12-04 Jason Merrill <jason@redhat.com>
620 PR c++/8461, c++/8625
621 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
623 * tree-inline.c (initialize_inlined_parameters): Likewise.
625 * tree.c (variably_modified_type_p): Just return an error_mark_node.
627 2002-12-04 Chris Demetriou <cgd@broadcom.com>
629 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
630 macro instruction in a branch delay slot, to avoid assembler
633 2002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
636 * c-semantics (genrtl_scope_stmt): Do not output inlined
637 nested functions that contain no code.
639 Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
641 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
642 to be forced into nonfallthru.
644 2002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
646 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
648 2002-12-03 Aldy Hernandez <aldyh@redhat.com>
650 * config/rs6000/spe.md (*movv1di_const0): New pattern.
652 2002-12-03 Richard Henderson <rth@redhat.com>
654 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
656 2002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
658 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
659 Initialize tmp.using_obstack to 0.
661 2002-12-03 Andreas Schwab <schwab@suse.de>
663 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
664 (EH_RETURN_STACKADJ_RTX): Define.
665 (EH_RETURN_HANDLER_RTX): Define.
666 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
667 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
668 registers and don't save fixed registers.
669 (m68k_output_function_prologue): Use it.
670 (use_return_insn): Likewise.
671 (m68k_output_function_epilogue): Likewise.
673 2002-12-03 Kazu Hirata <kazu@cs.umass.edu>
675 * config/h8300/h8300.c (single_one_operand): Fix a warning.
676 (single_zero_operand): Likewise.
678 2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
680 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
681 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
682 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
683 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
684 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
685 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
686 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
687 doc/install-old.texi: Replace hconfig.h with bconfig.h.
688 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
690 2002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
692 * config/rs6000/rs6000.md (ffssi): Convert to expander.
694 (cntlzw2, cntlzd2): New patterns.
696 2002-12-02 H.J. Lu <hjl@gnu.org>
698 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
699 (mips*-*-linux*): Remove mips/t-linux.
701 Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
703 * i386.c (ix86_expand_int_movcc): Avoid overflow.
705 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
707 * config/h8300/h8300.c (dosize): Replace argument op with
709 (h8300_output_function_prologue): Update the call to dosize.
710 (h8300_output_function_epilogue): Likewise.
712 2002-12-02 Bob Wilson <bob.wilson@acm.org>
714 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
716 2002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
718 * configure.in: Use "missing" script to generate warning if
719 flex or bison programs not found, instead of invoking "false".
720 * configure: Rebuilt.
722 Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
724 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
726 Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
728 * i386.c (ix86_expand_int_movcc): Avoid overflow.
730 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
732 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
735 (h8300_output_function_prologue): Likewise.
736 (h8300_output_function_epilogue): Likewise.
738 Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
740 * expmed.c (store_bit_field): Use int_mode_for_mode to find
741 corresponding mode of non-integer mode, unless it is VOIDmode.
743 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
745 * config/h8300/h8300.md (stm_h8300s_2): New.
746 (stm_h8300s_3): Likewise.
747 (stm_h8300s_4): Likewise.
748 (five define_peephole2): Likewise.
750 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
752 * ra-build.c: Fix a comment typo.
754 Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
756 * i386.c (ix86_expand_int_movcc): fix
757 reversed BRANCH_COST test; be curefull about infinite recursion.
759 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
761 * config/h8300/h8300.c (h8300_output_function_prologue):
763 (h8300_output_function_epilogue): Likewise.
765 2002-12-01 Zack Weinberg <zack@codesourcery.com>
767 * config/frv/xm-frv.h: Delete, unnecessary.
769 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
771 * config/h8300/h8300.md: Add comments for define_peephole2.
773 2002-12-01 Mark Mitchell <mark@codesourcery.com>
775 * builtin-types.def (BT_SIZE): Use size_type_node.
776 * builtins.c (fold_builtin): Make the builtin strlen returns a
777 size_t, not a sizetype.
778 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
780 (c_alignof_expr): Likewise.
781 (c_common_nodes_and_builtins): Likewise.
782 * c-common.h (CTI_C_SIZE_TYPE): Remove.
783 (c_size_type_node): Likewise.
784 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
785 * tree.h (TI_SIZE_TYPE): New enumeral.
786 (size_type_node): Likewise.
788 2002-11-30 Zack Weinberg <zack@codesourcery.com>
790 * configure.in: Don't put ${tm_file} into host_xm_file,
791 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
792 Take location of tm-preds.h into account when calculating
794 * configure: Regenerate.
795 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
796 arguments. Do not provide rtx, rtvec, tree, or GTY here.
797 Remove special case code for tm_p.h and *config.h; add new
798 special case code for tm.h and tconfig.h. Clean up a bit.
800 * Makefile.in (tm_file, tm_file_list): New variables set from
802 (GCONFIG_H): Deleted.
804 (CONFIG_H): Is now just config.h $(host_xm_file_list).
805 (TM_P_H): Move up with the other mkconfig.sh-generated
806 headers; don't mention tm-preds.h explicitly.
807 (tm.h, cs-tm.h): New rule.
808 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
809 invocations of mkconfig.sh for changes to that program.
810 (mostlyclean): Delete print-rtl1.c.
811 (clean): Delete tm.h.
812 Update dependencies for the files listed below.
814 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
816 * coretypes.h: New file.
817 * system.h: #define malloc to xmalloc and realloc to xrealloc
818 when FLEX_SCANNER or YYBISON is defined, independent of the
819 value of GCC_VERSION.
820 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
821 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
822 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
823 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
824 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
825 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
826 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
827 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
828 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
829 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
830 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
831 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
832 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
833 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
834 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
835 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
836 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
837 genconstants.c, genemit.c, genextract.c, genflags.c,
838 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
839 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
840 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
841 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
842 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
843 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
844 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
845 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
846 print-tree.c, profile.c, protoize.c, ra-build.c,
847 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
848 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
849 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
850 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
851 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
852 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
853 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
854 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
855 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
856 xcoffout.c, config/darwin-c.c, config/darwin.c,
857 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
858 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
859 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
860 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
861 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
862 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
863 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
864 config/i960/i960-c.c, config/i960/i960.c,
865 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
866 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
867 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
868 config/mips/irix6-libc-compat.c, config/mips/mips.c,
869 config/mmix/mmix.c, config/mn10200/mn10200.c,
870 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
871 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
872 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
873 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
874 config/sparc/sparc.c, config/stormy16/stormy16.c,
875 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
876 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
877 Include coretypes.h and tm.h.
879 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
880 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
881 genrecog.c: Include coretypes.h and tm.h from the file
882 generated by this program.
884 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
885 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
886 coretypes.h and tm.h, and tsystem.h when not already included.
887 No need to include stddef.h nor stdlib.h.
889 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
890 include auto-host.h or ansidecl.h/
891 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
892 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
893 include auto-host.h, ansidecl.h, or system.h.
894 * fixinc/server.c: Likewise. Also, do not include signal.h,
895 and do not redefine volatile.
897 Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
899 * i386.md (movdf_integer): Always enable in 64bit.
900 (movdf_nointeger): Always disable in 64bit.
902 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
904 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
905 pseudo register number plus 1.
907 Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
909 * expmed.c (store_bit_field): Use int_mode_for_mode to find
910 corresponding mode of non-integer mode, unless it is VOIDmode.
912 2002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
914 * cpplib.c (_cpp_test_assertion): Default *value to 0.
916 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
918 2002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
920 * config/s390/t-crtstuff: New target makefile fragment.
921 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
923 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
925 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
926 alternatives to correct the length when the memory operand is
927 either pre_dec or post_inc.
929 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
931 * config/h8300/h8300.md (an anonymous pattern): Give an
932 internal name *tst_extzv_bitqi_1_n.
933 Accept bit_operand instead of bit_memory_operand.
934 Do not accept bit tests with the MSB.
935 (*tst_extzv_memqi_1_n): New.
937 Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
939 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
940 sharing when operand is SUBREG.
942 Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
944 * athlon.md (athlon-decodev): New reservation unit.
945 (athlon-direct0): New reservation.
946 (athlon-vector): New use athlon-decodev.
947 (athlon-double, athlon-direct): Better model.
948 (athlon_imul_k8): Use athlon-direct0.
949 (athlon_movlpd_load): New insn reservation.
951 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
953 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
955 (h8300_tiny_constant_address_p): Likewise.
957 2002-11-28 Michael Matz <matz@suse.de>
959 * doc/passes.texi: Mention the other register allocator.
961 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
963 * config/h8300/h8300.md (6 new peephole2 patterns): New.
965 2002-11-28 Jakub Jelinek <jakub@redhat.com>
967 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
968 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
969 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
971 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
973 * config/h8300/h8300.c (h8300_and_costs): New.
974 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
975 * config/h8300/h8300-protos.h: Add a prototype for
978 Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
980 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
981 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
982 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
983 * i386.md (truncdfsf patterns and splitters): Use
984 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
986 2002-11-27 Zack Weinberg <zack@codesourcery.com>
988 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
989 pointer argument in the prototypes of the following builtins
990 be (const TYPE *) rather than (TYPE *):
991 + __builtin_altivec_ld_internal_4sf
992 + __builtin_altivec_ld_internal_4si
993 + __builtin_altivec_ld_internal_8hi
994 + __builtin_altivec_ld_internal_16qi
995 + __builtin_altivec_lvsl
996 + __builtin_altivec_lvsr
997 + __builtin_altivec_lvebx
998 + __builtin_altivec_lvehx
999 + __builtin_altivec_lvewx
1000 + __builtin_altivec_lvxl
1001 + __builtin_altivec_lvx
1002 + __builtin_altivec_dst
1003 + __builtin_altivec_dstt
1004 + __builtin_altivec_dstst
1005 + __builtin_altivec_dststt
1007 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1009 * except.c (default_exception_section): Move variable into the
1010 scope where it is used.
1012 2002-11-27 Krister Walfridsson <cato@df.lth.se>
1014 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1017 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
1019 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1021 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
1023 * config/h8300/h8300.c (h8300_shift_costs): New.
1024 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1025 * config/h8300/h8300-protos.h: Add a prototype for
1028 2002-11-27 Jim Wilson <wilson@redhat.com>
1030 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1033 2002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
1035 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1036 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1037 DLL_IMPORT_EXPORT_PREFIX, not '@'.
1038 (i386_pe_dllimport_name_p): Likewise.
1039 (i386_pe_mark_dllexport): Likewise.
1040 (i386_pe_mark_dllimport): Likewise.
1041 (i386_pe_encode_section_info): Likewise.
1042 (i386_pe_strip_name_encoding): Likewise.
1044 2002-11-27 Richard Henderson <rth@redhat.com>
1046 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1047 (nm && NF == 3): Set sawsymbol true.
1048 (END): Exit if no symbols seen.
1049 (output): Fix map syntax error if no globals for the version.
1051 Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
1053 * builtins.def (DEF_C99_BUILTIN): Fix.
1055 2002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
1057 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1058 (all): Add .size and .type information.
1060 Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
1062 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
1063 partial_reg_stall target.
1065 Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
1067 * i386.md (movhicc): Allow general operand.
1068 (movqicc): New expander.
1069 (movqicc_noc): New pattern.
1070 * i386.c (ix86_expand_carry_flag_compare): New function.
1071 (ix86_expand_int_movcc): Optimize harder using sbb; support more
1072 HImode conversion; support QImode conditional moves
1074 Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
1076 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1077 (ix86_expand_prologue): Multiply the count by amount of registers to be
1080 Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
1082 * i386.c (override_options): Error about wrong -mcpu on x86-64
1085 2002-11-26 NIIBE Yutaka <gniibe@m17n.org>
1087 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1089 Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
1091 * i386-protos.h (x86_extended_QIreg_mentioned_p,
1092 x86_extended_reg_mentioned_p): Declare.
1093 * i386.c (extended_reg_mentioned_1): New static function.
1094 (x86_extended_QIreg_mentioned_p,
1095 x86_extended_reg_mentioned_p): New global functions.
1096 * i386.h (REX_SSE_REGNO_P): New macro.
1097 * i386.md (prefix_rex): New attribute.
1098 (length attribute): Add rex.
1100 2002-11-26 Andrew Haley <aph@redhat.com>
1102 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1103 from_Unwind_Find_Enclosing_Function.
1104 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1105 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1106 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1107 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1108 * unwind.h (_Unwind_FindEnclosingFunction): Add.
1110 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
1112 * config/s390/s390.c (390_output_constant_pool): Set alignment
1113 before label in 64 bit mode, behind otherwise.
1115 2002-11-26 Richard Henderson <rth@redhat.com>
1117 * c-common.c (handle_visibility_attribute): Accept "default".
1118 * tree.h (enum symbol_visibility): New.
1119 (decl_visibility): Declare.
1120 * target.h (gcc_target.visibility): Take visibility arg as integer.
1121 * varasm.c (default_assemble_visibility): Likewise.
1122 (decl_visibility): New.
1123 (maybe_assemble_visibility): Use it.
1124 * output.h (default_assemble_visibility): Update prototype.
1125 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1126 visibility arg as integer.
1127 * doc/extend.texi: Document default visibility.
1129 2002-11-26 Kazu Hirata <kazu@cs.umass.edu>
1131 * config/h8300/h8300.c: Adjust spacing.
1132 * config/h8300/h8300.h: Likewise.
1134 2002-11-26 Richard Henderson <rth@redhat.com>
1136 * hooks.c (hook_bool_void_false, hook_void_tree_int,
1137 hook_void_FILEptr_constcharptr): Rename so that the return
1139 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1140 hook_bool_tree_false): New.
1142 * langhooks-def.h: Update for renames.
1143 * target-def.h: Likewise.
1144 * tree.c (default_comp_type_attributes,
1145 default_set_default_type_attributes, default_insert_attributes,
1146 default_function_attribute_inlinable_p,
1147 default_ms_bitfield_layout_p): Remove.
1150 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
1152 * pa-protos.h (function_value): New prototype.
1153 * pa.c (function_value): Use a PARALLEL to return small aggregates on
1155 * pa.h (FUNCTION_VALUE): Use function_value.
1156 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1157 call_value_internal_reg, sibcall_value_internal_symref,
1158 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1161 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
1163 * expr.c (gen_group_rtx, emit_group_move): New functions.
1164 * expr.h (gen_group_rtx, emit_group_move): Prototype.
1165 * function.c (expand_function_start): Use gen_group_rtx to create a
1166 PARALLEL rtx to hold the return value when the real return rtx is a
1168 (expand_function_end): Use emit_group_move to move the return value
1169 from a PARALLEL to the real return registers.
1170 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1173 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
1175 * config/t-libc-ok: Fix typo.
1177 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1179 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1181 * configure: Rebuilt.
1183 2002-11-26 Nathan Sidwell <nathan@codesourcery.com>
1185 * c-decl.c: (start_struct): Commonize flag setting.
1187 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
1189 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1190 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1191 RS6000_CPU_CPP_ENDIAN_BUILTINS.
1192 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1194 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
1196 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1198 * config/s390/s390.c (struct machine_function): Introduction of
1199 struct machine_function.
1200 (s390_output_symbolic_const): Use of cfun.
1201 (s390_optimize_prolog): Likewise.
1202 (s390_fixup_clobbered_return_reg): Likewise.
1203 (s390_frame_info): Likewise.
1204 (s390_emit_prologue, s390_emit_epilogue): Likewise.
1205 (s390_init_machine_status): New function.
1206 (override_options): call s390_init_machine_status.
1207 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1210 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1212 * varasm.c (output_constant_pool): For pool constants in mergeable
1213 section ensure each constant is padded to multiple of entity size.
1215 2002-11-26 Jakub Jelinek <jakub@redhat.com>
1217 * varasm.c (default_exception_section): Move to...
1218 * except.c (default_exception_section): ... here. Make
1219 .gcc_except_table read-only if it is not expected to have any
1220 dynamic relocations and linker handles it.
1221 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1222 if it is not expected to have any dynamic relocations and linker
1224 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1225 when linking read-only and read-write sections together.
1226 * configure, config.in: Rebuilt.
1227 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1228 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1230 Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
1232 * i386.md (pushsf_rex64): Fix typo.
1234 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
1236 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1238 (__ev_create_ufix32_fs): Same.
1239 (__ev_get_sfix32_fs_internal): New.
1240 (__ev_get_sfix32_fs): Define to use function.
1241 (__ev_get_ufix32_fs_internal): New.
1242 (__ev_get_ufix32_fs): Define to use function.
1243 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1244 (__ev_get_lower_ufix32_fs): Same.
1245 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1246 (__ev_get_lower_sfix32_fs): Same.
1247 (__ev_set_sfix32_fs_internal): New.
1248 (__ev_set_ufix32_fs_internal): New.
1249 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1250 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1251 (__ev_set_upper_sfix32_fs): Call function.
1252 (__ev_set_lower_sfix32_fs): Same.
1253 (__ev_set_upper_ufix32_fs): Same.
1254 (__ev_set_lower_ufix32_fs): Same.
1256 2002-11-25 Douglas B Rupp <rupp@gnat.com>
1258 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1260 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1262 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1263 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1264 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1265 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1266 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1267 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1268 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1269 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1270 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1271 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1272 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1273 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1274 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1275 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1276 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1277 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1278 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1279 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1280 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1281 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1282 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1283 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1284 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1285 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1287 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1288 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1290 2002-11-25 Dave Pitts <dpitts@cozx.com>
1292 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1294 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
1296 * config/h8300/h8300.md (an anonymous pattern): New.
1298 2002-11-25 Richard Henderson <rth@redhat.com>
1300 * alias.c (find_base_value): Use new_reg_base_value if it's live.
1301 (copying_arguments): Make boolean.
1303 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1305 * gcc.c (static_spec_functions): Add if-exists-else spec
1307 (if_exists_else_spec_function): New function.
1308 * doc/invoke.texi: Document the if-exists-else spec function.
1310 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1311 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1313 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
1315 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1316 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
1317 "${tmake_file} rs6000/t-netbsd".
1318 * config/rs6000/netbsd.h: Rewrite.
1319 * config/rs6000/t-netbsd: New file.
1321 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
1323 * config/h8300/h8300.md (an anonymous pattern): Relax the
1324 condition for the pattern.
1326 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
1328 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1329 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1330 evmwlssfanw, evmwlsmfanw.
1332 * config/rs6000/rs6000.c (bdesc_2arg): Same.
1334 * config/rs6000/spe.md: Same for patterns.
1336 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
1339 * fold-const.c (extract_muldiv): Don't propagate division unless
1340 both arguments are multiples of C.
1342 2002-11-25 Andrew Haley <aph@redhat.com>
1344 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1345 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1346 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1347 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1349 Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
1351 * i386.c (x86_use_ffreep): New global variable.
1352 * i386.h (x86_use_frfeep): Declare
1353 (TARGET_USE_FFREEP): New macro
1354 * i386.md (movs?f*): Use freep when asked for.
1355 (push?f): Remove dead code.
1357 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
1359 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1360 target help message.
1362 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1364 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1365 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1367 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1368 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1369 to "" for a.out configurations.
1370 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1372 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1374 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1375 NETBSD_CPP_SPEC directly.
1376 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
1377 netbsd_endfile_spec.
1378 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1380 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
1382 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1383 NETBSD_STARTFILE_SPEC.
1384 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1385 (ENDFILE_SPEC): Likewise.
1386 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1388 2002-11-24 Andreas Schwab <schwab@suse.de>
1390 * Makefile.in (install-driver): Remove versioned link before
1391 trying to create it.
1393 * config/m68k/m68k.c: Fix typo in last change defining
1394 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1396 2002-11-23 H.J. Lu <hjl@gnu.org>
1398 * aclocal.m4: Include ../config/accross.m4.
1399 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1400 (gcc_AC_C_COMPILE_ENDIAN): Removed.
1401 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1402 instead of $ac_cv_c_compile_endian.
1404 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1405 AC_COMPILE_CHECK_SIZEOF.
1406 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1407 * configure: Rebuild.
1409 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
1411 * config/h8300/h8300.c (print_operand): Update the use of
1412 h8300_tiny_constant_address_p.
1413 (h8300_adjust_insn_length): Likewise.
1414 (h8300_tiny_constant_address_p): Check if the given rtx is a
1415 variable declared with __attribute__ ((tiny_data)).
1417 2002-11-22 Dale Johannesen <dalej@apple.com>
1419 * toplev.c (rest_of_compilation): Fix comments.
1421 2002-11-22 Geoffrey Keating <geoffk@apple.com>
1423 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1424 allow mmap from /dev/zero. Don't make decisions for the host
1425 based on presence or absence of /dev/zero on the build machine.
1426 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1427 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1428 * configure: Regenerate.
1430 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
1432 * gcc.c (make_relative_prefix, split_directories)
1433 (free_split_directories): Removed.
1435 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
1437 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1438 * configure: Regenerated.
1440 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
1442 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1443 length computation when xor.l is output.
1445 2002-11-21 Douglas B Rupp <rupp@gnat.com>
1447 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1448 (call_vms_1, call_value_vms_1): Cleanup syntax.
1450 Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
1452 * athlon.md (define_atuomaton): Add athlon_load.
1453 (athlon-double): New reservation.
1454 (athlon-ieu0): New CPU unit.
1455 (athlon-load?): Use athlon_load automaton.
1456 (*_k8 reservations): New.
1457 (other insn revervations): Activate for K8.
1459 Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
1461 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
1463 2002-11-21 Jim Wilson <wilson@redhat.com>
1465 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1468 2002-11-21 Bob Wilson <bob.wilson@acm.org>
1470 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1471 * config/xtensa/xtensa.c (struct machine_function): Add
1472 incoming_a7_copied flag.
1473 (xtensa_copy_incoming_a7): Define.
1474 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1475 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1477 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
1479 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1480 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1481 x86_64_nonmemory_operand, x86_64_movabs_operand,
1482 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1483 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1484 (local_symbolic_operand): Do not care the 64bit limits.
1485 (x86_64_sign_extended_value): Remove allow_rip support.
1486 (legitimate_pic_address_disp_p): Handle all cases allowed
1487 with RIP addressing.
1488 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1489 (legitimize_pic_address): Reorganize.
1490 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1492 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1494 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1495 * config/arm/netbsd-elf.h: New file.
1497 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1499 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1500 subtarget_asm_float_spec.
1501 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1503 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
1505 2002-11-21 Nick Clifton <nickc@redhat.com>
1507 * config/fr30/fr30.md (movsf_constant_store): Move code to
1508 detect 0.0 into fr30.c.
1509 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1511 * config/fr30/fr30.c (fr30_const_double_is_zero): New
1512 function. Return true if the rtx is 0.0.
1514 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
1516 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1517 if -mlittle-endian is specified.
1519 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
1521 PR optimization/2903
1522 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1523 (anddi_notsesidi_di): Likewise.
1525 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
1527 * config/h8300/h8300.c (print_operand): Use
1528 h8300_eightbit_constant_address_p and
1529 h8300_tiny_constant_address_p.
1530 (h8300_adjust_insn_length): Likewise.
1531 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1532 (TINY_CONSTANT_ADDRESS_P): Likewise.
1533 (OK_FOR_U): Use eightbit_constant_address_p.
1535 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
1537 * config/s390/libgcc-libc.ver: Add multilib support.
1538 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1539 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1540 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1541 EXTRA_MULTILIB_PARTS): Define.
1543 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
1545 * arm.c (arm_get_frame_size): A leaf function does not need its
1546 stack padding to an aligned boundary if it has no frame.
1547 (thumb_get_frame_size): Likewise.
1549 Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
1551 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1552 (override_options): Likewise.
1554 Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
1556 * config.gcc: Add k8 target alias support
1557 * i386.c (_cost): Declare costs for various variants of divides and
1560 (m_K8, m_ATHLON_K8): New macros.
1561 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1562 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1563 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1564 x86_integer_DFmode_moves, x86_partial_reg_dependency,
1565 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1566 x86_prologue_using_move, x86_epilogue_using_move,
1567 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1568 x86_sse_typeless_stores): Set for K8
1569 (override_options): Add k8 support; fix athlon alignment;
1570 complain about non-x86-64 capable CPU being used in x86-64 compilation.
1571 (ix86_issue_rate): Set for K8.
1572 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1573 x86_machine_dependent_reorg): Handle K8 like
1575 (x86_costs): Change mult_init and divide into array.
1576 (TARGET_K8, TARGET_ATHLON): New macros.
1577 (MODE_INDEX): New macro.
1578 (RTX_COST): Use new costs.
1579 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
1580 (TARGET_CPU_DEFAULT_NAMES): Add k8
1581 (TARGET_CPU_DEFAULT_k8): New constant
1582 (enum processor_type): Add PROCESSOR_K8.
1583 * i386.md (cpu attribute): Add k8.
1585 * invoke.texi: Document -march=k8.
1587 * i386.md (type attribute): Add leave
1588 (mode attribute): Remove unknownfp.
1589 (length_immediate, modrm, memory attributes): Handle leave correctly.
1590 (fp comparison patterns): Determine FP mode.
1591 (leave, leave_rex64): Remove special cases.
1592 * ppro.md (ppro_uops, ppro_p2): Add leave
1593 * pentiun.md (pent_pop): Handle leave too.
1594 * k6.md (k6_load): Handle leave.
1595 * athlon.md (athlon_leave, athlon_pop): Fix.
1596 (athlon_decode): Handle leave.
1598 2002-11-20 Steve Ellcey <sje@cup.hp.com>
1600 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1601 to component type using GET_MODE_INNER.
1602 * expr.c (emit_move_insn_1): Ditto.
1603 * optabs.c (expand_binop): Ditto.
1604 (expand_unop): Ditto.
1605 (expand_complex_abs): Ditto.
1607 2002-11-20 Douglas B Rupp <rupp@gnat.com>
1609 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1611 2002-11-20 DJ Delorie <dj@redhat.com>
1613 * config/stormy16/stormy16.c (s16builtins,
1614 xstormy16_init_builtins, xstormy16_expand_builtin): New.
1615 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1617 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
1619 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1620 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1621 (executing gencheck, genconfigs, genconditions, genflags,
1622 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1623 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1624 gengtype, genprotos): Prepend $(RUN_GEN).
1625 * configure.in: Move host compiler tests before --enable-checking
1627 (--enable-checking=valgrind): New.
1628 * config.in, configure: Regenerate.
1629 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1631 (read_include_file): When doing the mmap+1 trick,
1632 valgrind-annotate the byte after the mmap:ed area as readable.
1633 (purge_cache): Remove above annotation.
1634 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1635 VALGRIND_PATH -q to each command.
1637 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1639 (ggc_realloc): Update valgrind annotations.
1640 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1642 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1643 valgrind-annotate memory.
1645 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
1647 * recog.c (constrain_operands): Prefer exact match over reloadable
1648 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1650 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1653 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
1656 * c-decl.c (duplicate_decls): Outline the second definition
1657 of an extern inline function in all cases.
1659 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1661 * stor-layout.c (place_field): Update rli->offset as well as
1664 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1666 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1668 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1670 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1671 into a libcall block.
1672 (divsi3): Likewise divsi3_i4_media.
1674 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
1676 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1677 out another register.
1679 2002-11-20 Jakub Jelinek <jakub@redhat.com>
1681 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1682 (not just mask) are set in C.
1684 2002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
1686 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1688 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1690 * profile.c (index_counts_file): Fix obvious mistake.
1692 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1694 * Makefile.in (profile.o): Add hashtab.h dependency.
1695 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1696 * profile.c: Include hashtab.h.
1697 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1698 cleanup_counts_index, index_counts_file, struct section_reference,
1699 struct da_index_entry, counts_file_name, counts_file_index): New.
1700 (get_exec_counts, init_branch_prob): Modified.
1702 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
1704 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1705 to tmake_file. Remove setting gas and gnu_ld here.
1706 * config/sh/libgcc-glibc.ver: New file.
1707 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1708 (SHLIB_MAPFILES): New.
1709 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1710 (MD_STARTFILE_PREFIX): Likewise.
1711 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1712 (DWARF2_UNWIND_INFO): Redefine.
1713 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1714 (LINK_EH_SPEC): Redefine.
1715 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1716 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1717 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1718 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1719 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1720 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1721 SH_DWARF_FRAME_FPSCR): Likewise.
1722 * config/sh/sh-protos.h (sh_set_return_address): Declare.
1723 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1724 registers if the current function calls EH return.
1725 (sh_expand_epilogue): Handle EH stack adjustments.
1726 (sh_set_return_address): New function.
1727 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1728 Don't abort even if the number is mapped to -1.
1729 (EH_RETURN_DATA_REGNO): Define.
1730 (EH_RETURN_STACKADJ_RTX): Define.
1731 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1732 (eh_return): New pattern.
1733 (eh_set_ra_di, eh_set_ra_si): Likewise.
1734 Add splitter to perform EH return after reload.
1736 Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
1738 * stor-layout.c (excess_unit_span): New function.
1739 (place_field): Use it.
1741 2002-11-19 Andreas Schwab <schwab@suse.de>
1743 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1746 2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
1748 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1749 * configure: Regenerate.
1751 Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
1753 * convert.c (strip_float_extensions): New function.
1754 (convert_to_real): Optimize some cases.
1756 2002-11-19 Andreas Jaeger <aj@suse.de>
1758 * loop.c (record_giv): Initialize not_replaceable.
1759 (check_final_value): Likewise.
1761 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1763 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1766 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
1768 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1769 only if -mh or -ms present.
1770 (h8300_eightbit_constant_address_p): Support the normal mode.
1771 (h8300_tiny_constant_address_p): Likewise.
1772 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1773 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1774 (Pmode): Evaluate to HImode for the normal mode.
1775 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1776 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1777 (ASM_WORD_OP): Evaluate to word for the normal mode.
1778 * config/h8300/h8300.md (tablejump_normal_mode): New.
1779 (indirect_jump_normal_mode): New.
1780 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1782 (MULTILIB_DIRNAMES): Create target dependent directory
1784 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1785 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1787 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
1789 * i386.md (length_immediate): Do not refer to insn address.
1790 (jcc*, jmp patterns): Compute length explicitly.
1792 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1795 * optabs.c (expand_binop): Convert CONST_INTs in shift
1798 2002-11-19 Roger Sayle <roger@eyesopen.com>
1800 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1802 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1804 * config/h8300/h8300.md (an anonymous pattern): Relax the
1805 condition to accept the same operands and/or subregs.
1807 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
1809 * config/sh/sh.c (gen_shl_and): Revert previous patch.
1810 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1813 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1815 * config/h8300/h8300.c (print_operand): Update the use of
1816 EIGHTBIT_CONSTANT_ADDRESS_P.
1817 (h8300_adjust_insn_length): Likewise.
1818 (h8300_eightbit_constant_address_p): Check if the given rtx is
1819 a variable with __attribute__((eightbit_data)).
1820 * config/h8300/h8300.h (OK_FOR_U): Update the use of
1821 EIGHTBIT_CONSTANT_ADDRESS_P.
1823 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1825 * doc/contrib.texi (Contributors): Add self as second contact in
1826 addition to Jeff Law.
1828 2002-11-19 Andreas Jaeger <aj@suse.de>
1830 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1831 find_alloca_call to right place.
1833 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
1835 * cppfiles.c: Fix formatting.
1837 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
1839 * gcc.c (The Specs Language): Document spec functions.
1840 (static_spec_functions, lookup_spec_function)
1841 (eval_spec_function, handle_spec_function)
1842 (if_exists_spec_function, alloc_args): New.
1843 (execute): Abort if processing_spec_function is true.
1844 (do_spec_1): Hand off spec to handle_spec_function if %:
1845 is encountered. If processing_spec_function is true,
1846 end any pending argument when the end of the string is reached.
1847 (main): Use alloc_args to allocate the initial argument vector.
1848 * gcc.h (struct spec_function): New.
1849 (lang_specific_spec_functions): New extern.
1851 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1852 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1853 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1855 * doc/invoke.texi: Document spec functions.
1857 * cppspec.c (lang_specific_spec_functions): New.
1858 * gccspec.c: Likewise.
1860 2002-11-18 Steve Ellcey <sje@cup.hp.com>
1862 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1863 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1864 (fixunstfsi_libfunc): Change.
1865 (fixunstfdi_libfunc): Change.
1866 (sdiv_optab): Don't zero out SImode handler.
1867 (udiv_optab): Don't zero out SImode handler.
1868 (smod_optab): Don't zero out SImode handler.
1869 (umod_optab): Don't zero out SImode handler.
1871 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
1873 PR preprocessor/8524
1874 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1875 Add a new one in its place, which hopefully works.
1876 (skip_rest_of_line): Change test for bottom-of-context-stack.
1878 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
1880 * i386.md (addqi_1_slp): Fix output template.
1881 (subqi_1_slp): Fix type.
1883 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
1885 * calls.c (alloca_call_p): New global function.
1886 * tree.h (alloca_call_p): New.
1887 * tree-inline.c (inlinable_function_p): Do not inline when
1888 function calls alloca.
1889 (find_alloca_call, find_alloca_call_1): New functions.
1891 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
1893 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
1894 bst. Update the insn length.
1895 (*andorhi3): Likewise.
1896 (*andorsi3): Likewise.
1898 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1900 * config/sh/sh-protos.h (sh_mark_label): Declare.
1901 * config/sh/sh.c (sh_mark_label): New function, taken from
1902 movdi_const, but fixing the case when the address has an addend.
1903 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
1905 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1907 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
1908 (add_constant): Set it.
1909 (dump_table): Don't reorder a constant if part_of_sequence_p.
1910 (machine_dependent_reorg): Assume that float constants will
1911 stay in their original order if used as a sequence.
1913 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1915 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
1918 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
1920 * config/sh/sh.md (initialize_trampoline): Do not force the
1921 trampoline address into R0_REGS here.
1923 Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
1925 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1926 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1927 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1928 generate unnecesary subregs.
1930 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1932 * df.c: Fix formatting.
1934 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1936 * config/h8300/h8300.md (two anonymous patterns): Fix insn
1939 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
1941 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
1942 is not an arith_reg_operand.
1944 2002-11-17 Graham Stott <graham.stott@btinternet.com>
1946 * real.c (real_to_decimal): Fix buffer overrun when buffer size
1947 is smaller than representation.
1949 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
1951 * builtins.c: Fix formatting.
1953 Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
1955 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
1957 Work around regclass stupidity.
1958 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
1960 Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
1962 * i386.md (fop_df_6): New pattern.
1963 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
1966 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
1970 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1972 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
1974 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1976 * config/h8300/h8300.md: Fix formatting.
1978 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1980 * config/h8300/h8300.md: Replace spaces with tabs.
1981 * config/h8300/t-h8300: Remove a trailing empty line.
1983 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1985 * tlink.c: Fix formatting.
1987 2002-11-16 David Edelsohn <edelsohn@gnu.org>
1990 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
1991 * config/rs6000/rs6000.md (movti_string): Remove output modifier
1992 when scratch register never needed.
1993 (ldmsi[3-8]): New patterns.
1995 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
1997 * hard-reg-set.h: Follow spelling conventions.
1999 * target.h: Likewise.
2001 2002-11-16 Jakub Jelinek <jakub@redhat.com>
2003 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2005 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
2007 * optabs.c: Fix formatting.
2009 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
2011 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2012 * i386.md (attribute type): Add type shift1 and rotate1.
2013 (*_slp): Rewrite to have just two operands to avoid reload problems.
2015 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
2017 * config/h8300/h8300.md (4 anonymous patterns): New.
2019 2002-11-15 Geoffrey Keating <geoffk@apple.com>
2021 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2022 * doc/invoke.texi: Correct description of what needs to be done to
2023 force collection at every ggc_collect call.
2025 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
2027 * config/s390/s390.c (optimization_options): Set
2028 flag_asynchronous_unwind_tables to 1 by default.
2030 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
2032 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2034 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
2036 * i386-protos.h (x86_function_profiler): New function
2037 * i386.h (MCOUNT_NAME): New.
2038 (PROFILE_COUNT_REGISTER): New.
2039 (FUNCTION_PROFILER): Move offline to ...
2040 * i386.c (x86_function_profiler) ... here; fix 64bit support
2041 * beos-elf.h (FUNCTION_PROFILER): Kill.
2043 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2045 (PROFILE_COUNT_REGISTER): New.
2046 * linux.h (FUNCTION_PROFILER): Kill.
2048 * x86-64.h (FUNCTION_PROFILER): Kill.
2050 * freebsd.h (FUNCTION_PROFILER): Kill.
2053 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2055 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2056 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2057 * config/arm/arm.c (arm_va_arg,
2058 arm_function_arg_pass_by_reference): New.
2059 * config/arm/arm-protos.h: Add prototypes.
2061 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
2063 * gthr-single.h: Fix formatting.
2065 2002-11-14 Zack Weinberg <zack@codesourcery.com>
2067 * tree.c (tree_vec_elt_check_failed): New function.
2068 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2069 (TREE_VEC_ELT): Use it.
2071 * tree-inline.c (optimize_inline_calls): Don't copy a
2074 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
2076 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2078 2002-11-14 Jakub Jelinek <jakub@redhat.com>
2080 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2081 both operands contain local relocations.
2082 (categorize_decl_for_section): Don't use mergeable sections if
2083 initializer has any relocations.
2085 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
2087 * gthr-vxworks.h: Fix formatting.
2089 2002-11-13 Janis Johnson <janis187@us.ibm.com>
2091 * doc/install.texi (Testing): Document extra Java testing.
2092 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2094 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
2096 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2097 beginning of the spec.
2098 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2099 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
2100 regarding problems with global constructors when using GNU ld.
2102 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
2104 * gthr-solaris.h: Fix formatting.
2106 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
2108 * gthr-posix.h: Fix formatting.
2110 2002-11-12 Devang Patel <dpatel@apple.com>
2112 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2113 (process_command): Same.
2114 * doc/invoke.texi: Info about these two new options.
2116 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2118 * config/h8300/h8300.md (*andorsi3): New.
2120 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2122 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2124 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2126 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2127 expressions appropriately.
2129 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2131 * gthr-win32.h: Fix formatting.
2133 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
2135 * config/h8300/h8300.c (single_one_operand): Correctly compute
2136 mask when mode is SImode.
2137 (single_zero_operand): Likewise.
2138 * config/h8300/h8300.md (two new anonymous insns): New.
2140 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2142 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2143 to that entire project.
2145 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2147 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2150 2002-11-11 Zack Weinberg <zack@codesourcery.com>
2152 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2153 * doc/invoke.texi: Document them.
2155 * ggc-page.c: Include params.h. Remove definitions of
2156 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
2157 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2158 (init_gcc): Don't set G.allocated_last_gc here.
2159 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2160 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2162 * ggc-simple.c: Similarly.
2163 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2166 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
2168 * gthr-dce.h: Fix formatting.
2170 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2173 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2174 mode of DECL_RTL case.
2176 2002-11-11 Janis Johnson <janis187@us.ibm.com>
2178 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2180 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
2182 * i386.c (construct_container): Fix handling of SSE_CLASS.
2184 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
2186 * config/m68k/t-crtstuff (crti.o): Use this...
2187 ($(T)crti.o): ... instead.
2188 (crtn.o): Use this...
2189 ($(T)crtn.o): ... instead.
2191 2002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2194 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2195 if there is something new to be simplified.
2197 2002-11-10 H.J. Lu <hjl@gnu.org>
2199 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2200 * expr.c (PUSH_ARGS_REVERSED): Likewise.
2202 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2204 2002-11-10 Zack Weinberg <zack@codesourcery.com>
2206 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2207 * config/rs6000/linux.h, config/rs6000/linux64.h,
2208 config/rs6000/windiss.h: ... not here.
2210 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
2212 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2213 __ABICALLS__ if TARGET_ABICALLS.
2215 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
2217 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2219 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
2221 * c-decl.c (grokdeclarator): Make error for duplicate type
2222 qualifiers into a pedwarn, disabled for C99.
2224 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
2226 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2227 as FUNCTION_ARG_PASS_BY_REFERENCE.
2229 2002-11-09 Zack Weinberg <zack@codesourcery.com>
2231 * doc/install.texi: Add *-*-vxworks* specific installation
2234 * config/vxlib.c: Rewrite using generation numbers to identify
2237 Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
2239 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2241 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2243 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2245 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2246 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
2247 * pa.c (output_millicode_call): Use symbol difference rather than
2248 $PIC_pcrel$0 when using HP assembler.
2249 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2250 not elfos.h (i.e., gas) is being used.
2251 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2252 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2253 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2254 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2255 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2257 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2258 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2259 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2261 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2262 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2263 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2264 Don't define when not using elfos.h.
2265 (ASM_DECLARE_RESULT): Don't define.
2266 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2267 doesn't work on hppa64-hp-hpux11.
2268 (hppa*-hp-hpux11): Update.
2270 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
2272 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2273 to the assembler if -mno-abicalls was specified.
2275 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2277 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2278 ASM_OUTPUT_DEF): Delete.
2280 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
2282 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2284 2002-11-08 Roger Sayle <roger@eyesopen.com>
2286 * real.c (real_sqrt): Update comment with bibliographic reference.
2288 Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
2290 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2292 Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
2294 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2296 Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
2298 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2299 (expand_builtin): Likewise.
2301 __builtin_floor, __builtin_floorf, __builtin_floorl
2302 __builtin_ceil, __builtin_ceilf, __builtin_ceill
2303 __builtin_round, __builtin_roundf, __builtin_roundl
2304 __builtin_trunc, __builtin_truncf, __builtin_truncl
2305 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2306 * genopinit.c (optabs): Initialize the new optabs.
2307 * optab.c (init_optabs): Likewise.
2308 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2309 OTI_round, OTI_nearbyint.
2310 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2311 * doc/md.texi: Document new named patterns.
2312 * doc/extend.texi (builtin functions) Document
2313 floor, floorf, floorl, ceil, ceilf,
2314 ceill, round, roundf, roundl, trunc,
2315 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2317 Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
2319 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2321 2002-11-08 Dale Johannesen <dalej@apple.com>
2323 * dbxout.c (dbxout_type): Fix stabs info for vector types.
2325 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
2327 PR preprocessor/8497
2328 PR preprocessor/8501
2329 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2330 start a directive. In assembler, #NUM is not a line directive.
2332 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
2334 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2337 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
2339 * config/h8300/h8300.md (two anonymous test insns): New.
2341 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
2343 * jump.c (mark_jump_label): Handle subregs of label_refs.
2345 Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
2347 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2348 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2350 2002-11-07 David Mosberger <davidm@hpl.hp.com>
2352 * config/ia64/crtend.asm: Include "auto-host.h".
2353 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2354 * config/ia64/crtbegin.asm: Similarly.
2355 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2356 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2358 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2359 * configure.in: Use it if --enable-initfini-array not specified.
2360 * doc/install.texi (Configuration): Document --enable-initfini-array.
2361 * configure, config.in: Rebuild.
2363 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
2365 * config/arm/arm-protos.h (arm_get_frame_size)
2366 (thumb_get_frame_size): New prototypes.
2367 * config/arm/arm.c (arm_get_frame_size)
2368 (thumb_get_frame_size): New functions.
2369 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2370 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2372 (thumb_expand_prologue, thumb_expand_epilogue): Use
2373 thumb_get_frame_size.
2374 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2375 (machine_function): Add frame_size member.
2376 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2378 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
2380 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
2381 Adjust code to use portable unsigned bit manipulation.
2382 (insn_flags, tune_flags): Change type to unsigned.
2383 (struct processors): Make flags unsigned long.
2384 (arm_override_options): Change type of count and current_bit_count
2387 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
2389 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2391 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
2393 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2395 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
2397 * reg-stack.c (compensate_edge): Fix sanity check.
2399 2002-11-05 Geoffrey Keating <geoffk@apple.com>
2401 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2402 crt2.o. Rearrange t-darwin makefiles.
2403 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2404 * unwind-dw2-fde-darwin.c: New.
2405 * unwind-dw2-fde-glibc.c: Correct comment.
2406 * unwind-dw2-fde.c (__register_frame_info_bases)
2407 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2408 (classify_object_over_fdes): Use last_fde.
2409 (add_fdes): Likewise.
2410 (linear_search_fdes): Likewise.
2411 * unwind-dw2-fde.h (struct object)
2412 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2414 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2415 (ENDFILE_SPEC): No crtend.o.
2416 * config/t-darwin: New.
2417 * config/i386/t-darwin: Delete.
2418 * config/darwin-crt2.c: New.
2419 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2422 2002-11-06 Douglas B Rupp <rupp@gnat.com>
2424 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2425 MASK_MS_BITFIELD_LAYOUT
2426 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2427 MS bitfields for Objective-C.
2428 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2431 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2432 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2433 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2435 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2436 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2437 (TARGET_SWITCHES): Add above mask.
2439 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2440 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2441 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2444 Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
2446 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2447 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2449 * config/mips/mips.md (tablejump_internal3): Output .cpadd
2450 before jump on ABI_N32 too.
2451 (tablejump_internal4): Ditto on ABI_64. Increase maximum
2454 Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
2456 * i386.md (negsf splitter): Accept memory operand in second register.
2457 (abssf/absdf splitters): Simplify
2458 (sse_loadss, sse_loadsd): Turn into expander.
2460 2002-11-06 David Edelsohn <edelsohn@gnu.org>
2463 * config/rs6000/rs6000.md (movdi_internal64): Discourage
2466 2002-11-06 Janis Johnson <janis187@us.ibm.com>
2468 * doc/contrib.texi: Merge in the list from the Java web pages.
2470 2002-11-06 David O'Brien <obrien@FreeBSD.org>
2472 * config/sparc/freebsd: Fix typo.
2474 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
2476 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2478 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
2480 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2481 non-SImode addresses.
2483 Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
2485 * i386.md (float_truncate SSE splitter): Ensure that operand is not
2487 (float SSE splitters): Reorder conditional.
2489 2002-11-05 Bob Wilson <bob.wilson@acm.org>
2491 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2493 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
2495 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2496 (STARTFILE_SPEC): Remove p and pg options.
2498 2002-11-05 Andrew Haley <aph@redhat.com>
2500 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2501 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2503 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
2505 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2506 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2508 2002-11-04 Zack Weinberg <zack@codesourcery.com>
2510 * gthr-vxworks.h: Rewritten from scratch.
2511 * config/vxlib.c: New file.
2512 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2513 * config/rs6000/t-vxworks: Add config/vxlib.c to
2514 LIB2FUNCS_EXTRA here too, because of clash with
2515 config/rs6000/t-ppccomm.
2517 2002-11-04 Dale Johannesen <dalej@apple.com>
2519 * doloop.c (doloop_modify_runtime): Fix loop count computation
2521 * loop.c (loop_invariant_p): Support calling from unroller.
2523 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
2525 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2528 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
2530 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2532 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2533 (CLASS_CANNOT_CHANGE_MODE): Remove.
2534 (CANNOT_CHANGE_MODE_CLASS): New.
2536 * config/alpha/alpha.h: Same.
2538 * config/ia64/ia64.h: Same.
2540 * config/mips/mips.h: Same.
2542 * config/s390/s390.h: Same.
2544 * config/sh/sh.h: Same.
2546 * config/pa/pa64-regs.h: Same.
2548 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2550 * config/sh/sh.c (sh_cannot_change_mode_class): New.
2552 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2555 * config/mips/mips.c (mips_cannot_change_mode_class): New.
2557 * doc/tm.texi (Register Classes): Remove
2558 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2559 Document CANNOT_CHANGE_MODE_CLASS.
2561 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2562 (push_reload): Same.
2564 * simplify-rtx.c (simplify_subreg): Same.
2566 * reload1.c (choose_reload_regs): Same.
2568 * recog.c (register_operand): Same.
2570 * regrename.c (mode_change_ok): Change to use new
2571 CANNOT_CHANGE_MODE_CLASS infrastructure.
2573 * regclass.c (cannot_change_mode_set_regs): New.
2574 Declare subregs_of_mode.
2575 (regclass): Use subregs_of_mode.
2576 Remove references to reg_changes_mode.
2577 (init_reg_sets_1): Remove class_can_change_mode and
2578 reg_changes_mode code.
2579 (invalid_mode_change_p): New.
2580 (dump_regclass): Use invalid_mode_change_p instead of
2581 class_can_change_mode.
2583 (record_operand_costs): Do not set reg_changes_mode.
2585 * local-alloc.c (struct qty): Remove changes_mode field.
2586 (alloc_qty): Remove changes_mode initialization.
2587 (update_qty_class): Remove set of changes_mode.
2588 (find_free_reg): Use subregs_of_mode.
2590 * global.c (find_reg): Use subregs_of_mode info.
2592 * rtl.h (cannot_change_mode_set_regs): New prototype.
2593 (invalid_mode_change_p): Same.
2594 (REG_CANNOT_CHANGE_MODE_P): New macro.
2596 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
2598 (life_analysis): Clear subregs_of_mode.
2600 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2601 Remove use of CLASS_CANNOT_CHANGE_MODE.
2602 (simplify_set): Same.
2603 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
2606 * regs.h: Add extern for subregs_of_mode;
2607 Include hard-reg-set and basic-block.
2608 (REG_CHANGES_MODE): Delete.
2610 2002-11-03 Roger Sayle <roger@eyesopen.com>
2612 * real.c (real_sqrt): New function to calculate square roots.
2613 * real.h (real_sqrt): Add function prototype.
2614 * builtins.c (fold_builtin): Fold sqrt of constant argument.
2615 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2616 of constant argument.
2618 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
2620 * jump.c (never_reached_warning): Don't set contains_insn until the
2621 first line note is seen.
2623 2002-11-03 David Edelsohn <edelsohn@gnu.org>
2625 * config/rs6000/rs6000.md (movti_string): Use string instructions.
2627 2002-11-03 Roger Sayle <roger@eyesopen.com>
2630 * c-typeck.c (c_expand_asm_operands): Defend against
2631 error_mark_nodes in the output argument to avoid ICE.
2633 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2636 * genrecog.c (preds): Handle ADDRESSOF.
2637 (validate_pattern): Mark it as an lvalue.
2639 2002-11-02 David Edelsohn <edelsohn@gnu.org>
2641 * config/rs6000/rs6000.c (rs6000_override_options): Use string
2642 instructions when optimizing for size.
2644 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
2646 * config/h8300/h8300.h: Fix comment typos.
2647 * config/h8300/h8300.md: Likewise.
2648 * config/h8300/lib1funcs.asm: Likewise.
2650 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2654 *doc/install.texi (Installing GCC: Configuration): Clarify
2655 the only supported ways to configure gcc.
2657 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
2659 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2660 instead of 'O' for the constraint for the second operand.
2662 2002-11-01 Mark Mitchell <mark@codesourcery.com>
2665 * toplev.c (rest_of_compilation): Do not refuse to output code for
2666 an inline function in a local class.
2668 2002-11-01 David O'Brien <obrien@FreeBSD.org>
2670 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2671 (TRANSFER_FROM_TRAMPOLINE): Reformat.
2674 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
2676 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2678 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2680 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2682 2002-11-01 Steve Ellcey <sje@cup.hp.com>
2684 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2685 (MASK_INLINE_DIV_THR): Remove.
2686 (TARGET_INLINE_DIV_LAT): Remove.
2687 (TARGET_INLINE_DIV_THR): Remove.
2688 (TARGET_INLINE_DIV): Remove.
2689 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2690 (MASK_INLINE_FLOAT_DIV_THR): New macro.
2691 (MASK_INLINE_INT_DIV_LAT): New macro.
2692 (MASK_INLINE_INT_DIV_THR): New macro.
2693 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2694 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2695 (TARGET_INLINE_INT_DIV_LAT): New macro.
2696 (TARGET_INLINE_INT_DIV_THR): New macro.
2697 (TARGET_INLINE_FLOAT_DIV): New macro.
2698 (TARGET_INLINE_INT_DIV): New macro.
2699 * config/ia64/ia64.md (divsi3): Change to use new macros.
2703 (divsi3_internal): Ditto.
2708 (divdi3_internal_lat): Ditto.
2709 (divdi3_internal_thr): Ditto.
2711 (divsf3_internal_lat): Ditto.
2712 (divsf3_internal_thr): Ditto.
2714 (divdf3_internal_lat): Ditto.
2715 (divdf3_internal_thr): Ditto.
2717 (divtf3_internal_lat): Ditto.
2718 (divtf3_internal_thr): Ditto.
2719 * config/ia64/ia64.c (ia64_override_options): Change
2720 to check new macros for conflicts in settings.
2721 * doc/invoke.texi (-minline-divide-min-latency): Remove.
2722 (-minline-divide-max-throughput): Remove.
2723 (-minline-float-divide-min-latency): New.
2724 (-minline-float-divide-max-throughput): New.
2725 (-minline-int-divide-min-latency): New.
2726 (-minline-int-divide-max-throughput): New.
2728 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
2731 * arm.c (use_return_insn): Don't use a return insn if there are
2732 saved integer regs, but LR is not one of them.
2734 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
2736 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
2737 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2739 Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
2741 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
2742 (movps, movpd splitters): Use canonical form.
2743 (movv2di): Fix merge problem.
2745 Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
2747 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2749 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
2751 PR optimization/6162
2752 * doc/md.texi: Document restriction on commutative operand
2755 2002-10-31 Eric Christopher <echristo@redhat.com>
2757 * explow.c (convert_memory_address): Use shallow_copy_rtx.
2759 2002-10-31 Steve Ellcey <sje@cup.hp.com>
2761 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2763 2002-10-31 Steve Ellcey <sje@cup.hp.com>
2765 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2767 Thu Oct 31 Dale Johannesen <dalej@apple.com>
2769 * config/rs6000/darwin.h: Correct formatting in previous.
2771 Thu Oct 31 Dale Johannesen <dalej@apple.com>
2773 * config/rs6000/darwin.h: Enable -falign-xxx options.
2775 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
2777 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2778 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2779 * i386.c (optimization_options): Set flag_omit_frame_pointer,
2780 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2781 Do not clear -momit-leaf-frame-pointer when profiling.
2782 (ix86_frame_pointer_required): Frame pointer is always required when
2785 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
2787 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2789 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
2791 * sh.h (binary_logical_operator): Declare.
2792 * sh.c (binary_logical_operator): New function.
2793 * sh.md (xordi3+1): New combiner splitter pattern.
2795 2002-10-31 David O'Brien <obrien@FreeBSD.org>
2797 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2798 __enable_execute_stack function.
2800 2002-10-30 Zack Weinberg <zack@codesourcery.com>
2802 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2803 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2804 * unwind-sjlj.c (fc_key_dtor): Delete.
2805 (fc_key_init): Adjust __gthread_key_create call to match.
2807 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
2809 * c-common.c: Add GTY to vector_type_node_list.
2811 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
2813 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2814 * pa-protos.h (attr_length_millicode_call, attr_length_call,
2815 pa_init_machine_status): Declare new global functions.
2816 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2817 implement new functions.
2818 (attr_length_millicode_call, attr_length_call): Implement.
2819 (total_code_bytes): Change type to long.
2820 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2821 Reset counter if flag_function_sections.
2822 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2823 (output_cbranch): Move call to gen_label_rtx.
2824 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2825 delay slot in all variants, shorten pc-relative calls.
2826 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2827 slot usage and exposure, various new call variants, and shortened
2828 sequences for some variants on TARGET_PA_20.
2829 Miscellaneous format changes.
2830 * pa.h (total_code_bytes): Change type to long.
2831 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2832 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2833 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2834 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2835 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2836 stores on TARGET_ELF32.
2837 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2838 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2839 canonicalize_funcptr_for_compare expanders): Calculate attribute length
2840 attr_length_millicode_call().
2841 (call_internal_symref, call_value_internal_symref): Clobber register 1.
2842 Calculate attribute length using attr_length_call().
2843 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2845 (sibcall, sibcall_value): Rewrite.
2846 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2847 register 1. Use attr_length_call().
2848 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2850 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2851 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2852 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2853 * doc/invoke.texi (mlong-calls): Document.
2855 2002-10-30 Roger Sayle <roger@eyesopen.com>
2857 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
2858 handling of cases where one or both branches of the conditional
2859 have void type, i.e. throw an exception or don't return.
2860 (fold): Only apply (and undo) type conversion to the non-void
2861 branches of a COND_EXPR.
2863 2002-10-30 Mark Mitchell <mark@codesourcery.com>
2866 * varasm.c (asm_output_aligned_bss): Do not call
2867 ASM_GLOBALIZE_LABEL.
2869 2002-10-30 David Edelsohn <edelsohn@gnu.org>
2870 Torbjorn Granlund <tege@swox.com>
2872 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2874 (load_toc_v4_PIC_1b): Same.
2876 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
2878 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2879 Truncate the addresses for H8/300 using HImode.
2881 Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
2883 * i386.md (negdf splitter): Fix construction of the constant.
2885 Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
2887 * i386.md (negsf, negdf): Reorganize to use vector modes
2889 (abssf, absdf): Use force_reg.
2890 (movv4sf, movv2df): New splitters.
2891 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
2892 * i386.c (zero_extended_scalar_load_operand
2894 * i386-protos.h (ix86_expand_call): Update prototype.
2895 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
2896 (ix86_expand_call): Use r11 for indirect sibcalls.
2897 * i386.md (call, call_value, untyped_call, call_value_pop):
2898 update x86_expand_call call.
2899 (sibcall, sibcall_value): new patterns
2900 (call_rex64, call_value_rex64): Do not accept sibcalls.
2901 (sibcall_rex64, sibcall_value_rex64,
2902 sibcall_rex64_v, sibcall_value_rex64_v): New.
2904 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
2906 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2909 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
2911 * toplev.c (rest_of_type_compilation): Return early in case of
2913 (check_global_declarations): Don't call debug_hooks->global_decl
2916 2002-10-28 Andreas Bauer <baueran@in.tum.de>
2918 * doc/c-tree.texi (Tree overview): Fix typos.
2920 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
2922 * Makefile.in (gnucompare*): Only record bad comparisons
2923 if there really was a bad comparison.
2925 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
2927 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
2928 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
2929 * md.texi (machine dependent constraints): Document 'C'
2931 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
2933 * i386.c (ix86_expand_vector_move): Fix.
2935 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
2936 * i386.md (sse2_maskmovdqu_rex64): New pattern
2939 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
2940 (ix86_init_mmx_sse_builtins): Fix type.
2942 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
2944 * gthr-posix.h: Include <unistd.h> for feature tests.
2945 (sched_get_priority_max, sched_get_priority_min)
2946 (pthread_getschedparam, pthread_setschedparam): Only use
2947 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
2948 (__gthread_objc_thread_set_priority): Don't treat all non-zero
2949 returns from sched_get_priority_max and sched_get_priority_min
2952 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2954 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
2957 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2959 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
2960 (h8300_tiny_constant_address_p): Likewise.
2961 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
2962 h8300_eightbit_constant_address_p.
2963 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
2964 * config/h8300/h8300-protos.h: Add the prototypes for the two
2967 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2969 * reload1.c (update_eliminables): Unconditionally check if
2970 frame_pointer_needed has changed.
2972 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
2974 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2977 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2979 PR optimization/8334
2980 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
2981 check for zero operands explicitly.
2983 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
2985 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
2986 memory after adjusting to BLKmode.
2988 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
2990 * config/h8300/h8300.h (MASK_*): New.
2991 (TARGET_*): Use MASK_*.
2993 2002-10-28 Zack Weinberg <zack@codesourcery.com>
2995 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
2996 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
2997 config/rs6000/vxworks.h: New files.
2998 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3000 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3001 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3002 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3003 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3004 sparc-*-vxsim*): Delete stanzas.
3005 * gthr-vxworks.h: Rip out all substantive code and just
3006 include gthr-single.h.
3008 * config/alpha/vxworks.h, config/arm/vxarm.h,
3009 config/i386/vxi386.h, config/i960/t-vxworks960,
3010 config/i960/vx960-coff.h, config/i960/vx960.h,
3011 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3012 config/mips/vxworks.h, config/rs6000/vxppc.h,
3013 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3014 config/sparc/vxsim.h, config/sparc/vxsparc.h,
3015 config/sparc/vxsparc64.h: Delete files.
3017 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
3019 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3020 tm_defines if pthreads are enabled.
3021 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3022 if NETBSD_ENABLE_PTHREADS is defined.
3024 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
3026 * ChangeLog.1: Fix typos.
3027 * cse.c: Fix a comment typo.
3028 * reload1.c: Likewise.
3030 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
3032 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3033 * fixinc/tests/base/_G_config.h: New file.
3035 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
3037 * combine.c: Fix comment formatting.
3040 * regclass.c: Likewise.
3041 * regmove.c: Likewise.
3042 * regrename.c: Likewise.
3043 * reg-stack.c: Likewise.
3044 * reload1.c: Likewise.
3045 * reload.c: Likewise.
3046 * reload.h: Likewise.
3047 * unroll.c: Likewise.
3049 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
3051 * reload1.c (reload): Fix a comment typo.
3053 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
3055 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
3057 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3059 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3060 * dwarf2out.c: Include hashtab.h.
3061 (is_main_source): New static variable.
3062 (attr_checksum, die_checksum): Modified to handle die references.
3063 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3064 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3065 record_comdat_symbol_number): New static functions.
3066 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3067 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3068 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3071 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
3073 * config/h8300/h8300.c (initial_offset): Change to
3074 h8300_initial_elimination_offset.
3075 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3076 h8300_initial_elimination_offset.
3077 * config/h8300/h8300-protos.h: Update the prototype.
3079 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
3081 * config/mmix/mmix.h (LIBCALL_VALUE): Use
3082 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3083 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3084 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3085 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3087 (mmix_function_value_regno_p): Declare.
3089 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3090 invalid for floating point mode result, with fix.
3092 Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
3094 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3095 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3096 (stage1_build): Likewise.
3098 2002-10-25 Mike Stump <mrs@apple.com>
3100 Fixes gcc.dg/warn-1.c.
3101 * c-typeck.c (warn_for_assignment): Don't print argument number,
3104 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
3106 * toplev.c (dump_file_index): Add DFI_ce3.
3107 (dump_file_info): Likewise.
3108 (rest_of_compilation): Run first ifcvt pass before tracer.
3110 2002-10-25 Steve Ellcey <sje@cup.hp.com>
3112 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3114 2002-10-25 Richard Henderson <rth@redhat.com>
3116 * real.c (real_to_decimal): If the >1 tens reduction loop results
3117 in a negative exponent, fall into the <1 pten computation.
3119 2002-10-25 Zack Weinberg <zack@codesourcery.com>
3122 * c-objc-common.c (inline_forbidden_p): Can not inline
3123 functions containing structures or unions containing VLAs.
3124 * tree-inline.c (walk_tree): For all class 't' nodes, walk
3125 TYPE_SIZE and TYPE_SIZE_UNIT.
3126 (copy_tree_r): Copy types if they are variably modified.
3128 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
3130 * config/s390/s390.md: Remove old-style peepholes.
3132 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
3134 * config/s390/s390.c (s390_decompose_address): Do not range check the
3135 displacement if base or index is the argument pointer register.
3137 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
3142 * fixinc/inclhack.def (libc1_G_va_list): New fix.
3143 * fixinc/fixincl.x: Regenerate.
3144 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3145 ifndef IN_LIBGCC2. Wrap it together with signal.h and
3146 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3147 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3148 * config.in, configure: Regenerate.
3150 2002-10-24 Igor Shevlyakov <igor@microunity.com>
3152 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3154 2002-10-24 Richard Henderson <rth@redhat.com>
3156 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3158 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3160 * config/h8300/h8300.c (initial_offset): Simplify by using
3163 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
3165 * doc/install.texi (avr): Update required binutils version.
3167 2002-10-24 Theodore A. Roth <troth@openavr.org>
3169 * doc/install.texi: Point avr users at more up-to-date information.
3171 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3173 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3174 to pull operands out of the literal pool where possible.
3176 2002-10-24 Denis Chertykov <denisc@overta.ru>
3178 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3180 2002-10-24 Steve Ellcey <sje@cup.hp.com>
3182 * expr.c (convert_move): If unsignedp is less then zero there
3183 is no equivalent code.
3185 2002-10-24 Zack Weinberg <zack@codesourcery.com>
3187 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3189 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3191 * config/s390/s390.h: Rework comments; re-sort target macro definitions
3192 according to the sequence they are defined in the manual.
3193 (POINTER_BOUNDARY): Remove.
3195 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3197 * config/h8300/h8300.c (round_frame_size): Replace 8 with
3200 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
3202 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3204 (TINY_CONSTANT_ADDRESS_P): Likewise.
3206 2002-10-24 Richard Henderson <rth@redhat.com>
3208 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3209 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3212 2002-10-24 Richard Henderson <rth@redhat.com>
3215 * reload.c (find_reloads_toplev): Mode of X is not important
3216 when simplifying subregs of constants.
3218 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
3220 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3221 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3222 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3223 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3224 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3226 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
3228 * optabs.c (expand_binop): Don't reuse the shift target in the
3229 middle of shift sequences.
3231 Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
3233 * i386.md (abs splitters): Do not produce nested subregs.
3235 Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
3237 * i386.md (movti_rex64): Fix constraints.
3239 Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
3241 * i386.md (abssf,absdf): Use vector operands for SSE
3242 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3245 2002-10-23 Ziemowit Laski <zlaski@apple.com>
3247 * objc/objc-act.c (get_static_reference): Remove unneeded
3248 TYPE_BINFO initialization.
3249 (get_object-reference): Likewise.
3250 (build_constructor): Tighten precondition check.
3251 (finish_message_expr): Likewise.
3253 2002-10-23 Jakub Jelinek <jakub@redhat.com>
3255 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3258 2002-10-23 Steve Ellcey <sje@cup.hp.com>
3260 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3263 2002-10-23 Richard Henderson <rth@redhat.com>
3265 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3266 (alpha_output_mi_thunk_osf): Handle vcall_offset.
3268 2002-10-23 Zack Weinberg <zack@codesourcery.com>
3270 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3272 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3273 hook_tree_bool_false.
3275 * tree.c (variably_modified_type_p): Moved here from
3276 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
3277 language-specific cases. Due to this, must weaken some 'if
3278 and only if' checks to merely 'if'.
3279 * tree.h: Prototype variably_modified_type_p.
3281 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3283 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
3285 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3286 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3288 * config/s390/s390-protos.h (fp_operand): Remove.
3289 * config/s390/s390.c (fp_operand): Remove.
3290 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3291 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3292 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3293 (movdi_31, movdf_31 splitters): Likewise.
3295 * config/s390/s390.h (IEEE_FLOAT): Remove.
3296 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3297 (INT_REGNO_P): Rename to ...
3298 (GENERAL_REGNO_P): ... this.
3299 (FLOAT_REGNO_P): Rename to ...
3300 (FP_REGNO_P): ... this.
3301 (ADDR_REGNO_P): New macro.
3302 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3303 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3304 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3305 (HARD_REGNO_NREGS): Adapt to macro renaming.
3306 (HARD_REGNO_MODE_OK): Likewise.
3308 2002-10-23 David Edelsohn <edelsohn@gnu.org>
3309 Geoff Keating <geoffk@apple.com>
3311 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3312 (rs6000_memory_move_cost): New function.
3313 * config/rs6000/rs6000-protos.h: Declare them.
3314 * config/rs6000/rs6000.h: Use them.
3316 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
3318 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3319 inlining it into other libgcc2 routines.
3320 (__udivmoddi4): Likewise.
3322 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
3324 * doc/sourcebuild.texi (Test Suites): Improve.
3326 2002-10-22 Stan Shebs <shebs@apple.com>
3328 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3331 2002-10-22 Jim Wilson <wilson@redhat.com>
3333 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3335 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
3338 * xmmintrin.h: Add const to the argument of loads.
3340 * i386.md (pushv2di): New pattern.
3342 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3344 2002-10-22 Richard Henderson <rth@redhat.com>
3346 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3347 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
3348 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3349 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3350 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3351 (TARGET_ASM_OUT): Update.
3352 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3353 (hook_bool_tree_hwi_hwi_tree_true): New.
3354 (default_can_output_mi_thunk_no_vcall): New.
3355 * hooks.h: Declare them.
3356 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3358 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3359 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3360 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3361 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3362 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3363 config/stormy16/stormy16.c: Similarly.
3365 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3366 Handle 64-bit properly. Streamline.
3367 (x86_output_mi_vcall_thunk): Remove.
3368 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3369 (x86_can_output_mi_thunk): New.
3370 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3371 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3372 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3374 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3375 output_mi_thunk; make static; always use function_section.
3376 (TARGET_ASM_OUTPUT_MI_THUNK): New.
3377 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3378 (rs6000_ra_ever_killed): Test no_new_pseudos not
3379 targetm.asm_out.output_mi_thunk in conjunction with thunks.
3380 * config/rs6000/rs6000-protos.h: Update.
3381 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3382 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3383 xcoffout_declare_function when using rs6000_output_mi_thunk.
3385 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3386 s390_output_mi_vcall_thunk.
3387 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3388 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3390 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3391 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3392 * config/vax/vax-protos.h: Update.
3393 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3395 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
3397 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3398 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3399 * i386.md (movti_internal): Use 'C'
3401 * xmmintrin.h (_mm_cmplt_epi*): New.
3403 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3405 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3406 ("*movdf_64"): Likewise.
3407 ("*lshrdi3_64"): Likewise.
3408 ("blockage"): Add length attribute.
3411 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
3413 * i386.md: FIx typo.
3414 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3415 (sse2_umulv2siv2di3): Fix predicate.
3416 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3417 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3418 * xmmintrin.h (_mm_mul_epu16): Rename to...
3419 (_mm_mul_epu32): This one.
3420 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3422 (contains_128bit_aligned_vector_p): Undo accidental checkin.
3424 2002-10-22 Eric Christopher <echristo@redhat.com>
3426 * config/sparc/sparc.h: Add #error.
3428 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3430 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3431 [s390x-*-linux*]: Likewise.
3432 * config/s390/t-linux: Remove.
3433 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3435 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
3437 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3438 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3439 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3440 * i386.md (mmx_punpck?dq): Simplify.
3441 (sse2_pubpcklqdq): Fix.
3442 (sse2_pubpckhqdq): New.
3443 * xmmintrin.h (_mm_unpackhi_epi32): New.
3445 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3446 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3448 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
3451 * fold_const.c (fold_binary_op_with_conditional_arg): Always
3452 build compound_expr if we used save_expr.
3454 2002-10-22 Alan Modra <amodra@bigpond.net.au>
3456 * output.h (SECTION_NOTYPE): Define.
3457 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3458 init array sections.
3459 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3460 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
3463 2002-10-21 Richard Henderson <rth@redhat.com>
3465 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3466 the function type, not the return type.
3468 2002-10-21 Richard Henderson <rth@redhat.com>
3470 * real.c (sticky_rshift_significand): Return inexact, don't
3471 or it in immediately.
3472 (sub_significands): Accept incomming carry.
3473 (div_significands, rtd_divmod): Update for sub_significands change.
3474 (round_for_format): Update for sticky_rshift_significand change.
3475 (do_add): Don't involve the inexact bit in addition, do give the
3476 inexact bit as the subtraction carry-in.
3477 (encode_internal, decode_internal, real_internal_format): New.
3478 * real.h (real_internal_format): Declare.
3480 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
3482 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3483 don't define sdiv_qrnnd.
3485 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
3487 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3489 (TINY_CONSTANT_ADDRESS_P): Likewise.
3491 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
3493 * i386.c (builtin_description): Add punpcklqdq and movdq2q
3494 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3495 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3496 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3497 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3498 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3499 __builtin_ia32_setzero128.
3500 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3501 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3502 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3503 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3504 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3505 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3506 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3507 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3508 sse2_movq): New patterns.
3509 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3510 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3511 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3512 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3513 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3514 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3515 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3516 (_mm_insert_epi16): Fix.
3518 2002-10-21 Dale Johannesen <dalej@apple.com>
3520 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3521 unsafe math reversals correctly for RTL generation.
3522 (output_cbranch): Replace rs6000_reverse_condition call
3523 by its former definition.
3525 2002-10-21 Jakub Jelinek <jakub@redhat.com>
3527 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3528 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or