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