OSDN Git Service

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