OSDN Git Service

ee24ef77f204f0d60451f93162d0ed44ffc7c7a0
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2
3         * cpplex.c (_cpp_lex_token): Handle directives in macro
4         arguments.
5         * cpplib.c (_cpp_handle_directive): Save and restore state
6         if parsing macro args when entering a directive.
7         * cppmacro.c (collect_args): No need to handle directives
8         in macro arguments.
9         (enter_macro_context, replace_args): Use the original macro
10         definition in case it was redefined whilst collecting arguments.
11 doc:
12         * cpp.texi: Update.
13
14 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
15
16         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
17         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
18         * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
19         method on AIX.
20         * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21         (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
22         (load_toc_v4_PIC_2): Same.
23
24 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
25
26         * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
27
28 2002-02-26  Richard Henderson  <rth@redhat.com>
29
30         * config/alpha/alpha.md (ashldi_se): Re-enable.
31
32 2002-02-26  Richard Henderson  <rth@redhat.com>
33
34         * config/alpha/alpha.c (alpha_encode_section_info): Examine
35         MODULE_LOCAL_P; improve commentary.
36
37 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
38
39         * doc/cpp.texi: Clarify documentation of relationship between
40         #line and #include.
41
42 2002-02-26  Kazu Hirata  <kazu@hxi.com>
43
44         * config/h8300/h8300-protos.h: Update the prototype for
45         compute_logical_op_length.  Add the prototype for
46         compute_logical_op_cc.
47         * config/h8300/h8300.c (compute_logical_op_length): Figure out
48         code from operands.
49         (compute_logical_op_cc): New.
50         * config/h8300/h8300.md: Combine all the logical op patterns
51         in HImode and SImode.  Use compute_logical_op_cc.
52
53 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
54
55         * config/i386/i386.c (print_operand): Don't append ATT-style
56         length suffixs to x87 opcodes when in Intel mode.
57
58 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
59
60         * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
61         (init_emit_once): Update calls.
62         * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
63         (init_syntax_once): Prototype.
64
65 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
66
67         * pa-linux.h (LIB_SPEC): Update definition.
68         * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
69
70 2002-02-26  Richard Henderson  <rth@redhat.com>
71
72         * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
73         if we emitted a stop bit.
74
75 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
76
77         * configure.in (libgcc_visibility): Substitute.
78         * configure: Rebuilt.
79         * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
80         defined symbols .hidden.
81
82 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
83
84         * attribs.c (c_common_attribute_table): Add visibility.
85         (handle_visibility_attribute): New function.
86         * varasm.c (assemble_visibility): New function.
87         * output.h (assemble_visibility): Add prototype.
88         * tree.h (MODULE_LOCAL_P): Define.
89         * crtstuff.c (__dso_handle): Use visibility attribute.
90         * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
91         for MODULE_LOCAL_P symbols too.
92         * config/ia64/ia64.c (ia64_encode_section_info): Handle
93         MODULE_LOCAL_P symbols the same way as local symbols.
94         Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
95         into .sdata/.sbss by the user.
96         * doc/extend.texi (Function Attributes): Document visibility
97         attribute.
98
99 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
100
101         PR debug/5770
102         * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
103         STRING_CST initializer spanning the whole variable without
104         embedded zeros.
105         If expand_expr returned MEM, don't use it.
106
107 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
108
109         * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
110         generate a die for the lexical block.
111
112 2002-02-26  Kazu Hirata  <kazu@hxi.com>
113
114         * config/h8300/h8300-protos.h: Add a prototype for
115         compute_logical_op_length.
116         * config/h8300/h8300.c (compute_logical_op_length): New.
117         * config/h8300/h8300.md (anonymous logical patterns): Use
118         compute_logical_op_length for length.
119
120 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
121
122         * dwarf2out.c (modified_type_die): Do not call type_main_variant
123         for vectors.
124         (gen_type_die): Same.
125
126         * attribs.c (handle_vector_size_attribute): Set debug information.
127
128 2002-02-26  Daniel Egger  <degger@fhm.edu>
129
130         * config/rs6000/rs6000.md: Swap define_insn attributes to
131         fix incorrect generation of merge high instructions instead
132         of merge low.
133
134 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
135
136         * c-typeck.c (really_start_incremental_init): Use
137         bitsize_zero_node for vectors.
138
139 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
140
141         * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
142         ("*set_vrsave_internal"): Same.
143
144 2002-02-25  Richard Henderson  <rth@redhat.com>
145
146         * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
147         in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
148
149 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
150
151         PR target/5755
152         * config/i386/i386.c (ix86_return_pops_args): Only pop
153         fake structure return argument if it was passed on the stack.
154
155 2002-02-25  Jason Merrill  <jason@redhat.com>
156
157         * attribs.c (decl_attributes): Also re-layout PARM_DECL and
158         RESULT_DECL.
159
160 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
161
162         * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
163         link with shared_name only.
164         * doc/invoke.texi (Link Options): Document new behavior.
165
166 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
167
168         * c-typeck.c (push_init_level): Handle vectors.
169
170 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
171
172         * config/sparc/sparc.c (const64_high_operand): Zero-extend
173         operands of SPARC_SETHI_P.
174         (input_operand): Likewise.
175         (sparc_emit_set_const32): Likewise.
176         * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
177         (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
178         (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
179         * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
180         (movdi_insn_sp64_vis): Likewise.
181         (movdi split, movdf split): Use SETHI32.
182         * doc/md.texi: Document SPARC constraints L, M and N.
183
184 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
185
186         * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
187         ("*set_vrsave_internal"): use mfspr for Darwin.
188
189         * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
190         gen_get_vrsave_internal.
191
192 Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
193
194         * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
195
196 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
197
198         * cpplex.c (cpp_interpret_charconst): Get signedness or
199         otherwise of wide character constants correct.
200         * cppexp.c (lex): Get signedness of wide charconsts correct.
201
202 Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
203
204         * optabs.c (widen_operand): Only call convert_modes for
205         promoted SUBREG if signedness matches.
206         * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
207
208 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
209
210         * cpplib.c (glue_header_name): Use local buffer to build up
211         header name.
212
213 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
214
215         * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
216
217 2002-02-23  Kazu Hirata  <kazu@hxi.com>
218
219         * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
220         H8/300[HS] separately.
221         * config/h8300/h8300.md: Remove the early clobber constraint
222         from bit field patterns.
223
224 2002-02-23  Kazu Hirata  <kazu@hxi.com>
225
226         * config/h8300/h8300.md (mulqihi3): Tighten predicates to
227         register_operand.
228         (mulhisi3): Likewise.
229         (umulqisi3): Likewise.
230         (umulhisi3): Likewise.
231
232 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
233
234         * cppinit.c (output_deps): Correct test for stdout output.
235         (init_dependency_output): Cure warning.
236
237 Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
238
239         * expr.c (store_expr): When converting expression to promoted
240         equivalent type, allow using SUBREG_REG of TARGET as the target
241         of the expansion of EXP.
242         * loop.c (basic_induction_var, case SUBREG): Always look inside.
243         * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
244         (alpha_emit_set_const): Handle SImode when can't make new pseudos.
245         (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
246         * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
247
248 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
249
250         * doc/contribute.texi, doc/extend.texi, doc/install.texi,
251         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
252         doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
253
254 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
255
256         PR optimization/5747
257         * loop.c (scan_loop): Update reg info if move_movables created new
258         pseudos.
259
260 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
261
262         * gcc.c (init_gcc_spec): Revert last change.
263
264 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
265
266         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
267         gpc_reg_operand constraint.
268
269 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
270
271         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
272         Simplify comparison of `low'.
273         (add_operand): Fix formatting.
274         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
275         (mask_operand): Disallow mask to wrap in 64-bit mode.
276         (rs6000_stack_info): Remove redundant test setting push_p.
277         (output_toc): Fix formatting.
278         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
279         cc_reg_not_cr0_operand constraint.
280         (booldi3, boolcdi3 splitters): Same.
281
282 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
283
284         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
285
286 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
287
288         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
289         gcc invoked with -shared-libgcc.
290
291 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
292
293         PR c++/5748
294         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
295         decl if any of elements was TREE_USED.
296
297 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
298
299         * config/sparc/sol2.h: Don't include sys/mman.h.
300         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
301         (arith_4096_operand): Don't throw high bits away.
302         (const64_operand): Take sign extension of CONST_INTs into account.
303         (const64_high_operand, sparc_emit_set_const32): Likewise.
304         (GEN_HIGHINT64): Likewise.
305         (sparc_emit_set_const64_quick1): Likewise.
306         (const64_is_2insns): Likewise.
307         (print_operand): Use trunc_int_for_mode for sign extension.
308         * config/sparc/sparc.h (SMALL_INT32): Likewise.
309         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
310         chars.  Assume CONST_INT is already properly sign-extended.
311         (movdi split): Sign-extend each SImode part.
312         (andsi3 split): Don't mask high bits off, so that result
313         remains properly sign-extend.
314         (iorsi3 split): Likewise.
315         (xorsi3 split): Likewise.
316
317 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
318
319         * fold-const.c (fold): Fix typo in comments.
320
321 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
322
323         * Makefile.in (langhooks.o): Update dependencies.
324
325 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
326
327         * langhooks.c: Include flags.h.
328
329 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
330
331         * testsuite/gcc.dg/attr-alwaysinline.c: New.
332
333         * c-common.c (c_common_post_options): Set inline trees by
334         default.
335
336         * doc/extend.texi (Function Attributes): Document always_inline
337         attribute.
338         Update documentation about inlining when not optimizing.
339
340         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
341
342         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
343         unless DECL_ALWAYS_INLINE.
344
345         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
346         unless DECL_ALWAYS_INLINE.
347         (c_disregard_inline_limits): Disregard if always_inline set.
348
349         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
350         Disregard if always_inline set.
351         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
352         unless DECL_ALWAYS_INLINE.
353
354         * attribs.c (handle_always_inline_attribute): New.
355         (c_common_attribute_table): Add always_inline.
356
357         * config/rs6000/altivec.h: Add prototypes for builtins
358         requiring the always_inline attribute.
359
360 2002-02-21  Eric Christopher  <echristo@redhat.com>
361
362         * expmed.c (store_bit_field): Try to simplify the subreg
363         before generating a new one when when the mode size of
364         value is less than maxmode.
365
366 2002-02-21  Richard Henderson  <rth@redhat.com>
367
368         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
369         than gen_rtx_PLUS to form the sum.
370         * explow.c (force_reg): Rearrange to not allocate new pseudo
371         when force_operand returns a register.
372         * expr.c (expand_assignment): Allow offset_rtx expansion to
373         return a sum.  Do not force addresses into registers.
374         (expand_expr): Likewise.
375         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
376         to canonicalize arithmetic that didn't simpify.
377         (simplify_plus_minus): New argument force; update
378         all callers.  Don't split CONST unless we can do something with it,
379         and wouldn't lose the constness of the operands.
380
381         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
382         that we generated earlier.
383
384 2002-02-21  Tom Tromey  <tromey@redhat.com>
385
386         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
387         (output_line_info): Use constant `1', with a long explanatory
388         comment.
389         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
390
391 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
392
393         * jump.c (redirect_jump): If old label has no UID, don't try to
394         delete it.
395
396 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
397
398         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
399         If input is constant, do shifts at compile time.
400
401 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
402
403         * doc/extend.texi: Fix some more overfull hboxes.
404
405 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
406
407         PR optimization/4994
408         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
409         register moves.
410
411 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
412
413         PR c++/4574
414         * expr.h (expand_and): Add mode argument.
415         * expmed.c (expand_and): Add mode argument.
416         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
417         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
418         * except.c (expand_builtin_extract_return_addr): Likewise.
419         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
420         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
421         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
422         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
423         * config/c4x/c4x.md: Use GEN_INT (x) instead of
424         gen_rtx (CONST_INT, VOIDmode, x).
425
426 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
427
428         PR c/4697:
429         * stmt.c (warn_if_unused_value): Move side effects test once more.
430
431 2002-02-20  Torbjorn Granlund  <tege@swox.com>
432
433         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
434         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
435
436 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
437
438         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
439         SUBREG or ZERO_EXTEND.
440
441 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
442
443         * sh.h (current_function_anonymous_args): Remove.
444         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
445         of current_function_varargs and current_function_stdarg is set.
446         * sh.c (sh_expand_prologue): Check current_function_varargs /
447         current_function_stdarg / TARGET_SH5 instead of
448         current_function_anonymous_args.
449
450         * sh64.h (TARGET_VERSION): Define.
451
452 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
453
454         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
455         VRSAVE_REGNO on TARGET_ALTIVEC.
456
457 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
458
459         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
460         bits of SImode const_int.
461         (includes_rshift_p): Likewise.
462         (print_operand): Call mask_operand and mask64_operand with correct
463         mode.
464         (rs6000_output_function_epilogue): Pad traceback table to word.
465         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
466         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
467         mask64_operand with correct mode.
468         (FUNCTION_ARG_REGNO_P): Correct parentheses.
469
470 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
471
472         PR debug/4461
473         * varasm.c (get_pool_constant_mark): New.
474         * rtl.h (get_pool_constant_mark): Add prototype.
475         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
476         be represented if it has not been output.
477
478 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
479
480         * combine.c (do_SUBST): Sanity check substitutions of
481         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
482         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
483         CONST_INT into its operand.
484         (known_cond): Likewise, for ZERO_EXTEND.
485         * simplify-rtx.c (simplify_unary_operation): Fix condition to
486         allow for simplification of wide modes.  Reject CONST_INTs in
487         ZERO_EXTEND when their actual mode is not given.
488
489 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
490
491         * c-decl.c (pushdecl): If no global declaration is found for an
492         extern declaration in block scope, try a limbo one.
493
494 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
495
496         PR c++/4401
497         * c-common.c (pointer_int_sum): Moved from...
498         * c-typeck.c (pointer_int_sum): ...here.
499         * c-common.h (pointer_int_sum): Add prototype.
500
501 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
502
503         PR c++/5713
504         * c-decl.c (duplicate_decls): Return 0 if issued error about
505         redeclaration.
506
507 2002-02-20  Roger Sayle  <roger@eyesopen.com>
508             Jakub Jelinek  <jakub@redhat.com>
509
510         PR c/4389
511         * tree.c (host_integerp): Ensure that the constant integer is
512         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
513         when pos is zero or non-zero respectively.  Clarify comment.
514         * c-format.c (check_format_info_recurse): Fix host_integerp
515         usage; the pos argument should be zero when assigning to a
516         signed HOST_WIDE_INT.
517
518 2002-02-20  Richard Henderson  <rth@redhat.com>
519
520         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
521         of the operand, rather than assuming TImode.
522         (ix86_expand_binop_builtin): Cope with commutative patterns
523         using nonimmediate_operand for both operands.
524         (ix86_expand_timode_binop_builtin): Likewise.
525         (ix86_expand_store_builtin): Validate operand 1.
526         (ix86_expand_unop1_builtin): Likewise.
527
528 2002-02-20  Philip Blundell  <philb@gnu.org>
529
530         PR 5705
531         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
532
533 2002-02-20  Richard Henderson  <rth@redhat.com>
534
535         PR c/5615
536         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
537
538 2002-02-20  Tom Tromey  <tromey@redhat.com>
539
540         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
541         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
542         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
543         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
544         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
545         unconditionally.
546
547 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
548
549         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
550           for (const_int 0) in X not just INTVAL.
551
552 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
553
554         * doc/extend.texi: Avoid or reduce overfull hboxes.
555
556 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
557
558         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
559         operations if the field does not start at a mode boundary.
560
561 2001-02-20      Joel Sherrill <joel@OARcorp.com>
562
563         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
564         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
565         Also done for -Acpu and -Amachine.
566
567 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
568
569         * cppinit.c (init_dependency_output): Take deps output file
570         from -o if none given with -MF.  Suppress normal output.
571         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
572         * doc/cpp.texi, doc/invoke.texi: Update.
573
574 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
575
576         * toplev.c (output_quoted_string): Write unprintable
577         characters with octal escapes.
578
579 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
580
581         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
582         really_call_used[VRSAVE_REGNO] if not Altivec.
583
584 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
585
586         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
587         MODE_MASK.
588         (constant_pool_expr_1): Fix formatting.
589         (rs6000_legitimize_reload_address): Likewise.
590
591 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
592
593         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
594         now that we have one.
595
596 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
597
598         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
599         end of first block of bitfields (which was only seven bits);
600         rename dummy to unused_1; remove comment which is no longer true.
601
602 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
603
604         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
605
606 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
607
608         PR 5399
609         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
610         if generating PIC.
611
612         PR 5054
613         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
614         arm_is_longcall_p rather than inspecting call-type cookie
615         directly.
616         (call_value_insn) [TARGET_THUMB]: Likewise.
617
618 2002-02-19  Graham Stott  <grahams@redhat.com>
619
620         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
621
622 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
623
624         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
625         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
626         (FP_SAVE_INLINE): Delete.
627
628         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
629         * config/rs6000/eabi.asm: Remove ABI save restore routines.
630         * config/rs6000/t-ppccomm: Build crtsavres.o.
631         * config/rs6000/crtsavres.asm: New file.
632
633 2002-02-19  Philip Blundell  <philb@gnu.org>
634
635         * config/arm/arm.c (use_return_insn): Don't reject interrupt
636         functions.
637         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
638         (output_return_instruction): Allow interrupt functions to return with
639         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
640         (arm_expand_prologue): Subtract 4 before stacking LR in an
641         interrupt function.
642
643 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
644
645         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
646         decl, not just FUNCTION_DECL.
647         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
648         (arm_assemble_integer): Likewise.
649         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
650         marked local.
651
652 2002-02-19  matthew green  <mrg@eterna.com.au>
653
654         * config.gcc (sparc-*-netbsdelf*): Enable target.
655         (sparc64-*-netbsd*): New target.
656         * config/sparc/netbsd-elf.h: New file.
657         * config/sparc/t-netbsd64: New file.
658
659 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
660
661         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
662
663 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
664
665         * doc/invoke.texi: explicitly list the style guidelines that
666         -Weffc++ checks for.
667
668 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
669
670         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
671
672 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
673
674         PR other/5718
675         * gcc.c (cpp_unique_options): Treat -o as indicating object file
676         only if not -E.  If -E, pass -o through to the preprocessor.
677
678 2002-02-19  Kazu Hirata  <kazu@hxi.com>
679
680         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
681         register number with an appropriate macro.
682
683 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
684
685         * doc/rtl.texi (Constants): Close @code tag.
686
687 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
688
689         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
690         ("mmx_uavgv4hi3"): Same.
691         ("pmulhrwv4hi3"): Same.
692
693         * tree-inline.c (walk_tree): Handle vectors.
694
695         * c-common.c (constant_expression_warning): Handle vectors.
696         (overflow_warning): Same.
697
698         * sched-deps.c (sched_analyze_2): Handle vectors.
699
700         * rtlanal.c (rtx_unstable_p): Handle vectors.
701         (rtx_varies_p): Same.
702         (count_occurrences): Same.
703         (regs_set_between_p): Same.
704         (modified_between_p): Same.
705         (modified_in_p): Same.
706         (volatile_insn_p): Same.
707         (volatile_refs_p): Same.
708         (side_effects_p): Same.
709         (may_trap_p): Same.
710         (inequality_comparisons_p): Same.
711         (replace_regs): Same.
712         (computed_jump_p_1): Same.
713
714         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
715         argument.
716         (inner_mode_array): New.
717         (copy_rtx): Handle vectors.
718         (copy_most_rtx): Same.
719         (rtx_equal_p): Same.
720         (get_mode_alignment): Adjust for vectors.
721
722         * resource.c (mark_referenced_resources): Handle vectors.
723         (mark_set_resources): Same.
724
725         * reload1.c (eliminate_regs): Handle vectors.
726         (elimination_effects): Same.
727         (scan_paradoxical_subregs): Same.
728
729         * reload.c (subst_reg_equivs): Handle vectors.
730
731         * regrename.c (scan_rtx): Handle vectors.
732
733         * regclass.c (reg_scan_mark_refs): Handle vectors.
734
735         * recog.c (find_single_use_1): Handle vectors.
736
737         * local-alloc.c (equiv_init_varies_p): Handle vectors.
738         (contains_replace_regs): Same.
739         (memref_referenced_p): Same.
740
741         * integrate.c (copy_rtx_and_substitute): Handle vectors.
742         (subst_constants): Same.
743
744         * genattrtab.c (attr_copy_rtx): Handle vectors.
745         (encode_units_mask): Same.
746         (clear_struct_flag): Same.
747         (count_sub_rtxs): Same.
748
749         * gcse.c (want_to_gcse_p): Handle vectors.
750         (oprs_unchanged_p): Same.
751         (hash_expr_1): Same.
752         (oprs_not_set_p): Same.
753         (expr_killed_p): Same.
754         (compute_transp): Same.
755         (store_ops_ok): Same.
756
757         * function.c (purge_addressof_1): Do not allow paradoxical subregs
758         of vectors.
759         (fixup_var_refs_1): Same.
760         (instantiate_virtual_regs_1): Same.
761
762         * fold-const.c (operand_equal_p): Handle vectors.
763         (fold): Same.
764         (rtl_expr_nonnegative_p): Same.
765
766         * flow.c (mark_used_regs): Handle vectors.
767
768         * df.c (df_uses_record): Handle vectors.
769
770         * cselib.c (cselib_subst_to_values): Handle vectors.
771         (cselib_mem_conflict_p): Same.
772         (hash_rtx): Same.
773
774         * cse.c (canon_reg): Handle vectors.
775         (fold_rt): Same.
776         (cse_process_notes): Same.
777         (count_reg_usage): Same.
778         (canon_hash): Same.
779
780         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
781
782         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
783
784         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
785         (gen_rtx): Handle CONST_VECTOR.
786         (gen_const_vector_0): New.
787         (copy_rtx_if_shared): CONST_VECTORs can be shared.
788         (reset_used_flags): Same.
789         (copy_insn_1): Same.
790         (initializer_constant_valid_p): Handle VECTOR_CST.
791
792         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
793
794         * doc/rtl.texi (Constants): Document const_vector.
795         (CONST0_RTX): Update for vectors.
796         (RTL sharing): Same.
797
798         * print-tree.c (print_node): Add case for VECTOR_CST.
799
800         * tree.h (TREE_VECTOR_CST_ELTS): New.
801         (struct tree_vector): New.
802         (union tree_node): Add vector node.
803         (build_vector): Add prototype.
804
805         * tree.def (VECTOR_CST): New.
806
807         * tree.c (build_vector): New.
808
809         * expmed.c (make_tree): Handle CONST_VECTOR.
810
811         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
812         (CONST_VECTOR_ELT): New.
813         (CONST_VECTOR_NUNITS): New.
814
815         * machmode.h (GET_MODE_INNER): New.
816         (DEF_MACHMODE): Accept 8th arg.
817
818         * machmode.def: Add 8th argument for vector inner mode.
819         Add inner vector modes for vectors.
820
821         * rtl.def (VEC_CONST): Remove.
822         (CONST_VECTOR): New.
823
824         * expr.c (clear_storage): Allow vectors.
825         (is_zeros_p): Handle VECTOR_CST.
826
827         * varasm.c (output_constant_pool): Handle vectors.
828         (rtx_const): Add veclo and vechi fields.
829         (kind): Add RTX_VECTOR.
830         (decode_rtx_const): Add case for vector.
831
832         * config/rs6000/rs6000-protos.h: Add zero_constant.
833
834         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
835         constants.  Force easy vector constants into memory.
836         (easy_vector_constant): New.
837         (emit_easy_vector_constant): New.
838         (rs6000_legitimize_reload_address): Do not generate bad reloads on
839         darwin.
840
841         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
842         instruction does.
843         ("altivec_lvxl"): Same.
844         (altivec_lvebx): Same.
845         (altivec_lvehx): Same.
846         (altivec_lvewx): Same.
847         ("*movv4si_const0"): New.
848         ("*movv4sf_const0"): New.
849         ("*movv8hi_const0"): New.
850         ("*movv16qi_const0"): New.
851
852 2002-02-18  Kazu Hirata  <kazu@hxi.com>
853
854         * config/h8300/h8300.c (notice_update_cc): Use
855         cc_status.value2.
856
857 2002-02-18  Kazu Hirata  <kazu@hxi.com>
858
859         * config/h8300/h8300.md (divmod patterns): Change the
860         constraints for operands[1] to register_operand.
861
862 2002-02-18  Kazu Hirata  <kazu@hxi.com>
863
864         * config/h8300/h8300-protos.h: Remove the prototype for
865         p_operand.
866         * config/h8300/h8300.c (p_operand): Remove.
867         * config/h8300/h8300.md: Replace p_operand with
868         const_int_operand.
869
870 2002-02-18 Philip Blundell <pb@nexus.co.uk>
871
872         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
873         comment.
874         (output_return_instruction): Allow use of LDR to unstack
875         return addresss even for interrupt handlers or when
876         interworking.  If compiling for ARMv5, use interworking-safe
877         return instructions by default.  Remove duplicated code and
878         lengthy "strcat" sequences.
879
880 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
881
882         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
883         (LINK_EH_SPEC): Define.
884         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
885
886 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
887
888         * config/s390/s390.c (s390_emit_prologue): Do not set the
889         frame_related flag for call-clobbered registers.
890
891 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
892
893         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
894         (construct_container): Fix handling of SSE operands.
895         (ix86_expand_builtin): Fix handling of 64bit pointers.
896         (mmx_maskmovq_rex): New pattern.
897
898 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
899
900         * regrename.c (kill_set_value): Handle subregs properly.
901
902 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
903
904         * objc/objc-act.c (handle_impent): Remove leading '*'
905         from objc_class_name.
906
907 2002-02-17  Richard Henderson  <rth@redhat.com>
908
909         * config/alpha/alpha.c (some_small_symbolic_operand,
910         some_small_symbolic_operand_1, split_small_symbolic_operand,
911         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
912         Handle small SYMBOL_REFs anywhere, not just inside memories.
913         * config/alpha/alpha-protos.h: Update.
914         * config/alpha/alpha.h (PREDICATE_CODES): Update.
915         * config/alpha/alpha.md (small symbolic operand splitter): Update.
916
917 2002-02-17  Roland McGrath  <roland@frob.com>
918
919         * config.gcc (powerpc-*-gnu-gnualtivec*,
920         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
921         * config/rs6000/gnu.h: New file.
922         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
923         Grok "gnu" in rs6000_abi_name.
924         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
925         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
926         Grok -mcall-gnu analogous to -mcall-linux et al.
927         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
928         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
929         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
930
931 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
932
933         PR c/3444:
934         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
935         shortening.
936
937 2002-02-17  Philipp Thomas  <pthomas@suse.de>
938
939         * config/cris/cris.h: Undefine STARTFILE_SPEC and
940         ENDFILE_SPEC before (re)defining them.
941
942 2002-02-17  Kazu Hirata  <kazu@hxi.com>
943
944         * config/h8300/h8300.c: Fix formatting.
945         * config/h8300/h8300.h: Likewise.
946
947 2002-02-17  Philipp Thomas  <pthomas@suse.de>
948
949         * doc/tm.texi: Explain why empty strings should not be
950         marked for translation.
951
952 2002-02-17  Philipp Thomas  <pthomas@suse.de>
953
954         * final.c (output_operand_lossage): Changed to accept
955         printf style arguments. Change calls where necessary.
956         * output.h (output_operand_lossage): Change declaration
957         accordingly. Update copyright.
958         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
959         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
960         Update copyright date where necessary.
961
962         * config/i386/i386.c (print_operand): Likewise. Remove use of
963         sprintf.
964
965         * config/cris/cris.c (cris_operand_lossage): Likewise.
966         Rename parameter so that exgettext recognizes it as
967         translatable message.
968         (LOSE_AND_RETURN): Rename parameter to msgid.
969
970 2002-02-17  Kazu Hirata  <kazu@hxi.com>
971
972         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
973         hard coded register number with an appropriate macro.
974         (HARD_REGNO_MODE_OK): Likewise.
975         (ARG_POINTER_REGNUM): Likewise.
976         (STATIC_CHAIN_REGNUM): Likewise.
977         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
978         * config/h8300/h8300.md (define_constants): Define more
979         register numbers.
980
981 2002-02-17  Philipp Thomas  <pthomas@suse.de>
982
983         * config/i386/i386.h: Don't mark empty strings for translation.
984
985 2002-02-16  H.J. Lu <hjl@gnu.org>
986
987         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
988
989 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
990
991         * cppinit.c (merge_include_chains): Check for brack being
992         NULL before attempting to merge it with qtail.
993
994 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
995
996         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
997         DBX_DEBUG.
998
999 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1000
1001         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
1002
1003 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1004
1005         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
1006         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
1007         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
1008
1009 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1010
1011         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1012         now only if !TARGET_FIX.
1013         (*movsi_nt_vms_fix): New pattern.
1014
1015 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
1016
1017         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
1018         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
1019         (alpha_sa_mask, alpha_sa_size): Reflect above change.
1020         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
1021         (alpha_start_function, alpha_expand_epilogue): Likewise.
1022         (unicosmk_gen_dsib): Likewise.
1023
1024 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1025
1026         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
1027
1028 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
1029
1030         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
1031         check_and_change_labels, s390_final_chunkify): Delete.
1032         (s390_split_branches, s390_chunkify_pool): New functions.
1033         (s390_function_prologue): Call them.
1034
1035         * config/s390/s390.h (S390_REL_MAX): Delete.
1036         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
1037
1038         * config/s390/s390.md (cjump, icjump, jump): Fix length
1039         attribute calculation.
1040
1041
1042 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
1043
1044         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
1045         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
1046
1047 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1048
1049         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
1050         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
1051         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
1052
1053 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
1054
1055         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
1056
1057 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
1058
1059         * reload.c (find_dummy_reload): Check that an output register
1060         is valid for its mode.
1061
1062 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
1063
1064         * combine.c (known_cond): After replacing the REG of a SUBREG, try
1065         to simplify it.
1066
1067         * function.c (assign_parms): Demote promoted argument passed by
1068         transparent reference.
1069
1070 2001-02-14      Joel Sherrill <joel@OARcorp.com>
1071
1072         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
1073         -Acpu() and -Amachine() to eliminate warnings.
1074
1075 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
1076
1077         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
1078
1079 2002-02-14  Kazu Hirata  <kazu@hxi.com>
1080
1081         * config/h8300/h8300-protos.h: Update the prototype for
1082         const_costs.
1083         * config/h8300/h8300.c (const_costs): Treat SET as a little
1084         more expensive operation.
1085         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
1086         reference to const_costs.
1087
1088 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
1089
1090         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
1091
1092 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
1093
1094         PR c/5503:
1095         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
1096         use arguments from newtype.
1097
1098 2002-02-13  Eric Christopher  <echristo@redhat.com>
1099
1100         * config/mips/mips.c (override_options): Add check for march/mipsX
1101         on the same command line. Fix error message in cpu processing.
1102         Remove architecture and ISA checks.
1103
1104 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
1105
1106         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
1107
1108         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
1109
1110 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
1111
1112         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
1113         alternatives.
1114         ("*movv8hi_internal1"): Same.
1115         ("*movv16qi_internal1"): Same.
1116         ("*movv4sf_internal1"): Same.
1117
1118         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1119         not push_reload for altivec modes.
1120
1121 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
1122
1123         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
1124         all RTEMS targets including removal of #includes from config/*/rtems*.h
1125         file and adding them to tm_file setting. Added xm_defines=POSIX to
1126         many targets.
1127         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
1128         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
1129         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
1130         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
1131         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
1132         config/m68k/rtemself.h: Ditto.
1133         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
1134         config/mips/rtems64.h: Ditto.
1135         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
1136         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
1137         Ditto.
1138         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
1139         config/sparc/rtemself.h: Ditto.
1140         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
1141         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
1142         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
1143         more like arm-elf.
1144         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
1145         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
1146         target made more similar to i386-elf.
1147         * config/i386/t-rtems-i386: Added soft float support and multilibs.
1148         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
1149         be similar to config/m68k/t-m68kelf.
1150         * gthr-rtems.h: Encapsulate with extern "C" for C++.
1151
1152 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1153
1154         * regmove.c (kill_value): Handle subregs.
1155
1156 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1157
1158         * i386.md (mul patterns): Allow memory operand to be first;
1159         add expanders where needed; fix constraints.
1160         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
1161         Allow memory operand to be the first.
1162
1163         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
1164         operands.
1165
1166 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
1167
1168         PR c/5681:
1169         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
1170         GET_MODE (x).
1171
1172 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
1173
1174         PR optimization/5547:
1175         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
1176         all valid IA-32 address modes involving non-scaled %ebx and
1177         GOT/GOTOFF as displacement.
1178
1179 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
1180
1181         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
1182         after emitting ltorg insns.
1183
1184         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
1185         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
1186         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
1187         *abssf2): Fix "op_type" attribute.
1188
1189 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
1190
1191         * mkconfig.sh: Avoid using a subshell redirect.
1192         ($output.T): Change to $(output)T.
1193         (ENABLE_NLS): Remove unneeded undef.
1194
1195         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1196         * config/alpha/x-vms (libsubdir): Define.
1197
1198         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
1199         register frame procedures. Optimize retrieving context.
1200
1201         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
1202         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
1203         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
1204
1205 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1206
1207         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
1208         Make same change as for find_base_value.
1209
1210 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1211
1212         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
1213         of QImode and SImode.
1214
1215 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1216
1217         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
1218         length computation of movsi.
1219         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
1220
1221 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1222
1223         * config/h8300/h8300.md (subqi3): Tighten the predicate for
1224         operands[2] to register_operand.
1225
1226 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1227
1228         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
1229
1230 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
1231
1232         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
1233         for altivec_lvx* and altivec_stvx*.
1234         ("*movv4si_internal"): Add constraint for loading from GPRs.
1235         ("*movv8hi_internal1"): Same.
1236         ("*movv16qi_internal1"): Same.
1237         ("*movv4sf_internal1"): Same.
1238
1239         * config/rs6000/rs6000.c (altivec_register_operand): New.
1240
1241         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
1242         altivec_register_operand.
1243
1244 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
1245
1246         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
1247         handle SYMBOL_REF.
1248
1249 2002-02-13  Stan Shebs  <shebs@apple.com>
1250
1251         * c-typeck.c (digest_init): Handle vectors.
1252         (really_start_incremental_init): Same.
1253         (pop_init_level): Same.
1254         (process_init_element): Same.
1255
1256         * varasm.c (output_constant): Same.
1257
1258         * expr.c (clear_storage): Same.
1259         (store_constructor): Same.
1260
1261 2002-02-12  Eric Christopher  <echristo@redhat.com>
1262
1263         * explow.c (hard_function_value): Add comment explaining
1264         signed/unsigned comparison.
1265
1266 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
1267
1268         * jump.c (never_reached_warning): Add finish argument.
1269         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
1270         real insn after end.
1271         * rtl.h (never_reached_warning): Adjust prototype.
1272         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
1273         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
1274         never_reached_warning.
1275
1276 2002-02-12  Graham Stott  <grahams@redhat.com>
1277
1278         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
1279
1280 2002-02-12  Kazu Hirata  <kazu@hxi.com>
1281
1282         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
1283         logical shifts on H8/300.
1284         (shift_alg_si): Improve several shifts on H8/300.
1285         (get_shift_alg): Likewise.
1286
1287 2002-02-12  Graham Stott  <grahams@redhat.com>
1288
1289         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
1290
1291 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1292
1293         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
1294         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
1295
1296 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
1297
1298         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
1299         non-CONST_INT through default_assemble_integer.
1300         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
1301         <case 8>: Abort for CONST_DOUBLE.
1302
1303 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1304
1305         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
1306         is specified.
1307         * config/pa/pa-linux.h (LIB_SPEC): Delete.
1308         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1309
1310 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
1311
1312         * config/stormy16/stormy16.md (zero_extendqihi2): New.
1313
1314 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
1315
1316         * regrename.c (regrename_optimize): Don't accept a
1317         part-clobbered register if the replaced register is not part
1318         clobbered.
1319
1320         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
1321         take padding into account when computing the argument value.
1322
1323         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
1324
1325         * combine.c (try_combine): Apply substitutions in
1326         CALL_INSN_FUNCTION_USAGE too.
1327
1328 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
1329
1330         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
1331         __builtin_altivec_abs*.
1332         (bdesc_abs): New.
1333
1334         * config/rs6000/rs6000.h (rs6000_builtins): Add
1335         ALTIVEC_BUILTIN_ABS*.
1336
1337         * config/rs6000/altivec.h: Use const char for builtins expecting
1338         literals.
1339         (vec_abs): New versions for C and C++.
1340         (vec_abss): Same.
1341
1342 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1343
1344         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
1345         using Pmode.
1346
1347 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1348
1349         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
1350         constant definition from h8300.md.
1351         (FRAME_POINTER_REGNUM): Likewise.
1352         * config/h8300/h8300.md (define_constants): Add FP_REG.
1353
1354 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1355
1356         * config/h8300/h8300.c (print_operand): Remove redundant code.
1357
1358 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1359
1360         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
1361         * config/h8300/h8300.c (byte_reg): Make it static.
1362
1363 2002-02-10  Richard Henderson  <rth@redhat.com>
1364
1365         PR c/5623
1366         * c-typeck.c (incomplete_type_error): Handle flexible array members.
1367
1368 2002-02-10  Richard Henderson  <rth@redhat.com>
1369
1370         PR c++/5624
1371         * tree.c (append_random_chars): Don't abort if main_input_filename
1372         does not exist.
1373
1374 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
1375
1376         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
1377
1378 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1379
1380         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
1381         (pushhi1): Likewise.
1382
1383 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1384
1385         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
1386         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
1387
1388 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
1389
1390         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
1391         remove MASK_VIS.
1392         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
1393
1394 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1395
1396         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
1397         a half of an SImode register on H8/300.
1398
1399 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
1400
1401         * i386.md (movdi_2): Add missing '!'.
1402
1403 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1404
1405         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
1406         definitions.
1407
1408 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1409
1410         * config/h8300/h8300.md (length): Correct the distance valid
1411         for the short branch.
1412
1413 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1414
1415         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
1416
1417 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1418
1419         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
1420         registers in SImode.
1421         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
1422         part-clobbered.
1423
1424         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
1425         patch.
1426
1427         Contribute sh64-elf.
1428         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1429         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
1430         (sh_cannot_modify_jumps_p): New function.
1431         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
1432         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
1433         (sh_ms_bitfield_layout_p): New function.
1434         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
1435                     Zack Weinberg  <zack@codesourcery.com>
1436         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
1437         expand_simple_binop instead of expand_binop.
1438         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
1439         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
1440         use of .quad and .uaquad.
1441         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
1442         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
1443         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1444         * config/sh/sh.md (movdi_const, movdi_const_32bit,
1445         movdi_const_16bit): Make sure all CONSTs have modes.
1446         (sym2PIC): Ditto, but by adjusting all callers.
1447         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
1448         if the prologue calls the SHmedia argument decoder or register
1449         saver.
1450         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1451         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
1452         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
1453         (sh_expand_epilogue): Don't emit USE of return target register.
1454         (prepare_move_operands): Legitimize DImode PIC addresses.
1455         (sh_media_register_for_return): Skip tr0, used to initialize the
1456         PIC register.
1457         (sh_expand_prologue): Remove explicit USE of return register.
1458         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
1459         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
1460         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
1461         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
1462         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
1463         EXTRA_CONSTRAINT_T.
1464         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
1465         (MOVI_SHORI_BASE_OPERAND_P): New.
1466         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
1467         (EXTRA_CONSTRAINT_T): Define in terms of them.
1468         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
1469         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
1470         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
1471         alternatives supporting TARGET_REGS.
1472         (UNSPEC_GOTPLT): New constant.
1473         (movdi split): Move incrementing of LABEL_NUSES...
1474         (movdi_const, movdi_const_32bit): Here.  Use
1475         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
1476         (movdi_const_16bit): New.
1477         (call, call_value) [flag_pic]: Use GOTPLT.
1478         (call_pop, call_value_pop): New expands.
1479         (call_pop_compact, call_pop_rettramp): New insns.
1480         (call_value_pop_compact, call_value_pop_rettramp): New insns.
1481         (sibcall) [flag_pic]: Use GOT.
1482         (builtint_setjmp_receiver): Remove bogus, unused expand.
1483         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
1484         (*pt, *ptb, ptrel): New insns.
1485         (sym2GOT): Handle DImode GOT.
1486         (sym2GOTPLT, symGOTPLT2reg): New expands.
1487         (sym2PIC): New expand.
1488         (shcompact_return_tramp): Use GOTPLT to return trampoline.
1489         (shcompact_return_tramp_i): Use return register explicitly.
1490         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
1491         disable flag_reorder_blocks.
1492         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
1493         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
1494         clobbers, for clarity.
1495         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
1496         restoring of r0 in macl as MAYBE_DEAD.
1497         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
1498         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
1499         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
1500         alter_subreg all over.
1501         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
1502         reload, instead of emitting instructions that would require
1503         reloading.
1504         (casesi_load_media): Add missing modes.
1505         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
1506         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
1507         as used if the argument decoder is called.
1508         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1509         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
1510         Pmode, then extend it to DImode if necessary.
1511         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1512         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
1513         constants in FPU-enabled SHmedia, let them be loaded from memory.
1514         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1515         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
1516         Adjust whitespace in assembly output templates.
1517         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1518         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
1519         mode of if_then_else.
1520         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
1521         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
1522         sh.h.
1523         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
1524                     Joern Rennecke <amylaar@redhat.com>
1525         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
1526         (SUBTARGET_CPP_PTR_SPEC): New.
1527         (SUBTARGET_CPP_SPEC): Remove.
1528         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1529         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1530         Fix typo in previous checkin.
1531         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
1532         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
1533         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
1534                     Alexandre Oliva  <aoliva@redhat.com>
1535         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
1536         what single FP register can hold for SHmedia target.
1537         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1538                     Alexandre Oliva  <aoliva@redhat.com>
1539         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1540         Do not split into SUBREG.
1541         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
1542         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
1543         and added new functions as specified in SH5 ABI r9.
1544         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
1545         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
1546         8-byte boundary.
1547         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1548         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
1549         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
1550         and consttable_window_ends.
1551         2001-06-03  Graham Stott  <grahams@redhat,com>
1552         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
1553         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
1554         * config/sh/sh.c (print_operand): Handle floating-point pair,
1555         vector and matrix registers.
1556         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
1557         vector modes into account.
1558         * config/sh/sh.md (movv2sf): Split move between registers into
1559         movdf.
1560         (movv4sf, movv16sf): Introduce insns that get split only after
1561         reload.
1562         * config/sh/shmedia.h: Fix Copyright dates.
1563         * config/sh/ushmedia.h: Likewise.  Move loop counter
1564         declarations into conditionals that uses them.
1565         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
1566         loop boundary.
1567         * config/sh/sshmedia.h: Fix Copyright dates.
1568         (sh_media_PUTCFG): Fix constraints.
1569         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1570         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
1571         ptrmemfunc_vbit_in_delta for SH5.
1572         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
1573         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
1574         * invoke.texi: Likewise.
1575         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
1576         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
1577         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
1578         GCC_pop_shmedia_regs_nofpu): New global symbols.
1579         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
1580         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
1581         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
1582         compact function with nonlocal labels.
1583         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
1584         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
1585         (initial_elimination_offset): Account for their stack space.
1586         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
1587         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
1588         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
1589         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
1590         least one of the operands to be a register.
1591         (movv2sf): Likewise.  Renamed to movv2sf_i.
1592         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
1593         prepare_move_operands() before emitting SHmedia insns.
1594         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
1595         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
1596         Don't save nor initialize r12.  Don't mis-align the stack.
1597         Pad the code with a nop.
1598         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
1599         stack.
1600         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
1601         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
1602         [__SHMEDIA__]: Implement.
1603         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
1604         * config/sh/sh.md: Set latency of `pt' closer to reality.
1605         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
1606         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
1607         Set move, load and store type attributes.
1608         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
1609         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
1610         profiling.
1611         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
1612         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
1613         * config/sh/sh.c (sh_media_register_for_return): New function.
1614         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
1615         branch-target register.
1616         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
1617         * config/sh/sh.md (return_media_i): Use any call-clobbered
1618         branch-target register.
1619         (return_media): If r18 wasn't copied in the prologue, copy it
1620         here.
1621         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
1622         Clear class FP0_REGS.
1623         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
1624         from elf.h.
1625         2001-03-08  DJ Delorie  <dj@redhat.com>
1626         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
1627         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
1628         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
1629         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1630         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
1631         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
1632         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
1633         return value correctly for call_cookie.
1634         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
1635         * config/sh/crt1.asm (start): Modified so as to call
1636         ___setup_argv_and_call_main.
1637         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
1638         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
1639         SHmedia mode.
1640         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
1641         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
1642         (STRIP_NAME_ENCODING): Use it.
1643         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
1644         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
1645         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
1646         prepare_scc_operands().
1647         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
1648         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
1649         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
1650         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
1651         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1652         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
1653         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
1654         used in shcompact_incoming_args.
1655         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
1656         change.
1657         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
1658         mode.
1659         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
1660         Adjust accordingly.
1661         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
1662         Simplify.  Adjust.  Add sanity check.
1663         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
1664         FPU_SINGLE_BIT.
1665         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
1666         TARGET_SHCOMPACT.
1667         (udivsi3, divsi3): Use them.
1668         (force_mode_for_call): New insn.
1669         (call, call_value, sibcall_value): Emit it before SHcompact
1670         calls.
1671         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1672         * config/sh/sh.md (call, call_value, sibcall): Make sure the
1673         call cookie is non-NULL before taking its value.
1674         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
1675         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
1676         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1677         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
1678         block.
1679         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
1680         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
1681         temporary for stack adjusts.  Use MACL and MACH to pass
1682         arguments to shcompact_incoming_args.
1683         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
1684         clobber r1.
1685         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
1686         (nested_trampoline): Load static chain address into r1.
1687         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
1688         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
1689         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
1690         fp_arith_reg_operand().
1691         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
1692         * config/sh/sh.md (casesi): Sign-extend the first two operands,
1693         and use signed compares for them.
1694         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
1695         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
1696         ones properly aligned.
1697         (find_barrier): Account for extra alignment needed for 8-byte wide
1698         constants.
1699         (machine_dependent_reorg): Require a label for the second 4-byte
1700         constant after an 8-byte one.
1701         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
1702         change.
1703         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
1704         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
1705         last_float when switching float modes.
1706         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
1707         auto-increment for general-purpose registers.
1708         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
1709         result.
1710         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
1711         for stack adjust.
1712         * config/sh/sh.c (sh_builtin_saveregs): Support using all
1713         registers for varargs.
1714         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
1715         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
1716         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
1717         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
1718         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
1719         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
1720         call_cookie accordingly.
1721         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
1722         (SHCOMPACT_BYREF): Likewise.
1723         (SHCOMPACT_FORCE_ON_STACK): New macro.
1724         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
1725         (sh_builtin_saveregs): Likewise.
1726         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1727         shcompact_incoming_args): Use new shift values.  Support
1728         sequences of consecutive and non-consecutive pushes/pops.
1729         * config/sh/sh.md (return): Don't explicitly use PR_REG.
1730         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
1731         * config/sh/sh.h (TEXT_SECTION): Define.
1732         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
1733         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
1734         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1735         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
1736         return values on FPU-enabled SHmedia.
1737         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
1738         FPU-enabled SHmedia.
1739         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
1740         value is returned in a non-FP reg and is not returned by
1741         reference.
1742         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
1743         jump_ind.
1744         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
1745         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
1746         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
1747         quad-aligned to be passed by callee-copy reference.
1748         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
1749         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
1750         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
1751         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
1752         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
1753         copying low-numbered FP regs to r7 and r8.
1754         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
1755         FP regs to general-purpose regs only if the copy was passed on the
1756         stack.
1757         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
1758         copying FP reg to r9.
1759         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
1760         copy FP regs to general-purpose regs only in outgoing calls.
1761         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1762         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
1763         HOST_WIDE_INT.
1764         * config/sh/sh.h (struct sh_args): Document all fields.
1765         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
1766         passed partially on the stack should not consider making
1767         sibcalls.
1768         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
1769         stack_regs only for incoming calls.  When passing FP args,
1770         make sure there are FP regs available before modifying
1771         call_cookie.
1772         (SHCOMPACT_BYREF): Pass double args in general-purpose
1773         registers by reference.
1774         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
1775         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
1776         attempt to generate sibcalls if the caller got any arguments
1777         by reference.
1778         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
1779         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
1780         to 8-byte boundaries.
1781         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
1782         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
1783         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
1784         stored in the stack.
1785         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
1786         for the offsets to have the ISA bit set.
1787         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
1788         invocation.  Use beq instead of bgt to mark end of sequence of
1789         loads.
1790         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
1791         bgt to mark end of sequence of stores.
1792         * config/sh/sh.c (arith_operand): Don't check whether
1793         CONST_OK_FOR_J for now.
1794         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
1795         instead of long for conversion.
1796         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
1797         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
1798         before passing it to fprintf.
1799         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
1800         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
1801         Call set_fpscr before reading/writing SR.
1802         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
1803         Call set_fpscr.
1804         * config/sh/lib1funcs.asm: Add `.align 2' directives before
1805         SHmedia code.
1806         (FMOVD_WORKS): Define on SH5 with FPU.
1807         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
1808         setting.
1809         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
1810         _fpscr_values.
1811         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
1812         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
1813         address.
1814         (ia_main_table): Ditto.
1815         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
1816         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1817         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
1818         the definitions from sh.h.
1819         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
1820         TARGET_SH5.
1821         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
1822         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
1823         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1824         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
1825         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
1826         Increment LABEL_NUSES.
1827
1828         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
1829         TARGET_SH5.
1830         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
1831         defined.
1832         * config/sh/elf.h (SIZE_TYPE): Likewise.
1833         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1834         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1835         shcompact_incoming_args): Load switch table addresses using
1836         datalabel.
1837         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1838         (NO_BUILTIN_SIZE_TYPE): Define.
1839         (SIZE_TYPE): Don't define.
1840         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1841         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
1842         definition of __SH5__=32 for -m5-compact-nofpu.
1843         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
1844         ADDR_DIFF_VEC.
1845         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
1846         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
1847         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
1848         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
1849         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
1850         (INSN_LENGTH_ALIGNMENT): Likewise.
1851         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1852         * config/sh/sh.md (call, call_value, sibcall): Simplify
1853         copying of non-branch-target register.
1854         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1855         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
1856         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
1857         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1858         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
1859         floating-point values as structs.
1860         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
1861         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
1862         general-purpose register.
1863         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
1864         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
1865         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
1866         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
1867         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
1868         (ENCODE_SECTION_INFO): Enclose variables and constants in
1869         DATALABEL unspecs.
1870         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
1871         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
1872         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
1873         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
1874         only for LABEL_REFs.  For SYMBOL_REFs, prepend
1875         SH_DATALABEL_ENCODING to the symbol name.
1876         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
1877         convert_mode().
1878         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
1879         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
1880         UNSPEC_DATALABEL.
1881         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
1882         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
1883         (DATALABEL_REF_P): Don't require CONST.
1884         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
1885         REL label.
1886         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
1887         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
1888         right.
1889         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
1890         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
1891         Use shallow_copy_rtx and PUT_MODE to change the mode of
1892         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
1893         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
1894         on SHmedia using GENERAL_REGs.
1895         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1896         bltu_media_i): Fix reversion of conditions.
1897         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
1898         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
1899         * config/sh/sh.c (output_far_jump): Save r13 in macl.
1900         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
1901         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
1902         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
1903         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
1904         (GCC_nested_trampoline): Likewise.
1905         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
1906         * config/sh/sh.c (gen_datalabel_ref): Define.
1907         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
1908         (INITIALIZE_TRAMPOLINE): Likewise.
1909         (TRAMPOLINE_ADJUST_ADDRESS): Define.
1910         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
1911         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
1912         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
1913         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
1914         (ic_invalidate): Adjust for SH5.
1915         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
1916         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
1917         _nested_trampoline.
1918         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
1919         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
1920         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
1921         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
1922         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
1923         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
1924         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
1925         * config/sh/sh.c (target_reg_operand): Match only target-branch
1926         registers and pseudos that aren't virtual registers.
1927         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1928         Copy operands that don't match target_reg_operand to pseudos.
1929         (call_media, call_value_media, sibcall_media): Use
1930         target_reg_operand instead of target_operand.
1931         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
1932         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
1933         * config/sh/sh.c (target_reg_operand): Match hardware registers
1934         other than branch-target registers.
1935         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
1936         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
1937         (fpscr_values) [SH5 == 32]: Define.
1938         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
1939         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1940         Handle function addresses coming in SUBREGs.
1941         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
1942         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1943         shcompact_return_trampoline): Use datalabel where appropriate.
1944         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
1945         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
1946         general-purpose register to copy one branch-target register to
1947         another.
1948         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
1949         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
1950         SYMBOL_REFs with VOIDmode.
1951         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1952         bltu_media_i): New insns.
1953         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
1954         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
1955         (INIT_CUMULATIVE_ARGS): Likewise.
1956         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1957         * machmode.def (V16SFmode): New mode.
1958         * c-common.c (type_for_mode): Support V2SF and V16SF.
1959         * tree.c (build_common_tree_nodes_2): Likewise.
1960         * tree.h (tree_index): Likewise.
1961         * calls.c (emit_call_1): Take args_so_far.  Adjust all
1962         callers.  Introduce CALL_POPS_ARGS.
1963         * tm.texi (CALL_POPS_ARGS): Document.
1964         * config/sh/crt1.asm: Implement in SHmedia mode.
1965         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
1966         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
1967         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
1968         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
1969         Implement divsi and udivsi in SHmedia mode.  Introduce
1970         SHcompact trampolines.
1971         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
1972         only in SHmedia64.
1973         (regno_reg_class): Rewrite.
1974         (fp_reg_names): Remove.
1975         (sh_register_names, sh_additional_register_names): New.
1976         (print_operand): Added `u'.  Support SUBREGs in addresses.
1977         Add parentheses around shifted CONSTs.
1978         (output_file_start): Output .mode and .abi directives.
1979         (shiftcosts, addsubcosts, multcosts): Adjust.
1980         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
1981         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
1982         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
1983         bytes, not registers.  Take into account the need for the
1984         SHcompact incoming args trampoline.  Adjust all callers.
1985         (sh_expand_prologue): Take stack_regs into account.  Call
1986         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
1987         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
1988         stack aligned as per SH5 ABI.
1989         (sh_builtin_saveregs): Support SH5 ABI.
1990         (sh_build_va_list, sh_va_start): Likewise.
1991         (initial_elimination_offset): Take alignment into account.
1992         Compute location of PR according to the SH5 stack frame.
1993         (arith_reg_operand): Reject branch-target registers.
1994         (shmedia_6bit_operand): New.
1995         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
1996         (target_reg_operand): Match DImode only.  Accept SUBREGs.
1997         (target_operand): New.
1998         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
1999         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
2000         SIBCALL_REGS for SHmedia.
2001         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
2002         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
2003         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
2004         (TARGET_SWITCHES): New SH5 flags.
2005         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
2006         VALID_REGISTER_P to disable unsupported registers.
2007         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
2008         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
2009         (FUNCTION_ARG_PADDING): Define.
2010         (FASTEST_ALIGNMENT): Adjust.
2011         (SH_REGISTER_NAMES_INITIALIZER): New.
2012         (sh_register_names): Declare.
2013         (DEBUG_REGISTER_NAMES): Define.
2014         (REGISTER_NAMES): Define based on sh_register_names.
2015         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
2016         (sh_additional_register_names): Declare.
2017         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
2018         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
2019         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
2020         (REGISTER_NATURAL_MODE): Define.
2021         (FIRST_PSEUDO_REGISTER): Adjust.
2022         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
2023         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2024         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
2025         (VECTOR_MODE_SUPPORTED_P): Define.
2026         (REG_CLASS_CONTENTS): Adjust.
2027         (SMALL_REGISTER_CLASSES): Adjust.
2028         (REG_ALLOC_ORDER): Adjust.
2029         (INDEX_REG_CLASS): Adjust.
2030         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
2031         (CONST_OK_FOR_LETTER_P): Adjust.
2032         (PREFERRED_RELOAD_CLASS): Adjust.
2033         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
2034         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
2035         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
2036         (FIRST_FP_PARM_REG): Adjust.
2037         (CALL_POPS_ARGS): Define.
2038         (FUNCTION_ARG_REGNO_P): Adjust.
2039         (struct sh_args): New fields.
2040         (GET_SH_ARG_CLASS): Adjust.
2041         (INIT_CUMULATIVE_ARGS): Adjust.
2042         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
2043         (FUNCTION_ARG_ADVANCE): Adjust.
2044         (FUNCTION_ARG): Adjust.
2045         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
2046         (FUNCTION_ARG_CALLEE_COPIES): Define.
2047         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
2048         (STRICT_ARGUMENT_NAMING): Define.
2049         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
2050         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
2051         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
2052         (SETUP_INCOMING_VARARGS): Adjust.
2053         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
2054         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
2055         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
2056         (SUBREG_OK_FOR_INDEX_P): Adjust.
2057         (EXTRA_CONSTRAINT_S): Update.
2058         (EXTRA_CONSTRAINT_T): New.
2059         (EXTRA_CONSTRAINT): Adjust.
2060         (GO_IF_LEGITIMATE_INDEX): Adjust.
2061         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
2062         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
2063         (MOVE_MAX): Adjust.
2064         (MAX_MOVE_MAX): Define.
2065         (Pmode): Adjust.
2066         (CONST_COSTS): Adjust.
2067         (REGISTER_MOVE_COST): Adjust.
2068         (BRANCH_COST): Adjust.
2069         (TEXT_SECTION_ASM_OP): Adjust.
2070         (DBX_REGISTER_NUMBER): Adjust.
2071         (ASM_OUTPUT_DOUBLE_INT): New.
2072         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2073         (PREDICATE_CODES): Adjust.
2074         (PROMOTE_MODE): Adjust.
2075         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
2076         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
2077         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
2078         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
2079         (DR0_REG, DR2_REG, DR4_REG): Renumber.
2080         (TR0_REG, TR1_REG, TR2_REG): New.
2081         (XD0_REG): Renumber.
2082         (UNSPEC_COMPACT_ARGS): New.
2083         (type): Added pt and ptabs.
2084         (length): Default to 4 on SHmedia.  Default pt length to 12
2085         and     20 on SHmedia32 and SHmedia64, respectively.
2086         (pt): New function unit.
2087         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
2088         Add whitespace between operands of SHmedia instructions.
2089         (movdicc): Fix.
2090         (adddi3_media, addsi3_media): Adjust constraints.
2091         (subsi3) [SHmedia]: Force operand 1 into a register.
2092         (udivsi3_i1_media, udivsi3_i4_media): New.
2093         (udivsi3): Support SHmedia.
2094         (divsi3_i1_media, divsi3_i4_media): New.
2095         (divsi3): Support SHmedia.
2096         (anddi3, iordi3, xordi3): Adjust constraints.
2097         (zero_extendhidi2, zero_extendqidi2): New.
2098         (extendsidi2, extendhidi2, extendqidi2): New.
2099         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
2100         (pop_e, pop_fpul, pop_4): Likewise.
2101         (movsi_media): Support FP and BT registers.
2102         (movsi_media_nofpu): New.  Adjust splits to DImode.
2103         (lduw, ldub): Renamed to zero_extend* above.
2104         (movqi_media): Fix typo.
2105         (movdi_media): Support FP and BT registers.
2106         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
2107         (movdi_const_32bit): New.
2108         (shori_media): Require immediate operand.  Use `u' for output.
2109         (movdf_media, movsf_media): Simplified.
2110         (movdf_media_nofpu, movsf_media_nofpu): New.
2111         (movdf, movsf): Adjust
2112         (movv2sf, movv2sf, movv16sf): New.
2113         (beq_media, beq_media_i): Adjust constraints.  Don't use
2114         scratch BT register.
2115         (bne_media, bne_media_i): Likewise.
2116         (bgt_media, bgt_media_i): Likewise.
2117         (bge_media, bge_media_i): Likewise.
2118         (bgtu_media, bgtu_media_i): Likewise.
2119         (bgeu_media, bgeu_media_i): Likewise.
2120         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
2121         bunordered): Emit jump insn.  Force operands to registers when
2122         needed.
2123         (jump_media, jump): Simplify.
2124         (call_compact, call_compact_rettramp): New.
2125         (call_value_compact, call_value_compact_rettramp): New.
2126         (call_media, call_value_media): Simplify.
2127         (sibcall_compact, sibcall_media): New.
2128         (call, call_value): Adjust for SHmedia and SHcompact.
2129         (sibcall, sibcall_value, untyped_call): Likewise.
2130         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
2131         (indirect_jump): Adjust for SHmedia.
2132         (casesi_jump_media): New.
2133         (nop): Re-enable for SHmedia.
2134         (call_site): Restrict to SH1.
2135         (casesi): Adjust for SHmedia.
2136         (casesi_shift_media, casesi_load_media): New.
2137         (return): Explicitly use PR register.  Call return trampoline
2138         on SHcompact.
2139         (return_i): Explicitly use PR register.
2140         (shcompact_return_tramp, shcompact_return_tramp_i): New.
2141         (return_media): Adjust.
2142         (shcompact_incoming_args): New.
2143         (epilogue): Adjust.
2144         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2145         (movstrsi): Disable on SH5.
2146         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
2147         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
2148         (subsf3, subsf3_media): Likewise.
2149         (mulsf3, mulsf3_media, mac_media): Likewise.
2150         (divsf3, divsf3_media): Likewise.
2151         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
2152         (floatsisf2, fux_truncsfsi2): Likewise.
2153         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
2154         constraints.
2155         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
2156         (cmpunsf_media, cmpsf): Likewise.
2157         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
2158         (abssf2, abssf2_media): Likewise.
2159         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
2160         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
2161         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
2162         (floatsidf2, fix_truncdfsi2): Likewise.
2163         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
2164         constraints.
2165         (cmpeqdf_media, cmpgtdf_media): Likewise.
2166         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
2167         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
2168         (absdf2, absdf2_media): Likewise.
2169         (extendsfdf2, extendsfdf2_media): Likewise.
2170         (truncsfdf2, truncsfdf2_media): Likewise.
2171         * config/sh/sh64.h: New file.
2172         * config/sh/t-sh64: New file.
2173         * config/sh/shmedia.h: New file.
2174         * config/sh/ushmedia.h: New file.
2175         * config/sh/sshmedia.h: New file.
2176         * configure.in: Added sh64-*-elf.
2177         * configure: Rebuilt.
2178         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
2179         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
2180         (reg_class_from_letter): Use `b' for TARGET_REGS.
2181         (print_operand): Support `%M', `%m', `AND' and
2182         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
2183         (andcosts): Adjust for SHmedia.
2184         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
2185         Likewise.
2186         (target_reg_operand): New function.
2187         * config/sh/sh-protos.h (target_reg_operand): Declare.
2188         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
2189         FP registers on SH5.
2190         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
2191         on SH4.
2192         (TARGET_REGISTER_P): New macro.
2193         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
2194         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
2195         (EXTRA_CONSTRAINT_S): New macro.
2196         (EXTRA_CONSTRAINT): Adjust.
2197         (FLOAT_TYPE_SIZE): Define to 32.
2198         (Pmode): DImode on SHmedia.
2199         (CONST_COSTS): Adjust for SHmedia literals.
2200         (PREDICATE_CODES): Added target_reg_operand.
2201         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
2202         * config/sh/sh.md: Remove all attrs from SHmedia insns.
2203         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
2204         (cmpdi): Accept SHmedia.
2205         (movdicc_false, movdicc_true): New insns.
2206         (movdicc): New expand.
2207         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
2208         no_new_pseudos.
2209         (addsi3_media): Match `S' constraint.
2210         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
2211         (negdi2): Expand for SHmedia.
2212         (one_cmpldi2): New expand.
2213         (zero_extendsidi2): Change from expand to insn.
2214         (extendsidi2): Add constraints.
2215         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
2216         LD/ST address.  Fix SI immediate loading split.
2217         (movhi_media, movqi_media, lduw, ldub): New insns.
2218         (movhi, movqi): Accept SHmedia.
2219         (shori_media, movdi_media): Relax input constraints.  Split
2220         symbolic constants.
2221         (movdf_media, movsf_media): New insn.  New split to movdi.
2222         (movdf, movsf): Match on SHmedia.
2223         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
2224         bgeu_media): New insns and splits.  New insns with `_i' suffix.
2225         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
2226         (bunordered): New expand.
2227         (jump_compact): Renamed from `jump'.
2228         (jump_media): New insn.
2229         (jump): New expand.
2230         (call_media, call_value_media): New insns.
2231         (call, call_value): Adjust.
2232         (indirect_jump_compact): Renamed from `indirect_jump'.
2233         (indirect_jump_media): New insn.
2234         (indirect_jump): New expand.
2235         (untyped_call, return): Accept SHmedia.
2236         (return_media): New insn.
2237         (prologue, epilogue, blockage): Accept SHmedia.
2238         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2239         (sunordered): New expand.
2240         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
2241         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
2242         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
2243         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
2244         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
2245         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
2246         abssf2_media): New insns.
2247         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
2248         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
2249         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
2250         floatdidf2, floatsidf2_media, fix_truncdfdi2,
2251         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
2252         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
2253         absdf2_media): New insns.
2254         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
2255         (extendsfdf2_media, truncdfsf2_media): New insns.
2256         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
2257         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
2258         * config/sh/sh.h (CONST_OK_FOR_J): Document.
2259         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
2260         * config/sh/sh.md (adddi3): New expand.
2261         (adddi3_media, adddi3z_media): New insns.
2262         (adddi3_compact): Renamed from adddi3.
2263         (addsi3_media): Use add.l r63 to add constant zero.
2264         (subdi3): New expand.
2265         (subdi3_media): New insn.
2266         (subdi3_compact): Renamed from subdi3.
2267         (mulsidi3): New expand.
2268         (mulsidi3_media): New insn.
2269         (mulsidi3_compact): Renamed from mulsidi3.
2270         (umulsidi3): New expand.
2271         (umulsidi3_media): New insn.
2272         (umulsidi3_compact): Renamed from umulsidi3.
2273         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
2274         (ashlsi3, ashrsi3, lshrsi3): Use them.
2275         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
2276         (ashldi3, ashrdi3, lshrdi3): Use them.
2277         (zero_extendsidi2): New expand.
2278         (extendsidi2): New insn.
2279         (movsi_media): New insn.  Split to movdi to load constants.
2280         (movsi): Enable for shmedia.
2281         (movdi_media): New insn.  Use shori_media to load wide constants.
2282         (short_media): New insn.
2283         (movdi): Enable for shmedia.
2284         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
2285         * config/sh/sh.h (CPP_SPEC): Added `m5'.
2286         (SUBTARGET_CPP_SPEC): Added `!m5'.
2287         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
2288         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
2289         to all other SH variants.
2290         (TARGET_DEFAULT): Set to SH1_BIT.
2291         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
2292         (BITS_PER_WORD): Raise to 64 on shmedia.
2293         (MAX_BITS_PER_WORD): Change to 64.
2294         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
2295         (INT_TYPE_SIZE): Keep as 32.
2296         (UNITS_PER_WORD): Raise to 8 on shmedia.
2297         (MIN_UNITS_PER_WORD): Keep as 4.
2298         (POINTER_SIZE): Raise to 64 on shmedia.
2299         (CONST_OK_FOR_J): New macro.
2300         (CONST_OK_FOR_LETTER_P): Use it.
2301         (processor_type): Add PROCESSOR_SH5.
2302         * config/sh/sh.md: Conditionalize all expands, insns and
2303         splits to TARGET_SH1.
2304         (cpu): Added sh5.
2305         (addsi3_compact): Renamed from...
2306         (addsi3): Now an expand.
2307         (addsi3_media, subsi3_media): New insns.
2308         (subsi3): Don't negate constants with SHmedia.
2309
2310         * hooks.c: New file.
2311         * hooks.h: New file.
2312         * Makefile.in (HOOKS_H): New.
2313         (TARGET_DEF_H): Added $(HOOKS_H).
2314         (OBJS): Added hooks.o.
2315         (cfgcleanup.o, bb-reorder.o): Added target.h.
2316         (hooks.o): Added dependencies.
2317         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
2318         (TARGET_INITIALIZER): this.
2319         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
2320         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
2321         * bb-reorder.c: Include target.h.
2322         (reorder_basic_blocks): Skip if cannot modify jumps.
2323         * cfgcleanup.c: Include target.h.
2324         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
2325
2326 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2327
2328         * config/mips/mips.md (casesi_internal, casesi_internal_di):
2329         Protect jump delay slot instructions with .set noreorder and
2330         .set nomacro.
2331
2332 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2333
2334         * config/mips/mips.md (casesi_internal_di): Calculate
2335         the index into the target offset table correctly.
2336
2337 2002-02-08  Richard Henderson  <rth@redhat.com>
2338
2339         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
2340         * final.c (output_addr_const): Accept and discard SUBREG.
2341         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
2342         mark them unknown instead.
2343         (simplify_subtraction): Handle RTX_UNKNOWN.
2344         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
2345
2346 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
2347
2348         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
2349
2350 2002-02-08  Richard Henderson  <rth@redhat.com>
2351
2352         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
2353
2354 2002-02-08  Andreas Jaeger  <aj@suse.de>
2355
2356         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
2357         * config/i386/t-linux64: New file.
2358
2359 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
2360
2361         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
2362         * c-parse.in (compstmt): Clear last_expr_type.
2363
2364 2002-02-07  Richard Henderson  <rth@redhat.com>
2365
2366         * loop.c (strength_reduce): Sink final_value when not
2367         eliminating a biv.
2368
2369 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
2370
2371         * config/sparc/freebsd.h: Fix mismatched spec {.
2372
2373 2002-02-07  Richard Henderson  <rth@redhat.com>
2374
2375         * cfgrtl.c: Include recog.h and insn-config.h.
2376         (keep_with_call_p): Fix general_operand invocation.
2377         * Makefile.in (cfgrtl.o): Update dependencies.
2378
2379 2002-02-07  Kazu Hirata  <kazu@hxi.com>
2380
2381         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
2382         comment.  Accept HImode only if TARGET_H8300.
2383
2384 2002-02-07  Eric Christopher  <echristo@redhat.com>
2385
2386         * config/mips/crtn.asm: Cleanup #ifdefs.
2387
2388 2002-02-07  Eric Christopher  <echristo@redhat.com>
2389
2390         * config/mips/crti.asm: Add changes for mips16. mips16 uses
2391         register 7 as RA instead of $31.
2392         * config/mips/crtn.asm: Ditto.
2393         * config/mips/mips.c (mips_move_2words): Add case for
2394         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
2395         (compute_frame_size): Fix typo.
2396         (save_restore_insns): Ditto.  Make documentation about using
2397         register $7 as return register more precise.
2398         (mips_expand_epilogue): Fix comment. Add code to work around not
2399         being able to add to the stack pointer directly.
2400         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
2401         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
2402         epilogue.
2403
2404 2002-02-07  Tom Rix  <trix@redhat.com>
2405
2406         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
2407         immediates in ldu and stdu DS opcode field.
2408         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
2409         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
2410         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
2411
2412 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
2413
2414         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
2415         offset for stack bias.
2416
2417 2002-02-07  H.J. Lu <hjl@gnu.org>
2418
2419         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
2420
2421 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
2422
2423         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
2424
2425 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2426
2427         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
2428         * i386.c (x86_order_regs_for_local_alloc): New global function.
2429         * i386.h (REG_ALLOC_ORDER): CLeanup.
2430         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
2431
2432 2002-02-07  Richard Henderson  <rth@redhat.com>
2433
2434         PR optimization/2463
2435         * alias.c (find_base_value): Recall base values for fixed hard regs.
2436         * loop.c (loop_regs_update): Don't use single_set on non-insns.
2437
2438 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
2439
2440         * config/mips/mips.md (define_delay) [mips16]: Adjust required
2441         length.
2442
2443 2002-02-06  Richard Henderson  <rth@redhat.com>
2444
2445         PR c/5609
2446         * stmt.c (resolve_operand_name_1): Take more care with mixed
2447         named and unnamed operands.
2448
2449 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
2450             Jan Hubicka  <jh@suse.cz>
2451
2452         * loop.c (remove_constant_addition): Avoid clobbering a shared
2453         CONST expression.
2454
2455 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2456
2457         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
2458         * config/s390/t-linux64: New file.
2459         * config/s390/libgcc-glibc.ver: New file.
2460
2461 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2462
2463         * config/s390/linux64.h: Delete file.
2464         * config/s390/s390x.h: New file.
2465         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
2466         as target header file.
2467         * config/s390/linux.h (TARGET_VERSION): Define depending on
2468         DEFAULT_TARGET_64BIT.
2469         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
2470         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2471         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
2472         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
2473         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
2474         (EXTRA_SPEC): New define.
2475         * config/s390/s390.h (TARGET_VERSION): Define depending on
2476         DEFAULT_TARGET_64BIT.
2477         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
2478
2479 2002-02-06  Jason Merrill  <jason@redhat.com>
2480
2481         * c-decl.c (finish_function): Warn about a non-void function with
2482         no return statement and no abnormal exit.
2483         (current_function_returns_abnormally): New variable.
2484         (start_function): Clear it.
2485         (struct c_language_function): Add returns_abnormally.
2486         (push_c_function_context): Save it.
2487         (pop_c_function_context): Restore it.
2488         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
2489         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
2490         an explicit return type.
2491         * c-tree.h: Declare current_function_returns_abnormally.
2492         (C_FUNCTION_IMPLICIT_INT): New macro.
2493         * c-typeck.c (build_function_call): Set it.
2494         (c_expand_return): Set current_function_returns_value even if the
2495         value is erroneous.
2496
2497 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2498
2499         PR c/5420:
2500         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
2501         unsafe for reevaluation.
2502
2503 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2504
2505         PR c/5482:
2506         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
2507         EXPR_STMT, but COMPOUND_STMT, recurse into it.
2508
2509 2002-02-06  Richard Henderson  <rth@redhat.com>
2510
2511         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
2512         be a general_operand.  Dest for function value must be a pseudo.
2513
2514 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
2515
2516         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
2517         as SYMBOL_REFs from the constant pool.
2518
2519 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
2520
2521         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
2522         passed by invisible reference.
2523
2524 2002-02-05  Richard Henderson  <rth@redhat.com>
2525
2526         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
2527
2528 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
2529
2530         Implement using "base addresses" in insn operands as default.
2531         * config/mmix/mmix.c (mmix_conditional_register_usage): if
2532         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
2533         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
2534         used to read the rtx value.
2535         (mmix_target_asm_function_epilogue): Fix spacing.
2536         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
2537         (mmix_legitimate_address): Ditto.
2538         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
2539         should be loaded with a GETA insn.  Don't allocate needless extra
2540         char for nul termination and fix misleading comment.
2541         (mmix_print_operand_address): Handle constants if
2542         TARGET_BASE_ADDRESSES.
2543         (mmix_output_register_setting): Use base addressing if
2544         TARGET_BASE_ADDRESSES and the number of insns is 3.
2545         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
2546         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
2547         to use R as constraint, add LDA to match s.
2548         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
2549         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
2550         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
2551         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
2552         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
2553         order with other fixed registers.
2554         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
2555         other parameter/call-clobbered registers.
2556         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
2557         -mbase-addresses, -mno-base-addresses.
2558         (MMIX Options): Ditto.
2559
2560 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2561
2562         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
2563
2564 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
2565
2566         * config/rs6000/altivec.h: Change elem to _S_elem.
2567
2568 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
2569
2570         * config/netbsd.h (WCHAR_TYPE): Define.
2571         (WCHAR_TYPE_SIZE): Ditto.
2572         (WINT_TYPE): Ditto.
2573         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
2574         (WCHAR_UNSIGNED): Ditto.
2575         (WCHAR_TYPE_SIZE): Ditto.
2576         (WINT_TYPE): Ditto.
2577         * config/arm/netbsd.h: Likewise.
2578         * config/i386/netbsd-elf.h: Likewise.
2579         * config/i386/netbsd.h: Likewise.
2580         * config/m68k/netbsd-elf.h: Likewise.
2581         * config/m68k/netbsd.h: Likewise.
2582         * config/ns32k/netbsd.h: Likewise.
2583         * config/sparc/netbsd.h: Likewise.
2584         * config/vax/netbsd.: Likewise.
2585
2586 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
2587
2588         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
2589         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
2590         (TARGET_INITIALIZER): this.
2591         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
2592         (BITFIELD_NBYTES_LIMITED): Markup fix.
2593         * tree.h (default_ms_bitfield_layout_p): Declare.
2594         (record_layout_info): Added prev_field.
2595         * tree.c (default_ms_bitfield_layout_p): New fn.
2596         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
2597         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
2598         * stor-layout.c: Include target.h.
2599         (start_record_layout): Initialize prev_field.
2600         (place_field): Handle MS bit-field layout, and disregard
2601         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
2602         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
2603         * Makefile.in (stor-layout.o): Adjust dependencies.
2604
2605 2002-02-05  Jason Merrill  <jason@redhat.com>
2606
2607         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
2608
2609 2002-02-05  Andreas Jaeger  <aj@suse.de>
2610
2611         * crtstuff.c: Fix comments.
2612
2613 2002-02-05  Richard Henderson  <rth@redhat.com>
2614
2615         PR fortran/3393
2616         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
2617         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2618
2619         PR fortran/3392
2620         * config/mips/mips.c (function_arg): Handle TImode.
2621         (function_arg_advance): Likewise.
2622
2623 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2624
2625         * config/rs6000/altivec.h (vec_step_help): Rename to
2626         __vec_step_help.
2627
2628 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2629
2630         * config/rs6000/altivec.h: Fix typos.
2631
2632 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
2633
2634         * config/arm/netbsd.h: Correct a comment.
2635
2636 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2637
2638         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
2639         building void typed builtins.
2640
2641         * config/rs6000/altivec.h (vec_ld*): Fix typos.
2642         (vec_step): Implement for C++.
2643
2644 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2645
2646         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
2647
2648 2002-02-04  Richard Henderson  <rth@redhat.com>
2649
2650         * combine.c (nonzero_bits): Re-introduce special case for
2651         sp/fp/ap wrt REGNO_POINTER_ALIGN.
2652
2653 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2654
2655         * doc/extend.texi: Warn about unsupported usage of altivec
2656         builtins.
2657
2658         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
2659         (altivec_predicate_*): New.
2660
2661         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
2662         Add C++ version of vec_*() functions.
2663
2664         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
2665         (bdesc_2arg): Remove altivec predicates.
2666         (altivec_expand_builtin): Handle predicates.
2667         (altivec_init_builtins): Handle predicates.
2668         (altivec_expand_predicate_builtin): New.
2669
2670 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2671
2672         * pa.c (DO_FRAME_NOTES): Move forward.
2673         (store_reg): Revise handling of frame notes.
2674         (load_reg): Likewise.
2675         (set_reg_plus_d): Likewise.
2676         (hppa_expand_prologue): Likewise.
2677         (hppa_expand_epilogue): Likewise.
2678
2679 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2680
2681         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
2682
2683 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2684
2685         PR c/4475, c++/3780:
2686         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
2687         * c-common.h (SWITCH_TYPE): Define.
2688         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
2689         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
2690         Rename spareness variable to sparseness.
2691         (expand_end_case_type): Renamed from expand_end_case, use orig_type
2692         if non-NULL instead of TREE_TYPE (orig_index).
2693         * tree.h (expand_end_case_type): Renamed from expand_end_case.
2694         (expand_end_case): Define using expand_end_case_type.
2695         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
2696         to expand_end_case_type.
2697         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
2698
2699 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2700
2701         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
2702         (BIGGEST_ALIGNMENT): Change to 128.
2703
2704 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2705
2706         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
2707
2708 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2709
2710         * pa.md (call_internal_reg_64bit): Remove unused variable.
2711
2712 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
2713
2714         * config/arm/arm.h (machine_function): Add uses_anonymous_args
2715         field.
2716         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
2717         * config/arm/arm.c (current_function_anonymous_args): Delete,
2718         replace uses with cfun->machine->uses_anonymous_args.
2719         (arm_reorg): Do not reset uses_anonymous_args.
2720
2721         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
2722         any geenral register.
2723
2724 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
2725
2726         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
2727         the entry block.
2728
2729 2002-02-04  Richard Henderson  <rth@redhat.com>
2730
2731         * combine.c (force_to_mode): Remove STACK_BIAS code.
2732         (nonzero_bits): Likewise.  Replace sp/fp special case with
2733         REGNO_POINTER_ALIGN.
2734
2735         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
2736         (HARD_FRAME_POINTER_REGNUM): New.
2737         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
2738         (FIXED_REGS, CALL_USED_REGS): Update.
2739         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
2740         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
2741         (HARD_REGNO_NREGS): Update for SFP.
2742         (STACK_POINTER_OFFSET): Include bias here ...
2743         (FIRST_PARM_OFFSET): ... not here.
2744         (STACK_BIAS): Remove.
2745         (INIT_EXPANDERS): New.
2746         (STARTING_FRAME_OFFSET): Do not include bias.
2747         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2748         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
2749         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
2750         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
2751         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
2752         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
2753         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
2754         (MUST_SAVE_REGISTER): Likewise.
2755         (sparc_flat_function_prologue): Likewise.
2756         (sparc_flat_function_epilogue): Likewise.
2757         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
2758         (sparc_init_modes): SFP is GENERAL_REGS.
2759         (sparc_builtin_saveregs): SFP does not have bias applied.
2760
2761 2002-02-04  Richard Henderson  <rth@redhat.com>
2762
2763         * config/alpha/alpha.c (current_function_is_thunk): Don't check
2764         current_function_is_thunk.
2765         (alpha_sa_mask): Distinguish between current_function_is_thunk
2766         called from ASM_OUTPUT_MI_THUNK and not.
2767         (alpha_does_function_need_gp): Thunks always need gp.
2768         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
2769         (alpha_output_mi_thunk_osf): New.
2770         * config/alpha/alpha-protos.h: Update.
2771         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
2772
2773 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
2774
2775         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
2776         function types, not when they're taken away.
2777
2778 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
2779
2780         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
2781         CODE_LABEL and jump table when replacing a table jump with a
2782         simple jump.
2783
2784 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2785
2786         * config/s390/s390-protos.h (legitimize_la_operand,
2787         s390_secondary_input_reload_class, s390_plus_operand,
2788         s390_expand_plus_operand): Add prototypes.
2789
2790         config/s390/s390.c (s390_secondary_input_reload_class,
2791         s390_plus_operand, s390_expand_plus_operand): New functions.
2792
2793         (struct s390_address): New member 'pointer'.
2794         (s390_decompose_address): Compute it.
2795         (legitimate_la_operand_p): Use it.
2796         (legitimize_la_operand): New function.
2797         (movti, movdi, movdf splitters): Call it.
2798
2799         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
2800         (PREDICATE_CODES): Add s390_plus_operand.
2801
2802         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
2803         (la_ccclobber): Allow GENERAL_REGS as output operand.
2804
2805         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
2806         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
2807         (*la_64, *la_31, reload_indi, reload_insi): ... these.
2808
2809 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2810
2811         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
2812         register names for regular asm () construct.
2813
2814 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2815
2816         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
2817         registers.
2818
2819 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2820
2821         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
2822         pat for recog.
2823
2824 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
2825
2826         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
2827         constant pool to be identical by string address and index.
2828
2829 2002-02-04  Anthony Green  <green@redhat.com>
2830
2831         * output.h (SECTION_OVERRIDE): Define.
2832         * varasm.c (named_section): Obey SECTION_OVERRIDE.
2833
2834 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
2835
2836         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
2837         by existing arm*-*-netbsd* (a.out) target.
2838         (ns32k-*-netbsdelf*): Likewise.
2839         (sparc-*-netbsdelf*): Likewise.
2840         (vax-*-netbsdelf*): Likewise.
2841
2842 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
2843
2844         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
2845         headers and libobjc headers.
2846
2847 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
2848
2849         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
2850         (_mingw.h): Remove duplicate include.
2851
2852 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
2853
2854         * config.gcc: Set cpu_type to m68k for 68010, as well.
2855         (m68010-*-netbsdelf*): New...
2856         (m68k*-*-netbsdelf*): ...targets.
2857         * config/m68k/netbsd-elf.h: New file.
2858
2859 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2860
2861         * config/h8300/h8300.c (hand_list): Move inside function_arg.
2862
2863 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2864
2865         * config/h8300/h8300.c (h8_push_ops): Move inside
2866         h8300_init_once.
2867         (h8_pop_ops): Likewise.
2868         (h8_move_ops): Likewise.
2869
2870 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2871
2872         * config/h8300/h8300.c (os_task): Make it static.
2873         (monitor): Likewise.
2874         (pragma_saveall): Likewise.
2875
2876 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
2877
2878         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
2879         constant is a valid sign-extension for Pmode.
2880
2881 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2882
2883         * config/h8300/h8300.c: Fix formatting.
2884
2885 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2886
2887         * config/h8300/h8300.md: Fix formatting.
2888
2889 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2890
2891         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
2892         predicates of operands[1].  Split the patterns for each
2893         processor variant.
2894
2895 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2896
2897         * config/h8300/h8300.md (xor patterns): Tighten the predicates
2898         of operands[1] to register_operand.
2899
2900 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2901
2902         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
2903         * cpphash.c (_cpp_init_hashtable): Similarly.
2904         * cppinit.c (cpp_create_reader): Default the signed_char flag.
2905         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
2906         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
2907         (cpp_handle_option): Handle the new options.
2908         * cpplex.c (cpp_interpret_charconst): Use new flag.
2909         * cpplib.h (struct cpp_options): New member signed_char.
2910         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
2911         (cpp_options): Handle -fsigned-char and -funsigned-char.
2912         (static_specs): Remove signed_char_spec.
2913         (do_spec1): Don't handle %c.
2914         * system.h: Poison SIGNED_CHAR_SPEC.
2915         * tradcif.y (yylex): Use flag_signed_char.
2916         * tradcpp.h (flag_signed_char): New.
2917         * tradcpp.c (flag_signed_char): New.
2918         (main): Handle new command-line options.
2919         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
2920 config:
2921         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
2922         * avr/avr.h: Remove old comments.
2923         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
2924         (CC1_SPEC): Pass -fsigned-char if -mic*.
2925         (SIGNED_CHAR_SPEC): Remove.
2926 doc:
2927         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
2928
2929 2002-02-01  Eric Christopher  <echristo@redhat.com>
2930
2931         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
2932         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
2933         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
2934         (ASM_OUTPUT_REG_POP): Ditto.
2935
2936 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2937
2938         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
2939         patch.
2940
2941 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
2942
2943         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
2944
2945 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
2946
2947         PR c/5304:
2948         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
2949         unconditionally.
2950
2951 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
2952
2953         * cfganal.c: Include tm_p.h.
2954         (keep_with_call_p): Fix the test that determines if a register holds
2955         the return value of a call.
2956
2957 2002-02-01  DJ Delorie  <dj@redhat.com>
2958
2959         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
2960         we are given conflicting registers, switch to the other one we
2961         had allocated for us.
2962         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
2963         as TImode so we know when the "other" register is available.
2964
2965 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
2966
2967         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
2968         sparc/sparc_bi.h.
2969
2970 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
2971
2972         * cfganal.c (keep_with_call_p): New function.
2973         (flow_call_edges_add): Prevent splitting a block between a call and
2974         a single-set instruction that should be kept in the same block.
2975
2976 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2977
2978         * doc/install.texi (avr): Update outdated URL.
2979
2980 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
2981
2982         * config/stormy16/stormy16.md (pushqi): New.
2983         (popqi): New.
2984         (pushhi): New.
2985         (pophi): New.
2986         (movhi): Remove stack operands.
2987         (movqi): Likewise.
2988         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
2989         nonimmediate_nonstack_operand.
2990         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
2991         New.
2992         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
2993         New.
2994
2995 2002-01-31  Jason Merrill  <jason@redhat.com>
2996
2997         * Makefile.in (c-parse.c): Handle .output file.
2998         * objc/Make-lang.in (objc-parse.c): Likewise.
2999
3000 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
3001
3002         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
3003         the -me[lb] option is given.  Don't output the default flag
3004         twice.
3005
3006 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
3007
3008         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
3009         the primary source file; this has not been done yet.
3010         * c-decl.c (c_expand_body): Reset input_filename from
3011         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
3012
3013 2002-01-31  Kazu Hirata  <kazu@hxi.com>
3014
3015         * rtlanal.c (subreg_regno_offset): Do not use
3016         SUBREG_REGNO_OFFSET.
3017         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
3018         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
3019
3020 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3021
3022         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
3023         version rather than GNATS version in --version output.
3024
3025 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
3026
3027         * ifcvt.c (noce_process_if_block): Make a copy of the destination
3028         when copying back from a temporary.
3029
3030 2002-01-30  Richard Henderson  <rth@redhat.com>
3031
3032         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
3033         and new_dest are the same.
3034
3035 2002-01-30  Richard Henderson  <rth@redhat.com>
3036
3037         PR opt/5076
3038         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
3039         * rtl.c (note_insn_name): Update.
3040         * emit-rtl.c (remove_unnecessary_notes): Kill it.
3041         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
3042         to perform loop rotation.
3043         (expand_exit_loop_top_cond): New.
3044         * tree.h (expand_exit_loop_top_cond): Declare it.
3045         * c-semantics.c (genrtl_while_stmt): Use it.
3046         (genrtl_for_stmt): Likewise.
3047
3048 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
3049
3050         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
3051         arguments to 64-bit boundaries on 64-bit ABIs.
3052
3053 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
3054
3055         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
3056
3057 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3058
3059         * c-decl.c (grokdeclarator): Handle type being a typedef for an
3060         invalid type.
3061
3062 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
3063
3064         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
3065         * config/sparc/sparc_bi.h: Remove file.
3066         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
3067
3068 2002-01-30  Richard Henderson  <rth@redhat.com>
3069
3070         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
3071
3072 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
3073
3074         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
3075
3076 2002-01-30  Jason Merrill  <jason@redhat.com>
3077
3078         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
3079         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
3080         (reg_save): Use DW_CFA_offset_extended_sf instead.
3081
3082         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
3083
3084 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3085
3086         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
3087         in cselib_lookup.
3088
3089 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
3090
3091         * rs6000.md ("*call_value_local32"): Remove constraints.
3092         ("*call_value_local64"): Same.
3093         ("*call_value_indirect_nonlocal_aix32"): Same.
3094         ("*call_value_nonlocal_aix32"): Same.
3095         ("*call_value_indirect_nonlocal_aix64"): Same.
3096         ("*call_value_nonlocal_aix64"): Same.
3097         ("*call_value_nonlocal_sysv"): Same.
3098
3099 2002-01-29  Richard Henderson  <rth@redhat.com>
3100
3101         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
3102
3103 2002-01-29  Richard Henderson  <rth@redhat.com>
3104
3105         * expr.c (force_operand): Ignore flag_pic for detecting pic
3106         address loads.
3107         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
3108         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
3109         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
3110         instead of open-coded loop.
3111         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
3112         be fixed when in use.
3113
3114 2002-01-29  Richard Henderson  <rth@redhat.com>
3115
3116         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
3117         * sched-rgn.c (propagate_deps): Update them.
3118         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
3119         clobbers list when either gets too long.
3120
3121 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3122
3123         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
3124         and INDEX_REGS the same as GENERAL_REGS.
3125         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3126
3127 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3128
3129         * tree.c (build_nonstandard_integer_type): Correct prototype.
3130
3131 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
3132
3133         * config/s390/s390.md (movstrsico, movstrdix_64,
3134         movstrsix_31): Remove, replace by ...
3135         (movstrdi_short, movstrsi_short, movstrdi_long,
3136         movstrsi_long): ... these.  New.
3137         (movstrdi, movstrsi): Adapt.
3138
3139         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
3140         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
3141         Remove unnecessary CC clobber.
3142         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
3143         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
3144
3145         (divmoddi4): Don't partially initialize TImode register.
3146
3147 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
3148
3149         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
3150
3151 2002-01-29  Richard Henderson  <rth@redhat.com>
3152
3153         * flow.c (print_rtl_and_abort): Remove.
3154         (print_rtl_and_abort_fcn): Remove.
3155         (verify_local_live_at_start): Use dump_bb instead.
3156         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
3157         (verify_wide_reg_1): Return 2 on mode test failure.
3158
3159 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3160
3161         PR c/3325, c/3326, c/2511, c/3347
3162         * c-decl.c (enum_decl_context): Remove BITFIELD.
3163         (grokdeclarator): Take bitfield width as an input.
3164         Ensure bitfields are given the correct type.  Perform
3165         bitfield width validation with build_bitfield_integer_type
3166         rather than waiting for finish_struct.
3167         (grok_typename, grok_typename_in_parm_context, start_decl,
3168         push_parmdecl, grokfield, start_function): Update calls to
3169         grokdeclarator.
3170         (build_bitfield_integer_type): New function.
3171         (finish_struct): Move bitfield validation to grokdeclarator
3172         and build_bitfield_integer_type.
3173         * tree.c (build_nonstandard_integer_type): New function.
3174         * tree.h (build_nonstandard_integer_type): New prototype.
3175 objc:
3176         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
3177
3178 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3179
3180         PR other/1502:
3181         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
3182         don't ignore unrecognized -W* options.
3183         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
3184         * cpplib.h (cpp_handle_option): Adjust prototype.
3185         * c-decl.c (c_decode_options): Pass 0 as last argument to
3186         cpp_handle_option.
3187
3188         PR c/2896:
3189         * gcc.c (cpp_unique_options): Split from cpp_options.
3190         (cpp_options): Source cpp_unique_options.
3191         (default_compilers): Use cpp_unique_options instead of cpp_options
3192         when used together with cc1_options.
3193         (static_specs): Add cpp_unique_options.
3194         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
3195         when used together with cc1_options.
3196
3197 2002-01-29  Kazu Hirata  <kazu@hxi.com>
3198
3199         * config/h8300/h8300-protos.h: Update the prototype of
3200         output_a_shift.
3201         * config/h8300/h8300.c (output_a_shift): Remove an unused
3202         argument 'insn'.  Remove redundant code.
3203         * config/h8300/h8300.md: Adust to the new prototype of
3204         output_a_shift.
3205
3206 2002-01-29  Kazu Hirata  <kazu@hxi.com>
3207
3208         * config/h8300/h8300-protos.h: Update the prototypes of
3209         emit_a_rotate and expand_a_rotate.
3210         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
3211         first argument to 'enum rtx_code'.
3212         (expand_a_rotate): Likewise.
3213
3214 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3215
3216         * config/h8300/h8300-protos.h: Update the prototype of
3217         output_simode_bld.
3218         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
3219         'log2'.
3220         * config/h8300/h8300.md: Adjust to the new prototype.
3221
3222 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3223
3224         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
3225         redundant code.
3226
3227 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3228
3229         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
3230         is a fixed register before returning pic_offset_table_rtx.
3231         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
3232         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
3233
3234 2002-01-28  Jason Merrill  <jason@redhat.com>
3235
3236         * dwarf2.h: Sync with src version.
3237
3238 2002-01-28  Paul Koning  <pkoning@equallogic.com>
3239
3240         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
3241         BT_FN_VOID_PTR_VAR.
3242         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
3243         * doc/extend.texi (__builtin_prefetch): Update documentation:
3244         first argument is now const void ptr.
3245
3246 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3247
3248         * config/h8300/h8300-protos.h: Remove an unused prototype.
3249
3250 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
3251
3252         * toplev.c (lang_independent_init): Round up identifier size.
3253
3254 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
3255
3256         * config.gcc: Revert previous change.
3257
3258 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
3259
3260         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
3261
3262 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
3263
3264         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
3265         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
3266         other non-elf netbsd config frags.
3267         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
3268         collect2 will does that.
3269         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
3270         shared-lib frobbing will work.
3271
3272 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3273
3274         * config/h8300/h8300.h: Fix formatting.
3275         * config/h8300/h8300.md: Likewise.
3276
3277 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
3278
3279         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
3280         the old, removed AAA_standards fix.
3281         * fixinc/fixincl.x: Rebuilt.
3282
3283 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
3284
3285         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
3286         atexit call in crtbegin, hooked in after call to frame_dummy;
3287         register EH before registering __fini__start.
3288
3289 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
3290
3291         * config/rs6000/altivec.h: Remove spurious semicolons.
3292
3293 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3294
3295         * config/h8300/h8300.md: Replace dead bit extraction patterns
3296         with ones that work.
3297
3298 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3299
3300         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
3301         if not STRICT_ALIGNMENT.
3302         * rtl.h (MEM_ALIGN): Likewise.
3303
3304 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3305
3306         * doc/invoke.texi (-fdump-translation-unit): Revert this
3307         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3308
3309 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3310
3311         * config/h8300/h8300.md (define_constants): New.
3312         (anonymous patterns) Use defined constants appropriately.
3313
3314 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3315
3316         * config/h8300/h8300.c (function_arg): Remove redundant code.
3317
3318 2002-01-26  Richard Henderson  <rth@redhat.com>
3319
3320         * sched-deps.c (reg_pending_uses_head): New.
3321         (reg_pending_barrier): Rename from reg_pending_sets_all.
3322         (find_insn_list): Don't mark inline.
3323         (find_insn_mem_list): Remove.
3324         (add_dependence_list, add_dependence_list_and_free): New.
3325         (flush_pending_lists): Replace only_write param with separate
3326         for_read and for_write parameters.  Update all callers.  Use
3327         add_dependence_list_and_free.
3328         (sched_analyze_1): Do not add reg dependencies here; just set
3329         the pending bits.  Use add_dependence_list.
3330         (sched_analyze_2): Likewise.
3331         (sched_analyze_insn): Replace schedule_barrier_found with
3332         reg_pending_barrier.  Add all dependencies for pending reg
3333         uses, sets, and clobbers.
3334         (sched_analyze): Don't add reg dependencies for calls, just
3335         set pending bits.  Use regs_invalidated_by_call.  Treat
3336         sched_before_next_call as a normal list, not a fake insn.
3337         (init_deps): No funny init for sched_before_next_call.
3338         (free_deps): Free pending mems lists.  Don't zero reg_last.
3339         (init_deps_global): Init reg_pending_uses.
3340         (finish_deps_global): Free it.
3341         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
3342         (find_insn_mem_list): Remove.
3343         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
3344         (propagate_deps): Use them.  Zero temp mem lists.
3345
3346 2002-01-26  Richard Henderson  <rth@redhat.com>
3347
3348         * Makefile.in (CRTSTUFF_CFLAGS): New.
3349         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
3350         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
3351         crtstuff.c instead of alpha assembly version.
3352         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
3353         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
3354         not FORCE_{INIT,FINI}_SECTION_ALIGN.
3355         (__do_global_dtors_aux): Mark used.
3356         (frame_dummy, __do_global_ctors_aux): Mark used.
3357         (fini_dummy, init_dummy): Remove.
3358
3359         * config/alpha/crtbegin.asm: Remove file.
3360         * config/alpha/crtend.asm: Remove file.
3361         * config/alpha/t-crtbe: Remove file.
3362         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
3363         (LINK_EH_SPEC): New.
3364
3365         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
3366         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
3367         calling constructors.
3368         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
3369
3370         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
3371         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
3372         CRT_END_INIT_DUMMY hack.
3373         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
3374         FORCE_{INIT,FINI}_SECTION_ALIGN.
3375
3376         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
3377         FORCE_{INIT,FINI}_SECTION_ALIGN.
3378
3379         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
3380         invocation sequence.
3381         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3382
3383         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
3384         (FORCE_CODE_SECTION_ALIGN): New.
3385
3386 2002-01-26  Richard Henderson  <rth@redhat.com>
3387
3388         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
3389
3390 2002-01-26  Richard Henderson  <rth@redhat.com>
3391
3392         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
3393         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
3394
3395 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3396
3397         * config/h8300/h8300.md: Remove bit extraction patterns that
3398         cannot be triggered.
3399         Restrict each bit extraction pattern to a variant on which the
3400         pattern is tested.
3401
3402 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
3403
3404         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
3405
3406 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3407
3408         * config/h8300/h8300.md: Remove bit test patterns that cannot
3409         be triggered.
3410         Restrict each bit test pattern to a variant on which the
3411         pattern is tested.
3412
3413 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3414
3415         * builtins.c (expand_builtin_strncat): Remove redundant check for
3416         INTEGER_CST.
3417
3418 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3419
3420         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
3421         default setting.
3422         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
3423         existing setting.
3424
3425 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3426
3427         * dbxout.c (dbxout_init): Use assemble_name rather than just
3428         stripping off the first character.
3429         (dbxout_source_file): Likewise.
3430
3431 2002-01-25  DJ Delorie  <dj@redhat.com>
3432
3433         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
3434         using rtx_equal_p, not by comparing pointers.
3435
3436 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
3437
3438         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
3439         for PIC_OFFSET_TABLE_REGNUM.
3440         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
3441
3442 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3443
3444         * config.gcc (x86_64-*-freebsd*): New target.
3445         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
3446         value.
3447         (i[34567]86-*-freebsd*): Don't include svr4.h.
3448         * config/i386/freebsd64.h: New file.
3449
3450 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
3451
3452         * config/alpha/x-vms (version): Make static.
3453
3454         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
3455         in previous checkin.
3456
3457         * Makefile.in (install-headers-cp): New target.
3458         * config.gcc (alpha-dec-*vms*): Install headers with
3459         install-headers-cp
3460
3461 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
3462
3463         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
3464         avoid it's copies.
3465
3466 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3467
3468         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
3469         of compare_tree_int.
3470         (expand_builtin_strncat): Likewise.
3471         * c-decl.c (finish_struct): Use tree_low_cst.
3472         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
3473         * tree.c (compare_tree_int): Likewise.
3474
3475 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3476
3477         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
3478         adjustments even if they are implemented by more than two insns.
3479
3480 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
3481
3482         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
3483         * df.h (struct ref): Kill B.
3484         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
3485
3486         * basic-block.h (PROP_EQUAL_NOTES): New flag.
3487         * flow.c (propagate_one_insn): Use it.
3488         (mark_used_regs): Handle NIL.
3489
3490 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3491
3492         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
3493         to help folding.
3494
3495 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
3496
3497         * rs6000.md (prefetch): Make address V4SI mode so that the address
3498         is restricted to legitimate form for instruction.
3499
3500 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
3501
3502         * doc/install.texi (xtensa-*-elf): New target.
3503         (xtensa-*-linux*): New target.
3504         * doc/contrib.texi: Add myself.
3505
3506 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
3507
3508         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
3509         purpose register to hold an SImode (or smaller) value.
3510
3511 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
3512
3513         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
3514         registry only.
3515         * crtstuff.c: Likewise.
3516
3517 2002-01-25  Kazu Hirata  <kazu@hxi.com>
3518
3519         * config/h8300/h8300.md (negation patterns): Tighten
3520         predicates to register_operand.
3521
3522 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
3523
3524         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
3525         mode, not Pmode.
3526
3527         * builtins.c (expand_builtin_prefetch): Same.
3528
3529 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3530
3531         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
3532         modes.
3533
3534 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3535
3536         * config/h8300/h8300.c (print_operand): Remove support for
3537         operand character 'A'.
3538         * config/h8300/h8300.md (three anonymous patterns): Replace
3539         operand character 'A' with either 'T' or 'S'.
3540
3541 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3542
3543         * config/h8300/h8300.c (print_operand): Remove support for
3544         operand character 'U'.
3545
3546 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
3547
3548         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
3549
3550 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
3551
3552         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
3553         values to be assigned to the stack pointer.
3554
3555 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
3556
3557         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
3558         to const_double needs to be done right for big-endian systems.
3559
3560 2002-01-24  Jason Merrill  <jason@redhat.com>
3561
3562         PR c++/2432
3563         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
3564         to can_throw_internal.
3565
3566 2002-01-23  Richard Henderson  <rth@redhat.com>
3567
3568         * fold-const.c (fold): Change UINT_MAX test to check vs precision
3569         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
3570
3571 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3572
3573         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
3574         (symGOT2reg): Use them, then set as GOT value as unchanging.
3575         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
3576         as a temporary, if possible.
3577         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
3578         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
3579
3580 2002-01-23  Kazu Hirata  <kazu@hxi.com>
3581
3582         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
3583         accept to accept 0x80 as operands[2].
3584
3585 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3586
3587         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
3588
3589 2002-01-23  Richard Henderson  <rth@redhat.com>
3590
3591         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
3592
3593 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
3594
3595         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
3596         (parmlist_or_identifiers_1): Verify that only a parmlist follows
3597         an attribute.
3598
3599 2002-01-23  Richard Henderson  <rth@redhat.com>
3600
3601         * expr.c (move_by_pieces_1): Extend size before negation.
3602
3603         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
3604         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
3605         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
3606         * config/m68k/t-m68kelf: Likewise.
3607
3608 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
3609
3610         * config/xtensa/elf.h: New file.
3611         * config/xtensa/lib1funcs.asm: New file.
3612         * config/xtensa/lib2funcs.S: New file.
3613         * config/xtensa/linux.h: New file.
3614         * config/xtensa/t-xtensa: New file.
3615         * config/xtensa/xtensa-config.h: New file.
3616         * config/xtensa/xtensa-protos.h: New file.
3617         * config/xtensa/xtensa.c: New file.
3618         * config/xtensa/xtensa.h: New file.
3619         * config/xtensa/xtensa.md: New file.
3620         * config.gcc (xtensa-*-elf*): New target.
3621         (xtensa-*-linux*): New target.
3622         * cse.c (canon_hash): Compare rtx pointers instead of register
3623         numbers.  This is required for the Xtensa port.
3624         * integrate.c (copy_insn_list): Handle case where the static
3625         chain is in memory and the memory address has to be copied to
3626         a register.
3627         * doc/invoke.texi (Option Summary): Add Xtensa options.
3628         (Xtensa Options): New node.
3629         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
3630
3631 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
3632
3633         * diagnostic.c (internal_error): Do ICE suppression only
3634         when ENABLE_CHECKING is not defined.
3635
3636         * c-typeck.c (require_complete_type): Return error_mark_node
3637         if type is error_mark_node.
3638
3639 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
3640
3641         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
3642         -Os and issue a warning.
3643
3644 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
3645
3646         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
3647         current (lack of) need for host configuration by hand.
3648
3649         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
3650         references.  Documentation of some target macros moved from
3651         hostconfig.texi to tm.texi.
3652
3653 2002-01-23  Will Cohen  <wcohen@redhat.com>
3654
3655         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
3656         defined.
3657
3658 2002-01-23  Kazu Hirata  <kazu@hxi.com>
3659
3660         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
3661         operand[3].
3662
3663 2002-01-23  Jason Merrill  <jason@redhat.com>
3664
3665         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
3666
3667         * function.c (assign_parms): Don't put args of inline functions
3668         into registers when not optimizing.
3669
3670 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
3671
3672         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
3673         (prologue_use): New pattern.
3674         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
3675         preference to gen_rtx_USE.
3676         (thumb_expand_prologue): Use gen_prologue_use in preference to
3677         gen_rtx_USE.
3678         (thumb_expand_epilogue): Use gen_prologue_use in preference to
3679         gen_rtx_USE.
3680
3681 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
3682
3683         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
3684
3685 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3686
3687         PR c/3504
3688         * doc/extend.texi: Correct documentation of __alignof__.
3689
3690 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
3691
3692         * params.h: Rename arguments of DEFPARAM so that it will be
3693         recognized as a translation keyword.
3694
3695 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3696
3697         * extend.texi: Document altivec functions.
3698         Fix N-bit adjectives in X86 builtin documentation.
3699
3700 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
3701
3702         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
3703         auto_inc_dec values.
3704
3705 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
3706
3707         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
3708         after backslash.
3709         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
3710
3711 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
3712
3713         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
3714
3715 2002-01-22  Richard Henderson  <rth@redhat.com>
3716
3717         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
3718         copy_insn not copy_rtx.
3719
3720 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
3721
3722         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
3723         "nonzero" as that might add "1" bits.  Ensure "constop" is
3724         properly sign extened.
3725         (force_to_mode): Tweak for sign extended constop.
3726
3727 2002-01-22  Richard Henderson  <rth@redhat.com>
3728
3729         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
3730         for_each_rtx instead of assuming we're already looking at the MEM.
3731         (split_small_symbolic_mem_operand): Likewise.
3732         * config/alpha/alpha.h (PREDICATE_CODES): Update.
3733         * config/alpha/alpha.md (small symbolic memory splitters): Update.
3734
3735 2002-01-22  Richard Henderson  <rth@redhat.com>
3736
3737         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
3738         sequence number for the literal.
3739         (divmoddi_internal_er): Likewise.
3740
3741 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3742
3743         PR java/4972
3744         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
3745         in LIBICONV variable.
3746         * configure: Regenerated.
3747
3748 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
3749
3750         * dependence.c (build_def_use): Remove array_idx.
3751
3752         * dwarfout.c (last_filename): Remove.
3753         (output_compile_unit_die): Remove last_filename.
3754
3755 2002-01-22  Roger Sayle  <roger@eyesopen.com>
3756             Richard Henderson  <rth@redhat.com>
3757
3758         PR opt/3640
3759         * fold-const.c (fold): Optimize unsigned comparisons against
3760         UINT_MAX (and similar unsigned constants).
3761
3762 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
3763
3764         * Makefile.in (loop.o): Depend on OPTABS_H.
3765         * loop.c (emit_prefetch_instructions): Check the prefetch operand
3766         against the predicate.
3767
3768         PR target/5379
3769         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
3770         for the address operand.
3771
3772 2002-01-22  Richard Henderson  <rth@redhat.com>
3773
3774         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
3775
3776 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3777
3778         PR other/5450
3779         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
3780         preprocessor flags.
3781
3782 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
3783
3784         * config.gcc (x86_64-*-netbsd*): New target.
3785         * config/i386/netbsd64.h: New file.
3786
3787 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3788
3789         * regrename.c (kill_value): Fix typo.
3790
3791 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3792
3793         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
3794
3795         * config/rs6000/rs6000.h: Same.
3796
3797         * function.c (instantiate_virtual_regs): Remove
3798         STARTING_FRAME_PHASE.
3799         (assign_stack_local_1): Same.
3800         Calculate frame phase.
3801
3802 2002-01-22  Nick Clifton  <nickc@redhat.com>
3803
3804         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
3805         variable declaration to outer scope in order to simplify
3806         future extensions.
3807         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
3808         arm_hard_regno_mode_ok.
3809         * config/arm/arm-protos.h: Add a prototype for
3810         arm_hard_regno_mode_ok.
3811         * config/arm/arm.c (soft_df_operand): Remove now redundant
3812         check for DImode values using IP_REGNUM.
3813         (nonimmediate_soft_df_operand): Remove now redundant check for
3814         DImode values using IP_REGNUM.
3815         (arm_hard_regno_mode_ok): New function. New check: make sure
3816         that DImode values are not stored in IP_REGNUM.
3817
3818         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
3819         note with a USE.
3820         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
3821
3822 2002-01-22  Jason Merrill  <jason@redhat.com>
3823
3824         * c-semantics.c (genrtl_compound_stmt): Only check nesting
3825         consistency if this COMPOUND_STMT is scoped.
3826
3827 2002-01-22  Kazu Hirata  <kazu@hxi.com>
3828
3829         * predict.c: Fix formatting.
3830         * print-tree.c: Likewise.
3831         * protoize.c: Likewise.
3832         * real.h: Likewise.
3833         * rtl.h: Likewise.
3834         * sbitmap.h: Likewise.
3835         * scan.c: Likewise.
3836         * sched-deps.c: Likewise.
3837         * sched-vis.c: Likewise.
3838         * sdbout.c: Likewise.
3839         * sibcall.c: Likewise.
3840         * ssa.c: Likewise.
3841         * ssa-ccp.c: Likewise.
3842         * ssa-dce.c: Likewise.
3843         * stmt.c: Likewise.
3844         * stor-layout.c: Likewise.
3845         * system.h: Likewise.
3846
3847 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3848
3849         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
3850         if fits in bounds of base type.
3851
3852         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
3853         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
3854         (add_bound_info, default): If can't find a context, make a
3855         SAVE_EXPR.
3856         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
3857
3858 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
3859
3860         * c-typeck.c (parser_build_binary_op): If result from
3861         build_binary_op is ERROR_MARK just return error_mark_node without
3862         further processing.
3863
3864 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
3865
3866         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
3867         Split a.out-specific bits into...
3868         * config/netbsd-aout.h: ...this.
3869         * config/netbsd-elf.h: New file.
3870         * config/alpha/netbsd-elf.h: Remove.
3871         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
3872         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
3873         (STARTFILE_SPEC): Remove redundant definition.
3874         (ENDFILE_SPEC): Likewise.
3875         (LINK_SPEC): Likewise.
3876         (CPP_SPEC): Likewise.
3877         (ASM_SPEC): Likewise.
3878         (LIB_SPEC): Likewise.
3879         (SWITCH_TAKES_ARG): Likewise.
3880         (TARGET_MEM_FUNCTIONS): Likewise.
3881         (CPP_PREDEFINES): Redefine.
3882         (ASM_FINAL_SPEC): Remove redefinition.
3883         (ASM_COMMENT_START): Redefine.
3884         (FUNCTION_PROFILER): Define.
3885         (TARGET_VERSION): Redefine.
3886         Comment and formatting cleanup.
3887         * config/i386/netbsd.h: Include <netbsd-aout.h>.
3888         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
3889         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
3890         big- or little-endian.
3891         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
3892         * config.gcc (*-*-netbsd*): Add definitions common to all
3893         NetBSD configs.
3894         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
3895         gnu_ld definitions.  Add netbsd-elf.h to and remove
3896         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
3897         tmake_file, and don't lose previous tmake_file contents.
3898         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
3899         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
3900         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
3901         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
3902         (mipsel-*-netbsd*): Rename this to...
3903         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
3904         mips/little.h to tm_file for mips*el-*.
3905         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
3906         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
3907         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
3908
3909 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3910
3911         * pa-protos.h (reg_before_reload_operand): New function prototype.
3912         * pa.c (reg_before_reload_operand): New function implementation.
3913         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
3914         contraints to "*m".
3915
3916 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3917
3918         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
3919
3920 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3921
3922         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
3923         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
3924         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
3925         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
3926         (ENDFILE_SPEC): Undefine.
3927         (STARTFILE_SPEC): Redefine for PA.
3928
3929 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3930
3931         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
3932
3933 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
3934
3935         * config.gcc: Add entries to supported PowerPC --with-cpu
3936         types.
3937
3938 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
3939
3940         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
3941         true for 64-bit mode only SSE registers in 32-bit mode.
3942
3943 2002-01-21  Kazu Hirata  <kazu@hxi.com>
3944
3945         * unwind-dw2.c: Fix formatting.
3946         * unwind-dw2-fde.c: Likewise.
3947         * unwind-dw2-fde.h: Likewise.
3948         * unwind-pe.h: Likewise.
3949         * varasm.c: Likewise.
3950         * varray.h: Likewise.
3951
3952 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
3953
3954         Remove workaround for register stack overwrite bug in mmix.
3955         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
3956         support for TARGET_REG_STACK_FILL_BUG.
3957         * config/mmix/mmix.h: Remove member has_call_without_parameters.
3958         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
3959         Delete.
3960         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
3961         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
3962         -mno-reg-stack-fill-bug-workaround.
3963         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
3964         machine member has_call_without_parameters.
3965         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
3966         -mreg-stack-fill-bug-workaround and
3967         -mno-reg-stack-fill-bug-workaround.
3968         (MMIX Options): Ditto.
3969
3970 2002-01-21  Kazu Hirata  <kazu@hxi.com>
3971
3972         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
3973         as appropriate.
3974         Remove redundant code.
3975
3976 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3977
3978         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
3979         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3980         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
3981         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
3982         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
3983         out target macro definitions and non-target-specific comments
3984         mostly taken from old versions of the manual.
3985
3986 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3987
3988         * config/h8300/h8300.h: Fix comment formatting.
3989         * config/ia64/aix.h: Likewise.
3990         * config/ia64/ia64-protos.h: Likewise.
3991         * config/ia64/ia64.c: Likewise.
3992         * config/ia64/ia64.h: Likewise.
3993         * config/ia64/ia64intrin.h: Likewise.
3994         * config/ia64/linux.h: Likewise.
3995         * config/ia64/unwind-aix.c: Likewise.
3996         * config/ia64/unwind-ia64.c: Likewise.
3997
3998 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3999
4000         * config/h8300/h8300.c: Revise comments about shift code.
4001
4002 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4003
4004         * config/h8300/h8300.c (function_arg): Update a comment.
4005
4006 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4007
4008         * config/h8300/h8300.md: Update the comments at the beginning
4009         of the file.
4010
4011 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4012
4013         * config/i370/i370.c: Fix comment formatting.
4014         * config/i370/i370.h: Likewise.
4015         * config/i370/i370.md: Likewise.
4016         * config/i370/linux.h: Likewise.
4017
4018 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4019
4020         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
4021
4022         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
4023         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
4024         in incomplete case.
4025
4026 2002-01-20  Graham Stott  <grahams@redhat.com>
4027
4028         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
4029
4030 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4031
4032         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
4033
4034 2002-01-19  Tom Rix  <trix@redhat.com>
4035
4036         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
4037
4038 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
4039
4040         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
4041
4042         * function.c (assign_stack_local_1): Adjust x_frame_offset with
4043         STARTING_FRAME_PHASE.
4044         (STARTING_FRAME_PHASE): New.
4045         (instantiate_virtual_regs): Check saneness of
4046         STARTING_FRAME_PHASE.
4047
4048         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
4049
4050 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
4051
4052         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
4053
4054 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4055
4056         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
4057         be used for bootstrapping GCC 3.0.
4058
4059 2002-01-18  Kazu Hirata  <kazu@hxi.com>
4060
4061         * config/h8300/h8300.md: Fix an insn length.
4062
4063 2002-01-18  Kazu Hirata  <kazu@hxi.com>
4064
4065         * bitmap.h: Fix comment formatting.
4066         * combine.c: Likewise.
4067         * cppfiles.c: Likewise.
4068         * c-pragma.h: Likewise.
4069         * c-typeck.c: Likewise.
4070         * df.c: Likewise.
4071         * dwarf2out.c: Likewise.
4072         * function.c: Likewise.
4073         * gcc.c: Likewise.
4074         * genattrtab.c: Likewise.
4075         * gthr-win32.h: Likewise.
4076         * haifa-sched.c: Likewise.
4077         * predict.c: Likewise.
4078         * rtlanal.c: Likewise.
4079         * rtl.h: Likewise.
4080         * unwind-dw2-fde.h: Likewise.
4081         * unwind-pe.h: Likewise.
4082         * vmsdbgout.c: Likewise.
4083
4084 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4085
4086         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
4087         if type_required and passed decl.
4088
4089 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
4090
4091         * config.gcc (cpu_type): Include altivec.h in powerpc
4092         extra_headers.
4093         Same for darwin.
4094
4095         * config/rs6000/altivec.h: New.
4096
4097 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
4098
4099         * doc/install.texi (*-ibm-aix*): Update assembler and exception
4100         handling information.
4101         * doc/trouble.texi (Interoperation): Add libstdc++ information
4102         for AIX.
4103         (Misunderstandings): Add template instantiation and static template
4104         member information for AIX.
4105
4106 2002-01-17  Jason Merrill  <jason@redhat.com>
4107
4108         * dbxout.c (dbxout_type): Support const and volatile.
4109
4110         * except.c (add_partial_entry): Remove backwards compatibility code.
4111         (end_protect_partials): Likewise.
4112
4113 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
4114
4115         * config/ia64/ia64.md (prologue_use): New.
4116         * config/ia64/ia64.c (ia64_expand_prologue): Use
4117         gen_prologue_use instead of gen_rtx_USE.
4118         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
4119         as CODE_FOR_pred_rel_mutex.
4120         (ia64_sched_reorder2): Likewise.
4121
4122 2002-01-16  Eric Christopher  <echristo@redhat.com>
4123
4124         * config/mips/r3900.h: Reformat.
4125         (SUBTARGET_CPP_SIZE_SPEC): Remove.
4126         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4127         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
4128         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
4129         * config/mips/t-elf: Remove mips3 multilib.
4130
4131 2002-01-16  H.J. Lu <hjl@gnu.org>
4132
4133         * config/mips/linux.h: Include "mips/abi64.h".
4134
4135 2002-01-16  H.J. Lu <hjl@gnu.org>
4136
4137         * config/mips/t-linux: New.
4138
4139         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
4140
4141         * config/mips/linux.h: Don't include "gofast.h".
4142         (INIT_SUBTARGET_OPTABS): Removed.
4143
4144 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4145
4146         * config/h8300/h8300-protos.h: Replace emit_a_shift with
4147         output_a_shift.
4148         * config/h8300/h8300.c: Likewise.
4149         * config/h8300/h8300.md: Likewise.
4150
4151 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4152
4153         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
4154         spaces after an opcode name.
4155         (pushqi1_h8300hs): Likewise.
4156         (pushhi1_h8300hs): Likewise.
4157
4158 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4159
4160         * doc/extend.texi: Replace "option" with "attribute"
4161         appropriately.
4162
4163 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4164
4165         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
4166         (and:DI () (const_int -8)).
4167         (split_small_symbolic_mem_operand): Split
4168         (mem (and:DI () (const_int -8)).
4169
4170 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4171
4172         PR target/5309:
4173         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
4174         same way as TYPE_IMUL.
4175         (ultrasparc_sched_reorder): Likewise.
4176         * config/sparc/sparc.md (type): Add comment to update
4177         ultrasparc_sched_reorder when making changes.
4178
4179 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4180
4181         * doc/invoke.texi: Change the dump file name of block
4182         reordering pass from 28.bbro to 29.bbro.
4183         Mention -dk option.
4184
4185 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
4186
4187         * i386.md (minsf splitter): Fix pasto.
4188
4189 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
4190
4191         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
4192         to frame pointer initialisation instruction.
4193         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
4194         initialisation instruction.
4195         (soft_df_operand): Do not accept the IP register.
4196         (nonimmediate_soft_df_operand): Do not accept the IP register.
4197
4198 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4199
4200         PR target/5357:
4201         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
4202         MASK_V8 being both set.
4203
4204 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
4205
4206         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
4207         insn for GOT register; add REG_MAYBE_DEAD notes instead.
4208         config/s390/s390.md (call, call_value): Add GOT register to
4209         CALL_INSN_FUNCTION_USAGE where needed.
4210         (call_exp, call_value_exp): New.
4211
4212 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
4213
4214         * config/arm/arm.c: General formatting tidy up.
4215
4216 2002-01-16  Graham Stott  <grahams@redhat.com>
4217
4218         * calls.c (try_to_integrate): Use "(size_t)" intermediate
4219         cast and when casting an integer literal to "rtx" pointer.
4220         (expand_call): Likewise.
4221         * flow.c (try_pre_increment): Likewise.
4222         (find_use_as_address): Likewise.
4223         * integrate.c (expand_iline_function): Likewise.
4224         * regmove.c (try_auto_increment): Likewise.
4225
4226 2002-01-16  Graham Stott  <grahams@redhat.com>
4227
4228         * sched-rgn.c (passed): Use sbitmap_free.
4229         (header): Likewise.
4230         (inner): Likewise.
4231         (in_queue): Likewise.
4232         (in_stack): Likewise.
4233
4234 2002-01-15  Eric Christopher  <echristo@redhat.com>
4235
4236         * flow.c (propagate_one_insn): Change to use fatal_insn.
4237
4238 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4239
4240         * expmed.c (extract_fixed_bit_field): Remove unused code.
4241         * system.h: Poison SLOW_ZERO_EXTEND.
4242         * doc/tm.texi: Remove.
4243         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
4244         * config/arm/arm.h: Likewise.
4245         * config/avr/avr.h: Likewise.
4246         * config/clipper/clipper.h: Likewise.
4247         * config/convex/convex.h: Likewise.
4248         * config/d30v/d30v.h: Likewise.
4249         * config/dsp16xx/dsp16xx.h: Likewise.
4250         * config/elxsi/elxsi.h: Likewise.
4251         * config/fr30/fr30.h: Likewise.
4252         * config/h8300/h8300.h: Likewise.
4253         * config/i370/i370.h: Likewise.
4254         * config/i386/i386.h: Likewise.
4255         * config/m68k/m68k.h: Likewise.
4256         * config/mips/mips.h: Likewise.
4257         * config/ns32k/ns32k.h: Likewise.
4258         * config/pdp11/pdp11.h: Likewise.
4259         * config/pj/pj.h: Likewise.
4260         * config/s390/s390.h: Likewise.
4261         * config/sh/sh.h: Likewise.
4262         * config/stormy16/stormy16.h: Likewise.
4263         * config/v850/v850.h: Likewise.
4264         * config/vax/vax.h: Likewise.
4265         * config/we32k/we32k.h: Likewise.
4266
4267 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4268
4269         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
4270         (altivec_lvsl): Change constraint to b.
4271         (altivec_lvsr): Same.
4272         (altivec_lvebx): Same.
4273         (altivec_lvehx): Same.
4274         (altivec_lvewx): Same.
4275         (altivec_lvxl): Same.
4276         (altivec_lvx): Same.
4277         (altivec_stvx): Add parallel.
4278         (altivec_stvxl): Same.
4279         (altivec_stvehx): Same.
4280         (altivec_stvebx): Same.
4281         (altivec_stvebx): Same.
4282
4283 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4284
4285         * config.gcc: Change altivec.h to altivec-defs.h.
4286
4287         * config/rs6000/altivec.h: Delete.
4288
4289         * config/rs6000/altivec-defs.h: Add.
4290
4291 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4292
4293         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
4294         and UMOD modes.
4295
4296         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
4297         less than or equal to eight bytes.
4298
4299         * vax.md (andsi3): Remove constraints and change SET destination
4300         operand type to nonimmediate_operand.
4301         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
4302         when it is a CONST_INT.
4303
4304 2002-01-15  Jason Merrill  <jason@redhat.com>
4305
4306         * c-common.def (FILE_STMT): New code.
4307         * c-common.c (statement_code_p): It's a statement.
4308         * c-common.h (stmt_tree_s): Add x_last_filename.
4309         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
4310         (last_expr_filename): New macro.
4311         * c-semantics.c (begin_stmt_tree): Initialize it.
4312         (add_stmt): If the filename changed, also insert a
4313         FILE_STMT.
4314         (expand_stmt): Handle seeing one.
4315
4316 2002-01-15  Eric Christopher  <echristo@redhat.com>
4317
4318         * flow.c (propagate_one_insn): Add error message and print out
4319         insn for debugging.
4320
4321 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4322
4323         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
4324         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
4325         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
4326         TRAMPOLINE_ALIGNMENT.
4327         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
4328         to be in bits.
4329         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
4330         PCC_BITFIELD_TYPE_MATTERS.
4331         * config/interix.h (STDC_VALUE): Remove.  Use
4332         STDC_0_IN_SYSTEM_HEADERS.
4333         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
4334         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
4335         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
4336
4337 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4338
4339         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
4340         not work on this platform currently.
4341
4342 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4343
4344         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
4345         readonly_warning in _().
4346
4347 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
4348
4349         * gcc.c (delete_if_ordinary): Backout previous change.
4350
4351 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4352
4353         * config/h8300/h8300.c (print_operand): Remove support for
4354         unused operand characters.
4355
4356         * read-rtl.c: Fix formatting.
4357         * real.c: Likewise.
4358         * recog.c: Likewise.
4359         * regclass.c: Likewise.
4360         * regmove.c: Likewise.
4361         * reg-stack.c: Likewise.
4362         * reload1.c: Likewise.
4363         * rtlanal.c: Likewise.
4364
4365 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4366
4367         * config/i386/i386.c: Fix formatting.
4368
4369 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
4370
4371         * c-typeck.c (process_init_element): Don't save_expr
4372         COMPOUND_LITERAL_EXPR if just its initializer will be used.
4373
4374 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
4375
4376         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
4377         emit optional traceback table if optimize_size or TARGET_ELF.
4378         * config/rs6000/rs6000.md (prefetch): New.
4379
4380 2002-01-15  Andreas Jaeger  <aj@suse.de>
4381
4382         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
4383
4384 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4385
4386         * mips-tfile.c: Fix formatting.
4387
4388 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4389
4390         * unroll.c (final_reg_note_copy): Fix previous commit.
4391
4392 2002-01-14  Kazu Hirata  <kazu@hxi.com>
4393
4394         * config/h8300/h8300-protos.h: Remove the prototype for
4395         eq_operator.
4396         * config/h8300/h8300.c (eq_operator): Remove.
4397
4398 2002-01-14  Richard Henderson  <rth@redhat.com>
4399
4400         * config/i386/i386.md (prefetch): Tidy.
4401         (prefetch_3dnow): Fix locality operand.
4402
4403 2002-01-14  Richard Henderson  <rth@redhat.com>
4404
4405         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
4406         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
4407
4408 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
4409
4410         * reload1.c (reload_combine): Pass reg_sum replacement through
4411         copy_rtx in loop performing multiple changes.
4412
4413 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
4414
4415         * except.c (remove_unreachable_regions): New.
4416         (free_eh_status): Clear exception_handler_labels.
4417         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
4418         (find_exception_handler_labels): Don't add the same label more than
4419         once.
4420         (remove_exception_handler_label): Don't die if
4421         find_exception_handler_labels hasn't been called for the current
4422         function yet.
4423
4424 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4425
4426         * toplev.c (rest_of_compilation): Rebuild jump labels after
4427         gcse.
4428
4429 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4430
4431         * doc/extend.texi: Move documentation of X86 built-in functions
4432         here.
4433         * doc/invoke.texi: From here.
4434         * doc/sourcebuild.texi: Document location of documentation for
4435         machine built-in functions.
4436
4437 2002-01-13  Christopher Faylor  <cgf@redhat.com>
4438
4439         * cppfiles.c (TEST_THRESHOLD): New macro.
4440         (SHOULD_MMAP): Ditto.
4441         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
4442         be used.
4443
4444 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
4445
4446         * unroll.c (final_reg_note_copy): Properly handle
4447         REG_LABEL
4448         (unroll_loops): Fix LOOP_CONDITION heuristics.
4449
4450 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
4451
4452         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
4453         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
4454
4455 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4456
4457         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
4458         threaded loop.
4459
4460 2002-01-14  Tom Rix  <trix@redhat.com>
4461
4462         * config/rs6000/rs6000.md: Fix typo with sradi.
4463
4464 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
4465
4466         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
4467         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
4468         (clrstrdi, clrstrsi): Adapt callers.
4469
4470         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
4471
4472         (movti splitter): Never use register 0 as base register.
4473
4474 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
4475
4476         * combine.c (simplify_shift_const): Always generate new rtx
4477         for shift expression instead of reusing given expression.
4478
4479 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4480
4481         * config/alpha/alpha.c (alpha_expand_mov): Don't call
4482         alpha_legitimize_address unless mode is Pmode.
4483
4484 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
4485
4486         * doc/md.texi (Modifiers): Document the '*' constraint for the
4487         user.
4488
4489         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
4490         * doc/extend.texi (Function Attributes): 'interrupt' is valid
4491         for xstormy16 too.
4492
4493 2002-01-13  Richard Henderson  <rth@redhat.com>
4494
4495         * reload.c (find_reloads): Use a hard reg destination as reload reg
4496         for an input reload of the source.
4497
4498 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4499
4500         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
4501         more generic.
4502
4503 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
4504
4505         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4506         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4507
4508         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
4509
4510 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4511
4512         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
4513
4514 2002-01-12  Tom Rix  <trix@redhat.com>
4515
4516         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
4517         TARGET_POWERPC64.
4518
4519 2002-01-12  Richard Henderson  <rth@redhat.com>
4520
4521         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
4522
4523         * doc/invoke.texi: Update Alpha options.
4524
4525         * doc/invoke.texi: Update i386 built-in function lists.
4526
4527 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4528
4529         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
4530         referencing outside.
4531
4532 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4533
4534         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
4535         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
4536         offsets, and change line folding.
4537         * optabs.c (expand_binop): Remove warnings.
4538         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
4539
4540 2002-01-12  Graham Stott <grahams@redhat.com>
4541
4542         * attribs.c (handle_deprecated_attribute): constify WHAT.
4543         * diagnostic.c (warn_deprecated_use): Add braces, fixes
4544         dangling else warning and constify WHAT.
4545         * except.h (struct function, struct inline_remap): Move
4546         struct tag forward defs before all prototypes.
4547         (duplicate_eh_regions): Whitespace.
4548
4549 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
4550
4551         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4552         MODE_BASE_REG_CLASS.
4553         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
4554
4555 2002-01-12  Richard Henderson  <rth@redhat.com>
4556
4557         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
4558         (ix86_expand_vector_move): New.
4559         (bdesc_2arg): Remove andps, andnps, orps, xorps.
4560         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
4561         Remove old prefetch builtins.  Special case the logicals removed above.
4562         (ix86_expand_builtin): Likewise.
4563         (safe_vector_operand): Use V4SFmode, not TImode.
4564         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
4565         (ix86_expand_timode_binop_builtin): New.
4566         * config/i386/i386-protos.h: Update.
4567         * config/i386/i386.h (enum ix86_builtins): Update.
4568         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
4569         Use ix86_expand_vector_move in vector move expanders.
4570         (movti_internal, movti_rex64): Add xorps alternative.
4571         (sse_clrv4sf): Rename and adjust from sse_clrti.
4572         (prefetch): Don't work so hard.
4573         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
4574         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
4575         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
4576
4577 2002-01-11  Richard Henderson  <rth@redhat.com>
4578
4579         * config/i386/mmintrin.h: New file.
4580         * config/i386/xmmintrin.h: New file.
4581         * config.gcc (i?86-*-*): Add extra_headers.
4582         * simplify-rtx.c (simplify_unary_operation): Handle saturating
4583         truncation codes.
4584         (simplify_binary_operation): Handle saturating arithmetic codes.
4585         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
4586         not the lowpart subreg.
4587         (ix86_expand_builtin): Return a TImode dummy register instead of 0
4588         on error.
4589         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
4590
4591 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4592
4593         * conflict.c (conflict_graph_compute): Free regsets when finished.
4594         * ssa.c (compute_coalesced_reg_partition): Likewise.
4595
4596 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4597
4598         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
4599         every where we allocate a register.
4600
4601 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4602
4603         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
4604         * lcm.c (compute_earliest, compute_farthest): Likewise.
4605
4606 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
4607
4608         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
4609
4610 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
4611
4612         * doc/rtl.texi (Insns): Fix 2 typos.
4613
4614 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4615
4616         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
4617         options.  Use @table @gcctabopt for MMIX options.  Add index
4618         entries for MMIX options.  Start new paragraph with first
4619         heading of the machine-dependent options.
4620
4621 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4622
4623         PR other/5299
4624         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
4625         * combine.c (force_to_mode): Same.
4626         * reload1.c (clear_reload_reg_in_use): Same.
4627
4628 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
4629
4630         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
4631         and 'subtargets'.
4632
4633 2002-01-11  Andreas Jaeger  <aj@suse.de>,
4634             Brad Lucier <lucier@math.purdue.edu>
4635
4636         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
4637         mcpu.
4638
4639 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
4640
4641         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
4642         Protect with IN_LIBGCC.
4643         (LINK_EH_SPEC): Add required trailing space.
4644
4645 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
4646
4647         * c-tree.h: Move function declarations so that they are listed
4648         under the filename which contains them.
4649         (check_identifier, finish_decl_top_level,
4650         lookup_name_current_level_global, shadow_record_fields): Remove.
4651
4652 2002-01-11  Andreas Jaeger  <aj@suse.de>
4653
4654         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
4655         march.
4656
4657 2002-01-10  Richard Henderson  <rth@redhat.com>
4658
4659         * config/alpha/alpha.c (print_operand): Add 'J'.
4660         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
4661         new operand with the sequence number for the lituse.  When splitting
4662         the insns, use gen_movdi_er_high_g and generate a sequence number.
4663         (gen_movdi_er_high_g): Print the sequence number if non-zero.
4664
4665 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
4666
4667         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
4668         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
4669         stvxl.
4670         (altivec_expand_builtin): Same.
4671         (altivec_expand_stv_builtin): New.
4672
4673         * config/rs6000/rs6000.h (rs6000_builtins): Same.
4674
4675         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
4676         ("altivec_lvehx"): New.
4677         ("altivec_lvewx"): New.
4678         ("altivec_lvxl"): New.
4679         ("altivec_lvx"): New.
4680         ("altivec_stvx"): New.
4681         ("altivec_stvebx"): New.
4682         ("altivec_stvehx"): New.
4683         ("altivec_stvewx"): New.
4684         ("altivec_stvxl"): New.
4685
4686 2002-01-10  Richard Henderson  <rth@redhat.com>
4687
4688         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
4689         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
4690         care not to delete instructions twice.
4691
4692 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
4693
4694         * toplev.c: Don't declare environ (it's not used anywhere).
4695         * configure.in: Don't check for declaration of environ.
4696         * config/i386/xm-mingw32.h: Don't #define environ.
4697         * config.in, configure: Regenerate.
4698
4699 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
4700
4701         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
4702         * configure: Regenerate.
4703
4704         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
4705         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
4706         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
4707         alpha/xm-vms.h.
4708         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
4709         LIMITS_H_TEST here, not in m68k/x-next.
4710         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
4711         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
4712
4713         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
4714         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
4715         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
4716
4717         * config/i386/x-djgpp: Renamed i386/t-djgpp.
4718         * config/m88k/x-dolph: Renamed m88k/t-dolph.
4719         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
4720         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
4721         replacement of quadlib.asm with quadlib.c.
4722
4723         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
4724         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
4725         config/rs6000/xm-beos.h: Delete file.
4726
4727         * config.gcc: Update to match above changes.
4728
4729 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4730
4731         * config/h8300/h8300.h: Fix comment typos.
4732         * config/h8300/h8300.md: Likewise.
4733         * config/h8300/lib1funcs.asm: Likewise.
4734
4735 2002-01-10  Dale Johannesen  <dalej@apple.com>
4736
4737         PR optimization/5269
4738         * unroll.c (precondition_loop_p): Make *increment be the correct
4739         sign when n_iterations known, to avoid confusing caller.
4740
4741 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4742
4743         * doc/extend.texi (deprecated): Fix a typo.
4744
4745 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
4746
4747         * basic-block.h (update_br_prob_note): Declare.
4748         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
4749         (try_forward_edges): Care negative frequencies and update note.
4750         (outgoing_edges_match): Tweek conditional merging heuristics.
4751         (try_crossjump_to_edge): use update_br_prob_note.
4752         * cfglayout.c (fixup_reorder_chain): Likewise.
4753         * cfrtl.c (update_br_prob_note): New.
4754         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
4755
4756         * i386.c (ix86_decompose_address): Return -1 if address contains
4757         shift.
4758         (legitimate_address_p): Require ix86_decompose_address to return 1.
4759
4760         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
4761         (cprop_insn): Likewise.
4762
4763 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4764
4765         * toplev.c: Fix formatting.
4766         * tree.c: Likewise.
4767         * tree-dump.c: Likewise.
4768         * unroll.c: Likewise.
4769         * unwind-dw2.c: Likewise.
4770         * unwind-dw2-fde.c: Likewise.
4771         * unwind-dw2-fde-glibc.c: Likewise.
4772         * unwind-sjlj.c: Likewise.
4773
4774 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4775
4776         * doc/invoke.texi: Document PDP-11 options.
4777
4778 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4779
4780         * config/h8300/h8300.h: Fix formatting.
4781
4782 2002-01-10  Ira Ruben   <ira@apple.com>
4783
4784         Add __attribute__ ((deprecated)).
4785         * extend.texi: Document __attribute__ ((deprecated)).
4786         * invoke.texi: Document -Wno-deprecated-declarations.
4787         * testsuite/g++.dg/other/deprecated.C: New C++ test.
4788         * testsuite/gcc.dg/deprecated.c: New C test.
4789         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
4790         (c_common_attribute_table): Add "deprecated" entry.
4791         (handle_deprecated_attribute): New function.
4792         * c-decl.c (deprecated_states): New enum.
4793         deprecated_state: State of "deprecated" handling.
4794         (start_decl): Set deprecated_state based on attributes.
4795         (grokdeclarator): Test for deprecated uses, propagate attribute.
4796         * c-typeck.c (build_component_ref): Test for deprecated fields.
4797         (build_external_ref): Test for deprecated primaries.
4798         * diagnostic.c (warn_deprecated_use) New function to issue
4799         warnings about __attribute__ ((depricated)) references.
4800         * flags.h (warn_deprecated_decl): Extern declared for
4801         -W[no-]deprecated-declarations option.
4802         * print-tree.c (print_node): Show deprecated flag status.
4803         * toplev.c (warn_deprecated_decl): Defined.
4804         (W_options): Added "deprecated-declaration".
4805         * toplev.h (warn_deprecated_use): Extern declared.
4806         * tree.h (struct tree_common): Define deprecated_flag.
4807         (TREE_DEPRECATED): New macro to access flag.
4808         * cp/call.c (build_call): Test for deprecated calls.
4809         * cp/class.c (add_implicitly_declared_members): Set global
4810         flag to tell grokdeclarator to not issue deprecated warnings.
4811         * cp/cp-tree.h: Add extern for adding_implicit_members.
4812         * cp/decl.c (deprecated_states): New enum.
4813         (start_decl): Set deprecated_state based on attributes.
4814         (grokdeclarator): Test for deprecated uses, propagate attribute.
4815         * cp/lex.c (do_identifier): Test for deprecated primaries.
4816         * cp/typeck.c (build_component_ref): Test for deprecated fields.
4817
4818 2002-01-10  Ira Ruben   <ira@apple.com>
4819
4820         Fix to assign attributes to inline member functions.
4821         * cp/decl.c (start_method): Handle attrlist.
4822
4823 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4824
4825         * combine.c (expand_field_assignment): Use subreg_lsb().
4826
4827 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
4828
4829         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
4830         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
4831         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
4832         Recurse for any operand of AND as long as constant is non-zero.
4833
4834 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4835
4836         * config/h8300/h8300.md: Remove constraints from expanders.
4837
4838 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4839
4840         * varasm.c: Fix formatting.
4841         * varray.c: Likewise.
4842         * vmsdbgout.c: Likewise.
4843         * xcoffout.c: Likewise.
4844
4845 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
4846
4847         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
4848         update edge probabilities to match.
4849
4850 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4851
4852         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
4853         dependencies.
4854         * doc/languages.texi, doc/sourcebuild.texi: New files.
4855         * doc/configfiles.texi: Make a subsubsection.  Update.
4856         * doc/configterms.texi: Add @node.  Remove warning that this isn't
4857         instructions for building GCC.
4858         * doc/makefile.texi: Make a subsection.
4859         * doc/gccint.texi: Update.
4860
4861 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4862
4863         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
4864
4865 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
4866
4867         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
4868
4869 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
4870
4871         * optabs.c (expand_fix): Look for wider integer modes first.
4872
4873         * i386.md (mov?f): Avoid the fake const double trick for medium
4874         memory model.
4875         (min?f*/max?f*): Prohibit memory operands for i387 variant.
4876         (fop_df_4): Disable for SSE compilation.
4877
4878 2002-01-10  Graham Stott  <grahams@redhat.com>
4879
4880         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
4881         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
4882
4883 2002-01-10  Richard Henderson  <rth@redhat.com>
4884
4885         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
4886
4887 2002-01-10  Richard Henderson  <rth@redhat.com>
4888
4889         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
4890         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
4891
4892 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4893
4894         * combine.c (can_combine_p): Fix a comment typo.
4895
4896 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
4897
4898         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
4899         empty list correctly.  Change loop index $t to $f for
4900         consistency with rest of Makefile.
4901
4902 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
4903
4904         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
4905         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4906
4907         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
4908         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
4909         (altivec_init_builtins): Same.
4910         (altivec_expand_unop_builtin): Return NULL_RTX on error.
4911         (altivec_expand_binop_builtin): Same.
4912         (altivec_expand_ternop_builtin): Same.
4913         (bdesc_dst): New.
4914
4915         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
4916         ("altivec_vctuxs"): Fix typo.
4917         ("altivec_vnmsubfp"): Same.
4918         ("altivec_dssall"): New.
4919         ("altivec_mfvscr"): New.
4920         ("altivec_dss"): New.
4921         ("altivec_lvsl"): New.
4922         ("altivec_lvsr"): New.
4923         ("altivec_dstt"): New.
4924         ("altivec_dstst"): New.
4925         ("altivec_dststt"): New.
4926         ("altivec_dst"): New.
4927
4928         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
4929         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4930
4931 2002-01-09  Richard Henderson  <rth@redhat.com>
4932
4933         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
4934
4935 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
4936
4937         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
4938         function.
4939         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
4940         prototype.
4941         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
4942
4943 2002-01-09  Kazu Hirata  <kazu@hxi.com>
4944
4945         * read-rtl.c: Fix formatting.
4946         * real.c: Likewise.
4947         * regclass.c: Likewise.
4948         * regrename.c: Likewise.
4949         * reg-stack.c: Likewise.
4950         * reload1.c: Likewise.
4951         * reload.c: Likewise.
4952         * rtl.c: Likewise.
4953
4954 2002-01-09  Kazu Hirata  <kazu@hxi.com>
4955
4956         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
4957         to extract items in the expr_list chain.
4958
4959 2002-01-09  Richard Henderson  <rth@redhat.com>
4960
4961         * config/vax/vax.c (vax_rtx_cost): Never abort.
4962
4963         * config/vax/vax.h (REAL_ARITHMETIC): Define.
4964
4965 2002-01-09  Jan Hubicka  <jh@suse.cz>
4966
4967         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
4968
4969 2002-01-09  Richard Henderson  <rth@redhat.com>
4970
4971         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
4972         Unify code from various alternatives.
4973
4974 2002-01-09  Richard Henderson  <rth@redhat.com>
4975
4976         * regrename.c (copy_value): Ignore the copy if the source register
4977         is present in the value chain with a narrower mode.
4978
4979 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
4980
4981         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
4982         for the c4x target. Also improve layout.
4983
4984 2002-01-09  Richard Henderson  <rth@redhat.com>
4985
4986         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
4987         * config/m32r/m32r.md (and ior xor splitters): Swap operands
4988         to match insn patterns.
4989
4990 2002-01-09  Richard Henderson  <rth@redhat.com>
4991
4992         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
4993         (copyprop_hardreg_forward_1): Likewise.
4994
4995 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4996
4997         * pa.md (decrement_and_branch_until_zero): Change predicate for
4998         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
4999
5000 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5001
5002         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
5003         gets undefined. For Darwin.
5004
5005 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5006
5007         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
5008
5009 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5010
5011         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
5012
5013 2002-01-08  Richard Henderson  <rth@redhat.com>
5014
5015         * regrename.c (copy_value): Ignore overlapping copies.
5016
5017 2002-01-08  Richard Henderson  <rth@redhat.com>
5018
5019         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
5020         as needed to avoid shared structure.
5021
5022 2002-01-08  Kazu Hirata  <kazu@hxi.com>
5023
5024         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
5025         H8/300H and H8/S.
5026
5027 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5028
5029         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
5030         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
5031         documentation of obsolete macros.
5032         * system.h: Poison these macros.
5033         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
5034         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
5035         config/c4x/c4x.h, config/clipper/clipper.h,
5036         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
5037         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
5038         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
5039         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
5040         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
5041         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
5042         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5043         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
5044         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
5045         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
5046         config/sparc/sparc.h, config/stormy16/stormy16.h,
5047         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
5048         definitions and commented out definitions of obsolete macros.
5049         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
5050         of MAX_INT_TYPE_SIZE.
5051
5052 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
5053
5054         * config/s390/s390.c (s390_preferred_reload_class): Never
5055         return ADDR_REGS if it isn't a subset of the given class.
5056         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
5057         FP_REGS, but all superclasses as well.
5058
5059         * config/s390/s390.c (s390_function_profiler): Fix thinko.
5060
5061         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
5062         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
5063         must not be a const_int.
5064
5065 2002-01-08  Richard Henderson  <rth@redhat.com>
5066
5067         * Makefile.in (toplev.o): Depend on options.h.
5068         (gcc.o): Depend on specs.h.
5069
5070 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
5071
5072         * expr.c (store_expr): Convert VOIDmode constants back to target's
5073         mode.
5074
5075 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5076
5077         * doc/invoke.texi: Markup gcc as @command.  Refer to
5078         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
5079         of http://gcc.gnu.org/thanks.html.
5080
5081 2002-01-08  Dale Johannesen  <dalej@apple.com>
5082
5083         * config/rs6000/rs6000.md: Add missing int register
5084         target case to movdf_low.
5085
5086 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
5087
5088         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
5089         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
5090         (cppinit.o): Depend on except.h.
5091         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
5092         s-specs): New rules.
5093
5094         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
5095         Don't create specs.h/options.h/gencheck.h here.  Remove
5096         unnecessary variable settings from last argument of AC_OUTPUT.
5097         * config.in, configure: Regenerate.
5098         * intl.c: Hardcode package name as "gcc".
5099
5100         * cppinit.c: Include except.h.
5101         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
5102         appropriate.
5103         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
5104         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
5105         (!)USING_SJLJ_EXCEPTIONS.
5106         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
5107
5108 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5109
5110         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
5111         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
5112         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
5113         documentation of obsolete macros.
5114         * system.h: Poison these macros.
5115         * config/d30v/d30v.h, config/ns32k/encore.h,
5116         config/stormy16/stormy16.h: Remove definitions and commented out
5117         definitions of obsolete macros.
5118
5119 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
5120
5121         * objc/objc-act.c (handle_class_ref): Mark the declaration of
5122         %sobjc_class_ref_%s as used - to prevent unwanted compiler
5123         warnings.
5124
5125 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
5126
5127         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
5128         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
5129         to insn adjusting stack/frame pointer.
5130         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
5131         accept operands that cause the insn to be non-splittable.
5132
5133 2002-01-08  Graham Stott  <grahams@redhat.com>
5134
5135         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
5136         (C_TYPE_FIELDS_VOLATILE): Likewise.
5137         (C_TYPE_BEING_DEFINED): Likewise.
5138         (C_IS_RESERVED_WORD): Likewise.
5139         (C_TYPE_VARIABLE_SIZE): Likewise.
5140         (C_DECL_VARIABLE_SIZE): Likewise.
5141         (C_MISSING_PROTOTYPE_WARNED): Likewise.
5142         (C_SET_EXP_ORIGINAL_CODE): Likewise.
5143         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
5144         parenthesis.
5145         (C_DECL_ANTICIPATED): Likewise.
5146         (c_build_type_variant): Add parenthesis.
5147
5148 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5149
5150         * gcc.c (option_map): Remove --version.
5151         (process_command): Handle -fversion following the GNU Coding
5152         Standards.  Partially addresses PR other/704.
5153
5154 2002-01-08  Graham Stott  <grahams@redhat.com>
5155
5156         * combine.c (combine_instructions): Fix typo.
5157
5158 2002-01-08  Graham Stott  <grahams@redhat.com>
5159
5160         * debug.h: Use "tree" and "rtx" throughout.
5161
5162         * debug.c: Likewise.
5163
5164 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
5165
5166         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
5167         constant pool, use the pool's version of the symbol instead.
5168
5169 2002-01-07  Richard Henderson  <rth@redhat.com>
5170
5171         * regrename.c (find_oldest_value_reg): Ignore the value chain if
5172         the original register was copied in a mode with a fewer number of
5173         hard registers than the desired mode.
5174         (copyprop_hardreg_forward_1): Likewise.
5175         (debug_value_data): Fix loop test.
5176         * toplev.c (parse_options_and_default_flags): Reenable
5177         -fcprop-registers at -O1.
5178
5179 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5180
5181         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
5182         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
5183
5184         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
5185         predicates.
5186
5187         * config/rs6000/rs6000.md: Add altivec predicate patterns.
5188
5189 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5190
5191         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
5192         (pa_output_function_prologue): Output local label at the beginning of
5193         the prologue when profiling.
5194         (hppa_profile_hook): Use the local label rather than the function label.
5195         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
5196
5197 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5198
5199         * config/rs6000/rs6000.c (print_operand): Remove extra space.
5200         (altivec_expand_unop_builtin): Fix thinko.
5201         (altivec_expand_binop_builtin): Same.
5202         (altivec_expand_ternop_builtin): Same.
5203         (altivec_expand_builtin): Same.
5204
5205 2002-01-07  Richard Henderson  <rth@redhat.com>
5206
5207         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
5208
5209 2002-01-07  Jason Merrill  <jason@redhat.com>
5210
5211         * unwind-dw2.c (execute_cfa_program): Use < again.
5212
5213 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
5214
5215         * predict.c (combine_predictions_for_insn): Avoid division by zero.
5216
5217 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
5218
5219         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
5220         Don't allow -1 - x -> ~x simplifications in the first pass.
5221
5222 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5223
5224         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
5225         arguments.
5226         (altivec_expand_binop_builtin): Same.
5227         (altivec_expand_unop_builtin): Same.
5228         (print_operand): Fix typo.
5229         (bdesc_1arg): Add vupk* variants.
5230
5231         * rs6000.h (rs6000_builtins): Add vupk* enums.
5232
5233         * rs6000.md: Add altivec_vupk* variants.
5234
5235 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5236
5237         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
5238         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
5239         and last update dates.
5240
5241 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
5242
5243         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
5244
5245 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
5246
5247         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
5248         * config/avr/avr.h (CPP_SPEC): Likewise.
5249         (LINK_SPEC): Likewise.
5250         (CRT_BINUTILS_SPECS): Likewise.
5251         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
5252         * doc/invoke.texi (AVR Options): Document them.
5253
5254 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
5255
5256         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
5257         LABEL_NUSES.
5258
5259 2002-01-07  Graham Stott  <grahams@redhat.com>
5260
5261         * config/i386/i386.h: Update copyright date.
5262         (HALF_PIC_PTR): Add parenthesis.
5263         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
5264         (CONSTANT_ALIGNMENT): Add parenthesis.
5265         (DATA_ALIGNMENT): Likewise.
5266         (LOCAL_ALIGNMENT): Likewise.
5267         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
5268         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
5269         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
5270         (HARD_REGNO_NREGS): Add paranethesis.
5271         (VALID_SSE_REG_MODE): Whitespace.
5272         (VALID_MMX_REG_MODE): Whitespace.
5273         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
5274         (ix86_hard_regno_mode_ok): Add parenthesis.
5275         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
5276         (RETURN_IN_MEMORY): Whitespace.
5277         (N_REG_CLASSES): Add parenthesis.
5278         (INTEGER_CLASS_P): Add parenthesis and wrap.
5279         (FLOAT_CLASS_P): Likewise.
5280         (SSE_CLASS_P): Likewise.
5281         (MMX_CLASS_P): Likewise.
5282         (MAYBE_INTEGER_CLASS_P): Likewise.
5283         (MAYBE_FLOAT_CLASS_P): Likewise.
5284         (MAYBE_SSE_CLASS_P): Likewise.
5285         (MAYBE_MMX_CLASS_P): Likewise.
5286         (Q_CLASS_P): Likewise.
5287         (GENERAL_REGNO_P): Uppercase macro parameter.
5288         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
5289         (FP_REGNO_P): Likewise.
5290         (ANY_FP_REGNO_P): Uppercase macro parameter.
5291         (SSE_REGNO_P): Likewise.
5292         (SSE_REGNO): Likewise.
5293         (SSE_REG_P): Likewise.
5294         (SSE_FLOAT_MODE_P): Likewise.
5295         (MMX_REGNO_P): Likewise.
5296         (MMX_REG_P):Likewise.
5297         (STACK_REG_P): Likewise.
5298         (NON_STACK_REG_P): Likewise.
5299         (STACK_TOP_P): Likewise.
5300         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
5301         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
5302         (SECONDARY_MEMORY_NEEDED): Likewise.
5303         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
5304         (MD_ASM_CLOBBERS): Whitespace and wrap.
5305         (MUST_PASS_IN_STACK): Whitespace and wrap.
5306         (RETURN_POPS_ARGS): Add parenthesis.
5307         (INIT_CUMULATIVE_ARGS): Likewise.
5308         (FUNCTION_ARG): Likewise.
5309         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
5310         (SETUP_INCOMING_VARARGS): Likewise.
5311         (BUILD_VA_LIST_TYPE):  Add parenthesis.
5312         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
5313         parenthsis.
5314         (EXPAND_BUILTIN_VA_ARG): Likewise.
5315         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
5316         (INITIALIZE_TRAMPOLINE): Add parenthesis.
5317         (INITIAL_ELIMINATION_OFFSET): Likewise.
5318         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
5319         (REGNO_OK_FOR_BASE_P): Likewise.
5320         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
5321         (REGNO_OK_FOR_DIREG_P): Likewise.
5322         (REG_OK_FOR_INDEX_P): Whitespace.
5323         (REG_OK_FOR_BASE_P): Whitespace.
5324         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
5325         parenthesis.
5326         (FIND_BASE_TERM): Fix typo.
5327         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
5328         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
5329         (SYMBOLIC_CONST; Whitespace.
5330         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
5331         (ENCODE_SECTION_INFO): Whitespace.
5332         (FINALIZE_PIC): Remove do { ... } while (0).
5333         (PROMOTE_MODE): Wrap in do { ... } while (0).
5334         (CONST_COSTS): Whitespace.
5335         (RTX_COSTS): Add paramethesis, whitespace and wrap.
5336         (REGISTER_MOVE_COST): Add parenthesis.
5337         (MEMORY_MOVE_COST): Likewise.
5338         (EXTRA_CC_MODES): Whitespace.
5339         (SELECT_CC_MODE): Add parenthesis and whitespace.
5340         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
5341         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
5342         (ASM_OUTPUT_LABEL): Add paramethesis.
5343         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
5344         (ASM_OUTPUT_REG_POP): Likewise.
5345         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
5346         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5347
5348         * config/i386/i386.c: Update copyright.
5349         (CHECK_STACK_LIMIT): Add parenthesis.
5350         (AT_BP): Uppercase macro parameter.
5351         (x86_64_int_parameter_registers): Constify.
5352         (x86_64_int_return_registers): Likewise.
5353         (ix86_compare_op0): Use rtx.
5354         (construct_container): Constify INTREG parameter.
5355         (function_arg): Use rtx.
5356
5357         * diagnostic.h: Update copyright date.
5358         (output_buffer_state): Add parenthesis.
5359         (output_buffer_format_args): Likewise.
5360
5361         * combine.c (combine_instructions): Replace XEXP (links, 0)
5362         with link.
5363
5364 2002-01-06  H.J. Lu <hjl@gnu.org>
5365
5366         * cfgcleanup.c (thread_jump): Fix 2 typos.
5367
5368 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
5369
5370         * config.gcc: Add support for --enable-altivec.
5371
5372 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5373
5374         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
5375
5376 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
5377
5378         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
5379         __objc_class_name_*.
5380
5381 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5382
5383         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
5384
5385 2002-01-06  Richard Henderson  <rth@redhat.com>
5386
5387         * reorg.c (emit_delay_sequence): Remove death notes, not merely
5388         nop them out.  Increment label reference count for REG_LABEL.
5389         (fill_slots_from_thread): Frob label reference count around
5390         delete_related_insns.
5391
5392 2002-01-05  Richard Henderson  <rth@redhat.com>
5393
5394         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
5395         jump threading.
5396
5397 2002-01-05  Richard Henderson  <rth@redhat.com>
5398
5399         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
5400         * integrate.c (output_inline_function): Likewise.
5401         * toplev.c (rest_of_compilation): Do it here instead.  Move call
5402         to remove_unnecessary_notes after emitting abstract instance.
5403         Force an emitted nested function to have its parent emited as well.
5404         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
5405         for null.
5406         (rtl_for_decl_location): Do not look at reload data structures
5407         before reload has run.
5408
5409 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5410
5411         * cse.c: Fix formatting.
5412         * dwarf2asm.c: Likewise.
5413         * dwarf2out.c: Likewise.
5414         * explow.c: Likewise.
5415         * expmed.c: Likewise.
5416         * function.c: Likewise.
5417         * gcov.c: Likewise.
5418         * gencheck.c: Likewise.
5419         * genrecog.c: Likewise.
5420         * ggc-common.c: Likewise.
5421         * ggc-page.c: Likewise.
5422         * global.c: Likewise.
5423
5424 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5425
5426         * combine.c: Fix formatting.
5427
5428 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
5429
5430         PR middle-end/1557
5431         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
5432
5433 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
5434
5435         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
5436         as 1 for __powerpc64__ as well.
5437
5438         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
5439
5440         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
5441         return it.
5442
5443 2002-01-05  Daniel Berlin  <dan@dberlin.org>
5444
5445         * lcm.c: Revert change, due to performance regression it causes on
5446         SPEC because it's slightly more conservative (sigh, I hate
5447         edge-based LCM).
5448
5449 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
5450
5451         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
5452
5453 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5454
5455         * doc/cppinternals.texi: Update.
5456
5457 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
5458
5459         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
5460         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
5461         negatives.
5462         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
5463         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
5464         kludge for pre-october-14th mmix versions to handle new-found bug
5465         with PUSHJ/PUSHGO and the register stack.
5466         * config/mmix/mmix.h (struct machine_function): Rename member
5467         has_call_value_without_parameters to has_call_without_parameters.
5468         All referers changed.
5469         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
5470         TARGET_MASK_BRANCH_PREDICT): New macros.
5471         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
5472         -mno-reg-stack-fill-bug-workaround.
5473         * config/mmix/mmix.md ("call"): Set struct machine member
5474         has_call_without_parameters.
5475
5476 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5477
5478         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
5479
5480 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
5481
5482         * cfgcleanup.c: Include tm_p.h
5483         (mark_effect): Fix handling of hard register; fix handling of SET
5484
5485 2002-01-04  Kazu Hirata  <kazu@hxi.com>
5486
5487         * config/h8300/h8300.md (anonymous patterns): Check that
5488         operands are registers before using REGNO on them.
5489
5490 2002-01-03  Roland McGrath  <roland@frob.com>
5491
5492         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
5493
5494 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
5495
5496         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
5497         * c-common.h (genrtl_expr_stmt_value): Likewise.
5498         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
5499         (expand_expr_stmt_value): Add maybe_last argument.
5500         Don't warn about statement with no effect if it is the last statement
5501         in expression statement.
5502         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
5503         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
5504         expand_expr_stmt_value.
5505         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
5506         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
5507         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
5508         as maybe_last to expand_expr_stmt_value.
5509
5510 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
5511
5512         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
5513         be passed in, do not build it.
5514         (c_begin_if_stmt): New function.
5515         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5516         * c-common.h (c_expand_start_cond): Update prototype.
5517         (c_begin_if_stmt): Prototype new function.
5518         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5519         * c-parse.in (if_prefix): Use c_begin_if_stmt,
5520         c_begin_while_stmt and c_finish_while_stmt_cond.
5521
5522 2002-01-04  William Cohen  <wcohen@redhat.com>
5523
5524         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
5525         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5526         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5527         * config/pa/som.h (ASM_FILE_START): Likewise.
5528
5529 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
5530
5531         * lcm.c: Include df.h.
5532         Add available_transfer_function prototype.
5533         (compute_available): Rework to use iterative dataflow framework.
5534         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
5535         with bb_info in df.h
5536         (available_transfer_function): New function.
5537
5538         * Makefile.in (lcm.o): add df.h to dependencies.
5539
5540 2002-01-04  Richard Henderson  <rth@redhat.com>
5541
5542         * config/alpha/alpha.c (some_operand): Accept HIGH.
5543         (input_operand): Likewise; accept simple references to globals.
5544         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
5545         (alpha_const_double_ok_for_letter_p): Likewise.
5546         (alpha_extra_constraint): Likewise.
5547         (alpha_preferred_reload_class): Likewise.  Do not force
5548         symbolic constants to memory.
5549         (alpha_legitimate_address_p): Accept simple references
5550         to small_symbolic_operand.
5551         (alpha_legitimize_address): New arg scratch.  Be prepared to be
5552         called when no_new_pseudos.  Emit simple symbolic references.
5553         Split integers into low, high, and rest.
5554         (alpha_expand_mov): Use alpha_legitimize_address.
5555         (some_small_symbolic_mem_operand): New.
5556         (split_small_symbolic_mem_operand): New.
5557         * config/alpha/alpha-protos.h: Update.
5558         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
5559         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
5560         (EXTRA_CONSTRAINT): Likewise.
5561         (PREFERRED_RELOAD_CLASS): Likewise.
5562         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
5563         (PREDICATE_CODES): Update.
5564         * config/alpha/alpha.md: New post-reload splitters to convert
5565         simplfied symbolic operands to the form that references $29.
5566         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
5567         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
5568
5569 2002-01-03  Richard Henderson  <rth@redhat.com>
5570
5571         * local-alloc.c (function_invariant_p): Update commentary.
5572
5573 2002-01-04  H.J. Lu <hjl@gnu.org>
5574
5575         * toplev.c (rest_of_compilation): Fix a typo when calling
5576         cleanup_cfg.
5577
5578 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5579
5580         * c-common.c: Fix formatting.
5581         * diagnostic.c: Likewise.
5582         * doloop.c: Likewise.
5583         * dwarf2out.c: Likewise.
5584
5585 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5586
5587         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
5588         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
5589
5590 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5591
5592         * cpperror.c: Update comments and copyright.
5593         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
5594         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
5595
5596 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5597
5598         * collect2.c (main): Use strcmp when testing for "-shared".
5599
5600 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5601
5602         * cppmacro.c: Don't include intl.h.  Update comments.
5603         (new_number_token): Allocate enough buffer for 64-bit unsigned
5604         integers; update prototype.
5605         * cppmain.c: Update comments.
5606
5607 2002-01-03  William Cohen  <wcohen@redhat.com>
5608
5609         * function.h (struct function): Add profile.
5610         (current_function_profile): New.
5611         doc/extend.texi: Update documentation.
5612         * final.c (final_start_function): Use current_function_profile
5613         instead of profile_flag.
5614         (profile_after_prologue): Likewise.
5615         * function.c (expand_function_start): Likewise.
5616         (expand_function_start): Likewise.
5617         * config/alpha/alpha.c (direct_call_operand):
5618         (alpha_does_function_need_gp): Likewise.
5619         (alpha_expand_prologue): Likewise.
5620         * config/arm/arm.c (arm_expand_prologue): Likewise.
5621         thumb_expand_prologue: Likewise.
5622         * config/d30v/d30v.c (d30v_stack_info): Likewise.
5623         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
5624         (fr30_expand_prologue): Likewise.
5625         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
5626         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
5627         * config/i386/i386.h (FINALIZE_PIC): Likewise.
5628         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
5629         * config/i960/i960.c (i960_output_function_prologue): Likewise.
5630         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
5631         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
5632         (m32r_expand_prologue): Likewise.
5633         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
5634         (m88k_expand_prologue): Likewise.
5635         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
5636         * config/mips/mips.c (compute_frame_size): Likewise.
5637         (mips_expand_prologue): Likewise.
5638         (mips_can_use_return_insn): Likewise.
5639         * config/pa/elf.h (ASM_FILE_START): Likewise.
5640         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5641         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5642         * config/pa/som.h (ASM_FILE_START): Likewise.
5643         * config/romp/romp.c (romp_using_r14): Likewise.
5644         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
5645         (rs6000_stack_info): Likewise.
5646         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5647         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
5648         * config/v850/v850.c (compute_register_save_size): Likewise.
5649
5650 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
5651
5652         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
5653         gen_lowpart_common fails, use gen_lowpart_SUBREG.
5654
5655 2002-01-03  Turly O'Connor  <turly@apple.com>
5656
5657         * darwin.c (machopic_output_possible_stub_label): Don't generate
5658         stub routines for pseudo-stubs which we've just defined.
5659
5660 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5661
5662         * builtins.c: Fix formatting.
5663         * c-typeck.c: Likewise.
5664         * combine.c: Likewise.
5665         * expr.c: Likewise.
5666         * loop.c: Likewise.
5667
5668 2002-01-03  Andreas Schwab  <schwab@suse.de>
5669
5670         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
5671         and return true if _cpp_push_next_buffer pushed a new include
5672         file.
5673         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
5674         _cpp_pop_file_buffer did not push a new file.
5675         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
5676
5677 2002-01-02  Eric Christopher  <echristo@redhat.com>
5678
5679         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
5680         FIND_REG_INC_NOTE call. Update copyright.
5681         * loop.c (canonicalize_condition): Ditto.
5682         * reorg.c (delete_scheduled_jump): Ditto.
5683
5684 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5685
5686         * gcse.c: Fix formatting.
5687
5688 2002-01-03  Graham Stott  <grahams@redhat.com>
5689
5690         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
5691         forward defs for struct tags rtx_def, union_tree, rtvec_def
5692         also output corresponding typedefs for rtx, tree, and rtvec.
5693
5694         * system.h: Move forward defs for struct tags rtx_def, union_tree,
5695         rtvec_def along with corresponding typedefs for rtx, tree, and
5696         rtvec to config.h, hconfig.h, tconfig.h.
5697
5698 2002-01-03  Graham Stott  <grahams@redhat.com>
5699
5700         * tree.h: Update copyright date.
5701         (IS_EXPR_CODE_CLASS): Add parenthesis.
5702         (TREE_SET_CODE): Add whitespace.
5703         (TREE_CHECK): Add parenthesis.
5704         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
5705         (CST_OR_CONSTRUCTOR_CHECK):
5706         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
5707         (TREE_SYMBOL_REFERENCED): Whitespace.
5708         (INT_CST_LT): Likewise.
5709         (INT_CST_LT_UNSIGNED): Likewise.
5710         (tree_real_cst): Unwrap comment.
5711         (tree_string): Likewise.
5712         (tree_complex): Likewise.
5713         (IDENTIFIER_POINTER): correct cast.
5714         (SAVE_EXPR_CONTEXT): Whitespace.
5715         (EXPR_WFL_FILENAME_NODE): Likewise.
5716         (EXPR_WFL_FILENAME): Remove parenthesis.
5717         (DECL_ORIGIN): Add parenthesis.
5718         (DECL_FROM_INLINE): Use NULL_TREE.
5719         (build_int_2): Whitespace.
5720         (build_type_variant): Add parenthesis.
5721
5722         * gcc/jcf-parse.c: Update copyright date.
5723         (yyparse): Constify resource_filename.
5724
5725 2002-01-03  Graham Stott  <grahams@redhat.com>
5726
5727         * rtl.h: Update copyright date.
5728         (RTL_CHECK1): Wrap long line.
5729         (RTL_CHECK2): Likewise.
5730         (RTL_CHECKC1): Wrap long line and whitespace.
5731         (RTL_CHECKC2): Likewise.
5732         (XWINT): Whitespace.
5733         (XINT): Likewise.
5734         (XSTR): Likewise.
5735         (XEXP): Likewise.
5736         (XVEC): Likewise.
5737         (XMODE): Likewise.
5738         (XBITMAP): Likewise.
5739         (XTREE): Likewise.
5740         (XBBDEF): Likewise.
5741         (XTMPL): Likewise.
5742         (X0WINT): Likewise.
5743         (X0INT):Likewise.
5744         (X0UINT): Likewise.
5745         (X0STR): Likewise.
5746         (X0EXP): Likewise.
5747         (X0VEC): Likewise.
5748         (X0MODE): Likewise.
5749         (X0BITMAP): Likewise.
5750         (X0TREE): Likewise.
5751         (X0BBDEF): Likewise.
5752         (X0ADVFLAGS): Likewise.
5753         (X0CSELIB): Likewise.
5754         (X0MEMATTR): Likewise.
5755         (XCWINT): Likewise.
5756         (XCINT): Likewise.
5757         (XCUINT): Likewise.
5758         (XCSTR): Likewise.
5759         (XCEXP): Likewise.
5760         (XCVEC): Likewise.
5761         (XCMODE): Likewise.
5762         (XCBITMAP): Likewise.
5763         (XCTREE): Likewise.
5764         (XCBBDEF): Likewise.
5765         (XCADVFLAGS): Likewise.
5766         (XCCSELIB): Likewise.
5767         (XC2EXP): Likewise.
5768         (INSN_UID): Likewise.
5769         (PREV_INSN): Likewise.
5770         (PATTERN): Likewise.
5771         (INSN_CODE): Likewise.
5772         (PUT_REG_NOTE_KIND): Likewise.
5773         (CODE_LABEL_NUMBER): Likewise.
5774         (NOTE_SOURCE_FILE): Likewise.
5775         (NOTE_BLOCK): Likewise.
5776         (NOTE_EH_HANDLER): Likewise.
5777         (NOTE_RANGE_INFO): Likewise.
5778         (NOTE_LIVE_INFO): Likewise.
5779         (NOTE_BASIC_BLOCK): Likewise.
5780         (NOTE_EXPECTED_VALUE): Likewise.
5781         (NOTE_LINE_NUMBER): Likewise.
5782         (LABEL_NAME): Likewise.
5783         (LABEL_NUSES): Likewise.
5784         (LABEL_ALTERNATE_NAME): Likewise.
5785         (ADDRESSOF_DECL): Likewise.
5786         (JUMP_LABEL): Likewise.
5787         (LABEL_NEXTREF): Likewise.
5788         (REGNO): Likewise.
5789         (ORIGINAL_REGNO: Likewise.
5790         (HARD_REGISTER_NUM_P): Add parenthesis.
5791         (SUBREG_REG): Whitespace.
5792         (SUBREG_BYTE): Likewise.
5793         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
5794         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
5795         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
5796         (ASM_OPERANDS_INPUT_VEC): Likewise.
5797         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
5798         (ASM_OPERANDS_INPUT): Likewise.
5799         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
5800         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
5801         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
5802         (ASM_OPERANDS_INPUT_MODE): Likewise.
5803         (ASM_OPERANDS_SOURCE_FILE): Likewise.
5804         (ASM_OPERANDS_SOURCE_LINE): Likewise.
5805         (MEM_SET_IN_STRUCT_P): Minor reformat.
5806         (TRAP_CONDITION): Whitespace.
5807         (TRAP_CODE): Likewise.
5808         (COND_EXEC_TEST): Likewise.
5809         (COND_EXEC_CODE): Likewise.
5810         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
5811         (PHI_NODE_P): Add parenthesis.
5812         (plus_constant): Whitespace and add parenthesis.
5813
5814 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5815
5816         * config/avr/avr.c: Fix comment typos.
5817         * config/c4x/c4x.md: Likewise.
5818         * config/dsp16xx/dsp16xx.h: Likewise.
5819         * config/dsp16xx/dsp16xx.md: Likewise.
5820         * config/i386/i386.md: Likewise.
5821         * config/ia64/ia64.c: Likewise.
5822         * config/m32r/m32r.h: Likewise.
5823         * config/m68hc11/m68hc11.md: Likewise.
5824         * config/mmix/mmix.c: Likewise.
5825         * config/mn10200/mn10200.c: Likewise.
5826         * config/romp/romp.c: Likewise.
5827         * config/sh/sh.c: Likewise.
5828         * config/stormy16/stormy16.c: Likewise.
5829         * config/stormy16/stormy16.h: Likewise.
5830         * config/stormy16/stormy16.md: Likewise.
5831
5832 2002-01-03  Graham Stott  <grahams@redhat.com>
5833
5834         * loop.h: Update copyright date.
5835         (LOOP_MOVABLES): Fix typo.
5836         (LOOP_REGS): Likewise.
5837         (LOOP_IVS): Likewise.
5838
5839 2002-01-03  Graham Stott  <grahams@redhat.com>
5840
5841         * cppinit.c: Update copyright date.
5842         Don't include output.h
5843         * Makefile.in: Update copyright date.
5844         Update dependency.
5845
5846 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5847
5848         PR c/5226
5849         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
5850         (-pthread) Add to RS/6000 options.
5851
5852 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5853
5854         * except.c: Fix comment typos.
5855         * loop.c: Likewise.
5856         * varasm.c: Likewise.
5857         * doc/tm.texi: Fix a typo.
5858
5859 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
5860
5861         * c-typeck.c (output_init_element): Allow initializing static storage
5862         duration objects with compound literals.
5863
5864 2002-01-02  Richard Henderson  <rth@redhat.com>
5865
5866         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
5867         after abusing it.
5868
5869 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5870
5871         * gcc.c (default_compilers): Const-ify.
5872         * mips-tdump.c (stab_names): Likewise.
5873         * mips-tfile.c (map_coff_types, map_coff_storage,
5874         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
5875         pseudo_ops_t, pseudo_ops): Likewise.
5876         * protoize.c (default_include): Likewise
5877
5878         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
5879         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
5880         Add array size in declaration.
5881         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
5882         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
5883         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
5884         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
5885         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
5886         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
5887         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
5888         emtens, make_nan): Const-ify.
5889         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
5890         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
5891
5892 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5893
5894         * config.gcc (ia64-*-*): Set extra_headers.
5895         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
5896         * config/alpha/t-osf: Remove.
5897         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
5898
5899 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
5900
5901         * config/rs6000/t-aix43: Revert previous change.
5902
5903 2002-01-02  Jason Merrill  <jason@redhat.com>
5904
5905         * c-decl.c (c_expand_body): Call outlining_inline_function when
5906         emitting an inline function out of line.
5907
5908 2002-01-02  Richard Henderson  <rth@redhat.com>
5909
5910         * dwarf2out.c (limbo_die_node): Add created_for member.
5911         (new_die): New argument created_for.  Update all callers.
5912         (mark_limbo_die_list): New.
5913         (dwarf2out_init): Register limbo_die_list as a root.
5914         (dwarf2out_finish): Force insert limbo dies into their function
5915         context.
5916
5917 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
5918
5919         PR c++/5089
5920         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
5921
5922 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5923
5924         * config/h8300/fixunssfsi.c: Update copyright.
5925         Fix comment typos.
5926         Fix formatting.
5927         * config/h8300/h8300.c: Update copyright.
5928         Eliminate warnings.
5929
5930 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5931
5932         * config/romp/romp.c: Fix comment formatting.
5933         * config/romp/romp.h: Likewise.
5934         * config/romp/romp.md: Likewise.
5935         * config/s390/s390.c: Likewise.
5936         * config/stormy16/stormy16.c: Likewise.
5937         * config/stormy16/stormy16.h: Likewise.
5938
5939 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
5940
5941         * c-common.h (genrtl_expr_stmt_value): Declare.
5942         * c-semantics.c (genrtl_goto_stmt): Redirect to...
5943         (genrtl_goto_stmt_value): ... this new function.  Pass new
5944         argument down to expand_expr_stmt_value, taking
5945         TREE_ADDRESSABLE into account.
5946         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
5947         STMT_EXPR as addressable, i.e., one whose result we want.
5948         * expr.c (expand_expr): Don't save expression statement value
5949         of labeled_blocks or loop_exprs.
5950         * stmt.c (expand_expr_stmt): Redirect to...
5951         (expand_expr_stmt_value): ... this new function.  Use new
5952         argument to tell whether to save expression value.
5953         (expand_end_stmt_expr): Reset last_expr_type and
5954         last_expr_value if we don't have either.
5955         * tree-inline.c (declare_return_variable): Mark its use
5956         statement as addressable.
5957         * tree.h: Document new use of TREE_ADDRESSABLE.
5958         (expand_expr_stmt_value): Declare.
5959
5960 2002-01-01  Tom Rix  <trix@redhat.com>
5961
5962         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
5963         rs6000_emit_allocate_stack.
5964
5965 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5966
5967         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
5968         ${srcdir}/ginclude/ to every entry in extra_headers.
5969         * configure: Regenerate.
5970         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
5971         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
5972         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
5973         * ginclude/proto.h: Rename to config/convex/proto.h.
5974
5975 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5976
5977         * attribs.c (handle_vector_size_attribute): Use host_integerp
5978         and tree_int_cst; remove warnings.
5979         * caller-save.c (insert_restore): Add cast to get rid of warning.
5980         (insert_save): Likewise.
5981         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
5982         * regmove.c (find_matches): Add temporary var to kill a warning.
5983
5984 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
5985
5986         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
5987         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
5988         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
5989         (vms-dwarf2eh.o): Add Makefile rule.
5990         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
5991         * config/alpha/vms-dwarf2eh.asm: New file.
5992
5993         * gcc.c (delete_if_ordinary): Delete all versions.
5994
5995 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
5996
5997         * config/mmix/mmix.md: Update FIXME to not mention
5998         define_constants.
5999         (MMIX_rJ_REGNUM): New define_constants constant.
6000         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
6001         "*movdicc_real"): Adjust contraints formatting.
6002         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
6003         for branch prediction.
6004         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
6005         output template.
6006         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
6007         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
6008         number.  Delete related FIXMEs.
6009         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
6010         from number to MMIX_rJ_REGNUM.
6011         (TARGET_MASK_BRANCH_PREDICT): New.
6012         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
6013         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
6014         value.  Add -mbranch-predict and -mno-branch-predict.
6015         (TARGET_VERSION): Drop date.
6016         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
6017         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
6018         for finding out global symbols.
6019         (mmix_asm_output_labelref): Revert condition for global symbol.
6020         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
6021         (mmix_print_operand_punct_valid_p): A '+' is valid.
6022
6023 See ChangeLog.6 for earlier changes.