1 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
3 * gcc.c (make_relative_prefix, split_directories)
4 (free_split_directories): Removed.
6 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
8 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
9 * configure: Regenerated.
11 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
13 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
14 length computation when xor.l is output.
16 2002-11-21 Jim Wilson <wilson@redhat.com>
18 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
21 2002-11-21 Bob Wilson <bob.wilson@acm.org>
23 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
24 * config/xtensa/xtensa.c (struct machine_function): Add
25 incoming_a7_copied flag.
26 (xtensa_copy_incoming_a7): Define.
27 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
28 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
30 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
32 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
33 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
34 x86_64_nonmemory_operand, x86_64_movabs_operand,
35 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
36 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
37 (local_symbolic_operand): Do not care the 64bit limits.
38 (x86_64_sign_extended_value): Remove allow_rip support.
39 (legitimate_pic_address_disp_p): Handle all cases allowed
41 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
42 (legitimize_pic_address): Reorganize.
43 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
45 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
47 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
48 * config/arm/netbsd-elf.h: New file.
50 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
52 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
53 subtarget_asm_float_spec.
54 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
56 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
58 2002-11-21 Nick Clifton <nickc@redhat.com>
60 * config/fr30/fr30.md (movsf_constant_store): Move code to
61 detect 0.0 into fr30.c.
62 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
64 * config/fr30/fr30.c (fr30_const_double_is_zero): New
65 function. Return true if the rtx is 0.0.
67 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
69 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
70 if -mlittle-endian is specified.
72 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
75 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
76 (anddi_notsesidi_di): Likewise.
78 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
80 * config/h8300/h8300.c (print_operand): Use
81 h8300_eightbit_constant_address_p and
82 h8300_tiny_constant_address_p.
83 (h8300_adjust_insn_length): Likewise.
84 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
85 (TINY_CONSTANT_ADDRESS_P): Likewise.
86 (OK_FOR_U): Use eightbit_constant_address_p.
88 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
90 * config/s390/libgcc-libc.ver: Add multilib support.
91 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
92 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
93 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
94 EXTRA_MULTILIB_PARTS): Define.
96 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
98 * arm.c (arm_get_frame_size): A leaf function does not need its
99 stack padding to an aligned boundary if it has no frame.
100 (thumb_get_frame_size): Likewise.
102 2002-11-20 Steve Ellcey <sje@cup.hp.com>
104 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
105 to component type using GET_MODE_INNER.
106 * expr.c (emit_move_insn_1): Ditto.
107 * optabs.c (expand_binop): Ditto.
108 (expand_unop): Ditto.
109 (expand_complex_abs): Ditto.
111 2002-11-20 Douglas B Rupp <rupp@gnat.com>
113 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
115 2002-11-20 DJ Delorie <dj@redhat.com>
117 * config/stormy16/stormy16.c (s16builtins,
118 xstormy16_init_builtins, xstormy16_expand_builtin): New.
119 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
121 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
123 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
124 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
125 (executing gencheck, genconfigs, genconditions, genflags,
126 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
127 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
128 gengtype, genprotos): Prepend $(RUN_GEN).
129 * configure.in: Move host compiler tests before --enable-checking
131 (--enable-checking=valgrind): New.
132 * config.in, configure: Regenerate.
133 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
135 (read_include_file): When doing the mmap+1 trick,
136 valgrind-annotate the byte after the mmap:ed area as readable.
137 (purge_cache): Remove above annotation.
138 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
139 VALGRIND_PATH -q to each command.
141 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
143 (ggc_realloc): Update valgrind annotations.
144 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
146 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
147 valgrind-annotate memory.
149 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
151 * recog.c (constrain_operands): Prefer exact match over reloadable
152 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
154 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
157 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
160 * c-decl.c (duplicate_decls): Outline the second definition
161 of an extern inline function in all cases.
163 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
165 * stor-layout.c (place_field): Update rli->offset as well as
168 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
170 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
172 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
174 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
175 into a libcall block.
176 (divsi3): Likewise divsi3_i4_media.
178 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
180 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
181 out another register.
183 2002-11-20 Jakub Jelinek <jakub@redhat.com>
185 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
186 (not just mask) are set in C.
188 2002-11-19 Andreas Jaeger <aj@suse.de>
190 * loop.c (record_giv): Initialize not_replaceable.
191 (check_final_value): Likewise.
193 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
195 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
198 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
200 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
201 only if -mh or -ms present.
202 (h8300_eightbit_constant_address_p): Support the normal mode.
203 (h8300_tiny_constant_address_p): Likewise.
204 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
205 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
206 (Pmode): Evaluate to HImode for the normal mode.
207 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
208 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
209 (ASM_WORD_OP): Evaluate to word for the normal mode.
210 * config/h8300/h8300.md (tablejump_normal_mode): New.
211 (indirect_jump_normal_mode): New.
212 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
214 (MULTILIB_DIRNAMES): Create target dependent directory
216 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
217 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
219 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
221 * i386.md (length_immediate): Do not refer to insn address.
222 (jcc*, jmp patterns): Compute length explicitly.
224 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
227 * optabs.c (expand_binop): Convert CONST_INTs in shift
230 2002-11-19 Roger Sayle <roger@eyesopen.com>
232 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
234 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
236 * config/h8300/h8300.md (an anonymous pattern): Relax the
237 condition to accept the same operands and/or subregs.
239 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
241 * config/sh/sh.c (gen_shl_and): Revert previous patch.
242 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
245 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
247 * config/h8300/h8300.c (print_operand): Update the use of
248 EIGHTBIT_CONSTANT_ADDRESS_P.
249 (h8300_adjust_insn_length): Likewise.
250 (h8300_eightbit_constant_address_p): Check if the given rtx is
251 a variable with __attribute__((eightbit_data)).
252 * config/h8300/h8300.h (OK_FOR_U): Update the use of
253 EIGHTBIT_CONSTANT_ADDRESS_P.
255 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
257 * doc/contrib.texi (Contributors): Add self as second contact in
258 addition to Jeff Law.
260 2002-11-19 Andreas Jaeger <aj@suse.de>
262 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
263 find_alloca_call to right place.
265 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
267 * cppfiles.c: Fix formatting.
269 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
271 * gcc.c (The Specs Language): Document spec functions.
272 (static_spec_functions, lookup_spec_function)
273 (eval_spec_function, handle_spec_function)
274 (if_exists_spec_function, alloc_args): New.
275 (execute): Abort if processing_spec_function is true.
276 (do_spec_1): Hand off spec to handle_spec_function if %:
277 is encountered. If processing_spec_function is true,
278 end any pending argument when the end of the string is reached.
279 (main): Use alloc_args to allocate the initial argument vector.
280 * gcc.h (struct spec_function): New.
281 (lang_specific_spec_functions): New extern.
283 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
284 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
285 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
287 * doc/invoke.texi: Document spec functions.
289 * cppspec.c (lang_specific_spec_functions): New.
290 * gccspec.c: Likewise.
292 2002-11-18 Steve Ellcey <sje@cup.hp.com>
294 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
295 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
296 (fixunstfsi_libfunc): Change.
297 (fixunstfdi_libfunc): Change.
298 (sdiv_optab): Don't zero out SImode handler.
299 (udiv_optab): Don't zero out SImode handler.
300 (smod_optab): Don't zero out SImode handler.
301 (umod_optab): Don't zero out SImode handler.
303 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
306 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
307 Add a new one in its place, which hopefully works.
308 (skip_rest_of_line): Change test for bottom-of-context-stack.
310 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
312 * i386.md (addqi_1_slp): Fix output template.
313 (subqi_1_slp): Fix type.
315 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
317 * calls.c (alloca_call_p): New global function.
318 * tree.h (alloca_call_p): New.
319 * tree-inline.c (inlinable_function_p): Do not inline when
320 function calls alloca.
321 (find_alloca_call, find_alloca_call_1): New functions.
323 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
325 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
326 bst. Update the insn length.
327 (*andorhi3): Likewise.
328 (*andorsi3): Likewise.
330 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
332 * config/sh/sh-protos.h (sh_mark_label): Declare.
333 * config/sh/sh.c (sh_mark_label): New function, taken from
334 movdi_const, but fixing the case when the address has an addend.
335 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
337 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
339 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
340 (add_constant): Set it.
341 (dump_table): Don't reorder a constant if part_of_sequence_p.
342 (machine_dependent_reorg): Assume that float constants will
343 stay in their original order if used as a sequence.
345 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
347 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
350 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
352 * config/sh/sh.md (initialize_trampoline): Do not force the
353 trampoline address into R0_REGS here.
355 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
357 * df.c: Fix formatting.
359 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
361 * config/h8300/h8300.md (two anonymous patterns): Fix insn
364 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
366 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
367 is not an arith_reg_operand.
369 2002-11-17 Graham Stott <graham.stott@btinternet.com>
371 * real.c (real_to_decimal): Fix buffer overrun when buffer size
372 is smaller than representation.
374 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
376 * builtins.c: Fix formatting.
378 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
380 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
382 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
384 * config/h8300/h8300.md: Fix formatting.
386 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
388 * config/h8300/h8300.md: Replace spaces with tabs.
389 * config/h8300/t-h8300: Remove a trailing empty line.
391 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
393 * tlink.c: Fix formatting.
395 2002-11-16 David Edelsohn <edelsohn@gnu.org>
398 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
399 * config/rs6000/rs6000.md (movti_string): Remove output modifier
400 when scratch register never needed.
401 (ldmsi[3-8]): New patterns.
403 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
405 * hard-reg-set.h: Follow spelling conventions.
407 * target.h: Likewise.
409 2002-11-16 Jakub Jelinek <jakub@redhat.com>
411 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
413 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
415 * optabs.c: Fix formatting.
417 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
419 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
420 * i386.md (attribute type): Add type shift1 and rotate1.
421 (*_slp): Rewrite to have just two operands to avoid reload problems.
423 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
425 * config/h8300/h8300.md (4 anonymous patterns): New.
427 2002-11-15 Geoffrey Keating <geoffk@apple.com>
429 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
430 * doc/invoke.texi: Correct description of what needs to be done to
431 force collection at every ggc_collect call.
433 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
435 * config/s390/s390.c (optimization_options): Set
436 flag_asynchronous_unwind_tables to 1 by default.
438 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
440 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
442 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
444 * i386-protos.h (x86_function_profiler): New function
445 * i386.h (MCOUNT_NAME): New.
446 (PROFILE_COUNT_REGISTER): New.
447 (FUNCTION_PROFILER): Move offline to ...
448 * i386.c (x86_function_profiler) ... here; fix 64bit support
449 * beos-elf.h (FUNCTION_PROFILER): Kill.
451 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
453 (PROFILE_COUNT_REGISTER): New.
454 * linux.h (FUNCTION_PROFILER): Kill.
456 * x86-64.h (FUNCTION_PROFILER): Kill.
458 * freebsd.h (FUNCTION_PROFILER): Kill.
461 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
463 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
464 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
465 * config/arm/arm.c (arm_va_arg,
466 arm_function_arg_pass_by_reference): New.
467 * config/arm/arm-protos.h: Add prototypes.
469 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
471 * gthr-single.h: Fix formatting.
473 2002-11-14 Zack Weinberg <zack@codesourcery.com>
475 * tree.c (tree_vec_elt_check_failed): New function.
476 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
477 (TREE_VEC_ELT): Use it.
479 * tree-inline.c (optimize_inline_calls): Don't copy a
482 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
484 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
486 2002-11-14 Jakub Jelinek <jakub@redhat.com>
488 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
489 both operands contain local relocations.
490 (categorize_decl_for_section): Don't use mergeable sections if
491 initializer has any relocations.
493 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
495 * gthr-vxworks.h: Fix formatting.
497 2002-11-13 Janis Johnson <janis187@us.ibm.com>
499 * doc/install.texi (Testing): Document extra Java testing.
500 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
502 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
504 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
505 beginning of the spec.
506 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
507 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
508 regarding problems with global constructors when using GNU ld.
510 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
512 * gthr-solaris.h: Fix formatting.
514 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
516 * gthr-posix.h: Fix formatting.
518 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
520 * config/h8300/h8300.md (*andorsi3): New.
522 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
524 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
526 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
528 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
529 expressions appropriately.
531 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
533 * gthr-win32.h: Fix formatting.
535 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
537 * config/h8300/h8300.c (single_one_operand): Correctly compute
538 mask when mode is SImode.
539 (single_zero_operand): Likewise.
540 * config/h8300/h8300.md (two new anonymous insns): New.
542 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
544 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
545 to that entire project.
547 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
549 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
552 2002-11-11 Zack Weinberg <zack@codesourcery.com>
554 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
555 * doc/invoke.texi: Document them.
557 * ggc-page.c: Include params.h. Remove definitions of
558 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
559 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
560 (init_gcc): Don't set G.allocated_last_gc here.
561 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
562 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
564 * ggc-simple.c: Similarly.
565 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
568 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
570 * gthr-dce.h: Fix formatting.
572 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
575 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
576 mode of DECL_RTL case.
578 2002-11-11 Janis Johnson <janis187@us.ibm.com>
580 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
582 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
584 * i386.c (construct_container): Fix handling of SSE_CLASS.
586 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
588 * config/m68k/t-crtstuff (crti.o): Use this...
589 ($(T)crti.o): ... instead.
590 (crtn.o): Use this...
591 ($(T)crtn.o): ... instead.
593 2002-11-09 Eric Botcazou <ebotcazou@libertysurf.fr>
596 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
597 if there is something new to be simplified.
599 2002-11-10 H.J. Lu <hjl@gnu.org>
601 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
602 * expr.c (PUSH_ARGS_REVERSED): Likewise.
604 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
606 2002-11-10 Zack Weinberg <zack@codesourcery.com>
608 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
609 * config/rs6000/linux.h, config/rs6000/linux64.h,
610 config/rs6000/windiss.h: ... not here.
612 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
614 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
615 __ABICALLS__ if TARGET_ABICALLS.
617 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
619 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
621 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
623 * c-decl.c (grokdeclarator): Make error for duplicate type
624 qualifiers into a pedwarn, disabled for C99.
626 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
628 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
629 as FUNCTION_ARG_PASS_BY_REFERENCE.
631 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
633 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
635 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
636 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
637 * pa.c (output_millicode_call): Use symbol difference rather than
638 $PIC_pcrel$0 when using HP assembler.
639 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
640 not elfos.h (i.e., gas) is being used.
641 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
642 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
643 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
644 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
645 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
647 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
648 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
649 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
651 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
652 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
653 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
654 Don't define when not using elfos.h.
655 (ASM_DECLARE_RESULT): Don't define.
656 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
657 doesn't work on hppa64-hp-hpux11.
658 (hppa*-hp-hpux11): Update.
660 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
662 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
663 to the assembler if -mno-abicalls was specified.
665 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
667 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
668 ASM_OUTPUT_DEF): Delete.
670 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
672 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
674 2002-11-08 Dale Johannesen <dalej@apple.com>
676 * dbxout.c (dbxout_type): Fix stabs info for vector types.
678 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
682 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
683 start a directive. In assembler, #NUM is not a line directive.
685 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
687 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
690 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
692 * config/h8300/h8300.md (two anonymous test insns): New.
694 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
696 * jump.c (mark_jump_label): Handle subregs of label_refs.
698 2002-11-07 David Mosberger <davidm@hpl.hp.com>
700 * config/ia64/crtend.asm: Include "auto-host.h".
701 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
702 * config/ia64/crtbegin.asm: Similarly.
703 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
704 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
706 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
707 * configure.in: Use it if --enable-initfini-array not specified.
708 * doc/install.texi (Configuration): Document --enable-initfini-array.
709 * configure, config.in: Rebuild.
711 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
713 * config/arm/arm-protos.h (arm_get_frame_size)
714 (thumb_get_frame_size): New prototypes.
715 * config/arm/arm.c (arm_get_frame_size)
716 (thumb_get_frame_size): New functions.
717 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
718 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
720 (thumb_expand_prologue, thumb_expand_epilogue): Use
721 thumb_get_frame_size.
722 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
723 (machine_function): Add frame_size member.
724 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
726 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
728 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
729 Adjust code to use portable unsigned bit manipulation.
730 (insn_flags, tune_flags): Change type to unsigned.
731 (struct processors): Make flags unsigned long.
732 (arm_override_options): Change type of count and current_bit_count
735 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
737 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
739 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
741 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
743 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
745 * reg-stack.c (compensate_edge): Fix sanity check.
747 2002-11-05 Geoffrey Keating <geoffk@apple.com>
749 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
750 crt2.o. Rearrange t-darwin makefiles.
751 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
752 * unwind-dw2-fde-darwin.c: New.
753 * unwind-dw2-fde-glibc.c: Correct comment.
754 * unwind-dw2-fde.c (__register_frame_info_bases)
755 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
756 (classify_object_over_fdes): Use last_fde.
757 (add_fdes): Likewise.
758 (linear_search_fdes): Likewise.
759 * unwind-dw2-fde.h (struct object)
760 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
762 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
763 (ENDFILE_SPEC): No crtend.o.
764 * config/t-darwin: New.
765 * config/i386/t-darwin: Delete.
766 * config/darwin-crt2.c: New.
767 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
770 2002-11-06 David Edelsohn <edelsohn@gnu.org>
773 * config/rs6000/rs6000.md (movdi_internal64): Discourage
776 2002-11-06 Janis Johnson <janis187@us.ibm.com>
778 * doc/contrib.texi: Merge in the list from the Java web pages.
780 2002-11-06 David O'Brien <obrien@FreeBSD.org>
782 * config/sparc/freebsd: Fix typo.
784 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
786 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
788 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
790 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
791 non-SImode addresses.
793 2002-11-05 Bob Wilson <bob.wilson@acm.org>
795 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
797 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
799 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
800 (STARTFILE_SPEC): Remove p and pg options.
802 2002-11-05 Andrew Haley <aph@redhat.com>
804 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
805 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
807 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
809 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
810 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
812 2002-11-04 Dale Johannesen <dalej@apple.com>
814 * doloop.c (doloop_modify_runtime): Fix loop count computation
816 * loop.c (loop_invariant_p): Support calling from unroller.
818 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
820 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
823 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
825 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
827 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
828 (CLASS_CANNOT_CHANGE_MODE): Remove.
829 (CANNOT_CHANGE_MODE_CLASS): New.
831 * config/alpha/alpha.h: Same.
833 * config/ia64/ia64.h: Same.
835 * config/mips/mips.h: Same.
837 * config/s390/s390.h: Same.
839 * config/sh/sh.h: Same.
841 * config/pa/pa64-regs.h: Same.
843 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
845 * config/sh/sh.c (sh_cannot_change_mode_class): New.
847 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
850 * config/mips/mips.c (mips_cannot_change_mode_class): New.
852 * doc/tm.texi (Register Classes): Remove
853 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
854 Document CANNOT_CHANGE_MODE_CLASS.
856 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
859 * simplify-rtx.c (simplify_subreg): Same.
861 * reload1.c (choose_reload_regs): Same.
863 * recog.c (register_operand): Same.
865 * regrename.c (mode_change_ok): Change to use new
866 CANNOT_CHANGE_MODE_CLASS infrastructure.
868 * regclass.c (cannot_change_mode_set_regs): New.
869 Declare subregs_of_mode.
870 (regclass): Use subregs_of_mode.
871 Remove references to reg_changes_mode.
872 (init_reg_sets_1): Remove class_can_change_mode and
873 reg_changes_mode code.
874 (invalid_mode_change_p): New.
875 (dump_regclass): Use invalid_mode_change_p instead of
876 class_can_change_mode.
878 (record_operand_costs): Do not set reg_changes_mode.
880 * local-alloc.c (struct qty): Remove changes_mode field.
881 (alloc_qty): Remove changes_mode initialization.
882 (update_qty_class): Remove set of changes_mode.
883 (find_free_reg): Use subregs_of_mode.
885 * global.c (find_reg): Use subregs_of_mode info.
887 * rtl.h (cannot_change_mode_set_regs): New prototype.
888 (invalid_mode_change_p): Same.
889 (REG_CANNOT_CHANGE_MODE_P): New macro.
891 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
893 (life_analysis): Clear subregs_of_mode.
895 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
896 Remove use of CLASS_CANNOT_CHANGE_MODE.
897 (simplify_set): Same.
898 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
901 * regs.h: Add extern for subregs_of_mode;
902 Include hard-reg-set and basic-block.
903 (REG_CHANGES_MODE): Delete.
905 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
907 * jump.c (never_reached_warning): Don't set contains_insn until the
908 first line note is seen.
910 2002-11-03 David Edelsohn <edelsohn@gnu.org>
912 * config/rs6000/rs6000.md (movti_string): Use string instructions.
914 2002-11-03 Roger Sayle <roger@eyesopen.com>
917 * c-typeck.c (c_expand_asm_operands): Defend against
918 error_mark_nodes in the output argument to avoid ICE.
920 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
923 * genrecog.c (preds): Handle ADDRESSOF.
924 (validate_pattern): Mark it as an lvalue.
926 2002-11-02 David Edelsohn <edelsohn@gnu.org>
928 * config/rs6000/rs6000.c (rs6000_override_options): Use string
929 instructions when optimizing for size.
931 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
933 * config/h8300/h8300.h: Fix comment typos.
934 * config/h8300/h8300.md: Likewise.
935 * config/h8300/lib1funcs.asm: Likewise.
937 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
941 *doc/install.texi (Installing GCC: Configuration): Clarify
942 the only supported ways to configure gcc.
944 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
946 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
947 instead of 'O' for the constraint for the second operand.
949 2002-11-01 Mark Mitchell <mark@codesourcery.com>
952 * toplev.c (rest_of_compilation): Do not refuse to output code for
953 an inline function in a local class.
955 2002-11-01 David O'Brien <obrien@FreeBSD.org>
957 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
958 (TRANSFER_FROM_TRAMPOLINE): Reformat.
961 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
963 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
965 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
967 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
969 2002-11-01 Steve Ellcey <sje@cup.hp.com>
971 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
972 (MASK_INLINE_DIV_THR): Remove.
973 (TARGET_INLINE_DIV_LAT): Remove.
974 (TARGET_INLINE_DIV_THR): Remove.
975 (TARGET_INLINE_DIV): Remove.
976 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
977 (MASK_INLINE_FLOAT_DIV_THR): New macro.
978 (MASK_INLINE_INT_DIV_LAT): New macro.
979 (MASK_INLINE_INT_DIV_THR): New macro.
980 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
981 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
982 (TARGET_INLINE_INT_DIV_LAT): New macro.
983 (TARGET_INLINE_INT_DIV_THR): New macro.
984 (TARGET_INLINE_FLOAT_DIV): New macro.
985 (TARGET_INLINE_INT_DIV): New macro.
986 * config/ia64/ia64.md (divsi3): Change to use new macros.
990 (divsi3_internal): Ditto.
995 (divdi3_internal_lat): Ditto.
996 (divdi3_internal_thr): Ditto.
998 (divsf3_internal_lat): Ditto.
999 (divsf3_internal_thr): Ditto.
1001 (divdf3_internal_lat): Ditto.
1002 (divdf3_internal_thr): Ditto.
1004 (divtf3_internal_lat): Ditto.
1005 (divtf3_internal_thr): Ditto.
1006 * config/ia64/ia64.c (ia64_override_options): Change
1007 to check new macros for conflicts in settings.
1008 * doc/invoke.texi (-minline-divide-min-latency): Remove.
1009 (-minline-divide-max-throughput): Remove.
1010 (-minline-float-divide-min-latency): New.
1011 (-minline-float-divide-max-throughput): New.
1012 (-minline-int-divide-min-latency): New.
1013 (-minline-int-divide-max-throughput): New.
1015 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
1018 * arm.c (use_return_insn): Don't use a return insn if there are
1019 saved integer regs, but LR is not one of them.
1021 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
1023 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
1024 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
1026 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1028 PR optimization/6162
1029 * doc/md.texi: Document restriction on commutative operand
1032 2002-10-31 Eric Christopher <echristo@redhat.com>
1034 * explow.c (convert_memory_address): Use shallow_copy_rtx.
1036 2002-10-31 Steve Ellcey <sje@cup.hp.com>
1038 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
1040 2002-10-31 Steve Ellcey <sje@cup.hp.com>
1042 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
1044 Thu Oct 31 Dale Johannesen <dalej@apple.com>
1046 * config/rs6000/darwin.h: Correct formatting in previous.
1048 Thu Oct 31 Dale Johannesen <dalej@apple.com>
1050 * config/rs6000/darwin.h: Enable -falign-xxx options.
1052 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
1054 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
1055 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
1056 * i386.c (optimization_options): Set flag_omit_frame_pointer,
1057 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
1058 Do not clear -momit-leaf-frame-pointer when profiling.
1059 (ix86_frame_pointer_required): Frame pointer is always required when
1062 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
1064 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
1066 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
1068 * sh.h (binary_logical_operator): Declare.
1069 * sh.c (binary_logical_operator): New function.
1070 * sh.md (xordi3+1): New combiner splitter pattern.
1072 2002-10-31 David O'Brien <obrien@FreeBSD.org>
1074 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
1075 __enable_execute_stack function.
1077 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
1079 * c-common.c: Add GTY to vector_type_node_list.
1081 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
1083 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1084 * pa-protos.h (attr_length_millicode_call, attr_length_call,
1085 pa_init_machine_status): Declare new global functions.
1086 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
1087 implement new functions.
1088 (attr_length_millicode_call, attr_length_call): Implement.
1089 (total_code_bytes): Change type to long.
1090 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
1091 Reset counter if flag_function_sections.
1092 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
1093 (output_cbranch): Move call to gen_label_rtx.
1094 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
1095 delay slot in all variants, shorten pc-relative calls.
1096 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
1097 slot usage and exposure, various new call variants, and shortened
1098 sequences for some variants on TARGET_PA_20.
1099 Miscellaneous format changes.
1100 * pa.h (total_code_bytes): Change type to long.
1101 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
1102 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
1103 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
1104 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
1105 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
1106 stores on TARGET_ELF32.
1107 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
1108 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
1109 canonicalize_funcptr_for_compare expanders): Calculate attribute length
1110 attr_length_millicode_call().
1111 (call_internal_symref, call_value_internal_symref): Clobber register 1.
1112 Calculate attribute length using attr_length_call().
1113 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
1115 (sibcall, sibcall_value): Rewrite.
1116 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
1117 register 1. Use attr_length_call().
1118 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
1120 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
1121 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
1122 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
1123 * doc/invoke.texi (mlong-calls): Document.
1125 2002-10-30 Roger Sayle <roger@eyesopen.com>
1127 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
1128 handling of cases where one or both branches of the conditional
1129 have void type, i.e. throw an exception or don't return.
1130 (fold): Only apply (and undo) type conversion to the non-void
1131 branches of a COND_EXPR.
1133 2002-10-30 Mark Mitchell <mark@codesourcery.com>
1136 * varasm.c (asm_output_aligned_bss): Do not call
1137 ASM_GLOBALIZE_LABEL.
1139 2002-10-30 David Edelsohn <edelsohn@gnu.org>
1140 Torbjorn Granlund <tege@swox.com>
1142 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
1144 (load_toc_v4_PIC_1b): Same.
1146 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
1148 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1149 Truncate the addresses for H8/300 using HImode.
1151 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
1153 * toplev.c (rest_of_type_compilation): Return early in case of
1155 (check_global_declarations): Don't call debug_hooks->global_decl
1158 2002-10-28 Andreas Bauer <baueran@in.tum.de>
1160 * doc/c-tree.texi (Tree overview): Fix typos.
1162 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
1164 * Makefile.in (gnucompare*): Only record bad comparisons
1165 if there really was a bad comparison.
1167 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
1169 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
1170 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
1171 * md.texi (machine dependent constraints): Document 'C'
1173 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
1175 * i386.c (ix86_expand_vector_move): Fix.
1177 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
1178 * i386.md (sse2_maskmovdqu_rex64): New pattern
1181 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
1182 (ix86_init_mmx_sse_builtins): Fix type.
1184 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
1186 * gthr-posix.h: Include <unistd.h> for feature tests.
1187 (sched_get_priority_max, sched_get_priority_min)
1188 (pthread_getschedparam, pthread_setschedparam): Only use
1189 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
1190 (__gthread_objc_thread_set_priority): Don't treat all non-zero
1191 returns from sched_get_priority_max and sched_get_priority_min
1194 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1196 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
1199 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1201 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
1202 (h8300_tiny_constant_address_p): Likewise.
1203 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
1204 h8300_eightbit_constant_address_p.
1205 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
1206 * config/h8300/h8300-protos.h: Add the prototypes for the two
1209 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1211 * reload1.c (update_eliminables): Unconditionally check if
1212 frame_pointer_needed has changed.
1214 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
1216 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
1219 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1221 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
1222 check for zero operands explicitly.
1224 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
1226 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
1227 memory after adjusting to BLKmode.
1229 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1231 * config/h8300/h8300.h (MASK_*): New.
1232 (TARGET_*): Use MASK_*.
1234 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
1236 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
1237 tm_defines if pthreads are enabled.
1238 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
1239 if NETBSD_ENABLE_PTHREADS is defined.
1241 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
1243 * ChangeLog.1: Fix typos.
1244 * cse.c: Fix a comment typo.
1245 * reload1.c: Likewise.
1247 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
1249 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
1250 * fixinc/tests/base/_G_config.h: New file.
1252 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
1254 * combine.c: Fix comment formatting.
1257 * regclass.c: Likewise.
1258 * regmove.c: Likewise.
1259 * regrename.c: Likewise.
1260 * reg-stack.c: Likewise.
1261 * reload1.c: Likewise.
1262 * reload.c: Likewise.
1263 * reload.h: Likewise.
1264 * unroll.c: Likewise.
1266 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
1268 * reload1.c (reload): Fix a comment typo.
1270 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
1272 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
1274 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1276 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
1277 * dwarf2out.c: Include hashtab.h.
1278 (is_main_source): New static variable.
1279 (attr_checksum, die_checksum): Modified to handle die references.
1280 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
1281 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
1282 record_comdat_symbol_number): New static functions.
1283 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
1284 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
1285 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
1288 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
1290 * config/h8300/h8300.c (initial_offset): Change to
1291 h8300_initial_elimination_offset.
1292 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
1293 h8300_initial_elimination_offset.
1294 * config/h8300/h8300-protos.h: Update the prototype.
1296 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
1298 * config/mmix/mmix.h (LIBCALL_VALUE): Use
1299 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
1300 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
1301 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
1302 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
1304 (mmix_function_value_regno_p): Declare.
1306 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
1307 invalid for floating point mode result, with fix.
1309 2002-10-25 Mike Stump <mrs@apple.com>
1311 Fixes gcc.dg/warn-1.c.
1312 * c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
1314 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
1316 * toplev.c (dump_file_index): Add DFI_ce3.
1317 (dump_file_info): Likewise.
1318 (rest_of_compilation): Run first ifcvt pass before tracer.
1320 2002-10-25 Steve Ellcey <sje@cup.hp.com>
1322 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
1324 2002-10-25 Richard Henderson <rth@redhat.com>
1326 * real.c (real_to_decimal): If the >1 tens reduction loop results
1327 in a negative exponent, fall into the <1 pten computation.
1329 2002-10-25 Zack Weinberg <zack@codesourcery.com>
1332 * c-objc-common.c (inline_forbidden_p): Can not inline
1333 functions containing structures or unions containing VLAs.
1334 * tree-inline.c (walk_tree): For all class 't' nodes, walk
1335 TYPE_SIZE and TYPE_SIZE_UNIT.
1336 (copy_tree_r): Copy types if they are variably modified.
1338 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
1340 * config/s390/s390.md: Remove old-style peepholes.
1342 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
1344 * config/s390/s390.c (s390_decompose_address): Do not range check the
1345 displacement if base or index is the argument pointer register.
1347 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1352 * fixinc/inclhack.def (libc1_G_va_list): New fix.
1353 * fixinc/fixincl.x: Regenerate.
1354 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
1355 ifndef IN_LIBGCC2. Wrap it together with signal.h and
1356 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
1357 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
1358 * config.in, configure: Regenerate.
1360 2002-10-24 Igor Shevlyakov <igor@microunity.com>
1362 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
1364 2002-10-24 Richard Henderson <rth@redhat.com>
1366 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
1368 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1370 * config/h8300/h8300.c (initial_offset): Simplify by using
1373 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
1375 * doc/install.texi (avr): Update required binutils version.
1377 2002-10-24 Theodore A. Roth <troth@openavr.org>
1379 * doc/install.texi: Point avr users at more up-to-date information.
1381 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1383 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
1384 to pull operands out of the literal pool where possible.
1386 2002-10-24 Denis Chertykov <denisc@overta.ru>
1388 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
1390 2002-10-24 Steve Ellcey <sje@cup.hp.com>
1392 * expr.c (convert_move): If unsignedp is less then zero there
1393 is no equivalent code.
1395 2002-10-24 Zack Weinberg <zack@codesourcery.com>
1397 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
1399 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1401 * config/s390/s390.h: Rework comments; re-sort target macro definitions
1402 according to the sequence they are defined in the manual.
1403 (POINTER_BOUNDARY): Remove.
1405 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1407 * config/h8300/h8300.c (round_frame_size): Replace 8 with
1410 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1412 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
1414 (TINY_CONSTANT_ADDRESS_P): Likewise.
1416 2002-10-24 Richard Henderson <rth@redhat.com>
1418 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1419 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
1422 2002-10-24 Richard Henderson <rth@redhat.com>
1425 * reload.c (find_reloads_toplev): Mode of X is not important
1426 when simplifying subregs of constants.
1428 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
1430 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
1431 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
1432 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
1433 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
1434 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
1436 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
1438 * optabs.c (expand_binop): Don't reuse the shift target in the
1439 middle of shift sequences.
1441 2002-10-23 Ziemowit Laski <zlaski@apple.com>
1443 * objc/objc-act.c (get_static_reference): Remove unneeded
1444 TYPE_BINFO initialization.
1445 (get_object-reference): Likewise.
1446 (build_constructor): Tighten precondition check.
1447 (finish_message_expr): Likewise.
1449 2002-10-23 Jakub Jelinek <jakub@redhat.com>
1451 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
1454 2002-10-23 Steve Ellcey <sje@cup.hp.com>
1456 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
1459 2002-10-23 Richard Henderson <rth@redhat.com>
1461 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1462 (alpha_output_mi_thunk_osf): Handle vcall_offset.
1464 2002-10-23 Zack Weinberg <zack@codesourcery.com>
1466 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1468 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
1469 hook_tree_bool_false.
1471 * tree.c (variably_modified_type_p): Moved here from
1472 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
1473 language-specific cases. Due to this, must weaken some 'if
1474 and only if' checks to merely 'if'.
1475 * tree.h: Prototype variably_modified_type_p.
1477 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
1479 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
1481 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
1482 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
1484 * config/s390/s390-protos.h (fp_operand): Remove.
1485 * config/s390/s390.c (fp_operand): Remove.
1486 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
1487 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
1488 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
1489 (movdi_31, movdf_31 splitters): Likewise.
1491 * config/s390/s390.h (IEEE_FLOAT): Remove.
1492 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
1493 (INT_REGNO_P): Rename to ...
1494 (GENERAL_REGNO_P): ... this.
1495 (FLOAT_REGNO_P): Rename to ...
1496 (FP_REGNO_P): ... this.
1497 (ADDR_REGNO_P): New macro.
1498 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
1499 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
1500 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
1501 (HARD_REGNO_NREGS): Adapt to macro renaming.
1502 (HARD_REGNO_MODE_OK): Likewise.
1504 2002-10-23 David Edelsohn <edelsohn@gnu.org>
1505 Geoff Keating <geoffk@apple.com>
1507 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
1508 (rs6000_memory_move_cost): New function.
1509 * config/rs6000/rs6000-protos.h: Declare them.
1510 * config/rs6000/rs6000.h: Use them.
1512 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
1514 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1515 inlining it into other libgcc2 routines.
1516 (__udivmoddi4): Likewise.
1518 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
1520 * doc/sourcebuild.texi (Test Suites): Improve.
1522 2002-10-22 Stan Shebs <shebs@apple.com>
1524 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
1527 2002-10-22 Jim Wilson <wilson@redhat.com>
1529 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
1531 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1534 * xmmintrin.h: Add const to the argument of loads.
1536 * i386.md (pushv2di): New pattern.
1538 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
1540 2002-10-22 Richard Henderson <rth@redhat.com>
1542 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
1543 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
1544 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
1545 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1546 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1547 (TARGET_ASM_OUT): Update.
1548 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
1549 (hook_bool_tree_hwi_hwi_tree_true): New.
1550 (default_can_output_mi_thunk_no_vcall): New.
1551 * hooks.h: Declare them.
1552 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
1554 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1555 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
1556 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
1557 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
1558 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
1559 config/stormy16/stormy16.c: Similarly.
1561 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
1562 Handle 64-bit properly. Streamline.
1563 (x86_output_mi_vcall_thunk): Remove.
1564 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
1565 (x86_can_output_mi_thunk): New.
1566 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1567 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1568 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
1570 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
1571 output_mi_thunk; make static; always use function_section.
1572 (TARGET_ASM_OUTPUT_MI_THUNK): New.
1573 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1574 (rs6000_ra_ever_killed): Test no_new_pseudos not
1575 targetm.asm_out.output_mi_thunk in conjunction with thunks.
1576 * config/rs6000/rs6000-protos.h: Update.
1577 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1578 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
1579 xcoffout_declare_function when using rs6000_output_mi_thunk.
1581 * config/s390/s390.c (s390_output_mi_thunk): Rename from
1582 s390_output_mi_vcall_thunk.
1583 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1584 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1586 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
1587 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1588 * config/vax/vax-protos.h: Update.
1589 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
1591 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
1593 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
1594 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
1595 * i386.md (movti_internal): Use 'C'
1597 * xmmintrin.h (_mm_cmplt_epi*): New.
1599 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
1601 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
1602 ("*movdf_64"): Likewise.
1603 ("*lshrdi3_64"): Likewise.
1604 ("blockage"): Add length attribute.
1607 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
1609 * i386.md: FIx typo.
1610 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
1611 (sse2_umulv2siv2di3): Fix predicate.
1612 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
1613 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
1614 * xmmintrin.h (_mm_mul_epu16): Rename to...
1615 (_mm_mul_epu32): This one.
1616 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
1618 (contains_128bit_aligned_vector_p): Undo accidental checkin.
1620 2002-10-22 Eric Christopher <echristo@redhat.com>
1622 * config/sparc/sparc.h: Add #error.
1624 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
1626 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
1627 [s390x-*-linux*]: Likewise.
1628 * config/s390/t-linux: Remove.
1629 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
1631 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
1633 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
1634 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
1635 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
1636 * i386.md (mmx_punpck?dq): Simplify.
1637 (sse2_pubpcklqdq): Fix.
1638 (sse2_pubpckhqdq): New.
1639 * xmmintrin.h (_mm_unpackhi_epi32): New.
1641 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
1642 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
1644 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
1647 * fold_const.c (fold_binary_op_with_conditional_arg): Always
1648 build compound_expr if we used save_expr.
1650 2002-10-22 Alan Modra <amodra@bigpond.net.au>
1652 * output.h (SECTION_NOTYPE): Define.
1653 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
1654 init array sections.
1655 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
1656 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
1659 2002-10-21 Richard Henderson <rth@redhat.com>
1661 * real.c (sticky_rshift_significand): Return inexact, don't
1662 or it in immediately.
1663 (sub_significands): Accept incomming carry.
1664 (div_significands, rtd_divmod): Update for sub_significands change.
1665 (round_for_format): Update for sticky_rshift_significand change.
1666 (do_add): Don't involve the inexact bit in addition, do give the
1667 inexact bit as the subtraction carry-in.
1668 (encode_internal, decode_internal, real_internal_format): New.
1669 * real.h (real_internal_format): Declare.
1671 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1673 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
1674 don't define sdiv_qrnnd.
1676 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
1678 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
1680 (TINY_CONSTANT_ADDRESS_P): Likewise.
1682 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1684 * i386.c (builtin_description): Add punpcklqdq and movdq2q
1685 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
1686 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
1687 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
1688 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
1689 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
1690 __builtin_ia32_setzero128.
1691 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
1692 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
1693 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
1694 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
1695 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
1696 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
1697 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
1698 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
1699 sse2_movq): New patterns.
1700 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
1701 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
1702 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
1703 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
1704 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
1705 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
1706 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
1707 (_mm_insert_epi16): Fix.
1709 2002-10-21 Dale Johannesen <dalej@apple.com>
1711 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
1712 unsafe math reversals correctly for RTL generation.
1713 (output_cbranch): Replace rs6000_reverse_condition call
1714 by its former definition.
1716 2002-10-21 Jakub Jelinek <jakub@redhat.com>
1718 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
1719 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
1720 from constant pool or LABEL_REFs as sign extended if allow_rip.
1721 Change all +-1GB limits to +-16MB.
1722 (x86_64_general_operand, x86_64_szext_general_operand,
1723 x86_64_nonmemory_operand, x86_64_movabs_operand,
1724 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1725 legitimate_address_p, ix86_expand_int_movcc): Update callers.
1726 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
1727 in CM_SMALL_PIC model.
1728 (legitimate_pic_address_disp_p): Don't check offsets before
1729 calling local_symbolic_operand.
1730 (legitimize_pic_address): Force offsets bigger than +-16MB into
1732 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
1733 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
1736 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
1737 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
1738 * configure: Rebuilt.
1739 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
1740 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
1741 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
1742 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
1744 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
1745 non-pic code if TARGET_64BIT.
1746 (legitimize_address): Generate 64-bit TLS sequences.
1747 (output_pic_addr_const): Support x86-64 TLS operators.
1748 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
1749 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
1750 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
1751 (output_addr_const_extra): Support x86-64 TLS operators.
1752 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
1753 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
1755 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
1756 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
1757 (*tls_global_dynamic_sun): Renamed to...
1758 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
1759 (tls_global_dynamic): Renamed to...
1760 (tls_global_dynamic_32): ... this.
1761 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
1762 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
1763 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
1764 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
1765 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
1766 (tls_local_dynamic_base_dynamic): Renamed to...
1767 (tls_local_dynamic_base_dynamic_32): ... this.
1768 (tls_local_dynamic_base_dynamic_64,
1769 *tls_local_dynamic_base_dynamic_64): New.
1770 (*tls_local_dynamic_once): Renamed to...
1771 (*tls_local_dynamic_32_once): ... this.
1773 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1775 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
1776 __divdi3, __umoddi3, or __moddi3.
1778 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1780 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
1781 instead of just opt_index as switch expression.
1783 * calls.c (store_one_arg): Change type of 'excess_align'
1786 * profile.c (output_gcov_string): Change type of 'temp'
1789 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1791 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
1792 (__fixunssfdi, __fixsfdi): Likewise.
1793 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
1794 (s390_single_qi): Likewise.
1795 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
1796 unsigned comparison warning.
1797 (s390_return_addr_rtx): New function.
1798 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
1799 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
1800 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
1802 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1804 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
1805 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
1806 (s390_output_mi_thunk): Remove.
1807 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1809 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
1811 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
1813 2002-10-20 Richard Henderson <rth@redhat.com>
1815 * target.h (struct gcc_target): Line wrap.
1817 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
1818 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
1819 * config/alpha/alpha.h: ... not here.
1820 * config/alpha/alpha-protos.h: Update.
1822 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
1823 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
1824 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
1825 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
1826 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
1827 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
1828 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
1829 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
1830 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
1831 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
1832 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1833 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
1834 config/sparc/sparc.c, config/sparc/sparc.h,
1835 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
1836 config/stormy16/stormy16.h: Similarly.
1838 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
1839 selection logic from call patterns.
1841 2002-10-20 Mark Mitchell <mark@codesourcery.com>
1843 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
1845 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1848 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
1849 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
1850 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
1851 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
1853 2002-10-20 Roger Sayle <roger@eyesopen.com>
1856 * toplev.c (flag_unsafe_profile_arcs): Remove.
1857 (flag_bounded_pointers): Remove.
1858 (flag_bounds_check): Correct comments.
1859 (lang_independent_options): Remove -funsafe-profile-arcs and
1860 -fbounded-pointers. Correct -fbounds-check comments.
1862 * flags.h: Correct flag_schedule_interblock comments.
1863 (flag_bounded_pointers): Remove prototype.
1864 (flag_bounds_check): Correct comments.
1866 * c-opts.c (c_common_init_options): No need to mark
1867 flag_bounds_check as unspecified.
1868 (c_common_post_options): And no need to set it from
1869 flag_bounded_pointers if its still unspecified.
1871 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
1872 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
1873 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
1874 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
1876 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1877 Mark Mitchell <mark@codesourcery.com>
1879 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
1881 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
1882 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
1883 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
1884 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
1885 x86_output_mi_thunk): Likewise.
1886 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
1887 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
1888 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
1889 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
1890 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
1891 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
1892 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
1894 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
1896 * target.h (gcc_target): Update output_mi_thunk and
1897 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
1900 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
1901 TARGET_ASM_OUTPUT_MI_THUNK in comments.
1902 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
1903 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
1904 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
1905 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
1907 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
1908 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
1909 TARGET_ASM_OUTPUT_MI_THUNK in comments.
1910 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
1911 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
1912 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
1913 TARGET_ASM_OUTPUT_MI_THUNK in comments.
1914 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
1915 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
1917 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
1918 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
1920 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
1922 * real.c (do_add): Fix 0+0 sign corner case.
1923 (do_divide): Fix Inf/0 corner case.
1925 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
1927 * i386.c (classify_argument): Pass MMX arguments in memory
1928 (ix86_expand_builtin): Expand proper address mode for cflush.
1929 * i386.md (movdqa): Fix typo.
1930 (sse2_cflush): Accept DImode addresses.
1932 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
1933 (_mm_max_sd): Fix pasto.
1934 (_mm_storeh_pd, _mm_storel_pd): Fix.
1936 * i386.c (bdesc_comi): Fix to match specification.
1937 (ix86_expand_sse_comi): Emit the comparison properly.
1938 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
1939 Do not use comparison operator.
1940 (vnmaskcmp): Fix template.
1942 * xmmintrin.h (_mm_cvtps_pi16): Fix.
1944 2002-10-19 Sebastian Pop <s.pop@laposte.net>
1946 * dependence.c : Removed.
1947 * Makefile.in : Remove dependence.o.
1949 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
1951 * mmintrin.h (__m64): typedef it to v2si.
1952 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
1953 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
1954 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
1955 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
1956 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
1957 * xmmintrin.h (_mm_setzero_si64): Likewise.
1959 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
1960 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
1963 Patch by Shawn Wagner
1964 * mmintrin.h: Replace pi64 by si64.
1966 2002-10-18 David Edelsohn <edelsohn@gnu.org>
1968 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
1969 Use length of 4 not *.
1970 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
1971 (movdf_softfloat64): Likewise.
1972 (movdi_internal32): Use length of 4 not *.
1973 (movti_power): Same.
1974 (ctrsi, ctrdi): Same.
1976 2002-10-18 Zack Weinberg <zack@codesourcery.com>
1978 * c-decl.c (start_decl): Point users of the old initialized-
1979 typedef extension at __typeof__.
1981 2002-10-18 Richard Henderson <rth@redhat.com>
1983 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
1984 (real_to_decimal): Re-implement using the logic from the
1985 gcc 3.2 etoasc. Comment heavily.
1986 (div_significands): Simplify loop startup and comparison logic.
1988 2002-10-18 Mark Mitchell <mark@codesourcery.com>
1990 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
1991 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
1992 (TARGET_ASM_OUT): Add them.
1993 * target.h (asm_out): Add output_mi_thunk and
1994 output_mi_vcall_thunk.
1995 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
1996 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
1997 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
1998 * config/arm/arm.c (arm_output_mi_thunk): Define.
1999 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2000 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2001 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2002 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2003 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2004 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2005 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
2007 (x86_output_mi_vcall_thunk): Declare.
2008 * config/i386/i386.c (override_options): Clear
2009 output_mi_vcall_thunk in 64-bit mode.
2010 (ix86_fntype_regparm): New function.
2011 (ix86_return_pops_args): Use it.
2012 (ia32_this_parameter): New function.
2013 (x86_output_mi_vcall_thunk): New function.
2014 (x86_output_mi_thunk): Use it
2015 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
2016 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
2017 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
2018 * config/i960/i960.c (i960_output_mi_thunk): New function.
2019 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
2020 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
2021 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
2022 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2023 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2024 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
2025 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2026 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2027 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2028 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2029 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2030 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2031 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2032 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2033 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2034 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2035 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
2036 * config/s390/s390.c (s390_output_mi_thunk): Define.
2037 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2038 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2039 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2040 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2041 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2042 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2043 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
2044 * config/vax/vax.c (vax_output_mi_thunk): Define.
2045 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2046 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2047 * doc/tm.texi: Adjust documentation.
2049 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
2051 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
2052 __enable_execute_stack function.
2053 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2054 as NETBSD_ENABLE_EXECUTE_STACK.
2055 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2056 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2057 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2058 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2059 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2061 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
2063 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
2064 to __enable_execute_stack with the address of the trampoline
2065 if TRANSFER_FROM_TRAMPOLINE is defined.
2066 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
2067 constant if building libgcc2.
2069 2002-10-17 Roger Sayle <roger@eyesopen.com>
2071 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
2073 2002-10-17 Geoffrey Keating <geoffk@apple.com>
2075 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
2077 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
2079 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
2080 (movsf_softfloat): Likewise.
2082 2002-10-17 Janis Johnson <janis187@us.ibm.com>
2084 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
2086 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
2088 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
2089 tramp, not addr, to pass the trampoline address to
2090 __enable_execute_stack.
2092 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
2094 * mmintrin.h: Guard by __MMX__
2095 * xmmintrin.h: Guard by __SSE__
2098 * xmmintrin.h (_MM_SHUFFLE2): New macro.
2099 (_mm_load*_?d): New functions.
2100 (_mm_set*_?d): New functions.
2101 (_mm_store*_?d): New functions.
2103 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
2105 Really commit patch announced at Oct 14
2107 * predict.c (can_predict_insn_p): New function.
2108 (estimate_probability): Avoid unnecesary work.
2109 (process_note_prediction): Likewise.
2110 * toplev.c (rest_of_compilation): Account early branch prediction pass
2114 Found by Ian Ollmann
2115 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
2116 (_mm_load?_pd): Likewise.
2117 (_mm_store?_pd): Likewise.
2120 * i386.c (builtin_description):Drop cmpg[te]s[sd].
2121 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
2122 swapped alternative.
2125 * reload1.c (reload_inner_reg_of_subreg): New argument output;
2126 (push_reload): Update call.
2128 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
2130 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
2131 if using mips/elf.h or mips/elf64.h.
2132 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
2133 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
2135 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
2137 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
2140 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
2142 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
2143 (LPREFIX): Likewise.
2144 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
2145 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2146 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
2147 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
2148 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
2150 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
2151 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
2152 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2153 BSS_SECTION_ASM_OP): Move from linux.h.
2154 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2155 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2157 * config/s390/s390.c (s390_function_profiler): Use
2158 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2160 2002-10-15 Richard Henderson <rth@redhat.com>
2162 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
2163 as arguments. Bound DIGITS by the available buffer size.
2164 (real_to_hexadecimal): Likewise.
2165 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
2166 (REAL_VALUE_TO_DECIMAL): Remove.
2167 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
2168 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
2169 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
2170 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
2171 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
2172 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
2173 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
2174 use real_to_decimal directly, and with the proper arguments.
2175 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
2177 2002-10-15 Jim Wilson <wilson@redhat.com>
2179 * reload1.c (merge_assigned_reloads): After converting overlapping
2180 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
2182 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
2184 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
2186 * expr.c (do_tablejump): Fix typo in my previous commit.
2188 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
2190 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
2192 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
2194 * config/s390/s390.c (s390_split_branches): Add return
2195 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
2197 (find_base_register_in_addr): New function.
2198 (find_base_register_ref): New function.
2199 (replace_base_register_ref): New function.
2201 (struct constant_pool): Add members pool_insn, insns, and anchor.
2202 Remove member last_insn.
2203 (s390_start_pool): Initialize them.
2204 (s390_end_pool): Emit pool placeholder insn.
2205 (s390_add_pool_insn): New function.
2206 (s390_find_pool): Use insns bitmap instead of addresses.
2207 (s390_dump_pool): Replace placeholder insn. Emit anchor.
2208 Replace unspec 104 by local-pool-relative references.
2209 (s390_output_constant_pool): Output anchor label if required.
2210 (s390_output_symbolic_const): Handle unspec 104 and 105.
2211 (s390_add_pool): Remove, replace by ...
2212 (s390_add_constant, s390_find_constant): ... these new functions.
2213 (s390_add_anchor): New function.
2215 (s390_chunkify_pool): Delete, replace by ...
2216 (s390_chunkify_start, s390_chunkify_finish,
2217 s390_chunkify_cancel): ... these new functions.
2218 (s390_optimize_prolog): Add parameter TEMP_REGNO.
2219 Recompute register live data for special registers.
2220 (s390_fixup_clobbered_return_reg): New function.
2221 (s390_machine_dependent_reorg): Rewrite to use new
2222 s390_chunkify_... routines.
2224 config/s390/s390.md ("reload_base"): Rename to ...
2225 ("reload_base_31"): ... this.
2226 ("reload_base_64"): New insn.
2227 ("reload_base2"): Remove.
2228 ("reload_anchor"): New insn.
2231 s390.c (s390_pool_overflow): Remove.
2232 s390.h (s390_pool_overflow): Likewise.
2233 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
2235 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
2237 * sh.md (movv8qi_i+2): Don't split if source is -1.
2239 2002-10-15 Janis Johnson <janis187@us.ibm.com>
2241 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
2243 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
2246 * loop.c (loop_regs_scan): Mark registers used for function
2247 argument passing as MAY_NOT_OPTIMIZE.
2249 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2251 * i386.md (movv2di_internal): New pattern.
2252 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
2253 (movv2di): New expander.
2254 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
2256 * i386.c (ix86_expand_timode_binop_builtin): Delete.
2257 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
2258 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
2259 (ix86_expand_builtin): Likewise.
2260 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2262 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2264 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
2266 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
2268 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
2269 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
2270 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
2271 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2272 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
2273 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2275 * xmmintrin.h (__m128i): Define as __v2di.
2278 (expand_expr): Use DECL_RTL_SET_P.
2280 2002-10-14 Roger Sayle <roger@eyesopen.com>
2282 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
2284 2002-10-14 Roger Sayle <roger@eyesopen.com>
2285 Zack Weinberg <zack@codesourcery.com>
2287 * config/i386/i386.c (k6_cost): Correct typo.
2289 2002-10-14 Mark Mitchell <mark@codesourcery.com>
2291 PR optimization/6631
2292 * alias.c (objects_must_conflict_p): Check honor_readonly when
2293 examining TYPE_READONLY.
2294 * function.c (assign_stack_temp_for_type): Likewise.
2296 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2298 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
2299 Swap zero extension arguments.
2300 (umaxhi3): Fix instruction class.
2302 (prefetch): Fix prefetch instructions.
2304 (pkwb): Fix output constraint.
2306 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
2308 * config/mips/mips.c (print_operand): Increase buffer size for
2311 2002-10-14 Richard Henderson <rth@redhat.com>
2314 * gcse.c (adjust_libcall_notes): Revert last change.
2315 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
2317 2002-10-14 Andrew Haley <aph@redhat.com>
2319 * tree-inline.c (remap_block): All local class initialization
2320 flags go in the outermost scope.
2321 (expand_call_inline): Call java_inlining_map_static_initializers.
2322 (expand_call_inline): Call java_inlining_merge_static_initializers.
2323 * java/lang.c (merge_init_test_initialization): New.
2324 (java_inlining_merge_static_initializers): New.
2325 (inline_init_test_initialization): New.
2326 (java_inlining_map_static_initializers): New.
2328 * tree-inline.c (expand_call_inline): Convert retvar to expected
2331 2002-10-14 Graham Stott <graham.stott@btinternet.com>
2333 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
2335 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
2337 * stmt.c: Fix typo in comment.
2339 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
2341 * c-common.c (c_common_type_for_mode): Add V2HImode case.
2342 * tree.c (build_common_tree_nodes_2): Initialize
2343 unsigned_V2HI_type_node and V2HI_type_node.
2344 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
2345 (unsigned_V2HI_type_node, V2HI_type_node): Define.
2347 2002-10-14 Jakub Jelinek <jakub@redhat.com>
2349 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
2350 Handle TARGET_64BIT.
2352 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2354 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
2355 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
2356 (MULTILIB_DIRNAMES): Remove long32.
2357 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
2358 (MULTILIB_REDUNDANT_DIRS): Remove.
2360 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2362 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
2363 * gcc.c (driver_self_specs): New variable.
2364 (do_self_spec): New function.
2365 (main): Use it to process driver_self_specs.
2367 2002-10-13 Richard Henderson <rth@redhat.com>
2369 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
2371 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
2373 PR preprocessor/7862
2374 PR preprocessor/8190
2375 * gcc.c (cpp_unique_options): Don't delete .d files.
2376 Remove stray whitespace.
2378 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
2380 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
2381 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2382 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
2383 (pdp11_output_function_epilogue, output_ascii): Likewise.
2384 (output_addr_const_pdp11): Likewise.
2385 * pdp11.md (movdi): Use offsetable memory for floating store.
2386 (lshrsi3, negsi2): Delete irrelevant comment.
2388 2002-10-11 Geoffrey Keating <geoffk@apple.com>
2390 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
2391 not the address of the REG.
2392 (struct cse_reg_info): Make subreg_ticked unsigned.
2394 2002-10-11 Janis Johnson <janis187@us.ibm.com>
2396 * doc/compat.texi: Add info about C++ libraries.
2398 2002-10-11 Richard Henderson <rth@redhat.com>
2401 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
2403 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2405 * cfganal.c (dfs_enumerate_from): Use PARAMS.
2406 * genautomata.c (output_insn_code_cases): Likewise.
2407 * real.c (real_format): Likewise.
2408 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
2409 ensure value is promoted before doing subtraction.
2411 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
2413 * calls.c (expand_call): Simplify noreturn call.
2416 * cfgbuild.c (make_edges): Create edge cache when we do have
2418 * expr.c (do_tablejump): Note size of maximal jumptable.
2419 * function.c (prepare_function_start): Zero out size.
2420 * function.h (function): Add max_jumptable_ents.
2422 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
2424 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
2426 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
2427 register for mperm_w operation.
2429 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
2431 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
2432 an integer, use simplify_gen_subreg.
2434 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
2436 * extend.texi (Vector Extensions): Remove comment about single
2439 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2441 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
2442 * function.c (insns_for_mem_hash): Likewise.
2443 * varasm.c (STRHASH): Likewise.
2445 2002-10-10 Stuart Hastings <stuart@apple.com>
2447 * cse.c (struct cse_reg_info): Add subreg_ticked.
2448 (SUBREG_TICKED): New.
2449 (get_cse_reg_info): Initialize SUBREG_TICKED.
2450 (mention_regs): Use it.
2451 (invalidate): Set SUBREG_TICKED.
2452 (invalidate_for_call): Likewise.
2453 (addr_affects_sp_p): Likewise.
2455 2002-10-10 Jakub Jelinek <jakub@redhat.com>
2457 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
2458 into proper operand.
2460 2002-10-10 Denis Chertykov <denisc@overta.ru>
2462 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
2464 * config/ip2k/libgcc.S: Combine routines used by function
2467 2002-10-10 Jim Wilson <wilson@redhat.com>
2469 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
2472 2002-10-10 David Edelsohn <edelsohn@gnu.org>
2474 * config/rs6000/aix52.h: New file.
2475 * config/rs6000/t-aix52: New File.
2476 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
2477 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
2479 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2482 * invoke.texi (-msse-math): Kill
2483 (-msse): Add note to mfpmath=sse.
2485 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
2488 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
2490 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
2492 PR preprocessor/8179
2493 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
2495 (default_compilers): Pass debug options when preprocessing
2498 2002-10-06 Richard Henderson <rth@redhat.com>
2500 * toplev.c (rest_of_compilation): Revert opt/2960 change.
2502 2002-10-09 Zack Weinberg <zack@codesourcery.com>
2505 * c-decl.c (start_decl): Unconditionally issue error for
2506 'typedef foo = bar'.
2507 (finish_decl): Remove special case for TYPE_DECL with initializer.
2509 * doc/extend.texi: Delete "Naming Types" section. Change all
2510 cross-references to that section to refer to "Typeof" instead.
2511 Add the useful safe-max()-macro example from "Naming Types" to
2512 "Typeof", rewritten using that extension. Add some compatibility
2515 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2517 * loop.c: Revert 2002-08-15 change.
2518 (LOOP_REGNO_NREGS): Ensure type is int.
2520 2002-10-09 David Edelsohn <edelsohn@gnu.org>
2522 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
2523 which copies first FPR and clears second.
2524 (extendsftf2): Same.
2525 (floatditf2): Fix typo.
2527 (fix_trunctfdi2): Same.
2528 (fix_trunctfsi2): Same.
2530 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2532 * conflict.c (arc_hash): Change return type to hashval_t.
2533 * cselib.c (get_value_hash): Likewise.
2534 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
2535 state_hash, automata_list_hash): Likewise.
2536 * read-rtl.c (def_hash): Likewise.
2537 * tree.c (type_hash_hash): Likewise.
2539 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
2541 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
2542 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
2544 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
2546 * sh.md (ffssi2): Fix emitted code.
2548 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
2550 * cse.c (insn_live_p): Pass insn pattern, not full insn
2553 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
2555 * cppmacro.c (paste_tokens): Only allow / to paste with =.
2557 2002-10-09 David Edelsohn <edelsohn@gnu.org>
2559 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
2561 (movtf_internal): Reference correct displacement for second value
2563 (movtf splitter): Correct generation of constants in 64-bit mode.
2565 2002-10-09 Alan Modra <amodra@bigpond.net.au>
2567 * libgcc2.c (__floatdisf): Properly cure double rounding.
2569 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
2571 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
2572 * doc/cpp.texi (Common Predefined Macros): Document.
2574 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
2577 * doc/invoke.texi (Option Summary): List
2578 -Wmissing-declarations as a C only option.
2580 2002-10-08 Jakub Jelinek <jakub@redhat.com>
2582 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
2583 mno-app-regs|mcmodel=medany.
2584 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
2585 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
2586 (CRTSTUFF_T_CFLAGS): Define.
2588 2002-10-08 Roger Sayle <roger@eyesopen.com>
2591 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
2592 pool references that are constructed using LO_SUM.
2594 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
2596 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
2598 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
2600 * flags.h (warn_strict_aliasing): Declare.
2601 * toplev.c (warn_strict_aliasing): Define.
2602 (lang_independent_options): Add it.
2603 * doc/invoke.texi (-Wstrict-aliasing): Document it.
2605 2002-10-08 Zack Weinberg <zack@codesourcery.com>
2607 * system.h (GCCBUGURL): Delete.
2608 * version.c (bug_report_url): New. Add commentary about
2609 modifying both these strings in modified distributions.
2610 * version.h: Declare bug_report_url.
2612 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
2615 2002-10-08 Nick Clifton <nickc@redhat.com>
2617 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
2618 convert uint64_t into __ev64_opaque__.
2619 (__ev_set_acc_s64): Likewise, but using signed types.
2621 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2623 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
2624 ("*doloop_di_long"): Likewise.
2626 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
2628 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
2630 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
2632 * config/mips/mips.md (define_attr cpu): Add r4111.
2634 2002-10-08 Anthony Green <green@redhat.com>
2636 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
2638 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2640 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
2641 for REAL_VALUE_TO_DECIMAL output.
2643 2002-10-07 David Edelsohn <edelsohn@gnu.org>
2645 * config/rs6000/rs6000.c (rs6000_override_options): Set
2646 real_format_for_mode for IBM extended format, if enabled.
2647 (easy_fp_constant): Add TFmode.
2648 (rs6000_legitimize_address): Add TFmode.
2649 (rs6000_legitimate_address): Same.
2650 (function_arg_advance): TFmode uses two FPRs.
2651 (rs6000_emit_prologue): Fix warning.
2652 (rs6000_output_function_epilogue): Add TFmode.
2653 (output_toc): Add TFmode.
2654 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
2655 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
2656 * rs6000.md (movtf splitter): Load TFmode constant.
2658 2002-10-07 Dale Johannesen <dalej@apple.com>
2660 * rtl.h: Add NOTE_PRECONDITIONED.
2662 * loop.c: Set loop_info->preconditioned from it.
2663 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
2665 2002-10-07 Richard Henderson <rth@redhat.com>
2667 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
2668 new rtx for comparing the argument pointer against zero.
2669 (i960_va_start): Similarly.
2671 2002-10-07 Richard Henderson <rth@redhat.com>
2673 * config/i960/i960.md (*): Use TFmode, not XFmode.
2674 * config/i960/i960.c (*): Likewise.
2675 (i960_arg_size_and_align): Remove XFmode alignment hack.
2676 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
2677 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
2678 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
2679 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
2681 2002-10-07 Richard Henderson <rth@redhat.com>
2683 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
2684 entry points; use void return value and argument list.
2686 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
2688 * t-pdp11: Add MULTILIB support for msoft-float.
2689 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
2691 * t-pdp11: Add LIB2FUNCS_EXTRA.
2692 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
2693 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
2694 'fldd' to 'ldd', rename 'fstd' to 'std'.
2695 (pdp11_output_function_epilogue): Likewise.
2696 (output_move_quad): Make the comment gas compatible.
2697 (output_ascii): Add preceding 0 to the octal constant.
2698 (print_operand_address): Add pre_modify, post_modify.
2699 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
2700 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
2701 with the indication of Paul Koning.
2702 (PRINT_OPERAND): Fix floating constant.
2703 * pdp11.md (movdi): Restrict matching pattern.
2704 (movqi): Generalize the matching pattern.
2705 (movdf): Restrict matching pattern.
2706 (zero_extendqihi2): Change constant representation.
2707 (floatsidf2): Fix wrong operands.
2708 (addqi3): Fix wrong instruction name.
2709 (subqi3): Fix wrong instruction name.
2710 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
2711 (xorsi3): Fix wrong insn.
2712 (one_cmplqi2): Add two operand pattern.
2715 (call): Add register indirect case.
2716 (mod): Fix wrong subreg.
2718 2002-09-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2719 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2722 * expr.c (expand_expr) [PLUS]: Simplify after the operands
2723 have been expanded in EXPAND_NORMAL mode.
2725 2002-10-06 Richard Henderson <rth@redhat.com>
2727 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
2729 2002-10-06 Richard Henderson <rth@redhat.com>
2731 PR optimization/2960
2732 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
2735 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
2737 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
2738 previously definitions.
2740 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
2742 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
2743 * c-opts.c (find_opt): Similarly.
2745 2002-10-05 Jakub Jelinek <jakub@redhat.com>
2747 * gcc.c (set_multilib_dir): Don't access *end.
2748 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
2749 (print_multilib_info): Don't show paths starting with ".:".
2750 * genmultilib: Add new option, "yes" if multilibs are enabled.
2751 Update comments. If multilibs not enabled, print .:${osdirout}
2752 for each directory. If multilibs are enabled, always print
2753 ${dirout}:${osdirout}, even if the two are the same.
2754 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
2755 Pass all MULTILIB_* variables to genmultilib even if
2756 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
2758 2002-10-04 Bruce Korb <bkorb@gnu.org>
2760 * fixinc/inclhack.def(hpux11_abs): use format fix
2761 * fixinc/fixincl.x: regenerate
2762 * fixinc/tests/base/stdlib.h: accommodate new fix test
2764 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
2766 * c-common.c (cb_register_builtins): Use really_no_inline.
2768 2002-10-04 David Edelsohn <edelsohn@gnu.org>
2770 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
2771 copied instruction if the note is not loop invariant.
2773 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
2775 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
2777 2002-10-04 Steve Ellcey <sje@cup.hp.com>
2779 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
2780 and -mhp-ld options to list of options. Add -mgnu-ld
2781 and -mhp-ld option descriptions.
2783 2002-10-04 Steve Ellcey <sje@cup.hp.com>
2785 * fixinc/inclhack.def (hpux11_abs): New.
2786 (stdio_va_list): change __va_list__ to __gnuc_va_list.
2787 * fixinc/fixincl.x: Rebuild.
2789 2002-10-04 Roger Sayle <roger@eyesopen.com>
2791 * config/i386/i386.h (processor_costs): Add new fields fadd,
2792 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
2793 (RTX_COSTS): Use these fields to determine the RTX costs
2794 of floating point addition/subtraction, multiplication,
2795 division, fabs, negation and square root respectively.
2796 * config/i386/i386.c (size_cost): Provide instruction sizes
2797 for these new fields.
2798 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
2799 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
2800 counts for these new fields for all x86 processor variants.
2802 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2804 * mips.c (mips_const_double_ok): Delete unused variable.
2806 * gengtype.c (rtx_next): Change type to int.
2808 2002-10-04 Andreas Jaeger <aj@suse.de>
2810 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
2812 2002-10-04 Richard Henderson <rth@redhat.com>
2814 * real.h (SIGNIFICAND_BITS): Add one more word.
2815 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
2816 * real.c (times_pten): New.
2817 (real_to_decimal, real_from_string): Use it.
2818 (sticky_rshift_significand): Use & to find modulus.
2819 (rshift_significand, lshift_significand): Likewise.
2820 (do_divide): Apply sticky bit after normalization.
2821 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
2823 2002-10-03 Andreas Jaeger <aj@suse.de>
2825 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
2826 to unsigned long, adjust printf format string.
2827 (output_mangled_typename): Likewise.
2829 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
2831 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
2832 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
2833 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
2834 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
2835 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
2836 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
2837 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
2838 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
2840 2002-10-03 Mark Mitchell <mark@codesourcery.com>
2842 * doc/invoke.texi (-Wabi): Document mangling bug.
2844 2002-10-04 Alan Modra <amodra@bigpond.net.au>
2846 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
2847 name for the tbtab label that depends on the function asm name.
2848 Don't output tbtab label unless optional_tbtab.
2849 (output_mi_thunk): Formatting.
2851 2002-10-03 Richard Henderson <rth@redhat.com>
2853 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
2854 * config/m68k/m68k.c (override_options): ... here.
2855 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
2856 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
2857 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2858 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2860 2002-10-03 Richard Henderson <rth@redhat.com>
2862 * real.h (struct real_value): Use ENUM_BITFIELD.
2864 2002-10-03 Richard Henderson <rth@redhat.com>
2866 * config/i960/i960.md (call, call_value): Use emit_call_insn.
2868 2002-10-03 Steve Ellcey <sje@cup.hp.com>
2870 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
2872 2002-10-03 Steve Ellcey <sje@cup.hp.com>
2874 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
2875 * config/pa/pa.h (MASK_GNU_LD): New.
2876 (TARGET_GNU_LD): New.
2877 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
2878 on gnu-ld and MASK_GNU_LD.
2879 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
2881 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
2883 * i386.c (athlon_cost): Fix the move costs.
2885 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
2887 * final.c (final): Use symbol name as function name for profiling.
2888 * profile.c (get_exec_counts): Likewise.
2889 (branch_prob): Likewise.
2891 2002-10-03 Jakub Jelinek <jakub@redhat.com>
2893 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
2895 2002-10-03 Jakub Jelinek <jakub@redhat.com>
2897 * gcc.c (print_multi_os_directory): New variable.
2898 (option_map): Support --print-multi-os-directory.
2899 (struct prefix_list): Add os_multilib field.
2900 (multilib_os_dir): New variable.
2901 (static_specs): Add multilib_options.
2902 (find_a_file): Add multilib argument. Search in GCC or OS multilib
2903 subdirs if non-zero.
2904 (read_specs, execute): Update callers.
2905 (find_file): Likewise. Don't prefix name with multilib_dir, instead
2906 pass 1 as multilib option.
2907 (display_help): Include --print-multi-os-directory.
2908 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
2909 (process_command): Update callers. Handle --print-multi-os-directory.
2910 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
2912 (main): Update find_a_file and add_prefix callers.
2913 Handle print_multi_os_directory.
2914 (struct mdswitchstr): New.
2915 (mdswitches, n_mdswitches): New variables.
2916 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
2917 present on the command line nor their mutually incompatible
2919 (default_arg): Optimize.
2920 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
2922 (print_multilib_info): Only print GCC multilib dir name, not OS
2924 * genmultilib: Add osdirnames parameter. Output multilib_options
2925 variable. If osdirnames is specified, output dirnames as
2927 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
2928 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
2929 to compute libgcc_s soname and install path.
2930 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
2931 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
2932 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
2935 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
2936 (SHLIB_SLIBDIR_SUFFIXES): Remove.
2937 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
2938 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
2939 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
2941 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
2942 (SHLIB_SLIBDIR_SUFFIXES): Remove.
2943 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
2944 (STARTFILE_ARCH_SPEC): Remove.
2945 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
2946 (SHLIB_SLIBDIR_SUFFIXES): Remove.
2947 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2948 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
2949 (SHLIB_SLIBDIR_SUFFIXES): Remove.
2951 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2953 * predict.c (choose_function_section): Avoid choice for linkonce functions.
2955 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
2957 * i386.md (lea to mul peep2): Fix condition.
2959 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
2961 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
2962 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
2964 2002-10-02 Richard Henderson <rth@redhat.com>
2967 * config/i386/i386.c (ix86_register_move_cost): Increase cost
2968 for secondary_memory_needed pairs.
2970 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
2972 * doc/vms.texi: Blow away false include file section.
2974 2002-10-02 Roger Sayle <roger@eyesopen.com>
2976 PR optimization/6627
2977 * toplev.c (force_align_functions_log): New global variable.
2978 * flags.h (force_align_functions_log): Add extern prototype.
2979 * varasm.c (assemble_start_function): Use it to force minimum
2981 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
2982 minimum function alignment to one byte.
2983 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
2984 the least significant bit of vtable member function pointers.
2985 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
2986 here from cp/cp-tree.h.
2988 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
2990 * i386.c (print_operand_address): Use RIP addressing for offsetted
2993 2002-09-30 David S. Miller <davem@redhat.com>
2996 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
2997 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
2999 2002-10-01 Roger Sayle <roger@eyesopen.com>
3001 * unroll.c (loop_iterations): Revert 2002-09-08 change.
3003 2002-10-01 Richard Henderson <rth@redhat.com>
3005 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
3006 (real_to_hexadecimal): Likewise.
3007 * print-rtl.c (print_rtx): If we are linked with real.c, don't
3008 dump the XWINT fields of a floating point CONST_DOUBLE.
3010 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
3012 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
3014 2002-10-01 Richard Henderson <rth@redhat.com>
3016 * calls.c (precompute_register_parameters): Force non-legitimate
3017 constants into pseudos.
3019 2002-10-01 Nick Clifton <nickc@redhat.com>
3021 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
3022 to assembler template.
3024 2002-10-01 Richard Henderson <rth@redhat.com>
3026 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
3027 for TLS debug info to !DECL_EXTERNAL.
3029 2002-10-01 Matt Thomas <matt@3am-software.com>
3030 Jason Thorpe <thorpej@wasabisystems.com>
3032 * config.gcc (vax-*-netbsdelf*): Enable configuration.
3033 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
3034 if not already defined.
3035 * config/vax/elf.h: New file.
3036 * config/vax/netbsd-elf.h: New file.
3037 * config/vax/vax.c: Include "debug.h".
3038 (vax_output_function_prologue): Add dwarf2 support. Use
3039 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
3040 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
3041 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
3042 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
3043 (VAX_ISTREAM_SYNC): Remove.
3044 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
3045 (JUMP_TABLES_IN_TEXT_SECTION): Define.
3046 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
3047 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
3049 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3050 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
3051 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
3052 (INCOMING_RETURN_ADDR_RTX): Define.
3053 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
3054 (VUNSPEC_SYNC_ISTREAM): Define.
3055 (blockage): Use VUNSPEC_BLOCKAGE.
3056 (sync_istream): New insn.
3058 2002-10-01 Richard Henderson <rth@redhat.com>
3060 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
3061 (*call_value_pop, call, call_value): Add dwarf2 EH support.
3064 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
3067 * c-typeck.c (build_c_cast): Warn about type punning which breaks
3068 type based aliasing.
3070 2002-10-01 Mark Mitchell <mark@codesourcery.com>
3072 * stor-layout.c (update_alignment_for_field): New function.
3073 (place_union_field): Use it.
3074 (place_field): Likewise.
3076 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
3079 * gcc.c (cc1_options): Add space on -auxbase-strip.
3081 2002-10-01 Jim Wilson <wilson@redhat.com>
3083 * config/v850/v850.h (EPILOGUE_USES): Define.
3085 2002-09-30 Andrew Haley <aph@redhat.com>
3087 * flow.c (insn_dead_p): When using non-call-exceptions, don't
3088 eliminate insns that may trap.
3089 * cse.c (insn_live_p): Likewise.
3091 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3093 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
3094 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
3095 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
3096 * config/mips/mips.md: Apply same renaming here.
3098 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3100 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
3101 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
3102 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
3103 * config/mips/mips.md (define_attr cpu): Remove r4320.
3104 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
3106 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3108 * config/mips/mips.c (mips16_strings): New variable.
3109 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
3110 symbol in mips16_strings. Free the list.
3111 (mips_encode_section_info): Keep track of local strings.
3113 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3115 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
3116 (sordered_df, sordered_sf): Remove.
3117 * config/mips/mips.c (get_float_compare_codes): New fn.
3118 (gen_int_relational, gen_conditional_move): Use it.
3120 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3122 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
3123 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
3124 * config/mips/mips.c (fcc_register_operand): New function.
3125 (mips_emit_fcc_reload): New function, extracted from reload_incc.
3126 (override_options): Allow TFmode values in float registers
3128 * cnfig/mips/mips.md (reload_incc): Change destination prediate
3129 to fcc_register_operand. Remove misleading source constraint.
3130 Use mips_emit_fcc_reload.
3131 (reload_outcc): Duplicate reload_incc.
3133 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3135 * longlong.h: Partially synchronize with GMP-4.1 version:
3136 Use i370 definitions also for s390.
3137 Add generic definition of umul_ppmm in terms of smul_ppmm.
3138 [s390] (umul_ppmm): Remove.
3139 [s390] (smul_ppmm): Fix incorrect assembler constraints.
3140 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
3142 2002-09-30 Bob Wilson <bob.wilson@acm.org>
3144 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3145 Add new RL_REGS register class.
3146 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
3147 Call xtensa_preferred_reload_class for both input and output reloads.
3148 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
3149 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
3150 instead of either AR_REGS or GR_REGS classes.
3151 (xtensa_secondary_reload_class): Use new RL_REGS class.
3152 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
3154 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3156 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
3157 (pa_strip_name_encoding): Strip '@' and '*', in that order.
3158 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
3159 there is a '*' prefix in NAME.
3161 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
3163 * reload.c (push_reload): Handle subregs and secondary memory.
3164 * reload1.c (gen_reload): Likewise.
3166 * jump.c (reg_or_subregno): New function.
3167 * rtl.h (reg_or_subregno): Declare
3168 * unroll.c (find_splittable_givs): Handle subregs.
3170 2002-09-30 Mark Mitchell <mark@codesourcery.com>
3172 * store-layout.c (finish_record_layout): Add free_p parameter.
3173 (layout_type): Pass it.
3174 * tree.h (finish_record_layout): Update prototype.
3176 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
3178 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
3180 * gcse.c (cprop_jump): Check that the register has not
3182 (cprop_jump): Likewise.
3184 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
3186 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
3187 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
3188 that we have a SImode access, and only then if reload hasn't completed;
3189 for all other cases, use LO_REGS.
3191 2002-09-29 Richard Henderson <rth@redhat.com>
3193 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
3195 2002-09-29 Richard Henderson <rth@redhat.com>
3198 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
3201 2002-09-29 David Edelsohn <edelsohn@gnu.org>
3203 * real.h (ibm_extended_format): Declare.
3204 * real.c (encode_ibm_extended, decode_ibm_extended): New
3207 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3209 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
3211 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
3213 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3215 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
3217 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
3219 * builtins.def: Fix comment formatting.
3220 * c-common.def: Likewise.
3221 * cfgcleanup.c: Likewise.
3222 * combine.c: Likewise.
3223 * gengtype.c: Likewise.
3224 * params.def: Likewise.
3225 * predict.def: Likewise.
3226 * rtl.def: Likewise.
3227 * stab.def: Likewise.
3228 * stor-layout.c: Likewise.
3229 * tree.def: Likewise.
3230 * config/darwin.c: Likewise.
3231 * config/darwin.h: Likewise.
3232 * config/dbxcoff.h: Likewise.
3233 * config/elfos.h: Likewise.
3234 * config/fp-bit.c: Likewise.
3235 * config/freebsd-spec.h: Likewise.
3236 * config/interix.h: Likewise.
3237 * config/libgloss.h: Likewise.
3238 * config/linux-aout.h: Likewise.
3239 * config/linux.h: Likewise.
3240 * config/lynx-ng.h: Likewise.
3241 * config/lynx.h: Likewise.
3242 * config/netbsd-aout.h: Likewise.
3243 * config/netbsd.h: Likewise.
3244 * config/netware.h: Likewise.
3245 * config/psos.h: Likewise.
3246 * config/ptx4.h: Likewise.
3248 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
3250 * ChangeLog.4: Fix typos.
3251 * ChangeLog.6: Likewise.
3252 * FSFChangeLog.10: Likewise.
3253 * genattrtab.c: Fix comment typos.
3254 * haifa-sched.c: Likewise.
3257 * config/arm/arm.c: Likewise.
3258 * config/arm/crti.asm: Likewise.
3259 * config/arm/crtn.asm: Likewise.
3260 * config/frv/frv.c: Likewise.
3261 * config/frv/frv.md: Likewise.
3262 * config/h8300/h8300.md: Likewise.
3263 * config/i386/rtemself.h: Likewise.
3264 * config/ia64/unwind-ia64.c: Likewise.
3265 * config/ip2k/ip2k.h: Likewise.
3266 * config/m88k/m88k.c: Likewise.
3267 * config/m88k/m88k.md: Likewise.
3268 * config/mips/sr71k.md: Likewise.
3269 * config/mmix/mmix.c: Likewise.
3270 * config/rs6000/rs6000.c: Likewise.
3271 * config/sh/sh.md: Likewise.
3273 2002-09-26 Theodore A. Roth <troth@verinet.com>
3275 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
3276 * config/avr/avr.md: Ditto.
3278 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
3280 PR preprocessor/8055
3281 * cppmacro.c (stringify_arg): Do not overflow the buffer
3282 with the terminating NUL when the argument to be stringified
3285 2002-09-27 Richard Henderson <rth@redhat.com>
3287 * unroll.c (simplify_cmp_and_jump_insns): New.
3288 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
3289 instead of expand_simple_foo.
3291 2002-09-27 Richard Henderson <rth@redhat.com>
3293 PR optimization/7520
3294 * cfganal.c (flow_active_insn_p): New.
3295 (forwarder_block_p): Use it.
3297 2002-09-27 Richard Henderson <rth@redhat.com>
3299 * emit-rtl.c (active_insn_p): Revert last change.
3301 2002-09-27 Jakub Jelinek <jakub@redhat.com>
3303 * doc/extend.texi (tls_model): Document.
3304 * varasm.c (decl_tls_model): New.
3305 * c-common.c (handle_tls_model_attribute): New.
3306 (c_common_attribute_table): Add tls_model.
3307 * config/alpha/alpha.c (alpha_encode_section_info): Use
3309 * flags.h (enum tls_model, flag_tls_default): Move...
3310 * tree.h (enum tls_model, flag_tls_default): ...here.
3311 (decl_tls_model): New prototype.
3312 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
3313 * config/i386/i386.c (ix86_encode_section_info): Likewise.
3314 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
3317 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
3319 * LANGUAGES: Follow spelling conventions.
3320 * rtl.def: Likewise.
3321 * sbitmap.c: Likewise.
3322 * sched-int.h: Likewise.
3323 * sched-rgn.c: Likewise.
3324 * sibcall.c: Likewise.
3325 * simplify-rtx.c: Likewise.
3327 * stab.def: Likewise.
3329 * stor-layout.c: Likewise.
3330 * target.h: Likewise.
3331 * timevar.c: Likewise.
3332 * toplev.c: Likewise.
3333 * tree-dump.c: Likewise.
3334 * tree-inline.c: Likewise.
3336 * tree.def: Likewise.
3338 * unroll.c: Likewise.
3339 * varasm.c: Likewise.
3340 * vmsdbgout.c: Likewise.
3341 * treelang/treelang.texi: Likewise.
3342 * treelang/treetree.c: Likewise.
3344 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
3346 * config/h8300/h8300.c (compute_saved_regs): Use a macro
3347 instead of a hard register number.
3348 (get_shift_alg): Use an enumerated type instead of numbers.
3349 (h8300_shift_needs_scratch_p): Likewise.
3351 2002-09-26 David S. Miller <davem@redhat.com>
3353 PR optimization/7335
3354 * calls.c (emit_library_call_value_1): Passing args by reference
3355 converts a CONST function into a PURE one.
3357 2002-09-26 David Edelsohn <edelsohn@gnu.org>
3359 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
3361 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
3363 * config/rs6000/rs6000.c (rs6000_override_options): Allow
3364 function-sections and data-sections functionality on AIX.
3366 2002-09-26 David Edelsohn <edelsohn@gnu.org>
3367 Dale Johannesen <dalej@apple.com>
3369 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
3370 in RTL for sub-word loads from memory.
3372 2002-09-26 Richard Henderson <rth@redhat.com>
3375 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
3378 2002-09-26 Richard Henderson <rth@redhat.com>
3380 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
3382 2002-09-26 Chris Lattner <sabre@nondot.org>
3384 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
3385 handling undefined values.
3387 2002-09-26 Richard Henderson <rth@redhat.com>
3390 * emit-rtl.c (active_insn_p): Consider a clobber of the
3391 function return value to be active even after reload.
3393 2002-09-27 Alan Modra <amodra@bigpond.net.au>
3395 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
3396 by absolute loop increment, not loop increment.
3398 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
3400 * c-common.h: Follow spelling conventions.
3401 * cpplex.c: Likewise.
3402 * cpplib.h: Likewise.
3403 * gthr-dce.h: Likewise.
3404 * gthr-posix.h: Likewise.
3405 * optabs.c: Likewise.
3406 * output.h: Likewise.
3407 * profile.c: Likewise.
3408 * protoize.c: Likewise.
3409 * ra-rewrite.c: Likewise.
3411 * recog.c: Likewise.
3412 * reg-stack.c: Likewise.
3413 * regclass.c: Likewise.
3414 * regmove.c: Likewise.
3415 * reload.c: Likewise.
3416 * reload.h: Likewise.
3417 * reload1.c: Likewise.
3418 * reorg.c: Likewise.
3419 * resource.c: Likewise.
3421 * rtlanal.c: Likewise.
3423 2002-09-26 Steve Ellcey <sje@cup.hp.com>
3425 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
3428 2002-09-24 Eric Christopher <echristo@redhat.com>
3430 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
3431 * config/mips/elf64.h: Ditto.
3433 2002-09-24 Eric Christopher <echristo@redhat.com>
3435 * except.c (expand_builtin_extract_return_address): Handle case
3436 where Pmode != ptr_mode.
3438 2002-09-26 Steve Ellcey <sje@cup.hp.com>
3440 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
3442 2002-09-26 Steve Ellcey <sje@cup.hp.com>
3444 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
3446 2002-09-26 Igor Shevlyakov <igor@microunity.com>
3448 * combine.c (simplify_set): Don't call to force_to_mode if size
3449 of integer type is larger than HOST_BITS_PER_WIDE_INT.
3451 2002-09-26 Janis Johnson <janis187@us.ibm.com>
3453 * Makefile.in (qmtest-g++): Fix file path.
3455 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3457 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
3458 A + (-const) on RTX level, even for unsigned types.
3460 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3462 * reload.c (dup_replacements): New function.
3463 (find_reloads): Use it to duplicate replacements at the top level
3464 of match_dup operands.
3466 2002-09-26 Miles Bader <miles@gnu.org>
3468 * v850.md ("length"): Change default value to 4.
3470 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
3472 * ChangeLog.1: Follow spelling conventions.
3473 * ChangeLog.4: Likewise.
3474 * ChangeLog.6: Likewise.
3475 * FSFChangeLog.11: Likewise.
3476 * doc/cpp.texi: Likewise.
3477 * doc/invoke.texi: Likewise.
3478 * doc/tm.texi: Likewise.
3480 2002-09-26 Nick Clifton <nickc@redhat.com>
3482 * config.gcc: Add x prefix to v850e case for handling
3485 2002-09-25 David S. Miller <davem@redhat.com>
3488 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
3491 2002-09-25 Richard Henderson <rth@redhat.com>
3493 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
3494 fp CONST_DOUBLE; use real_identical.
3496 2002-09-25 Mark Mitchell <mark@codesourcery.com>
3498 * doc/invoke.texi: Add more -Wabi examples.
3500 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
3502 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
3504 2002-09-24 Denis Chertykov <denisc@overta.ru>
3506 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
3507 cases of optimizing "add sp,w" to "inc sp".
3509 2002-09-24 Adam Nemet <anemet@lnxw.com>
3511 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
3512 epilogue for naked functions.
3514 2002-09-24 Adam Nemet <anemet@lnxw.com>
3515 Nick Clifton <nickc@redhat.com>
3517 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
3518 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
3521 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
3523 * config/s390/s390.c (preferred_la_operand_p): New function.
3524 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
3525 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
3526 ("*la_64_cc", "*la_31_cc", splitters): ... these.
3527 ("*la_31"): Deactivate for TARGET_64BIT.
3528 ("*la_31_and", "*la_31_and_cc"): New.