OSDN Git Service

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