OSDN Git Service

2001-02-14 Joel Sherrill <joel@OARcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-02-14      Joel Sherrill <joel@OARcorp.com>
2
3         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
4         -Acpu() and -Amachine() to eliminate warnings.
5
6 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
7
8         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
9
10 2002-02-14  Kazu Hirata  <kazu@hxi.com>
11
12         * config/h8300/h8300-protos.h: Update the prototype for
13         const_costs.
14         * config/h8300/h8300.c (const_costs): Treat SET as a little
15         more expensive operation.
16         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
17         reference to const_costs.
18
19 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
20
21         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22
23 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
24
25         PR c/5503:
26         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
27         use arguments from newtype.
28
29 2002-02-13  Eric Christopher  <echristo@redhat.com>
30
31         * config/mips/mips.c (override_options): Add check for march/mipsX
32         on the same command line. Fix error message in cpu processing.
33         Remove architecture and ISA checks.
34
35 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
36
37         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
38
39         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
40
41 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
42
43         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
44         alternatives.
45         ("*movv8hi_internal1"): Same.
46         ("*movv16qi_internal1"): Same.
47         ("*movv4sf_internal1"): Same.
48
49         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
50         not push_reload for altivec modes.
51
52 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
53
54         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
55         all RTEMS targets including removal of #includes from config/*/rtems*.h
56         file and adding them to tm_file setting. Added xm_defines=POSIX to
57         many targets.
58         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
59         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
60         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
61         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
62         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
63         config/m68k/rtemself.h: Ditto.
64         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
65         config/mips/rtems64.h: Ditto.
66         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
67         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
68         Ditto.
69         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
70         config/sparc/rtemself.h: Ditto.
71         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
72         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
73         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
74         more like arm-elf.
75         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
76         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
77         target made more similar to i386-elf.
78         * config/i386/t-rtems-i386: Added soft float support and multilibs.
79         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
80         be similar to config/m68k/t-m68kelf.
81         * gthr-rtems.h: Encapsulate with extern "C" for C++.
82
83 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
84
85         * regmove.c (kill_value): Handle subregs.
86
87 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
88
89         * i386.md (mul patterns): Allow memory operand to be first;
90         add expanders where needed; fix constraints.
91         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
92         Allow memory operand to be the first.
93
94         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
95         operands.
96
97 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
98
99         PR c/5681:
100         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
101         GET_MODE (x).
102
103 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
104
105         PR optimization/5547:
106         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
107         all valid IA-32 address modes involving non-scaled %ebx and
108         GOT/GOTOFF as displacement.
109
110 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
111
112         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
113         after emitting ltorg insns.
114
115         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
116         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
117         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
118         *abssf2): Fix "op_type" attribute.
119
120 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
121
122         * mkconfig.sh: Avoid using a subshell redirect.
123         ($output.T): Change to $(output)T.
124         (ENABLE_NLS): Remove unneeded undef.
125
126         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
127         * config/alpha/x-vms (libsubdir): Define.
128
129         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
130         register frame procedures. Optimize retrieving context.
131
132         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
133         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
134         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
135
136 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
137
138         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
139         Make same change as for find_base_value.
140
141 2002-02-13  Kazu Hirata  <kazu@hxi.com>
142
143         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
144         of QImode and SImode.
145
146 2002-02-13  Kazu Hirata  <kazu@hxi.com>
147
148         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
149         length computation of movsi.
150         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
151
152 2002-02-13  Kazu Hirata  <kazu@hxi.com>
153
154         * config/h8300/h8300.md (subqi3): Tighten the predicate for
155         operands[2] to register_operand.
156
157 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
158
159         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
160
161 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
162
163         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
164         for altivec_lvx* and altivec_stvx*.
165         ("*movv4si_internal"): Add constraint for loading from GPRs.
166         ("*movv8hi_internal1"): Same.
167         ("*movv16qi_internal1"): Same.
168         ("*movv4sf_internal1"): Same.
169
170         * config/rs6000/rs6000.c (altivec_register_operand): New.
171
172         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
173         altivec_register_operand.
174
175 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
176
177         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
178         handle SYMBOL_REF.
179
180 2002-02-13  Stan Shebs  <shebs@apple.com>
181
182         * c-typeck.c (digest_init): Handle vectors.
183         (really_start_incremental_init): Same.
184         (pop_init_level): Same.
185         (process_init_element): Same.
186
187         * varasm.c (output_constant): Same.
188
189         * expr.c (clear_storage): Same.
190         (store_constructor): Same.
191
192 2002-02-12  Eric Christopher  <echristo@redhat.com>
193
194         * explow.c (hard_function_value): Add comment explaining
195         signed/unsigned comparison.
196
197 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
198
199         * jump.c (never_reached_warning): Add finish argument.
200         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
201         real insn after end.
202         * rtl.h (never_reached_warning): Adjust prototype.
203         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
204         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
205         never_reached_warning.
206
207 2002-02-12  Graham Stott  <grahams@redhat.com>
208
209         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
210
211 2002-02-12  Kazu Hirata  <kazu@hxi.com>
212
213         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
214         logical shifts on H8/300.
215         (shift_alg_si): Improve several shifts on H8/300.
216         (get_shift_alg): Likewise.
217
218 2002-02-12  Graham Stott  <grahams@redhat.com>
219
220         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
221
222 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
223
224         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
225         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
226
227 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
228
229         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
230         non-CONST_INT through default_assemble_integer.
231         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
232         <case 8>: Abort for CONST_DOUBLE.
233
234 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
235
236         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
237         is specified.
238         * config/pa/pa-linux.h (LIB_SPEC): Delete.
239         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
240
241 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
242
243         * config/stormy16/stormy16.md (zero_extendqihi2): New.
244
245 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
246
247         * regrename.c (regrename_optimize): Don't accept a
248         part-clobbered register if the replaced register is not part
249         clobbered.
250
251         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
252         take padding into account when computing the argument value.
253
254         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
255
256         * combine.c (try_combine): Apply substitutions in
257         CALL_INSN_FUNCTION_USAGE too.
258
259 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
260
261         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
262         __builtin_altivec_abs*.
263         (bdesc_abs): New.
264
265         * config/rs6000/rs6000.h (rs6000_builtins): Add
266         ALTIVEC_BUILTIN_ABS*.
267
268         * config/rs6000/altivec.h: Use const char for builtins expecting
269         literals.
270         (vec_abs): New versions for C and C++.
271         (vec_abss): Same.
272
273 2002-02-10  Kazu Hirata  <kazu@hxi.com>
274
275         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
276         using Pmode.
277
278 2002-02-10  Kazu Hirata  <kazu@hxi.com>
279
280         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
281         constant definition from h8300.md.
282         (FRAME_POINTER_REGNUM): Likewise.
283         * config/h8300/h8300.md (define_constants): Add FP_REG.
284
285 2002-02-10  Kazu Hirata  <kazu@hxi.com>
286
287         * config/h8300/h8300.c (print_operand): Remove redundant code.
288
289 2002-02-10  Kazu Hirata  <kazu@hxi.com>
290
291         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
292         * config/h8300/h8300.c (byte_reg): Make it static.
293
294 2002-02-10  Richard Henderson  <rth@redhat.com>
295
296         PR c/5623
297         * c-typeck.c (incomplete_type_error): Handle flexible array members.
298
299 2002-02-10  Richard Henderson  <rth@redhat.com>
300
301         PR c++/5624
302         * tree.c (append_random_chars): Don't abort if main_input_filename
303         does not exist.
304
305 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
306
307         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
308
309 2002-02-10  Kazu Hirata  <kazu@hxi.com>
310
311         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
312         (pushhi1): Likewise.
313
314 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
315
316         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
317         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
318
319 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
320
321         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
322         remove MASK_VIS.
323         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
324
325 2002-02-09  Kazu Hirata  <kazu@hxi.com>
326
327         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
328         a half of an SImode register on H8/300.
329
330 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
331
332         * i386.md (movdi_2): Add missing '!'.
333
334 2002-02-09  Kazu Hirata  <kazu@hxi.com>
335
336         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
337         definitions.
338
339 2002-02-09  Kazu Hirata  <kazu@hxi.com>
340
341         * config/h8300/h8300.md (length): Correct the distance valid
342         for the short branch.
343
344 2002-02-09  Kazu Hirata  <kazu@hxi.com>
345
346         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
347
348 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
349
350         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
351         registers in SImode.
352         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
353         part-clobbered.
354
355         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
356         patch.
357
358         Contribute sh64-elf.
359         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
360         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
361         (sh_cannot_modify_jumps_p): New function.
362         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
363         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
364         (sh_ms_bitfield_layout_p): New function.
365         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
366                     Zack Weinberg  <zack@codesourcery.com>
367         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
368         expand_simple_binop instead of expand_binop.
369         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
370         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
371         use of .quad and .uaquad.
372         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
373         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
374         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
375         * config/sh/sh.md (movdi_const, movdi_const_32bit,
376         movdi_const_16bit): Make sure all CONSTs have modes.
377         (sym2PIC): Ditto, but by adjusting all callers.
378         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
379         if the prologue calls the SHmedia argument decoder or register
380         saver.
381         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
382         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
383         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
384         (sh_expand_epilogue): Don't emit USE of return target register.
385         (prepare_move_operands): Legitimize DImode PIC addresses.
386         (sh_media_register_for_return): Skip tr0, used to initialize the
387         PIC register.
388         (sh_expand_prologue): Remove explicit USE of return register.
389         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
390         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
391         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
392         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
393         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
394         EXTRA_CONSTRAINT_T.
395         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
396         (MOVI_SHORI_BASE_OPERAND_P): New.
397         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
398         (EXTRA_CONSTRAINT_T): Define in terms of them.
399         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
400         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
401         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
402         alternatives supporting TARGET_REGS.
403         (UNSPEC_GOTPLT): New constant.
404         (movdi split): Move incrementing of LABEL_NUSES...
405         (movdi_const, movdi_const_32bit): Here.  Use
406         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
407         (movdi_const_16bit): New.
408         (call, call_value) [flag_pic]: Use GOTPLT.
409         (call_pop, call_value_pop): New expands.
410         (call_pop_compact, call_pop_rettramp): New insns.
411         (call_value_pop_compact, call_value_pop_rettramp): New insns.
412         (sibcall) [flag_pic]: Use GOT.
413         (builtint_setjmp_receiver): Remove bogus, unused expand.
414         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
415         (*pt, *ptb, ptrel): New insns.
416         (sym2GOT): Handle DImode GOT.
417         (sym2GOTPLT, symGOTPLT2reg): New expands.
418         (sym2PIC): New expand.
419         (shcompact_return_tramp): Use GOTPLT to return trampoline.
420         (shcompact_return_tramp_i): Use return register explicitly.
421         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
422         disable flag_reorder_blocks.
423         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
424         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
425         clobbers, for clarity.
426         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
427         restoring of r0 in macl as MAYBE_DEAD.
428         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
429         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
430         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
431         alter_subreg all over.
432         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
433         reload, instead of emitting instructions that would require
434         reloading.
435         (casesi_load_media): Add missing modes.
436         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
437         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
438         as used if the argument decoder is called.
439         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
440         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
441         Pmode, then extend it to DImode if necessary.
442         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
443         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
444         constants in FPU-enabled SHmedia, let them be loaded from memory.
445         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
446         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
447         Adjust whitespace in assembly output templates.
448         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
449         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
450         mode of if_then_else.
451         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
452         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
453         sh.h.
454         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
455                     Joern Rennecke <amylaar@redhat.com>
456         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
457         (SUBTARGET_CPP_PTR_SPEC): New.
458         (SUBTARGET_CPP_SPEC): Remove.
459         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
460         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
461         Fix typo in previous checkin.
462         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
463         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
464         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
465                     Alexandre Oliva  <aoliva@redhat.com>
466         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
467         what single FP register can hold for SHmedia target.
468         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
469                     Alexandre Oliva  <aoliva@redhat.com>
470         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
471         Do not split into SUBREG.
472         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
473         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
474         and added new functions as specified in SH5 ABI r9.
475         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
476         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
477         8-byte boundary.
478         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
479         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
480         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
481         and consttable_window_ends.
482         2001-06-03  Graham Stott  <grahams@redhat,com>
483         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
484         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
485         * config/sh/sh.c (print_operand): Handle floating-point pair,
486         vector and matrix registers.
487         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
488         vector modes into account.
489         * config/sh/sh.md (movv2sf): Split move between registers into
490         movdf.
491         (movv4sf, movv16sf): Introduce insns that get split only after
492         reload.
493         * config/sh/shmedia.h: Fix Copyright dates.
494         * config/sh/ushmedia.h: Likewise.  Move loop counter
495         declarations into conditionals that uses them.
496         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
497         loop boundary.
498         * config/sh/sshmedia.h: Fix Copyright dates.
499         (sh_media_PUTCFG): Fix constraints.
500         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
501         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
502         ptrmemfunc_vbit_in_delta for SH5.
503         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
504         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
505         * invoke.texi: Likewise.
506         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
507         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
508         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
509         GCC_pop_shmedia_regs_nofpu): New global symbols.
510         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
511         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
512         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
513         compact function with nonlocal labels.
514         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
515         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
516         (initial_elimination_offset): Account for their stack space.
517         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
518         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
519         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
520         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
521         least one of the operands to be a register.
522         (movv2sf): Likewise.  Renamed to movv2sf_i.
523         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
524         prepare_move_operands() before emitting SHmedia insns.
525         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
526         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
527         Don't save nor initialize r12.  Don't mis-align the stack.
528         Pad the code with a nop.
529         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
530         stack.
531         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
532         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
533         [__SHMEDIA__]: Implement.
534         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
535         * config/sh/sh.md: Set latency of `pt' closer to reality.
536         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
537         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
538         Set move, load and store type attributes.
539         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
540         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
541         profiling.
542         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
543         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
544         * config/sh/sh.c (sh_media_register_for_return): New function.
545         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
546         branch-target register.
547         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
548         * config/sh/sh.md (return_media_i): Use any call-clobbered
549         branch-target register.
550         (return_media): If r18 wasn't copied in the prologue, copy it
551         here.
552         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
553         Clear class FP0_REGS.
554         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
555         from elf.h.
556         2001-03-08  DJ Delorie  <dj@redhat.com>
557         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
558         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
559         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
560         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
561         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
562         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
563         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
564         return value correctly for call_cookie.
565         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
566         * config/sh/crt1.asm (start): Modified so as to call
567         ___setup_argv_and_call_main.
568         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
569         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
570         SHmedia mode.
571         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
572         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
573         (STRIP_NAME_ENCODING): Use it.
574         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
575         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
576         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
577         prepare_scc_operands().
578         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
579         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
580         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
581         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
582         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
583         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
584         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
585         used in shcompact_incoming_args.
586         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
587         change.
588         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
589         mode.
590         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
591         Adjust accordingly.
592         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
593         Simplify.  Adjust.  Add sanity check.
594         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
595         FPU_SINGLE_BIT.
596         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
597         TARGET_SHCOMPACT.
598         (udivsi3, divsi3): Use them.
599         (force_mode_for_call): New insn.
600         (call, call_value, sibcall_value): Emit it before SHcompact
601         calls.
602         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
603         * config/sh/sh.md (call, call_value, sibcall): Make sure the
604         call cookie is non-NULL before taking its value.
605         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
606         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
607         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
608         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
609         block.
610         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
611         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
612         temporary for stack adjusts.  Use MACL and MACH to pass
613         arguments to shcompact_incoming_args.
614         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
615         clobber r1.
616         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
617         (nested_trampoline): Load static chain address into r1.
618         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
619         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
620         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
621         fp_arith_reg_operand().
622         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
623         * config/sh/sh.md (casesi): Sign-extend the first two operands,
624         and use signed compares for them.
625         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
626         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
627         ones properly aligned.
628         (find_barrier): Account for extra alignment needed for 8-byte wide
629         constants.
630         (machine_dependent_reorg): Require a label for the second 4-byte
631         constant after an 8-byte one.
632         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
633         change.
634         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
635         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
636         last_float when switching float modes.
637         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
638         auto-increment for general-purpose registers.
639         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
640         result.
641         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
642         for stack adjust.
643         * config/sh/sh.c (sh_builtin_saveregs): Support using all
644         registers for varargs.
645         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
646         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
647         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
648         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
649         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
650         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
651         call_cookie accordingly.
652         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
653         (SHCOMPACT_BYREF): Likewise.
654         (SHCOMPACT_FORCE_ON_STACK): New macro.
655         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
656         (sh_builtin_saveregs): Likewise.
657         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
658         shcompact_incoming_args): Use new shift values.  Support
659         sequences of consecutive and non-consecutive pushes/pops.
660         * config/sh/sh.md (return): Don't explicitly use PR_REG.
661         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
662         * config/sh/sh.h (TEXT_SECTION): Define.
663         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
664         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
665         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
666         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
667         return values on FPU-enabled SHmedia.
668         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
669         FPU-enabled SHmedia.
670         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
671         value is returned in a non-FP reg and is not returned by
672         reference.
673         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
674         jump_ind.
675         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
676         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
677         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
678         quad-aligned to be passed by callee-copy reference.
679         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
680         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
681         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
682         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
683         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
684         copying low-numbered FP regs to r7 and r8.
685         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
686         FP regs to general-purpose regs only if the copy was passed on the
687         stack.
688         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
689         copying FP reg to r9.
690         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
691         copy FP regs to general-purpose regs only in outgoing calls.
692         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
693         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
694         HOST_WIDE_INT.
695         * config/sh/sh.h (struct sh_args): Document all fields.
696         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
697         passed partially on the stack should not consider making
698         sibcalls.
699         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
700         stack_regs only for incoming calls.  When passing FP args,
701         make sure there are FP regs available before modifying
702         call_cookie.
703         (SHCOMPACT_BYREF): Pass double args in general-purpose
704         registers by reference.
705         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
706         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
707         attempt to generate sibcalls if the caller got any arguments
708         by reference.
709         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
710         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
711         to 8-byte boundaries.
712         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
713         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
714         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
715         stored in the stack.
716         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
717         for the offsets to have the ISA bit set.
718         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
719         invocation.  Use beq instead of bgt to mark end of sequence of
720         loads.
721         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
722         bgt to mark end of sequence of stores.
723         * config/sh/sh.c (arith_operand): Don't check whether
724         CONST_OK_FOR_J for now.
725         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
726         instead of long for conversion.
727         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
728         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
729         before passing it to fprintf.
730         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
731         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
732         Call set_fpscr before reading/writing SR.
733         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
734         Call set_fpscr.
735         * config/sh/lib1funcs.asm: Add `.align 2' directives before
736         SHmedia code.
737         (FMOVD_WORKS): Define on SH5 with FPU.
738         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
739         setting.
740         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
741         _fpscr_values.
742         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
743         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
744         address.
745         (ia_main_table): Ditto.
746         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
747         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
748         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
749         the definitions from sh.h.
750         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
751         TARGET_SH5.
752         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
753         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
754         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
755         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
756         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
757         Increment LABEL_NUSES.
758
759         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
760         TARGET_SH5.
761         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
762         defined.
763         * config/sh/elf.h (SIZE_TYPE): Likewise.
764         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
765         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
766         shcompact_incoming_args): Load switch table addresses using
767         datalabel.
768         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
769         (NO_BUILTIN_SIZE_TYPE): Define.
770         (SIZE_TYPE): Don't define.
771         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
772         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
773         definition of __SH5__=32 for -m5-compact-nofpu.
774         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
775         ADDR_DIFF_VEC.
776         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
777         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
778         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
779         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
780         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
781         (INSN_LENGTH_ALIGNMENT): Likewise.
782         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
783         * config/sh/sh.md (call, call_value, sibcall): Simplify
784         copying of non-branch-target register.
785         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
786         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
787         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
788         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
789         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
790         floating-point values as structs.
791         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
792         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
793         general-purpose register.
794         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
795         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
796         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
797         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
798         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
799         (ENCODE_SECTION_INFO): Enclose variables and constants in
800         DATALABEL unspecs.
801         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
802         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
803         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
804         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
805         only for LABEL_REFs.  For SYMBOL_REFs, prepend
806         SH_DATALABEL_ENCODING to the symbol name.
807         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
808         convert_mode().
809         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
810         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
811         UNSPEC_DATALABEL.
812         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
813         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
814         (DATALABEL_REF_P): Don't require CONST.
815         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
816         REL label.
817         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
818         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
819         right.
820         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
821         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
822         Use shallow_copy_rtx and PUT_MODE to change the mode of
823         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
824         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
825         on SHmedia using GENERAL_REGs.
826         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
827         bltu_media_i): Fix reversion of conditions.
828         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
829         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
830         * config/sh/sh.c (output_far_jump): Save r13 in macl.
831         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
832         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
833         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
834         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
835         (GCC_nested_trampoline): Likewise.
836         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
837         * config/sh/sh.c (gen_datalabel_ref): Define.
838         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
839         (INITIALIZE_TRAMPOLINE): Likewise.
840         (TRAMPOLINE_ADJUST_ADDRESS): Define.
841         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
842         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
843         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
844         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
845         (ic_invalidate): Adjust for SH5.
846         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
847         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
848         _nested_trampoline.
849         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
850         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
851         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
852         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
853         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
854         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
855         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
856         * config/sh/sh.c (target_reg_operand): Match only target-branch
857         registers and pseudos that aren't virtual registers.
858         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
859         Copy operands that don't match target_reg_operand to pseudos.
860         (call_media, call_value_media, sibcall_media): Use
861         target_reg_operand instead of target_operand.
862         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
863         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
864         * config/sh/sh.c (target_reg_operand): Match hardware registers
865         other than branch-target registers.
866         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
867         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
868         (fpscr_values) [SH5 == 32]: Define.
869         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
870         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
871         Handle function addresses coming in SUBREGs.
872         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
873         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
874         shcompact_return_trampoline): Use datalabel where appropriate.
875         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
876         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
877         general-purpose register to copy one branch-target register to
878         another.
879         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
880         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
881         SYMBOL_REFs with VOIDmode.
882         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
883         bltu_media_i): New insns.
884         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
885         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
886         (INIT_CUMULATIVE_ARGS): Likewise.
887         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
888         * machmode.def (V16SFmode): New mode.
889         * c-common.c (type_for_mode): Support V2SF and V16SF.
890         * tree.c (build_common_tree_nodes_2): Likewise.
891         * tree.h (tree_index): Likewise.
892         * calls.c (emit_call_1): Take args_so_far.  Adjust all
893         callers.  Introduce CALL_POPS_ARGS.
894         * tm.texi (CALL_POPS_ARGS): Document.
895         * config/sh/crt1.asm: Implement in SHmedia mode.
896         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
897         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
898         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
899         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
900         Implement divsi and udivsi in SHmedia mode.  Introduce
901         SHcompact trampolines.
902         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
903         only in SHmedia64.
904         (regno_reg_class): Rewrite.
905         (fp_reg_names): Remove.
906         (sh_register_names, sh_additional_register_names): New.
907         (print_operand): Added `u'.  Support SUBREGs in addresses.
908         Add parentheses around shifted CONSTs.
909         (output_file_start): Output .mode and .abi directives.
910         (shiftcosts, addsubcosts, multcosts): Adjust.
911         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
912         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
913         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
914         bytes, not registers.  Take into account the need for the
915         SHcompact incoming args trampoline.  Adjust all callers.
916         (sh_expand_prologue): Take stack_regs into account.  Call
917         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
918         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
919         stack aligned as per SH5 ABI.
920         (sh_builtin_saveregs): Support SH5 ABI.
921         (sh_build_va_list, sh_va_start): Likewise.
922         (initial_elimination_offset): Take alignment into account.
923         Compute location of PR according to the SH5 stack frame.
924         (arith_reg_operand): Reject branch-target registers.
925         (shmedia_6bit_operand): New.
926         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
927         (target_reg_operand): Match DImode only.  Accept SUBREGs.
928         (target_operand): New.
929         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
930         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
931         SIBCALL_REGS for SHmedia.
932         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
933         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
934         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
935         (TARGET_SWITCHES): New SH5 flags.
936         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
937         VALID_REGISTER_P to disable unsupported registers.
938         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
939         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
940         (FUNCTION_ARG_PADDING): Define.
941         (FASTEST_ALIGNMENT): Adjust.
942         (SH_REGISTER_NAMES_INITIALIZER): New.
943         (sh_register_names): Declare.
944         (DEBUG_REGISTER_NAMES): Define.
945         (REGISTER_NAMES): Define based on sh_register_names.
946         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
947         (sh_additional_register_names): Declare.
948         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
949         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
950         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
951         (REGISTER_NATURAL_MODE): Define.
952         (FIRST_PSEUDO_REGISTER): Adjust.
953         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
954         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
955         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
956         (VECTOR_MODE_SUPPORTED_P): Define.
957         (REG_CLASS_CONTENTS): Adjust.
958         (SMALL_REGISTER_CLASSES): Adjust.
959         (REG_ALLOC_ORDER): Adjust.
960         (INDEX_REG_CLASS): Adjust.
961         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
962         (CONST_OK_FOR_LETTER_P): Adjust.
963         (PREFERRED_RELOAD_CLASS): Adjust.
964         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
965         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
966         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
967         (FIRST_FP_PARM_REG): Adjust.
968         (CALL_POPS_ARGS): Define.
969         (FUNCTION_ARG_REGNO_P): Adjust.
970         (struct sh_args): New fields.
971         (GET_SH_ARG_CLASS): Adjust.
972         (INIT_CUMULATIVE_ARGS): Adjust.
973         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
974         (FUNCTION_ARG_ADVANCE): Adjust.
975         (FUNCTION_ARG): Adjust.
976         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
977         (FUNCTION_ARG_CALLEE_COPIES): Define.
978         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
979         (STRICT_ARGUMENT_NAMING): Define.
980         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
981         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
982         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
983         (SETUP_INCOMING_VARARGS): Adjust.
984         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
985         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
986         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
987         (SUBREG_OK_FOR_INDEX_P): Adjust.
988         (EXTRA_CONSTRAINT_S): Update.
989         (EXTRA_CONSTRAINT_T): New.
990         (EXTRA_CONSTRAINT): Adjust.
991         (GO_IF_LEGITIMATE_INDEX): Adjust.
992         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
993         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
994         (MOVE_MAX): Adjust.
995         (MAX_MOVE_MAX): Define.
996         (Pmode): Adjust.
997         (CONST_COSTS): Adjust.
998         (REGISTER_MOVE_COST): Adjust.
999         (BRANCH_COST): Adjust.
1000         (TEXT_SECTION_ASM_OP): Adjust.
1001         (DBX_REGISTER_NUMBER): Adjust.
1002         (ASM_OUTPUT_DOUBLE_INT): New.
1003         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1004         (PREDICATE_CODES): Adjust.
1005         (PROMOTE_MODE): Adjust.
1006         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
1007         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
1008         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
1009         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
1010         (DR0_REG, DR2_REG, DR4_REG): Renumber.
1011         (TR0_REG, TR1_REG, TR2_REG): New.
1012         (XD0_REG): Renumber.
1013         (UNSPEC_COMPACT_ARGS): New.
1014         (type): Added pt and ptabs.
1015         (length): Default to 4 on SHmedia.  Default pt length to 12
1016         and     20 on SHmedia32 and SHmedia64, respectively.
1017         (pt): New function unit.
1018         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
1019         Add whitespace between operands of SHmedia instructions.
1020         (movdicc): Fix.
1021         (adddi3_media, addsi3_media): Adjust constraints.
1022         (subsi3) [SHmedia]: Force operand 1 into a register.
1023         (udivsi3_i1_media, udivsi3_i4_media): New.
1024         (udivsi3): Support SHmedia.
1025         (divsi3_i1_media, divsi3_i4_media): New.
1026         (divsi3): Support SHmedia.
1027         (anddi3, iordi3, xordi3): Adjust constraints.
1028         (zero_extendhidi2, zero_extendqidi2): New.
1029         (extendsidi2, extendhidi2, extendqidi2): New.
1030         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
1031         (pop_e, pop_fpul, pop_4): Likewise.
1032         (movsi_media): Support FP and BT registers.
1033         (movsi_media_nofpu): New.  Adjust splits to DImode.
1034         (lduw, ldub): Renamed to zero_extend* above.
1035         (movqi_media): Fix typo.
1036         (movdi_media): Support FP and BT registers.
1037         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
1038         (movdi_const_32bit): New.
1039         (shori_media): Require immediate operand.  Use `u' for output.
1040         (movdf_media, movsf_media): Simplified.
1041         (movdf_media_nofpu, movsf_media_nofpu): New.
1042         (movdf, movsf): Adjust
1043         (movv2sf, movv2sf, movv16sf): New.
1044         (beq_media, beq_media_i): Adjust constraints.  Don't use
1045         scratch BT register.
1046         (bne_media, bne_media_i): Likewise.
1047         (bgt_media, bgt_media_i): Likewise.
1048         (bge_media, bge_media_i): Likewise.
1049         (bgtu_media, bgtu_media_i): Likewise.
1050         (bgeu_media, bgeu_media_i): Likewise.
1051         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
1052         bunordered): Emit jump insn.  Force operands to registers when
1053         needed.
1054         (jump_media, jump): Simplify.
1055         (call_compact, call_compact_rettramp): New.
1056         (call_value_compact, call_value_compact_rettramp): New.
1057         (call_media, call_value_media): Simplify.
1058         (sibcall_compact, sibcall_media): New.
1059         (call, call_value): Adjust for SHmedia and SHcompact.
1060         (sibcall, sibcall_value, untyped_call): Likewise.
1061         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
1062         (indirect_jump): Adjust for SHmedia.
1063         (casesi_jump_media): New.
1064         (nop): Re-enable for SHmedia.
1065         (call_site): Restrict to SH1.
1066         (casesi): Adjust for SHmedia.
1067         (casesi_shift_media, casesi_load_media): New.
1068         (return): Explicitly use PR register.  Call return trampoline
1069         on SHcompact.
1070         (return_i): Explicitly use PR register.
1071         (shcompact_return_tramp, shcompact_return_tramp_i): New.
1072         (return_media): Adjust.
1073         (shcompact_incoming_args): New.
1074         (epilogue): Adjust.
1075         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
1076         (movstrsi): Disable on SH5.
1077         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
1078         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
1079         (subsf3, subsf3_media): Likewise.
1080         (mulsf3, mulsf3_media, mac_media): Likewise.
1081         (divsf3, divsf3_media): Likewise.
1082         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
1083         (floatsisf2, fux_truncsfsi2): Likewise.
1084         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
1085         constraints.
1086         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
1087         (cmpunsf_media, cmpsf): Likewise.
1088         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
1089         (abssf2, abssf2_media): Likewise.
1090         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
1091         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
1092         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
1093         (floatsidf2, fix_truncdfsi2): Likewise.
1094         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
1095         constraints.
1096         (cmpeqdf_media, cmpgtdf_media): Likewise.
1097         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
1098         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
1099         (absdf2, absdf2_media): Likewise.
1100         (extendsfdf2, extendsfdf2_media): Likewise.
1101         (truncsfdf2, truncsfdf2_media): Likewise.
1102         * config/sh/sh64.h: New file.
1103         * config/sh/t-sh64: New file.
1104         * config/sh/shmedia.h: New file.
1105         * config/sh/ushmedia.h: New file.
1106         * config/sh/sshmedia.h: New file.
1107         * configure.in: Added sh64-*-elf.
1108         * configure: Rebuilt.
1109         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
1110         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
1111         (reg_class_from_letter): Use `b' for TARGET_REGS.
1112         (print_operand): Support `%M', `%m', `AND' and
1113         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
1114         (andcosts): Adjust for SHmedia.
1115         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
1116         Likewise.
1117         (target_reg_operand): New function.
1118         * config/sh/sh-protos.h (target_reg_operand): Declare.
1119         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
1120         FP registers on SH5.
1121         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
1122         on SH4.
1123         (TARGET_REGISTER_P): New macro.
1124         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
1125         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
1126         (EXTRA_CONSTRAINT_S): New macro.
1127         (EXTRA_CONSTRAINT): Adjust.
1128         (FLOAT_TYPE_SIZE): Define to 32.
1129         (Pmode): DImode on SHmedia.
1130         (CONST_COSTS): Adjust for SHmedia literals.
1131         (PREDICATE_CODES): Added target_reg_operand.
1132         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
1133         * config/sh/sh.md: Remove all attrs from SHmedia insns.
1134         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
1135         (cmpdi): Accept SHmedia.
1136         (movdicc_false, movdicc_true): New insns.
1137         (movdicc): New expand.
1138         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
1139         no_new_pseudos.
1140         (addsi3_media): Match `S' constraint.
1141         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
1142         (negdi2): Expand for SHmedia.
1143         (one_cmpldi2): New expand.
1144         (zero_extendsidi2): Change from expand to insn.
1145         (extendsidi2): Add constraints.
1146         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
1147         LD/ST address.  Fix SI immediate loading split.
1148         (movhi_media, movqi_media, lduw, ldub): New insns.
1149         (movhi, movqi): Accept SHmedia.
1150         (shori_media, movdi_media): Relax input constraints.  Split
1151         symbolic constants.
1152         (movdf_media, movsf_media): New insn.  New split to movdi.
1153         (movdf, movsf): Match on SHmedia.
1154         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
1155         bgeu_media): New insns and splits.  New insns with `_i' suffix.
1156         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
1157         (bunordered): New expand.
1158         (jump_compact): Renamed from `jump'.
1159         (jump_media): New insn.
1160         (jump): New expand.
1161         (call_media, call_value_media): New insns.
1162         (call, call_value): Adjust.
1163         (indirect_jump_compact): Renamed from `indirect_jump'.
1164         (indirect_jump_media): New insn.
1165         (indirect_jump): New expand.
1166         (untyped_call, return): Accept SHmedia.
1167         (return_media): New insn.
1168         (prologue, epilogue, blockage): Accept SHmedia.
1169         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
1170         (sunordered): New expand.
1171         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
1172         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
1173         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
1174         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
1175         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
1176         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
1177         abssf2_media): New insns.
1178         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
1179         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
1180         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
1181         floatdidf2, floatsidf2_media, fix_truncdfdi2,
1182         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
1183         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
1184         absdf2_media): New insns.
1185         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
1186         (extendsfdf2_media, truncdfsf2_media): New insns.
1187         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
1188         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
1189         * config/sh/sh.h (CONST_OK_FOR_J): Document.
1190         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
1191         * config/sh/sh.md (adddi3): New expand.
1192         (adddi3_media, adddi3z_media): New insns.
1193         (adddi3_compact): Renamed from adddi3.
1194         (addsi3_media): Use add.l r63 to add constant zero.
1195         (subdi3): New expand.
1196         (subdi3_media): New insn.
1197         (subdi3_compact): Renamed from subdi3.
1198         (mulsidi3): New expand.
1199         (mulsidi3_media): New insn.
1200         (mulsidi3_compact): Renamed from mulsidi3.
1201         (umulsidi3): New expand.
1202         (umulsidi3_media): New insn.
1203         (umulsidi3_compact): Renamed from umulsidi3.
1204         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
1205         (ashlsi3, ashrsi3, lshrsi3): Use them.
1206         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
1207         (ashldi3, ashrdi3, lshrdi3): Use them.
1208         (zero_extendsidi2): New expand.
1209         (extendsidi2): New insn.
1210         (movsi_media): New insn.  Split to movdi to load constants.
1211         (movsi): Enable for shmedia.
1212         (movdi_media): New insn.  Use shori_media to load wide constants.
1213         (short_media): New insn.
1214         (movdi): Enable for shmedia.
1215         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
1216         * config/sh/sh.h (CPP_SPEC): Added `m5'.
1217         (SUBTARGET_CPP_SPEC): Added `!m5'.
1218         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
1219         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
1220         to all other SH variants.
1221         (TARGET_DEFAULT): Set to SH1_BIT.
1222         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
1223         (BITS_PER_WORD): Raise to 64 on shmedia.
1224         (MAX_BITS_PER_WORD): Change to 64.
1225         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
1226         (INT_TYPE_SIZE): Keep as 32.
1227         (UNITS_PER_WORD): Raise to 8 on shmedia.
1228         (MIN_UNITS_PER_WORD): Keep as 4.
1229         (POINTER_SIZE): Raise to 64 on shmedia.
1230         (CONST_OK_FOR_J): New macro.
1231         (CONST_OK_FOR_LETTER_P): Use it.
1232         (processor_type): Add PROCESSOR_SH5.
1233         * config/sh/sh.md: Conditionalize all expands, insns and
1234         splits to TARGET_SH1.
1235         (cpu): Added sh5.
1236         (addsi3_compact): Renamed from...
1237         (addsi3): Now an expand.
1238         (addsi3_media, subsi3_media): New insns.
1239         (subsi3): Don't negate constants with SHmedia.
1240
1241         * hooks.c: New file.
1242         * hooks.h: New file.
1243         * Makefile.in (HOOKS_H): New.
1244         (TARGET_DEF_H): Added $(HOOKS_H).
1245         (OBJS): Added hooks.o.
1246         (cfgcleanup.o, bb-reorder.o): Added target.h.
1247         (hooks.o): Added dependencies.
1248         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
1249         (TARGET_INITIALIZER): this.
1250         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
1251         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
1252         * bb-reorder.c: Include target.h.
1253         (reorder_basic_blocks): Skip if cannot modify jumps.
1254         * cfgcleanup.c: Include target.h.
1255         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
1256
1257 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
1258
1259         * config/mips/mips.md (casesi_internal, casesi_internal_di):
1260         Protect jump delay slot instructions with .set noreorder and
1261         .set nomacro.
1262
1263 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
1264
1265         * config/mips/mips.md (casesi_internal_di): Calculate
1266         the index into the target offset table correctly.
1267
1268 2002-02-08  Richard Henderson  <rth@redhat.com>
1269
1270         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
1271         * final.c (output_addr_const): Accept and discard SUBREG.
1272         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
1273         mark them unknown instead.
1274         (simplify_subtraction): Handle RTX_UNKNOWN.
1275         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
1276
1277 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
1278
1279         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
1280
1281 2002-02-08  Richard Henderson  <rth@redhat.com>
1282
1283         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
1284
1285 2002-02-08  Andreas Jaeger  <aj@suse.de>
1286
1287         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
1288         * config/i386/t-linux64: New file.
1289
1290 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
1291
1292         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
1293         * c-parse.in (compstmt): Clear last_expr_type.
1294
1295 2002-02-07  Richard Henderson  <rth@redhat.com>
1296
1297         * loop.c (strength_reduce): Sink final_value when not
1298         eliminating a biv.
1299
1300 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
1301
1302         * config/sparc/freebsd.h: Fix mismatched spec {.
1303
1304 2002-02-07  Richard Henderson  <rth@redhat.com>
1305
1306         * cfgrtl.c: Include recog.h and insn-config.h.
1307         (keep_with_call_p): Fix general_operand invocation.
1308         * Makefile.in (cfgrtl.o): Update dependencies.
1309
1310 2002-02-07  Kazu Hirata  <kazu@hxi.com>
1311
1312         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
1313         comment.  Accept HImode only if TARGET_H8300.
1314
1315 2002-02-07  Eric Christopher  <echristo@redhat.com>
1316
1317         * config/mips/crtn.asm: Cleanup #ifdefs.
1318
1319 2002-02-07  Eric Christopher  <echristo@redhat.com>
1320
1321         * config/mips/crti.asm: Add changes for mips16. mips16 uses
1322         register 7 as RA instead of $31.
1323         * config/mips/crtn.asm: Ditto.
1324         * config/mips/mips.c (mips_move_2words): Add case for
1325         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
1326         (compute_frame_size): Fix typo.
1327         (save_restore_insns): Ditto.  Make documentation about using
1328         register $7 as return register more precise.
1329         (mips_expand_epilogue): Fix comment. Add code to work around not
1330         being able to add to the stack pointer directly.
1331         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
1332         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
1333         epilogue.
1334
1335 2002-02-07  Tom Rix  <trix@redhat.com>
1336
1337         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
1338         immediates in ldu and stdu DS opcode field.
1339         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
1340         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
1341         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
1342
1343 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
1344
1345         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
1346         offset for stack bias.
1347
1348 2002-02-07  H.J. Lu <hjl@gnu.org>
1349
1350         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
1351
1352 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
1353
1354         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
1355
1356 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1357
1358         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
1359         * i386.c (x86_order_regs_for_local_alloc): New global function.
1360         * i386.h (REG_ALLOC_ORDER): CLeanup.
1361         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
1362
1363 2002-02-07  Richard Henderson  <rth@redhat.com>
1364
1365         PR optimization/2463
1366         * alias.c (find_base_value): Recall base values for fixed hard regs.
1367         * loop.c (loop_regs_update): Don't use single_set on non-insns.
1368
1369 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
1370
1371         * config/mips/mips.md (define_delay) [mips16]: Adjust required
1372         length.
1373
1374 2002-02-06  Richard Henderson  <rth@redhat.com>
1375
1376         PR c/5609
1377         * stmt.c (resolve_operand_name_1): Take more care with mixed
1378         named and unnamed operands.
1379
1380 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
1381             Jan Hubicka  <jh@suse.cz>
1382
1383         * loop.c (remove_constant_addition): Avoid clobbering a shared
1384         CONST expression.
1385
1386 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
1387
1388         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
1389         * config/s390/t-linux64: New file.
1390         * config/s390/libgcc-glibc.ver: New file.
1391
1392 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
1393
1394         * config/s390/linux64.h: Delete file.
1395         * config/s390/s390x.h: New file.
1396         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
1397         as target header file.
1398         * config/s390/linux.h (TARGET_VERSION): Define depending on
1399         DEFAULT_TARGET_64BIT.
1400         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
1401         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
1402         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
1403         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
1404         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
1405         (EXTRA_SPEC): New define.
1406         * config/s390/s390.h (TARGET_VERSION): Define depending on
1407         DEFAULT_TARGET_64BIT.
1408         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
1409
1410 2002-02-06  Jason Merrill  <jason@redhat.com>
1411
1412         * c-decl.c (finish_function): Warn about a non-void function with
1413         no return statement and no abnormal exit.
1414         (current_function_returns_abnormally): New variable.
1415         (start_function): Clear it.
1416         (struct c_language_function): Add returns_abnormally.
1417         (push_c_function_context): Save it.
1418         (pop_c_function_context): Restore it.
1419         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
1420         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
1421         an explicit return type.
1422         * c-tree.h: Declare current_function_returns_abnormally.
1423         (C_FUNCTION_IMPLICIT_INT): New macro.
1424         * c-typeck.c (build_function_call): Set it.
1425         (c_expand_return): Set current_function_returns_value even if the
1426         value is erroneous.
1427
1428 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
1429
1430         PR c/5420:
1431         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
1432         unsafe for reevaluation.
1433
1434 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
1435
1436         PR c/5482:
1437         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
1438         EXPR_STMT, but COMPOUND_STMT, recurse into it.
1439
1440 2002-02-06  Richard Henderson  <rth@redhat.com>
1441
1442         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
1443         be a general_operand.  Dest for function value must be a pseudo.
1444
1445 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
1446
1447         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
1448         as SYMBOL_REFs from the constant pool.
1449
1450 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
1451
1452         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
1453         passed by invisible reference.
1454
1455 2002-02-05  Richard Henderson  <rth@redhat.com>
1456
1457         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
1458
1459 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
1460
1461         Implement using "base addresses" in insn operands as default.
1462         * config/mmix/mmix.c (mmix_conditional_register_usage): if
1463         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
1464         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
1465         used to read the rtx value.
1466         (mmix_target_asm_function_epilogue): Fix spacing.
1467         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
1468         (mmix_legitimate_address): Ditto.
1469         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
1470         should be loaded with a GETA insn.  Don't allocate needless extra
1471         char for nul termination and fix misleading comment.
1472         (mmix_print_operand_address): Handle constants if
1473         TARGET_BASE_ADDRESSES.
1474         (mmix_output_register_setting): Use base addressing if
1475         TARGET_BASE_ADDRESSES and the number of insns is 3.
1476         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
1477         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
1478         to use R as constraint, add LDA to match s.
1479         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
1480         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
1481         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
1482         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
1483         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
1484         order with other fixed registers.
1485         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
1486         other parameter/call-clobbered registers.
1487         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
1488         -mbase-addresses, -mno-base-addresses.
1489         (MMIX Options): Ditto.
1490
1491 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1492
1493         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
1494
1495 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
1496
1497         * config/rs6000/altivec.h: Change elem to _S_elem.
1498
1499 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
1500
1501         * config/netbsd.h (WCHAR_TYPE): Define.
1502         (WCHAR_TYPE_SIZE): Ditto.
1503         (WINT_TYPE): Ditto.
1504         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
1505         (WCHAR_UNSIGNED): Ditto.
1506         (WCHAR_TYPE_SIZE): Ditto.
1507         (WINT_TYPE): Ditto.
1508         * config/arm/netbsd.h: Likewise.
1509         * config/i386/netbsd-elf.h: Likewise.
1510         * config/i386/netbsd.h: Likewise.
1511         * config/m68k/netbsd-elf.h: Likewise.
1512         * config/m68k/netbsd.h: Likewise.
1513         * config/ns32k/netbsd.h: Likewise.
1514         * config/sparc/netbsd.h: Likewise.
1515         * config/vax/netbsd.: Likewise.
1516
1517 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
1518
1519         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
1520         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
1521         (TARGET_INITIALIZER): this.
1522         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
1523         (BITFIELD_NBYTES_LIMITED): Markup fix.
1524         * tree.h (default_ms_bitfield_layout_p): Declare.
1525         (record_layout_info): Added prev_field.
1526         * tree.c (default_ms_bitfield_layout_p): New fn.
1527         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
1528         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
1529         * stor-layout.c: Include target.h.
1530         (start_record_layout): Initialize prev_field.
1531         (place_field): Handle MS bit-field layout, and disregard
1532         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
1533         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
1534         * Makefile.in (stor-layout.o): Adjust dependencies.
1535
1536 2002-02-05  Jason Merrill  <jason@redhat.com>
1537
1538         * c-typeck.c (convert_for_assignment): Don't allow conversions
1539         between pointers and references.  Only allow lvalues to convert to
1540         reference.
1541
1542         * c-decl.c (finish_function): Warn about a non-void function with
1543         no return statement and no abnormal exit.
1544         (current_function_returns_abnormally): New variable.
1545         (start_function): Clear it.
1546         (struct c_language_function): Add returns_abnormally.
1547         (push_c_function_context): Save it.
1548         (pop_c_function_context): Restore it.
1549         * c-tree.h: Declare current_function_returns_abnormally.
1550         * c-typeck.c (build_function_call): Set it.
1551
1552         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
1553
1554 2002-02-05  Andreas Jaeger  <aj@suse.de>
1555
1556         * crtstuff.c: Fix comments.
1557
1558 2002-02-05  Richard Henderson  <rth@redhat.com>
1559
1560         PR fortran/3393
1561         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
1562         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
1563
1564         PR fortran/3392
1565         * config/mips/mips.c (function_arg): Handle TImode.
1566         (function_arg_advance): Likewise.
1567
1568 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
1569
1570         * config/rs6000/altivec.h (vec_step_help): Rename to
1571         __vec_step_help.
1572
1573 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
1574
1575         * config/rs6000/altivec.h: Fix typos.
1576
1577 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
1578
1579         * config/arm/netbsd.h: Correct a comment.
1580
1581 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
1582
1583         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
1584         building void typed builtins.
1585
1586         * config/rs6000/altivec.h (vec_ld*): Fix typos.
1587         (vec_step): Implement for C++.
1588
1589 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1590
1591         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
1592
1593 2002-02-04  Richard Henderson  <rth@redhat.com>
1594
1595         * combine.c (nonzero_bits): Re-introduce special case for
1596         sp/fp/ap wrt REGNO_POINTER_ALIGN.
1597
1598 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
1599
1600         * doc/extend.texi: Warn about unsupported usage of altivec
1601         builtins.
1602
1603         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
1604         (altivec_predicate_*): New.
1605
1606         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
1607         Add C++ version of vec_*() functions.
1608
1609         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
1610         (bdesc_2arg): Remove altivec predicates.
1611         (altivec_expand_builtin): Handle predicates.
1612         (altivec_init_builtins): Handle predicates.
1613         (altivec_expand_predicate_builtin): New.
1614
1615 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1616
1617         * pa.c (DO_FRAME_NOTES): Move forward.
1618         (store_reg): Revise handling of frame notes.
1619         (load_reg): Likewise.
1620         (set_reg_plus_d): Likewise.
1621         (hppa_expand_prologue): Likewise.
1622         (hppa_expand_epilogue): Likewise.
1623
1624 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1625
1626         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
1627
1628 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
1629
1630         PR c/4475, c++/3780:
1631         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
1632         * c-common.h (SWITCH_TYPE): Define.
1633         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
1634         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
1635         Rename spareness variable to sparseness.
1636         (expand_end_case_type): Renamed from expand_end_case, use orig_type
1637         if non-NULL instead of TREE_TYPE (orig_index).
1638         * tree.h (expand_end_case_type): Renamed from expand_end_case.
1639         (expand_end_case): Define using expand_end_case_type.
1640         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
1641         to expand_end_case_type.
1642         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
1643
1644 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1645
1646         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
1647         (BIGGEST_ALIGNMENT): Change to 128.
1648
1649 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1650
1651         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
1652
1653 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1654
1655         * pa.md (call_internal_reg_64bit): Remove unused variable.
1656
1657 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
1658
1659         * config/arm/arm.h (machine_function): Add uses_anonymous_args
1660         field.
1661         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
1662         * config/arm/arm.c (current_function_anonymous_args): Delete,
1663         replace uses with cfun->machine->uses_anonymous_args.
1664         (arm_reorg): Do not reset uses_anonymous_args.
1665
1666         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
1667         any geenral register.
1668
1669 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
1670
1671         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
1672         the entry block.
1673
1674 2002-02-04  Richard Henderson  <rth@redhat.com>
1675
1676         * combine.c (force_to_mode): Remove STACK_BIAS code.
1677         (nonzero_bits): Likewise.  Replace sp/fp special case with
1678         REGNO_POINTER_ALIGN.
1679
1680         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
1681         (HARD_FRAME_POINTER_REGNUM): New.
1682         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
1683         (FIXED_REGS, CALL_USED_REGS): Update.
1684         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
1685         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
1686         (HARD_REGNO_NREGS): Update for SFP.
1687         (STACK_POINTER_OFFSET): Include bias here ...
1688         (FIRST_PARM_OFFSET): ... not here.
1689         (STACK_BIAS): Remove.
1690         (INIT_EXPANDERS): New.
1691         (STARTING_FRAME_OFFSET): Do not include bias.
1692         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
1693         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
1694         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
1695         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
1696         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
1697         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
1698         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
1699         (MUST_SAVE_REGISTER): Likewise.
1700         (sparc_flat_function_prologue): Likewise.
1701         (sparc_flat_function_epilogue): Likewise.
1702         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
1703         (sparc_init_modes): SFP is GENERAL_REGS.
1704         (sparc_builtin_saveregs): SFP does not have bias applied.
1705
1706 2002-02-04  Richard Henderson  <rth@redhat.com>
1707
1708         * config/alpha/alpha.c (current_function_is_thunk): Don't check
1709         current_function_is_thunk.
1710         (alpha_sa_mask): Distinguish between current_function_is_thunk
1711         called from ASM_OUTPUT_MI_THUNK and not.
1712         (alpha_does_function_need_gp): Thunks always need gp.
1713         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
1714         (alpha_output_mi_thunk_osf): New.
1715         * config/alpha/alpha-protos.h: Update.
1716         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
1717
1718 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
1719
1720         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
1721         function types, not when they're taken away.
1722
1723 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
1724
1725         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
1726         CODE_LABEL and jump table when replacing a table jump with a
1727         simple jump.
1728
1729 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1730
1731         * config/s390/s390-protos.h (legitimize_la_operand,
1732         s390_secondary_input_reload_class, s390_plus_operand,
1733         s390_expand_plus_operand): Add prototypes.
1734
1735         config/s390/s390.c (s390_secondary_input_reload_class,
1736         s390_plus_operand, s390_expand_plus_operand): New functions.
1737
1738         (struct s390_address): New member 'pointer'.
1739         (s390_decompose_address): Compute it.
1740         (legitimate_la_operand_p): Use it.
1741         (legitimize_la_operand): New function.
1742         (movti, movdi, movdf splitters): Call it.
1743
1744         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
1745         (PREDICATE_CODES): Add s390_plus_operand.
1746
1747         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
1748         (la_ccclobber): Allow GENERAL_REGS as output operand.
1749
1750         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
1751         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
1752         (*la_64, *la_31, reload_indi, reload_insi): ... these.
1753
1754 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1755
1756         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
1757         register names for regular asm () construct.
1758
1759 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
1760
1761         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
1762         registers.
1763
1764 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
1765
1766         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
1767         pat for recog.
1768
1769 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
1770
1771         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
1772         constant pool to be identical by string address and index.
1773
1774 2002-02-04  Anthony Green  <green@redhat.com>
1775
1776         * output.h (SECTION_OVERRIDE): Define.
1777         * varasm.c (named_section): Obey SECTION_OVERRIDE.
1778
1779 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
1780
1781         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
1782         by existing arm*-*-netbsd* (a.out) target.
1783         (ns32k-*-netbsdelf*): Likewise.
1784         (sparc-*-netbsdelf*): Likewise.
1785         (vax-*-netbsdelf*): Likewise.
1786
1787 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
1788
1789         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
1790         headers and libobjc headers.
1791
1792 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
1793
1794         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
1795         (_mingw.h): Remove duplicate include.
1796
1797 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
1798
1799         * config.gcc: Set cpu_type to m68k for 68010, as well.
1800         (m68010-*-netbsdelf*): New...
1801         (m68k*-*-netbsdelf*): ...targets.
1802         * config/m68k/netbsd-elf.h: New file.
1803
1804 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1805
1806         * config/h8300/h8300.c (hand_list): Move inside function_arg.
1807
1808 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1809
1810         * config/h8300/h8300.c (h8_push_ops): Move inside
1811         h8300_init_once.
1812         (h8_pop_ops): Likewise.
1813         (h8_move_ops): Likewise.
1814
1815 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1816
1817         * config/h8300/h8300.c (os_task): Make it static.
1818         (monitor): Likewise.
1819         (pragma_saveall): Likewise.
1820
1821 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
1822
1823         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
1824         constant is a valid sign-extension for Pmode.
1825
1826 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1827
1828         * config/h8300/h8300.c: Fix formatting.
1829
1830 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1831
1832         * config/h8300/h8300.md: Fix formatting.
1833
1834 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1835
1836         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
1837         predicates of operands[1].  Split the patterns for each
1838         processor variant.
1839
1840 2002-02-02  Kazu Hirata  <kazu@hxi.com>
1841
1842         * config/h8300/h8300.md (xor patterns): Tighten the predicates
1843         of operands[1] to register_operand.
1844
1845 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1846
1847         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
1848         * cpphash.c (_cpp_init_hashtable): Similarly.
1849         * cppinit.c (cpp_create_reader): Default the signed_char flag.
1850         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
1851         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
1852         (cpp_handle_option): Handle the new options.
1853         * cpplex.c (cpp_interpret_charconst): Use new flag.
1854         * cpplib.h (struct cpp_options): New member signed_char.
1855         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
1856         (cpp_options): Handle -fsigned-char and -funsigned-char.
1857         (static_specs): Remove signed_char_spec.
1858         (do_spec1): Don't handle %c.
1859         * system.h: Poison SIGNED_CHAR_SPEC.
1860         * tradcif.y (yylex): Use flag_signed_char.
1861         * tradcpp.h (flag_signed_char): New.
1862         * tradcpp.c (flag_signed_char): New.
1863         (main): Handle new command-line options.
1864         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
1865 config:
1866         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
1867         * avr/avr.h: Remove old comments.
1868         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
1869         (CC1_SPEC): Pass -fsigned-char if -mic*.
1870         (SIGNED_CHAR_SPEC): Remove.
1871 doc:
1872         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
1873
1874 2002-02-01  Eric Christopher  <echristo@redhat.com>
1875
1876         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
1877         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
1878         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
1879         (ASM_OUTPUT_REG_POP): Ditto.
1880
1881 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1882
1883         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
1884         patch.
1885
1886 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
1887
1888         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
1889
1890 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
1891
1892         PR c/5304:
1893         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
1894         unconditionally.
1895
1896 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
1897
1898         * cfganal.c: Include tm_p.h.
1899         (keep_with_call_p): Fix the test that determines if a register holds
1900         the return value of a call.
1901
1902 2002-02-01  DJ Delorie  <dj@redhat.com>
1903
1904         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
1905         we are given conflicting registers, switch to the other one we
1906         had allocated for us.
1907         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
1908         as TImode so we know when the "other" register is available.
1909
1910 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
1911
1912         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
1913         sparc/sparc_bi.h.
1914
1915 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
1916
1917         * cfganal.c (keep_with_call_p): New function.
1918         (flow_call_edges_add): Prevent splitting a block between a call and
1919         a single-set instruction that should be kept in the same block.
1920
1921 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1922
1923         * doc/install.texi (avr): Update outdated URL.
1924
1925 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
1926
1927         * config/stormy16/stormy16.md (pushqi): New.
1928         (popqi): New.
1929         (pushhi): New.
1930         (pophi): New.
1931         (movhi): Remove stack operands.
1932         (movqi): Likewise.
1933         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
1934         nonimmediate_nonstack_operand.
1935         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
1936         New.
1937         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
1938         New.
1939
1940 2002-01-31  Jason Merrill  <jason@redhat.com>
1941
1942         * Makefile.in (c-parse.c): Handle .output file.
1943         * objc/Make-lang.in (objc-parse.c): Likewise.
1944
1945 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
1946
1947         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
1948         the -me[lb] option is given.  Don't output the default flag
1949         twice.
1950
1951 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
1952
1953         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
1954         the primary source file; this has not been done yet.
1955         * c-decl.c (c_expand_body): Reset input_filename from
1956         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
1957
1958 2002-01-31  Kazu Hirata  <kazu@hxi.com>
1959
1960         * rtlanal.c (subreg_regno_offset): Do not use
1961         SUBREG_REGNO_OFFSET.
1962         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
1963         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
1964
1965 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
1966
1967         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
1968         version rather than GNATS version in --version output.
1969
1970 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
1971
1972         * ifcvt.c (noce_process_if_block): Make a copy of the destination
1973         when copying back from a temporary.
1974
1975 2002-01-30  Richard Henderson  <rth@redhat.com>
1976
1977         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
1978         and new_dest are the same.
1979
1980 2002-01-30  Richard Henderson  <rth@redhat.com>
1981
1982         PR opt/5076
1983         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
1984         * rtl.c (note_insn_name): Update.
1985         * emit-rtl.c (remove_unnecessary_notes): Kill it.
1986         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
1987         to perform loop rotation.
1988         (expand_exit_loop_top_cond): New.
1989         * tree.h (expand_exit_loop_top_cond): Declare it.
1990         * c-semantics.c (genrtl_while_stmt): Use it.
1991         (genrtl_for_stmt): Likewise.
1992
1993 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
1994
1995         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
1996         arguments to 64-bit boundaries on 64-bit ABIs.
1997
1998 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
1999
2000         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
2001
2002 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2003
2004         * c-decl.c (grokdeclarator): Handle type being a typedef for an
2005         invalid type.
2006
2007 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
2008
2009         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
2010         * config/sparc/sparc_bi.h: Remove file.
2011         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
2012
2013 2002-01-30  Richard Henderson  <rth@redhat.com>
2014
2015         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
2016
2017 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
2018
2019         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
2020
2021 2002-01-30  Jason Merrill  <jason@redhat.com>
2022
2023         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
2024         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
2025         (reg_save): Use DW_CFA_offset_extended_sf instead.
2026
2027         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
2028
2029 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2030
2031         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
2032         in cselib_lookup.
2033
2034 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
2035
2036         * rs6000.md ("*call_value_local32"): Remove constraints.
2037         ("*call_value_local64"): Same.
2038         ("*call_value_indirect_nonlocal_aix32"): Same.
2039         ("*call_value_nonlocal_aix32"): Same.
2040         ("*call_value_indirect_nonlocal_aix64"): Same.
2041         ("*call_value_nonlocal_aix64"): Same.
2042         ("*call_value_nonlocal_sysv"): Same.
2043
2044 2002-01-29  Richard Henderson  <rth@redhat.com>
2045
2046         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
2047
2048 2002-01-29  Richard Henderson  <rth@redhat.com>
2049
2050         * expr.c (force_operand): Ignore flag_pic for detecting pic
2051         address loads.
2052         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
2053         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
2054         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
2055         instead of open-coded loop.
2056         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
2057         be fixed when in use.
2058
2059 2002-01-29  Richard Henderson  <rth@redhat.com>
2060
2061         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
2062         * sched-rgn.c (propagate_deps): Update them.
2063         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
2064         clobbers list when either gets too long.
2065
2066 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2067
2068         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
2069         and INDEX_REGS the same as GENERAL_REGS.
2070         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
2071
2072 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2073
2074         * tree.c (build_nonstandard_integer_type): Correct prototype.
2075
2076 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
2077
2078         * config/s390/s390.md (movstrsico, movstrdix_64,
2079         movstrsix_31): Remove, replace by ...
2080         (movstrdi_short, movstrsi_short, movstrdi_long,
2081         movstrsi_long): ... these.  New.
2082         (movstrdi, movstrsi): Adapt.
2083
2084         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
2085         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
2086         Remove unnecessary CC clobber.
2087         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
2088         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
2089
2090         (divmoddi4): Don't partially initialize TImode register.
2091
2092 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
2093
2094         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
2095
2096 2002-01-29  Richard Henderson  <rth@redhat.com>
2097
2098         * flow.c (print_rtl_and_abort): Remove.
2099         (print_rtl_and_abort_fcn): Remove.
2100         (verify_local_live_at_start): Use dump_bb instead.
2101         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
2102         (verify_wide_reg_1): Return 2 on mode test failure.
2103
2104 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2105
2106         PR c/3325, c/3326, c/2511, c/3347
2107         * c-decl.c (enum_decl_context): Remove BITFIELD.
2108         (grokdeclarator): Take bitfield width as an input.
2109         Ensure bitfields are given the correct type.  Perform
2110         bitfield width validation with build_bitfield_integer_type
2111         rather than waiting for finish_struct.
2112         (grok_typename, grok_typename_in_parm_context, start_decl,
2113         push_parmdecl, grokfield, start_function): Update calls to
2114         grokdeclarator.
2115         (build_bitfield_integer_type): New function.
2116         (finish_struct): Move bitfield validation to grokdeclarator
2117         and build_bitfield_integer_type.
2118         * tree.c (build_nonstandard_integer_type): New function.
2119         * tree.h (build_nonstandard_integer_type): New prototype.
2120 objc:
2121         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
2122
2123 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2124
2125         PR other/1502:
2126         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
2127         don't ignore unrecognized -W* options.
2128         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
2129         * cpplib.h (cpp_handle_option): Adjust prototype.
2130         * c-decl.c (c_decode_options): Pass 0 as last argument to
2131         cpp_handle_option.
2132
2133         PR c/2896:
2134         * gcc.c (cpp_unique_options): Split from cpp_options.
2135         (cpp_options): Source cpp_unique_options.
2136         (default_compilers): Use cpp_unique_options instead of cpp_options
2137         when used together with cc1_options.
2138         (static_specs): Add cpp_unique_options.
2139         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
2140         when used together with cc1_options.
2141
2142 2002-01-29  Kazu Hirata  <kazu@hxi.com>
2143
2144         * config/h8300/h8300-protos.h: Update the prototype of
2145         output_a_shift.
2146         * config/h8300/h8300.c (output_a_shift): Remove an unused
2147         argument 'insn'.  Remove redundant code.
2148         * config/h8300/h8300.md: Adust to the new prototype of
2149         output_a_shift.
2150
2151 2002-01-29  Kazu Hirata  <kazu@hxi.com>
2152
2153         * config/h8300/h8300-protos.h: Update the prototypes of
2154         emit_a_rotate and expand_a_rotate.
2155         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
2156         first argument to 'enum rtx_code'.
2157         (expand_a_rotate): Likewise.
2158
2159 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2160
2161         * config/h8300/h8300-protos.h: Update the prototype of
2162         output_simode_bld.
2163         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
2164         'log2'.
2165         * config/h8300/h8300.md: Adjust to the new prototype.
2166
2167 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2168
2169         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
2170         redundant code.
2171
2172 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2173
2174         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
2175         is a fixed register before returning pic_offset_table_rtx.
2176         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
2177         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
2178
2179 2002-01-28  Jason Merrill  <jason@redhat.com>
2180
2181         * dwarf2.h: Sync with src version.
2182
2183 2002-01-28  Paul Koning  <pkoning@equallogic.com>
2184
2185         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
2186         BT_FN_VOID_PTR_VAR.
2187         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
2188         * doc/extend.texi (__builtin_prefetch): Update documentation:
2189         first argument is now const void ptr.
2190
2191 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2192
2193         * config/h8300/h8300-protos.h: Remove an unused prototype.
2194
2195 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
2196
2197         * toplev.c (lang_independent_init): Round up identifier size.
2198
2199 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
2200
2201         * config.gcc: Revert previous change.
2202
2203 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
2204
2205         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
2206
2207 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
2208
2209         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
2210         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
2211         other non-elf netbsd config frags.
2212         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
2213         collect2 will does that.
2214         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
2215         shared-lib frobbing will work.
2216
2217 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2218
2219         * config/h8300/h8300.h: Fix formatting.
2220         * config/h8300/h8300.md: Likewise.
2221
2222 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
2223
2224         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
2225         the old, removed AAA_standards fix.
2226         * fixinc/fixincl.x: Rebuilt.
2227
2228 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
2229
2230         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
2231         atexit call in crtbegin, hooked in after call to frame_dummy;
2232         register EH before registering __fini__start.
2233
2234 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
2235
2236         * config/rs6000/altivec.h: Remove spurious semicolons.
2237
2238 2002-01-27  Kazu Hirata  <kazu@hxi.com>
2239
2240         * config/h8300/h8300.md: Replace dead bit extraction patterns
2241         with ones that work.
2242
2243 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2244
2245         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
2246         if not STRICT_ALIGNMENT.
2247         * rtl.h (MEM_ALIGN): Likewise.
2248
2249 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2250
2251         * doc/invoke.texi (-fdump-translation-unit): Revert this
2252         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2253
2254 2002-01-27  Kazu Hirata  <kazu@hxi.com>
2255
2256         * config/h8300/h8300.md (define_constants): New.
2257         (anonymous patterns) Use defined constants appropriately.
2258
2259 2002-01-27  Kazu Hirata  <kazu@hxi.com>
2260
2261         * config/h8300/h8300.c (function_arg): Remove redundant code.
2262
2263 2002-01-26  Richard Henderson  <rth@redhat.com>
2264
2265         * sched-deps.c (reg_pending_uses_head): New.
2266         (reg_pending_barrier): Rename from reg_pending_sets_all.
2267         (find_insn_list): Don't mark inline.
2268         (find_insn_mem_list): Remove.
2269         (add_dependence_list, add_dependence_list_and_free): New.
2270         (flush_pending_lists): Replace only_write param with separate
2271         for_read and for_write parameters.  Update all callers.  Use
2272         add_dependence_list_and_free.
2273         (sched_analyze_1): Do not add reg dependencies here; just set
2274         the pending bits.  Use add_dependence_list.
2275         (sched_analyze_2): Likewise.
2276         (sched_analyze_insn): Replace schedule_barrier_found with
2277         reg_pending_barrier.  Add all dependencies for pending reg
2278         uses, sets, and clobbers.
2279         (sched_analyze): Don't add reg dependencies for calls, just
2280         set pending bits.  Use regs_invalidated_by_call.  Treat
2281         sched_before_next_call as a normal list, not a fake insn.
2282         (init_deps): No funny init for sched_before_next_call.
2283         (free_deps): Free pending mems lists.  Don't zero reg_last.
2284         (init_deps_global): Init reg_pending_uses.
2285         (finish_deps_global): Free it.
2286         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
2287         (find_insn_mem_list): Remove.
2288         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
2289         (propagate_deps): Use them.  Zero temp mem lists.
2290
2291 2002-01-26  Richard Henderson  <rth@redhat.com>
2292
2293         * Makefile.in (CRTSTUFF_CFLAGS): New.
2294         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
2295         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
2296         crtstuff.c instead of alpha assembly version.
2297         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
2298         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
2299         not FORCE_{INIT,FINI}_SECTION_ALIGN.
2300         (__do_global_dtors_aux): Mark used.
2301         (frame_dummy, __do_global_ctors_aux): Mark used.
2302         (fini_dummy, init_dummy): Remove.
2303
2304         * config/alpha/crtbegin.asm: Remove file.
2305         * config/alpha/crtend.asm: Remove file.
2306         * config/alpha/t-crtbe: Remove file.
2307         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
2308         (LINK_EH_SPEC): New.
2309
2310         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
2311         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
2312         calling constructors.
2313         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
2314
2315         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
2316         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
2317         CRT_END_INIT_DUMMY hack.
2318         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
2319         FORCE_{INIT,FINI}_SECTION_ALIGN.
2320
2321         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
2322         FORCE_{INIT,FINI}_SECTION_ALIGN.
2323
2324         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
2325         invocation sequence.
2326         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2327
2328         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
2329         (FORCE_CODE_SECTION_ALIGN): New.
2330
2331 2002-01-26  Richard Henderson  <rth@redhat.com>
2332
2333         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
2334
2335 2002-01-26  Richard Henderson  <rth@redhat.com>
2336
2337         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
2338         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
2339
2340 2002-01-26  Kazu Hirata  <kazu@hxi.com>
2341
2342         * config/h8300/h8300.md: Remove bit extraction patterns that
2343         cannot be triggered.
2344         Restrict each bit extraction pattern to a variant on which the
2345         pattern is tested.
2346
2347 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
2348
2349         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
2350
2351 2002-01-26  Kazu Hirata  <kazu@hxi.com>
2352
2353         * config/h8300/h8300.md: Remove bit test patterns that cannot
2354         be triggered.
2355         Restrict each bit test pattern to a variant on which the
2356         pattern is tested.
2357
2358 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2359
2360         * builtins.c (expand_builtin_strncat): Remove redundant check for
2361         INTEGER_CST.
2362
2363 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
2364
2365         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
2366         default setting.
2367         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
2368         existing setting.
2369
2370 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
2371
2372         * dbxout.c (dbxout_init): Use assemble_name rather than just
2373         stripping off the first character.
2374         (dbxout_source_file): Likewise.
2375
2376 2002-01-25  DJ Delorie  <dj@redhat.com>
2377
2378         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
2379         using rtx_equal_p, not by comparing pointers.
2380
2381 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
2382
2383         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
2384         for PIC_OFFSET_TABLE_REGNUM.
2385         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
2386
2387 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
2388
2389         * config.gcc (x86_64-*-freebsd*): New target.
2390         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
2391         value.
2392         (i[34567]86-*-freebsd*): Don't include svr4.h.
2393         * config/i386/freebsd64.h: New file.
2394
2395 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
2396
2397         * config/alpha/x-vms (version): Make static.
2398
2399         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
2400         in previous checkin.
2401
2402         * Makefile.in (install-headers-cp): New target.
2403         * config.gcc (alpha-dec-*vms*): Install headers with
2404         install-headers-cp
2405
2406 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
2407
2408         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
2409         avoid it's copies.
2410
2411 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2412
2413         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
2414         of compare_tree_int.
2415         (expand_builtin_strncat): Likewise.
2416         * c-decl.c (finish_struct): Use tree_low_cst.
2417         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
2418         * tree.c (compare_tree_int): Likewise.
2419
2420 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2421
2422         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
2423         adjustments even if they are implemented by more than two insns.
2424
2425 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2426
2427         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
2428         * df.h (struct ref): Kill B.
2429         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
2430
2431         * basic-block.h (PROP_EQUAL_NOTES): New flag.
2432         * flow.c (propagate_one_insn): Use it.
2433         (mark_used_regs): Handle NIL.
2434
2435 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
2436
2437         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
2438         to help folding.
2439
2440 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
2441
2442         * rs6000.md (prefetch): Make address V4SI mode so that the address
2443         is restricted to legitimate form for instruction.
2444
2445 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
2446
2447         * doc/install.texi (xtensa-*-elf): New target.
2448         (xtensa-*-linux*): New target.
2449         * doc/contrib.texi: Add myself.
2450
2451 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
2452
2453         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
2454         purpose register to hold an SImode (or smaller) value.
2455
2456 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
2457
2458         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
2459         registry only.
2460         * crtstuff.c: Likewise.
2461
2462 2002-01-25  Kazu Hirata  <kazu@hxi.com>
2463
2464         * config/h8300/h8300.md (negation patterns): Tighten
2465         predicates to register_operand.
2466
2467 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
2468
2469         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
2470         mode, not Pmode.
2471
2472         * builtins.c (expand_builtin_prefetch): Same.
2473
2474 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
2475
2476         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
2477         modes.
2478
2479 2002-01-24  Kazu Hirata  <kazu@hxi.com>
2480
2481         * config/h8300/h8300.c (print_operand): Remove support for
2482         operand character 'A'.
2483         * config/h8300/h8300.md (three anonymous patterns): Replace
2484         operand character 'A' with either 'T' or 'S'.
2485
2486 2002-01-24  Kazu Hirata  <kazu@hxi.com>
2487
2488         * config/h8300/h8300.c (print_operand): Remove support for
2489         operand character 'U'.
2490
2491 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
2492
2493         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
2494
2495 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
2496
2497         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
2498         values to be assigned to the stack pointer.
2499
2500 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
2501
2502         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
2503         to const_double needs to be done right for big-endian systems.
2504
2505 2002-01-24  Jason Merrill  <jason@redhat.com>
2506
2507         PR c++/2432
2508         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
2509         to can_throw_internal.
2510
2511 2002-01-23  Richard Henderson  <rth@redhat.com>
2512
2513         * fold-const.c (fold): Change UINT_MAX test to check vs precision
2514         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
2515
2516 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
2517
2518         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
2519         (symGOT2reg): Use them, then set as GOT value as unchanging.
2520         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
2521         as a temporary, if possible.
2522         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
2523         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
2524
2525 2002-01-23  Kazu Hirata  <kazu@hxi.com>
2526
2527         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
2528         accept to accept 0x80 as operands[2].
2529
2530 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
2531
2532         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
2533
2534 2002-01-23  Richard Henderson  <rth@redhat.com>
2535
2536         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
2537
2538 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
2539
2540         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
2541         (parmlist_or_identifiers_1): Verify that only a parmlist follows
2542         an attribute.
2543
2544 2002-01-23  Richard Henderson  <rth@redhat.com>
2545
2546         * expr.c (move_by_pieces_1): Extend size before negation.
2547
2548         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
2549         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
2550         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
2551         * config/m68k/t-m68kelf: Likewise.
2552
2553 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
2554
2555         * config/xtensa/elf.h: New file.
2556         * config/xtensa/lib1funcs.asm: New file.
2557         * config/xtensa/lib2funcs.S: New file.
2558         * config/xtensa/linux.h: New file.
2559         * config/xtensa/t-xtensa: New file.
2560         * config/xtensa/xtensa-config.h: New file.
2561         * config/xtensa/xtensa-protos.h: New file.
2562         * config/xtensa/xtensa.c: New file.
2563         * config/xtensa/xtensa.h: New file.
2564         * config/xtensa/xtensa.md: New file.
2565         * config.gcc (xtensa-*-elf*): New target.
2566         (xtensa-*-linux*): New target.
2567         * cse.c (canon_hash): Compare rtx pointers instead of register
2568         numbers.  This is required for the Xtensa port.
2569         * integrate.c (copy_insn_list): Handle case where the static
2570         chain is in memory and the memory address has to be copied to
2571         a register.
2572         * doc/invoke.texi (Option Summary): Add Xtensa options.
2573         (Xtensa Options): New node.
2574         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
2575
2576 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
2577
2578         * diagnostic.c (internal_error): Do ICE suppression only
2579         when ENABLE_CHECKING is not defined.
2580
2581         * c-typeck.c (require_complete_type): Return error_mark_node
2582         if type is error_mark_node.
2583
2584 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
2585
2586         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
2587         -Os and issue a warning.
2588
2589 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
2590
2591         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
2592         current (lack of) need for host configuration by hand.
2593
2594         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
2595         references.  Documentation of some target macros moved from
2596         hostconfig.texi to tm.texi.
2597
2598 2002-01-23  Will Cohen  <wcohen@redhat.com>
2599
2600         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
2601         defined.
2602
2603 2002-01-23  Kazu Hirata  <kazu@hxi.com>
2604
2605         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
2606         operand[3].
2607
2608 2002-01-23  Jason Merrill  <jason@redhat.com>
2609
2610         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
2611
2612         * function.c (assign_parms): Don't put args of inline functions
2613         into registers when not optimizing.
2614
2615 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
2616
2617         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
2618         (prologue_use): New pattern.
2619         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
2620         preference to gen_rtx_USE.
2621         (thumb_expand_prologue): Use gen_prologue_use in preference to
2622         gen_rtx_USE.
2623         (thumb_expand_epilogue): Use gen_prologue_use in preference to
2624         gen_rtx_USE.
2625
2626 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
2627
2628         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
2629
2630 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2631
2632         PR c/3504
2633         * doc/extend.texi: Correct documentation of __alignof__.
2634
2635 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
2636
2637         * params.h: Rename arguments of DEFPARAM so that it will be
2638         recognized as a translation keyword.
2639
2640 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
2641
2642         * extend.texi: Document altivec functions.
2643         Fix N-bit adjectives in X86 builtin documentation.
2644
2645 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
2646
2647         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
2648         auto_inc_dec values.
2649
2650 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
2651
2652         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
2653         after backslash.
2654         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
2655
2656 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
2657
2658         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
2659
2660 2002-01-22  Richard Henderson  <rth@redhat.com>
2661
2662         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
2663         copy_insn not copy_rtx.
2664
2665 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
2666
2667         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
2668         "nonzero" as that might add "1" bits.  Ensure "constop" is
2669         properly sign extened.
2670         (force_to_mode): Tweak for sign extended constop.
2671
2672 2002-01-22  Richard Henderson  <rth@redhat.com>
2673
2674         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
2675         for_each_rtx instead of assuming we're already looking at the MEM.
2676         (split_small_symbolic_mem_operand): Likewise.
2677         * config/alpha/alpha.h (PREDICATE_CODES): Update.
2678         * config/alpha/alpha.md (small symbolic memory splitters): Update.
2679
2680 2002-01-22  Richard Henderson  <rth@redhat.com>
2681
2682         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
2683         sequence number for the literal.
2684         (divmoddi_internal_er): Likewise.
2685
2686 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2687
2688         PR java/4972
2689         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
2690         in LIBICONV variable.
2691         * configure: Regenerated.
2692
2693 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
2694
2695         * dependence.c (build_def_use): Remove array_idx.
2696
2697         * dwarfout.c (last_filename): Remove.
2698         (output_compile_unit_die): Remove last_filename.
2699
2700 2002-01-22  Roger Sayle  <roger@eyesopen.com>
2701             Richard Henderson  <rth@redhat.com>
2702
2703         PR opt/3640
2704         * fold-const.c (fold): Optimize unsigned comparisons against
2705         UINT_MAX (and similar unsigned constants).
2706
2707 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
2708
2709         * Makefile.in (loop.o): Depend on OPTABS_H.
2710         * loop.c (emit_prefetch_instructions): Check the prefetch operand
2711         against the predicate.
2712
2713         PR target/5379
2714         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
2715         for the address operand.
2716
2717 2002-01-22  Richard Henderson  <rth@redhat.com>
2718
2719         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
2720
2721 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2722
2723         PR other/5450
2724         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
2725         preprocessor flags.
2726
2727 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
2728
2729         * config.gcc (x86_64-*-netbsd*): New target.
2730         * config/i386/netbsd64.h: New file.
2731
2732 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
2733
2734         * regrename.c (kill_value): Fix typo.
2735
2736 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
2737
2738         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2739
2740         * config/rs6000/rs6000.h: Same.
2741
2742         * function.c (instantiate_virtual_regs): Remove
2743         STARTING_FRAME_PHASE.
2744         (assign_stack_local_1): Same.
2745         Calculate frame phase.
2746
2747 2002-01-22  Nick Clifton  <nickc@redhat.com>
2748
2749         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
2750         variable declaration to outer scope in order to simplify
2751         future extensions.
2752         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
2753         arm_hard_regno_mode_ok.
2754         * config/arm/arm-protos.h: Add a prototype for
2755         arm_hard_regno_mode_ok.
2756         * config/arm/arm.c (soft_df_operand): Remove now redundant
2757         check for DImode values using IP_REGNUM.
2758         (nonimmediate_soft_df_operand): Remove now redundant check for
2759         DImode values using IP_REGNUM.
2760         (arm_hard_regno_mode_ok): New function. New check: make sure
2761         that DImode values are not stored in IP_REGNUM.
2762
2763         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
2764         note with a USE.
2765         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
2766
2767 2002-01-22  Jason Merrill  <jason@redhat.com>
2768
2769         * c-semantics.c (genrtl_compound_stmt): Only check nesting
2770         consistency if this COMPOUND_STMT is scoped.
2771
2772 2002-01-22  Kazu Hirata  <kazu@hxi.com>
2773
2774         * predict.c: Fix formatting.
2775         * print-tree.c: Likewise.
2776         * protoize.c: Likewise.
2777         * real.h: Likewise.
2778         * rtl.h: Likewise.
2779         * sbitmap.h: Likewise.
2780         * scan.c: Likewise.
2781         * sched-deps.c: Likewise.
2782         * sched-vis.c: Likewise.
2783         * sdbout.c: Likewise.
2784         * sibcall.c: Likewise.
2785         * ssa.c: Likewise.
2786         * ssa-ccp.c: Likewise.
2787         * ssa-dce.c: Likewise.
2788         * stmt.c: Likewise.
2789         * stor-layout.c: Likewise.
2790         * system.h: Likewise.
2791
2792 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2793
2794         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
2795         if fits in bounds of base type.
2796
2797         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
2798         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
2799         (add_bound_info, default): If can't find a context, make a
2800         SAVE_EXPR.
2801         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
2802
2803 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
2804
2805         * c-typeck.c (parser_build_binary_op): If result from
2806         build_binary_op is ERROR_MARK just return error_mark_node without
2807         further processing.
2808
2809 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
2810
2811         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
2812         Split a.out-specific bits into...
2813         * config/netbsd-aout.h: ...this.
2814         * config/netbsd-elf.h: New file.
2815         * config/alpha/netbsd-elf.h: Remove.
2816         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
2817         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
2818         (STARTFILE_SPEC): Remove redundant definition.
2819         (ENDFILE_SPEC): Likewise.
2820         (LINK_SPEC): Likewise.
2821         (CPP_SPEC): Likewise.
2822         (ASM_SPEC): Likewise.
2823         (LIB_SPEC): Likewise.
2824         (SWITCH_TAKES_ARG): Likewise.
2825         (TARGET_MEM_FUNCTIONS): Likewise.
2826         (CPP_PREDEFINES): Redefine.
2827         (ASM_FINAL_SPEC): Remove redefinition.
2828         (ASM_COMMENT_START): Redefine.
2829         (FUNCTION_PROFILER): Define.
2830         (TARGET_VERSION): Redefine.
2831         Comment and formatting cleanup.
2832         * config/i386/netbsd.h: Include <netbsd-aout.h>.
2833         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
2834         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
2835         big- or little-endian.
2836         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
2837         * config.gcc (*-*-netbsd*): Add definitions common to all
2838         NetBSD configs.
2839         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
2840         gnu_ld definitions.  Add netbsd-elf.h to and remove
2841         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
2842         tmake_file, and don't lose previous tmake_file contents.
2843         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
2844         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
2845         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
2846         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
2847         (mipsel-*-netbsd*): Rename this to...
2848         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
2849         mips/little.h to tm_file for mips*el-*.
2850         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
2851         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
2852         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
2853
2854 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2855
2856         * pa-protos.h (reg_before_reload_operand): New function prototype.
2857         * pa.c (reg_before_reload_operand): New function implementation.
2858         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
2859         contraints to "*m".
2860
2861 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2862
2863         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
2864
2865 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2866
2867         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
2868         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
2869         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
2870         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
2871         (ENDFILE_SPEC): Undefine.
2872         (STARTFILE_SPEC): Redefine for PA.
2873
2874 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2875
2876         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
2877
2878 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
2879
2880         * config.gcc: Add entries to supported PowerPC --with-cpu
2881         types.
2882
2883 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
2884
2885         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
2886         true for 64-bit mode only SSE registers in 32-bit mode.
2887
2888 2002-01-21  Kazu Hirata  <kazu@hxi.com>
2889
2890         * unwind-dw2.c: Fix formatting.
2891         * unwind-dw2-fde.c: Likewise.
2892         * unwind-dw2-fde.h: Likewise.
2893         * unwind-pe.h: Likewise.
2894         * varasm.c: Likewise.
2895         * varray.h: Likewise.
2896
2897 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
2898
2899         Remove workaround for register stack overwrite bug in mmix.
2900         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
2901         support for TARGET_REG_STACK_FILL_BUG.
2902         * config/mmix/mmix.h: Remove member has_call_without_parameters.
2903         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
2904         Delete.
2905         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
2906         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
2907         -mno-reg-stack-fill-bug-workaround.
2908         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
2909         machine member has_call_without_parameters.
2910         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
2911         -mreg-stack-fill-bug-workaround and
2912         -mno-reg-stack-fill-bug-workaround.
2913         (MMIX Options): Ditto.
2914
2915 2002-01-21  Kazu Hirata  <kazu@hxi.com>
2916
2917         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
2918         as appropriate.
2919         Remove redundant code.
2920
2921 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2922
2923         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
2924         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2925         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
2926         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
2927         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
2928         out target macro definitions and non-target-specific comments
2929         mostly taken from old versions of the manual.
2930
2931 2002-01-20  Kazu Hirata  <kazu@hxi.com>
2932
2933         * config/h8300/h8300.h: Fix comment formatting.
2934         * config/ia64/aix.h: Likewise.
2935         * config/ia64/ia64-protos.h: Likewise.
2936         * config/ia64/ia64.c: Likewise.
2937         * config/ia64/ia64.h: Likewise.
2938         * config/ia64/ia64intrin.h: Likewise.
2939         * config/ia64/linux.h: Likewise.
2940         * config/ia64/unwind-aix.c: Likewise.
2941         * config/ia64/unwind-ia64.c: Likewise.
2942
2943 2002-01-20  Kazu Hirata  <kazu@hxi.com>
2944
2945         * config/h8300/h8300.c: Revise comments about shift code.
2946
2947 2002-01-20  Kazu Hirata  <kazu@hxi.com>
2948
2949         * config/h8300/h8300.c (function_arg): Update a comment.
2950
2951 2002-01-20  Kazu Hirata  <kazu@hxi.com>
2952
2953         * config/h8300/h8300.md: Update the comments at the beginning
2954         of the file.
2955
2956 2002-01-20  Kazu Hirata  <kazu@hxi.com>
2957
2958         * config/i370/i370.c: Fix comment formatting.
2959         * config/i370/i370.h: Likewise.
2960         * config/i370/i370.md: Likewise.
2961         * config/i370/linux.h: Likewise.
2962
2963 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2964
2965         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
2966
2967         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
2968         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
2969         in incomplete case.
2970
2971 2002-01-20  Graham Stott  <grahams@redhat.com>
2972
2973         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
2974
2975 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2976
2977         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
2978
2979 2002-01-19  Tom Rix  <trix@redhat.com>
2980
2981         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
2982
2983 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
2984
2985         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
2986
2987         * function.c (assign_stack_local_1): Adjust x_frame_offset with
2988         STARTING_FRAME_PHASE.
2989         (STARTING_FRAME_PHASE): New.
2990         (instantiate_virtual_regs): Check saneness of
2991         STARTING_FRAME_PHASE.
2992
2993         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
2994
2995 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
2996
2997         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
2998
2999 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3000
3001         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
3002         be used for bootstrapping GCC 3.0.
3003
3004 2002-01-18  Kazu Hirata  <kazu@hxi.com>
3005
3006         * config/h8300/h8300.md: Fix an insn length.
3007
3008 2002-01-18  Kazu Hirata  <kazu@hxi.com>
3009
3010         * bitmap.h: Fix comment formatting.
3011         * combine.c: Likewise.
3012         * cppfiles.c: Likewise.
3013         * c-pragma.h: Likewise.
3014         * c-typeck.c: Likewise.
3015         * df.c: Likewise.
3016         * dwarf2out.c: Likewise.
3017         * function.c: Likewise.
3018         * gcc.c: Likewise.
3019         * genattrtab.c: Likewise.
3020         * gthr-win32.h: Likewise.
3021         * haifa-sched.c: Likewise.
3022         * predict.c: Likewise.
3023         * rtlanal.c: Likewise.
3024         * rtl.h: Likewise.
3025         * unwind-dw2-fde.h: Likewise.
3026         * unwind-pe.h: Likewise.
3027         * vmsdbgout.c: Likewise.
3028
3029 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3030
3031         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
3032         if type_required and passed decl.
3033
3034 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
3035
3036         * config.gcc (cpu_type): Include altivec.h in powerpc
3037         extra_headers.
3038         Same for darwin.
3039
3040         * config/rs6000/altivec.h: New.
3041
3042 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
3043
3044         * doc/install.texi (*-ibm-aix*): Update assembler and exception
3045         handling information.
3046         * doc/trouble.texi (Interoperation): Add libstdc++ information
3047         for AIX.
3048         (Misunderstandings): Add template instantiation and static template
3049         member information for AIX.
3050
3051 2002-01-17  Jason Merrill  <jason@redhat.com>
3052
3053         * dbxout.c (dbxout_type): Support const and volatile.
3054
3055         * except.c (add_partial_entry): Remove backwards compatibility code.
3056         (end_protect_partials): Likewise.
3057
3058 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
3059
3060         * config/ia64/ia64.md (prologue_use): New.
3061         * config/ia64/ia64.c (ia64_expand_prologue): Use
3062         gen_prologue_use instead of gen_rtx_USE.
3063         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
3064         as CODE_FOR_pred_rel_mutex.
3065         (ia64_sched_reorder2): Likewise.
3066
3067 2002-01-16  Eric Christopher  <echristo@redhat.com>
3068
3069         * config/mips/r3900.h: Reformat.
3070         (SUBTARGET_CPP_SIZE_SPEC): Remove.
3071         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
3072         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
3073         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
3074         * config/mips/t-elf: Remove mips3 multilib.
3075
3076 2002-01-16  H.J. Lu <hjl@gnu.org>
3077
3078         * config/mips/linux.h: Include "mips/abi64.h".
3079
3080 2002-01-16  H.J. Lu <hjl@gnu.org>
3081
3082         * config/mips/t-linux: New.
3083
3084         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
3085
3086         * config/mips/linux.h: Don't include "gofast.h".
3087         (INIT_SUBTARGET_OPTABS): Removed.
3088
3089 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3090
3091         * config/h8300/h8300-protos.h: Replace emit_a_shift with
3092         output_a_shift.
3093         * config/h8300/h8300.c: Likewise.
3094         * config/h8300/h8300.md: Likewise.
3095
3096 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3097
3098         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
3099         spaces after an opcode name.
3100         (pushqi1_h8300hs): Likewise.
3101         (pushhi1_h8300hs): Likewise.
3102
3103 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3104
3105         * doc/extend.texi: Replace "option" with "attribute"
3106         appropriately.
3107
3108 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3109
3110         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
3111         (and:DI () (const_int -8)).
3112         (split_small_symbolic_mem_operand): Split
3113         (mem (and:DI () (const_int -8)).
3114
3115 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3116
3117         PR target/5309:
3118         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
3119         same way as TYPE_IMUL.
3120         (ultrasparc_sched_reorder): Likewise.
3121         * config/sparc/sparc.md (type): Add comment to update
3122         ultrasparc_sched_reorder when making changes.
3123
3124 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3125
3126         * doc/invoke.texi: Change the dump file name of block
3127         reordering pass from 28.bbro to 29.bbro.
3128         Mention -dk option.
3129
3130 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
3131
3132         * i386.md (minsf splitter): Fix pasto.
3133
3134 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
3135
3136         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
3137         to frame pointer initialisation instruction.
3138         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
3139         initialisation instruction.
3140         (soft_df_operand): Do not accept the IP register.
3141         (nonimmediate_soft_df_operand): Do not accept the IP register.
3142
3143 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3144
3145         PR target/5357:
3146         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
3147         MASK_V8 being both set.
3148
3149 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
3150
3151         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
3152         insn for GOT register; add REG_MAYBE_DEAD notes instead.
3153         config/s390/s390.md (call, call_value): Add GOT register to
3154         CALL_INSN_FUNCTION_USAGE where needed.
3155         (call_exp, call_value_exp): New.
3156
3157 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
3158
3159         * config/arm/arm.c: General formatting tidy up.
3160
3161 2002-01-16  Graham Stott  <grahams@redhat.com>
3162
3163         * calls.c (try_to_integrate): Use "(size_t)" intermediate
3164         cast and when casting an integer literal to "rtx" pointer.
3165         (expand_call): Likewise.
3166         * flow.c (try_pre_increment): Likewise.
3167         (find_use_as_address): Likewise.
3168         * integrate.c (expand_iline_function): Likewise.
3169         * regmove.c (try_auto_increment): Likewise.
3170
3171 2002-01-16  Graham Stott  <grahams@redhat.com>
3172
3173         * sched-rgn.c (passed): Use sbitmap_free.
3174         (header): Likewise.
3175         (inner): Likewise.
3176         (in_queue): Likewise.
3177         (in_stack): Likewise.
3178
3179 2002-01-15  Eric Christopher  <echristo@redhat.com>
3180
3181         * flow.c (propagate_one_insn): Change to use fatal_insn.
3182
3183 2002-01-15  Kazu Hirata  <kazu@hxi.com>
3184
3185         * expmed.c (extract_fixed_bit_field): Remove unused code.
3186         * system.h: Poison SLOW_ZERO_EXTEND.
3187         * doc/tm.texi: Remove.
3188         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
3189         * config/arm/arm.h: Likewise.
3190         * config/avr/avr.h: Likewise.
3191         * config/clipper/clipper.h: Likewise.
3192         * config/convex/convex.h: Likewise.
3193         * config/d30v/d30v.h: Likewise.
3194         * config/dsp16xx/dsp16xx.h: Likewise.
3195         * config/elxsi/elxsi.h: Likewise.
3196         * config/fr30/fr30.h: Likewise.
3197         * config/h8300/h8300.h: Likewise.
3198         * config/i370/i370.h: Likewise.
3199         * config/i386/i386.h: Likewise.
3200         * config/m68k/m68k.h: Likewise.
3201         * config/mips/mips.h: Likewise.
3202         * config/ns32k/ns32k.h: Likewise.
3203         * config/pdp11/pdp11.h: Likewise.
3204         * config/pj/pj.h: Likewise.
3205         * config/s390/s390.h: Likewise.
3206         * config/sh/sh.h: Likewise.
3207         * config/stormy16/stormy16.h: Likewise.
3208         * config/v850/v850.h: Likewise.
3209         * config/vax/vax.h: Likewise.
3210         * config/we32k/we32k.h: Likewise.
3211
3212 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
3213
3214         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
3215         (altivec_lvsl): Change constraint to b.
3216         (altivec_lvsr): Same.
3217         (altivec_lvebx): Same.
3218         (altivec_lvehx): Same.
3219         (altivec_lvewx): Same.
3220         (altivec_lvxl): Same.
3221         (altivec_lvx): Same.
3222         (altivec_stvx): Add parallel.
3223         (altivec_stvxl): Same.
3224         (altivec_stvehx): Same.
3225         (altivec_stvebx): Same.
3226         (altivec_stvebx): Same.
3227
3228 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
3229
3230         * config.gcc: Change altivec.h to altivec-defs.h.
3231
3232         * config/rs6000/altivec.h: Delete.
3233
3234         * config/rs6000/altivec-defs.h: Add.
3235
3236 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3237
3238         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
3239         and UMOD modes.
3240
3241         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
3242         less than or equal to eight bytes.
3243
3244         * vax.md (andsi3): Remove constraints and change SET destination
3245         operand type to nonimmediate_operand.
3246         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
3247         when it is a CONST_INT.
3248
3249 2002-01-15  Jason Merrill  <jason@redhat.com>
3250
3251         * c-common.def (FILE_STMT): New code.
3252         * c-common.c (statement_code_p): It's a statement.
3253         * c-common.h (stmt_tree_s): Add x_last_filename.
3254         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
3255         (last_expr_filename): New macro.
3256         * c-semantics.c (begin_stmt_tree): Initialize it.
3257         (add_stmt): If the filename changed, also insert a
3258         FILE_STMT.
3259         (expand_stmt): Handle seeing one.
3260
3261 2002-01-15  Eric Christopher  <echristo@redhat.com>
3262
3263         * flow.c (propagate_one_insn): Add error message and print out
3264         insn for debugging.
3265
3266 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
3267
3268         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
3269         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
3270         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
3271         TRAMPOLINE_ALIGNMENT.
3272         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
3273         to be in bits.
3274         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
3275         PCC_BITFIELD_TYPE_MATTERS.
3276         * config/interix.h (STDC_VALUE): Remove.  Use
3277         STDC_0_IN_SYSTEM_HEADERS.
3278         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
3279         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
3280         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
3281
3282 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3283
3284         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
3285         not work on this platform currently.
3286
3287 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
3288
3289         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
3290         readonly_warning in _().
3291
3292 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
3293
3294         * gcc.c (delete_if_ordinary): Backout previous change.
3295
3296 2002-01-15  Kazu Hirata  <kazu@hxi.com>
3297
3298         * config/h8300/h8300.c (print_operand): Remove support for
3299         unused operand characters.
3300
3301         * read-rtl.c: Fix formatting.
3302         * real.c: Likewise.
3303         * recog.c: Likewise.
3304         * regclass.c: Likewise.
3305         * regmove.c: Likewise.
3306         * reg-stack.c: Likewise.
3307         * reload1.c: Likewise.
3308         * rtlanal.c: Likewise.
3309
3310 2002-01-15  Kazu Hirata  <kazu@hxi.com>
3311
3312         * config/i386/i386.c: Fix formatting.
3313
3314 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
3315
3316         * c-typeck.c (process_init_element): Don't save_expr
3317         COMPOUND_LITERAL_EXPR if just its initializer will be used.
3318
3319 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
3320
3321         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
3322         emit optional traceback table if optimize_size or TARGET_ELF.
3323         * config/rs6000/rs6000.md (prefetch): New.
3324
3325 2002-01-15  Andreas Jaeger  <aj@suse.de>
3326
3327         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
3328
3329 2002-01-15  Kazu Hirata  <kazu@hxi.com>
3330
3331         * mips-tfile.c: Fix formatting.
3332
3333 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
3334
3335         * unroll.c (final_reg_note_copy): Fix previous commit.
3336
3337 2002-01-14  Kazu Hirata  <kazu@hxi.com>
3338
3339         * config/h8300/h8300-protos.h: Remove the prototype for
3340         eq_operator.
3341         * config/h8300/h8300.c (eq_operator): Remove.
3342
3343 2002-01-14  Richard Henderson  <rth@redhat.com>
3344
3345         * config/i386/i386.md (prefetch): Tidy.
3346         (prefetch_3dnow): Fix locality operand.
3347
3348 2002-01-14  Richard Henderson  <rth@redhat.com>
3349
3350         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
3351         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
3352
3353 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
3354
3355         * reload1.c (reload_combine): Pass reg_sum replacement through
3356         copy_rtx in loop performing multiple changes.
3357
3358 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
3359
3360         * except.c (remove_unreachable_regions): New.
3361         (free_eh_status): Clear exception_handler_labels.
3362         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
3363         (find_exception_handler_labels): Don't add the same label more than
3364         once.
3365         (remove_exception_handler_label): Don't die if
3366         find_exception_handler_labels hasn't been called for the current
3367         function yet.
3368
3369 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3370
3371         * toplev.c (rest_of_compilation): Rebuild jump labels after
3372         gcse.
3373
3374 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3375
3376         * doc/extend.texi: Move documentation of X86 built-in functions
3377         here.
3378         * doc/invoke.texi: From here.
3379         * doc/sourcebuild.texi: Document location of documentation for
3380         machine built-in functions.
3381
3382 2002-01-13  Christopher Faylor  <cgf@redhat.com>
3383
3384         * cppfiles.c (TEST_THRESHOLD): New macro.
3385         (SHOULD_MMAP): Ditto.
3386         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
3387         be used.
3388
3389 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
3390
3391         * unroll.c (final_reg_note_copy): Properly handle
3392         REG_LABEL
3393         (unroll_loops): Fix LOOP_CONDITION heuristics.
3394
3395 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
3396
3397         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
3398         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
3399
3400 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3401
3402         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
3403         threaded loop.
3404
3405 2002-01-14  Tom Rix  <trix@redhat.com>
3406
3407         * config/rs6000/rs6000.md: Fix typo with sradi.
3408
3409 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
3410
3411         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
3412         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
3413         (clrstrdi, clrstrsi): Adapt callers.
3414
3415         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
3416
3417         (movti splitter): Never use register 0 as base register.
3418
3419 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
3420
3421         * combine.c (simplify_shift_const): Always generate new rtx
3422         for shift expression instead of reusing given expression.
3423
3424 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3425
3426         * config/alpha/alpha.c (alpha_expand_mov): Don't call
3427         alpha_legitimize_address unless mode is Pmode.
3428
3429 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
3430
3431         * doc/md.texi (Modifiers): Document the '*' constraint for the
3432         user.
3433
3434         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
3435         * doc/extend.texi (Function Attributes): 'interrupt' is valid
3436         for xstormy16 too.
3437
3438 2002-01-13  Richard Henderson  <rth@redhat.com>
3439
3440         * reload.c (find_reloads): Use a hard reg destination as reload reg
3441         for an input reload of the source.
3442
3443 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3444
3445         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
3446         more generic.
3447
3448 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
3449
3450         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.