OSDN Git Service

cf02ad6a463eca36330bbf9494b44006853f4826
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2
3         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4         * configure: Regenerated.
5
6 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
9         length computation when xor.l is output.
10
11 2002-11-21  Jim Wilson  <wilson@redhat.com>
12
13         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
14         vectors to SI.
15
16 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
17
18         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
19         * config/xtensa/xtensa.c (struct machine_function): Add
20         incoming_a7_copied flag.
21         (xtensa_copy_incoming_a7): Define.
22         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
23         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
24
25 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
26
27         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
28         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
29         x86_64_nonmemory_operand, x86_64_movabs_operand, 
30         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
31         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
32         (local_symbolic_operand): Do not care the 64bit limits.
33         (x86_64_sign_extended_value): Remove allow_rip support.
34         (legitimate_pic_address_disp_p): Handle all cases allowed
35         with RIP addressing.
36         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
37         (legitimize_pic_address): Reorganize.
38         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
39
40 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
41
42         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
43         * config/arm/netbsd-elf.h: New file.
44
45 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
46
47         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
48         subtarget_asm_float_spec.
49         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
50         defaults from...
51         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
52
53 2002-11-21  Nick Clifton  <nickc@redhat.com>
54
55         * config/fr30/fr30.md (movsf_constant_store): Move code to
56         detect 0.0 into fr30.c.
57         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
58         Prototype.
59         * config/fr30/fr30.c (fr30_const_double_is_zero): New
60         function.  Return true if the rtx is 0.0.
61
62 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
63
64         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
65         if -mlittle-endian is specified.
66
67 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
68
69         PR optimization/2903
70         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
71         (anddi_notsesidi_di): Likewise.
72
73 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
74
75         * config/h8300/h8300.c (print_operand): Use
76         h8300_eightbit_constant_address_p and
77         h8300_tiny_constant_address_p.
78         (h8300_adjust_insn_length): Likewise.
79         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
80         (TINY_CONSTANT_ADDRESS_P): Likewise.
81         (OK_FOR_U): Use eightbit_constant_address_p.
82
83 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
84
85         * config/s390/libgcc-libc.ver: Add multilib support.
86         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
87         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
88         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC, 
89         EXTRA_MULTILIB_PARTS): Define.
90
91 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
92
93         * arm.c (arm_get_frame_size): A leaf function does not need its
94         stack padding to an aligned boundary if it has no frame.
95         (thumb_get_frame_size): Likewise.
96
97 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
98
99         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
100         to component type using GET_MODE_INNER.
101         * expr.c (emit_move_insn_1): Ditto.
102         * optabs.c (expand_binop): Ditto.
103         (expand_unop): Ditto.
104         (expand_complex_abs): Ditto.
105
106 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
107
108         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
109
110 2002-11-20  DJ Delorie  <dj@redhat.com>
111
112         * config/stormy16/stormy16.c (s16builtins,
113         xstormy16_init_builtins, xstormy16_expand_builtin): New.
114         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
115
116 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
117
118         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
119         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
120         (executing gencheck, genconfigs, genconditions, genflags,
121         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
122         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
123         gengtype, genprotos): Prepend $(RUN_GEN).
124         * configure.in: Move host compiler tests before --enable-checking
125         tests.
126         (--enable-checking=valgrind): New.
127         * config.in, configure: Regenerate.
128         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
129         Define as empty.
130         (read_include_file): When doing the mmap+1 trick,
131         valgrind-annotate the byte after the mmap:ed area as readable.
132         (purge_cache): Remove above annotation.
133         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
134         VALGRIND_PATH -q to each command.
135
136         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
137         Define as empty.
138         (ggc_realloc): Update valgrind annotations.
139         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
140         Define as empty.
141         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
142         valgrind-annotate memory.
143
144 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
145
146         * recog.c (constrain_operands): Prefer exact match over reloadable
147         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
148
149         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
150         operands in Pmode.
151
152 2002-11-20 ¬†Eric Botcazou ¬†<ebotcazou@libertysurf.fr>
153
154         PR c/8518
155         * c-decl.c (duplicate_decls): Outline the second definition
156         of an extern inline function in all cases.
157
158 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
159
160         * stor-layout.c (place_field): Update rli->offset as well as
161         rli->bitpos.
162
163 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
164
165         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
166
167 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
168
169         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
170         into a libcall block.
171         (divsi3): Likewise divsi3_i4_media.
172
173 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
174
175         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
176         out another register.
177
178 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
179
180         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
181         (not just mask) are set in C.
182
183 2002-11-19  Andreas Jaeger  <aj@suse.de>
184
185         * loop.c (record_giv): Initialize not_replaceable.
186         (check_final_value): Likewise.
187
188 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
189
190         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
191         MASK_H8300S.
192
193 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
194
195         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
196         only if -mh or -ms present.
197         (h8300_eightbit_constant_address_p): Support the normal mode.
198         (h8300_tiny_constant_address_p): Likewise.
199         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
200         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
201         (Pmode): Evaluate to HImode for the normal mode.
202         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
203         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
204         (ASM_WORD_OP): Evaluate to word for the normal mode.
205         * config/h8300/h8300.md (tablejump_normal_mode): New.
206         (indirect_jump_normal_mode): New.
207         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
208         directory.
209         (MULTILIB_DIRNAMES): Create target dependent directory
210         'normal'.
211         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
212         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
213
214 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
215
216         * i386.md (length_immediate): Do not refer to insn address.
217         (jcc*, jmp patterns):  Compute length explicitly.
218
219 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
220
221         PR c/8588
222         * optabs.c (expand_binop): Convert CONST_INTs in shift
223         operations too.
224
225 2002-11-19  Roger Sayle  <roger@eyesopen.com>
226
227         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
228
229 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
230
231         * config/h8300/h8300.md (an anonymous pattern): Relax the
232         condition to accept the same operands and/or subregs.
233
234 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
235
236         * config/sh/sh.c (gen_shl_and): Revert previous patch.
237         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
238         reload_completed.
239
240 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
241
242         * config/h8300/h8300.c (print_operand): Update the use of
243         EIGHTBIT_CONSTANT_ADDRESS_P.
244         (h8300_adjust_insn_length): Likewise.
245         (h8300_eightbit_constant_address_p): Check if the given rtx is
246         a variable with __attribute__((eightbit_data)).
247         * config/h8300/h8300.h (OK_FOR_U): Update the use of
248         EIGHTBIT_CONSTANT_ADDRESS_P.
249
250 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
251
252         * doc/contrib.texi (Contributors): Add self as second contact in
253         addition to Jeff Law.
254
255 2002-11-19  Andreas Jaeger  <aj@suse.de>
256
257         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
258         find_alloca_call to right place.
259
260 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
261
262         * cppfiles.c: Fix formatting.
263
264 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
265
266         * gcc.c (The Specs Language): Document spec functions.
267         (static_spec_functions, lookup_spec_function)
268         (eval_spec_function, handle_spec_function)
269         (if_exists_spec_function, alloc_args): New.
270         (execute): Abort if processing_spec_function is true.
271         (do_spec_1): Hand off spec to handle_spec_function if %:
272         is encountered.  If processing_spec_function is true,
273         end any pending argument when the end of the string is reached.
274         (main): Use alloc_args to allocate the initial argument vector.
275         * gcc.h (struct spec_function): New.
276         (lang_specific_spec_functions): New extern.
277
278         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
279         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
280         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
281
282         * doc/invoke.texi: Document spec functions.
283
284         * cppspec.c (lang_specific_spec_functions): New.
285         * gccspec.c: Likewise.
286
287 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
288
289         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
290         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
291         (fixunstfsi_libfunc): Change.
292         (fixunstfdi_libfunc): Change.
293         (sdiv_optab): Don't zero out SImode handler.
294         (udiv_optab): Don't zero out SImode handler.
295         (smod_optab): Don't zero out SImode handler.
296         (umod_optab): Don't zero out SImode handler.
297
298 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
299
300         PR preprocessor/8524
301         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
302         Add a new one in its place, which hopefully works.
303         (skip_rest_of_line): Change test for bottom-of-context-stack.
304
305 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
306
307         * i386.md (addqi_1_slp): Fix output template.
308         (subqi_1_slp): Fix type.
309
310 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
311
312         * calls.c (alloca_call_p): New global function.
313         * tree.h (alloca_call_p): New.
314         * tree-inline.c (inlinable_function_p):  Do not inline when
315         function calls alloca.
316         (find_alloca_call, find_alloca_call_1): New functions.
317
318 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
319
320         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
321         bst.  Update the insn length.
322         (*andorhi3): Likewise.
323         (*andorsi3): Likewise.
324
325 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
326
327         * config/sh/sh-protos.h (sh_mark_label): Declare.
328         * config/sh/sh.c (sh_mark_label): New function, taken from
329         movdi_const, but fixing the case when the address has an addend.
330         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
331
332 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
333
334         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
335         (add_constant): Set it.
336         (dump_table): Don't reorder a constant if part_of_sequence_p.
337         (machine_dependent_reorg): Assume that float constants will
338         stay in their original order if used as a sequence.
339
340 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
341
342         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
343         in compact code.
344
345 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
346
347         * config/sh/sh.md (initialize_trampoline): Do not force the
348         trampoline address into R0_REGS here.
349
350 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
351
352         * df.c: Fix formatting.
353
354 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
355
356         * config/h8300/h8300.md (two anonymous patterns): Fix insn
357         lengths.
358
359 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
360
361         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
362         is not an arith_reg_operand.
363
364 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
365
366         * real.c (real_to_decimal): Fix buffer overrun when buffer size
367         is smaller than representation.
368
369 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
370
371         * builtins.c: Fix formatting.
372
373 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
374
375         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
376
377 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
378
379         * config/h8300/h8300.md: Fix formatting.
380
381 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
382
383         * config/h8300/h8300.md: Replace spaces with tabs.
384         * config/h8300/t-h8300: Remove a trailing empty line.
385
386 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
387
388         * tlink.c: Fix formatting.
389
390 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
391
392         PR 8362
393         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
394         * config/rs6000/rs6000.md (movti_string): Remove output modifier
395         when scratch register never needed.
396         (ldmsi[3-8]): New patterns.
397
398 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
399
400         * hard-reg-set.h: Follow spelling conventions.
401         * real.c: Likewise.
402         * target.h: Likewise.
403
404 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
405
406         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
407
408 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
409
410         * optabs.c: Fix formatting.
411
412 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
413
414         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
415         * i386.md (attribute type): Add type shift1 and rotate1.
416         (*_slp): Rewrite to have just two operands to avoid reload problems.
417
418 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
419
420         * config/h8300/h8300.md (4 anonymous patterns): New.
421
422 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
423
424         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
425         * doc/invoke.texi: Correct description of what needs to be done to
426         force collection at every ggc_collect call.
427
428 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
429
430         * config/s390/s390.c (optimization_options): Set
431         flag_asynchronous_unwind_tables to 1 by default.
432
433 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
434
435         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
436
437 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
438
439         * i386-protos.h (x86_function_profiler): New function
440         * i386.h (MCOUNT_NAME): New.
441         (PROFILE_COUNT_REGISTER): New.
442         (FUNCTION_PROFILER): Move offline to ...
443         * i386.c (x86_function_profiler) ... here; fix 64bit support
444         * beos-elf.h (FUNCTION_PROFILER): Kill.
445         (MCOUNT_NAME): New.
446         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
447         (MCOUNT_NAME): New.
448         (PROFILE_COUNT_REGISTER): New.
449         * linux.h (FUNCTION_PROFILER): Kill.
450         (MCOUNT_NAME): New.
451         * x86-64.h (FUNCTION_PROFILER): Kill.
452         (MCOUNT_NAME): New.
453         * freebsd.h (FUNCTION_PROFILER): Kill.
454         (MCOUNT_NAME): New.
455
456 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
457
458         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
459         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
460         * config/arm/arm.c (arm_va_arg,
461         arm_function_arg_pass_by_reference): New.
462         * config/arm/arm-protos.h: Add prototypes.
463
464 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
465
466         * gthr-single.h: Fix formatting.
467
468 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
469
470         * tree.c (tree_vec_elt_check_failed): New function.
471         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
472         (TREE_VEC_ELT): Use it.
473
474         * tree-inline.c (optimize_inline_calls): Don't copy a
475         zero-length vector.
476
477 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
478
479         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
480
481 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
482
483         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
484         both operands contain local relocations.
485         (categorize_decl_for_section): Don't use mergeable sections if
486         initializer has any relocations.
487
488 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
489
490         * gthr-vxworks.h: Fix formatting.
491
492 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
493
494         * doc/install.texi (Testing): Document extra Java testing.
495         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
496
497 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
498
499         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
500         beginning of the spec.
501         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
502         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
503         regarding problems with global constructors when using GNU ld.
504
505 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
506
507         * gthr-solaris.h: Fix formatting.
508
509 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
510
511         * gthr-posix.h: Fix formatting.
512
513 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
514
515         * config/h8300/h8300.md (*andorsi3): New.
516
517 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
518
519         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
520
521 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
522
523         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
524         expressions appropriately.
525
526 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
527
528         * gthr-win32.h: Fix formatting.
529
530 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
531
532         * config/h8300/h8300.c (single_one_operand): Correctly compute
533         mask when mode is SImode.
534         (single_zero_operand): Likewise.
535         * config/h8300/h8300.md (two new anonymous insns): New.
536
537 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
538
539         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
540         to that entire project.
541
542 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
543
544         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
545         directories.
546
547 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
548
549         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
550         * doc/invoke.texi: Document them.
551
552         * ggc-page.c: Include params.h.  Remove definitions of
553         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
554         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
555         (init_gcc): Don't set G.allocated_last_gc here.
556         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
557         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
558         perform collection.
559         * ggc-simple.c: Similarly.
560         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
561         dependencies.
562
563 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
564
565         * gthr-dce.h: Fix formatting.
566
567 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
568
569         PR c/8467
570         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
571         mode of DECL_RTL case.
572
573 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
574
575         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
576
577 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
578
579         * i386.c (construct_container): Fix handling of SSE_CLASS.
580
581 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
582
583         * config/m68k/t-crtstuff (crti.o): Use this...
584         ($(T)crti.o): ... instead.
585         (crtn.o): Use this...
586         ($(T)crtn.o): ... instead.
587
588 2002-11-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
589
590         PR c/8439
591         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
592         if there is something new to be simplified.
593
594 2002-11-10  H.J. Lu <hjl@gnu.org>
595
596         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
597         * expr.c (PUSH_ARGS_REVERSED): Likewise.
598
599         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
600
601 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
602
603         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
604         * config/rs6000/linux.h, config/rs6000/linux64.h,
605         config/rs6000/windiss.h: ... not here.
606
607 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
608
609         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
610         __ABICALLS__ if TARGET_ABICALLS.
611
612 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
613
614         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
615
616 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
617
618         * c-decl.c (grokdeclarator): Make error for duplicate type
619         qualifiers into a pedwarn, disabled for C99.
620
621 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
622
623         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
624         as FUNCTION_ARG_PASS_BY_REFERENCE.
625
626 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
627
628         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
629
630         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
631         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
632         * pa.c (output_millicode_call): Use symbol difference rather than
633         $PIC_pcrel$0 when using HP assembler.
634         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
635         not elfos.h (i.e., gas) is being used.
636         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
637         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
638         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
639         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
640         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
641         using elfos.h.
642         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
643         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
644         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
645         using elfos.h.
646         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
647         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
648         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
649         Don't define when not using elfos.h.
650         (ASM_DECLARE_RESULT): Don't define.
651         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
652         doesn't work on hppa64-hp-hpux11.
653         (hppa*-hp-hpux11): Update.
654
655 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
656
657         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
658         to the assembler if -mno-abicalls was specified.
659
660 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
661
662         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
663         ASM_OUTPUT_DEF): Delete.
664
665 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
666
667         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
668
669 2002-11-08  Dale Johannesen  <dalej@apple.com>
670
671         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
672
673 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
674
675         PR preprocessor/8497
676         PR preprocessor/8501
677         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
678         start a directive.  In assembler, #NUM is not a line directive.
679
680 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
681
682         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
683         buffers.
684
685 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
686
687         * config/h8300/h8300.md (two anonymous test insns): New.
688
689 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
690
691         * jump.c (mark_jump_label): Handle subregs of label_refs.
692
693 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
694
695         * config/ia64/crtend.asm: Include "auto-host.h".
696         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
697         * config/ia64/crtbegin.asm: Similarly.
698         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
699         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
700
701         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
702         * configure.in: Use it if --enable-initfini-array not specified.
703         * doc/install.texi (Configuration): Document --enable-initfini-array.
704         * configure, config.in: Rebuild.
705
706 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
707
708         * config/arm/arm-protos.h (arm_get_frame_size)
709         (thumb_get_frame_size): New prototypes.
710         * config/arm/arm.c (arm_get_frame_size)
711         (thumb_get_frame_size): New functions.
712         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
713         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
714         arm_get_frame_size.
715         (thumb_expand_prologue, thumb_expand_epilogue): Use
716         thumb_get_frame_size.
717         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
718         (machine_function): Add frame_size member.
719         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
720
721 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
722
723         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
724         Adjust code to use portable unsigned bit manipulation.
725         (insn_flags, tune_flags): Change type to unsigned.
726         (struct processors): Make flags unsigned long.
727         (arm_override_options): Change type of count and current_bit_count
728         to unsigned.
729
730 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
731
732         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
733
734 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
735
736         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
737
738 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
739
740         * reg-stack.c (compensate_edge): Fix sanity check.
741
742 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
743
744         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
745         crt2.o.  Rearrange t-darwin makefiles.
746         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
747         * unwind-dw2-fde-darwin.c: New.
748         * unwind-dw2-fde-glibc.c: Correct comment.
749         * unwind-dw2-fde.c (__register_frame_info_bases)
750         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
751         (classify_object_over_fdes): Use last_fde.
752         (add_fdes): Likewise.
753         (linear_search_fdes): Likewise.
754         * unwind-dw2-fde.h (struct object)
755         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
756         (last_fde): New.
757         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
758         (ENDFILE_SPEC): No crtend.o.
759         * config/t-darwin: New.
760         * config/i386/t-darwin: Delete.
761         * config/darwin-crt2.c: New.
762         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
763         or config/t-darwin.
764
765 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
766
767         PR target/8480
768         * config/rs6000/rs6000.md (movdi_internal64): Discourage
769         FPR to FPR moves.
770
771 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
772
773         * doc/contrib.texi: Merge in the list from the Java web pages.
774
775 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
776
777         * config/sparc/freebsd: Fix typo.
778
779 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
780
781         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
782
783 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
784
785         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
786         non-SImode addresses.
787
788 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
789
790         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
791
792 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
793
794         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
795         (STARTFILE_SPEC): Remove p and pg options.
796
797 2002-11-05  Andrew Haley  <aph@redhat.com>
798
799         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
800         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
801
802 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
803
804         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
805         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
806
807 2002-11-04  Dale Johannesen  <dalej@apple.com>
808
809         * doloop.c (doloop_modify_runtime):  Fix loop count computation
810         for unrolled loops.
811         * loop.c (loop_invariant_p):  Support calling from unroller.
812
813 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
814
815         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
816         for comparison.
817
818 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
819
820         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
821
822         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
823         (CLASS_CANNOT_CHANGE_MODE): Remove.
824         (CANNOT_CHANGE_MODE_CLASS): New.
825
826         * config/alpha/alpha.h: Same.
827
828         * config/ia64/ia64.h: Same.
829
830         * config/mips/mips.h: Same.
831
832         * config/s390/s390.h: Same.
833
834         * config/sh/sh.h: Same.
835
836         * config/pa/pa64-regs.h: Same.
837
838         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
839
840         * config/sh/sh.c (sh_cannot_change_mode_class): New.
841
842         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
843         prototype.
844
845         * config/mips/mips.c (mips_cannot_change_mode_class): New.
846
847         * doc/tm.texi (Register Classes): Remove
848         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
849         Document CANNOT_CHANGE_MODE_CLASS.
850
851         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
852         (push_reload): Same.
853
854         * simplify-rtx.c (simplify_subreg): Same.
855
856         * reload1.c (choose_reload_regs): Same.
857
858         * recog.c (register_operand): Same.
859
860         * regrename.c (mode_change_ok): Change to use new
861         CANNOT_CHANGE_MODE_CLASS infrastructure.
862
863         * regclass.c (cannot_change_mode_set_regs): New.
864         Declare subregs_of_mode.
865         (regclass): Use subregs_of_mode.
866         Remove references to reg_changes_mode.
867         (init_reg_sets_1): Remove class_can_change_mode and
868         reg_changes_mode code.
869         (invalid_mode_change_p): New.
870         (dump_regclass): Use invalid_mode_change_p instead of
871         class_can_change_mode.
872         (regclass): Same.
873         (record_operand_costs): Do not set reg_changes_mode.
874
875         * local-alloc.c (struct qty): Remove changes_mode field.
876         (alloc_qty): Remove changes_mode initialization.
877         (update_qty_class): Remove set of changes_mode.
878         (find_free_reg): Use subregs_of_mode.
879
880         * global.c (find_reg): Use subregs_of_mode info.
881
882         * rtl.h (cannot_change_mode_set_regs): New prototype.
883         (invalid_mode_change_p): Same.
884         (REG_CANNOT_CHANGE_MODE_P): New macro.
885
886         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
887         REG_CHANGES_MODE.
888         (life_analysis): Clear subregs_of_mode.
889
890         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
891         Remove use of CLASS_CANNOT_CHANGE_MODE.
892         (simplify_set): Same.
893         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
894         REG_CHANGES_MODE.
895
896         * regs.h: Add extern for subregs_of_mode;
897         Include hard-reg-set and basic-block.
898         (REG_CHANGES_MODE): Delete.
899
900 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
901
902         * jump.c (never_reached_warning): Don't set contains_insn until the
903         first line note is seen.
904
905 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
906
907         * config/rs6000/rs6000.md (movti_string): Use string instructions.
908
909 2002-11-03  Roger Sayle  <roger@eyesopen.com>
910
911         PR c/7128
912         * c-typeck.c (c_expand_asm_operands): Defend against
913         error_mark_nodes in the output argument to avoid ICE.
914
915 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
916
917         PR middle-end/8408
918         * genrecog.c (preds): Handle ADDRESSOF.
919         (validate_pattern): Mark it as an lvalue.
920
921 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
922
923         * config/rs6000/rs6000.c (rs6000_override_options): Use string
924         instructions when optimizing for size.
925
926 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
927
928         * config/h8300/h8300.h: Fix comment typos.
929         * config/h8300/h8300.md: Likewise.
930         * config/h8300/lib1funcs.asm: Likewise.
931
932 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
933
934         Revert this change:
935
936         *doc/install.texi (Installing GCC: Configuration): Clarify
937         the only supported ways to configure gcc.
938
939 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
940
941         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
942         instead of 'O' for the constraint for the second operand.
943
944 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
945
946         PR c++/8391
947         * toplev.c (rest_of_compilation): Do not refuse to output code for
948         an inline function in a local class.
949
950 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
951
952         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
953         (TRANSFER_FROM_TRAMPOLINE): Reformat.
954         Add comment.
955
956 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
957
958         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
959
960 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
961
962         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
963
964 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
965
966         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
967         (MASK_INLINE_DIV_THR): Remove.
968         (TARGET_INLINE_DIV_LAT): Remove.
969         (TARGET_INLINE_DIV_THR): Remove.
970         (TARGET_INLINE_DIV): Remove.
971         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
972         (MASK_INLINE_FLOAT_DIV_THR): New macro.
973         (MASK_INLINE_INT_DIV_LAT): New macro.
974         (MASK_INLINE_INT_DIV_THR): New macro.
975         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
976         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
977         (TARGET_INLINE_INT_DIV_LAT): New macro.
978         (TARGET_INLINE_INT_DIV_THR): New macro.
979         (TARGET_INLINE_FLOAT_DIV): New macro.
980         (TARGET_INLINE_INT_DIV): New macro.
981         * config/ia64/ia64.md (divsi3): Change to use new macros.
982         (modsi3): Ditto.
983         (udivsi3): Ditto.
984         (umodsi3): Ditto.
985         (divsi3_internal): Ditto.
986         (divdi3): Ditto.
987         (moddi3): Ditto.
988         (udivdi3): Ditto.
989         (umoddi3): Ditto.
990         (divdi3_internal_lat): Ditto.
991         (divdi3_internal_thr): Ditto.
992         (divsf3): Ditto.
993         (divsf3_internal_lat): Ditto.
994         (divsf3_internal_thr): Ditto.
995         (divdf3): Ditto.
996         (divdf3_internal_lat): Ditto.
997         (divdf3_internal_thr): Ditto.
998         (divtf3): Ditto.
999         (divtf3_internal_lat): Ditto.
1000         (divtf3_internal_thr): Ditto.
1001         * config/ia64/ia64.c (ia64_override_options): Change
1002         to check new macros for conflicts in settings.
1003         * doc/invoke.texi (-minline-divide-min-latency): Remove.
1004         (-minline-divide-max-throughput): Remove.
1005         (-minline-float-divide-min-latency): New.
1006         (-minline-float-divide-max-throughput): New.
1007         (-minline-int-divide-min-latency): New.
1008         (-minline-int-divide-max-throughput): New.
1009
1010 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
1011
1012         PR target/7856
1013         * arm.c (use_return_insn): Don't use a return insn if there are
1014         saved integer regs, but LR is not one of them.
1015
1016 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1017
1018         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
1019         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
1020
1021 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1022
1023         PR optimization/6162
1024         * doc/md.texi: Document restriction on commutative operand
1025         specification.
1026
1027 2002-10-31  Eric Christopher  <echristo@redhat.com>
1028
1029         * explow.c (convert_memory_address): Use shallow_copy_rtx.
1030
1031 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
1032
1033         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
1034
1035 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
1036
1037         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
1038
1039 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
1040
1041         * config/rs6000/darwin.h:  Correct formatting in previous.
1042
1043 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
1044
1045         * config/rs6000/darwin.h:  Enable -falign-xxx options.
1046
1047 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
1048
1049         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
1050         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
1051         * i386.c (optimization_options): Set flag_omit_frame_pointer,
1052         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
1053         Do not clear -momit-leaf-frame-pointer when profiling.
1054         (ix86_frame_pointer_required): Frame pointer is always required when
1055         profiling.
1056
1057 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
1058
1059         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
1060
1061 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
1062
1063         * sh.h (binary_logical_operator): Declare.
1064         * sh.c (binary_logical_operator): New function.
1065         * sh.md (xordi3+1): New combiner splitter pattern.
1066
1067 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
1068
1069         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
1070         __enable_execute_stack function.
1071
1072 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
1073
1074         * c-common.c: Add GTY to vector_type_node_list.
1075
1076 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
1077
1078         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1079         * pa-protos.h (attr_length_millicode_call, attr_length_call,
1080         pa_init_machine_status): Declare new global functions.
1081         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
1082         implement new functions.
1083         (attr_length_millicode_call, attr_length_call): Implement.
1084         (total_code_bytes): Change type to long.
1085         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
1086         Reset counter if flag_function_sections.
1087         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
1088         (output_cbranch): Move call to gen_label_rtx.
1089         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
1090         delay slot in all variants, shorten pc-relative calls.
1091         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
1092         slot usage and exposure, various new call variants, and shortened
1093         sequences for some variants on TARGET_PA_20.
1094         Miscellaneous format changes.
1095         * pa.h (total_code_bytes): Change type to long.
1096         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
1097         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
1098         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
1099         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
1100         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
1101         stores on TARGET_ELF32.
1102         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
1103         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
1104         canonicalize_funcptr_for_compare expanders): Calculate attribute length
1105         attr_length_millicode_call().
1106         (call_internal_symref, call_value_internal_symref): Clobber register 1.
1107         Calculate attribute length using attr_length_call().
1108         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
1109         to delay slot.
1110         (sibcall, sibcall_value): Rewrite.
1111         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
1112         register 1.  Use attr_length_call().
1113         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
1114         New patterns.
1115         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
1116         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
1117         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
1118         * doc/invoke.texi (mlong-calls): Document.
1119
1120 2002-10-30  Roger Sayle  <roger@eyesopen.com>
1121
1122         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
1123         handling of cases where one or both branches of the conditional
1124         have void type, i.e. throw an exception or don't return.
1125         (fold): Only apply (and undo) type conversion to the non-void
1126         branches of a COND_EXPR.
1127
1128 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
1129
1130         PR c++/8333
1131         * varasm.c (asm_output_aligned_bss): Do not call
1132         ASM_GLOBALIZE_LABEL.
1133
1134 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
1135             Torbjorn Granlund  <tege@swox.com>
1136
1137         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
1138         for addressibility.
1139         (load_toc_v4_PIC_1b): Same.
1140
1141 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
1142
1143         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1144         Truncate the addresses for H8/300 using HImode.
1145
1146 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
1147
1148         * toplev.c (rest_of_type_compilation): Return early in case of
1149         errors.
1150         (check_global_declarations): Don't call debug_hooks->global_decl
1151         in case of errors.
1152
1153 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
1154
1155         * doc/c-tree.texi (Tree overview): Fix typos.
1156
1157 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
1158
1159         * Makefile.in (gnucompare*):  Only record bad comparisons
1160         if there really was a bad comparison.
1161
1162 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
1163
1164         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
1165         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
1166         * md.texi (machine dependent constraints): Document 'C'
1167
1168         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
1169
1170         * i386.c (ix86_expand_vector_move): Fix.
1171
1172         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
1173         * i386.md (sse2_maskmovdqu_rex64): New pattern
1174
1175         PR target/8322
1176         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
1177         (ix86_init_mmx_sse_builtins): Fix type.
1178
1179 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
1180
1181         * gthr-posix.h: Include <unistd.h> for feature tests.
1182         (sched_get_priority_max, sched_get_priority_min)
1183         (pthread_getschedparam, pthread_setschedparam): Only use
1184         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
1185         (__gthread_objc_thread_set_priority): Don't treat all non-zero
1186         returns from sched_get_priority_max and sched_get_priority_min
1187         as an error.
1188
1189 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
1190
1191         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
1192         MASK_QUICKCALL.
1193
1194 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
1195
1196         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
1197         (h8300_tiny_constant_address_p): Likewise.
1198         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
1199         h8300_eightbit_constant_address_p.
1200         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
1201         * config/h8300/h8300-protos.h: Add the prototypes for the two
1202         new functions.
1203
1204 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
1205
1206         * reload1.c (update_eliminables): Unconditionally check if
1207         frame_pointer_needed has changed.
1208
1209 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
1210
1211         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
1212         before final pass.
1213
1214 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
1215
1216         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
1217         check for zero operands explicitly.
1218
1219 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
1220
1221         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
1222         memory after adjusting to BLKmode.
1223
1224 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
1225
1226         * config/h8300/h8300.h (MASK_*): New.
1227         (TARGET_*): Use MASK_*.
1228
1229 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
1230
1231         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
1232         tm_defines if pthreads are enabled.
1233         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
1234         if NETBSD_ENABLE_PTHREADS is defined.
1235
1236 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
1237
1238         * ChangeLog.1: Fix typos.
1239         * cse.c: Fix a comment typo.
1240         * reload1.c: Likewise.
1241
1242 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
1243
1244         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
1245         * fixinc/tests/base/_G_config.h: New file.
1246
1247 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1248
1249         * combine.c: Fix comment formatting.
1250         * loop.c: Likewise.
1251         * real.c: Likewise.
1252         * regclass.c: Likewise.
1253         * regmove.c: Likewise.
1254         * regrename.c: Likewise.
1255         * reg-stack.c: Likewise.
1256         * reload1.c: Likewise.
1257         * reload.c: Likewise.
1258         * reload.h: Likewise.
1259         * unroll.c: Likewise.
1260
1261 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
1262
1263         * reload1.c (reload): Fix a comment typo.
1264
1265 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1266
1267         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
1268
1269 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1270
1271         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
1272         * dwarf2out.c: Include hashtab.h.
1273         (is_main_source): New static variable.
1274         (attr_checksum, die_checksum): Modified to handle die references.
1275         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
1276         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
1277         record_comdat_symbol_number): New static functions.
1278         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
1279         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
1280         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
1281         declarations added.
1282
1283 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1284
1285         * config/h8300/h8300.c (initial_offset): Change to
1286         h8300_initial_elimination_offset.
1287         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
1288         h8300_initial_elimination_offset.
1289         * config/h8300/h8300-protos.h: Update the prototype.
1290
1291 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
1292
1293         * config/mmix/mmix.h (LIBCALL_VALUE): Use
1294         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
1295         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
1296         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
1297         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
1298         and RTX_CODE.
1299         (mmix_function_value_regno_p): Declare.
1300
1301         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
1302         invalid for floating point mode result, with fix.
1303
1304 2002-10-25  Mike Stump  <mrs@apple.com>
1305
1306         Fixes gcc.dg/warn-1.c.
1307         * c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
1308
1309 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
1310
1311         * toplev.c (dump_file_index): Add DFI_ce3.
1312         (dump_file_info): Likewise.
1313         (rest_of_compilation): Run first ifcvt pass before tracer.
1314
1315 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
1316
1317         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
1318
1319 2002-10-25  Richard Henderson  <rth@redhat.com>
1320
1321         * real.c (real_to_decimal): If the >1 tens reduction loop results
1322         in a negative exponent, fall into the <1 pten computation.
1323
1324 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
1325
1326         PR middle-end/6994
1327         * c-objc-common.c (inline_forbidden_p): Can not inline
1328         functions containing structures or unions containing VLAs.
1329         * tree-inline.c (walk_tree): For all class 't' nodes, walk
1330         TYPE_SIZE and TYPE_SIZE_UNIT.
1331         (copy_tree_r): Copy types if they are variably modified.
1332
1333 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
1334
1335         * config/s390/s390.md: Remove old-style peepholes.
1336
1337 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
1338
1339         * config/s390/s390.c (s390_decompose_address): Do not range check the
1340         displacement if base or index is the argument pointer register.
1341
1342 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
1343
1344         PR other/3337
1345         PR bootstrap/6763
1346         PR bootstrap/8122
1347         * fixinc/inclhack.def (libc1_G_va_list): New fix.
1348         * fixinc/fixincl.x: Regenerate.
1349         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
1350         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
1351         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
1352         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
1353         * config.in, configure: Regenerate.
1354
1355 2002-10-24  Igor Shevlyakov <igor@microunity.com>
1356
1357         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
1358
1359 2002-10-24  Richard Henderson  <rth@redhat.com>
1360
1361         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
1362
1363 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1364
1365         * config/h8300/h8300.c (initial_offset): Simplify by using
1366         round_frame_size.
1367
1368 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1369
1370         * doc/install.texi (avr): Update required binutils version.
1371
1372 2002-10-24  Theodore A. Roth  <troth@openavr.org>
1373
1374         * doc/install.texi: Point avr users at more up-to-date information.
1375
1376 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
1377
1378         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
1379         to pull operands out of the literal pool where possible.
1380
1381 2002-10-24  Denis Chertykov  <denisc@overta.ru>
1382
1383         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
1384
1385 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
1386
1387         * expr.c (convert_move): If unsignedp is less then zero there
1388         is no equivalent code.
1389
1390 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
1391
1392         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
1393
1394 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
1395
1396         * config/s390/s390.h: Rework comments; re-sort target macro definitions
1397         according to the sequence they are defined in the manual.
1398         (POINTER_BOUNDARY): Remove.
1399
1400 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1401
1402         * config/h8300/h8300.c (round_frame_size): Replace 8 with
1403         BITS_PER_UNIT.
1404
1405 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1406
1407         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
1408         64-bit safe.
1409         (TINY_CONSTANT_ADDRESS_P): Likewise.
1410
1411 2002-10-24  Richard Henderson  <rth@redhat.com>
1412
1413         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1414         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
1415         vcall offset.
1416
1417 2002-10-24  Richard Henderson  <rth@redhat.com>
1418
1419         PR opt/7944
1420         * reload.c (find_reloads_toplev): Mode of X is not important
1421         when simplifying subregs of constants.
1422
1423 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
1424
1425         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
1426         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
1427         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
1428         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
1429         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
1430
1431 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
1432
1433         * optabs.c (expand_binop): Don't reuse the shift target in the
1434         middle of shift sequences.
1435
1436 2002-10-23  Ziemowit Laski <zlaski@apple.com>
1437
1438         * objc/objc-act.c (get_static_reference): Remove unneeded
1439         TYPE_BINFO initialization.
1440         (get_object-reference): Likewise.
1441         (build_constructor): Tighten precondition check.
1442         (finish_message_expr): Likewise.
1443
1444 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
1445
1446         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
1447         after CONST test.
1448
1449 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
1450
1451         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
1452         in HFAs.
1453
1454 2002-10-23  Richard Henderson  <rth@redhat.com>
1455
1456         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
1457         (alpha_output_mi_thunk_osf): Handle vcall_offset.
1458
1459 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
1460
1461         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1462         var_mod_type_p.
1463         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
1464         hook_tree_bool_false.
1465
1466         * tree.c (variably_modified_type_p): Moved here from
1467         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
1468         language-specific cases.  Due to this, must weaken some 'if
1469         and only if' checks to merely 'if'.
1470         * tree.h: Prototype variably_modified_type_p.
1471
1472         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
1473
1474 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
1475
1476         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
1477         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
1478
1479         * config/s390/s390-protos.h (fp_operand): Remove.
1480         * config/s390/s390.c (fp_operand): Remove.
1481         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
1482         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
1483         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
1484         (movdi_31, movdf_31 splitters): Likewise.
1485
1486         * config/s390/s390.h (IEEE_FLOAT): Remove.
1487         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
1488         (INT_REGNO_P): Rename to ...
1489         (GENERAL_REGNO_P): ... this.
1490         (FLOAT_REGNO_P): Rename to ...
1491         (FP_REGNO_P): ... this.
1492         (ADDR_REGNO_P): New macro.
1493         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
1494         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
1495         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
1496         (HARD_REGNO_NREGS): Adapt to macro renaming.
1497         (HARD_REGNO_MODE_OK): Likewise.
1498
1499 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
1500             Geoff Keating  <geoffk@apple.com>
1501
1502         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
1503         (rs6000_memory_move_cost): New function.
1504         * config/rs6000/rs6000-protos.h: Declare them.
1505         * config/rs6000/rs6000.h: Use them.
1506
1507 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
1508
1509         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1510         inlining it into other libgcc2 routines.
1511         (__udivmoddi4): Likewise.
1512
1513 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
1514
1515         * doc/sourcebuild.texi (Test Suites): Improve.
1516
1517 2002-10-22  Stan Shebs  <shebs@apple.com>
1518
1519         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
1520         case for Darwin.
1521
1522 2002-10-22  Jim Wilson  <wilson@redhat.com>
1523
1524         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
1525
1526 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
1527
1528         PR other/8289
1529         * xmmintrin.h: Add const to the argument of loads.
1530
1531         * i386.md (pushv2di): New pattern.
1532         PR target/6890
1533         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
1534
1535 2002-10-22  Richard Henderson  <rth@redhat.com>
1536
1537         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
1538         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
1539         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
1540         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1541         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1542         (TARGET_ASM_OUT): Update.
1543         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
1544         (hook_bool_tree_hwi_hwi_tree_true): New.
1545         (default_can_output_mi_thunk_no_vcall): New.
1546         * hooks.h: Declare them.
1547         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
1548
1549         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1550         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
1551         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
1552         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
1553         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
1554         config/stormy16/stormy16.c: Similarly.
1555
1556         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
1557         Handle 64-bit properly.  Streamline.
1558         (x86_output_mi_vcall_thunk): Remove.
1559         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
1560         (x86_can_output_mi_thunk): New.
1561         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
1562         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1563         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
1564
1565         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
1566         output_mi_thunk; make static; always use function_section.
1567         (TARGET_ASM_OUTPUT_MI_THUNK): New.
1568         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1569         (rs6000_ra_ever_killed): Test no_new_pseudos not
1570         targetm.asm_out.output_mi_thunk in conjunction with thunks.
1571         * config/rs6000/rs6000-protos.h: Update.
1572         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1573         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
1574         xcoffout_declare_function when using rs6000_output_mi_thunk.
1575
1576         * config/s390/s390.c (s390_output_mi_thunk): Rename from
1577         s390_output_mi_vcall_thunk.
1578         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1579         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1580
1581         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
1582         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
1583         * config/vax/vax-protos.h: Update.
1584         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
1585
1586 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
1587
1588         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
1589         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
1590         * i386.md (movti_internal): Use 'C'
1591
1592         * xmmintrin.h (_mm_cmplt_epi*): New.
1593
1594 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
1595
1596         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
1597         ("*movdf_64"): Likewise.
1598         ("*lshrdi3_64"): Likewise.
1599         ("blockage"): Add length attribute.
1600         ("lit"): Likewise.
1601
1602 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
1603
1604         * i386.md: FIx typo.
1605         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
1606         (sse2_umulv2siv2di3): Fix predicate.
1607         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
1608         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
1609         * xmmintrin.h (_mm_mul_epu16): Rename to...
1610         (_mm_mul_epu32): This one.
1611         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
1612
1613         (contains_128bit_aligned_vector_p): Undo accidental checkin.
1614
1615 2002-10-22  Eric Christopher  <echristo@redhat.com>
1616
1617         * config/sparc/sparc.h: Add #error.
1618
1619 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
1620
1621         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
1622         [s390x-*-linux*]: Likewise.
1623         * config/s390/t-linux: Remove.
1624         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
1625
1626 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
1627
1628         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
1629         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
1630         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
1631         * i386.md (mmx_punpck?dq): Simplify.
1632         (sse2_pubpcklqdq): Fix.
1633         (sse2_pubpckhqdq): New.
1634         * xmmintrin.h (_mm_unpackhi_epi32): New.
1635
1636         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
1637         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
1638
1639 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
1640
1641         PR c++/7209
1642         * fold_const.c (fold_binary_op_with_conditional_arg): Always
1643         build compound_expr if we used save_expr.
1644
1645 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
1646
1647         * output.h (SECTION_NOTYPE): Define.
1648         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
1649         init array sections.
1650         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
1651         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
1652         merge TLS support.
1653
1654 2002-10-21  Richard Henderson  <rth@redhat.com>
1655
1656         * real.c (sticky_rshift_significand): Return inexact, don't
1657         or it in immediately.
1658         (sub_significands): Accept incomming carry.
1659         (div_significands, rtd_divmod): Update for sub_significands change.
1660         (round_for_format): Update for sticky_rshift_significand change.
1661         (do_add): Don't involve the inexact bit in addition, do give the
1662         inexact bit as the subtraction carry-in.
1663         (encode_internal, decode_internal, real_internal_format): New.
1664         * real.h (real_internal_format): Declare.
1665
1666 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
1667
1668         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
1669         don't define sdiv_qrnnd.
1670
1671 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1672
1673         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
1674         using IN_RANGE.
1675         (TINY_CONSTANT_ADDRESS_P): Likewise.
1676
1677 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
1678
1679         * i386.c (builtin_description): Add punpcklqdq and movdq2q
1680         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
1681         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
1682         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
1683         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
1684         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
1685         __builtin_ia32_setzero128.
1686         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
1687         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
1688         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
1689         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
1690         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
1691         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
1692         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
1693         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
1694         sse2_movq): New patterns.
1695         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
1696         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
1697         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
1698         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
1699         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
1700         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
1701         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
1702         (_mm_insert_epi16): Fix.
1703
1704 2002-10-21  Dale Johannesen  <dalej@apple.com>
1705
1706         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
1707             unsafe math reversals correctly for RTL generation.
1708           (output_cbranch):  Replace rs6000_reverse_condition call
1709             by its former definition.
1710
1711 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
1712
1713         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
1714         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
1715         from constant pool or LABEL_REFs as sign extended if allow_rip.
1716         Change all +-1GB limits to +-16MB.
1717         (x86_64_general_operand, x86_64_szext_general_operand,
1718         x86_64_nonmemory_operand, x86_64_movabs_operand,
1719         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1720         legitimate_address_p, ix86_expand_int_movcc): Update callers.
1721         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
1722         in CM_SMALL_PIC model.
1723         (legitimate_pic_address_disp_p): Don't check offsets before
1724         calling local_symbolic_operand.
1725         (legitimize_pic_address): Force offsets bigger than +-16MB into
1726         register.
1727         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
1728         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
1729         prototype.
1730
1731         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
1732         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
1733         * configure: Rebuilt.
1734         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
1735         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
1736         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
1737         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
1738         -fpic.
1739         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
1740         non-pic code if TARGET_64BIT.
1741         (legitimize_address): Generate 64-bit TLS sequences.
1742         (output_pic_addr_const): Support x86-64 TLS operators.
1743         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
1744         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
1745         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
1746         (output_addr_const_extra): Support x86-64 TLS operators.
1747         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
1748         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
1749         unconditionally.
1750         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
1751         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
1752         (*tls_global_dynamic_sun): Renamed to...
1753         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
1754         (tls_global_dynamic): Renamed to...
1755         (tls_global_dynamic_32): ... this.
1756         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
1757         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
1758         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
1759         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
1760         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
1761         (tls_local_dynamic_base_dynamic): Renamed to...
1762         (tls_local_dynamic_base_dynamic_32): ... this.
1763         (tls_local_dynamic_base_dynamic_64,
1764         *tls_local_dynamic_base_dynamic_64): New.
1765         (*tls_local_dynamic_once): Renamed to...
1766         (*tls_local_dynamic_32_once): ... this.
1767
1768 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
1769
1770         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
1771         __divdi3, __umoddi3, or __moddi3.
1772
1773 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
1774
1775         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
1776         instead of just opt_index as switch expression.
1777
1778         * calls.c (store_one_arg): Change type of 'excess_align'
1779         to unsigned int.
1780
1781         * profile.c (output_gcov_string): Change type of 'temp'
1782         to size_t.
1783
1784 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
1785
1786         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
1787         (__fixunssfdi, __fixsfdi): Likewise.
1788         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
1789         (s390_single_qi): Likewise.
1790         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
1791         unsigned comparison warning.
1792         (s390_return_addr_rtx): New function.
1793         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
1794         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
1795         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
1796
1797 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
1798
1799         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
1800         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
1801         (s390_output_mi_thunk): Remove.
1802         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
1803
1804 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1805
1806         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
1807
1808 2002-10-20  Richard Henderson  <rth@redhat.com>
1809
1810         * target.h (struct gcc_target): Line wrap.
1811
1812         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
1813         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
1814         * config/alpha/alpha.h: ... not here.
1815         * config/alpha/alpha-protos.h: Update.
1816
1817         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
1818         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
1819         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
1820         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
1821         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
1822         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
1823         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
1824         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
1825         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
1826         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
1827         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1828         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
1829         config/sparc/sparc.c, config/sparc/sparc.h,
1830         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
1831         config/stormy16/stormy16.h: Similarly.
1832
1833         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
1834         selection logic from call patterns.
1835
1836 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
1837
1838         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
1839
1840 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1841
1842         PR other/8202
1843         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
1844         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
1845         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
1846         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
1847
1848 2002-10-20  Roger Sayle  <roger@eyesopen.com>
1849
1850         PR c/761
1851         * toplev.c (flag_unsafe_profile_arcs): Remove.
1852         (flag_bounded_pointers): Remove.
1853         (flag_bounds_check): Correct comments.
1854         (lang_independent_options): Remove -funsafe-profile-arcs and
1855         -fbounded-pointers.  Correct -fbounds-check comments.
1856
1857         * flags.h: Correct flag_schedule_interblock comments.
1858         (flag_bounded_pointers): Remove prototype.
1859         (flag_bounds_check): Correct comments.
1860
1861         * c-opts.c (c_common_init_options): No need to mark
1862         flag_bounds_check as unspecified.
1863         (c_common_post_options): And no need to set it from
1864         flag_bounded_pointers if its still unspecified.
1865
1866         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
1867         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
1868         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
1869         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
1870
1871 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1872             Mark Mitchell  <mark@codesourcery.com>
1873
1874         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
1875         match target.h.
1876         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
1877         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
1878         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
1879         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
1880         x86_output_mi_thunk): Likewise.
1881         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
1882         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
1883         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
1884         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
1885         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
1886         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
1887         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
1888         Likewise.
1889         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
1890
1891         * target.h (gcc_target): Update output_mi_thunk and
1892         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
1893         vcall_index.
1894
1895         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
1896         TARGET_ASM_OUTPUT_MI_THUNK in comments.
1897         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
1898         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
1899         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
1900         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
1901         signature.
1902         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
1903         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
1904         TARGET_ASM_OUTPUT_MI_THUNK in comments.
1905         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
1906         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
1907         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
1908         TARGET_ASM_OUTPUT_MI_THUNK in comments.
1909         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
1910         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
1911
1912         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
1913         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
1914
1915 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
1916
1917         * real.c (do_add): Fix 0+0 sign corner case.
1918         (do_divide): Fix Inf/0 corner case.
1919
1920 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
1921
1922         * i386.c (classify_argument): Pass MMX arguments in memory
1923         (ix86_expand_builtin): Expand proper address mode for cflush.
1924         * i386.md (movdqa): Fix typo.
1925         (sse2_cflush): Accept DImode addresses.
1926
1927         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
1928         (_mm_max_sd): Fix pasto.
1929         (_mm_storeh_pd, _mm_storel_pd): Fix.
1930
1931         * i386.c (bdesc_comi): Fix to match specification.
1932         (ix86_expand_sse_comi): Emit the comparison properly.
1933         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
1934         Do not use comparison operator.
1935         (vnmaskcmp): Fix template.
1936
1937         * xmmintrin.h (_mm_cvtps_pi16): Fix.
1938
1939 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
1940
1941         * dependence.c : Removed.
1942         * Makefile.in : Remove dependence.o.
1943
1944 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
1945
1946         * mmintrin.h (__m64): typedef it to v2si.
1947         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
1948         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
1949         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
1950         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
1951         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
1952         * xmmintrin.h (_mm_setzero_si64): Likewise.
1953
1954         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
1955         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
1956
1957         PR target/7693
1958         Patch by Shawn Wagner
1959         * mmintrin.h: Replace pi64 by si64.
1960
1961 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
1962
1963         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
1964         Use length of 4 not *.
1965         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
1966         (movdf_softfloat64): Likewise.
1967         (movdi_internal32): Use length of 4 not *.
1968         (movti_power): Same.
1969         (ctrsi, ctrdi): Same.
1970
1971 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
1972
1973         * c-decl.c (start_decl): Point users of the old initialized-
1974         typedef extension at __typeof__.
1975
1976 2002-10-18  Richard Henderson  <rth@redhat.com>
1977
1978         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
1979         (real_to_decimal): Re-implement using the logic from the
1980         gcc 3.2 etoasc.  Comment heavily.
1981         (div_significands): Simplify loop startup and comparison logic.
1982
1983 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
1984
1985         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
1986         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
1987         (TARGET_ASM_OUT): Add them.
1988         * target.h (asm_out): Add output_mi_thunk and
1989         output_mi_vcall_thunk.
1990         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
1991         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
1992         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
1993         * config/arm/arm.c (arm_output_mi_thunk): Define.
1994         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
1995         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
1996         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
1997         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
1998         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
1999         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2000         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
2001         prototype.
2002         (x86_output_mi_vcall_thunk): Declare.
2003         * config/i386/i386.c (override_options): Clear
2004         output_mi_vcall_thunk in 64-bit mode.
2005         (ix86_fntype_regparm): New function.
2006         (ix86_return_pops_args): Use it.
2007         (ia32_this_parameter): New function.
2008         (x86_output_mi_vcall_thunk): New function.
2009         (x86_output_mi_thunk): Use it
2010         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
2011         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
2012         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
2013         * config/i960/i960.c (i960_output_mi_thunk): New function.
2014         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
2015         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
2016         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
2017         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2018         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2019         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
2020         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2021         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2022         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2023         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2024         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2025         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2026         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2027         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2028         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2029         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2030         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
2031         * config/s390/s390.c (s390_output_mi_thunk): Define.
2032         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2033         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2034         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2035         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2036         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2037         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2038         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
2039         * config/vax/vax.c (vax_output_mi_thunk): Define.
2040         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
2041         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
2042         * doc/tm.texi: Adjust documentation.
2043
2044 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
2045
2046         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
2047         __enable_execute_stack function.
2048         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2049         as NETBSD_ENABLE_EXECUTE_STACK.
2050         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2051         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2052         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2053         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2054         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
2055
2056 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
2057
2058         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
2059         to __enable_execute_stack with the address of the trampoline
2060         if TRANSFER_FROM_TRAMPOLINE is defined.
2061         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
2062         constant if building libgcc2.
2063
2064 2002-10-17  Roger Sayle  <roger@eyesopen.com>
2065
2066         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
2067
2068 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
2069
2070         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
2071         in CTR/LR/MQ.
2072         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
2073         to/from CTR/LR/MQ.
2074         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
2075         (movsf_softfloat): Likewise.
2076
2077 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
2078
2079         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
2080
2081 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
2082
2083         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
2084         tramp, not addr, to pass the trampoline address to
2085         __enable_execute_stack.
2086
2087 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
2088
2089         * mmintrin.h: Guard by __MMX__
2090         * xmmintrin.h: Guard by __SSE__
2091
2092         PR other/8062
2093         * xmmintrin.h (_MM_SHUFFLE2): New macro.
2094         (_mm_load*_?d): New functions.
2095         (_mm_set*_?d): New functions.
2096         (_mm_store*_?d): New functions.
2097
2098 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
2099
2100         Really commit patch announced at Oct 14
2101         PR c/7344
2102         * predict.c (can_predict_insn_p): New function.
2103         (estimate_probability): Avoid unnecesary work.
2104         (process_note_prediction): Likewise.
2105         * toplev.c (rest_of_compilation): Account early branch prediction pass
2106         as TV_BRANCH_PROB.
2107
2108         PR other/8048
2109         Found by Ian Ollmann
2110         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
2111         (_mm_load?_pd): Likewise.
2112         (_mm_store?_pd): Likewise.
2113
2114         PR target/7386
2115         * i386.c (builtin_description):Drop cmpg[te]s[sd].
2116         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
2117         swapped alternative.
2118
2119         PR opt/7630
2120         * reload1.c (reload_inner_reg_of_subreg): New argument output;
2121         (push_reload): Update call.
2122
2123 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
2124
2125         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
2126         if using mips/elf.h or mips/elf64.h.
2127         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
2128         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
2129
2130 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
2131
2132         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
2133         SI.
2134
2135 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
2136
2137         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
2138         (LPREFIX): Likewise.
2139         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
2140         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2141         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
2142         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
2143         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
2144
2145         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
2146         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
2147         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2148         BSS_SECTION_ASM_OP): Move from linux.h.
2149         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2150         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2151
2152         * config/s390/s390.c (s390_function_profiler): Use
2153         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
2154
2155 2002-10-15  Richard Henderson  <rth@redhat.com>
2156
2157         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
2158         as arguments.  Bound DIGITS by the available buffer size.
2159         (real_to_hexadecimal): Likewise.
2160         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
2161         (REAL_VALUE_TO_DECIMAL): Remove.
2162         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
2163         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
2164         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
2165         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
2166         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
2167         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
2168         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
2169         use real_to_decimal directly, and with the proper arguments.
2170         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
2171
2172 2002-10-15  Jim Wilson  <wilson@redhat.com>
2173
2174         * reload1.c (merge_assigned_reloads): After converting overlapping
2175         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
2176
2177         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
2178
2179 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
2180
2181         * expr.c (do_tablejump): Fix typo in my previous commit.
2182
2183 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
2184
2185         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
2186
2187 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
2188
2189         * config/s390/s390.c (s390_split_branches): Add return
2190         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
2191
2192         (find_base_register_in_addr): New function.
2193         (find_base_register_ref): New function.
2194         (replace_base_register_ref): New function.
2195
2196         (struct constant_pool): Add members pool_insn, insns, and anchor.
2197         Remove member last_insn.
2198         (s390_start_pool): Initialize them.
2199         (s390_end_pool): Emit pool placeholder insn.
2200         (s390_add_pool_insn): New function.
2201         (s390_find_pool): Use insns bitmap instead of addresses.
2202         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
2203         Replace unspec 104 by local-pool-relative references.
2204         (s390_output_constant_pool): Output anchor label if required.
2205         (s390_output_symbolic_const): Handle unspec 104 and 105.
2206         (s390_add_pool): Remove, replace by ...
2207         (s390_add_constant, s390_find_constant): ... these new functions.
2208         (s390_add_anchor): New function.
2209
2210         (s390_chunkify_pool): Delete, replace by ...
2211         (s390_chunkify_start, s390_chunkify_finish,
2212         s390_chunkify_cancel): ... these new functions.
2213         (s390_optimize_prolog): Add parameter TEMP_REGNO.
2214         Recompute register live data for special registers.
2215         (s390_fixup_clobbered_return_reg): New function.
2216         (s390_machine_dependent_reorg): Rewrite to use new
2217         s390_chunkify_... routines.
2218
2219         config/s390/s390.md ("reload_base"): Rename to ...
2220         ("reload_base_31"): ... this.
2221         ("reload_base_64"): New insn.
2222         ("reload_base2"): Remove.
2223         ("reload_anchor"): New insn.
2224         ("pool"): New insn.
2225
2226         s390.c (s390_pool_overflow): Remove.
2227         s390.h (s390_pool_overflow): Likewise.
2228         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
2229
2230 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2231
2232         * sh.md (movv8qi_i+2): Don't split if source is -1.
2233
2234 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
2235
2236         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
2237
2238 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
2239
2240         PR opt/7409
2241         * loop.c (loop_regs_scan): Mark registers used for function
2242         argument passing as MAY_NOT_OPTIMIZE.
2243
2244 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
2245
2246         * i386.md (movv2di_internal): New pattern.
2247         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
2248         (movv2di): New expander.
2249         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
2250
2251         * i386.c (ix86_expand_timode_binop_builtin): Delete.
2252         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
2253         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
2254         (ix86_expand_builtin): Likewise.
2255         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2256         sse_andti3,
2257         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
2258         sse_andnti3,
2259         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
2260         sse_orti3,
2261         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
2262         sse_xorti3): Kill.
2263         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
2264          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
2265         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
2266          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2267         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
2268          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
2269
2270         * xmmintrin.h (__m128i): Define as __v2di.
2271
2272         PR c++/6419
2273         (expand_expr): Use DECL_RTL_SET_P.
2274
2275 2002-10-14  Roger Sayle  <roger@eyesopen.com>
2276
2277         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
2278
2279 2002-10-14  Roger Sayle  <roger@eyesopen.com>
2280             Zack Weinberg <zack@codesourcery.com>
2281
2282         * config/i386/i386.c (k6_cost): Correct typo.
2283
2284 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
2285
2286         PR optimization/6631
2287         * alias.c (objects_must_conflict_p): Check honor_readonly when
2288         examining TYPE_READONLY.
2289         * function.c (assign_stack_temp_for_type): Likewise.
2290
2291 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2292
2293         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
2294         Swap zero extension arguments.
2295         (umaxhi3): Fix instruction class.
2296         PR target/7211
2297         (prefetch): Fix prefetch instructions.
2298         PR target/7238
2299         (pkwb): Fix output constraint.
2300
2301 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
2302
2303         * config/mips/mips.c (print_operand): Increase buffer size for
2304         real numbers.
2305
2306 2002-10-14  Richard Henderson  <rth@redhat.com>
2307
2308         PR opt/8165
2309         * gcse.c (adjust_libcall_notes): Revert last change.
2310         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
2311
2312 2002-10-14  Andrew Haley  <aph@redhat.com>
2313
2314         * tree-inline.c (remap_block): All local class initialization
2315         flags go in the outermost scope.
2316         (expand_call_inline): Call java_inlining_map_static_initializers.
2317         (expand_call_inline): Call java_inlining_merge_static_initializers.
2318         * java/lang.c (merge_init_test_initialization): New.
2319         (java_inlining_merge_static_initializers): New.
2320         (inline_init_test_initialization): New.
2321         (java_inlining_map_static_initializers): New.
2322
2323         * tree-inline.c (expand_call_inline): Convert retvar to expected
2324         type.
2325
2326 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
2327
2328         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
2329
2330 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
2331
2332         * stmt.c: Fix typo in comment.
2333
2334 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
2335
2336         * c-common.c (c_common_type_for_mode): Add V2HImode case.
2337         * tree.c (build_common_tree_nodes_2): Initialize
2338         unsigned_V2HI_type_node and V2HI_type_node.
2339         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
2340         (unsigned_V2HI_type_node, V2HI_type_node): Define.
2341
2342 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
2343
2344         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
2345         Handle TARGET_64BIT.
2346
2347 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
2348
2349         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
2350         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
2351         (MULTILIB_DIRNAMES): Remove long32.
2352         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
2353         (MULTILIB_REDUNDANT_DIRS): Remove.
2354
2355 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
2356
2357         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
2358         * gcc.c (driver_self_specs): New variable.
2359         (do_self_spec): New function.
2360         (main): Use it to process driver_self_specs.
2361
2362 2002-10-13  Richard Henderson  <rth@redhat.com>
2363
2364         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
2365
2366 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
2367
2368         PR preprocessor/7862
2369         PR preprocessor/8190
2370         * gcc.c (cpp_unique_options): Don't delete .d files.
2371         Remove stray whitespace.
2372
2373 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
2374
2375         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
2376         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2377         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
2378         (pdp11_output_function_epilogue, output_ascii): Likewise.
2379         (output_addr_const_pdp11): Likewise.
2380         * pdp11.md (movdi): Use offsetable memory for floating store.
2381         (lshrsi3, negsi2): Delete irrelevant comment.
2382
2383 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
2384
2385         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
2386         not the address of the REG.
2387         (struct cse_reg_info): Make subreg_ticked unsigned.
2388
2389 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
2390
2391         * doc/compat.texi: Add info about C++ libraries.
2392
2393 2002-10-11  Richard Henderson  <rth@redhat.com>
2394
2395         PR opt/8165
2396         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
2397
2398 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2399
2400         * cfganal.c (dfs_enumerate_from): Use PARAMS.
2401         * genautomata.c (output_insn_code_cases): Likewise.
2402         * real.c (real_format): Likewise.
2403         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
2404         ensure value is promoted before doing subtraction.
2405
2406 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
2407
2408         * calls.c (expand_call): Simplify noreturn call.
2409
2410         PR c/7344
2411         * cfgbuild.c (make_edges): Create edge cache when we do have
2412         large jumptable.
2413         * expr.c (do_tablejump): Note size of maximal jumptable.
2414         * function.c (prepare_function_start): Zero out size.
2415         * function.h (function): Add max_jumptable_ents.
2416
2417         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
2418
2419 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
2420
2421         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
2422         register for mperm_w operation.
2423
2424 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
2425
2426         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
2427         an integer, use simplify_gen_subreg.
2428
2429 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
2430
2431         * extend.texi (Vector Extensions): Remove comment about single
2432         element vectors.
2433
2434 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2435
2436         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
2437         * function.c (insns_for_mem_hash): Likewise.
2438         * varasm.c (STRHASH): Likewise.
2439
2440 2002-10-10  Stuart Hastings  <stuart@apple.com>
2441
2442         * cse.c (struct cse_reg_info): Add subreg_ticked.
2443         (SUBREG_TICKED): New.
2444         (get_cse_reg_info): Initialize SUBREG_TICKED.
2445         (mention_regs): Use it.
2446         (invalidate): Set SUBREG_TICKED.
2447         (invalidate_for_call): Likewise.
2448         (addr_affects_sp_p): Likewise.
2449
2450 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
2451
2452         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
2453         into proper operand.
2454
2455 2002-10-10  Denis Chertykov  <denisc@overta.ru>
2456
2457         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
2458         deallocation.
2459         * config/ip2k/libgcc.S: Combine routines used by function
2460         epilogue.
2461
2462 2002-10-10  Jim Wilson  <wilson@redhat.com>
2463
2464         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
2465         UDIV.
2466
2467 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
2468
2469         * config/rs6000/aix52.h: New file.
2470         * config/rs6000/t-aix52: New File.
2471         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
2472         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
2473
2474 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
2475
2476         PR target/5610
2477         * invoke.texi (-msse-math): Kill
2478         (-msse): Add note to mfpmath=sse.
2479
2480 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
2481
2482         PR target/7723
2483         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
2484
2485 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
2486
2487         PR preprocessor/8179
2488         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
2489         as cc1_options.
2490         (default_compilers): Pass debug options when preprocessing
2491         stdin.
2492
2493 2002-10-06  Richard Henderson  <rth@redhat.com>
2494
2495         * toplev.c (rest_of_compilation): Revert opt/2960 change.
2496
2497 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
2498
2499         PR c/7353
2500         * c-decl.c (start_decl): Unconditionally issue error for
2501         'typedef foo = bar'.
2502         (finish_decl): Remove special case for TYPE_DECL with initializer.
2503
2504         * doc/extend.texi: Delete "Naming Types" section.  Change all
2505         cross-references to that section to refer to "Typeof" instead.
2506         Add the useful safe-max()-macro example from "Naming Types" to
2507         "Typeof", rewritten using that extension.  Add some compatibility
2508         notes to "Typeof."
2509
2510 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2511
2512         * loop.c: Revert 2002-08-15 change.
2513         (LOOP_REGNO_NREGS): Ensure type is int.
2514
2515 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
2516
2517         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
2518         which copies first FPR and clears second.
2519         (extendsftf2): Same.
2520         (floatditf2): Fix typo.
2521         (floatsitf2): Same.
2522         (fix_trunctfdi2): Same.
2523         (fix_trunctfsi2): Same.
2524
2525 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2526
2527         * conflict.c (arc_hash): Change return type to hashval_t.
2528         * cselib.c (get_value_hash): Likewise.
2529         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
2530         state_hash, automata_list_hash): Likewise.
2531         * read-rtl.c (def_hash): Likewise.
2532         * tree.c (type_hash_hash): Likewise.
2533
2534 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
2535
2536         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
2537         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
2538
2539 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
2540
2541         * sh.md (ffssi2): Fix emitted code.
2542
2543 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
2544
2545         * cse.c (insn_live_p): Pass insn pattern, not full insn
2546         to may_trap_p.
2547
2548 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
2549
2550         * cppmacro.c (paste_tokens): Only allow / to paste with =.
2551
2552 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
2553
2554         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
2555         64-bit hosts.
2556         (movtf_internal): Reference correct displacement for second value
2557         in memory.
2558         (movtf splitter): Correct generation of constants in 64-bit mode.
2559
2560 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
2561
2562         * libgcc2.c (__floatdisf): Properly cure double rounding.
2563
2564 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2565
2566         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
2567         * doc/cpp.texi (Common Predefined Macros): Document.
2568
2569 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2570
2571         PR doc/7484
2572         * doc/invoke.texi (Option Summary): List
2573         -Wmissing-declarations as a C only option.
2574
2575 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
2576
2577         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
2578         mno-app-regs|mcmodel=medany.
2579         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
2580         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
2581         (CRTSTUFF_T_CFLAGS): Define.
2582
2583 2002-10-08  Roger Sayle  <roger@eyesopen.com>
2584
2585         PR target/8087
2586         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
2587         pool references that are constructed using LO_SUM.
2588
2589 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
2590
2591         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
2592         -Wall.
2593         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
2594         message.
2595         * flags.h (warn_strict_aliasing): Declare.
2596         * toplev.c (warn_strict_aliasing): Define.
2597         (lang_independent_options): Add it.
2598         * doc/invoke.texi (-Wstrict-aliasing): Document it.
2599
2600 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
2601
2602         * system.h (GCCBUGURL): Delete.
2603         * version.c (bug_report_url): New.  Add commentary about
2604         modifying both these strings in modified distributions.
2605         * version.h: Declare bug_report_url.
2606
2607         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
2608         bug_report_url.
2609
2610 2002-10-08  Nick Clifton  <nickc@redhat.com>
2611
2612         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
2613         convert uint64_t into __ev64_opaque__.
2614         (__ev_set_acc_s64): Likewise, but using signed types.
2615
2616 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
2617
2618         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
2619         ("*doloop_di_long"): Likewise.
2620
2621 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
2622
2623         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
2624
2625 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
2626
2627         * config/mips/mips.md (define_attr cpu): Add r4111.
2628
2629 2002-10-08  Anthony Green  <green@redhat.com>
2630
2631         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
2632
2633 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2634
2635         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
2636         for REAL_VALUE_TO_DECIMAL output.
2637
2638 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
2639
2640         * config/rs6000/rs6000.c (rs6000_override_options): Set
2641         real_format_for_mode for IBM extended format, if enabled.
2642         (easy_fp_constant): Add TFmode.
2643         (rs6000_legitimize_address): Add TFmode.
2644         (rs6000_legitimate_address): Same.
2645         (function_arg_advance): TFmode uses two FPRs.
2646         (rs6000_emit_prologue): Fix warning.
2647         (rs6000_output_function_epilogue): Add TFmode.
2648         (output_toc): Add TFmode.
2649         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
2650         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
2651         * rs6000.md (movtf splitter): Load TFmode constant.
2652
2653 2002-10-07  Dale Johannesen  <dalej@apple.com>
2654
2655         * rtl.h:  Add NOTE_PRECONDITIONED.
2656         * unroll.c:  Set it.
2657         * loop.c:  Set loop_info->preconditioned from it.
2658         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
2659
2660 2002-10-07  Richard Henderson  <rth@redhat.com>
2661
2662         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
2663         new rtx for comparing the argument pointer against zero.
2664         (i960_va_start): Similarly.
2665
2666 2002-10-07  Richard Henderson  <rth@redhat.com>
2667
2668         * config/i960/i960.md (*): Use TFmode, not XFmode.
2669         * config/i960/i960.c (*): Likewise.
2670         (i960_arg_size_and_align): Remove XFmode alignment hack.
2671         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
2672         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
2673         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
2674         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
2675
2676 2002-10-07  Richard Henderson  <rth@redhat.com>
2677
2678         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
2679         entry points; use void return value and argument list.
2680
2681 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
2682
2683         * t-pdp11: Add MULTILIB support for msoft-float.
2684         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
2685
2686         * t-pdp11: Add LIB2FUNCS_EXTRA.
2687         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
2688         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
2689         'fldd' to 'ldd', rename 'fstd' to 'std'.
2690         (pdp11_output_function_epilogue): Likewise.
2691         (output_move_quad): Make the comment gas compatible.
2692         (output_ascii): Add preceding 0 to the octal constant.
2693         (print_operand_address): Add pre_modify, post_modify.
2694         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
2695         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
2696         with the indication of Paul Koning.
2697         (PRINT_OPERAND): Fix floating constant.
2698         * pdp11.md (movdi): Restrict matching pattern.
2699         (movqi): Generalize the matching pattern.
2700         (movdf): Restrict matching pattern.
2701         (zero_extendqihi2): Change constant representation.
2702         (floatsidf2): Fix wrong operands.
2703         (addqi3): Fix wrong instruction name.
2704         (subqi3): Fix wrong instruction name.
2705         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
2706         (xorsi3): Fix wrong insn.
2707         (one_cmplqi2): Add two operand pattern.
2708         (lsrsi3): New.
2709         (negsi2): New.
2710         (call): Add register indirect case.
2711         (mod): Fix wrong subreg.
2712
2713 2002-09-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2714             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2715
2716         PR c/7411
2717         * expr.c (expand_expr) [PLUS]: Simplify after the operands
2718         have been expanded in EXPAND_NORMAL mode.
2719
2720 2002-10-06  Richard Henderson  <rth@redhat.com>
2721
2722         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
2723
2724 2002-10-06  Richard Henderson  <rth@redhat.com>
2725
2726         PR optimization/2960
2727         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
2728         optimize_size.
2729
2730 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
2731
2732         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
2733         previously definitions.
2734
2735 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
2736
2737         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
2738         * c-opts.c (find_opt): Similarly.
2739
2740 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
2741
2742         * gcc.c (set_multilib_dir): Don't access *end.
2743         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
2744         (print_multilib_info): Don't show paths starting with ".:".
2745         * genmultilib: Add new option, "yes" if multilibs are enabled.
2746         Update comments.  If multilibs not enabled, print .:${osdirout}
2747         for each directory.  If multilibs are enabled, always print
2748         ${dirout}:${osdirout}, even if the two are the same.
2749         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
2750         Pass all MULTILIB_* variables to genmultilib even if
2751         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
2752
2753 2002-10-04  Bruce Korb  <bkorb@gnu.org>
2754
2755         * fixinc/inclhack.def(hpux11_abs):  use format fix
2756         * fixinc/fixincl.x: regenerate
2757         * fixinc/tests/base/stdlib.h: accommodate new fix test
2758
2759 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
2760
2761         * c-common.c (cb_register_builtins):  Use really_no_inline.
2762
2763 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
2764
2765         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
2766         copied instruction if the note is not loop invariant.
2767
2768 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
2769
2770         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
2771
2772 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
2773
2774         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
2775         and -mhp-ld options to list of options.  Add -mgnu-ld
2776         and -mhp-ld option descriptions.
2777
2778 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
2779
2780         * fixinc/inclhack.def (hpux11_abs):  New.
2781         (stdio_va_list): change __va_list__ to __gnuc_va_list.
2782         * fixinc/fixincl.x: Rebuild.
2783
2784 2002-10-04  Roger Sayle  <roger@eyesopen.com>
2785
2786         * config/i386/i386.h (processor_costs): Add new fields fadd,
2787         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
2788         (RTX_COSTS): Use these fields to determine the RTX costs
2789         of floating point addition/subtraction, multiplication,
2790         division, fabs, negation and square root respectively.
2791         * config/i386/i386.c (size_cost): Provide instruction sizes
2792         for these new fields.
2793         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
2794         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
2795         counts for these new fields for all x86 processor variants.
2796
2797 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2798
2799         * mips.c (mips_const_double_ok): Delete unused variable.
2800
2801         * gengtype.c (rtx_next): Change type to int.
2802
2803 2002-10-04  Andreas Jaeger  <aj@suse.de>
2804
2805         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
2806
2807 2002-10-04  Richard Henderson  <rth@redhat.com>
2808
2809         * real.h (SIGNIFICAND_BITS): Add one more word.
2810         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
2811         * real.c (times_pten): New.
2812         (real_to_decimal, real_from_string): Use it.
2813         (sticky_rshift_significand): Use & to find modulus.
2814         (rshift_significand, lshift_significand): Likewise.
2815         (do_divide): Apply sticky bit after normalization.
2816         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
2817
2818 2002-10-03  Andreas Jaeger  <aj@suse.de>
2819
2820         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
2821         to unsigned long, adjust printf format string.
2822         (output_mangled_typename): Likewise.
2823
2824 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
2825
2826         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
2827         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
2828         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
2829         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
2830         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
2831         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
2832         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
2833         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
2834
2835 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
2836
2837         * doc/invoke.texi (-Wabi): Document mangling bug.
2838
2839 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
2840
2841         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
2842         name for the tbtab label that depends on the function asm name.
2843         Don't output tbtab label unless optional_tbtab.
2844         (output_mi_thunk): Formatting.
2845
2846 2002-10-03  Richard Henderson  <rth@redhat.com>
2847
2848         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
2849         * config/m68k/m68k.c (override_options): ... here.
2850         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
2851         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
2852         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2853         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2854
2855 2002-10-03  Richard Henderson  <rth@redhat.com>
2856
2857         * real.h (struct real_value): Use ENUM_BITFIELD.
2858
2859 2002-10-03  Richard Henderson  <rth@redhat.com>
2860
2861         * config/i960/i960.md (call, call_value): Use emit_call_insn.
2862
2863 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
2864
2865         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
2866
2867 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
2868
2869         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
2870         * config/pa/pa.h (MASK_GNU_LD): New.
2871         (TARGET_GNU_LD): New.
2872         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
2873         on gnu-ld and MASK_GNU_LD.
2874         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
2875
2876 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
2877
2878         * i386.c (athlon_cost): Fix the move costs.
2879
2880 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
2881
2882         * final.c (final): Use symbol name as function name for profiling.
2883         * profile.c (get_exec_counts): Likewise.
2884         (branch_prob): Likewise.
2885
2886 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
2887
2888         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
2889
2890 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
2891
2892         * gcc.c (print_multi_os_directory): New variable.
2893         (option_map): Support --print-multi-os-directory.
2894         (struct prefix_list): Add os_multilib field.
2895         (multilib_os_dir): New variable.
2896         (static_specs): Add multilib_options.
2897         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
2898         subdirs if non-zero.
2899         (read_specs, execute): Update callers.
2900         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
2901         pass 1 as multilib option.
2902         (display_help): Include --print-multi-os-directory.
2903         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
2904         (process_command): Update callers.  Handle --print-multi-os-directory.
2905         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
2906         set.
2907         (main): Update find_a_file and add_prefix callers.
2908         Handle print_multi_os_directory.
2909         (struct mdswitchstr): New.
2910         (mdswitches, n_mdswitches): New variables.
2911         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
2912         present on the command line nor their mutually incompatible
2913         switches.
2914         (default_arg): Optimize.
2915         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
2916         array.
2917         (print_multilib_info): Only print GCC multilib dir name, not OS
2918         multilib dirname.
2919         * genmultilib: Add osdirnames parameter.  Output multilib_options
2920         variable.  If osdirnames is specified, output dirnames as
2921         dirname:osdirname.
2922         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
2923         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
2924         to compute libgcc_s soname and install path.
2925         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
2926         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
2927         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
2928         argument.
2929
2930         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
2931         (SHLIB_SLIBDIR_SUFFIXES): Remove.
2932         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
2933         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
2934         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
2935         and -m64.
2936         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
2937         (SHLIB_SLIBDIR_SUFFIXES): Remove.
2938         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
2939         (STARTFILE_ARCH_SPEC): Remove.
2940         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
2941         (SHLIB_SLIBDIR_SUFFIXES): Remove.
2942         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2943         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
2944         (SHLIB_SLIBDIR_SUFFIXES): Remove.
2945
2946 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
2947
2948         * predict.c (choose_function_section): Avoid choice for linkonce functions.
2949
2950 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
2951
2952         * i386.md (lea to mul peep2): Fix condition.
2953
2954 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2955
2956         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
2957         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
2958
2959 2002-10-02  Richard Henderson  <rth@redhat.com>
2960
2961         PR opt/7124
2962         * config/i386/i386.c (ix86_register_move_cost): Increase cost
2963         for secondary_memory_needed pairs.
2964
2965 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
2966
2967         * doc/vms.texi: Blow away false include file section.
2968
2969 2002-10-02  Roger Sayle  <roger@eyesopen.com>
2970
2971         PR optimization/6627
2972         * toplev.c (force_align_functions_log): New global variable.
2973         * flags.h (force_align_functions_log): Add extern prototype.
2974         * varasm.c (assemble_start_function): Use it to force minimum
2975         function alignment.
2976         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
2977         minimum function alignment to one byte.
2978         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
2979         the least significant bit of vtable member function pointers.
2980         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
2981         here from cp/cp-tree.h.
2982
2983 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
2984
2985         * i386.c (print_operand_address): Use RIP addressing for offsetted
2986         label refs too.
2987
2988 2002-09-30  David S. Miller  <davem@redhat.com>
2989
2990         PR middle-end/7151
2991         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
2992         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
2993
2994 2002-10-01  Roger Sayle  <roger@eyesopen.com>
2995
2996         * unroll.c (loop_iterations): Revert 2002-09-08 change.
2997
2998 2002-10-01  Richard Henderson  <rth@redhat.com>
2999
3000         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
3001         (real_to_hexadecimal): Likewise.
3002         * print-rtl.c (print_rtx): If we are linked with real.c, don't
3003         dump the XWINT fields of a floating point CONST_DOUBLE.
3004
3005 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
3006
3007         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
3008
3009 2002-10-01  Richard Henderson  <rth@redhat.com>
3010
3011         * calls.c (precompute_register_parameters): Force non-legitimate
3012         constants into pseudos.
3013
3014 2002-10-01  Nick Clifton  <nickc@redhat.com>
3015
3016         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
3017         to assembler template.
3018
3019 2002-10-01  Richard Henderson  <rth@redhat.com>
3020
3021         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
3022         for TLS debug info to !DECL_EXTERNAL.
3023
3024 2002-10-01  Matt Thomas  <matt@3am-software.com>
3025             Jason Thorpe  <thorpej@wasabisystems.com>
3026
3027         * config.gcc (vax-*-netbsdelf*): Enable configuration.
3028         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
3029         if not already defined.
3030         * config/vax/elf.h: New file.
3031         * config/vax/netbsd-elf.h: New file.
3032         * config/vax/vax.c: Include "debug.h".
3033         (vax_output_function_prologue): Add dwarf2 support.  Use
3034         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
3035         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
3036         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
3037         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
3038         (VAX_ISTREAM_SYNC): Remove.
3039         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
3040         (JUMP_TABLES_IN_TEXT_SECTION): Define.
3041         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
3042         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
3043         and assemble_name.
3044         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3045         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
3046         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
3047         (INCOMING_RETURN_ADDR_RTX): Define.
3048         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
3049         (VUNSPEC_SYNC_ISTREAM): Define.
3050         (blockage): Use VUNSPEC_BLOCKAGE.
3051         (sync_istream): New insn.
3052
3053 2002-10-01  Richard Henderson  <rth@redhat.com>
3054
3055         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
3056         (*call_value_pop, call, call_value): Add dwarf2 EH support.
3057         (*call): New insn.
3058
3059 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
3060
3061         PR c/8083
3062         * c-typeck.c (build_c_cast): Warn about type punning which breaks
3063         type based aliasing.
3064
3065 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
3066
3067         * stor-layout.c (update_alignment_for_field): New function.
3068         (place_union_field): Use it.
3069         (place_field): Likewise.
3070
3071 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
3072
3073         PR other/8077
3074         * gcc.c (cc1_options): Add space on -auxbase-strip.
3075
3076 2002-10-01  Jim Wilson  <wilson@redhat.com>
3077
3078         * config/v850/v850.h (EPILOGUE_USES): Define.
3079
3080 2002-09-30  Andrew Haley  <aph@redhat.com>
3081
3082         * flow.c (insn_dead_p): When using non-call-exceptions, don't
3083         eliminate insns that may trap.
3084         * cse.c (insn_live_p): Likewise.
3085
3086 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
3087
3088         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
3089         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
3090         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
3091         * config/mips/mips.md: Apply same renaming here.
3092
3093 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
3094
3095         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
3096         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
3097         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
3098         * config/mips/mips.md (define_attr cpu): Remove r4320.
3099         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
3100
3101 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
3102
3103         * config/mips/mips.c (mips16_strings): New variable.
3104         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
3105         symbol in mips16_strings.  Free the list.
3106         (mips_encode_section_info): Keep track of local strings.
3107
3108 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
3109
3110         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
3111         (sordered_df, sordered_sf): Remove.
3112         * config/mips/mips.c (get_float_compare_codes): New fn.
3113         (gen_int_relational, gen_conditional_move): Use it.
3114
3115 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
3116
3117         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
3118         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
3119         * config/mips/mips.c (fcc_register_operand): New function.
3120         (mips_emit_fcc_reload): New function, extracted from reload_incc.
3121         (override_options): Allow TFmode values in float registers
3122         if ISA_HAS_8CC.
3123         * cnfig/mips/mips.md (reload_incc): Change destination prediate
3124         to fcc_register_operand.  Remove misleading source constraint.
3125         Use mips_emit_fcc_reload.
3126         (reload_outcc): Duplicate reload_incc.
3127
3128 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3129
3130         * longlong.h: Partially synchronize with GMP-4.1 version:
3131         Use i370 definitions also for s390.
3132         Add generic definition of umul_ppmm in terms of smul_ppmm.
3133         [s390] (umul_ppmm): Remove.
3134         [s390] (smul_ppmm): Fix incorrect assembler constraints.
3135         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
3136
3137 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
3138
3139         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3140         Add new RL_REGS register class.
3141         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
3142         Call xtensa_preferred_reload_class for both input and output reloads.
3143         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
3144         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
3145         instead of either AR_REGS or GR_REGS classes.
3146         (xtensa_secondary_reload_class): Use new RL_REGS class.
3147         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
3148
3149 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3150
3151         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
3152         (pa_strip_name_encoding): Strip '@' and '*', in that order.
3153         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
3154         there is a '*' prefix in NAME.
3155
3156 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
3157
3158         * reload.c (push_reload): Handle subregs and secondary memory.
3159         * reload1.c (gen_reload): Likewise.
3160
3161         * jump.c (reg_or_subregno): New function.
3162         * rtl.h (reg_or_subregno): Declare
3163         * unroll.c (find_splittable_givs): Handle subregs.
3164
3165 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
3166
3167         * store-layout.c (finish_record_layout): Add free_p parameter.
3168         (layout_type): Pass it.
3169         * tree.h (finish_record_layout): Update prototype.
3170
3171 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
3172
3173         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
3174
3175         * gcse.c (cprop_jump): Check that the register has not
3176         been modified
3177         (cprop_jump): Likewise.
3178
3179 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
3180
3181         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
3182         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
3183         that we have a SImode access, and only then if reload hasn't completed;
3184         for all other cases, use LO_REGS.
3185
3186 2002-09-29  Richard Henderson  <rth@redhat.com>
3187
3188         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
3189
3190 2002-09-29  Richard Henderson  <rth@redhat.com>
3191
3192         PR c/8002
3193         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
3194         for CONST_INT.
3195
3196 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
3197
3198         * real.h (ibm_extended_format): Declare.
3199         * real.c (encode_ibm_extended, decode_ibm_extended): New
3200         functions.
3201
3202 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3203
3204         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
3205
3206         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
3207
3208 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3209
3210         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
3211
3212 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3213
3214         * builtins.def: Fix comment formatting.
3215         * c-common.def: Likewise.
3216         * cfgcleanup.c: Likewise.
3217         * combine.c: Likewise.
3218         * gengtype.c: Likewise.
3219         * params.def: Likewise.
3220         * predict.def: Likewise.
3221         * rtl.def: Likewise.
3222         * stab.def: Likewise.
3223         * stor-layout.c: Likewise.
3224         * tree.def: Likewise.
3225         * config/darwin.c: Likewise.
3226         * config/darwin.h: Likewise.
3227         * config/dbxcoff.h: Likewise.
3228         * config/elfos.h: Likewise.
3229         * config/fp-bit.c: Likewise.
3230         * config/freebsd-spec.h: Likewise.
3231         * config/interix.h: Likewise.
3232         * config/libgloss.h: Likewise.
3233         * config/linux-aout.h: Likewise.
3234         * config/linux.h: Likewise.
3235         * config/lynx-ng.h: Likewise.
3236         * config/lynx.h: Likewise.
3237         * config/netbsd-aout.h: Likewise.
3238         * config/netbsd.h: Likewise.
3239         * config/netware.h: Likewise.
3240         * config/psos.h: Likewise.
3241         * config/ptx4.h: Likewise.
3242
3243 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
3244
3245         * ChangeLog.4: Fix typos.
3246         * ChangeLog.6: Likewise.
3247         * FSFChangeLog.10: Likewise.
3248         * genattrtab.c: Fix comment typos.
3249         * haifa-sched.c: Likewise.
3250         * real.c: Likewise.
3251         * tree.h: Likewise.
3252         * config/arm/arm.c: Likewise.
3253         * config/arm/crti.asm: Likewise.
3254         * config/arm/crtn.asm: Likewise.
3255         * config/frv/frv.c: Likewise.
3256         * config/frv/frv.md: Likewise.
3257         * config/h8300/h8300.md: Likewise.
3258         * config/i386/rtemself.h: Likewise.
3259         * config/ia64/unwind-ia64.c: Likewise.
3260         * config/ip2k/ip2k.h: Likewise.
3261         * config/m88k/m88k.c: Likewise.
3262         * config/m88k/m88k.md: Likewise.
3263         * config/mips/sr71k.md: Likewise.
3264         * config/mmix/mmix.c: Likewise.
3265         * config/rs6000/rs6000.c: Likewise.
3266         * config/sh/sh.md: Likewise.
3267
3268 2002-09-26  Theodore A. Roth  <troth@verinet.com>
3269
3270         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
3271         * config/avr/avr.md: Ditto.
3272
3273 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
3274
3275         PR preprocessor/8055
3276         * cppmacro.c (stringify_arg): Do not overflow the buffer
3277         with the terminating NUL when the argument to be stringified
3278         has no tokens.
3279
3280 2002-09-27  Richard Henderson  <rth@redhat.com>
3281
3282         * unroll.c (simplify_cmp_and_jump_insns): New.
3283         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
3284         instead of expand_simple_foo.
3285
3286 2002-09-27  Richard Henderson  <rth@redhat.com>
3287
3288         PR optimization/7520
3289         * cfganal.c (flow_active_insn_p): New.
3290         (forwarder_block_p): Use it.
3291
3292 2002-09-27  Richard Henderson  <rth@redhat.com>
3293
3294         * emit-rtl.c (active_insn_p): Revert last change.
3295
3296 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
3297
3298         * doc/extend.texi (tls_model): Document.
3299         * varasm.c (decl_tls_model): New.
3300         * c-common.c (handle_tls_model_attribute): New.
3301         (c_common_attribute_table): Add tls_model.
3302         * config/alpha/alpha.c (alpha_encode_section_info): Use
3303         decl_tls_model.
3304         * flags.h (enum tls_model, flag_tls_default): Move...
3305         * tree.h (enum tls_model, flag_tls_default): ...here.
3306         (decl_tls_model): New prototype.
3307         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
3308         * config/i386/i386.c (ix86_encode_section_info): Likewise.
3309         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
3310         Allow !flag_pic.
3311
3312 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
3313
3314         * LANGUAGES: Follow spelling conventions.
3315         * rtl.def: Likewise.
3316         * sbitmap.c: Likewise.
3317         * sched-int.h: Likewise.
3318         * sched-rgn.c: Likewise.
3319         * sibcall.c: Likewise.
3320         * simplify-rtx.c: Likewise.
3321         * ssa.c: Likewise.
3322         * stab.def: Likewise.
3323         * stmt.c: Likewise.
3324         * stor-layout.c: Likewise.
3325         * target.h: Likewise.
3326         * timevar.c: Likewise.
3327         * toplev.c: Likewise.
3328         * tree-dump.c: Likewise.
3329         * tree-inline.c: Likewise.
3330         * tree.c: Likewise.
3331         * tree.def: Likewise.
3332         * tree.h: Likewise.
3333         * unroll.c: Likewise.
3334         * varasm.c: Likewise.
3335         * vmsdbgout.c: Likewise.
3336         * treelang/treelang.texi: Likewise.
3337         * treelang/treetree.c: Likewise.
3338
3339 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
3340
3341         * config/h8300/h8300.c (compute_saved_regs): Use a macro
3342         instead of a hard register number.
3343         (get_shift_alg): Use an enumerated type instead of numbers.
3344         (h8300_shift_needs_scratch_p): Likewise.
3345
3346 2002-09-26  David S. Miller  <davem@redhat.com>
3347
3348         PR optimization/7335
3349         * calls.c (emit_library_call_value_1): Passing args by reference
3350         converts a CONST function into a PURE one.
3351
3352 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
3353
3354         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
3355         text_section.
3356         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
3357         text section.
3358         * config/rs6000/rs6000.c (rs6000_override_options): Allow
3359         function-sections and data-sections functionality on AIX.
3360
3361 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
3362             Dale Johannesen  <dalej@apple.com>
3363
3364         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
3365         in RTL for sub-word loads from memory.
3366
3367 2002-09-26  Richard Henderson  <rth@redhat.com>
3368
3369         PR c/7160
3370         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
3371         on call insns.
3372
3373 2002-09-26  Richard Henderson  <rth@redhat.com>
3374
3375         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
3376
3377 2002-09-26  Chris Lattner  <sabre@nondot.org>
3378
3379         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
3380         handling undefined values.
3381
3382 2002-09-26  Richard Henderson  <rth@redhat.com>
3383
3384         PR opt/7520
3385         * emit-rtl.c (active_insn_p): Consider a clobber of the
3386         function return value to be active even after reload.
3387
3388 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
3389
3390         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
3391         by absolute loop increment, not loop increment.
3392
3393 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
3394
3395         * c-common.h: Follow spelling conventions.
3396         * cpplex.c: Likewise.
3397         * cpplib.h: Likewise.
3398         * gthr-dce.h: Likewise.
3399         * gthr-posix.h: Likewise.
3400         * optabs.c: Likewise.
3401         * output.h: Likewise.
3402         * profile.c: Likewise.
3403         * protoize.c: Likewise.
3404         * ra-rewrite.c: Likewise.
3405         * real.c: Likewise.
3406         * recog.c: Likewise.
3407         * reg-stack.c: Likewise.
3408         * regclass.c: Likewise.
3409         * regmove.c: Likewise.
3410         * reload.c: Likewise.
3411         * reload.h: Likewise.
3412         * reload1.c: Likewise.
3413         * reorg.c: Likewise.
3414         * resource.c: Likewise.
3415         * rtl.h: Likewise.
3416         * rtlanal.c: Likewise.
3417
3418 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
3419
3420         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
3421         for symbol address.
3422
3423 2002-09-24  Eric Christopher  <echristo@redhat.com>
3424
3425         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
3426         * config/mips/elf64.h: Ditto.
3427
3428 2002-09-24  Eric Christopher  <echristo@redhat.com>
3429
3430         * except.c (expand_builtin_extract_return_address): Handle case
3431         where Pmode != ptr_mode.
3432
3433 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
3434
3435         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
3436
3437 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
3438
3439         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
3440
3441 2002-09-26  Igor Shevlyakov <igor@microunity.com>
3442
3443         * combine.c (simplify_set): Don't call to force_to_mode if size
3444         of integer type is larger than HOST_BITS_PER_WIDE_INT.
3445
3446 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
3447
3448         * Makefile.in (qmtest-g++): Fix file path.
3449
3450 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
3451
3452         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
3453         A + (-const) on RTX level, even for unsigned types.
3454
3455 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
3456
3457         * reload.c (dup_replacements): New function.
3458         (find_reloads): Use it to duplicate replacements at the top level
3459         of match_dup operands.
3460
3461 2002-09-26  Miles Bader  <miles@gnu.org>
3462
3463         * v850.md ("length"): Change default value to 4.
3464
3465 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
3466
3467         * ChangeLog.1: Follow spelling conventions.
3468         * ChangeLog.4: Likewise.
3469         * ChangeLog.6: Likewise.
3470         * FSFChangeLog.11: Likewise.
3471         * doc/cpp.texi: Likewise.
3472         * doc/invoke.texi: Likewise.
3473         * doc/tm.texi: Likewise.
3474
3475 2002-09-26  Nick Clifton  <nickc@redhat.com>
3476
3477         * config.gcc: Add x prefix to v850e case for handling
3478         --with-cpu=v850e.
3479
3480 2002-09-25  David S. Miller  <davem@redhat.com>
3481
3482         PR target/7842
3483         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
3484         extend.
3485
3486 2002-09-25  Richard Henderson  <rth@redhat.com>
3487
3488         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
3489         fp CONST_DOUBLE; use real_identical.
3490
3491 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
3492
3493         * doc/invoke.texi: Add more -Wabi examples.
3494
3495 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
3496
3497         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
3498
3499 2002-09-24  Denis Chertykov  <denisc@overta.ru>
3500
3501         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
3502         cases of optimizing "add sp,w" to "inc sp".
3503
3504 2002-09-24  Adam Nemet  <anemet@lnxw.com>
3505
3506         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
3507         epilogue for naked functions.
3508
3509 2002-09-24  Adam Nemet  <anemet@lnxw.com>
3510             Nick Clifton  <nickc@redhat.com>
3511
3512         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
3513         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
3514         is defined.
3515
3516 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
3517
3518         * config/s390/s390.c (preferred_la_operand_p): New function.
3519         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
3520         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
3521         ("*la_64_cc", "*la_31_cc", splitters): ... these.
3522         ("*la_31"): Deactivate for TARGET_64BIT.
3523         ("*la_31_and", "*la_31_and_cc"): New.
3524
3525 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3526
3527         * real.h (real_value): Make `exp' explicitly signed.
3528
3529 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
3530
3531         * config/elfos.h: Follow spelling conventions.
3532         * config/alpha/alpha.h: Likewise.
3533         * config/arc/arc.h: Likewise.
3534         * config/arm/arm.md: Likewise.
3535         * config/avr/avr.h: Likewise.
3536         * config/cris/cris.md: Likewise.
3537         * config/d30v/d30v.h: Likewise.
3538         * config/frv/frv.c: Likewise.
3539         * config/frv/frv.h: Likewise.
3540         * config/h8300/h8300.c: Likewise.
3541         * config/h8300/h8300.h: Likewise.
3542         * config/h8300/h8300.md: Likewise.
3543         * config/i386/cygwin.h: Likewise.
3544         * config/i386/i386.h: Likewise.
3545         * config/i386/sysv3.h: Likewise.
3546         * config/i960/i960.h: Likewise.
3547         * config/ia64/ia64.h: Likewise.
3548         * config/ia64/ia64.md: Likewise.
3549         * config/ip2k/ip2k.h: Likewise.
3550         * config/m32r/m32r.h: Likewise.
3551         * config/m68k/m68k.h: Likewise.
3552         * config/m88k/m88k.h: Likewise.
3553         * config/mcore/mcore.c: Likewise.
3554         * config/mcore/mcore.h: Likewise.
3555         * config/mcore/mcore.md: Likewise.
3556         * config/mips/mips.h: Likewise.
3557         * config/mmix/mmix.h: Likewise.
3558         * config/mmix/mmix.md: Likewise.
3559         * config/ns32k/netbsd.h: Likewise.
3560         * config/ns32k/ns32k.h: Likewise.
3561         * config/ns32k/ns32k.md: Likewise.
3562         * config/pa/pa.h: Likewise.
3563         * config/romp/romp.h: Likewise.
3564         * config/rs6000/rs6000.h: Likewise.
3565         * config/rs6000/rs6000.md: Likewise.
3566         * config/sparc/sparc.h: Likewise.
3567         * config/stormy16/stormy-abi: Likewise.
3568         * config/stormy16/stormy16.h: Likewise.
3569         * config/vax/vax.h: Likewise.
3570
3571 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
3572
3573         * version.c (version_string): Now const char[].
3574         * version.h: Update to match.
3575
3576 2002-09-23  Richard Henderson  <rth@redhat.com>
3577
3578         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
3579         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
3580         (TARGET_SWITCHES): Don't reference them.
3581         * config/i386/i386.c (override_options): Use target_flags_explicit
3582         to examine bits set by the user.
3583
3584 2002-09-23  Dale Johannesen  <dalej@apple.com>
3585
3586         * dbxout.c (dbxout_parms):  Set current_sym_code for params
3587         passed on stack by invisible reference.
3588
3589 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
3590
3591         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
3592         at least one byte of space.
3593
3594 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
3595
3596         * c-common.h (flag_abi_version): Fix typo in comment.
3597         * doc/invoke.texi (flag_abi_version): Document default value.
3598
3599 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
3600
3601         * doc/extend.texi (Extended Asm): Clarify that overlap between
3602         asm-declared register variables used in an asm and the asm clobber
3603         list is not allowed.
3604         * stmt.c (decl_conflicts_with_clobbers_p): New function.
3605         (expand_asm_operands): Keep track of clobbered registers.  Call
3606         decl_conflicts_with_clobbers_p for each input and output operand.
3607         If no conflicts found before, also do conflict sanity check when
3608         emitting clobbers.
3609
3610 2002-09-23  Richard Henderson  <rth@redhat.com>
3611
3612         * c-common.c (cpp_define_data_format): Remove.
3613         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
3614         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
3615         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
3616         * doc/cpp.texi: Don't document them either.
3617         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
3618         __LONG_LONG_MAX__): Document.
3619         (__TARGET_FLOAT_FORMAT__): Remove.
3620
3621 2002-09-23  Richard Henderson  <rth@redhat.com>
3622
3623         * real.c (do_multiply): Normalize U before addition.
3624
3625 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
3626
3627         * c-common.c (flag_abi_version): New variable.
3628         * c-common.h (flag_abi_version): Declare it.
3629         * c-opts.c (missing_arg): Add -fabi-version.
3630         (c_common_decode_option): Process -fabi-version.
3631         * doc/invoke.texi (-fabi-version): Document it.
3632         (-Wabi): Add information about bit-fields in unions.
3633
3634 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
3635
3636         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
3637         unless -fno-pic or -fno-PIC is specified.
3638
3639 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3640
3641         * c-common.c (preprocessing_trad_p): Define.
3642         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
3643         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
3644         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
3645         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
3646         * pa-linux.h (CPP_PREDEFINES): Delete.
3647         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
3648         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
3649         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
3650         (TARGET_OS_CPP_BUILTINS): Define.
3651         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
3652         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
3653         (SUBTARGET_SWITCHES): Provide default definition.
3654         (TARGET_OPTIONS): Reformat.  Use N_() macro.
3655         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
3656         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
3657         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
3658         (TARGET_CPU_CPP_BUILTINS): Define.
3659         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
3660         * doc/invoke.texi (msio, mwsio): Document new hppa options.
3661         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
3662         preprocessing_trad_p().
3663
3664 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
3665
3666         * doc/install.texi: Document behavior of --with-headers and
3667         --with-libs when arguments are omitted.
3668
3669 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
3670
3671         * dbxout.c: Follow spelling conventions.
3672         * defaults.h: Likewise.
3673         * df.c: Likewise.
3674         * diagnostic.h: Likewise.
3675         * doloop.c: Likewise.
3676         * dwarf2out.c: Likewise.
3677         * dwarfout.c: Likewise.
3678         * emit-rtl.c: Likewise.
3679         * except.c: Likewise.
3680         * explow.c: Likewise.
3681         * expmed.c: Likewise.
3682         * expr.c: Likewise.
3683         * expr.h: Likewise.
3684         * flags.h: Likewise.
3685         * flow.c: Likewise.
3686         * fold-const.c: Likewise.
3687         * function.c: Likewise.
3688         * function.h: Likewise.
3689         * gcc.c: Likewise.
3690         * gcov-io.h: Likewise.
3691         * gcov.c: Likewise.
3692         * gcse.c: Likewise.
3693         * genattrtab.c: Likewise.
3694         * genconfig.c: Likewise.
3695         * genrecog.c: Likewise.
3696         * ggc-page.c: Likewise.
3697         * ggc.h: Likewise.
3698         * global.c: Likewise.
3699         * gthr-win32.h: Likewise.
3700         * integrate.c: Likewise.
3701         * jump.c: Likewise.
3702         * langhooks.c: Likewise.
3703         * langhooks.h: Likewise.
3704         * line-map.h: Likewise.
3705         * local-alloc.c: Likewise.
3706         * longlong.h: Likewise.
3707         * loop.c: Likewise.
3708         * loop.h: Likewise.
3709
3710 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
3711
3712         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
3713
3714 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
3715
3716         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
3717         for -Os/TARGET_64BIT too.
3718
3719 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
3720
3721         * ChangeLog: Follow spelling conventions.
3722         * ChangeLog.0: Likewise.
3723         * ChangeLog.1: Likewise.
3724         * ChangeLog.2: Likewise.
3725         * ChangeLog.3: Likewise.
3726         * ChangeLog.4: Likewise.
3727         * ChangeLog.5: Likewise.
3728         * ChangeLog.6: Likewise.
3729         * FSFChangeLog.10: Likewise.
3730         * FSFChangeLog.11: Likewise.
3731         * alias.c: Likewise.
3732         * basic-block.h: Likewise.
3733         * c-aux-info.c: Likewise.
3734         * c-common.c: Likewise.
3735         * c-common.h: Likewise.
3736         * c-decl.c: Likewise.
3737         * c-format.c: Likewise.
3738         * c-semantics.c: Likewise.
3739         * c-typeck.c: Likewise.
3740         * calls.c: Likewise.
3741         * cfganal.c: Likewise.
3742         * cfgloop.c: Likewise.
3743         * collect2.c: Likewise.
3744         * combine.c: Likewise.
3745         * conflict.c: Likewise.
3746         * cppexp.c: Likewise.
3747         * cppfiles.c: Likewise.
3748         * cpphash.h: Likewise.
3749         * cppinit.c: Likewise.
3750         * cpplex.c: Likewise.
3751         * cpplib.c: Likewise.
3752         * cpplib.h: Likewise.
3753         * cppmacro.c: Likewise.
3754         * cse.c: Likewise.
3755
3756 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
3757
3758         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
3759         LINK_SPEC.
3760         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
3761         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
3762         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
3763
3764 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
3765
3766         PR opt/7930
3767         * cse.c (fold_rtx): Calculate old_cost before we fold each
3768         operand.
3769
3770 2002-09-21  Richard Henderson  <rth@redhat.com>
3771
3772         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
3773         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
3774         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
3775         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
3776         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
3777         * doc/cpp.texi: Don't document them.
3778
3779 2002-09-21  Richard Henderson  <rth@redhat.com>
3780
3781         * c-common.c (builtin_define_float_constants): Use real_format
3782         to get the floating-point parameters.
3783
3784 2002-09-21  Richard Henderson  <rth@redhat.com>
3785
3786         * real.c (struct real_format): Move to real.h.
3787         (real_format_for_mode): Rename from fmt_for_mode; update all users;
3788         initialize with ieee defaults.
3789         (real_to_target_fmt, real_from_target_fmt): New.
3790         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
3791         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3792         ieee_quad_format, i370_single_format, i370_double_format,
3793         c4x_single_format, c4x_extended_format): Rename from s/_format//.
3794         (ieee_quad_format): Fix emin.
3795         (format_for_size, init_real_once): Remove.
3796         * real.h (struct real_format): Move from real.c.
3797         (real_format_for_mode): Declare.
3798         (real_to_target_fmt, real_from_target_fmt): Declare.
3799         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
3800         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3801         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
3802         i370_single_format, i370_double_format, c4x_single_format,
3803         c4x_extended_format): Declare.
3804         * toplev.c (do_compile): Don't call init_real_once.
3805
3806         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
3807         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
3808
3809         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
3810         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
3811         * config/alpha/alpha.c (override_options): Set real_format_for_mode
3812         for VAX, if enabled.
3813
3814         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
3815         for C4X.
3816
3817         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
3818         * config/i370/i370.c (override_options): New.
3819         * config/i370/i370-protos.h: Update.
3820
3821         * config/i386/i386.c (override_options): Set real_format_for_mode
3822         for Intel 80-bit extended.
3823         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
3824
3825         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
3826         (OVERRIDE_OPTIONS): Move code...
3827         * config/i960/i960.c (i960_initialize): ... here.  Set
3828         real_format_for_mode for Intel 80-bit extended.
3829
3830         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
3831         for Intel 80-bit extended, if enabled.
3832
3833         * config/m68k/m68k.c (override_options): Set real_format_for_mode
3834         for Motorola 96-bit extended.
3835
3836         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
3837         * config/vax/vax.c (override_options): New.
3838         * config/vax/vax-protos.h: Update.
3839
3840 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
3841
3842         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
3843         #if TARGET_MACHO.
3844
3845         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
3846         insns.  Supply missing clobber of scratch reg.
3847
3848 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
3849
3850         * config/m32r/m32r.c: Follow spelling conventions.
3851         * config/m32r/m32r.h: Likewise.
3852         * config/m32r/m32r.md: Likewise.
3853         * config/m68k/m68k.c: Likewise.
3854         * config/m88k/m88k.c: Likewise.
3855         * config/mcore/mcore.c: Likewise.
3856         * config/mips/mips.c: Likewise.
3857         * config/mips/mips.h: Likewise.
3858         * config/mmix/mmix.c: Likewise.
3859         * config/mn10200/mn10200.c: Likewise.
3860         * config/ns32k/ns32k.h: Likewise.
3861         * config/pa/pa.c: Likewise.
3862         * config/pa/pa64-linux.h: Likewise.
3863         * config/pdp11/pdp11.h: Likewise.
3864         * config/romp/romp.c: Likewise.
3865         * config/romp/romp.h: Likewise.
3866         * config/rs6000/eabi.asm: Likewise.
3867         * config/rs6000/linux64.h: Likewise.
3868         * config/rs6000/rs6000.c: Likewise.
3869         * config/rs6000/rs6000.h: Likewise.
3870         * config/rs6000/rs6000.md: Likewise.
3871         * config/rs6000/sysv4.h: Likewise.
3872         * config/rs6000/xcoff.h: Likewise.
3873
3874 2002-09-20  Jim Wilson  <wilson@redhat.com>
3875
3876         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
3877
3878 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
3879
3880         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
3881         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
3882         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
3883         (legitimate_address_p): Likewise.
3884         (legitimize_address): Use @gotntpoff and @indntpoff.
3885         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
3886         (output_addr_const_extra): Likewise.
3887
3888 2002-09-20  Jim Wilson  <wilson@redhat.com>
3889
3890         * combine.c (try_combine): When split an instruction pair, where the
3891         first has a sign_extend src, verify that the src and dest modes match.
3892
3893 2002-09-20  Richard Henderson  <rth@redhat.com>
3894
3895         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
3896         (override_options): Do not initialize them.
3897         (mips_const_double_ok): Allow no fp constants except zero,
3898         and not even that for mips16.
3899         (const_float_1_operand): Use dconst1.
3900         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
3901         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
3902         Don't allow arbitrary constants; fix predicates and C constraint.
3903
3904 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
3905
3906         * cppmacro.c: Don't warn about function-like macros without
3907         '(' during pre-expansion.
3908
3909 2002-09-20  Jim Wilson  <wilson@redhat.com>
3910
3911         * config/v850/v850.c (current_function_anonymous_args): Delete.
3912         (expand_prologue): Use current_function_args_info.anonymous_args.
3913         (expand_epilogue): Delete use of current_function_anonymous_args.
3914         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
3915         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
3916         (current_function_anonymous_args): Delete extern declaration.
3917         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
3918
3919 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
3920
3921         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
3922         to load_macho_picbase.
3923         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
3924         (load_macho_picbase): Take the symbol to use as a parameter.
3925         (macho_correct_pic): New insn.
3926         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
3927
3928         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
3929         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
3930         (CAN_ELIMINATE): Likewise.
3931         (INITIAL_ELIMINATION_OFFSET): Likewise.
3932         (TOC_REGISTER): Likewise.
3933
3934 2002-09-20  Richard Henderson  <rth@redhat.com>
3935
3936         * real.c (real_hash): New.
3937         * real.h: Declare it.
3938         * cse.c (canon_hash): Use it.
3939         * cselib.c (hash_rtx): Likewise.
3940         * emit-rtl.c (const_double_htab_hash): Likewise.
3941         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
3942         * varasm.c (struct rtx_const): Reduce vector size; separate
3943         integer and fp vectors.
3944         (HASHBITS): Remove.
3945         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
3946         take modulus MAX_HASH_TABLE.
3947         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
3948         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
3949         (SYMHASH): Don't use HASHBITS.
3950         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
3951         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
3952         (simplify_subtraction): Fix kind comparison.
3953         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
3954         Use a union to pun integer array.
3955         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
3956         only hash two words of integral CONST_DOUBLE.
3957
3958 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
3959
3960         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
3961         (STARTFILE_PREFIX_SPEC): New.
3962         (LINK_SPEC): Modify.
3963         (LIB_SPEC): Modify.
3964         (LIBGCC_SPEC): New.
3965
3966 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
3967
3968         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
3969         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
3970
3971 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
3972
3973         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
3974         Add clobber of the condition code register.
3975
3976 2002-09-20  Richard Henderson  <rth@redhat.com>
3977
3978         * real.c (do_fix_trunc): Static.
3979         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
3980         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
3981         encode_i370_single, encode_i370_double, encode_c4x_single,
3982         encode_c4x_extended): Add default abort case.
3983
3984 2002-09-20  Richard Henderson  <rth@redhat.com>
3985
3986         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
3987         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
3988         (struct realvaluetype): Remove.
3989         (REAL_VALUE_TYPE): Use struct real_value.
3990         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
3991         (test_real_width): New.
3992         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
3993         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
3994         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
3995         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
3996         real_to_integer, real_to_integer2, real_to_decimal,
3997         real_to_hexadecimal, real_from_string, real_from_integer,
3998         real_inf, real_nan, real_2expN, real_convert, real_to_target,
3999         real_from_target): Likewise.
4000         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
4001         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
4002
4003 2002-09-20  Richard Henderson  <rth@redhat.com>
4004
4005         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
4006         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
4007         * defaults.h: ... here.
4008         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
4009         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
4010         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
4011         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
4012
4013 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
4014
4015         * config/mmix/mmix.md ("negdf2"): Rewrite.
4016         ("*expanded_negdf2"): New.
4017
4018 2002-09-19  Jim Wilson  <wilson@redhat.com>
4019
4020         * combine.c (simplify_set): When optimizing a subreg src with a
4021         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
4022
4023 2002-09-19  Dale Johannesen <dalej@apple.com>
4024         * combine.c (make_extraction): Don't create
4025         invalid subreg.
4026
4027 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
4028
4029         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
4030         and STRICT_LOW_PART within SET_DEST.
4031         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
4032         splitters, replacing pre-reload splitters.
4033         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
4034         "*zero_extendqihi2_31"): New insns.
4035         ("*zero_extendqihi2_64"): Do not clobber CC.
4036
4037 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
4038
4039         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
4040         (DTORS_SECTION_ASM_OP): Ditto.
4041         (READONLY_DATA_SECTION_ASM_OP): Moved.
4042         (DATA_SECTION_ASM_OP): New.
4043         (SDATA_SECTION_ASM_OP): New.
4044         (BSS_SECTION_ASM_OP): New.
4045         (SBSS_SECTION_ASM_OP): New.
4046         (TEXT_SECTION_ASM_OP): New.
4047
4048 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
4049
4050         * config/fp-bit.c: Follow spelling conventions.
4051         * config/d30v/d30v.c: Likewise.
4052         * config/d30v/d30v.h: Likewise.
4053         * config/fr30/fr30.c: Likewise.
4054         * config/fr30/fr30.h: Likewise.
4055         * config/fr30/fr30.md: Likewise.
4056         * config/frv/frv.c: Likewise.
4057         * config/frv/frv.h: Likewise.
4058         * config/h8300/h8300.c: Likewise.
4059         * config/h8300/lib1funcs.asm: Likewise.
4060         * config/i370/i370.c: Likewise.
4061         * config/i386/i386.h: Likewise.
4062         * config/i386/i386.md: Likewise.
4063         * config/i386/pentium.md: Likewise.
4064         * config/i386/winnt.c: Likewise.
4065         * config/i960/i960.c: Likewise.
4066         * config/ia64/ia64.h: Likewise.
4067         * config/ip2k/ip2k.c: Likewise.
4068         * config/ip2k/ip2k.h: Likewise.
4069         * config/ip2k/ip2k.md: Likewise.
4070         * config/ip2k/libgcc.S: Likewise.
4071
4072 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
4073
4074         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
4075         (GOTOFF_P): Extend to allow gotoff plus constant.
4076
4077 2002-09-18  Richard Henderson  <rth@redhat.com>
4078
4079         * ifcvt.c (noce_process_if_block): Correctly detect X modified
4080         with INSN_B before COND_EARLIEST.  Don't check A and B for
4081         modification in condition range.  Reorder INSN_B for A==B properly.
4082         (if_convert): Iterate until no matches for a block.
4083
4084 2002-09-18  Richard Henderson  <rth@redhat.com>
4085
4086         * calls.c (store_one_arg): Rename default_align to parm_align;
4087         always adjust parm_align for downward padding.
4088
4089 2002-09-18  Richard Henderson  <rth@redhat.com>
4090
4091         * toplev.c (backend_init): Move init_real_once invocation ...
4092         (do_compile): ... here.
4093
4094 2002-09-18  Richard Henderson  <rth@redhat.com>
4095
4096         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
4097         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
4098
4099 2002-09-18  Richard Henderson  <rth@redhat.com>
4100
4101         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
4102
4103 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
4104
4105         * config/rs6000/rs6000.md: (floatdisf2): Rename to
4106         floatdisf2_internal1.
4107         (floatdisf2): New define_expand.
4108         (floatdisf2_internal2): Likewise.
4109
4110 2002-09-18  Richard Henderson  <rth@redhat.com>
4111
4112         * real.c (sticky_rshift_significand): Collect sticky as
4113         unsigned long, not bool.
4114
4115 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
4116
4117         * config/s390/s390.c (s390_address_cost): New function.
4118         config/s390/s390-protos.h (s390_address_cost): Add prototype.
4119         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
4120         (RTX_COST): Use COSTS_N_INSNS.
4121
4122 2002-09-18  Douglas Rupp  <rupp@gnat.com>
4123             Donn Terry  <donnte@microsoft.com>
4124
4125         * stor-layout.c (place_field): Handle alignment of whole
4126         structures when MSVC compatible bitfields are involved.
4127         Change method of computing location of MS bitfields to
4128         be compatible with #pragma pack(n).
4129
4130         * tree.h (record_layout_info): Add new field
4131         remaining_in_alignment.
4132
4133         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
4134         (pragma pack): Add paragraph on MSVC bit-field packing.
4135
4136 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
4137