1 2002-11-25 Dave Pitts <dpitts@cozx.com>
3 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7 * config/h8300/h8300.md (an anonymous pattern): New.
9 2002-11-25 Richard Henderson <rth@redhat.com>
11 * alias.c (find_base_value): Use new_reg_base_value if it's live.
12 (copying_arguments): Make boolean.
14 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
16 * gcc.c (static_spec_functions): Add if-exists-else spec
18 (if_exists_else_spec_function): New function.
19 * doc/invoke.texi: Document the if-exists-else spec function.
21 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
22 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
24 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
26 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
27 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
28 "${tmake_file} rs6000/t-netbsd".
29 * config/rs6000/netbsd.h: Rewrite.
30 * config/rs6000/t-netbsd: New file.
32 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
34 * config/h8300/h8300.md (an anonymous pattern): Relax the
35 condition for the pattern.
37 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
39 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
40 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
41 evmwlssfanw, evmwlsmfanw.
43 * config/rs6000/rs6000.c (bdesc_2arg): Same.
45 * config/rs6000/spe.md: Same for patterns.
47 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
50 * fold-const.c (extract_muldiv): Don't propagate division unless
51 both arguments are multiples of C.
53 2002-11-25 Andrew Haley <aph@redhat.com>
55 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
56 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
57 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
58 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
60 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
62 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
65 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
67 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
68 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
70 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
71 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
72 to "" for a.out configurations.
73 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
75 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
77 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
78 NETBSD_CPP_SPEC directly.
79 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
81 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
83 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
85 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
86 NETBSD_STARTFILE_SPEC.
87 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
88 (ENDFILE_SPEC): Likewise.
89 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
91 2002-11-24 Andreas Schwab <schwab@suse.de>
93 * Makefile.in (install-driver): Remove versioned link before
96 * config/m68k/m68k.c: Fix typo in last change defining
97 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
99 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
101 * config/h8300/h8300.c (print_operand): Update the use of
102 h8300_tiny_constant_address_p.
103 (h8300_adjust_insn_length): Likewise.
104 (h8300_tiny_constant_address_p): Check if the given rtx is a
105 variable declared with __attribute__ ((tiny_data)).
107 2002-11-22 Dale Johannesen <dalej@apple.com>
109 * toplev.c (rest_of_compilation): Fix comments.
111 2002-11-22 Geoffrey Keating <geoffk@apple.com>
113 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
114 allow mmap from /dev/zero. Don't make decisions for the host
115 based on presence or absence of /dev/zero on the build machine.
116 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
117 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
118 * configure: Regenerate.
120 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
122 * gcc.c (make_relative_prefix, split_directories)
123 (free_split_directories): Removed.
125 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
127 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
128 * configure: Regenerated.
130 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
132 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
133 length computation when xor.l is output.
135 2002-11-21 Jim Wilson <wilson@redhat.com>
137 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
140 2002-11-21 Bob Wilson <bob.wilson@acm.org>
142 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
143 * config/xtensa/xtensa.c (struct machine_function): Add
144 incoming_a7_copied flag.
145 (xtensa_copy_incoming_a7): Define.
146 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
147 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
149 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
151 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
152 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
153 x86_64_nonmemory_operand, x86_64_movabs_operand,
154 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
155 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
156 (local_symbolic_operand): Do not care the 64bit limits.
157 (x86_64_sign_extended_value): Remove allow_rip support.
158 (legitimate_pic_address_disp_p): Handle all cases allowed
160 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
161 (legitimize_pic_address): Reorganize.
162 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
164 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
166 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
167 * config/arm/netbsd-elf.h: New file.
169 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
171 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
172 subtarget_asm_float_spec.
173 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
175 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
177 2002-11-21 Nick Clifton <nickc@redhat.com>
179 * config/fr30/fr30.md (movsf_constant_store): Move code to
180 detect 0.0 into fr30.c.
181 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
183 * config/fr30/fr30.c (fr30_const_double_is_zero): New
184 function. Return true if the rtx is 0.0.
186 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
188 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
189 if -mlittle-endian is specified.
191 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
194 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
195 (anddi_notsesidi_di): Likewise.
197 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
199 * config/h8300/h8300.c (print_operand): Use
200 h8300_eightbit_constant_address_p and
201 h8300_tiny_constant_address_p.
202 (h8300_adjust_insn_length): Likewise.
203 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
204 (TINY_CONSTANT_ADDRESS_P): Likewise.
205 (OK_FOR_U): Use eightbit_constant_address_p.
207 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
209 * config/s390/libgcc-libc.ver: Add multilib support.
210 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
211 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
212 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
213 EXTRA_MULTILIB_PARTS): Define.
215 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
217 * arm.c (arm_get_frame_size): A leaf function does not need its
218 stack padding to an aligned boundary if it has no frame.
219 (thumb_get_frame_size): Likewise.
221 2002-11-20 Steve Ellcey <sje@cup.hp.com>
223 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
224 to component type using GET_MODE_INNER.
225 * expr.c (emit_move_insn_1): Ditto.
226 * optabs.c (expand_binop): Ditto.
227 (expand_unop): Ditto.
228 (expand_complex_abs): Ditto.
230 2002-11-20 Douglas B Rupp <rupp@gnat.com>
232 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
234 2002-11-20 DJ Delorie <dj@redhat.com>
236 * config/stormy16/stormy16.c (s16builtins,
237 xstormy16_init_builtins, xstormy16_expand_builtin): New.
238 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
240 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
242 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
243 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
244 (executing gencheck, genconfigs, genconditions, genflags,
245 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
246 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
247 gengtype, genprotos): Prepend $(RUN_GEN).
248 * configure.in: Move host compiler tests before --enable-checking
250 (--enable-checking=valgrind): New.
251 * config.in, configure: Regenerate.
252 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
254 (read_include_file): When doing the mmap+1 trick,
255 valgrind-annotate the byte after the mmap:ed area as readable.
256 (purge_cache): Remove above annotation.
257 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
258 VALGRIND_PATH -q to each command.
260 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
262 (ggc_realloc): Update valgrind annotations.
263 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
265 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
266 valgrind-annotate memory.
268 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
270 * recog.c (constrain_operands): Prefer exact match over reloadable
271 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
273 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
276 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
279 * c-decl.c (duplicate_decls): Outline the second definition
280 of an extern inline function in all cases.
282 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
284 * stor-layout.c (place_field): Update rli->offset as well as
287 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
289 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
291 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
293 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
294 into a libcall block.
295 (divsi3): Likewise divsi3_i4_media.
297 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
299 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
300 out another register.
302 2002-11-20 Jakub Jelinek <jakub@redhat.com>
304 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
305 (not just mask) are set in C.
307 2002-11-19 Andreas Jaeger <aj@suse.de>
309 * loop.c (record_giv): Initialize not_replaceable.
310 (check_final_value): Likewise.
312 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
314 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
317 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
319 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
320 only if -mh or -ms present.
321 (h8300_eightbit_constant_address_p): Support the normal mode.
322 (h8300_tiny_constant_address_p): Likewise.
323 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
324 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
325 (Pmode): Evaluate to HImode for the normal mode.
326 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
327 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
328 (ASM_WORD_OP): Evaluate to word for the normal mode.
329 * config/h8300/h8300.md (tablejump_normal_mode): New.
330 (indirect_jump_normal_mode): New.
331 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
333 (MULTILIB_DIRNAMES): Create target dependent directory
335 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
336 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
338 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
340 * i386.md (length_immediate): Do not refer to insn address.
341 (jcc*, jmp patterns): Compute length explicitly.
343 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
346 * optabs.c (expand_binop): Convert CONST_INTs in shift
349 2002-11-19 Roger Sayle <roger@eyesopen.com>
351 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
353 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
355 * config/h8300/h8300.md (an anonymous pattern): Relax the
356 condition to accept the same operands and/or subregs.
358 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
360 * config/sh/sh.c (gen_shl_and): Revert previous patch.
361 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
364 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
366 * config/h8300/h8300.c (print_operand): Update the use of
367 EIGHTBIT_CONSTANT_ADDRESS_P.
368 (h8300_adjust_insn_length): Likewise.
369 (h8300_eightbit_constant_address_p): Check if the given rtx is
370 a variable with __attribute__((eightbit_data)).
371 * config/h8300/h8300.h (OK_FOR_U): Update the use of
372 EIGHTBIT_CONSTANT_ADDRESS_P.
374 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
376 * doc/contrib.texi (Contributors): Add self as second contact in
377 addition to Jeff Law.
379 2002-11-19 Andreas Jaeger <aj@suse.de>
381 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
382 find_alloca_call to right place.
384 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
386 * cppfiles.c: Fix formatting.
388 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
390 * gcc.c (The Specs Language): Document spec functions.
391 (static_spec_functions, lookup_spec_function)
392 (eval_spec_function, handle_spec_function)
393 (if_exists_spec_function, alloc_args): New.
394 (execute): Abort if processing_spec_function is true.
395 (do_spec_1): Hand off spec to handle_spec_function if %:
396 is encountered. If processing_spec_function is true,
397 end any pending argument when the end of the string is reached.
398 (main): Use alloc_args to allocate the initial argument vector.
399 * gcc.h (struct spec_function): New.
400 (lang_specific_spec_functions): New extern.
402 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
403 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
404 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
406 * doc/invoke.texi: Document spec functions.
408 * cppspec.c (lang_specific_spec_functions): New.
409 * gccspec.c: Likewise.
411 2002-11-18 Steve Ellcey <sje@cup.hp.com>
413 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
414 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
415 (fixunstfsi_libfunc): Change.
416 (fixunstfdi_libfunc): Change.
417 (sdiv_optab): Don't zero out SImode handler.
418 (udiv_optab): Don't zero out SImode handler.
419 (smod_optab): Don't zero out SImode handler.
420 (umod_optab): Don't zero out SImode handler.
422 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
425 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
426 Add a new one in its place, which hopefully works.
427 (skip_rest_of_line): Change test for bottom-of-context-stack.
429 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
431 * i386.md (addqi_1_slp): Fix output template.
432 (subqi_1_slp): Fix type.
434 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
436 * calls.c (alloca_call_p): New global function.
437 * tree.h (alloca_call_p): New.
438 * tree-inline.c (inlinable_function_p): Do not inline when
439 function calls alloca.
440 (find_alloca_call, find_alloca_call_1): New functions.
442 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
444 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
445 bst. Update the insn length.
446 (*andorhi3): Likewise.
447 (*andorsi3): Likewise.
449 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
451 * config/sh/sh-protos.h (sh_mark_label): Declare.
452 * config/sh/sh.c (sh_mark_label): New function, taken from
453 movdi_const, but fixing the case when the address has an addend.
454 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
456 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
458 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
459 (add_constant): Set it.
460 (dump_table): Don't reorder a constant if part_of_sequence_p.
461 (machine_dependent_reorg): Assume that float constants will
462 stay in their original order if used as a sequence.
464 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
466 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
469 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
471 * config/sh/sh.md (initialize_trampoline): Do not force the
472 trampoline address into R0_REGS here.
474 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
476 * df.c: Fix formatting.
478 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
480 * config/h8300/h8300.md (two anonymous patterns): Fix insn
483 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
485 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
486 is not an arith_reg_operand.
488 2002-11-17 Graham Stott <graham.stott@btinternet.com>
490 * real.c (real_to_decimal): Fix buffer overrun when buffer size
491 is smaller than representation.
493 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
495 * builtins.c: Fix formatting.
497 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
499 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
501 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
503 * config/h8300/h8300.md: Fix formatting.
505 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
507 * config/h8300/h8300.md: Replace spaces with tabs.
508 * config/h8300/t-h8300: Remove a trailing empty line.
510 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
512 * tlink.c: Fix formatting.
514 2002-11-16 David Edelsohn <edelsohn@gnu.org>
517 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
518 * config/rs6000/rs6000.md (movti_string): Remove output modifier
519 when scratch register never needed.
520 (ldmsi[3-8]): New patterns.
522 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
524 * hard-reg-set.h: Follow spelling conventions.
526 * target.h: Likewise.
528 2002-11-16 Jakub Jelinek <jakub@redhat.com>
530 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
532 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
534 * optabs.c: Fix formatting.
536 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
538 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
539 * i386.md (attribute type): Add type shift1 and rotate1.
540 (*_slp): Rewrite to have just two operands to avoid reload problems.
542 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
544 * config/h8300/h8300.md (4 anonymous patterns): New.
546 2002-11-15 Geoffrey Keating <geoffk@apple.com>
548 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
549 * doc/invoke.texi: Correct description of what needs to be done to
550 force collection at every ggc_collect call.
552 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
554 * config/s390/s390.c (optimization_options): Set
555 flag_asynchronous_unwind_tables to 1 by default.
557 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
559 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
561 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
563 * i386-protos.h (x86_function_profiler): New function
564 * i386.h (MCOUNT_NAME): New.
565 (PROFILE_COUNT_REGISTER): New.
566 (FUNCTION_PROFILER): Move offline to ...
567 * i386.c (x86_function_profiler) ... here; fix 64bit support
568 * beos-elf.h (FUNCTION_PROFILER): Kill.
570 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
572 (PROFILE_COUNT_REGISTER): New.
573 * linux.h (FUNCTION_PROFILER): Kill.
575 * x86-64.h (FUNCTION_PROFILER): Kill.
577 * freebsd.h (FUNCTION_PROFILER): Kill.
580 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
582 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
583 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
584 * config/arm/arm.c (arm_va_arg,
585 arm_function_arg_pass_by_reference): New.
586 * config/arm/arm-protos.h: Add prototypes.
588 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
590 * gthr-single.h: Fix formatting.
592 2002-11-14 Zack Weinberg <zack@codesourcery.com>
594 * tree.c (tree_vec_elt_check_failed): New function.
595 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
596 (TREE_VEC_ELT): Use it.
598 * tree-inline.c (optimize_inline_calls): Don't copy a
601 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
603 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
605 2002-11-14 Jakub Jelinek <jakub@redhat.com>
607 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
608 both operands contain local relocations.
609 (categorize_decl_for_section): Don't use mergeable sections if
610 initializer has any relocations.
612 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
614 * gthr-vxworks.h: Fix formatting.
616 2002-11-13 Janis Johnson <janis187@us.ibm.com>
618 * doc/install.texi (Testing): Document extra Java testing.
619 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
621 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
623 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
624 beginning of the spec.
625 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
626 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
627 regarding problems with global constructors when using GNU ld.
629 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
631 * gthr-solaris.h: Fix formatting.
633 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
635 * gthr-posix.h: Fix formatting.
637 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
639 * config/h8300/h8300.md (*andorsi3): New.
641 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
643 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
645 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
647 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
648 expressions appropriately.
650 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
652 * gthr-win32.h: Fix formatting.
654 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
656 * config/h8300/h8300.c (single_one_operand): Correctly compute
657 mask when mode is SImode.
658 (single_zero_operand): Likewise.
659 * config/h8300/h8300.md (two new anonymous insns): New.
661 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
663 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
664 to that entire project.
666 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
668 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
671 2002-11-11 Zack Weinberg <zack@codesourcery.com>
673 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
674 * doc/invoke.texi: Document them.
676 * ggc-page.c: Include params.h. Remove definitions of
677 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
678 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
679 (init_gcc): Don't set G.allocated_last_gc here.
680 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
681 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
683 * ggc-simple.c: Similarly.
684 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
687 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
689 * gthr-dce.h: Fix formatting.
691 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
694 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
695 mode of DECL_RTL case.
697 2002-11-11 Janis Johnson <janis187@us.ibm.com>
699 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
701 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
703 * i386.c (construct_container): Fix handling of SSE_CLASS.
705 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
707 * config/m68k/t-crtstuff (crti.o): Use this...
708 ($(T)crti.o): ... instead.
709 (crtn.o): Use this...
710 ($(T)crtn.o): ... instead.
712 2002-11-09 Eric Botcazou <ebotcazou@libertysurf.fr>
715 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
716 if there is something new to be simplified.
718 2002-11-10 H.J. Lu <hjl@gnu.org>
720 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
721 * expr.c (PUSH_ARGS_REVERSED): Likewise.
723 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
725 2002-11-10 Zack Weinberg <zack@codesourcery.com>
727 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
728 * config/rs6000/linux.h, config/rs6000/linux64.h,
729 config/rs6000/windiss.h: ... not here.
731 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
733 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
734 __ABICALLS__ if TARGET_ABICALLS.
736 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
738 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
740 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
742 * c-decl.c (grokdeclarator): Make error for duplicate type
743 qualifiers into a pedwarn, disabled for C99.
745 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
747 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
748 as FUNCTION_ARG_PASS_BY_REFERENCE.
750 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
752 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
754 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
755 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
756 * pa.c (output_millicode_call): Use symbol difference rather than
757 $PIC_pcrel$0 when using HP assembler.
758 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
759 not elfos.h (i.e., gas) is being used.
760 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
761 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
762 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
763 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
764 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
766 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
767 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
768 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
770 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
771 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
772 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
773 Don't define when not using elfos.h.
774 (ASM_DECLARE_RESULT): Don't define.
775 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
776 doesn't work on hppa64-hp-hpux11.
777 (hppa*-hp-hpux11): Update.
779 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
781 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
782 to the assembler if -mno-abicalls was specified.
784 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
786 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
787 ASM_OUTPUT_DEF): Delete.
789 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
791 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
793 2002-11-08 Dale Johannesen <dalej@apple.com>
795 * dbxout.c (dbxout_type): Fix stabs info for vector types.
797 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
801 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
802 start a directive. In assembler, #NUM is not a line directive.
804 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
806 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
809 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
811 * config/h8300/h8300.md (two anonymous test insns): New.
813 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
815 * jump.c (mark_jump_label): Handle subregs of label_refs.
817 2002-11-07 David Mosberger <davidm@hpl.hp.com>
819 * config/ia64/crtend.asm: Include "auto-host.h".
820 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
821 * config/ia64/crtbegin.asm: Similarly.
822 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
823 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
825 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
826 * configure.in: Use it if --enable-initfini-array not specified.
827 * doc/install.texi (Configuration): Document --enable-initfini-array.
828 * configure, config.in: Rebuild.
830 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
832 * config/arm/arm-protos.h (arm_get_frame_size)
833 (thumb_get_frame_size): New prototypes.
834 * config/arm/arm.c (arm_get_frame_size)
835 (thumb_get_frame_size): New functions.
836 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
837 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
839 (thumb_expand_prologue, thumb_expand_epilogue): Use
840 thumb_get_frame_size.
841 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
842 (machine_function): Add frame_size member.
843 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
845 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
847 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
848 Adjust code to use portable unsigned bit manipulation.
849 (insn_flags, tune_flags): Change type to unsigned.
850 (struct processors): Make flags unsigned long.
851 (arm_override_options): Change type of count and current_bit_count
854 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
856 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
858 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
860 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
862 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
864 * reg-stack.c (compensate_edge): Fix sanity check.
866 2002-11-05 Geoffrey Keating <geoffk@apple.com>
868 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
869 crt2.o. Rearrange t-darwin makefiles.
870 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
871 * unwind-dw2-fde-darwin.c: New.
872 * unwind-dw2-fde-glibc.c: Correct comment.
873 * unwind-dw2-fde.c (__register_frame_info_bases)
874 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
875 (classify_object_over_fdes): Use last_fde.
876 (add_fdes): Likewise.
877 (linear_search_fdes): Likewise.
878 * unwind-dw2-fde.h (struct object)
879 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
881 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
882 (ENDFILE_SPEC): No crtend.o.
883 * config/t-darwin: New.
884 * config/i386/t-darwin: Delete.
885 * config/darwin-crt2.c: New.
886 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
889 2002-11-06 David Edelsohn <edelsohn@gnu.org>
892 * config/rs6000/rs6000.md (movdi_internal64): Discourage
895 2002-11-06 Janis Johnson <janis187@us.ibm.com>
897 * doc/contrib.texi: Merge in the list from the Java web pages.
899 2002-11-06 David O'Brien <obrien@FreeBSD.org>
901 * config/sparc/freebsd: Fix typo.
903 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
905 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
907 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
909 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
910 non-SImode addresses.
912 2002-11-05 Bob Wilson <bob.wilson@acm.org>
914 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
916 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
918 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
919 (STARTFILE_SPEC): Remove p and pg options.
921 2002-11-05 Andrew Haley <aph@redhat.com>
923 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
924 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
926 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
928 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
929 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
931 2002-11-04 Dale Johannesen <dalej@apple.com>
933 * doloop.c (doloop_modify_runtime): Fix loop count computation
935 * loop.c (loop_invariant_p): Support calling from unroller.
937 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
939 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
942 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
944 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
946 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
947 (CLASS_CANNOT_CHANGE_MODE): Remove.
948 (CANNOT_CHANGE_MODE_CLASS): New.
950 * config/alpha/alpha.h: Same.
952 * config/ia64/ia64.h: Same.
954 * config/mips/mips.h: Same.
956 * config/s390/s390.h: Same.
958 * config/sh/sh.h: Same.
960 * config/pa/pa64-regs.h: Same.
962 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
964 * config/sh/sh.c (sh_cannot_change_mode_class): New.
966 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
969 * config/mips/mips.c (mips_cannot_change_mode_class): New.
971 * doc/tm.texi (Register Classes): Remove
972 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
973 Document CANNOT_CHANGE_MODE_CLASS.
975 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
978 * simplify-rtx.c (simplify_subreg): Same.
980 * reload1.c (choose_reload_regs): Same.
982 * recog.c (register_operand): Same.
984 * regrename.c (mode_change_ok): Change to use new
985 CANNOT_CHANGE_MODE_CLASS infrastructure.
987 * regclass.c (cannot_change_mode_set_regs): New.
988 Declare subregs_of_mode.
989 (regclass): Use subregs_of_mode.
990 Remove references to reg_changes_mode.
991 (init_reg_sets_1): Remove class_can_change_mode and
992 reg_changes_mode code.
993 (invalid_mode_change_p): New.
994 (dump_regclass): Use invalid_mode_change_p instead of
995 class_can_change_mode.
997 (record_operand_costs): Do not set reg_changes_mode.
999 * local-alloc.c (struct qty): Remove changes_mode field.
1000 (alloc_qty): Remove changes_mode initialization.
1001 (update_qty_class): Remove set of changes_mode.
1002 (find_free_reg): Use subregs_of_mode.
1004 * global.c (find_reg): Use subregs_of_mode info.
1006 * rtl.h (cannot_change_mode_set_regs): New prototype.
1007 (invalid_mode_change_p): Same.
1008 (REG_CANNOT_CHANGE_MODE_P): New macro.
1010 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
1012 (life_analysis): Clear subregs_of_mode.
1014 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
1015 Remove use of CLASS_CANNOT_CHANGE_MODE.
1016 (simplify_set): Same.
1017 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
1020 * regs.h: Add extern for subregs_of_mode;
1021 Include hard-reg-set and basic-block.
1022 (REG_CHANGES_MODE): Delete.
1024 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
1026 * jump.c (never_reached_warning): Don't set contains_insn until the
1027 first line note is seen.
1029 2002-11-03 David Edelsohn <edelsohn@gnu.org>
1031 * config/rs6000/rs6000.md (movti_string): Use string instructions.
1033 2002-11-03 Roger Sayle <roger@eyesopen.com>
1036 * c-typeck.c (c_expand_asm_operands): Defend against
1037 error_mark_nodes in the output argument to avoid ICE.
1039 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1042 * genrecog.c (preds): Handle ADDRESSOF.
1043 (validate_pattern): Mark it as an lvalue.
1045 2002-11-02 David Edelsohn <edelsohn@gnu.org>
1047 * config/rs6000/rs6000.c (rs6000_override_options): Use string
1048 instructions when optimizing for size.
1050 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
1052 * config/h8300/h8300.h: Fix comment typos.
1053 * config/h8300/h8300.md: Likewise.
1054 * config/h8300/lib1funcs.asm: Likewise.
1056 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1060 *doc/install.texi (Installing GCC: Configuration): Clarify
1061 the only supported ways to configure gcc.
1063 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
1065 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
1066 instead of 'O' for the constraint for the second operand.
1068 2002-11-01 Mark Mitchell <mark@codesourcery.com>
1071 * toplev.c (rest_of_compilation): Do not refuse to output code for
1072 an inline function in a local class.
1074 2002-11-01 David O'Brien <obrien@FreeBSD.org>
1076 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
1077 (TRANSFER_FROM_TRAMPOLINE): Reformat.
1080 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
1082 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
1084 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1086 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
1088 2002-11-01 Steve Ellcey <sje@cup.hp.com>
1090 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
1091 (MASK_INLINE_DIV_THR): Remove.
1092 (TARGET_INLINE_DIV_LAT): Remove.
1093 (TARGET_INLINE_DIV_THR): Remove.
1094 (TARGET_INLINE_DIV): Remove.
1095 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
1096 (MASK_INLINE_FLOAT_DIV_THR): New macro.
1097 (MASK_INLINE_INT_DIV_LAT): New macro.
1098 (MASK_INLINE_INT_DIV_THR): New macro.
1099 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
1100 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
1101 (TARGET_INLINE_INT_DIV_LAT): New macro.
1102 (TARGET_INLINE_INT_DIV_THR): New macro.
1103 (TARGET_INLINE_FLOAT_DIV): New macro.
1104 (TARGET_INLINE_INT_DIV): New macro.
1105 * config/ia64/ia64.md (divsi3): Change to use new macros.
1109 (divsi3_internal): Ditto.
1114 (divdi3_internal_lat): Ditto.
1115 (divdi3_internal_thr): Ditto.
1117 (divsf3_internal_lat): Ditto.
1118 (divsf3_internal_thr): Ditto.
1120 (divdf3_internal_lat): Ditto.
1121 (divdf3_internal_thr): Ditto.
1123 (divtf3_internal_lat): Ditto.
1124 (divtf3_internal_thr): Ditto.
1125 * config/ia64/ia64.c (ia64_override_options): Change
1126 to check new macros for conflicts in settings.
1127 * doc/invoke.texi (-minline-divide-min-latency): Remove.
1128 (-minline-divide-max-throughput): Remove.
1129 (-minline-float-divide-min-latency): New.
1130 (-minline-float-divide-max-throughput): New.
1131 (-minline-int-divide-min-latency): New.
1132 (-minline-int-divide-max-throughput): New.
1134 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
1137 * arm.c (use_return_insn): Don't use a return insn if there are
1138 saved integer regs, but LR is not one of them.
1140 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
1142 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
1143 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
1145 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1147 PR optimization/6162
1148 * doc/md.texi: Document restriction on commutative operand
1151 2002-10-31 Eric Christopher <echristo@redhat.com>
1153 * explow.c (convert_memory_address): Use shallow_copy_rtx.
1155 2002-10-31 Steve Ellcey <sje@cup.hp.com>
1157 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
1159 2002-10-31 Steve Ellcey <sje@cup.hp.com>
1161 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
1163 Thu Oct 31 Dale Johannesen <dalej@apple.com>
1165 * config/rs6000/darwin.h: Correct formatting in previous.
1167 Thu Oct 31 Dale Johannesen <dalej@apple.com>
1169 * config/rs6000/darwin.h: Enable -falign-xxx options.
1171 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
1173 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
1174 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
1175 * i386.c (optimization_options): Set flag_omit_frame_pointer,
1176 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
1177 Do not clear -momit-leaf-frame-pointer when profiling.
1178 (ix86_frame_pointer_required): Frame pointer is always required when
1181 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
1183 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
1185 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
1187 * sh.h (binary_logical_operator): Declare.
1188 * sh.c (binary_logical_operator): New function.
1189 * sh.md (xordi3+1): New combiner splitter pattern.
1191 2002-10-31 David O'Brien <obrien@FreeBSD.org>
1193 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
1194 __enable_execute_stack function.
1196 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
1198 * c-common.c: Add GTY to vector_type_node_list.
1200 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
1202 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1203 * pa-protos.h (attr_length_millicode_call, attr_length_call,
1204 pa_init_machine_status): Declare new global functions.
1205 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
1206 implement new functions.
1207 (attr_length_millicode_call, attr_length_call): Implement.
1208 (total_code_bytes): Change type to long.
1209 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
1210 Reset counter if flag_function_sections.
1211 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
1212 (output_cbranch): Move call to gen_label_rtx.
1213 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
1214 delay slot in all variants, shorten pc-relative calls.
1215 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
1216 slot usage and exposure, various new call variants, and shortened
1217 sequences for some variants on TARGET_PA_20.
1218 Miscellaneous format changes.
1219 * pa.h (total_code_bytes): Change type to long.
1220 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
1221 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
1222 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
1223 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
1224 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
1225 stores on TARGET_ELF32.
1226 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
1227 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
1228 canonicalize_funcptr_for_compare expanders): Calculate attribute length
1229 attr_length_millicode_call().
1230 (call_internal_symref, call_value_internal_symref): Clobber register 1.
1231 Calculate attribute length using attr_length_call().
1232 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
1234 (sibcall, sibcall_value): Rewrite.
1235 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
1236 register 1. Use attr_length_call().
1237 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
1239 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
1240 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
1241 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
1242 * doc/invoke.texi (mlong-calls): Document.
1244 2002-10-30 Roger Sayle <roger@eyesopen.com>
1246 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
1247 handling of cases where one or both branches of the conditional
1248 have void type, i.e. throw an exception or don't return.
1249 (fold): Only apply (and undo) type conversion to the non-void
1250 branches of a COND_EXPR.
1252 2002-10-30 Mark Mitchell <mark@codesourcery.com>
1255 * varasm.c (asm_output_aligned_bss): Do not call
1256 ASM_GLOBALIZE_LABEL.
1258 2002-10-30 David Edelsohn <edelsohn@gnu.org>
1259 Torbjorn Granlund <tege@swox.com>
1261 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
1263 (load_toc_v4_PIC_1b): Same.
1265 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
1267 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1268 Truncate the addresses for H8/300 using HImode.
1270 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
1272 * toplev.c (rest_of_type_compilation): Return early in case of
1274 (check_global_declarations): Don't call debug_hooks->global_decl
1277 2002-10-28 Andreas Bauer <baueran@in.tum.de>
1279 * doc/c-tree.texi (Tree overview): Fix typos.
1281 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
1283 * Makefile.in (gnucompare*): Only record bad comparisons
1284 if there really was a bad comparison.
1286 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
1288 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
1289 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
1290 * md.texi (machine dependent constraints): Document 'C'
1292 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
1294 * i386.c (ix86_expand_vector_move): Fix.
1296 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
1297 * i386.md (sse2_maskmovdqu_rex64): New pattern
1300 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
1301 (ix86_init_mmx_sse_builtins): Fix type.
1303 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
1305 * gthr-posix.h: Include <unistd.h> for feature tests.
1306 (sched_get_priority_max, sched_get_priority_min)
1307 (pthread_getschedparam, pthread_setschedparam): Only use
1308 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
1309 (__gthread_objc_thread_set_priority): Don't treat all non-zero
1310 returns from sched_get_priority_max and sched_get_priority_min
1313 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1315 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
1318 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1320 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
1321 (h8300_tiny_constant_address_p): Likewise.
1322 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
1323 h8300_eightbit_constant_address_p.
1324 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
1325 * config/h8300/h8300-protos.h: Add the prototypes for the two
1328 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1330 * reload1.c (update_eliminables): Unconditionally check if
1331 frame_pointer_needed has changed.
1333 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
1335 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
1338 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1340 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
1341 check for zero operands explicitly.
1343 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
1345 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
1346 memory after adjusting to BLKmode.
1348 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
1350 * config/h8300/h8300.h (MASK_*): New.
1351 (TARGET_*): Use MASK_*.
1353 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
1355 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
1356 tm_defines if pthreads are enabled.
1357 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
1358 if NETBSD_ENABLE_PTHREADS is defined.
1360 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
1362 * ChangeLog.1: Fix typos.
1363 * cse.c: Fix a comment typo.
1364 * reload1.c: Likewise.
1366 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
1368 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
1369 * fixinc/tests/base/_G_config.h: New file.
1371 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
1373 * combine.c: Fix comment formatting.
1376 * regclass.c: Likewise.
1377 * regmove.c: Likewise.
1378 * regrename.c: Likewise.
1379 * reg-stack.c: Likewise.
1380 * reload1.c: Likewise.
1381 * reload.c: Likewise.
1382 * reload.h: Likewise.
1383 * unroll.c: Likewise.
1385 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
1387 * reload1.c (reload): Fix a comment typo.
1389 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
1391 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
1393 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1395 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
1396 * dwarf2out.c: Include hashtab.h.
1397 (is_main_source): New static variable.
1398 (attr_checksum, die_checksum): Modified to handle die references.
1399 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
1400 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
1401 record_comdat_symbol_number): New static functions.
1402 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
1403 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
1404 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
1407 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
1409 * config/h8300/h8300.c (initial_offset): Change to
1410 h8300_initial_elimination_offset.
1411 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
1412 h8300_initial_elimination_offset.
1413 * config/h8300/h8300-protos.h: Update the prototype.
1415 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
1417 * config/mmix/mmix.h (LIBCALL_VALUE): Use
1418 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
1419 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
1420 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
1421 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
1423 (mmix_function_value_regno_p): Declare.
1425 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
1426 invalid for floating point mode result, with fix.
1428 2002-10-25 Mike Stump <mrs@apple.com>
1430 Fixes gcc.dg/warn-1.c.
1431 * c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
1433 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
1435 * toplev.c (dump_file_index): Add DFI_ce3.
1436 (dump_file_info): Likewise.
1437 (rest_of_compilation): Run first ifcvt pass before tracer.
1439 2002-10-25 Steve Ellcey <sje@cup.hp.com>
1441 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
1443 2002-10-25 Richard Henderson <rth@redhat.com>
1445 * real.c (real_to_decimal): If the >1 tens reduction loop results
1446 in a negative exponent, fall into the <1 pten computation.
1448 2002-10-25 Zack Weinberg <zack@codesourcery.com>
1451 * c-objc-common.c (inline_forbidden_p): Can not inline
1452 functions containing structures or unions containing VLAs.
1453 * tree-inline.c (walk_tree): For all class 't' nodes, walk
1454 TYPE_SIZE and TYPE_SIZE_UNIT.
1455 (copy_tree_r): Copy types if they are variably modified.
1457 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
1459 * config/s390/s390.md: Remove old-style peepholes.
1461 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
1463 * config/s390/s390.c (s390_decompose_address): Do not range check the
1464 displacement if base or index is the argument pointer register.
1466 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1471 * fixinc/inclhack.def (libc1_G_va_list): New fix.
1472 * fixinc/fixincl.x: Regenerate.
1473 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
1474 ifndef IN_LIBGCC2. Wrap it together with signal.h and
1475 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
1476 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
1477 * config.in, configure: Regenerate.
1479 2002-10-24 Igor Shevlyakov <igor@microunity.com>
1481 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
1483 2002-10-24 Richard Henderson <rth@redhat.com>
1485 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
1487 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1489 * config/h8300/h8300.c (initial_offset): Simplify by using
1492 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
1494 * doc/install.texi (avr): Update required binutils version.
1496 2002-10-24 Theodore A. Roth <troth@openavr.org>
1498 * doc/install.texi: Point avr users at more up-to-date information.
1500 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1502 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
1503 to pull operands out of the literal pool where possible.
1505 2002-10-24 Denis Chertykov <denisc@overta.ru>
1507 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
1509 2002-10-24 Steve Ellcey <sje@cup.hp.com>
1511 * expr.c (convert_move): If unsignedp is less then zero there
1512 is no equivalent code.
1514 2002-10-24 Zack Weinberg <zack@codesourcery.com>
1516 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
1518 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1520 * config/s390/s390.h: Rework comments; re-sort target macro definitions
1521 according to the sequence they are defined in the manual.
1522 (POINTER_BOUNDARY): Remove.
1524 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1526 * config/h8300/h8300.c (round_frame_size): Replace 8 with
1529 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
1531 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
1533 (TINY_CONSTANT_ADDRESS_P): Likewise.
1535 2002-10-24 Richard Henderson <rth@redhat.com>
1537 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1538 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
1541 2002-10-24 Richard Henderson <rth@redhat.com>
1544 * reload.c (find_reloads_toplev): Mode of X is not important
1545 when simplifying subregs of constants.
1547 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
1549 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
1550 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
1551 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
1552 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
1553 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
1555 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
1557 * optabs.c (expand_binop): Don't reuse the shift target in the
1558 middle of shift sequences.
1560 2002-10-23 Ziemowit Laski <zlaski@apple.com>
1562 * objc/objc-act.c (get_static_reference): Remove unneeded
1563 TYPE_BINFO initialization.
1564 (get_object-reference): Likewise.
1565 (build_constructor): Tighten precondition check.
1566 (finish_message_expr): Likewise.
1568 2002-10-23 Jakub Jelinek <jakub@redhat.com>
1570 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
1573 2002-10-23 Steve Ellcey <sje@cup.hp.com>
1575 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
1578 2002-10-23 Richard Henderson <rth@redhat.com>
1580 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1581 (alpha_output_mi_thunk_osf): Handle vcall_offset.
1583 2002-10-23 Zack Weinberg <zack@codesourcery.com>
1585 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1587 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
1588 hook_tree_bool_false.
1590 * tree.c (variably_modified_type_p): Moved here from
1591 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
1592 language-specific cases. Due to this, must weaken some 'if
1593 and only if' checks to merely 'if'.
1594 * tree.h: Prototype variably_modified_type_p.
1596 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
1598 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
1600 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
1601 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
1603 * config/s390/s390-protos.h (fp_operand): Remove.
1604 * config/s390/s390.c (fp_operand): Remove.
1605 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
1606 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
1607 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
1608 (movdi_31, movdf_31 splitters): Likewise.
1610 * config/s390/s390.h (IEEE_FLOAT): Remove.
1611 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
1612 (INT_REGNO_P): Rename to ...
1613 (GENERAL_REGNO_P): ... this.
1614 (FLOAT_REGNO_P): Rename to ...
1615 (FP_REGNO_P): ... this.
1616 (ADDR_REGNO_P): New macro.
1617 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
1618 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
1619 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
1620 (HARD_REGNO_NREGS): Adapt to macro renaming.
1621 (HARD_REGNO_MODE_OK): Likewise.
1623 2002-10-23 David Edelsohn <edelsohn@gnu.org>
1624 Geoff Keating <geoffk@apple.com>
1626 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
1627 (rs6000_memory_move_cost): New function.
1628 * config/rs6000/rs6000-protos.h: Declare them.
1629 * config/rs6000/rs6000.h: Use them.
1631 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
1633 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1634 inlining it into other libgcc2 routines.
1635 (__udivmoddi4): Likewise.
1637 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
1639 * doc/sourcebuild.texi (Test Suites): Improve.
1641 2002-10-22 Stan Shebs <shebs@apple.com>
1643 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
1646 2002-10-22 Jim Wilson <wilson@redhat.com>
1648 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
1650 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1653 * xmmintrin.h: Add const to the argument of loads.
1655 * i386.md (pushv2di): New pattern.
1657 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
1659 2002-10-22 Richard Henderson <rth@redhat.com>
1661 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
1662 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
1663 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
1664 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1665 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1666 (TARGET_ASM_OUT): Update.
1667 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
1668 (hook_bool_tree_hwi_hwi_tree_true): New.
1669 (default_can_output_mi_thunk_no_vcall): New.
1670 * hooks.h: Declare them.
1671 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
1673 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1674 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
1675 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
1676 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
1677 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
1678 config/stormy16/stormy16.c: Similarly.
1680 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
1681 Handle 64-bit properly. Streamline.
1682 (x86_output_mi_vcall_thunk): Remove.
1683 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
1684 (x86_can_output_mi_thunk): New.
1685 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1686 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1687 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
1689 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
1690 output_mi_thunk; make static; always use function_section.
1691 (TARGET_ASM_OUTPUT_MI_THUNK): New.
1692 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1693 (rs6000_ra_ever_killed): Test no_new_pseudos not
1694 targetm.asm_out.output_mi_thunk in conjunction with thunks.
1695 * config/rs6000/rs6000-protos.h: Update.
1696 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1697 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
1698 xcoffout_declare_function when using rs6000_output_mi_thunk.
1700 * config/s390/s390.c (s390_output_mi_thunk): Rename from
1701 s390_output_mi_vcall_thunk.
1702 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1703 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1705 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
1706 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1707 * config/vax/vax-protos.h: Update.
1708 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
1710 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
1712 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
1713 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
1714 * i386.md (movti_internal): Use 'C'
1716 * xmmintrin.h (_mm_cmplt_epi*): New.
1718 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
1720 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
1721 ("*movdf_64"): Likewise.
1722 ("*lshrdi3_64"): Likewise.
1723 ("blockage"): Add length attribute.
1726 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
1728 * i386.md: FIx typo.
1729 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
1730 (sse2_umulv2siv2di3): Fix predicate.
1731 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
1732 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
1733 * xmmintrin.h (_mm_mul_epu16): Rename to...
1734 (_mm_mul_epu32): This one.
1735 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
1737 (contains_128bit_aligned_vector_p): Undo accidental checkin.
1739 2002-10-22 Eric Christopher <echristo@redhat.com>
1741 * config/sparc/sparc.h: Add #error.
1743 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
1745 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
1746 [s390x-*-linux*]: Likewise.
1747 * config/s390/t-linux: Remove.
1748 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
1750 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
1752 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
1753 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
1754 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
1755 * i386.md (mmx_punpck?dq): Simplify.
1756 (sse2_pubpcklqdq): Fix.
1757 (sse2_pubpckhqdq): New.
1758 * xmmintrin.h (_mm_unpackhi_epi32): New.
1760 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
1761 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
1763 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
1766 * fold_const.c (fold_binary_op_with_conditional_arg): Always
1767 build compound_expr if we used save_expr.
1769 2002-10-22 Alan Modra <amodra@bigpond.net.au>
1771 * output.h (SECTION_NOTYPE): Define.
1772 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
1773 init array sections.
1774 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
1775 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
1778 2002-10-21 Richard Henderson <rth@redhat.com>
1780 * real.c (sticky_rshift_significand): Return inexact, don't
1781 or it in immediately.
1782 (sub_significands): Accept incomming carry.
1783 (div_significands, rtd_divmod): Update for sub_significands change.
1784 (round_for_format): Update for sticky_rshift_significand change.
1785 (do_add): Don't involve the inexact bit in addition, do give the
1786 inexact bit as the subtraction carry-in.
1787 (encode_internal, decode_internal, real_internal_format): New.
1788 * real.h (real_internal_format): Declare.
1790 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1792 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
1793 don't define sdiv_qrnnd.
1795 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
1797 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
1799 (TINY_CONSTANT_ADDRESS_P): Likewise.
1801 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1803 * i386.c (builtin_description): Add punpcklqdq and movdq2q
1804 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
1805 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
1806 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
1807 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
1808 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
1809 __builtin_ia32_setzero128.
1810 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
1811 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
1812 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
1813 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
1814 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
1815 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
1816 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
1817 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
1818 sse2_movq): New patterns.
1819 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
1820 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
1821 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
1822 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
1823 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
1824 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
1825 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
1826 (_mm_insert_epi16): Fix.
1828 2002-10-21 Dale Johannesen <dalej@apple.com>
1830 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
1831 unsafe math reversals correctly for RTL generation.
1832 (output_cbranch): Replace rs6000_reverse_condition call
1833 by its former definition.
1835 2002-10-21 Jakub Jelinek <jakub@redhat.com>
1837 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
1838 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
1839 from constant pool or LABEL_REFs as sign extended if allow_rip.
1840 Change all +-1GB limits to +-16MB.
1841 (x86_64_general_operand, x86_64_szext_general_operand,
1842 x86_64_nonmemory_operand, x86_64_movabs_operand,
1843 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1844 legitimate_address_p, ix86_expand_int_movcc): Update callers.
1845 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
1846 in CM_SMALL_PIC model.
1847 (legitimate_pic_address_disp_p): Don't check offsets before
1848 calling local_symbolic_operand.
1849 (legitimize_pic_address): Force offsets bigger than +-16MB into
1851 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
1852 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
1855 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
1856 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
1857 * configure: Rebuilt.
1858 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
1859 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
1860 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
1861 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
1863 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
1864 non-pic code if TARGET_64BIT.
1865 (legitimize_address): Generate 64-bit TLS sequences.
1866 (output_pic_addr_const): Support x86-64 TLS operators.
1867 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
1868 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
1869 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
1870 (output_addr_const_extra): Support x86-64 TLS operators.
1871 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
1872 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
1874 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
1875 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
1876 (*tls_global_dynamic_sun): Renamed to...
1877 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
1878 (tls_global_dynamic): Renamed to...
1879 (tls_global_dynamic_32): ... this.
1880 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
1881 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
1882 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
1883 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
1884 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
1885 (tls_local_dynamic_base_dynamic): Renamed to...
1886 (tls_local_dynamic_base_dynamic_32): ... this.
1887 (tls_local_dynamic_base_dynamic_64,
1888 *tls_local_dynamic_base_dynamic_64): New.
1889 (*tls_local_dynamic_once): Renamed to...
1890 (*tls_local_dynamic_32_once): ... this.
1892 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1894 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
1895 __divdi3, __umoddi3, or __moddi3.
1897 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1899 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
1900 instead of just opt_index as switch expression.
1902 * calls.c (store_one_arg): Change type of 'excess_align'
1905 * profile.c (output_gcov_string): Change type of 'temp'
1908 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1910 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
1911 (__fixunssfdi, __fixsfdi): Likewise.
1912 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
1913 (s390_single_qi): Likewise.
1914 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
1915 unsigned comparison warning.
1916 (s390_return_addr_rtx): New function.
1917 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
1918 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
1919 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
1921 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
1923 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
1924 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
1925 (s390_output_mi_thunk): Remove.
1926 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1928 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
1930 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
1932 2002-10-20 Richard Henderson <rth@redhat.com>
1934 * target.h (struct gcc_target): Line wrap.
1936 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
1937 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
1938 * config/alpha/alpha.h: ... not here.
1939 * config/alpha/alpha-protos.h: Update.
1941 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
1942 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
1943 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
1944 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
1945 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
1946 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
1947 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
1948 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
1949 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
1950 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
1951 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1952 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
1953 config/sparc/sparc.c, config/sparc/sparc.h,
1954 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
1955 config/stormy16/stormy16.h: Similarly.
1957 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
1958 selection logic from call patterns.
1960 2002-10-20 Mark Mitchell <mark@codesourcery.com>
1962 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
1964 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1967 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
1968 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
1969 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
1970 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
1972 2002-10-20 Roger Sayle <roger@eyesopen.com>
1975 * toplev.c (flag_unsafe_profile_arcs): Remove.
1976 (flag_bounded_pointers): Remove.
1977 (flag_bounds_check): Correct comments.
1978 (lang_independent_options): Remove -funsafe-profile-arcs and
1979 -fbounded-pointers. Correct -fbounds-check comments.
1981 * flags.h: Correct flag_schedule_interblock comments.
1982 (flag_bounded_pointers): Remove prototype.
1983 (flag_bounds_check): Correct comments.
1985 * c-opts.c (c_common_init_options): No need to mark
1986 flag_bounds_check as unspecified.
1987 (c_common_post_options): And no need to set it from
1988 flag_bounded_pointers if its still unspecified.
1990 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
1991 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
1992 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
1993 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
1995 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1996 Mark Mitchell <mark@codesourcery.com>
1998 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
2000 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
2001 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
2002 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
2003 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
2004 x86_output_mi_thunk): Likewise.
2005 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
2006 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
2007 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
2008 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
2009 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
2010 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
2011 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
2013 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
2015 * target.h (gcc_target): Update output_mi_thunk and
2016 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
2019 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
2020 TARGET_ASM_OUTPUT_MI_THUNK in comments.
2021 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
2022 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
2023 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
2024 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
2026 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
2027 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
2028 TARGET_ASM_OUTPUT_MI_THUNK in comments.
2029 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
2030 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
2031 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
2032 TARGET_ASM_OUTPUT_MI_THUNK in comments.
2033 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
2034 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
2036 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
2037 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
2039 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
2041 * real.c (do_add): Fix 0+0 sign corner case.
2042 (do_divide): Fix Inf/0 corner case.
2044 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
2046 * i386.c (classify_argument): Pass MMX arguments in memory
2047 (ix86_expand_builtin): Expand proper address mode for cflush.
2048 * i386.md (movdqa): Fix typo.
2049 (sse2_cflush): Accept DImode addresses.
2051 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
2052 (_mm_max_sd): Fix pasto.
2053 (_mm_storeh_pd, _mm_storel_pd): Fix.
2055 * i386.c (bdesc_comi): Fix to match specification.
2056 (ix86_expand_sse_comi): Emit the comparison properly.
2057 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
2058 Do not use comparison operator.
2059 (vnmaskcmp): Fix template.
2061 * xmmintrin.h (_mm_cvtps_pi16): Fix.
2063 2002-10-19 Sebastian Pop <s.pop@laposte.net>
2065 * dependence.c : Removed.
2066 * Makefile.in : Remove dependence.o.
2068 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
2070 * mmintrin.h (__m64): typedef it to v2si.
2071 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
2072 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
2073 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
2074 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
2075 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
2076 * xmmintrin.h (_mm_setzero_si64): Likewise.
2078 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
2079 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
2082 Patch by Shawn Wagner
2083 * mmintrin.h: Replace pi64 by si64.
2085 2002-10-18 David Edelsohn <edelsohn@gnu.org>
2087 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
2088 Use length of 4 not *.
2089 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
2090 (movdf_softfloat64): Likewise.
2091 (movdi_internal32): Use length of 4 not *.
2092 (movti_power): Same.
2093 (ctrsi, ctrdi): Same.
2095 2002-10-18 Zack Weinberg <zack@codesourcery.com>
2097 * c-decl.c (start_decl): Point users of the old initialized-
2098 typedef extension at __typeof__.
2100 2002-10-18 Richard Henderson <rth@redhat.com>
2102 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
2103 (real_to_decimal): Re-implement using the logic from the
2104 gcc 3.2 etoasc. Comment heavily.
2105 (div_significands): Simplify loop startup and comparison logic.
2107 2002-10-18 Mark Mitchell <mark@codesourcery.com>
2109 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
2110 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
2111 (TARGET_ASM_OUT): Add them.
2112 * target.h (asm_out): Add output_mi_thunk and
2113 output_mi_vcall_thunk.
2114 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2115 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2116 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
2117 * config/arm/arm.c (arm_output_mi_thunk): Define.
2118 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2119 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2120 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2121 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2122 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2123 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2124 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
2126 (x86_output_mi_vcall_thunk): Declare.
2127 * config/i386/i386.c (override_options): Clear
2128 output_mi_vcall_thunk in 64-bit mode.
2129 (ix86_fntype_regparm): New function.
2130 (ix86_return_pops_args): Use it.
2131 (ia32_this_parameter): New function.
2132 (x86_output_mi_vcall_thunk): New function.
2133 (x86_output_mi_thunk): Use it
2134 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
2135 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
2136 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
2137 * config/i960/i960.c (i960_output_mi_thunk): New function.
2138 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
2139 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
2140 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
2141 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2142 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2143 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
2144 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2145 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2146 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2147 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2148 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2149 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2150 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2151 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2152 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2153 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2154 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
2155 * config/s390/s390.c (s390_output_mi_thunk): Define.
2156 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2157 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2158 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2159 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2160 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2161 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2162 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
2163 * config/vax/vax.c (vax_output_mi_thunk): Define.
2164 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2165 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2166 * doc/tm.texi: Adjust documentation.
2168 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
2170 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
2171 __enable_execute_stack function.
2172 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2173 as NETBSD_ENABLE_EXECUTE_STACK.
2174 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2175 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2176 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2177 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2178 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2180 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
2182 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
2183 to __enable_execute_stack with the address of the trampoline
2184 if TRANSFER_FROM_TRAMPOLINE is defined.
2185 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
2186 constant if building libgcc2.
2188 2002-10-17 Roger Sayle <roger@eyesopen.com>
2190 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
2192 2002-10-17 Geoffrey Keating <geoffk@apple.com>
2194 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
2196 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
2198 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
2199 (movsf_softfloat): Likewise.
2201 2002-10-17 Janis Johnson <janis187@us.ibm.com>
2203 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
2205 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
2207 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
2208 tramp, not addr, to pass the trampoline address to
2209 __enable_execute_stack.
2211 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
2213 * mmintrin.h: Guard by __MMX__
2214 * xmmintrin.h: Guard by __SSE__
2217 * xmmintrin.h (_MM_SHUFFLE2): New macro.
2218 (_mm_load*_?d): New functions.
2219 (_mm_set*_?d): New functions.
2220 (_mm_store*_?d): New functions.
2222 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
2224 Really commit patch announced at Oct 14
2226 * predict.c (can_predict_insn_p): New function.
2227 (estimate_probability): Avoid unnecesary work.
2228 (process_note_prediction): Likewise.
2229 * toplev.c (rest_of_compilation): Account early branch prediction pass
2233 Found by Ian Ollmann
2234 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
2235 (_mm_load?_pd): Likewise.
2236 (_mm_store?_pd): Likewise.
2239 * i386.c (builtin_description):Drop cmpg[te]s[sd].
2240 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
2241 swapped alternative.
2244 * reload1.c (reload_inner_reg_of_subreg): New argument output;
2245 (push_reload): Update call.
2247 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
2249 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
2250 if using mips/elf.h or mips/elf64.h.
2251 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
2252 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
2254 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
2256 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
2259 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
2261 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
2262 (LPREFIX): Likewise.
2263 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
2264 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2265 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
2266 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
2267 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
2269 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
2270 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
2271 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2272 BSS_SECTION_ASM_OP): Move from linux.h.
2273 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2274 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2276 * config/s390/s390.c (s390_function_profiler): Use
2277 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2279 2002-10-15 Richard Henderson <rth@redhat.com>
2281 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
2282 as arguments. Bound DIGITS by the available buffer size.
2283 (real_to_hexadecimal): Likewise.
2284 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
2285 (REAL_VALUE_TO_DECIMAL): Remove.
2286 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
2287 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
2288 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
2289 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
2290 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
2291 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
2292 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
2293 use real_to_decimal directly, and with the proper arguments.
2294 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
2296 2002-10-15 Jim Wilson <wilson@redhat.com>
2298 * reload1.c (merge_assigned_reloads): After converting overlapping
2299 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
2301 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
2303 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
2305 * expr.c (do_tablejump): Fix typo in my previous commit.
2307 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
2309 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
2311 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
2313 * config/s390/s390.c (s390_split_branches): Add return
2314 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
2316 (find_base_register_in_addr): New function.
2317 (find_base_register_ref): New function.
2318 (replace_base_register_ref): New function.
2320 (struct constant_pool): Add members pool_insn, insns, and anchor.
2321 Remove member last_insn.
2322 (s390_start_pool): Initialize them.
2323 (s390_end_pool): Emit pool placeholder insn.
2324 (s390_add_pool_insn): New function.
2325 (s390_find_pool): Use insns bitmap instead of addresses.
2326 (s390_dump_pool): Replace placeholder insn. Emit anchor.
2327 Replace unspec 104 by local-pool-relative references.
2328 (s390_output_constant_pool): Output anchor label if required.
2329 (s390_output_symbolic_const): Handle unspec 104 and 105.
2330 (s390_add_pool): Remove, replace by ...
2331 (s390_add_constant, s390_find_constant): ... these new functions.
2332 (s390_add_anchor): New function.
2334 (s390_chunkify_pool): Delete, replace by ...
2335 (s390_chunkify_start, s390_chunkify_finish,
2336 s390_chunkify_cancel): ... these new functions.
2337 (s390_optimize_prolog): Add parameter TEMP_REGNO.
2338 Recompute register live data for special registers.
2339 (s390_fixup_clobbered_return_reg): New function.
2340 (s390_machine_dependent_reorg): Rewrite to use new
2341 s390_chunkify_... routines.
2343 config/s390/s390.md ("reload_base"): Rename to ...
2344 ("reload_base_31"): ... this.
2345 ("reload_base_64"): New insn.
2346 ("reload_base2"): Remove.
2347 ("reload_anchor"): New insn.
2350 s390.c (s390_pool_overflow): Remove.
2351 s390.h (s390_pool_overflow): Likewise.
2352 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
2354 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
2356 * sh.md (movv8qi_i+2): Don't split if source is -1.
2358 2002-10-15 Janis Johnson <janis187@us.ibm.com>
2360 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
2362 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
2365 * loop.c (loop_regs_scan): Mark registers used for function
2366 argument passing as MAY_NOT_OPTIMIZE.
2368 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2370 * i386.md (movv2di_internal): New pattern.
2371 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
2372 (movv2di): New expander.
2373 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
2375 * i386.c (ix86_expand_timode_binop_builtin): Delete.
2376 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
2377 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
2378 (ix86_expand_builtin): Likewise.
2379 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2381 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2383 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
2385 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
2387 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
2388 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
2389 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
2390 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2391 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
2392 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2394 * xmmintrin.h (__m128i): Define as __v2di.
2397 (expand_expr): Use DECL_RTL_SET_P.
2399 2002-10-14 Roger Sayle <roger@eyesopen.com>
2401 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
2403 2002-10-14 Roger Sayle <roger@eyesopen.com>
2404 Zack Weinberg <zack@codesourcery.com>
2406 * config/i386/i386.c (k6_cost): Correct typo.
2408 2002-10-14 Mark Mitchell <mark@codesourcery.com>
2410 PR optimization/6631
2411 * alias.c (objects_must_conflict_p): Check honor_readonly when
2412 examining TYPE_READONLY.
2413 * function.c (assign_stack_temp_for_type): Likewise.
2415 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2417 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
2418 Swap zero extension arguments.
2419 (umaxhi3): Fix instruction class.
2421 (prefetch): Fix prefetch instructions.
2423 (pkwb): Fix output constraint.
2425 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
2427 * config/mips/mips.c (print_operand): Increase buffer size for
2430 2002-10-14 Richard Henderson <rth@redhat.com>
2433 * gcse.c (adjust_libcall_notes): Revert last change.
2434 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
2436 2002-10-14 Andrew Haley <aph@redhat.com>
2438 * tree-inline.c (remap_block): All local class initialization
2439 flags go in the outermost scope.
2440 (expand_call_inline): Call java_inlining_map_static_initializers.
2441 (expand_call_inline): Call java_inlining_merge_static_initializers.
2442 * java/lang.c (merge_init_test_initialization): New.
2443 (java_inlining_merge_static_initializers): New.
2444 (inline_init_test_initialization): New.
2445 (java_inlining_map_static_initializers): New.
2447 * tree-inline.c (expand_call_inline): Convert retvar to expected
2450 2002-10-14 Graham Stott <graham.stott@btinternet.com>
2452 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
2454 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
2456 * stmt.c: Fix typo in comment.
2458 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
2460 * c-common.c (c_common_type_for_mode): Add V2HImode case.
2461 * tree.c (build_common_tree_nodes_2): Initialize
2462 unsigned_V2HI_type_node and V2HI_type_node.
2463 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
2464 (unsigned_V2HI_type_node, V2HI_type_node): Define.
2466 2002-10-14 Jakub Jelinek <jakub@redhat.com>
2468 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
2469 Handle TARGET_64BIT.
2471 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2473 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
2474 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
2475 (MULTILIB_DIRNAMES): Remove long32.
2476 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
2477 (MULTILIB_REDUNDANT_DIRS): Remove.
2479 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2481 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
2482 * gcc.c (driver_self_specs): New variable.
2483 (do_self_spec): New function.
2484 (main): Use it to process driver_self_specs.
2486 2002-10-13 Richard Henderson <rth@redhat.com>
2488 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
2490 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
2492 PR preprocessor/7862
2493 PR preprocessor/8190
2494 * gcc.c (cpp_unique_options): Don't delete .d files.
2495 Remove stray whitespace.
2497 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
2499 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
2500 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2501 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
2502 (pdp11_output_function_epilogue, output_ascii): Likewise.
2503 (output_addr_const_pdp11): Likewise.
2504 * pdp11.md (movdi): Use offsetable memory for floating store.
2505 (lshrsi3, negsi2): Delete irrelevant comment.
2507 2002-10-11 Geoffrey Keating <geoffk@apple.com>
2509 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
2510 not the address of the REG.
2511 (struct cse_reg_info): Make subreg_ticked unsigned.
2513 2002-10-11 Janis Johnson <janis187@us.ibm.com>
2515 * doc/compat.texi: Add info about C++ libraries.
2517 2002-10-11 Richard Henderson <rth@redhat.com>
2520 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
2522 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2524 * cfganal.c (dfs_enumerate_from): Use PARAMS.
2525 * genautomata.c (output_insn_code_cases): Likewise.
2526 * real.c (real_format): Likewise.
2527 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
2528 ensure value is promoted before doing subtraction.
2530 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
2532 * calls.c (expand_call): Simplify noreturn call.
2535 * cfgbuild.c (make_edges): Create edge cache when we do have
2537 * expr.c (do_tablejump): Note size of maximal jumptable.
2538 * function.c (prepare_function_start): Zero out size.
2539 * function.h (function): Add max_jumptable_ents.
2541 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
2543 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
2545 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
2546 register for mperm_w operation.
2548 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
2550 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
2551 an integer, use simplify_gen_subreg.
2553 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
2555 * extend.texi (Vector Extensions): Remove comment about single
2558 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2560 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
2561 * function.c (insns_for_mem_hash): Likewise.
2562 * varasm.c (STRHASH): Likewise.
2564 2002-10-10 Stuart Hastings <stuart@apple.com>
2566 * cse.c (struct cse_reg_info): Add subreg_ticked.
2567 (SUBREG_TICKED): New.
2568 (get_cse_reg_info): Initialize SUBREG_TICKED.
2569 (mention_regs): Use it.
2570 (invalidate): Set SUBREG_TICKED.
2571 (invalidate_for_call): Likewise.
2572 (addr_affects_sp_p): Likewise.
2574 2002-10-10 Jakub Jelinek <jakub@redhat.com>
2576 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
2577 into proper operand.
2579 2002-10-10 Denis Chertykov <denisc@overta.ru>
2581 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
2583 * config/ip2k/libgcc.S: Combine routines used by function
2586 2002-10-10 Jim Wilson <wilson@redhat.com>
2588 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
2591 2002-10-10 David Edelsohn <edelsohn@gnu.org>
2593 * config/rs6000/aix52.h: New file.
2594 * config/rs6000/t-aix52: New File.
2595 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
2596 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
2598 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2601 * invoke.texi (-msse-math): Kill
2602 (-msse): Add note to mfpmath=sse.
2604 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
2607 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
2609 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
2611 PR preprocessor/8179
2612 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
2614 (default_compilers): Pass debug options when preprocessing
2617 2002-10-06 Richard Henderson <rth@redhat.com>
2619 * toplev.c (rest_of_compilation): Revert opt/2960 change.
2621 2002-10-09 Zack Weinberg <zack@codesourcery.com>
2624 * c-decl.c (start_decl): Unconditionally issue error for
2625 'typedef foo = bar'.
2626 (finish_decl): Remove special case for TYPE_DECL with initializer.
2628 * doc/extend.texi: Delete "Naming Types" section. Change all
2629 cross-references to that section to refer to "Typeof" instead.
2630 Add the useful safe-max()-macro example from "Naming Types" to
2631 "Typeof", rewritten using that extension. Add some compatibility
2634 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2636 * loop.c: Revert 2002-08-15 change.
2637 (LOOP_REGNO_NREGS): Ensure type is int.
2639 2002-10-09 David Edelsohn <edelsohn@gnu.org>
2641 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
2642 which copies first FPR and clears second.
2643 (extendsftf2): Same.
2644 (floatditf2): Fix typo.
2646 (fix_trunctfdi2): Same.
2647 (fix_trunctfsi2): Same.
2649 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2651 * conflict.c (arc_hash): Change return type to hashval_t.
2652 * cselib.c (get_value_hash): Likewise.
2653 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
2654 state_hash, automata_list_hash): Likewise.
2655 * read-rtl.c (def_hash): Likewise.
2656 * tree.c (type_hash_hash): Likewise.
2658 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
2660 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
2661 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
2663 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
2665 * sh.md (ffssi2): Fix emitted code.
2667 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
2669 * cse.c (insn_live_p): Pass insn pattern, not full insn
2672 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
2674 * cppmacro.c (paste_tokens): Only allow / to paste with =.
2676 2002-10-09 David Edelsohn <edelsohn@gnu.org>
2678 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
2680 (movtf_internal): Reference correct displacement for second value
2682 (movtf splitter): Correct generation of constants in 64-bit mode.
2684 2002-10-09 Alan Modra <amodra@bigpond.net.au>
2686 * libgcc2.c (__floatdisf): Properly cure double rounding.
2688 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
2690 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
2691 * doc/cpp.texi (Common Predefined Macros): Document.
2693 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
2696 * doc/invoke.texi (Option Summary): List
2697 -Wmissing-declarations as a C only option.
2699 2002-10-08 Jakub Jelinek <jakub@redhat.com>
2701 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
2702 mno-app-regs|mcmodel=medany.
2703 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
2704 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
2705 (CRTSTUFF_T_CFLAGS): Define.
2707 2002-10-08 Roger Sayle <roger@eyesopen.com>
2710 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
2711 pool references that are constructed using LO_SUM.
2713 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
2715 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
2717 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
2719 * flags.h (warn_strict_aliasing): Declare.
2720 * toplev.c (warn_strict_aliasing): Define.
2721 (lang_independent_options): Add it.
2722 * doc/invoke.texi (-Wstrict-aliasing): Document it.
2724 2002-10-08 Zack Weinberg <zack@codesourcery.com>
2726 * system.h (GCCBUGURL): Delete.
2727 * version.c (bug_report_url): New. Add commentary about
2728 modifying both these strings in modified distributions.
2729 * version.h: Declare bug_report_url.
2731 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
2734 2002-10-08 Nick Clifton <nickc@redhat.com>
2736 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
2737 convert uint64_t into __ev64_opaque__.
2738 (__ev_set_acc_s64): Likewise, but using signed types.
2740 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2742 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
2743 ("*doloop_di_long"): Likewise.
2745 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
2747 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
2749 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
2751 * config/mips/mips.md (define_attr cpu): Add r4111.
2753 2002-10-08 Anthony Green <green@redhat.com>
2755 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
2757 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2759 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
2760 for REAL_VALUE_TO_DECIMAL output.
2762 2002-10-07 David Edelsohn <edelsohn@gnu.org>
2764 * config/rs6000/rs6000.c (rs6000_override_options): Set
2765 real_format_for_mode for IBM extended format, if enabled.
2766 (easy_fp_constant): Add TFmode.
2767 (rs6000_legitimize_address): Add TFmode.
2768 (rs6000_legitimate_address): Same.
2769 (function_arg_advance): TFmode uses two FPRs.
2770 (rs6000_emit_prologue): Fix warning.
2771 (rs6000_output_function_epilogue): Add TFmode.
2772 (output_toc): Add TFmode.
2773 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
2774 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
2775 * rs6000.md (movtf splitter): Load TFmode constant.
2777 2002-10-07 Dale Johannesen <dalej@apple.com>
2779 * rtl.h: Add NOTE_PRECONDITIONED.
2781 * loop.c: Set loop_info->preconditioned from it.
2782 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
2784 2002-10-07 Richard Henderson <rth@redhat.com>
2786 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
2787 new rtx for comparing the argument pointer against zero.
2788 (i960_va_start): Similarly.
2790 2002-10-07 Richard Henderson <rth@redhat.com>
2792 * config/i960/i960.md (*): Use TFmode, not XFmode.
2793 * config/i960/i960.c (*): Likewise.
2794 (i960_arg_size_and_align): Remove XFmode alignment hack.
2795 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
2796 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
2797 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
2798 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
2800 2002-10-07 Richard Henderson <rth@redhat.com>
2802 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
2803 entry points; use void return value and argument list.
2805 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
2807 * t-pdp11: Add MULTILIB support for msoft-float.
2808 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
2810 * t-pdp11: Add LIB2FUNCS_EXTRA.
2811 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
2812 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
2813 'fldd' to 'ldd', rename 'fstd' to 'std'.
2814 (pdp11_output_function_epilogue): Likewise.
2815 (output_move_quad): Make the comment gas compatible.
2816 (output_ascii): Add preceding 0 to the octal constant.
2817 (print_operand_address): Add pre_modify, post_modify.
2818 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
2819 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
2820 with the indication of Paul Koning.
2821 (PRINT_OPERAND): Fix floating constant.
2822 * pdp11.md (movdi): Restrict matching pattern.
2823 (movqi): Generalize the matching pattern.
2824 (movdf): Restrict matching pattern.
2825 (zero_extendqihi2): Change constant representation.
2826 (floatsidf2): Fix wrong operands.
2827 (addqi3): Fix wrong instruction name.
2828 (subqi3): Fix wrong instruction name.
2829 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
2830 (xorsi3): Fix wrong insn.
2831 (one_cmplqi2): Add two operand pattern.
2834 (call): Add register indirect case.
2835 (mod): Fix wrong subreg.
2837 2002-09-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2838 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2841 * expr.c (expand_expr) [PLUS]: Simplify after the operands
2842 have been expanded in EXPAND_NORMAL mode.
2844 2002-10-06 Richard Henderson <rth@redhat.com>
2846 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
2848 2002-10-06 Richard Henderson <rth@redhat.com>
2850 PR optimization/2960
2851 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
2854 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
2856 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
2857 previously definitions.
2859 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
2861 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
2862 * c-opts.c (find_opt): Similarly.
2864 2002-10-05 Jakub Jelinek <jakub@redhat.com>
2866 * gcc.c (set_multilib_dir): Don't access *end.
2867 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
2868 (print_multilib_info): Don't show paths starting with ".:".
2869 * genmultilib: Add new option, "yes" if multilibs are enabled.
2870 Update comments. If multilibs not enabled, print .:${osdirout}
2871 for each directory. If multilibs are enabled, always print
2872 ${dirout}:${osdirout}, even if the two are the same.
2873 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
2874 Pass all MULTILIB_* variables to genmultilib even if
2875 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
2877 2002-10-04 Bruce Korb <bkorb@gnu.org>
2879 * fixinc/inclhack.def(hpux11_abs): use format fix
2880 * fixinc/fixincl.x: regenerate
2881 * fixinc/tests/base/stdlib.h: accommodate new fix test
2883 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
2885 * c-common.c (cb_register_builtins): Use really_no_inline.
2887 2002-10-04 David Edelsohn <edelsohn@gnu.org>
2889 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
2890 copied instruction if the note is not loop invariant.
2892 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
2894 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
2896 2002-10-04 Steve Ellcey <sje@cup.hp.com>
2898 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
2899 and -mhp-ld options to list of options. Add -mgnu-ld
2900 and -mhp-ld option descriptions.
2902 2002-10-04 Steve Ellcey <sje@cup.hp.com>
2904 * fixinc/inclhack.def (hpux11_abs): New.
2905 (stdio_va_list): change __va_list__ to __gnuc_va_list.
2906 * fixinc/fixincl.x: Rebuild.
2908 2002-10-04 Roger Sayle <roger@eyesopen.com>
2910 * config/i386/i386.h (processor_costs): Add new fields fadd,
2911 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
2912 (RTX_COSTS): Use these fields to determine the RTX costs
2913 of floating point addition/subtraction, multiplication,
2914 division, fabs, negation and square root respectively.
2915 * config/i386/i386.c (size_cost): Provide instruction sizes
2916 for these new fields.
2917 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
2918 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
2919 counts for these new fields for all x86 processor variants.
2921 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2923 * mips.c (mips_const_double_ok): Delete unused variable.
2925 * gengtype.c (rtx_next): Change type to int.
2927 2002-10-04 Andreas Jaeger <aj@suse.de>
2929 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
2931 2002-10-04 Richard Henderson <rth@redhat.com>
2933 * real.h (SIGNIFICAND_BITS): Add one more word.
2934 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
2935 * real.c (times_pten): New.
2936 (real_to_decimal, real_from_string): Use it.
2937 (sticky_rshift_significand): Use & to find modulus.
2938 (rshift_significand, lshift_significand): Likewise.
2939 (do_divide): Apply sticky bit after normalization.
2940 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
2942 2002-10-03 Andreas Jaeger <aj@suse.de>
2944 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
2945 to unsigned long, adjust printf format string.
2946 (output_mangled_typename): Likewise.
2948 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
2950 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
2951 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
2952 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
2953 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
2954 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
2955 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
2956 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
2957 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
2959 2002-10-03 Mark Mitchell <mark@codesourcery.com>
2961 * doc/invoke.texi (-Wabi): Document mangling bug.
2963 2002-10-04 Alan Modra <amodra@bigpond.net.au>
2965 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
2966 name for the tbtab label that depends on the function asm name.
2967 Don't output tbtab label unless optional_tbtab.
2968 (output_mi_thunk): Formatting.
2970 2002-10-03 Richard Henderson <rth@redhat.com>
2972 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
2973 * config/m68k/m68k.c (override_options): ... here.
2974 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
2975 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
2976 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2977 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2979 2002-10-03 Richard Henderson <rth@redhat.com>
2981 * real.h (struct real_value): Use ENUM_BITFIELD.
2983 2002-10-03 Richard Henderson <rth@redhat.com>
2985 * config/i960/i960.md (call, call_value): Use emit_call_insn.
2987 2002-10-03 Steve Ellcey <sje@cup.hp.com>
2989 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
2991 2002-10-03 Steve Ellcey <sje@cup.hp.com>
2993 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
2994 * config/pa/pa.h (MASK_GNU_LD): New.
2995 (TARGET_GNU_LD): New.
2996 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
2997 on gnu-ld and MASK_GNU_LD.
2998 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
3000 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
3002 * i386.c (athlon_cost): Fix the move costs.
3004 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
3006 * final.c (final): Use symbol name as function name for profiling.
3007 * profile.c (get_exec_counts): Likewise.
3008 (branch_prob): Likewise.
3010 2002-10-03 Jakub Jelinek <jakub@redhat.com>
3012 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
3014 2002-10-03 Jakub Jelinek <jakub@redhat.com>
3016 * gcc.c (print_multi_os_directory): New variable.
3017 (option_map): Support --print-multi-os-directory.
3018 (struct prefix_list): Add os_multilib field.
3019 (multilib_os_dir): New variable.
3020 (static_specs): Add multilib_options.
3021 (find_a_file): Add multilib argument. Search in GCC or OS multilib
3022 subdirs if non-zero.
3023 (read_specs, execute): Update callers.
3024 (find_file): Likewise. Don't prefix name with multilib_dir, instead
3025 pass 1 as multilib option.
3026 (display_help): Include --print-multi-os-directory.
3027 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
3028 (process_command): Update callers. Handle --print-multi-os-directory.
3029 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
3031 (main): Update find_a_file and add_prefix callers.
3032 Handle print_multi_os_directory.
3033 (struct mdswitchstr): New.
3034 (mdswitches, n_mdswitches): New variables.
3035 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
3036 present on the command line nor their mutually incompatible
3038 (default_arg): Optimize.
3039 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
3041 (print_multilib_info): Only print GCC multilib dir name, not OS
3043 * genmultilib: Add osdirnames parameter. Output multilib_options
3044 variable. If osdirnames is specified, output dirnames as
3046 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
3047 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
3048 to compute libgcc_s soname and install path.
3049 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
3050 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
3051 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
3054 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
3055 (SHLIB_SLIBDIR_SUFFIXES): Remove.
3056 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
3057 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
3058 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
3060 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
3061 (SHLIB_SLIBDIR_SUFFIXES): Remove.
3062 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
3063 (STARTFILE_ARCH_SPEC): Remove.
3064 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
3065 (SHLIB_SLIBDIR_SUFFIXES): Remove.
3066 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
3067 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
3068 (SHLIB_SLIBDIR_SUFFIXES): Remove.
3070 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
3072 * predict.c (choose_function_section): Avoid choice for linkonce functions.
3074 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
3076 * i386.md (lea to mul peep2): Fix condition.
3078 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3080 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
3081 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
3083 2002-10-02 Richard Henderson <rth@redhat.com>
3086 * config/i386/i386.c (ix86_register_move_cost): Increase cost
3087 for secondary_memory_needed pairs.
3089 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
3091 * doc/vms.texi: Blow away false include file section.
3093 2002-10-02 Roger Sayle <roger@eyesopen.com>
3095 PR optimization/6627
3096 * toplev.c (force_align_functions_log): New global variable.
3097 * flags.h (force_align_functions_log): Add extern prototype.
3098 * varasm.c (assemble_start_function): Use it to force minimum
3100 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
3101 minimum function alignment to one byte.
3102 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
3103 the least significant bit of vtable member function pointers.
3104 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
3105 here from cp/cp-tree.h.
3107 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
3109 * i386.c (print_operand_address): Use RIP addressing for offsetted
3112 2002-09-30 David S. Miller <davem@redhat.com>
3115 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
3116 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
3118 2002-10-01 Roger Sayle <roger@eyesopen.com>
3120 * unroll.c (loop_iterations): Revert 2002-09-08 change.
3122 2002-10-01 Richard Henderson <rth@redhat.com>
3124 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
3125 (real_to_hexadecimal): Likewise.
3126 * print-rtl.c (print_rtx): If we are linked with real.c, don't
3127 dump the XWINT fields of a floating point CONST_DOUBLE.
3129 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
3131 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
3133 2002-10-01 Richard Henderson <rth@redhat.com>
3135 * calls.c (precompute_register_parameters): Force non-legitimate
3136 constants into pseudos.
3138 2002-10-01 Nick Clifton <nickc@redhat.com>
3140 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
3141 to assembler template.
3143 2002-10-01 Richard Henderson <rth@redhat.com>
3145 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
3146 for TLS debug info to !DECL_EXTERNAL.
3148 2002-10-01 Matt Thomas <matt@3am-software.com>
3149 Jason Thorpe <thorpej@wasabisystems.com>
3151 * config.gcc (vax-*-netbsdelf*): Enable configuration.
3152 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
3153 if not already defined.
3154 * config/vax/elf.h: New file.
3155 * config/vax/netbsd-elf.h: New file.
3156 * config/vax/vax.c: Include "debug.h".
3157 (vax_output_function_prologue): Add dwarf2 support. Use
3158 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
3159 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
3160 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
3161 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
3162 (VAX_ISTREAM_SYNC): Remove.
3163 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
3164 (JUMP_TABLES_IN_TEXT_SECTION): Define.
3165 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
3166 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
3168 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3169 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
3170 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
3171 (INCOMING_RETURN_ADDR_RTX): Define.
3172 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
3173 (VUNSPEC_SYNC_ISTREAM): Define.
3174 (blockage): Use VUNSPEC_BLOCKAGE.
3175 (sync_istream): New insn.
3177 2002-10-01 Richard Henderson <rth@redhat.com>
3179 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
3180 (*call_value_pop, call, call_value): Add dwarf2 EH support.
3183 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
3186 * c-typeck.c (build_c_cast): Warn about type punning which breaks
3187 type based aliasing.
3189 2002-10-01 Mark Mitchell <mark@codesourcery.com>
3191 * stor-layout.c (update_alignment_for_field): New function.
3192 (place_union_field): Use it.
3193 (place_field): Likewise.
3195 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
3198 * gcc.c (cc1_options): Add space on -auxbase-strip.
3200 2002-10-01 Jim Wilson <wilson@redhat.com>
3202 * config/v850/v850.h (EPILOGUE_USES): Define.
3204 2002-09-30 Andrew Haley <aph@redhat.com>
3206 * flow.c (insn_dead_p): When using non-call-exceptions, don't
3207 eliminate insns that may trap.
3208 * cse.c (insn_live_p): Likewise.
3210 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3212 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
3213 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
3214 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
3215 * config/mips/mips.md: Apply same renaming here.
3217 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3219 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
3220 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
3221 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
3222 * config/mips/mips.md (define_attr cpu): Remove r4320.
3223 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
3225 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3227 * config/mips/mips.c (mips16_strings): New variable.
3228 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
3229 symbol in mips16_strings. Free the list.
3230 (mips_encode_section_info): Keep track of local strings.
3232 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3234 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
3235 (sordered_df, sordered_sf): Remove.
3236 * config/mips/mips.c (get_float_compare_codes): New fn.
3237 (gen_int_relational, gen_conditional_move): Use it.
3239 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
3241 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
3242 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
3243 * config/mips/mips.c (fcc_register_operand): New function.
3244 (mips_emit_fcc_reload): New function, extracted from reload_incc.
3245 (override_options): Allow TFmode values in float registers
3247 * cnfig/mips/mips.md (reload_incc): Change destination prediate
3248 to fcc_register_operand. Remove misleading source constraint.
3249 Use mips_emit_fcc_reload.
3250 (reload_outcc): Duplicate reload_incc.
3252 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3254 * longlong.h: Partially synchronize with GMP-4.1 version:
3255 Use i370 definitions also for s390.
3256 Add generic definition of umul_ppmm in terms of smul_ppmm.
3257 [s390] (umul_ppmm): Remove.
3258 [s390] (smul_ppmm): Fix incorrect assembler constraints.
3259 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
3261 2002-09-30 Bob Wilson <bob.wilson@acm.org>
3263 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3264 Add new RL_REGS register class.
3265 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
3266 Call xtensa_preferred_reload_class for both input and output reloads.
3267 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
3268 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
3269 instead of either AR_REGS or GR_REGS classes.
3270 (xtensa_secondary_reload_class): Use new RL_REGS class.
3271 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
3273 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3275 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
3276 (pa_strip_name_encoding): Strip '@' and '*', in that order.
3277 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
3278 there is a '*' prefix in NAME.
3280 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
3282 * reload.c (push_reload): Handle subregs and secondary memory.
3283 * reload1.c (gen_reload): Likewise.
3285 * jump.c (reg_or_subregno): New function.
3286 * rtl.h (reg_or_subregno): Declare
3287 * unroll.c (find_splittable_givs): Handle subregs.
3289 2002-09-30 Mark Mitchell <mark@codesourcery.com>
3291 * store-layout.c (finish_record_layout): Add free_p parameter.
3292 (layout_type): Pass it.
3293 * tree.h (finish_record_layout): Update prototype.
3295 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
3297 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
3299 * gcse.c (cprop_jump): Check that the register has not
3301 (cprop_jump): Likewise.
3303 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
3305 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
3306 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
3307 that we have a SImode access, and only then if reload hasn't completed;
3308 for all other cases, use LO_REGS.
3310 2002-09-29 Richard Henderson <rth@redhat.com>
3312 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
3314 2002-09-29 Richard Henderson <rth@redhat.com>
3317 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
3320 2002-09-29 David Edelsohn <edelsohn@gnu.org>
3322 * real.h (ibm_extended_format): Declare.
3323 * real.c (encode_ibm_extended, decode_ibm_extended): New
3326 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3328 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
3330 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
3332 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3334 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
3336 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
3338 * builtins.def: Fix comment formatting.
3339 * c-common.def: Likewise.
3340 * cfgcleanup.c: Likewise.
3341 * combine.c: Likewise.
3342 * gengtype.c: Likewise.
3343 * params.def: Likewise.
3344 * predict.def: Likewise.
3345 * rtl.def: Likewise.
3346 * stab.def: Likewise.
3347 * stor-layout.c: Likewise.
3348 * tree.def: Likewise.
3349 * config/darwin.c: Likewise.
3350 * config/darwin.h: Likewise.
3351 * config/dbxcoff.h: Likewise.
3352 * config/elfos.h: Likewise.
3353 * config/fp-bit.c: Likewise.
3354 * config/freebsd-spec.h: Likewise.
3355 * config/interix.h: Likewise.
3356 * config/libgloss.h: Likewise.
3357 * config/linux-aout.h: Likewise.
3358 * config/linux.h: Likewise.
3359 * config/lynx-ng.h: Likewise.
3360 * config/lynx.h: Likewise.
3361 * config/netbsd-aout.h: Likewise.
3362 * config/netbsd.h: Likewise.
3363 * config/netware.h: Likewise.
3364 * config/psos.h: Likewise.
3365 * config/ptx4.h: Likewise.
3367 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
3369 * ChangeLog.4: Fix typos.
3370 * ChangeLog.6: Likewise.
3371 * FSFChangeLog.10: Likewise.
3372 * genattrtab.c: Fix comment typos.
3373 * haifa-sched.c: Likewise.
3376 * config/arm/arm.c: Likewise.
3377 * config/arm/crti.asm: Likewise.
3378 * config/arm/crtn.asm: Likewise.
3379 * config/frv/frv.c: Likewise.
3380 * config/frv/frv.md: Likewise.
3381 * config/h8300/h8300.md: Likewise.
3382 * config/i386/rtemself.h: Likewise.
3383 * config/ia64/unwind-ia64.c: Likewise.
3384 * config/ip2k/ip2k.h: Likewise.
3385 * config/m88k/m88k.c: Likewise.
3386 * config/m88k/m88k.md: Likewise.
3387 * config/mips/sr71k.md: Likewise.
3388 * config/mmix/mmix.c: Likewise.
3389 * config/rs6000/rs6000.c: Likewise.
3390 * config/sh/sh.md: Likewise.
3392 2002-09-26 Theodore A. Roth <troth@verinet.com>
3394 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
3395 * config/avr/avr.md: Ditto.
3397 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
3399 PR preprocessor/8055
3400 * cppmacro.c (stringify_arg): Do not overflow the buffer
3401 with the terminating NUL when the argument to be stringified
3404 2002-09-27 Richard Henderson <rth@redhat.com>
3406 * unroll.c (simplify_cmp_and_jump_insns): New.
3407 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
3408 instead of expand_simple_foo.
3410 2002-09-27 Richard Henderson <rth@redhat.com>
3412 PR optimization/7520
3413 * cfganal.c (flow_active_insn_p): New.
3414 (forwarder_block_p): Use it.
3416 2002-09-27 Richard Henderson <rth@redhat.com>
3418 * emit-rtl.c (active_insn_p): Revert last change.
3420 2002-09-27 Jakub Jelinek <jakub@redhat.com>
3422 * doc/extend.texi (tls_model): Document.
3423 * varasm.c (decl_tls_model): New.
3424 * c-common.c (handle_tls_model_attribute): New.
3425 (c_common_attribute_table): Add tls_model.
3426 * config/alpha/alpha.c (alpha_encode_section_info): Use
3428 * flags.h (enum tls_model, flag_tls_default): Move...
3429 * tree.h (enum tls_model, flag_tls_default): ...here.
3430 (decl_tls_model): New prototype.
3431 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
3432 * config/i386/i386.c (ix86_encode_section_info): Likewise.
3433 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
3436 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
3438 * LANGUAGES: Follow spelling conventions.
3439 * rtl.def: Likewise.
3440 * sbitmap.c: Likewise.
3441 * sched-int.h: Likewise.
3442 * sched-rgn.c: Likewise.
3443 * sibcall.c: Likewise.
3444 * simplify-rtx.c: Likewise.
3446 * stab.def: Likewise.
3448 * stor-layout.c: Likewise.
3449 * target.h: Likewise.
3450 * timevar.c: Likewise.
3451 * toplev.c: Likewise.
3452 * tree-dump.c: Likewise.
3453 * tree-inline.c: Likewise.
3455 * tree.def: Likewise.
3457 * unroll.c: Likewise.
3458 * varasm.c: Likewise.
3459 * vmsdbgout.c: Likewise.
3460 * treelang/treelang.texi: Likewise.
3461 * treelang/treetree.c: Likewise.
3463 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
3465 * config/h8300/h8300.c (compute_saved_regs): Use a macro
3466 instead of a hard register number.
3467 (get_shift_alg): Use an enumerated type instead of numbers.
3468 (h8300_shift_needs_scratch_p): Likewise.
3470 2002-09-26 David S. Miller <davem@redhat.com>
3472 PR optimization/7335
3473 * calls.c (emit_library_call_value_1): Passing args by reference
3474 converts a CONST function into a PURE one.
3476 2002-09-26 David Edelsohn <edelsohn@gnu.org>
3478 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
3480 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
3482 * config/rs6000/rs6000.c (rs6000_override_options): Allow
3483 function-sections and data-sections functionality on AIX.
3485 2002-09-26 David Edelsohn <edelsohn@gnu.org>
3486 Dale Johannesen <dalej@apple.com>
3488 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
3489 in RTL for sub-word loads from memory.
3491 2002-09-26 Richard Henderson <rth@redhat.com>
3494 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
3497 2002-09-26 Richard Henderson <rth@redhat.com>
3499 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
3501 2002-09-26 Chris Lattner <sabre@nondot.org>
3503 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
3504 handling undefined values.
3506 2002-09-26 Richard Henderson <rth@redhat.com>
3509 * emit-rtl.c (active_insn_p): Consider a clobber of the
3510 function return value to be active even after reload.
3512 2002-09-27 Alan Modra <amodra@bigpond.net.au>
3514 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
3515 by absolute loop increment, not loop increment.
3517 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
3519 * c-common.h: Follow spelling conventions.
3520 * cpplex.c: Likewise.
3521 * cpplib.h: Likewise.
3522 * gthr-dce.h: Likewise.
3523 * gthr-posix.h: Likewise.
3524 * optabs.c: Likewise.
3525 * output.h: Likewise.