OSDN Git Service

a94df384d1ac8e4338d7d06b875745b08c2f24b0
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2
3         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
4         (EXTRA_CONSTRAINT): Use it.
5         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6
7 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
8
9         * config.gcc (need_64bit_hwint): New variable.
10         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
11         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
12         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
13         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
14         Set it.
15         (powerpc*-*-darwin*): Unset it.
16         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
17         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
18         deleted/nonexistent xm-*.h headers.
19         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
20         target set need_64bit_hwint in config.gcc.
21         * configure, config.in: Regenerate.
22
23         * hwint.h: Overhaul.  Don't bother trying int for
24         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
25         decision to force 64-bit HOST_WIDE_INT on
26         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
27         not visible at this point.  Don't allow prior definition of
28         any macro defined by this file.
29
30         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
31         HOST_BITS_PER_WIDE_INT.
32         * config/c4x/c4x.h: Adjust redefinition of
33         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
34         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
35         config/i386/xm-i386-interix.h: Delete file.
36
37 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
38             John David Anglin  <dave@hiauly1.hia.nrc.ca>
39
40         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
41         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
42
43 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
44
45         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
46
47 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
48
49         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
50         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
51         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
52         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
53         config/v850/t-v850:  Correct dependencies and normalize
54         compilation commands for files that include coretypes.h and tm.h.
55
56         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
57         not config.h and system.h.
58
59 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
60
61         * i386.c (flags_reg_operand):  New function.
62         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
63         * i386.md (cmov splitter, movqicc): Use new predicate.
64
65 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
66
67         * i386.md (movqicc splitter): Fix template.
68
69 2002-12-13  Jason Merrill  <jason@redhat.com>
70
71         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
72         * calls.c (expand_call): Handle it.
73         * tree-inline.c (struct inline_data): Remove target_exprs field.
74         (optimize_inline_calls): Don't initialize it.
75         (expand_call_inline): Don't modify it.  Handle
76         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
77         (declare_return_variable): Take return slot addr.
78         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
79         to return_slot_addr.
80         * langhooks-def.h, langhooks.c: Adjust.
81         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
82         a decl with no DECL_INITIAL.
83
84         * expr.c (expand_expr): Don't discard the target of a call which
85         returns in memory.
86
87 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
88
89         * cppinit.c (path_include): Take an environment variable name.
90         Tidy up.
91         (init_standard_includes): Simplify environment handling, and
92         move to ...
93         (cpp_read_main_file): ...here as -nostdinc should not affect
94         environment variable paths.
95
96 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
97
98         * pa.c (output_millicode_call): Correct typo.
99         (output_call): Likewise.
100
101 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
102
103         * config/mn10300/mn10300.c (print_operand) <case N>: Check
104         operand's range.  Print value directly, without aid from
105         output_address.
106         <case U>: New.
107         <case S>: Make sure argument to fprintf has the right type.
108         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
109         (EXTRA_CONSTRAINT): Adjust.
110         * config/mn10300/mn10300.md: Add new all-QImode pattern for
111         bclr.  Use %U for immediate operands of bset and bclr.
112         (iorqi3): New expand, with insns for AM33 and mn10300.
113
114 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
115
116         * sh.c (sh_register_operand): New function.
117         (prepare_move_operands): Use it.
118         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
119         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
120         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
121         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
122         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
123         (movv2si_i): Likewise.
124
125 2002-12-13  Jim Wilson  <wilson@redhat.com>
126
127         * doc/extend.texi (Complex Numbers): Update info on debug info.
128
129 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
130
131         * config/h8300/h8300.md (addhi3_h8300): Remove the last
132         alternative.
133
134 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
135
136         * hooks.h (hook_tree_tree_bool_false): Declare
137         hook_bool_tree_tree_false instead.
138
139 2002-12-12  Devang Patel  <dpatel@apple.com>
140
141         * doc/invoke.texi: Document Darwin linker options, -bundle
142         -bind_at_load, -all_load and -arch_errors_fatal
143
144 2002-12-12  Jim Wilson  <wilson@redhat.com>
145
146         * dbxout.c (dbxout_fptype_value): New.
147         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
148
149 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
150
151         * c-decl.c: Fix a comment typo.
152         * cfg.c: Likewise.
153         * cfgcleanup.c: Likewise.
154         * cfglayout.c: Likewise.
155         * cfgrtl.c: Likewise.
156         * c-typeck.c: Likewise.
157         * dominance.c: Likewise.
158         * dwarf2asm.c: Likewise.
159         * dwarfout.c: Likewise.
160         * expmed.c: Likewise.
161         * expr.c: Likewise.
162         * final.c: Likewise.
163         * flow.c: Likewise.
164         * function.c: Likewise.
165         * gcc.c: Likewise.
166         * genautomata.c: Likewise.
167         * integrate.c: Likewise.
168         * loop.c: Likewise.
169         * loop.h: Likewise.
170         * output.h: Likewise.
171         * profile.c: Likewise.
172         * ra.h: Likewise.
173         * reload1.c: Likewise.
174         * reload.c: Likewise.
175         * sched-rgn.c: Likewise.
176         * stmt.c: Likewise.
177         * tree.h: Likewise.
178         * vmsdbgout.c: Likewise.
179
180 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
181
182         * config/h8300/h8300.md: Add a new peephole2.
183
184 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
185
186         * config/h8300/h8300.md (a peephole2): Accept a constant
187         that's accepted by CONST_OK_FOR_J.
188
189 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
190
191         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
192         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
193         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
194         (*addhi_h8300hs): Likewise.
195
196 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
197
198         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
199         (sh_register_move_cost): Add clause for SImode fp-fp moves.
200         Increase cost for moves involving multiple general purpose registers.
201         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
202         TARGET_FMOVD.
203         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
204         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
205         (enum reg_class reg_class_from_letter): No longer const.
206         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
207         REGCLASS_HAS_GENERAL_REG.
208         Handle SImode moves from/to fp registers.
209         ! TARGET_SHMEDIA && TARGET_FMOVD.
210         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
211         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
212
213 2002-12-12  Andreas Schwab  <schwab@suse.de>
214
215         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
216         change and some warnings.
217
218 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
219
220         * doc/md.texi (pushm): Fix a typo.
221
222 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
223
224         * config/mips/mips.c (mips_output_conditional_branch): Support
225         PIC-safe out-of-range branch and branch-likely.
226         * config/mips/mips.md (attr length): PIC-safe out-of-range
227         branches are longer.
228         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
229         unused code to support indirect jumps.
230
231 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
232
233         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
234         $(tm_file_list).
235
236 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
237
238         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
239
240 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
241
242         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
243
244 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
245
246         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
247         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
248         BIGGEST_ALIGNMENT.
249         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
250         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
251
252 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
253
254         * doc/invoke.texi: Correct dump file names.
255
256 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
257
258         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
259         name to globalize_label or assemble_name.
260
261 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
262
263         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
264         if not TARGET_SHMEDIA.
265
266 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
267
268         * sh.h (REG_CLASS_HAS_FP_REG): New.
269         (REGISTER_MOVE_COST) Use it.  Put body into a function and
270         move it into:
271         * sh.c (sh_register_move_cost).
272         * sh-protos.h (sh_register_move_cost): Declare.
273
274         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
275         (sh_adjust_cost): Always return a value.
276
277 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
278
279         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
280         (REGISTER_MOVE_COST): Use it.
281
282 2002-12-11  Richard Henderson  <rth@redhat.com>
283
284         * tree.h (MODULE_LOCAL_P): Kill.
285         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
286
287 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
288
289         * config/h8300/h8300.md (two define_peephole2): New.
290
291 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
292
293         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
294         (CONST_OK_FOR_K): Likewise.
295         (CONST_OK_FOR_M): Likewise.
296         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
297
298 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
299
300         * c-common.c (builtin_define_type_max): Handle unsigned
301         types too.
302
303 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
304
305         * haifa-sched.c (rank_for_schedule): Correct style.
306
307 2002-12-10  Per Bothner  <pbothner@apple.com>
308
309         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
310         directive_index into an unsigned field and a new is_directive field.
311         * cppinit.c (mark_named_operators):  Update to set new fields.
312         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
313         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
314         No longer need to subtract 1 from directive_index.
315         (_cpp_init_directives):  No longer need to add 1 to directive_index.
316         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
317
318 2002-12-10  Roger Sayle  <roger@eyesopen.com>
319
320         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
321         check for evaluating sqrt of a constant at compile time.
322         * simplify-rtx.c (simplify_unary_operation): Likewise.
323
324 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
325
326         PR other/8882
327         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
328
329 2002-12-10  Devang Patel  <dpatel@appple.com>
330
331         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
332         * doc/invoke.texi: Add new "Darwin Options" section.
333
334 2002-12-10  Jim Wilson  <wilson@redhat.com>
335
336         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
337         memory.
338
339 2002-12-10  Andrew Haley  <aph@redhat.com>
340
341         * cse.c (cse_insn): Don't cse past a basic block boundary.
342
343 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
344
345         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
346         -shared.
347         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
348         * config/alpha/linux.h (LIB_SPEC): Likewise.
349         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
350         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
351         * config/sparc/linux.h (LIB_SPEC): Likewise.
352         * config/sparc/linux64.h (LIB_SPEC): Likewise.
353
354 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
355
356         * doc/invoke.texi: Document UltraSparc III option.
357
358 2002-12-09  Richard Henderson  <rth@redhat.com>
359
360         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
361         __tune_pentium2__ and __tune_pentium3__ as necessary.
362
363 2002-12-09  Richard Henderson  <rth@redhat.com>
364
365         * target.h (gcc_target): Add cannot_force_const_mem.
366         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
367         (TARGET_INITIALIZER): Add it.
368         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
369         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
370         * reload1.c (reload): Likewise.
371         * hooks.c (hook_bool_rtx_false): New.
372         * hooks.h: Declare it.
373
374         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
375         (TARGET_CANNOT_FORCE_CONST_MEM): New.
376         (ix86_expand_move): Remove de-const-pooling hack.
377
378 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
379
380         * toplev.c (dump_file): Fix order to match reality.
381
382 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
383
384         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
385         (store_multiple): Likewise.
386
387 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
388
389         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
390         function pointers in page 0.
391
392 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
393
394         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
395         definition
396         (MEMBER_TYPE_FORCES_BLK): Move.
397         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
398         aggregate arguments.
399         (ia64_function_value): Use PARALLEL to return aggregate values.
400
401 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
402
403         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
404         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
405         * calls.c (store_unaligned_arguments_into_pseudos) Remove
406         FUNCTION_ARG_REG_LITTLE_ENDIAN.
407         * stmt.c (expand_return): Ditto.
408         * expr.c (move_block_from_reg): Ditto.
409         (copy_blkmode_from_reg): Ditto.
410         * expmed.c (store_bit_field): Ditto.
411
412 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
413
414         * config.gcc: Added tic4x-* target as an alias to c4x-*
415
416 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
417
418         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
419         constructing insn directly.
420
421 2002-12-06  Per Bothner  <pbothner@apple.com>
422
423         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
424         char to an int bit-field, for hosts where char is unsigned.
425
426 2002-12-07  Roger Sayle  <roger@eyesopen.com>
427             Richard Henderson <rth@redhat.com>
428
429         * real.c (ieee_extended_motorola_format,
430         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
431         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
432         Provide appropriate values for new signbit field.
433
434 2002-12-07  Roger Sayle  <roger@eyesopen.com>
435
436         * real.h (real_format): Add signbit field.
437         * real.c (ieee_single_format, ieee_double_format,
438         ieee_extended_motorola_format, ieee_extended_intel_96_format,
439         ieee_extended_intel_128_format, ibm_extended_format,
440         ieee_quad_format, vax_f_format, vax_d_format,
441         vax_g_format, i370_single_format, i370_double_format,
442         c4x_single_format, c4x_extended_format, real_internal_format):
443         Provide suitable signbit value, or -1 to avoid bit twiddling.
444
445         * optabs.c (expand_unop): Try implementing negation of
446         floating point modes by flipping the sign bit.
447         (expand_abs): Try implementing abs of floating point modes
448         by clearing the sign bit.
449
450 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
451
452         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
453         of constructing insn directly.
454
455 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
456
457         * config/h8300/h8300.md (*iorhi_shift_8): New.
458
459 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
460
461         * doc/invoke.texi: Document FRV port options.
462         * doc/md.texi: Document FRV register classes.
463
464 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
465
466         * doc/install.texi (Configuration): Improve description of cases
467         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
468
469 2002-12-06  Per Bothner  <pbothner@apple.com>
470
471         * cpplib.h (NODE_MACRO_ARG):  New flag.
472         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
473         Remove value.operator field.  Move arg_index field to value union.
474         (directive_index):  Make signed, since also used for C++ operators.
475         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
476         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
477         Save node->value, and set node->value.arg_index.
478         (_cpp_create_definition):  For each paramater, restore node->value.
479         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
480         * cpptrad.c (scan_out_logical_line): Likewise.
481         (scan_out_logical_line): Check for directive > 0.
482         * cpplib.c (cpp_handle_directive):  Likewise.
483         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
484         by negative of directive_index.
485         * cppinit.c (mark_named_operators):  Likewise.
486
487         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
488
489 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
490
491         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
492         FPU.
493         (push): Generate push_fpscr.
494         (pop): Generate pop_fpscr.
495         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
496         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
497
498 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
499
500         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
501         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
502
503 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
504
505         * sh.md (movdi_i): Name.  Remove inappropriate comment.
506
507 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
508         Merged from basic improvements branch (excerpt):
509
510         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
511         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
512
513 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
514
515         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
516
517 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
518
519         * i386.md (dimode peep2s): Re-add "&& 1".
520
521 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
522
523         * i386.c (ix86_expand_prologue):  Add comment, do not use
524         fast prologues for cold and normal functions.
525
526 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
527
528         * i386.c (x86_rep_movl_optimal): New variable.
529         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
530         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
531
532         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
533         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
534         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
535         generate unnecesary subregs.
536
537 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
538
539         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
540         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
541
542 2002-12-05  Dale Johannesen  <dalej@apple.com>
543
544         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
545
546 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
547
548         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
549         PROFILE_HOOK.
550         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
551
552 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
553
554         * config/rs6000/spe.h (__ev_mwlufi): Remove.
555         (__ev_mwlufia): Remove.
556         (__ev_mwlumfaaw): Remove.
557         (__ev_mwlusfaaw): Remove.
558         (__ev_mwlumfanw): Remove.
559         (__ev_mwlusfanw): Remove.
560
561 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
562
563         * config/h8300/h8300.md (*andorsi3_shift_8): New.
564
565 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
566
567         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
568         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
569         (get_shift_alg): Return optimal assembly instructions for the
570         shifts mentioned above.
571
572 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
573
574         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
575         condtiional moves.
576
577 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
578
579         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
580         implement ashiftrt:HI by 13 bits on H8S.
581
582 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
583
584         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
585         * pa.md (canonicalize_funcptr_for_compare): Output library call to
586         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
587         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
588         CTOR_LIST_BEGIN): New defines.
589         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
590         (fptr.c): Add make rules.
591
592 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
593
594         * combine.c (combine_simplify_rtx): Add new canonicalizations.
595         * doc/md.texi (Insn Canonicalizations): Document new
596         canonicalizations for multiply/add combinations.
597         * config/rs6000/rs6000.md: Add and modify floating add/multiply
598         patterns to ensure they're used whenever they can be.
599
600 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
601
602         * config/h8300/h8300.c: Update the comments related to shifts.
603
604 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
605
606         * config/mips/mips.md (get_fnaddr): Correct length attribute.
607
608 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
609
610         * config/h8300/h8300.md (*extzv_8_8): New.
611         (*extzv_8_16): Likewise.
612
613 2002-12-04  Jason Merrill  <jason@redhat.com>
614
615         PR c++/8461, c++/8625
616         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
617         references.
618         * tree-inline.c (initialize_inlined_parameters): Likewise.
619
620         * tree.c (variably_modified_type_p): Just return an error_mark_node.
621
622 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
623
624         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
625         macro instruction in a branch delay slot, to avoid assembler
626         warnings.
627
628 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
629
630         PR c/7622
631         * c-semantics (genrtl_scope_stmt): Do not output inlined
632         nested functions that contain no code.
633
634 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
635
636         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
637         to be forced into nonfallthru.
638
639 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
640
641         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
642
643 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
644
645         * config/rs6000/spe.md (*movv1di_const0): New pattern.
646
647 2002-12-03  Richard Henderson  <rth@redhat.com>
648
649         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
650
651 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
652
653         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
654         Initialize tmp.using_obstack to 0.
655
656 2002-12-03  Andreas Schwab  <schwab@suse.de>
657
658         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
659         (EH_RETURN_STACKADJ_RTX): Define.
660         (EH_RETURN_HANDLER_RTX): Define.
661         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
662         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
663         registers and don't save fixed registers.
664         (m68k_output_function_prologue): Use it.
665         (use_return_insn): Likewise.
666         (m68k_output_function_epilogue): Likewise.
667
668 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
669
670         * config/h8300/h8300.c (single_one_operand): Fix a warning.
671         (single_zero_operand): Likewise.
672
673 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
674
675         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
676         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
677         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
678         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
679         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
680         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
681         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
682         doc/install-old.texi: Replace hconfig.h with bconfig.h.
683         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
684
685 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
686
687         * config/rs6000/rs6000.md (ffssi): Convert to expander.
688         (ffsdi): Likewise.
689         (cntlzw2, cntlzd2): New patterns.
690
691 2002-12-02  H.J. Lu <hjl@gnu.org>
692
693         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
694         (mips*-*-linux*): Remove mips/t-linux.
695
696 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
697
698         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
699
700 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
701
702         * config/h8300/h8300.c (dosize): Replace argument op with
703         sign.
704         (h8300_output_function_prologue): Update the call to dosize.
705         (h8300_output_function_epilogue): Likewise.
706
707 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
708
709         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
710
711 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
712
713         * configure.in: Use "missing" script to generate warning if
714         flex or bison programs not found, instead of invoking "false".
715         * configure: Rebuilt.
716
717 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
718
719         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
720
721 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
722
723         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
724
725 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
726
727         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
728         (push): Likewise.
729         (pop): Likewise.
730         (h8300_output_function_prologue): Likewise.
731         (h8300_output_function_epilogue): Likewise.
732
733 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
734
735         * expmed.c (store_bit_field): Use int_mode_for_mode to find
736         corresponding mode of non-integer mode, unless it is VOIDmode.
737
738 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
739
740         * config/h8300/h8300.md (stm_h8300s_2): New.
741         (stm_h8300s_3): Likewise.
742         (stm_h8300s_4): Likewise.
743         (five define_peephole2): Likewise.
744
745 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
746
747         * ra-build.c: Fix a comment typo.
748
749 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
750
751         * i386.c (ix86_expand_int_movcc): fix
752         reversed BRANCH_COST test; be curefull about infinite recursion.
753
754 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
755
756         * config/h8300/h8300.c (h8300_output_function_prologue):
757         Remove variable idx.
758         (h8300_output_function_epilogue): Likewise.
759
760 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
761
762         * config/frv/xm-frv.h: Delete, unnecessary.
763
764 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
765
766         * config/h8300/h8300.md: Add comments for define_peephole2.
767
768 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
769
770         * builtin-types.def (BT_SIZE): Use size_type_node.
771         * builtins.c (fold_builtin): Make the builtin strlen returns a
772         size_t, not a sizetype.
773         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
774         c_size_type_node.
775         (c_alignof_expr): Likewise.
776         (c_common_nodes_and_builtins): Likewise.
777         * c-common.h (CTI_C_SIZE_TYPE): Remove.
778         (c_size_type_node): Likewise.
779         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
780         * tree.h (TI_SIZE_TYPE): New enumeral.
781         (size_type_node): Likewise.
782
783 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
784
785         * configure.in: Don't put ${tm_file} into host_xm_file,
786         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
787         Take location of tm-preds.h into account when calculating
788         tm_p_file_list.
789         * configure: Regenerate.
790         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
791         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
792         Remove special case code for tm_p.h and *config.h; add new
793         special case code for tm.h and tconfig.h. Clean up a bit.
794
795         * Makefile.in (tm_file, tm_file_list): New variables set from
796         @-substitutions.
797         (GCONFIG_H): Deleted.
798         (GTM_H, TM_H): New.
799         (CONFIG_H): Is now just config.h $(host_xm_file_list).
800         (TM_P_H): Move up with the other mkconfig.sh-generated
801         headers; don't mention tm-preds.h explicitly.
802         (tm.h, cs-tm.h): New rule.
803         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
804         invocations of mkconfig.sh for changes to that program.
805         (mostlyclean): Delete print-rtl1.c.
806         (clean): Delete tm.h.
807         Update dependencies for the files listed below.
808
809         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
810
811         * coretypes.h: New file.
812         * system.h: #define malloc to xmalloc and realloc to xrealloc
813         when FLEX_SCANNER or YYBISON is defined, independent of the
814         value of GCC_VERSION.
815         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
816         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
817         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
818         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
819         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
820         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
821         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
822         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
823         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
824         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
825         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
826         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
827         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
828         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
829         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
830         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
831         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
832         genconstants.c, genemit.c, genextract.c, genflags.c,
833         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
834         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
835         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
836         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
837         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
838         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
839         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
840         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
841         print-tree.c, profile.c, protoize.c, ra-build.c,
842         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
843         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
844         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
845         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
846         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
847         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
848         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
849         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
850         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
851         xcoffout.c, config/darwin-c.c, config/darwin.c,
852         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
853         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
854         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
855         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
856         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
857         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
858         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
859         config/i960/i960-c.c, config/i960/i960.c,
860         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
861         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
862         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
863         config/mips/irix6-libc-compat.c, config/mips/mips.c,
864         config/mmix/mmix.c, config/mn10200/mn10200.c,
865         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
866         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
867         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
868         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
869         config/sparc/sparc.c, config/stormy16/stormy16.c,
870         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
871         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
872         Include coretypes.h and tm.h.
873
874         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
875         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
876         genrecog.c: Include coretypes.h and tm.h from the file
877         generated by this program.
878
879         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
880         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
881         coretypes.h and tm.h, and tsystem.h when not already included.
882         No need to include stddef.h nor stdlib.h.
883
884         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
885         include auto-host.h or ansidecl.h/
886         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
887         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
888         include auto-host.h, ansidecl.h, or system.h.
889         * fixinc/server.c: Likewise.  Also, do not include signal.h,
890         and do not redefine volatile.
891
892 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
893
894         * i386.md (movdf_integer):  Always enable in 64bit.
895         (movdf_nointeger): Always disable in 64bit.
896
897 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
898
899         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
900         pseudo register number plus 1.
901
902 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
903
904         * expmed.c (store_bit_field): Use int_mode_for_mode to find
905         corresponding mode of non-integer mode, unless it is VOIDmode.
906
907 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
908
909         * cpplib.c (_cpp_test_assertion): Default *value to 0.
910
911         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
912
913 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
914
915         * config/s390/t-crtstuff: New target makefile fragment.
916         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
917
918 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
919
920         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
921         alternatives to correct the length when the memory operand is
922         either pre_dec or post_inc.
923
924 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
925
926         * config/h8300/h8300.md (an anonymous pattern): Give an
927         internal name *tst_extzv_bitqi_1_n.
928         Accept bit_operand instead of bit_memory_operand.
929         Do not accept bit tests with the MSB.
930         (*tst_extzv_memqi_1_n): New.
931
932 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
933
934         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
935         sharing when operand is SUBREG.
936
937 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
938
939         * athlon.md (athlon-decodev): New reservation unit.
940         (athlon-direct0): New reservation.
941         (athlon-vector): New use athlon-decodev.
942         (athlon-double, athlon-direct): Better model.
943         (athlon_imul_k8): Use athlon-direct0.
944         (athlon_movlpd_load): New insn reservation.
945
946 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
947
948         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
949         Fix a comment typo.
950         (h8300_tiny_constant_address_p): Likewise.
951
952 2002-11-28  Michael Matz  <matz@suse.de>
953
954         * doc/passes.texi: Mention the other register allocator.
955
956 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
957
958         * config/h8300/h8300.md (6 new peephole2 patterns): New.
959
960 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
961
962         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
963         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
964         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
965
966 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
967
968         * config/h8300/h8300.c (h8300_and_costs): New.
969         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
970         * config/h8300/h8300-protos.h: Add a prototype for
971         h8300_and_costs.
972
973 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
974
975         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
976         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
977         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
978         * i386.md (truncdfsf patterns and splitters): Use
979         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
980
981 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
982
983         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
984         pointer argument in the prototypes of the following builtins
985         be (const TYPE *) rather than (TYPE *):
986          + __builtin_altivec_ld_internal_4sf
987          + __builtin_altivec_ld_internal_4si
988          + __builtin_altivec_ld_internal_8hi
989          + __builtin_altivec_ld_internal_16qi
990          + __builtin_altivec_lvsl
991          + __builtin_altivec_lvsr
992          + __builtin_altivec_lvebx
993          + __builtin_altivec_lvehx
994          + __builtin_altivec_lvewx
995          + __builtin_altivec_lvxl
996          + __builtin_altivec_lvx
997          + __builtin_altivec_dst
998          + __builtin_altivec_dstt
999          + __builtin_altivec_dstst
1000          + __builtin_altivec_dststt
1001
1002 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1003
1004         * except.c (default_exception_section): Move variable into the
1005         scope where it is used.
1006
1007 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1008
1009         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1010         correct version.
1011
1012 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1013
1014         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1015
1016 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1017
1018         * config/h8300/h8300.c (h8300_shift_costs): New.
1019         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1020         * config/h8300/h8300-protos.h: Add a prototype for
1021         h8300_shift_costs.
1022
1023 2002-11-27  Jim Wilson  <wilson@redhat.com>
1024
1025         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1026         in output template.
1027
1028 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1029
1030         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1031         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1032         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1033         (i386_pe_dllimport_name_p): Likewise.
1034         (i386_pe_mark_dllexport): Likewise.
1035         (i386_pe_mark_dllimport): Likewise.
1036         (i386_pe_encode_section_info): Likewise.
1037         (i386_pe_strip_name_encoding): Likewise.
1038
1039 2002-11-27  Richard Henderson  <rth@redhat.com>
1040
1041         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1042         (nm && NF == 3): Set sawsymbol true.
1043         (END): Exit if no symbols seen.
1044         (output): Fix map syntax error if no globals for the version.
1045
1046 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1047
1048         * builtins.def (DEF_C99_BUILTIN): Fix.
1049
1050 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1051
1052         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1053         (all): Add .size and .type information.
1054
1055 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1056
1057         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1058         partial_reg_stall target.
1059
1060 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1061
1062         * i386.md (movhicc): Allow general operand.
1063         (movqicc): New expander.
1064         (movqicc_noc): New pattern.
1065         * i386.c (ix86_expand_carry_flag_compare): New function.
1066         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1067         HImode conversion; support QImode conditional moves
1068
1069 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1070
1071         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1072         (ix86_expand_prologue): Multiply the count by amount of registers to be
1073         pushed.
1074
1075 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1076
1077         * i386.c (override_options): Error about wrong -mcpu on x86-64
1078         compilation.
1079
1080 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1081
1082         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1083
1084 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1085
1086         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1087         x86_extended_reg_mentioned_p): Declare.
1088         * i386.c (extended_reg_mentioned_1): New static function.
1089         (x86_extended_QIreg_mentioned_p,
1090         x86_extended_reg_mentioned_p): New global functions.
1091         * i386.h (REX_SSE_REGNO_P): New macro.
1092         * i386.md (prefix_rex): New attribute.
1093         (length attribute): Add rex.
1094
1095 2002-11-26  Andrew Haley  <aph@redhat.com>
1096
1097         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1098         from_Unwind_Find_Enclosing_Function.
1099         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1100         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1101         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1102         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1103         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1104
1105 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1106
1107         * config/s390/s390.c (390_output_constant_pool): Set alignment
1108         before label in 64 bit mode, behind otherwise.
1109
1110 2002-11-26  Richard Henderson  <rth@redhat.com>
1111
1112         * c-common.c (handle_visibility_attribute): Accept "default".
1113         * tree.h (enum symbol_visibility): New.
1114         (decl_visibility): Declare.
1115         * target.h (gcc_target.visibility): Take visibility arg as integer.
1116         * varasm.c (default_assemble_visibility): Likewise.
1117         (decl_visibility): New.
1118         (maybe_assemble_visibility): Use it.
1119         * output.h (default_assemble_visibility): Update prototype.
1120         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1121         visibility arg as integer.
1122         * doc/extend.texi: Document default visibility.
1123
1124 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1125
1126         * config/h8300/h8300.c: Adjust spacing.
1127         * config/h8300/h8300.h: Likewise.
1128
1129 2002-11-26  Richard Henderson  <rth@redhat.com>
1130
1131         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1132         hook_void_FILEptr_constcharptr): Rename so that the return
1133         type is first.
1134         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1135         hook_bool_tree_false): New.
1136         * hooks.h: Update.
1137         * langhooks-def.h: Update for renames.
1138         * target-def.h: Likewise.
1139         * tree.c (default_comp_type_attributes,
1140         default_set_default_type_attributes, default_insert_attributes,
1141         default_function_attribute_inlinable_p,
1142         default_ms_bitfield_layout_p): Remove.
1143         * tree.h: Update.
1144
1145 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1146
1147         * pa-protos.h (function_value): New prototype.
1148         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1149         TARGET_64BIT.
1150         * pa.h (FUNCTION_VALUE): Use function_value.
1151         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1152         call_value_internal_reg, sibcall_value_internal_symref,
1153         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1154         value.
1155
1156 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1157
1158         * expr.c (gen_group_rtx, emit_group_move): New functions.
1159         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1160         * function.c (expand_function_start): Use gen_group_rtx to create a
1161         PARALLEL rtx to hold the return value when the real return rtx is a
1162         PARALLEL.
1163         (expand_function_end): Use emit_group_move to move the return value
1164         from a PARALLEL to the real return registers.
1165         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1166         in PARALLELs.
1167
1168 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1169
1170         * config/t-libc-ok: Fix typo.
1171
1172 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1173
1174         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1175         before AC_PROG_CC.
1176         * configure: Rebuilt.
1177
1178 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1179
1180         * c-decl.c: (start_struct): Commonize flag setting.
1181
1182 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1183
1184         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1185         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1186         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1187         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1188
1189 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1190
1191         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1192         insns.
1193         * config/s390/s390.c (struct machine_function): Introduction of
1194         struct machine_function.
1195         (s390_output_symbolic_const): Use of cfun.
1196         (s390_optimize_prolog): Likewise.
1197         (s390_fixup_clobbered_return_reg): Likewise.
1198         (s390_frame_info): Likewise.
1199         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1200         (s390_init_machine_status): New function.
1201         (override_options): call s390_init_machine_status.
1202         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1203         prototype.
1204
1205 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1206
1207         * varasm.c (output_constant_pool): For pool constants in mergeable
1208         section ensure each constant is padded to multiple of entity size.
1209
1210 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1211
1212         * varasm.c (default_exception_section): Move to...
1213         * except.c (default_exception_section): ... here. Make
1214         .gcc_except_table read-only if it is not expected to have any
1215         dynamic relocations and linker handles it.
1216         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1217         if it is not expected to have any dynamic relocations and linker
1218         handles it.
1219         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1220         when linking read-only and read-write sections together.
1221         * configure, config.in: Rebuilt.
1222         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1223         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1224
1225 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1226
1227         * i386.md (pushsf_rex64): Fix typo.
1228
1229 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1230
1231         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1232         new function.
1233         (__ev_create_ufix32_fs): Same.
1234         (__ev_get_sfix32_fs_internal): New.
1235         (__ev_get_sfix32_fs): Define to use function.
1236         (__ev_get_ufix32_fs_internal): New.
1237         (__ev_get_ufix32_fs): Define to use function.
1238         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1239         (__ev_get_lower_ufix32_fs): Same.
1240         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1241         (__ev_get_lower_sfix32_fs): Same.
1242         (__ev_set_sfix32_fs_internal): New.
1243         (__ev_set_ufix32_fs_internal): New.
1244         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1245         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1246         (__ev_set_upper_sfix32_fs): Call function.
1247         (__ev_set_lower_sfix32_fs): Same.
1248         (__ev_set_upper_ufix32_fs): Same.
1249         (__ev_set_lower_ufix32_fs): Same.
1250
1251 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1252
1253         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1254
1255 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1256
1257         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1258         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1259         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1260         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1261         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1262         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1263         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1264         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1265         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1266         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1267         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1268         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1269         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1270         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1271         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1272         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1273         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1274         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1275         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1276         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1277         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1278         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1279         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1280         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1281         defining.
1282         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1283         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1284
1285 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1286
1287         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1288
1289 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1290
1291         * config/h8300/h8300.md (an anonymous pattern): New.
1292
1293 2002-11-25  Richard Henderson  <rth@redhat.com>
1294
1295         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1296         (copying_arguments): Make boolean.
1297
1298 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1299
1300         * gcc.c (static_spec_functions): Add if-exists-else spec
1301         function.
1302         (if_exists_else_spec_function): New function.
1303         * doc/invoke.texi: Document the if-exists-else spec function.
1304
1305         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1306         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1307
1308 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1309
1310         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1311         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1312         "${tmake_file} rs6000/t-netbsd".
1313         * config/rs6000/netbsd.h: Rewrite.
1314         * config/rs6000/t-netbsd: New file.
1315
1316 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1317
1318         * config/h8300/h8300.md (an anonymous pattern): Relax the
1319         condition for the pattern.
1320
1321 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1322
1323         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1324         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1325         evmwlssfanw, evmwlsmfanw.
1326
1327         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1328
1329         * config/rs6000/spe.md: Same for patterns.
1330
1331 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1332
1333         PR c/8639
1334         * fold-const.c (extract_muldiv): Don't propagate division unless
1335         both arguments are multiples of C.
1336
1337 2002-11-25  Andrew Haley  <aph@redhat.com>
1338
1339         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1340         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1341         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1342         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1343
1344 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1345
1346         * i386.c (x86_use_ffreep): New global variable.
1347         * i386.h (x86_use_frfeep): Declare
1348         (TARGET_USE_FFREEP): New macro
1349         * i386.md  (movs?f*): Use freep when asked for.
1350         (push?f): Remove dead code.
1351
1352 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1353
1354         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1355         target help message.
1356
1357 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1358
1359         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1360         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1361         crtbeginT.o".
1362         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1363         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1364         to "" for a.out configurations.
1365         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1366
1367 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1368
1369         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1370         NETBSD_CPP_SPEC directly.
1371         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1372         netbsd_endfile_spec.
1373         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1374
1375 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1376
1377         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1378         NETBSD_STARTFILE_SPEC.
1379         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1380         (ENDFILE_SPEC): Likewise.
1381         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1382
1383 2002-11-24  Andreas Schwab  <schwab@suse.de>
1384
1385         * Makefile.in (install-driver): Remove versioned link before
1386         trying to create it.
1387
1388         * config/m68k/m68k.c: Fix typo in last change defining
1389         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1390
1391 2002-11-23  H.J. Lu <hjl@gnu.org>
1392
1393         * aclocal.m4: Include ../config/accross.m4.
1394         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1395         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1396         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1397         instead of $ac_cv_c_compile_endian.
1398
1399         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1400         AC_COMPILE_CHECK_SIZEOF.
1401         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1402         * configure: Rebuild.
1403
1404 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1405
1406         * config/h8300/h8300.c (print_operand): Update the use of
1407         h8300_tiny_constant_address_p.
1408         (h8300_adjust_insn_length): Likewise.
1409         (h8300_tiny_constant_address_p): Check if the given rtx is a
1410         variable declared with __attribute__ ((tiny_data)).
1411
1412 2002-11-22  Dale Johannesen  <dalej@apple.com>
1413
1414         * toplev.c (rest_of_compilation):  Fix comments.
1415
1416 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1417
1418         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1419         allow mmap from /dev/zero.  Don't make decisions for the host
1420         based on presence or absence of /dev/zero on the build machine.
1421         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1422         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1423         * configure: Regenerate.
1424
1425 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1426
1427         * gcc.c (make_relative_prefix, split_directories)
1428         (free_split_directories): Removed.
1429
1430 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1431
1432         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1433         * configure: Regenerated.
1434
1435 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1436
1437         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1438         length computation when xor.l is output.
1439
1440 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1441
1442         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1443         (call_vms_1, call_value_vms_1): Cleanup syntax.
1444
1445 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1446
1447         * athlon.md (define_atuomaton): Add athlon_load.
1448         (athlon-double): New reservation.
1449         (athlon-ieu0): New CPU unit.
1450         (athlon-load?): Use athlon_load automaton.
1451         (*_k8 reservations): New.
1452         (other insn revervations): Activate for K8.
1453
1454 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1455
1456         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1457
1458 2002-11-21  Jim Wilson  <wilson@redhat.com>
1459
1460         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1461         vectors to SI.
1462
1463 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1464
1465         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1466         * config/xtensa/xtensa.c (struct machine_function): Add
1467         incoming_a7_copied flag.
1468         (xtensa_copy_incoming_a7): Define.
1469         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1470         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1471
1472 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1473
1474         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1475         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1476         x86_64_nonmemory_operand, x86_64_movabs_operand,
1477         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1478         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1479         (local_symbolic_operand): Do not care the 64bit limits.
1480         (x86_64_sign_extended_value): Remove allow_rip support.
1481         (legitimate_pic_address_disp_p): Handle all cases allowed
1482         with RIP addressing.
1483         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1484         (legitimize_pic_address): Reorganize.
1485         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1486
1487 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1488
1489         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1490         * config/arm/netbsd-elf.h: New file.
1491
1492 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1493
1494         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1495         subtarget_asm_float_spec.
1496         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1497         defaults from...
1498         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1499
1500 2002-11-21  Nick Clifton  <nickc@redhat.com>
1501
1502         * config/fr30/fr30.md (movsf_constant_store): Move code to
1503         detect 0.0 into fr30.c.
1504         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1505         Prototype.
1506         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1507         function.  Return true if the rtx is 0.0.
1508
1509 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1510
1511         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1512         if -mlittle-endian is specified.
1513
1514 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1515
1516         PR optimization/2903
1517         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1518         (anddi_notsesidi_di): Likewise.
1519
1520 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * config/h8300/h8300.c (print_operand): Use
1523         h8300_eightbit_constant_address_p and
1524         h8300_tiny_constant_address_p.
1525         (h8300_adjust_insn_length): Likewise.
1526         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1527         (TINY_CONSTANT_ADDRESS_P): Likewise.
1528         (OK_FOR_U): Use eightbit_constant_address_p.
1529
1530 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1531
1532         * config/s390/libgcc-libc.ver: Add multilib support.
1533         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1534         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1535         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1536         EXTRA_MULTILIB_PARTS): Define.
1537
1538 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1539
1540         * arm.c (arm_get_frame_size): A leaf function does not need its
1541         stack padding to an aligned boundary if it has no frame.
1542         (thumb_get_frame_size): Likewise.
1543
1544 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1545
1546         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1547         (override_options): Likewise.
1548
1549 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1550
1551         * config.gcc: Add k8 target alias support
1552         * i386.c (_cost): Declare costs for various variants of divides and
1553         multiplies.
1554         (k8_cost): New.
1555         (m_K8, m_ATHLON_K8): New macros.
1556         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1557         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1558         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1559         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1560         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1561         x86_prologue_using_move, x86_epilogue_using_move,
1562         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1563         x86_sse_typeless_stores): Set for K8
1564         (override_options): Add k8 support; fix athlon alignment;
1565         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1566         (ix86_issue_rate): Set for K8.
1567         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1568         x86_machine_dependent_reorg): Handle K8 like
1569         * i386.h
1570         (x86_costs):  Change mult_init and divide into array.
1571         (TARGET_K8, TARGET_ATHLON): New macros.
1572         (MODE_INDEX): New macro.
1573         (RTX_COST): Use new costs.
1574         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1575         (TARGET_CPU_DEFAULT_NAMES): Add k8
1576         (TARGET_CPU_DEFAULT_k8): New constant
1577         (enum processor_type): Add PROCESSOR_K8.
1578         * i386.md (cpu attribute): Add k8.
1579
1580         * invoke.texi: Document -march=k8.
1581
1582         * i386.md (type attribute): Add leave
1583         (mode attribute): Remove unknownfp.
1584         (length_immediate, modrm, memory attributes): Handle leave correctly.
1585         (fp comparison patterns): Determine FP mode.
1586         (leave, leave_rex64): Remove special cases.
1587         * ppro.md (ppro_uops, ppro_p2): Add leave
1588         * pentiun.md (pent_pop): Handle leave too.
1589         * k6.md (k6_load): Handle leave.
1590         * athlon.md (athlon_leave, athlon_pop): Fix.
1591         (athlon_decode): Handle leave.
1592
1593 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1594
1595         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1596         to component type using GET_MODE_INNER.
1597         * expr.c (emit_move_insn_1): Ditto.
1598         * optabs.c (expand_binop): Ditto.
1599         (expand_unop): Ditto.
1600         (expand_complex_abs): Ditto.
1601
1602 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1603
1604         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1605
1606 2002-11-20  DJ Delorie  <dj@redhat.com>
1607
1608         * config/stormy16/stormy16.c (s16builtins,
1609         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1610         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1611
1612 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1613
1614         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1615         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1616         (executing gencheck, genconfigs, genconditions, genflags,
1617         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1618         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1619         gengtype, genprotos): Prepend $(RUN_GEN).
1620         * configure.in: Move host compiler tests before --enable-checking
1621         tests.
1622         (--enable-checking=valgrind): New.
1623         * config.in, configure: Regenerate.
1624         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1625         Define as empty.
1626         (read_include_file): When doing the mmap+1 trick,
1627         valgrind-annotate the byte after the mmap:ed area as readable.
1628         (purge_cache): Remove above annotation.
1629         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1630         VALGRIND_PATH -q to each command.
1631
1632         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1633         Define as empty.
1634         (ggc_realloc): Update valgrind annotations.
1635         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1636         Define as empty.
1637         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1638         valgrind-annotate memory.
1639
1640 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
1641
1642         * recog.c (constrain_operands): Prefer exact match over reloadable
1643         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1644
1645         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1646         operands in Pmode.
1647
1648 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1649
1650         PR c/8518
1651         * c-decl.c (duplicate_decls): Outline the second definition
1652         of an extern inline function in all cases.
1653
1654 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1655
1656         * stor-layout.c (place_field): Update rli->offset as well as
1657         rli->bitpos.
1658
1659 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1660
1661         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1662
1663 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1664
1665         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1666         into a libcall block.
1667         (divsi3): Likewise divsi3_i4_media.
1668
1669 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1670
1671         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1672         out another register.
1673
1674 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
1675
1676         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1677         (not just mask) are set in C.
1678
1679 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
1680
1681         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1682
1683 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1684
1685         * profile.c (index_counts_file): Fix obvious mistake.
1686
1687 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1688
1689         * Makefile.in (profile.o): Add hashtab.h dependency.
1690         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1691         * profile.c: Include hashtab.h.
1692         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1693         cleanup_counts_index, index_counts_file, struct section_reference,
1694         struct da_index_entry, counts_file_name, counts_file_index): New.
1695         (get_exec_counts, init_branch_prob): Modified.
1696
1697 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1698
1699         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1700         to tmake_file. Remove setting gas and gnu_ld here.
1701         * config/sh/libgcc-glibc.ver: New file.
1702         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1703         (SHLIB_MAPFILES): New.
1704         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1705         (MD_STARTFILE_PREFIX): Likewise.
1706         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1707         (DWARF2_UNWIND_INFO): Redefine.
1708         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1709         (LINK_EH_SPEC): Redefine.
1710         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1711         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1712         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1713         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1714         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1715         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1716         SH_DWARF_FRAME_FPSCR): Likewise.
1717         * config/sh/sh-protos.h (sh_set_return_address): Declare.
1718         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1719         registers if the current function calls EH return.
1720         (sh_expand_epilogue): Handle EH stack adjustments.
1721         (sh_set_return_address): New function.
1722         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1723         Don't abort even if the number is mapped to -1.
1724         (EH_RETURN_DATA_REGNO): Define.
1725         (EH_RETURN_STACKADJ_RTX): Define.
1726         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1727         (eh_return): New pattern.
1728         (eh_set_ra_di, eh_set_ra_si): Likewise.
1729         Add splitter to perform EH return after reload.
1730
1731 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
1732
1733         * stor-layout.c (excess_unit_span): New function.
1734         (place_field): Use it.
1735
1736 2002-11-19  Andreas Schwab  <schwab@suse.de>
1737
1738         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1739         not valid in C++.
1740
1741 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1742
1743         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1744         * configure: Regenerate.
1745
1746 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
1747
1748         * convert.c (strip_float_extensions): New function.
1749         (convert_to_real): Optimize some cases.
1750
1751 2002-11-19  Andreas Jaeger  <aj@suse.de>
1752
1753         * loop.c (record_giv): Initialize not_replaceable.
1754         (check_final_value): Likewise.
1755
1756 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1757
1758         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1759         MASK_H8300S.
1760
1761 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
1762
1763         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1764         only if -mh or -ms present.
1765         (h8300_eightbit_constant_address_p): Support the normal mode.
1766         (h8300_tiny_constant_address_p): Likewise.
1767         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1768         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1769         (Pmode): Evaluate to HImode for the normal mode.
1770         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1771         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1772         (ASM_WORD_OP): Evaluate to word for the normal mode.
1773         * config/h8300/h8300.md (tablejump_normal_mode): New.
1774         (indirect_jump_normal_mode): New.
1775         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1776         directory.
1777         (MULTILIB_DIRNAMES): Create target dependent directory
1778         'normal'.
1779         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1780         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1781
1782 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1783
1784         * i386.md (length_immediate): Do not refer to insn address.
1785         (jcc*, jmp patterns):  Compute length explicitly.
1786
1787 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1788
1789         PR c/8588
1790         * optabs.c (expand_binop): Convert CONST_INTs in shift
1791         operations too.
1792
1793 2002-11-19  Roger Sayle  <roger@eyesopen.com>
1794
1795         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1796
1797 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1798
1799         * config/h8300/h8300.md (an anonymous pattern): Relax the
1800         condition to accept the same operands and/or subregs.
1801
1802 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
1803
1804         * config/sh/sh.c (gen_shl_and): Revert previous patch.
1805         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1806         reload_completed.
1807
1808 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1809
1810         * config/h8300/h8300.c (print_operand): Update the use of
1811         EIGHTBIT_CONSTANT_ADDRESS_P.
1812         (h8300_adjust_insn_length): Likewise.
1813         (h8300_eightbit_constant_address_p): Check if the given rtx is
1814         a variable with __attribute__((eightbit_data)).
1815         * config/h8300/h8300.h (OK_FOR_U): Update the use of
1816         EIGHTBIT_CONSTANT_ADDRESS_P.
1817
1818 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1819
1820         * doc/contrib.texi (Contributors): Add self as second contact in
1821         addition to Jeff Law.
1822
1823 2002-11-19  Andreas Jaeger  <aj@suse.de>
1824
1825         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1826         find_alloca_call to right place.
1827
1828 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1829
1830         * cppfiles.c: Fix formatting.
1831
1832 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
1833
1834         * gcc.c (The Specs Language): Document spec functions.
1835         (static_spec_functions, lookup_spec_function)
1836         (eval_spec_function, handle_spec_function)
1837         (if_exists_spec_function, alloc_args): New.
1838         (execute): Abort if processing_spec_function is true.
1839         (do_spec_1): Hand off spec to handle_spec_function if %:
1840         is encountered.  If processing_spec_function is true,
1841         end any pending argument when the end of the string is reached.
1842         (main): Use alloc_args to allocate the initial argument vector.
1843         * gcc.h (struct spec_function): New.
1844         (lang_specific_spec_functions): New extern.
1845
1846         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1847         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1848         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1849
1850         * doc/invoke.texi: Document spec functions.
1851
1852         * cppspec.c (lang_specific_spec_functions): New.
1853         * gccspec.c: Likewise.
1854
1855 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
1856
1857         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1858         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1859         (fixunstfsi_libfunc): Change.
1860         (fixunstfdi_libfunc): Change.
1861         (sdiv_optab): Don't zero out SImode handler.
1862         (udiv_optab): Don't zero out SImode handler.
1863         (smod_optab): Don't zero out SImode handler.
1864         (umod_optab): Don't zero out SImode handler.
1865
1866 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
1867
1868         PR preprocessor/8524
1869         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1870         Add a new one in its place, which hopefully works.
1871         (skip_rest_of_line): Change test for bottom-of-context-stack.
1872
1873 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
1874
1875         * i386.md (addqi_1_slp): Fix output template.
1876         (subqi_1_slp): Fix type.
1877
1878 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
1879
1880         * calls.c (alloca_call_p): New global function.
1881         * tree.h (alloca_call_p): New.
1882         * tree-inline.c (inlinable_function_p):  Do not inline when
1883         function calls alloca.
1884         (find_alloca_call, find_alloca_call_1): New functions.
1885
1886 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
1887
1888         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
1889         bst.  Update the insn length.
1890         (*andorhi3): Likewise.
1891         (*andorsi3): Likewise.
1892
1893 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1894
1895         * config/sh/sh-protos.h (sh_mark_label): Declare.
1896         * config/sh/sh.c (sh_mark_label): New function, taken from
1897         movdi_const, but fixing the case when the address has an addend.
1898         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
1899
1900 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1901
1902         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
1903         (add_constant): Set it.
1904         (dump_table): Don't reorder a constant if part_of_sequence_p.
1905         (machine_dependent_reorg): Assume that float constants will
1906         stay in their original order if used as a sequence.
1907
1908 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1909
1910         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
1911         in compact code.
1912
1913 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1914
1915         * config/sh/sh.md (initialize_trampoline): Do not force the
1916         trampoline address into R0_REGS here.
1917
1918 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
1919
1920         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1921         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1922         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1923         generate unnecesary subregs.
1924
1925 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1926
1927         * df.c: Fix formatting.
1928
1929 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1930
1931         * config/h8300/h8300.md (two anonymous patterns): Fix insn
1932         lengths.
1933
1934 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
1935
1936         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
1937         is not an arith_reg_operand.
1938
1939 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
1940
1941         * real.c (real_to_decimal): Fix buffer overrun when buffer size
1942         is smaller than representation.
1943
1944 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1945
1946         * builtins.c: Fix formatting.
1947
1948 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
1949
1950         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
1951         floats?dff2_i387):
1952         Work around regclass stupidity.
1953         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
1954
1955 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1956
1957         * i386.md (fop_df_6): New pattern.
1958         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
1959         (fop_xf_6): Rewrite
1960         (fop_xf_7): Delete.
1961         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
1962         (fop_tf_6): Rewrite
1963         (fop_tf_7): Delete.
1964
1965 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1966
1967         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
1968
1969 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1970
1971         * config/h8300/h8300.md: Fix formatting.
1972
1973 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1974
1975         * config/h8300/h8300.md: Replace spaces with tabs.
1976         * config/h8300/t-h8300: Remove a trailing empty line.
1977
1978 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1979
1980         * tlink.c: Fix formatting.
1981
1982 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
1983
1984         PR 8362
1985         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
1986         * config/rs6000/rs6000.md (movti_string): Remove output modifier
1987         when scratch register never needed.
1988         (ldmsi[3-8]): New patterns.
1989
1990 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1991
1992         * hard-reg-set.h: Follow spelling conventions.
1993         * real.c: Likewise.
1994         * target.h: Likewise.
1995
1996 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
1997
1998         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
1999
2000 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2001
2002         * optabs.c: Fix formatting.
2003
2004 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2005
2006         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2007         * i386.md (attribute type): Add type shift1 and rotate1.
2008         (*_slp): Rewrite to have just two operands to avoid reload problems.
2009
2010 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2011
2012         * config/h8300/h8300.md (4 anonymous patterns): New.
2013
2014 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2015
2016         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2017         * doc/invoke.texi: Correct description of what needs to be done to
2018         force collection at every ggc_collect call.
2019
2020 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2021
2022         * config/s390/s390.c (optimization_options): Set
2023         flag_asynchronous_unwind_tables to 1 by default.
2024
2025 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2026
2027         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2028
2029 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2030
2031         * i386-protos.h (x86_function_profiler): New function
2032         * i386.h (MCOUNT_NAME): New.
2033         (PROFILE_COUNT_REGISTER): New.
2034         (FUNCTION_PROFILER): Move offline to ...
2035         * i386.c (x86_function_profiler) ... here; fix 64bit support
2036         * beos-elf.h (FUNCTION_PROFILER): Kill.
2037         (MCOUNT_NAME): New.
2038         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2039         (MCOUNT_NAME): New.
2040         (PROFILE_COUNT_REGISTER): New.
2041         * linux.h (FUNCTION_PROFILER): Kill.
2042         (MCOUNT_NAME): New.
2043         * x86-64.h (FUNCTION_PROFILER): Kill.
2044         (MCOUNT_NAME): New.
2045         * freebsd.h (FUNCTION_PROFILER): Kill.
2046         (MCOUNT_NAME): New.
2047
2048 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2049
2050         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2051         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2052         * config/arm/arm.c (arm_va_arg,
2053         arm_function_arg_pass_by_reference): New.
2054         * config/arm/arm-protos.h: Add prototypes.
2055
2056 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2057
2058         * gthr-single.h: Fix formatting.
2059
2060 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2061
2062         * tree.c (tree_vec_elt_check_failed): New function.
2063         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2064         (TREE_VEC_ELT): Use it.
2065
2066         * tree-inline.c (optimize_inline_calls): Don't copy a
2067         zero-length vector.
2068
2069 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2070
2071         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2072
2073 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2074
2075         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2076         both operands contain local relocations.
2077         (categorize_decl_for_section): Don't use mergeable sections if
2078         initializer has any relocations.
2079
2080 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2081
2082         * gthr-vxworks.h: Fix formatting.
2083
2084 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2085
2086         * doc/install.texi (Testing): Document extra Java testing.
2087         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2088
2089 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2090
2091         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2092         beginning of the spec.
2093         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2094         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2095         regarding problems with global constructors when using GNU ld.
2096
2097 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2098
2099         * gthr-solaris.h: Fix formatting.
2100
2101 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2102
2103         * gthr-posix.h: Fix formatting.
2104
2105 2002-11-12  Devang Patel <dpatel@apple.com>
2106
2107         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2108         (process_command): Same.
2109         * doc/invoke.texi: Info about these two new options.
2110
2111 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2112
2113         * config/h8300/h8300.md (*andorsi3): New.
2114
2115 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2116
2117         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2118
2119 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2120
2121         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2122         expressions appropriately.
2123
2124 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2125
2126         * gthr-win32.h: Fix formatting.
2127
2128 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2129
2130         * config/h8300/h8300.c (single_one_operand): Correctly compute
2131         mask when mode is SImode.
2132         (single_zero_operand): Likewise.
2133         * config/h8300/h8300.md (two new anonymous insns): New.
2134
2135 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2136
2137         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2138         to that entire project.
2139
2140 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2141
2142         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2143         directories.
2144
2145 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2146
2147         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2148         * doc/invoke.texi: Document them.
2149
2150         * ggc-page.c: Include params.h.  Remove definitions of
2151         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2152         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2153         (init_gcc): Don't set G.allocated_last_gc here.
2154         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2155         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2156         perform collection.
2157         * ggc-simple.c: Similarly.
2158         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2159         dependencies.
2160
2161 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2162
2163         * gthr-dce.h: Fix formatting.
2164
2165 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2166
2167         PR c/8467
2168         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2169         mode of DECL_RTL case.
2170
2171 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2172
2173         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2174
2175 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2176
2177         * i386.c (construct_container): Fix handling of SSE_CLASS.
2178
2179 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2180
2181         * config/m68k/t-crtstuff (crti.o): Use this...
2182         ($(T)crti.o): ... instead.
2183         (crtn.o): Use this...
2184         ($(T)crtn.o): ... instead.
2185
2186 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2187
2188         PR c/8439
2189         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2190         if there is something new to be simplified.
2191
2192 2002-11-10  H.J. Lu <hjl@gnu.org>
2193
2194         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2195         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2196
2197         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2198
2199 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2200
2201         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2202         * config/rs6000/linux.h, config/rs6000/linux64.h,
2203         config/rs6000/windiss.h: ... not here.
2204
2205 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2206
2207         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2208         __ABICALLS__ if TARGET_ABICALLS.
2209
2210 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2211
2212         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2213
2214 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2215
2216         * c-decl.c (grokdeclarator): Make error for duplicate type
2217         qualifiers into a pedwarn, disabled for C99.
2218
2219 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2220
2221         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2222         as FUNCTION_ARG_PASS_BY_REFERENCE.
2223
2224 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2225
2226         * doc/install.texi: Add *-*-vxworks* specific installation
2227         instructions.
2228
2229         * config/vxlib.c: Rewrite using generation numbers to identify
2230         valid TSD keys.
2231
2232 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2233
2234         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2235
2236 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2237
2238         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2239
2240         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2241         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2242         * pa.c (output_millicode_call): Use symbol difference rather than
2243         $PIC_pcrel$0 when using HP assembler.
2244         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2245         not elfos.h (i.e., gas) is being used.
2246         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2247         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2248         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2249         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2250         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2251         using elfos.h.
2252         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2253         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2254         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2255         using elfos.h.
2256         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2257         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2258         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2259         Don't define when not using elfos.h.
2260         (ASM_DECLARE_RESULT): Don't define.
2261         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2262         doesn't work on hppa64-hp-hpux11.
2263         (hppa*-hp-hpux11): Update.
2264
2265 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2266
2267         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2268         to the assembler if -mno-abicalls was specified.
2269
2270 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2271
2272         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2273         ASM_OUTPUT_DEF): Delete.
2274
2275 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2276
2277         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2278
2279 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2280
2281         * real.c (real_sqrt): Update comment with bibliographic reference.
2282
2283 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2284
2285         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2286
2287 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2288
2289         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2290
2291 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2292
2293         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2294         (expand_builtin): Likewise.
2295         * builtins.def: Add
2296         __builtin_floor, __builtin_floorf, __builtin_floorl
2297         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2298         __builtin_round, __builtin_roundf, __builtin_roundl
2299         __builtin_trunc, __builtin_truncf, __builtin_truncl
2300         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2301         * genopinit.c (optabs): Initialize the new optabs.
2302         * optab.c (init_optabs): Likewise.
2303         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2304         OTI_round, OTI_nearbyint.
2305         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2306         * doc/md.texi: Document new named patterns.
2307         * doc/extend.texi (builtin functions)  Document
2308         floor, floorf, floorl, ceil, ceilf,
2309         ceill, round, roundf, roundl, trunc,
2310         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2311
2312 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2313
2314         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2315
2316 2002-11-08  Dale Johannesen  <dalej@apple.com>
2317
2318         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2319
2320 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2321
2322         PR preprocessor/8497
2323         PR preprocessor/8501
2324         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2325         start a directive.  In assembler, #NUM is not a line directive.
2326
2327 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2328
2329         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2330         buffers.
2331
2332 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2333
2334         * config/h8300/h8300.md (two anonymous test insns): New.
2335
2336 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2337
2338         * jump.c (mark_jump_label): Handle subregs of label_refs.
2339
2340 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2341
2342         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2343         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2344
2345 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2346
2347         * config/ia64/crtend.asm: Include "auto-host.h".
2348         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2349         * config/ia64/crtbegin.asm: Similarly.
2350         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2351         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2352
2353         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2354         * configure.in: Use it if --enable-initfini-array not specified.
2355         * doc/install.texi (Configuration): Document --enable-initfini-array.
2356         * configure, config.in: Rebuild.
2357
2358 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2359
2360         * config/arm/arm-protos.h (arm_get_frame_size)
2361         (thumb_get_frame_size): New prototypes.
2362         * config/arm/arm.c (arm_get_frame_size)
2363         (thumb_get_frame_size): New functions.
2364         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2365         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2366         arm_get_frame_size.
2367         (thumb_expand_prologue, thumb_expand_epilogue): Use
2368         thumb_get_frame_size.
2369         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2370         (machine_function): Add frame_size member.
2371         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2372
2373 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2374
2375         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2376         Adjust code to use portable unsigned bit manipulation.
2377         (insn_flags, tune_flags): Change type to unsigned.
2378         (struct processors): Make flags unsigned long.
2379         (arm_override_options): Change type of count and current_bit_count
2380         to unsigned.
2381
2382 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2383
2384         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2385
2386 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2387
2388         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2389
2390 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2391
2392         * reg-stack.c (compensate_edge): Fix sanity check.
2393
2394 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2395
2396         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2397         crt2.o.  Rearrange t-darwin makefiles.
2398         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2399         * unwind-dw2-fde-darwin.c: New.
2400         * unwind-dw2-fde-glibc.c: Correct comment.
2401         * unwind-dw2-fde.c (__register_frame_info_bases)
2402         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2403         (classify_object_over_fdes): Use last_fde.
2404         (add_fdes): Likewise.
2405         (linear_search_fdes): Likewise.
2406         * unwind-dw2-fde.h (struct object)
2407         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2408         (last_fde): New.
2409         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2410         (ENDFILE_SPEC): No crtend.o.
2411         * config/t-darwin: New.
2412         * config/i386/t-darwin: Delete.
2413         * config/darwin-crt2.c: New.
2414         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2415         or config/t-darwin.
2416
2417 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2418
2419         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2420         MASK_MS_BITFIELD_LAYOUT
2421         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2422         MS bitfields for Objective-C.
2423         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2424         defines.
2425
2426         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2427         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2428         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2429
2430         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2431         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2432         (TARGET_SWITCHES): Add above mask.
2433
2434         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2435         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2436         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2437         flags for interix.
2438
2439 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2440
2441         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2442         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2443         assembler.
2444         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2445         before jump on ABI_N32 too.
2446         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2447         length to match.
2448
2449 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2450
2451         * i386.md (negsf splitter): Accept memory operand in second register.
2452         (abssf/absdf splitters): Simplify
2453         (sse_loadss, sse_loadsd): Turn into expander.
2454
2455 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2456
2457         PR target/8480
2458         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2459         FPR to FPR moves.
2460
2461 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2462
2463         * doc/contrib.texi: Merge in the list from the Java web pages.
2464
2465 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2466
2467         * config/sparc/freebsd: Fix typo.
2468
2469 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2470
2471         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2472
2473 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2474
2475         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2476         non-SImode addresses.
2477
2478 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2479
2480         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2481         stack register.
2482         (float SSE splitters): Reorder conditional.
2483
2484 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2485
2486         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2487
2488 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2489
2490         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2491         (STARTFILE_SPEC): Remove p and pg options.
2492
2493 2002-11-05  Andrew Haley  <aph@redhat.com>
2494
2495         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2496         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2497
2498 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2499
2500         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2501         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2502
2503 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2504
2505         * gthr-vxworks.h: Rewritten from scratch.
2506         * config/vxlib.c: New file.
2507         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2508         * config/rs6000/t-vxworks: Add config/vxlib.c to
2509         LIB2FUNCS_EXTRA here too, because of clash with
2510         config/rs6000/t-ppccomm.
2511
2512 2002-11-04  Dale Johannesen  <dalej@apple.com>
2513
2514         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2515         for unrolled loops.
2516         * loop.c (loop_invariant_p):  Support calling from unroller.
2517
2518 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2519
2520         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2521         for comparison.
2522
2523 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2524
2525         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2526
2527         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2528         (CLASS_CANNOT_CHANGE_MODE): Remove.
2529         (CANNOT_CHANGE_MODE_CLASS): New.
2530
2531         * config/alpha/alpha.h: Same.
2532
2533         * config/ia64/ia64.h: Same.
2534
2535         * config/mips/mips.h: Same.
2536
2537         * config/s390/s390.h: Same.
2538
2539         * config/sh/sh.h: Same.
2540
2541         * config/pa/pa64-regs.h: Same.
2542
2543         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2544
2545         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2546
2547         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2548         prototype.
2549
2550         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2551
2552         * doc/tm.texi (Register Classes): Remove
2553         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2554         Document CANNOT_CHANGE_MODE_CLASS.
2555
2556         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2557         (push_reload): Same.
2558
2559         * simplify-rtx.c (simplify_subreg): Same.
2560
2561         * reload1.c (choose_reload_regs): Same.
2562
2563         * recog.c (register_operand): Same.
2564
2565         * regrename.c (mode_change_ok): Change to use new
2566         CANNOT_CHANGE_MODE_CLASS infrastructure.
2567
2568         * regclass.c (cannot_change_mode_set_regs): New.
2569         Declare subregs_of_mode.
2570         (regclass): Use subregs_of_mode.
2571         Remove references to reg_changes_mode.
2572         (init_reg_sets_1): Remove class_can_change_mode and
2573         reg_changes_mode code.
2574         (invalid_mode_change_p): New.
2575         (dump_regclass): Use invalid_mode_change_p instead of
2576         class_can_change_mode.
2577         (regclass): Same.
2578         (record_operand_costs): Do not set reg_changes_mode.
2579
2580         * local-alloc.c (struct qty): Remove changes_mode field.
2581         (alloc_qty): Remove changes_mode initialization.
2582         (update_qty_class): Remove set of changes_mode.
2583         (find_free_reg): Use subregs_of_mode.
2584
2585         * global.c (find_reg): Use subregs_of_mode info.
2586
2587         * rtl.h (cannot_change_mode_set_regs): New prototype.
2588         (invalid_mode_change_p): Same.
2589         (REG_CANNOT_CHANGE_MODE_P): New macro.
2590
2591         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2592         REG_CHANGES_MODE.
2593         (life_analysis): Clear subregs_of_mode.
2594
2595         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2596         Remove use of CLASS_CANNOT_CHANGE_MODE.
2597         (simplify_set): Same.
2598         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2599         REG_CHANGES_MODE.
2600
2601         * regs.h: Add extern for subregs_of_mode;
2602         Include hard-reg-set and basic-block.
2603         (REG_CHANGES_MODE): Delete.
2604
2605 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2606
2607         * real.c (real_sqrt): New function to calculate square roots.
2608         * real.h (real_sqrt): Add function prototype.
2609         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2610         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2611         of constant argument.
2612
2613 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2614
2615         * jump.c (never_reached_warning): Don't set contains_insn until the
2616         first line note is seen.
2617
2618 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2619
2620         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2621
2622 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2623
2624         PR c/7128
2625         * c-typeck.c (c_expand_asm_operands): Defend against
2626         error_mark_nodes in the output argument to avoid ICE.
2627
2628 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2629
2630         PR middle-end/8408
2631         * genrecog.c (preds): Handle ADDRESSOF.
2632         (validate_pattern): Mark it as an lvalue.
2633
2634 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2635
2636         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2637         instructions when optimizing for size.
2638
2639 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2640
2641         * config/h8300/h8300.h: Fix comment typos.
2642         * config/h8300/h8300.md: Likewise.
2643         * config/h8300/lib1funcs.asm: Likewise.
2644
2645 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2646
2647         Revert this change:
2648
2649         *doc/install.texi (Installing GCC: Configuration): Clarify
2650         the only supported ways to configure gcc.
2651
2652 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2653
2654         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2655         instead of 'O' for the constraint for the second operand.
2656
2657 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
2658
2659         PR c++/8391
2660         * toplev.c (rest_of_compilation): Do not refuse to output code for
2661         an inline function in a local class.
2662
2663 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
2664
2665         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2666         (TRANSFER_FROM_TRAMPOLINE): Reformat.
2667         Add comment.
2668
2669 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2670
2671         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2672
2673 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2674
2675         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2676
2677 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
2678
2679         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2680         (MASK_INLINE_DIV_THR): Remove.
2681         (TARGET_INLINE_DIV_LAT): Remove.
2682         (TARGET_INLINE_DIV_THR): Remove.
2683         (TARGET_INLINE_DIV): Remove.
2684         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2685         (MASK_INLINE_FLOAT_DIV_THR): New macro.
2686         (MASK_INLINE_INT_DIV_LAT): New macro.
2687         (MASK_INLINE_INT_DIV_THR): New macro.
2688         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2689         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2690         (TARGET_INLINE_INT_DIV_LAT): New macro.
2691         (TARGET_INLINE_INT_DIV_THR): New macro.
2692         (TARGET_INLINE_FLOAT_DIV): New macro.
2693         (TARGET_INLINE_INT_DIV): New macro.
2694         * config/ia64/ia64.md (divsi3): Change to use new macros.
2695         (modsi3): Ditto.
2696         (udivsi3): Ditto.
2697         (umodsi3): Ditto.
2698         (divsi3_internal): Ditto.
2699         (divdi3): Ditto.
2700         (moddi3): Ditto.
2701         (udivdi3): Ditto.
2702         (umoddi3): Ditto.
2703         (divdi3_internal_lat): Ditto.
2704         (divdi3_internal_thr): Ditto.
2705         (divsf3): Ditto.
2706         (divsf3_internal_lat): Ditto.
2707         (divsf3_internal_thr): Ditto.
2708         (divdf3): Ditto.
2709         (divdf3_internal_lat): Ditto.
2710         (divdf3_internal_thr): Ditto.
2711         (divtf3): Ditto.
2712         (divtf3_internal_lat): Ditto.
2713         (divtf3_internal_thr): Ditto.
2714         * config/ia64/ia64.c (ia64_override_options): Change
2715         to check new macros for conflicts in settings.
2716         * doc/invoke.texi (-minline-divide-min-latency): Remove.
2717         (-minline-divide-max-throughput): Remove.
2718         (-minline-float-divide-min-latency): New.
2719         (-minline-float-divide-max-throughput): New.
2720         (-minline-int-divide-min-latency): New.
2721         (-minline-int-divide-max-throughput): New.
2722
2723 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
2724
2725         PR target/7856
2726         * arm.c (use_return_insn): Don't use a return insn if there are
2727         saved integer regs, but LR is not one of them.
2728
2729 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
2730
2731         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
2732         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2733
2734 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
2735
2736         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
2737         (movps, movpd splitters): Use canonical form.
2738         (movv2di): Fix merge problem.
2739
2740 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
2741
2742         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2743
2744 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2745
2746         PR optimization/6162
2747         * doc/md.texi: Document restriction on commutative operand
2748         specification.
2749
2750 2002-10-31  Eric Christopher  <echristo@redhat.com>
2751
2752         * explow.c (convert_memory_address): Use shallow_copy_rtx.
2753
2754 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2755
2756         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2757
2758 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2759
2760         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2761
2762 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2763
2764         * config/rs6000/darwin.h:  Correct formatting in previous.
2765
2766 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2767
2768         * config/rs6000/darwin.h:  Enable -falign-xxx options.
2769
2770 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
2771
2772         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2773         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2774         * i386.c (optimization_options): Set flag_omit_frame_pointer,
2775         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2776         Do not clear -momit-leaf-frame-pointer when profiling.
2777         (ix86_frame_pointer_required): Frame pointer is always required when
2778         profiling.
2779
2780 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2781
2782         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2783
2784 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
2785
2786         * sh.h (binary_logical_operator): Declare.
2787         * sh.c (binary_logical_operator): New function.
2788         * sh.md (xordi3+1): New combiner splitter pattern.
2789
2790 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
2791
2792         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2793         __enable_execute_stack function.
2794
2795 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
2796
2797         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2798         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2799         * unwind-sjlj.c (fc_key_dtor): Delete.
2800         (fc_key_init): Adjust __gthread_key_create call to match.
2801
2802 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
2803
2804         * c-common.c: Add GTY to vector_type_node_list.
2805
2806 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
2807
2808         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2809         * pa-protos.h (attr_length_millicode_call, attr_length_call,
2810         pa_init_machine_status): Declare new global functions.
2811         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2812         implement new functions.
2813         (attr_length_millicode_call, attr_length_call): Implement.
2814         (total_code_bytes): Change type to long.
2815         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2816         Reset counter if flag_function_sections.
2817         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2818         (output_cbranch): Move call to gen_label_rtx.
2819         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2820         delay slot in all variants, shorten pc-relative calls.
2821         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2822         slot usage and exposure, various new call variants, and shortened
2823         sequences for some variants on TARGET_PA_20.
2824         Miscellaneous format changes.
2825         * pa.h (total_code_bytes): Change type to long.
2826         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2827         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2828         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2829         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2830         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2831         stores on TARGET_ELF32.
2832         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2833         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2834         canonicalize_funcptr_for_compare expanders): Calculate attribute length
2835         attr_length_millicode_call().
2836         (call_internal_symref, call_value_internal_symref): Clobber register 1.
2837         Calculate attribute length using attr_length_call().
2838         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2839         to delay slot.
2840         (sibcall, sibcall_value): Rewrite.
2841         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2842         register 1.  Use attr_length_call().
2843         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2844         New patterns.
2845         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2846         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2847         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2848         * doc/invoke.texi (mlong-calls): Document.
2849
2850 2002-10-30  Roger Sayle  <roger@eyesopen.com>
2851
2852         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
2853         handling of cases where one or both branches of the conditional
2854         have void type, i.e. throw an exception or don't return.
2855         (fold): Only apply (and undo) type conversion to the non-void
2856         branches of a COND_EXPR.
2857
2858 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
2859
2860         PR c++/8333
2861         * varasm.c (asm_output_aligned_bss): Do not call
2862         ASM_GLOBALIZE_LABEL.
2863
2864 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
2865             Torbjorn Granlund  <tege@swox.com>
2866
2867         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2868         for addressibility.
2869         (load_toc_v4_PIC_1b): Same.
2870
2871 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
2872
2873         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2874         Truncate the addresses for H8/300 using HImode.
2875
2876 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
2877
2878         * i386.md (negdf splitter): Fix construction of the constant.
2879
2880 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
2881
2882         * i386.md (negsf, negdf): Reorganize to use vector modes
2883         for SSE variants.
2884         (abssf, absdf): Use force_reg.
2885         (movv4sf, movv2df): New splitters.
2886         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
2887         * i386.c (zero_extended_scalar_load_operand
2888
2889         * i386-protos.h (ix86_expand_call): Update prototype.
2890         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
2891         (ix86_expand_call): Use r11 for indirect sibcalls.
2892         * i386.md (call, call_value, untyped_call, call_value_pop):
2893         update x86_expand_call call.
2894         (sibcall, sibcall_value): new patterns
2895         (call_rex64, call_value_rex64): Do not accept sibcalls.
2896         (sibcall_rex64, sibcall_value_rex64,
2897         sibcall_rex64_v, sibcall_value_rex64_v): New.
2898
2899 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
2900
2901         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2902         before final pass.
2903
2904 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
2905
2906         * toplev.c (rest_of_type_compilation): Return early in case of
2907         errors.
2908         (check_global_declarations): Don't call debug_hooks->global_decl
2909         in case of errors.
2910
2911 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
2912
2913         * doc/c-tree.texi (Tree overview): Fix typos.
2914
2915 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
2916
2917         * Makefile.in (gnucompare*):  Only record bad comparisons
2918         if there really was a bad comparison.
2919
2920 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
2921
2922         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
2923         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
2924         * md.texi (machine dependent constraints): Document 'C'
2925
2926         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
2927
2928         * i386.c (ix86_expand_vector_move): Fix.
2929
2930         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
2931         * i386.md (sse2_maskmovdqu_rex64): New pattern
2932
2933         PR target/8322
2934         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
2935         (ix86_init_mmx_sse_builtins): Fix type.
2936
2937 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
2938
2939         * gthr-posix.h: Include <unistd.h> for feature tests.
2940         (sched_get_priority_max, sched_get_priority_min)
2941         (pthread_getschedparam, pthread_setschedparam): Only use
2942         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
2943         (__gthread_objc_thread_set_priority): Don't treat all non-zero
2944         returns from sched_get_priority_max and sched_get_priority_min
2945         as an error.
2946
2947 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2948
2949         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
2950         MASK_QUICKCALL.
2951
2952 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2953
2954         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
2955         (h8300_tiny_constant_address_p): Likewise.
2956         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
2957         h8300_eightbit_constant_address_p.
2958         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
2959         * config/h8300/h8300-protos.h: Add the prototypes for the two
2960         new functions.
2961
2962 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2963
2964         * reload1.c (update_eliminables): Unconditionally check if
2965         frame_pointer_needed has changed.
2966
2967 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
2968
2969         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2970         before final pass.
2971
2972 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2973
2974         PR optimization/8334
2975         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
2976         check for zero operands explicitly.
2977
2978 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
2979
2980         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
2981         memory after adjusting to BLKmode.
2982
2983 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2984
2985         * config/h8300/h8300.h (MASK_*): New.
2986         (TARGET_*): Use MASK_*.
2987
2988 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
2989
2990         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
2991         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
2992         config/rs6000/vxworks.h: New files.
2993         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
2994
2995         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
2996         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
2997         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
2998         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
2999         sparc-*-vxsim*): Delete stanzas.
3000         * gthr-vxworks.h: Rip out all substantive code and just
3001         include gthr-single.h.
3002
3003         * config/alpha/vxworks.h, config/arm/vxarm.h,
3004         config/i386/vxi386.h, config/i960/t-vxworks960,
3005         config/i960/vx960-coff.h, config/i960/vx960.h,
3006         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3007         config/mips/vxworks.h, config/rs6000/vxppc.h,
3008         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3009         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3010         config/sparc/vxsparc64.h: Delete files.
3011
3012 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3013
3014         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3015         tm_defines if pthreads are enabled.
3016         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3017         if NETBSD_ENABLE_PTHREADS is defined.
3018
3019 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3020
3021         * ChangeLog.1: Fix typos.
3022         * cse.c: Fix a comment typo.
3023         * reload1.c: Likewise.
3024
3025 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3026
3027         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3028         * fixinc/tests/base/_G_config.h: New file.
3029
3030 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3031
3032         * combine.c: Fix comment formatting.
3033         * loop.c: Likewise.
3034         * real.c: Likewise.
3035         * regclass.c: Likewise.
3036         * regmove.c: Likewise.
3037         * regrename.c: Likewise.
3038         * reg-stack.c: Likewise.
3039         * reload1.c: Likewise.
3040         * reload.c: Likewise.
3041         * reload.h: Likewise.
3042         * unroll.c: Likewise.
3043
3044 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3045
3046         * reload1.c (reload): Fix a comment typo.
3047
3048 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3049
3050         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3051
3052 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3053
3054         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3055         * dwarf2out.c: Include hashtab.h.
3056         (is_main_source): New static variable.
3057         (attr_checksum, die_checksum): Modified to handle die references.
3058         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3059         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3060         record_comdat_symbol_number): New static functions.
3061         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3062         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3063         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3064         declarations added.
3065
3066 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3067
3068         * config/h8300/h8300.c (initial_offset): Change to
3069         h8300_initial_elimination_offset.
3070         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3071         h8300_initial_elimination_offset.
3072         * config/h8300/h8300-protos.h: Update the prototype.
3073
3074 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3075
3076         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3077         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3078         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3079         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3080         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3081         and RTX_CODE.
3082         (mmix_function_value_regno_p): Declare.
3083
3084         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3085         invalid for floating point mode result, with fix.
3086
3087 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3088
3089         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3090         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3091         (stage1_build): Likewise.
3092
3093 2002-10-25  Mike Stump  <mrs@apple.com>
3094
3095         Fixes gcc.dg/warn-1.c.
3096         * c-typeck.c (warn_for_assignment): Don't print argument number,
3097         if zero.
3098
3099 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3100
3101         * toplev.c (dump_file_index): Add DFI_ce3.
3102         (dump_file_info): Likewise.
3103         (rest_of_compilation): Run first ifcvt pass before tracer.
3104
3105 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3106
3107         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3108
3109 2002-10-25  Richard Henderson  <rth@redhat.com>
3110
3111         * real.c (real_to_decimal): If the >1 tens reduction loop results
3112         in a negative exponent, fall into the <1 pten computation.
3113
3114 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3115
3116         PR middle-end/6994
3117         * c-objc-common.c (inline_forbidden_p): Can not inline
3118         functions containing structures or unions containing VLAs.
3119         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3120         TYPE_SIZE and TYPE_SIZE_UNIT.
3121         (copy_tree_r): Copy types if they are variably modified.
3122
3123 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3124
3125         * config/s390/s390.md: Remove old-style peepholes.
3126
3127 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3128
3129         * config/s390/s390.c (s390_decompose_address): Do not range check the
3130         displacement if base or index is the argument pointer register.
3131
3132 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3133
3134         PR other/3337
3135         PR bootstrap/6763
3136         PR bootstrap/8122
3137         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3138         * fixinc/fixincl.x: Regenerate.
3139         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3140         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3141         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3142         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3143         * config.in, configure: Regenerate.
3144
3145 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3146
3147         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3148
3149 2002-10-24  Richard Henderson  <rth@redhat.com>
3150
3151         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3152
3153 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * config/h8300/h8300.c (initial_offset): Simplify by using
3156         round_frame_size.
3157
3158 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3159
3160         * doc/install.texi (avr): Update required binutils version.
3161
3162 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3163
3164         * doc/install.texi: Point avr users at more up-to-date information.
3165
3166 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3167
3168         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3169         to pull operands out of the literal pool where possible.
3170
3171 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3172
3173         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3174
3175 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3176
3177         * expr.c (convert_move): If unsignedp is less then zero there
3178         is no equivalent code.
3179
3180 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3181
3182         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3183
3184 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3185
3186         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3187         according to the sequence they are defined in the manual.
3188         (POINTER_BOUNDARY): Remove.
3189
3190 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3191
3192         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3193         BITS_PER_UNIT.
3194
3195 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3196
3197         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3198         64-bit safe.
3199         (TINY_CONSTANT_ADDRESS_P): Likewise.
3200
3201 2002-10-24  Richard Henderson  <rth@redhat.com>
3202
3203         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3204         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3205         vcall offset.
3206
3207 2002-10-24  Richard Henderson  <rth@redhat.com>
3208
3209         PR opt/7944
3210         * reload.c (find_reloads_toplev): Mode of X is not important
3211         when simplifying subregs of constants.
3212
3213 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3214
3215         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3216         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3217         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3218         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3219         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3220
3221 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3222
3223         * optabs.c (expand_binop): Don't reuse the shift target in the
3224         middle of shift sequences.
3225
3226 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3227
3228         * i386.md (abs splitters): Do not produce nested subregs.
3229
3230 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3231
3232         * i386.md (movti_rex64): Fix constraints.
3233
3234 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3235
3236         * i386.md (abssf,absdf): Use vector operands for SSE
3237         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3238         vector operand.
3239
3240 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3241
3242         * objc/objc-act.c (get_static_reference): Remove unneeded
3243         TYPE_BINFO initialization.
3244         (get_object-reference): Likewise.
3245         (build_constructor): Tighten precondition check.
3246         (finish_message_expr): Likewise.
3247
3248 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3249
3250         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3251         after CONST test.
3252
3253 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3254
3255         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3256         in HFAs.
3257
3258 2002-10-23  Richard Henderson  <rth@redhat.com>
3259
3260         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3261         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3262
3263 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3264
3265         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3266         var_mod_type_p.
3267         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3268         hook_tree_bool_false.
3269
3270         * tree.c (variably_modified_type_p): Moved here from
3271         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3272         language-specific cases.  Due to this, must weaken some 'if
3273         and only if' checks to merely 'if'.
3274         * tree.h: Prototype variably_modified_type_p.
3275
3276         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3277
3278 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3279
3280         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3281         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3282
3283         * config/s390/s390-protos.h (fp_operand): Remove.
3284         * config/s390/s390.c (fp_operand): Remove.
3285         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3286         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3287         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3288         (movdi_31, movdf_31 splitters): Likewise.
3289
3290         * config/s390/s390.h (IEEE_FLOAT): Remove.
3291         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3292         (INT_REGNO_P): Rename to ...
3293         (GENERAL_REGNO_P): ... this.
3294         (FLOAT_REGNO_P): Rename to ...
3295         (FP_REGNO_P): ... this.
3296         (ADDR_REGNO_P): New macro.
3297         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3298         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3299         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3300         (HARD_REGNO_NREGS): Adapt to macro renaming.
3301         (HARD_REGNO_MODE_OK): Likewise.
3302
3303 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3304             Geoff Keating  <geoffk@apple.com>
3305
3306         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3307         (rs6000_memory_move_cost): New function.
3308         * config/rs6000/rs6000-protos.h: Declare them.
3309         * config/rs6000/rs6000.h: Use them.
3310
3311 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3312
3313         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3314         inlining it into other libgcc2 routines.
3315         (__udivmoddi4): Likewise.
3316
3317 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3318
3319         * doc/sourcebuild.texi (Test Suites): Improve.
3320
3321 2002-10-22  Stan Shebs  <shebs@apple.com>
3322
3323         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3324         case for Darwin.
3325
3326 2002-10-22  Jim Wilson  <wilson@redhat.com>
3327
3328         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3329
3330 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3331
3332         PR other/8289
3333         * xmmintrin.h: Add const to the argument of loads.
3334
3335         * i386.md (pushv2di): New pattern.
3336         PR target/6890
3337         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3338
3339 2002-10-22  Richard Henderson  <rth@redhat.com>
3340
3341         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3342         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3343         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3344         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3345         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3346         (TARGET_ASM_OUT): Update.
3347         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3348         (hook_bool_tree_hwi_hwi_tree_true): New.
3349         (default_can_output_mi_thunk_no_vcall): New.
3350         * hooks.h: Declare them.
3351         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3352
3353         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3354         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3355         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3356         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3357         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3358         config/stormy16/stormy16.c: Similarly.
3359
3360         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3361         Handle 64-bit properly.  Streamline.
3362         (x86_output_mi_vcall_thunk): Remove.
3363         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3364         (x86_can_output_mi_thunk): New.
3365         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3366         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3367         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3368
3369         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3370         output_mi_thunk; make static; always use function_section.
3371         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3372         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3373         (rs6000_ra_ever_killed): Test no_new_pseudos not
3374         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3375         * config/rs6000/rs6000-protos.h: Update.
3376         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3377         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3378         xcoffout_declare_function when using rs6000_output_mi_thunk.
3379
3380         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3381         s390_output_mi_vcall_thunk.
3382         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3383         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3384
3385         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3386         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3387         * config/vax/vax-protos.h: Update.
3388         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3389
3390 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3391
3392         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3393         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3394         * i386.md (movti_internal): Use 'C'
3395
3396         * xmmintrin.h (_mm_cmplt_epi*): New.
3397
3398 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3399
3400         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3401         ("*movdf_64"): Likewise.
3402         ("*lshrdi3_64"): Likewise.
3403         ("blockage"): Add length attribute.
3404         ("lit"): Likewise.
3405
3406 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3407
3408         * i386.md: FIx typo.
3409         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3410         (sse2_umulv2siv2di3): Fix predicate.
3411         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3412         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3413         * xmmintrin.h (_mm_mul_epu16): Rename to...
3414         (_mm_mul_epu32): This one.
3415         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3416
3417         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3418
3419 2002-10-22  Eric Christopher  <echristo@redhat.com>
3420
3421         * config/sparc/sparc.h: Add #error.
3422
3423 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3424
3425         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3426         [s390x-*-linux*]: Likewise.
3427         * config/s390/t-linux: Remove.
3428         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3429
3430 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3431
3432         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3433         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3434         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3435         * i386.md (mmx_punpck?dq): Simplify.
3436         (sse2_pubpcklqdq): Fix.
3437         (sse2_pubpckhqdq): New.
3438         * xmmintrin.h (_mm_unpackhi_epi32): New.
3439
3440         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3441         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3442
3443 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3444
3445         PR c++/7209
3446         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3447         build compound_expr if we used save_expr.
3448
3449 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3450
3451         * output.h (SECTION_NOTYPE): Define.
3452         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3453         init array sections.
3454         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3455         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3456         merge TLS support.
3457
3458 2002-10-21  Richard Henderson  <rth@redhat.com>
3459
3460         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3461         the function type, not the return type.
3462
3463 2002-10-21  Richard Henderson  <rth@redhat.com>
3464
3465         * real.c (sticky_rshift_significand): Return inexact, don't
3466         or it in immediately.
3467         (sub_significands): Accept incomming carry.
3468         (div_significands, rtd_divmod): Update for sub_significands change.
3469         (round_for_format): Update for sticky_rshift_significand change.
3470         (do_add): Don't involve the inexact bit in addition, do give the
3471         inexact bit as the subtraction carry-in.
3472         (encode_internal, decode_internal, real_internal_format): New.
3473         * real.h (real_internal_format): Declare.
3474
3475 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3476
3477         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3478         don't define sdiv_qrnnd.
3479
3480 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3481
3482         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3483         using IN_RANGE.
3484         (TINY_CONSTANT_ADDRESS_P): Likewise.
3485
3486 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3487
3488         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3489         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3490         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3491         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3492         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3493         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3494         __builtin_ia32_setzero128.
3495         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3496         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3497         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3498         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3499         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3500         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3501         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3502         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3503         sse2_movq): New patterns.
3504         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3505         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3506         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3507         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3508         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3509         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3510         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3511         (_mm_insert_epi16): Fix.
3512
3513 2002-10-21  Dale Johannesen  <dalej@apple.com>
3514
3515         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3516             unsafe math reversals correctly for RTL generation.
3517           (output_cbranch):  Replace rs6000_reverse_condition call
3518             by its former definition.
3519
3520 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3521
3522         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3523         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3524         from constant pool or LABEL_REFs as sign extended if allow_rip.
3525         Change all +-1GB limits to +-16MB.
3526         (x86_64_general_operand, x86_64_szext_general_operand,
3527         x86_64_nonmemory_operand, x86_64_movabs_operand,
3528         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3529         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3530         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3531         in CM_SMALL_PIC model.
3532         (legitimate_pic_address_disp_p): Don't check offsets before
3533         calling local_symbolic_operand.
3534         (legitimize_pic_address): Force offsets bigger than +-16MB into
3535         register.
3536         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3537         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3538         prototype.
3539
3540         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3541         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3542         * configure: Rebuilt.
3543         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3544         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3545         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3546         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3547         -fpic.
3548         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3549         non-pic code if TARGET_64BIT.
3550         (legitimize_address): Generate 64-bit TLS sequences.
3551         (output_pic_addr_const): Support x86-64 TLS operators.
3552         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3553         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3554         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3555         (output_addr_const_extra): Support x86-64 TLS operators.
3556         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3557         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3558         unconditionally.
3559         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3560         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3561         (*tls_global_dynamic_sun): Renamed to...
3562         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3563         (tls_global_dynamic): Renamed to...
3564         (tls_global_dynamic_32): ... this.
3565         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3566         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3567         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3568         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3569         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3570         (tls_local_dynamic_base_dynamic): Renamed to...
3571         (tls_local_dynamic_base_dynamic_32): ... this.
3572         (tls_local_dynamic_base_dynamic_64,
3573         *tls_local_dynamic_base_dynamic_64): New.
3574         (*tls_local_dynamic_once): Renamed to...
3575         (*tls_local_dynamic_32_once): ... this.
3576
3577 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3578
3579         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3580         __divdi3, __umoddi3, or __moddi3.
3581
3582 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3583
3584         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3585         instead of just opt_index as switch expression.
3586
3587         * calls.c (store_one_arg): Change type of 'excess_align'
3588         to unsigned int.
3589
3590         * profile.c (output_gcov_string): Change type of 'temp'
3591         to size_t.
3592
3593 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3594
3595         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3596         (__fixunssfdi, __fixsfdi): Likewise.
3597         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3598         (s390_single_qi): Likewise.
3599         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3600         unsigned comparison warning.
3601         (s390_return_addr_rtx): New function.
3602         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3603         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3604         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3605
3606 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3607
3608         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3609         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3610         (s390_output_mi_thunk): Remove.
3611         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3612
3613 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3614
3615         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3616
3617 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3618
3619         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3620         inverted test in the conditional determining the possibility
3621         of sibcalls in PIC mode.
3622
3623 2002-10-20  Richard Henderson  <rth@redhat.com>
3624
3625         * target.h (struct gcc_target): Line wrap.
3626
3627         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3628         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3629         * config/alpha/alpha.h: ... not here.
3630         * config/alpha/alpha-protos.h: Update.
3631
3632         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3633         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3634         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3635         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3636         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3637         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3638         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3639         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3640         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3641         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3642         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3643         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3644         config/sparc/sparc.c, config/sparc/sparc.h,
3645         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3646         config/stormy16/stormy16.h: Similarly.
3647
3648         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3649         selection logic from call patterns.
3650
3651 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
3652
3653         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3654
3655 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3656
3657         PR other/8202
3658         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3659         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3660         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3661         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3662
3663 2002-10-20  Roger Sayle  <roger@eyesopen.com>
3664
3665         PR c/761
3666         * toplev.c (flag_unsafe_profile_arcs): Remove.
3667         (flag_bounded_pointers): Remove.
3668         (flag_bounds_check): Correct comments.
3669         (lang_independent_options): Remove -funsafe-profile-arcs and
3670         -fbounded-pointers.  Correct -fbounds-check comments.
3671
3672         * flags.h: Correct flag_schedule_interblock comments.
3673         (flag_bounded_pointers): Remove prototype.
3674         (flag_bounds_check): Correct comments.
3675
3676         * c-opts.c (c_common_init_options): No need to mark
3677         flag_bounds_check as unspecified.
3678         (c_common_post_options): And no need to set it from
3679         flag_bounded_pointers if its still unspecified.
3680
3681         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3682         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3683         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3684         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3685
3686 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
3687         Angela Marie Thomas  <angela@releasedominatrix.com>
3688         Brendan Kehoe  <brendan@zen.org>
3689         Nick Clifton  <nickc@redhat.com>
3690         Andrew Haley  <aph@redhat.com>
3691
3692         * configure.in (--with-sysroot): New.  Don't inhibit libc if
3693         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3694         and CROSS_SYSTEM_HEADER_DIR.
3695         * configure: Rebuilt.
3696         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
3697         (TARGET_SYSTEM_ROOT): New.
3698         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
3699         CROSS_SYSTEM_HEADER_DIR.
3700         (install-gcc-tooldir): New target.
3701         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
3702         if SYSTEM_HEADER_DIR does not exist and it's not the default
3703         sys-include directory.
3704         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
3705         (install-mkheaders): Likewise.
3706         * gcc.c (target_system_root): New variable.
3707         (add_sysrooted_prefix): New function.
3708         (process_command): Recompute run-time target_system_root from
3709         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
3710         does not exist.
3711         (do_spec_1): Process 'R' spec.
3712         (main): Add md_exec_prefix to exec_prefixes regardless of
3713         startfile_prefix_spec.  Use add_sysrooted_prefix for
3714         startfile_prefixes, and don't skip the default ones when cross
3715         compiling with sysroot enabled.  Removed unused case of
3716         non-absolute standard_startfile_prefix.
3717         * config/interix.h: Remove the only potential, yet disabled,
3718         occurrence of non-absolute (empty) standard_startfile_prefix.
3719         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
3720         linking.
3721         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
3722         * doc/install.texi (--with-sysroot): Document.
3723         (--with-headers, --with-libs): Deprecate.
3724
3725 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3726             Mark Mitchell  <mark@codesourcery.com>
3727
3728         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
3729         match target.h.
3730         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
3731         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
3732         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
3733         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
3734         x86_output_mi_thunk): Likewise.
3735         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
3736         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
3737         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
3738         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
3739         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
3740         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
3741         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
3742         Likewise.
3743         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3744
3745         * target.h (gcc_target): Update output_mi_thunk and
3746         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
3747         vcall_index.
3748
3749         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
3750         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3751         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
3752         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
3753         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
3754         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
3755         signature.
3756         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
3757         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3758         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3759         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
3760         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
3761         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3762         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3763         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
3764         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
3765
3766         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
3767         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3768
3769 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
3770
3771         * real.c (do_add): Fix 0+0 sign corner case.
3772         (do_divide): Fix Inf/0 corner case.
3773
3774 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
3775
3776         * i386.c (classify_argument): Pass MMX arguments in memory
3777         (ix86_expand_builtin): Expand proper address mode for cflush.
3778         * i386.md (movdqa): Fix typo.
3779         (sse2_cflush): Accept DImode addresses.
3780
3781         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
3782         (_mm_max_sd): Fix pasto.
3783         (_mm_storeh_pd, _mm_storel_pd): Fix.
3784
3785         * i386.c (bdesc_comi): Fix to match specification.
3786         (ix86_expand_sse_comi): Emit the comparison properly.
3787         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
3788         Do not use comparison operator.
3789         (vnmaskcmp): Fix template.
3790
3791         * xmmintrin.h (_mm_cvtps_pi16): Fix.
3792
3793 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
3794
3795         * dependence.c : Removed.
3796         * Makefile.in : Remove dependence.o.
3797
3798 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
3799
3800         * mmintrin.h (__m64): typedef it to v2si.
3801         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
3802         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
3803         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
3804         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
3805         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
3806         * xmmintrin.h (_mm_setzero_si64): Likewise.
3807
3808         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
3809         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
3810
3811         PR target/7693
3812         Patch by Shawn Wagner
3813         * mmintrin.h: Replace pi64 by si64.
3814
3815 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
3816
3817         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
3818         Use length of 4 not *.
3819         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
3820         (movdf_softfloat64): Likewise.
3821         (movdi_internal32): Use length of 4 not *.
3822         (movti_power): Same.
3823         (ctrsi, ctrdi): Same.
3824
3825 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
3826
3827         * c-decl.c (start_decl): Point users of the old initialized-
3828         typedef extension at __typeof__.
3829
3830 2002-10-18  Richard Henderson  <rth@redhat.com>
3831
3832         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
3833         (real_to_decimal): Re-implement using the logic from the
3834         gcc 3.2 etoasc.  Comment heavily.
3835         (div_significands): Simplify loop startup and comparison logic.
3836
3837 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
3838
3839         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
3840         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
3841         (TARGET_ASM_OUT): Add them.
3842         * target.h (asm_out): Add output_mi_thunk and
3843         output_mi_vcall_thunk.
3844         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3845         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3846         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
3847         * config/arm/arm.c (arm_output_mi_thunk): Define.
3848         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3849         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3850         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3851         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3852         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3853         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3854         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
3855         prototype.
3856         (x86_output_mi_vcall_thunk): Declare.
3857         * config/i386/i386.c (override_options): Clear
3858         output_mi_vcall_thunk in 64-bit mode.
3859         (ix86_fntype_regparm): New function.
3860         (ix86_return_pops_args): Use it.
3861         (ia32_this_parameter): New function.
3862         (x86_output_mi_vcall_thunk): New function.
3863         (x86_output_mi_thunk): Use it
3864         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
3865         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
3866         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
3867         * config/i960/i960.c (i960_output_mi_thunk): New function.
3868         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
3869         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
3870         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
3871         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3872         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3873         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
3874         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3875         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3876         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3877         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3878         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3879         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3880         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3881         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3882         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3883         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3884         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
3885         * config/s390/s390.c (s390_output_mi_thunk): Define.
3886         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3887         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3888         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3889         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3890         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3891         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3892         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
3893         * config/vax/vax.c (vax_output_mi_thunk): Define.
3894         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3895         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3896         * doc/tm.texi: Adjust documentation.
3897
3898 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
3899
3900         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
3901         __enable_execute_stack function.
3902         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3903         as NETBSD_ENABLE_EXECUTE_STACK.
3904         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3905         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3906         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3907         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3908         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3909
3910 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
3911
3912         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
3913         to __enable_execute_stack with the address of the trampoline
3914         if TRANSFER_FROM_TRAMPOLINE is defined.
3915         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
3916         constant if building libgcc2.
3917
3918 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
3919
3920         * i386.c (pentium4_cost): Fix according to Intel recommendations.
3921         (ix86_memory_move_cost): Fix for 64bit compilation.
3922
3923 2002-10-17  Roger Sayle  <roger@eyesopen.com>
3924
3925         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
3926
3927 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
3928
3929         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
3930         in CTR/LR/MQ.
3931         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
3932         to/from CTR/LR/MQ.
3933         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
3934         (movsf_softfloat): Likewise.
3935
3936 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
3937
3938         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
3939
3940 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
3941
3942         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
3943         tramp, not addr, to pass the trampoline address to
3944         __enable_execute_stack.
3945
3946 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
3947
3948         * mmintrin.h: Guard by __MMX__
3949         * xmmintrin.h: Guard by __SSE__
3950
3951         PR other/8062
3952         * xmmintrin.h (_MM_SHUFFLE2): New macro.
3953         (_mm_load*_?d): New functions.
3954         (_mm_set*_?d): New functions.
3955         (_mm_store*_?d): New functions.
3956
3957 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
3958
3959         Really commit patch announced at Oct 14
3960         PR c/7344
3961         * predict.c (can_predict_insn_p): New function.
3962         (estimate_probability): Avoid unnecesary work.
3963         (process_note_prediction): Likewise.
3964         * toplev.c (rest_of_compilation): Account early branch prediction pass
3965         as TV_BRANCH_PROB.
3966
3967         PR other/8048
3968         Found by Ian Ollmann
3969         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
3970         (_mm_load?_pd): Likewise.
3971         (_mm_store?_pd): Likewise.
3972
3973         PR target/7386
3974         * i386.c (builtin_description):Drop cmpg[te]s[sd].
3975         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
3976         swapped alternative.
3977
3978         PR opt/7630
3979         * reload1.c (reload_inner_reg_of_subreg): New argument output;
3980         (push_reload): Update call.
3981
3982 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
3983
3984         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
3985         if using mips/elf.h or mips/elf64.h.
3986         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
3987         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
3988
3989 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
3990
3991         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
3992         SI.
3993
3994 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
3995
3996         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
3997         (LPREFIX): Likewise.
3998         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
3999         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4000         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4001         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4002         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4003
4004         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4005         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4006         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4007         BSS_SECTION_ASM_OP): Move from linux.h.
4008         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4009         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4010
4011         * config/s390/s390.c (s390_function_profiler): Use
4012         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4013
4014 2002-10-15  Eric Christopher  <echristo@redhat.com>
4015
4016         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4017         * java/parse.y (obtain_incomplete_type): Make pointer
4018         ptr_mode.
4019
4020 2002-10-15  Richard Henderson  <rth@redhat.com>
4021
4022         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4023         as arguments.  Bound DIGITS by the available buffer size.
4024         (real_to_hexadecimal): Likewise.
4025         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4026         (REAL_VALUE_TO_DECIMAL): Remove.
4027         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4028         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4029         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4030         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4031         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4032         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4033         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4034         use real_to_decimal directly, and with the proper arguments.
4035         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4036
4037 2002-10-15  Jim Wilson  <wilson@redhat.com>
4038
4039         * reload1.c (merge_assigned_reloads): After converting overlapping
4040         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4041
4042         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4043
4044 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4045
4046         * expr.c (do_tablejump): Fix typo in my previous commit.
4047
4048 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4049
4050         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4051
4052 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4053
4054         * config/s390/s390.c (s390_split_branches): Add return
4055         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4056
4057         (find_base_register_in_addr): New function.
4058         (find_base_register_ref): New function.
4059         (replace_base_register_ref): New function.
4060
4061         (struct constant_pool): Add members pool_insn, insns, and anchor.
4062         Remove member last_insn.
4063         (s390_start_pool): Initialize them.
4064         (s390_end_pool): Emit pool placeholder insn.
4065         (s390_add_pool_insn): New function.
4066         (s390_find_pool): Use insns bitmap instead of addresses.
4067         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4068         Replace unspec 104 by local-pool-relative references.
4069         (s390_output_constant_pool): Output anchor label if required.
4070         (s390_output_symbolic_const): Handle unspec 104 and 105.
4071         (s390_add_pool): Remove, replace by ...
4072         (s390_add_constant, s390_find_constant): ... these new functions.
4073         (s390_add_anchor): New function.
4074
4075         (s390_chunkify_pool): Delete, replace by ...
4076         (s390_chunkify_start, s390_chunkify_finish,
4077         s390_chunkify_cancel): ... these new functions.
4078         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4079         Recompute register live data for special registers.
4080         (s390_fixup_clobbered_return_reg): New function.
4081         (s390_machine_dependent_reorg): Rewrite to use new
4082         s390_chunkify_... routines.
4083
4084         config/s390/s390.md ("reload_base"): Rename to ...
4085         ("reload_base_31"): ... this.
4086         ("reload_base_64"): New insn.
4087         ("reload_base2"): Remove.
4088         ("reload_anchor"): New insn.
4089         ("pool"): New insn.
4090
4091         s390.c (s390_pool_overflow): Remove.
4092         s390.h (s390_pool_overflow): Likewise.
4093         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4094
4095 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4096
4097         * sh.md (movv8qi_i+2): Don't split if source is -1.
4098
4099 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4100
4101         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4102
4103 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4104
4105         PR opt/7409
4106         * loop.c (loop_regs_scan): Mark registers used for function
4107         argument passing as MAY_NOT_OPTIMIZE.
4108
4109 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4110
4111         * gcov-io.h (gcov_info): Fix type.
4112         * profile.c (create_profiler): Fix type mismatch.
4113
4114 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4115
4116         * i386.md (movv2di_internal): New pattern.
4117         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4118         (movv2di): New expander.
4119         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4120
4121     &nb