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