1 2002-10-19 Sebastian Pop <s.pop@laposte.net>
3 * dependence.c : Removed.
4 * Makefile.in : Remove dependence.o.
6 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
8 * mmintrin.h (__m64): typedef it to v2si.
9 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
11 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
12 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
13 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
14 * xmmintrin.h (_mm_setzero_si64): Likewise.
16 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
17 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
21 * mmintrin.h: Replace pi64 by si64.
23 2002-10-18 David Edelsohn <edelsohn@gnu.org>
25 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
26 Use length of 4 not *.
27 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
28 (movdf_softfloat64): Likewise.
29 (movdi_internal32): Use length of 4 not *.
33 2002-10-18 Zack Weinberg <zack@codesourcery.com>
35 * c-decl.c (start_decl): Point users of the old initialized-
36 typedef extension at __typeof__.
38 2002-10-18 Richard Henderson <rth@redhat.com>
40 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
41 (real_to_decimal): Re-implement using the logic from the
42 gcc 3.2 etoasc. Comment heavily.
43 (div_significands): Simplify loop startup and comparison logic.
45 2002-10-18 Mark Mitchell <mark@codesourcery.com>
47 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
48 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
49 (TARGET_ASM_OUT): Add them.
50 * target.h (asm_out): Add output_mi_thunk and
51 output_mi_vcall_thunk.
52 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
53 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
54 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
55 * config/arm/arm.c (arm_output_mi_thunk): Define.
56 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
57 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
58 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
59 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
60 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
61 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
62 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
64 (x86_output_mi_vcall_thunk): Declare.
65 * config/i386/i386.c (override_options): Clear
66 output_mi_vcall_thunk in 64-bit mode.
67 (ix86_fntype_regparm): New function.
68 (ix86_return_pops_args): Use it.
69 (ia32_this_parameter): New function.
70 (x86_output_mi_vcall_thunk): New function.
71 (x86_output_mi_thunk): Use it
72 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
73 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
74 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
75 * config/i960/i960.c (i960_output_mi_thunk): New function.
76 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
77 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
78 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
79 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
80 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
81 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
82 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
83 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
84 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
85 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
86 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
87 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
88 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
89 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
90 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
91 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
92 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
93 * config/s390/s390.c (s390_output_mi_thunk): Define.
94 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
95 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
96 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
97 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
98 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
99 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
100 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
101 * config/vax/vax.c (vax_output_mi_thunk): Define.
102 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
103 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
104 * doc/tm.texi: Adjust documentation.
106 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
108 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
109 __enable_execute_stack function.
110 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
111 as NETBSD_ENABLE_EXECUTE_STACK.
112 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
113 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
114 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
115 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
116 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
118 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
120 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
121 to __enable_execute_stack with the address of the trampoline
122 if TRANSFER_FROM_TRAMPOLINE is defined.
123 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
124 constant if building libgcc2.
126 2002-10-17 Roger Sayle <roger@eyesopen.com>
128 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
130 2002-10-17 Geoffrey Keating <geoffk@apple.com>
132 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
134 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
136 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
137 (movsf_softfloat): Likewise.
139 2002-10-17 Janis Johnson <janis187@us.ibm.com>
141 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
143 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
145 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
146 tramp, not addr, to pass the trampoline address to
147 __enable_execute_stack.
149 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
151 * mmintrin.h: Guard by __MMX__
152 * xmmintrin.h: Guard by __SSE__
155 * xmmintrin.h (_MM_SHUFFLE2): New macro.
156 (_mm_load*_?d): New functions.
157 (_mm_set*_?d): New functions.
158 (_mm_store*_?d): New functions.
160 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
162 Really commit patch announced at Oct 14
164 * predict.c (can_predict_insn_p): New function.
165 (estimate_probability): Avoid unnecesary work.
166 (process_note_prediction): Likewise.
167 * toplev.c (rest_of_compilation): Account early branch prediction pass
172 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
173 (_mm_load?_pd): Likewise.
174 (_mm_store?_pd): Likewise.
177 * i386.c (builtin_description):Drop cmpg[te]s[sd].
178 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
182 * reload1.c (reload_inner_reg_of_subreg): New argument output;
183 (push_reload): Update call.
185 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
187 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
188 if using mips/elf.h or mips/elf64.h.
189 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
190 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
192 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
194 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
197 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
199 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
201 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
202 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
203 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
204 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
205 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
207 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
208 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
209 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
210 BSS_SECTION_ASM_OP): Move from linux.h.
211 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
212 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
214 * config/s390/s390.c (s390_function_profiler): Use
215 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
217 2002-10-15 Richard Henderson <rth@redhat.com>
219 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
220 as arguments. Bound DIGITS by the available buffer size.
221 (real_to_hexadecimal): Likewise.
222 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
223 (REAL_VALUE_TO_DECIMAL): Remove.
224 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
225 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
226 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
227 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
228 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
229 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
230 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
231 use real_to_decimal directly, and with the proper arguments.
232 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
234 2002-10-15 Jim Wilson <wilson@redhat.com>
236 * reload1.c (merge_assigned_reloads): After converting overlapping
237 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
239 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
241 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
243 * expr.c (do_tablejump): Fix typo in my previous commit.
245 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
247 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
249 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
251 * config/s390/s390.c (s390_split_branches): Add return
252 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
254 (find_base_register_in_addr): New function.
255 (find_base_register_ref): New function.
256 (replace_base_register_ref): New function.
258 (struct constant_pool): Add members pool_insn, insns, and anchor.
259 Remove member last_insn.
260 (s390_start_pool): Initialize them.
261 (s390_end_pool): Emit pool placeholder insn.
262 (s390_add_pool_insn): New function.
263 (s390_find_pool): Use insns bitmap instead of addresses.
264 (s390_dump_pool): Replace placeholder insn. Emit anchor.
265 Replace unspec 104 by local-pool-relative references.
266 (s390_output_constant_pool): Output anchor label if required.
267 (s390_output_symbolic_const): Handle unspec 104 and 105.
268 (s390_add_pool): Remove, replace by ...
269 (s390_add_constant, s390_find_constant): ... these new functions.
270 (s390_add_anchor): New function.
272 (s390_chunkify_pool): Delete, replace by ...
273 (s390_chunkify_start, s390_chunkify_finish,
274 s390_chunkify_cancel): ... these new functions.
275 (s390_optimize_prolog): Add parameter TEMP_REGNO.
276 Recompute register live data for special registers.
277 (s390_fixup_clobbered_return_reg): New function.
278 (s390_machine_dependent_reorg): Rewrite to use new
279 s390_chunkify_... routines.
281 config/s390/s390.md ("reload_base"): Rename to ...
282 ("reload_base_31"): ... this.
283 ("reload_base_64"): New insn.
284 ("reload_base2"): Remove.
285 ("reload_anchor"): New insn.
288 s390.c (s390_pool_overflow): Remove.
289 s390.h (s390_pool_overflow): Likewise.
290 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
292 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
294 * sh.md (movv8qi_i+2): Don't split if source is -1.
296 2002-10-15 Janis Johnson <janis187@us.ibm.com>
298 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
300 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
303 * loop.c (loop_regs_scan): Mark registers used for function
304 argument passing as MAY_NOT_OPTIMIZE.
306 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
308 * i386.md (movv2di_internal): New pattern.
309 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
310 (movv2di): New expander.
311 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
313 * i386.c (ix86_expand_timode_binop_builtin): Delete.
314 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
315 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
316 (ix86_expand_builtin): Likewise.
317 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
319 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
321 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
323 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
325 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
326 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
327 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
328 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
329 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
330 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
332 * xmmintrin.h (__m128i): Define as __v2di.
335 (expand_expr): Use DECL_RTL_SET_P.
337 2002-10-14 Roger Sayle <roger@eyesopen.com>
339 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
341 2002-10-14 Roger Sayle <roger@eyesopen.com>
342 Zack Weinberg <zack@codesourcery.com>
344 * config/i386/i386.c (k6_cost): Correct typo.
346 2002-10-14 Mark Mitchell <mark@codesourcery.com>
349 * alias.c (objects_must_conflict_p): Check honor_readonly when
350 examining TYPE_READONLY.
351 * function.c (assign_stack_temp_for_type): Likewise.
353 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
355 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
356 Swap zero extension arguments.
357 (umaxhi3): Fix instruction class.
359 (prefetch): Fix prefetch instructions.
361 (pkwb): Fix output constraint.
363 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
365 * config/mips/mips.c (print_operand): Increase buffer size for
368 2002-10-14 Richard Henderson <rth@redhat.com>
371 * gcse.c (adjust_libcall_notes): Revert last change.
372 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
374 2002-10-14 Andrew Haley <aph@redhat.com>
376 * tree-inline.c (remap_block): All local class initialization
377 flags go in the outermost scope.
378 (expand_call_inline): Call java_inlining_map_static_initializers.
379 (expand_call_inline): Call java_inlining_merge_static_initializers.
380 * java/lang.c (merge_init_test_initialization): New.
381 (java_inlining_merge_static_initializers): New.
382 (inline_init_test_initialization): New.
383 (java_inlining_map_static_initializers): New.
385 * tree-inline.c (expand_call_inline): Convert retvar to expected
388 2002-10-14 Graham Stott <graham.stott@btinternet.com>
390 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
392 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
394 * stmt.c: Fix typo in comment.
396 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
398 * c-common.c (c_common_type_for_mode): Add V2HImode case.
399 * tree.c (build_common_tree_nodes_2): Initialize
400 unsigned_V2HI_type_node and V2HI_type_node.
401 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
402 (unsigned_V2HI_type_node, V2HI_type_node): Define.
404 2002-10-14 Jakub Jelinek <jakub@redhat.com>
406 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
409 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
411 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
412 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
413 (MULTILIB_DIRNAMES): Remove long32.
414 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
415 (MULTILIB_REDUNDANT_DIRS): Remove.
417 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
419 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
420 * gcc.c (driver_self_specs): New variable.
421 (do_self_spec): New function.
422 (main): Use it to process driver_self_specs.
424 2002-10-13 Richard Henderson <rth@redhat.com>
426 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
428 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
432 * gcc.c (cpp_unique_options): Don't delete .d files.
433 Remove stray whitespace.
435 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
437 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
438 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
439 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
440 (pdp11_output_function_epilogue, output_ascii): Likewise.
441 (output_addr_const_pdp11): Likewise.
442 * pdp11.md (movdi): Use offsetable memory for floating store.
443 (lshrsi3, negsi2): Delete irrelevant comment.
445 2002-10-11 Geoffrey Keating <geoffk@apple.com>
447 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
448 not the address of the REG.
449 (struct cse_reg_info): Make subreg_ticked unsigned.
451 2002-10-11 Janis Johnson <janis187@us.ibm.com>
453 * doc/compat.texi: Add info about C++ libraries.
455 2002-10-11 Richard Henderson <rth@redhat.com>
458 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
460 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
462 * cfganal.c (dfs_enumerate_from): Use PARAMS.
463 * genautomata.c (output_insn_code_cases): Likewise.
464 * real.c (real_format): Likewise.
465 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
466 ensure value is promoted before doing subtraction.
468 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
470 * calls.c (expand_call): Simplify noreturn call.
473 * cfgbuild.c (make_edges): Create edge cache when we do have
475 * expr.c (do_tablejump): Note size of maximal jumptable.
476 * function.c (prepare_function_start): Zero out size.
477 * function.h (function): Add max_jumptable_ents.
479 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
481 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
483 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
484 register for mperm_w operation.
486 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
488 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
489 an integer, use simplify_gen_subreg.
491 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
493 * extend.texi (Vector Extensions): Remove comment about single
496 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
498 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
499 * function.c (insns_for_mem_hash): Likewise.
500 * varasm.c (STRHASH): Likewise.
502 2002-10-10 Stuart Hastings <stuart@apple.com>
504 * cse.c (struct cse_reg_info): Add subreg_ticked.
505 (SUBREG_TICKED): New.
506 (get_cse_reg_info): Initialize SUBREG_TICKED.
507 (mention_regs): Use it.
508 (invalidate): Set SUBREG_TICKED.
509 (invalidate_for_call): Likewise.
510 (addr_affects_sp_p): Likewise.
512 2002-10-10 Jakub Jelinek <jakub@redhat.com>
514 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
517 2002-10-10 Denis Chertykov <denisc@overta.ru>
519 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
521 * config/ip2k/libgcc.S: Combine routines used by function
524 2002-10-10 Jim Wilson <wilson@redhat.com>
526 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
529 2002-10-10 David Edelsohn <edelsohn@gnu.org>
531 * config/rs6000/aix52.h: New file.
532 * config/rs6000/t-aix52: New File.
533 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
534 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
536 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
539 * invoke.texi (-msse-math): Kill
540 (-msse): Add note to mfpmath=sse.
542 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
545 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
547 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
550 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
552 (default_compilers): Pass debug options when preprocessing
555 2002-10-06 Richard Henderson <rth@redhat.com>
557 * toplev.c (rest_of_compilation): Revert opt/2960 change.
559 2002-10-09 Zack Weinberg <zack@codesourcery.com>
562 * c-decl.c (start_decl): Unconditionally issue error for
564 (finish_decl): Remove special case for TYPE_DECL with initializer.
566 * doc/extend.texi: Delete "Naming Types" section. Change all
567 cross-references to that section to refer to "Typeof" instead.
568 Add the useful safe-max()-macro example from "Naming Types" to
569 "Typeof", rewritten using that extension. Add some compatibility
572 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
574 * loop.c: Revert 2002-08-15 change.
575 (LOOP_REGNO_NREGS): Ensure type is int.
577 2002-10-09 David Edelsohn <edelsohn@gnu.org>
579 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
580 which copies first FPR and clears second.
582 (floatditf2): Fix typo.
584 (fix_trunctfdi2): Same.
585 (fix_trunctfsi2): Same.
587 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
589 * conflict.c (arc_hash): Change return type to hashval_t.
590 * cselib.c (get_value_hash): Likewise.
591 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
592 state_hash, automata_list_hash): Likewise.
593 * read-rtl.c (def_hash): Likewise.
594 * tree.c (type_hash_hash): Likewise.
596 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
598 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
599 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
601 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
603 * sh.md (ffssi2): Fix emitted code.
605 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
607 * cse.c (insn_live_p): Pass insn pattern, not full insn
610 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
612 * cppmacro.c (paste_tokens): Only allow / to paste with =.
614 2002-10-09 David Edelsohn <edelsohn@gnu.org>
616 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
618 (movtf_internal): Reference correct displacement for second value
620 (movtf splitter): Correct generation of constants in 64-bit mode.
622 2002-10-09 Alan Modra <amodra@bigpond.net.au>
624 * libgcc2.c (__floatdisf): Properly cure double rounding.
626 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
628 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
629 * doc/cpp.texi (Common Predefined Macros): Document.
631 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
634 * doc/invoke.texi (Option Summary): List
635 -Wmissing-declarations as a C only option.
637 2002-10-08 Jakub Jelinek <jakub@redhat.com>
639 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
640 mno-app-regs|mcmodel=medany.
641 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
642 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
643 (CRTSTUFF_T_CFLAGS): Define.
645 2002-10-08 Roger Sayle <roger@eyesopen.com>
648 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
649 pool references that are constructed using LO_SUM.
651 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
653 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
655 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
657 * flags.h (warn_strict_aliasing): Declare.
658 * toplev.c (warn_strict_aliasing): Define.
659 (lang_independent_options): Add it.
660 * doc/invoke.texi (-Wstrict-aliasing): Document it.
662 2002-10-08 Zack Weinberg <zack@codesourcery.com>
664 * system.h (GCCBUGURL): Delete.
665 * version.c (bug_report_url): New. Add commentary about
666 modifying both these strings in modified distributions.
667 * version.h: Declare bug_report_url.
669 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
672 2002-10-08 Nick Clifton <nickc@redhat.com>
674 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
675 convert uint64_t into __ev64_opaque__.
676 (__ev_set_acc_s64): Likewise, but using signed types.
678 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
680 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
681 ("*doloop_di_long"): Likewise.
683 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
685 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
687 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
689 * config/mips/mips.md (define_attr cpu): Add r4111.
691 2002-10-08 Anthony Green <green@redhat.com>
693 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
695 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
697 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
698 for REAL_VALUE_TO_DECIMAL output.
700 2002-10-07 David Edelsohn <edelsohn@gnu.org>
702 * config/rs6000/rs6000.c (rs6000_override_options): Set
703 real_format_for_mode for IBM extended format, if enabled.
704 (easy_fp_constant): Add TFmode.
705 (rs6000_legitimize_address): Add TFmode.
706 (rs6000_legitimate_address): Same.
707 (function_arg_advance): TFmode uses two FPRs.
708 (rs6000_emit_prologue): Fix warning.
709 (rs6000_output_function_epilogue): Add TFmode.
710 (output_toc): Add TFmode.
711 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
712 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
713 * rs6000.md (movtf splitter): Load TFmode constant.
715 2002-10-07 Dale Johannesen <dalej@apple.com>
717 * rtl.h: Add NOTE_PRECONDITIONED.
719 * loop.c: Set loop_info->preconditioned from it.
720 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
722 2002-10-07 Richard Henderson <rth@redhat.com>
724 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
725 new rtx for comparing the argument pointer against zero.
726 (i960_va_start): Similarly.
728 2002-10-07 Richard Henderson <rth@redhat.com>
730 * config/i960/i960.md (*): Use TFmode, not XFmode.
731 * config/i960/i960.c (*): Likewise.
732 (i960_arg_size_and_align): Remove XFmode alignment hack.
733 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
734 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
735 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
736 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
738 2002-10-07 Richard Henderson <rth@redhat.com>
740 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
741 entry points; use void return value and argument list.
743 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
745 * t-pdp11: Add MULTILIB support for msoft-float.
746 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
748 * t-pdp11: Add LIB2FUNCS_EXTRA.
749 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
750 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
751 'fldd' to 'ldd', rename 'fstd' to 'std'.
752 (pdp11_output_function_epilogue): Likewise.
753 (output_move_quad): Make the comment gas compatible.
754 (output_ascii): Add preceding 0 to the octal constant.
755 (print_operand_address): Add pre_modify, post_modify.
756 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
757 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
758 with the indication of Paul Koning.
759 (PRINT_OPERAND): Fix floating constant.
760 * pdp11.md (movdi): Restrict matching pattern.
761 (movqi): Generalize the matching pattern.
762 (movdf): Restrict matching pattern.
763 (zero_extendqihi2): Change constant representation.
764 (floatsidf2): Fix wrong operands.
765 (addqi3): Fix wrong instruction name.
766 (subqi3): Fix wrong instruction name.
767 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
768 (xorsi3): Fix wrong insn.
769 (one_cmplqi2): Add two operand pattern.
772 (call): Add register indirect case.
773 (mod): Fix wrong subreg.
775 2002-09-25 Eric Botcazou <ebotcazou@libertysurf.fr>
776 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
779 * expr.c (expand_expr) [PLUS]: Simplify after the operands
780 have been expanded in EXPAND_NORMAL mode.
782 2002-10-06 Richard Henderson <rth@redhat.com>
784 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
786 2002-10-06 Richard Henderson <rth@redhat.com>
789 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
792 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
794 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
795 previously definitions.
797 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
799 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
800 * c-opts.c (find_opt): Similarly.
802 2002-10-05 Jakub Jelinek <jakub@redhat.com>
804 * gcc.c (set_multilib_dir): Don't access *end.
805 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
806 (print_multilib_info): Don't show paths starting with ".:".
807 * genmultilib: Add new option, "yes" if multilibs are enabled.
808 Update comments. If multilibs not enabled, print .:${osdirout}
809 for each directory. If multilibs are enabled, always print
810 ${dirout}:${osdirout}, even if the two are the same.
811 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
812 Pass all MULTILIB_* variables to genmultilib even if
813 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
815 2002-10-04 Bruce Korb <bkorb@gnu.org>
817 * fixinc/inclhack.def(hpux11_abs): use format fix
818 * fixinc/fixincl.x: regenerate
819 * fixinc/tests/base/stdlib.h: accommodate new fix test
821 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
823 * c-common.c (cb_register_builtins): Use really_no_inline.
825 2002-10-04 David Edelsohn <edelsohn@gnu.org>
827 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
828 copied instruction if the note is not loop invariant.
830 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
832 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
834 2002-10-04 Steve Ellcey <sje@cup.hp.com>
836 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
837 and -mhp-ld options to list of options. Add -mgnu-ld
838 and -mhp-ld option descriptions.
840 2002-10-04 Steve Ellcey <sje@cup.hp.com>
842 * fixinc/inclhack.def (hpux11_abs): New.
843 (stdio_va_list): change __va_list__ to __gnuc_va_list.
844 * fixinc/fixincl.x: Rebuild.
846 2002-10-04 Roger Sayle <roger@eyesopen.com>
848 * config/i386/i386.h (processor_costs): Add new fields fadd,
849 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
850 (RTX_COSTS): Use these fields to determine the RTX costs
851 of floating point addition/subtraction, multiplication,
852 division, fabs, negation and square root respectively.
853 * config/i386/i386.c (size_cost): Provide instruction sizes
854 for these new fields.
855 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
856 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
857 counts for these new fields for all x86 processor variants.
859 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
861 * mips.c (mips_const_double_ok): Delete unused variable.
863 * gengtype.c (rtx_next): Change type to int.
865 2002-10-04 Andreas Jaeger <aj@suse.de>
867 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
869 2002-10-04 Richard Henderson <rth@redhat.com>
871 * real.h (SIGNIFICAND_BITS): Add one more word.
872 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
873 * real.c (times_pten): New.
874 (real_to_decimal, real_from_string): Use it.
875 (sticky_rshift_significand): Use & to find modulus.
876 (rshift_significand, lshift_significand): Likewise.
877 (do_divide): Apply sticky bit after normalization.
878 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
880 2002-10-03 Andreas Jaeger <aj@suse.de>
882 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
883 to unsigned long, adjust printf format string.
884 (output_mangled_typename): Likewise.
886 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
888 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
889 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
890 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
891 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
892 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
893 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
894 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
895 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
897 2002-10-03 Mark Mitchell <mark@codesourcery.com>
899 * doc/invoke.texi (-Wabi): Document mangling bug.
901 2002-10-04 Alan Modra <amodra@bigpond.net.au>
903 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
904 name for the tbtab label that depends on the function asm name.
905 Don't output tbtab label unless optional_tbtab.
906 (output_mi_thunk): Formatting.
908 2002-10-03 Richard Henderson <rth@redhat.com>
910 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
911 * config/m68k/m68k.c (override_options): ... here.
912 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
913 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
914 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
915 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
917 2002-10-03 Richard Henderson <rth@redhat.com>
919 * real.h (struct real_value): Use ENUM_BITFIELD.
921 2002-10-03 Richard Henderson <rth@redhat.com>
923 * config/i960/i960.md (call, call_value): Use emit_call_insn.
925 2002-10-03 Steve Ellcey <sje@cup.hp.com>
927 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
929 2002-10-03 Steve Ellcey <sje@cup.hp.com>
931 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
932 * config/pa/pa.h (MASK_GNU_LD): New.
933 (TARGET_GNU_LD): New.
934 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
935 on gnu-ld and MASK_GNU_LD.
936 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
938 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
940 * i386.c (athlon_cost): Fix the move costs.
942 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
944 * final.c (final): Use symbol name as function name for profiling.
945 * profile.c (get_exec_counts): Likewise.
946 (branch_prob): Likewise.
948 2002-10-03 Jakub Jelinek <jakub@redhat.com>
950 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
952 2002-10-03 Jakub Jelinek <jakub@redhat.com>
954 * gcc.c (print_multi_os_directory): New variable.
955 (option_map): Support --print-multi-os-directory.
956 (struct prefix_list): Add os_multilib field.
957 (multilib_os_dir): New variable.
958 (static_specs): Add multilib_options.
959 (find_a_file): Add multilib argument. Search in GCC or OS multilib
961 (read_specs, execute): Update callers.
962 (find_file): Likewise. Don't prefix name with multilib_dir, instead
963 pass 1 as multilib option.
964 (display_help): Include --print-multi-os-directory.
965 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
966 (process_command): Update callers. Handle --print-multi-os-directory.
967 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
969 (main): Update find_a_file and add_prefix callers.
970 Handle print_multi_os_directory.
971 (struct mdswitchstr): New.
972 (mdswitches, n_mdswitches): New variables.
973 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
974 present on the command line nor their mutually incompatible
976 (default_arg): Optimize.
977 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
979 (print_multilib_info): Only print GCC multilib dir name, not OS
981 * genmultilib: Add osdirnames parameter. Output multilib_options
982 variable. If osdirnames is specified, output dirnames as
984 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
985 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
986 to compute libgcc_s soname and install path.
987 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
988 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
989 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
992 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
993 (SHLIB_SLIBDIR_SUFFIXES): Remove.
994 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
995 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
996 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
998 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
999 (SHLIB_SLIBDIR_SUFFIXES): Remove.
1000 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
1001 (STARTFILE_ARCH_SPEC): Remove.
1002 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
1003 (SHLIB_SLIBDIR_SUFFIXES): Remove.
1004 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1005 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
1006 (SHLIB_SLIBDIR_SUFFIXES): Remove.
1008 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1010 * predict.c (choose_function_section): Avoid choice for linkonce functions.
1012 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
1014 * i386.md (lea to mul peep2): Fix condition.
1016 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1018 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
1019 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
1021 2002-10-02 Richard Henderson <rth@redhat.com>
1024 * config/i386/i386.c (ix86_register_move_cost): Increase cost
1025 for secondary_memory_needed pairs.
1027 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
1029 * doc/vms.texi: Blow away false include file section.
1031 2002-10-02 Roger Sayle <roger@eyesopen.com>
1033 PR optimization/6627
1034 * toplev.c (force_align_functions_log): New global variable.
1035 * flags.h (force_align_functions_log): Add extern prototype.
1036 * varasm.c (assemble_start_function): Use it to force minimum
1038 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
1039 minimum function alignment to one byte.
1040 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
1041 the least significant bit of vtable member function pointers.
1042 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
1043 here from cp/cp-tree.h.
1045 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1047 * i386.c (print_operand_address): Use RIP addressing for offsetted
1050 2002-09-30 David S. Miller <davem@redhat.com>
1053 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
1054 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
1056 2002-10-01 Roger Sayle <roger@eyesopen.com>
1058 * unroll.c (loop_iterations): Revert 2002-09-08 change.
1060 2002-10-01 Richard Henderson <rth@redhat.com>
1062 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
1063 (real_to_hexadecimal): Likewise.
1064 * print-rtl.c (print_rtx): If we are linked with real.c, don't
1065 dump the XWINT fields of a floating point CONST_DOUBLE.
1067 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
1069 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
1071 2002-10-01 Richard Henderson <rth@redhat.com>
1073 * calls.c (precompute_register_parameters): Force non-legitimate
1074 constants into pseudos.
1076 2002-10-01 Nick Clifton <nickc@redhat.com>
1078 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
1079 to assembler template.
1081 2002-10-01 Richard Henderson <rth@redhat.com>
1083 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
1084 for TLS debug info to !DECL_EXTERNAL.
1086 2002-10-01 Matt Thomas <matt@3am-software.com>
1087 Jason Thorpe <thorpej@wasabisystems.com>
1089 * config.gcc (vax-*-netbsdelf*): Enable configuration.
1090 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
1091 if not already defined.
1092 * config/vax/elf.h: New file.
1093 * config/vax/netbsd-elf.h: New file.
1094 * config/vax/vax.c: Include "debug.h".
1095 (vax_output_function_prologue): Add dwarf2 support. Use
1096 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
1097 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
1098 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
1099 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
1100 (VAX_ISTREAM_SYNC): Remove.
1101 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
1102 (JUMP_TABLES_IN_TEXT_SECTION): Define.
1103 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
1104 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
1106 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1107 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
1108 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
1109 (INCOMING_RETURN_ADDR_RTX): Define.
1110 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
1111 (VUNSPEC_SYNC_ISTREAM): Define.
1112 (blockage): Use VUNSPEC_BLOCKAGE.
1113 (sync_istream): New insn.
1115 2002-10-01 Richard Henderson <rth@redhat.com>
1117 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
1118 (*call_value_pop, call, call_value): Add dwarf2 EH support.
1121 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
1124 * c-typeck.c (build_c_cast): Warn about type punning which breaks
1125 type based aliasing.
1127 2002-10-01 Mark Mitchell <mark@codesourcery.com>
1129 * stor-layout.c (update_alignment_for_field): New function.
1130 (place_union_field): Use it.
1131 (place_field): Likewise.
1133 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
1136 * gcc.c (cc1_options): Add space on -auxbase-strip.
1138 2002-10-01 Jim Wilson <wilson@redhat.com>
1140 * config/v850/v850.h (EPILOGUE_USES): Define.
1142 2002-09-30 Andrew Haley <aph@redhat.com>
1144 * flow.c (insn_dead_p): When using non-call-exceptions, don't
1145 eliminate insns that may trap.
1146 * cse.c (insn_live_p): Likewise.
1148 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1150 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
1151 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
1152 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
1153 * config/mips/mips.md: Apply same renaming here.
1155 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1157 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
1158 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
1159 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
1160 * config/mips/mips.md (define_attr cpu): Remove r4320.
1161 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
1163 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1165 * config/mips/mips.c (mips16_strings): New variable.
1166 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
1167 symbol in mips16_strings. Free the list.
1168 (mips_encode_section_info): Keep track of local strings.
1170 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1172 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
1173 (sordered_df, sordered_sf): Remove.
1174 * config/mips/mips.c (get_float_compare_codes): New fn.
1175 (gen_int_relational, gen_conditional_move): Use it.
1177 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1179 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
1180 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
1181 * config/mips/mips.c (fcc_register_operand): New function.
1182 (mips_emit_fcc_reload): New function, extracted from reload_incc.
1183 (override_options): Allow TFmode values in float registers
1185 * cnfig/mips/mips.md (reload_incc): Change destination prediate
1186 to fcc_register_operand. Remove misleading source constraint.
1187 Use mips_emit_fcc_reload.
1188 (reload_outcc): Duplicate reload_incc.
1190 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1192 * longlong.h: Partially synchronize with GMP-4.1 version:
1193 Use i370 definitions also for s390.
1194 Add generic definition of umul_ppmm in terms of smul_ppmm.
1195 [s390] (umul_ppmm): Remove.
1196 [s390] (smul_ppmm): Fix incorrect assembler constraints.
1197 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
1199 2002-09-30 Bob Wilson <bob.wilson@acm.org>
1201 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1202 Add new RL_REGS register class.
1203 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
1204 Call xtensa_preferred_reload_class for both input and output reloads.
1205 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
1206 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
1207 instead of either AR_REGS or GR_REGS classes.
1208 (xtensa_secondary_reload_class): Use new RL_REGS class.
1209 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
1211 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1213 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
1214 (pa_strip_name_encoding): Strip '@' and '*', in that order.
1215 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
1216 there is a '*' prefix in NAME.
1218 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
1220 * reload.c (push_reload): Handle subregs and secondary memory.
1221 * reload1.c (gen_reload): Likewise.
1223 * jump.c (reg_or_subregno): New function.
1224 * rtl.h (reg_or_subregno): Declare
1225 * unroll.c (find_splittable_givs): Handle subregs.
1227 2002-09-30 Mark Mitchell <mark@codesourcery.com>
1229 * store-layout.c (finish_record_layout): Add free_p parameter.
1230 (layout_type): Pass it.
1231 * tree.h (finish_record_layout): Update prototype.
1233 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
1235 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
1237 * gcse.c (cprop_jump): Check that the register has not
1239 (cprop_jump): Likewise.
1241 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
1243 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
1244 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
1245 that we have a SImode access, and only then if reload hasn't completed;
1246 for all other cases, use LO_REGS.
1248 2002-09-29 Richard Henderson <rth@redhat.com>
1250 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
1252 2002-09-29 Richard Henderson <rth@redhat.com>
1255 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
1258 2002-09-29 David Edelsohn <edelsohn@gnu.org>
1260 * real.h (ibm_extended_format): Declare.
1261 * real.c (encode_ibm_extended, decode_ibm_extended): New
1264 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1266 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
1268 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
1270 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1272 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
1274 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
1276 * builtins.def: Fix comment formatting.
1277 * c-common.def: Likewise.
1278 * cfgcleanup.c: Likewise.
1279 * combine.c: Likewise.
1280 * gengtype.c: Likewise.
1281 * params.def: Likewise.
1282 * predict.def: Likewise.
1283 * rtl.def: Likewise.
1284 * stab.def: Likewise.
1285 * stor-layout.c: Likewise.
1286 * tree.def: Likewise.
1287 * config/darwin.c: Likewise.
1288 * config/darwin.h: Likewise.
1289 * config/dbxcoff.h: Likewise.
1290 * config/elfos.h: Likewise.
1291 * config/fp-bit.c: Likewise.
1292 * config/freebsd-spec.h: Likewise.
1293 * config/interix.h: Likewise.
1294 * config/libgloss.h: Likewise.
1295 * config/linux-aout.h: Likewise.
1296 * config/linux.h: Likewise.
1297 * config/lynx-ng.h: Likewise.
1298 * config/lynx.h: Likewise.
1299 * config/netbsd-aout.h: Likewise.
1300 * config/netbsd.h: Likewise.
1301 * config/netware.h: Likewise.
1302 * config/psos.h: Likewise.
1303 * config/ptx4.h: Likewise.
1305 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
1307 * ChangeLog.4: Fix typos.
1308 * ChangeLog.6: Likewise.
1309 * FSFChangeLog.10: Likewise.
1310 * genattrtab.c: Fix comment typos.
1311 * haifa-sched.c: Likewise.
1314 * config/arm/arm.c: Likewise.
1315 * config/arm/crti.asm: Likewise.
1316 * config/arm/crtn.asm: Likewise.
1317 * config/frv/frv.c: Likewise.
1318 * config/frv/frv.md: Likewise.
1319 * config/h8300/h8300.md: Likewise.
1320 * config/i386/rtemself.h: Likewise.
1321 * config/ia64/unwind-ia64.c: Likewise.
1322 * config/ip2k/ip2k.h: Likewise.
1323 * config/m88k/m88k.c: Likewise.
1324 * config/m88k/m88k.md: Likewise.
1325 * config/mips/sr71k.md: Likewise.
1326 * config/mmix/mmix.c: Likewise.
1327 * config/rs6000/rs6000.c: Likewise.
1328 * config/sh/sh.md: Likewise.
1330 2002-09-26 Theodore A. Roth <troth@verinet.com>
1332 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
1333 * config/avr/avr.md: Ditto.
1335 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
1337 PR preprocessor/8055
1338 * cppmacro.c (stringify_arg): Do not overflow the buffer
1339 with the terminating NUL when the argument to be stringified
1342 2002-09-27 Richard Henderson <rth@redhat.com>
1344 * unroll.c (simplify_cmp_and_jump_insns): New.
1345 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
1346 instead of expand_simple_foo.
1348 2002-09-27 Richard Henderson <rth@redhat.com>
1350 PR optimization/7520
1351 * cfganal.c (flow_active_insn_p): New.
1352 (forwarder_block_p): Use it.
1354 2002-09-27 Richard Henderson <rth@redhat.com>
1356 * emit-rtl.c (active_insn_p): Revert last change.
1358 2002-09-27 Jakub Jelinek <jakub@redhat.com>
1360 * doc/extend.texi (tls_model): Document.
1361 * varasm.c (decl_tls_model): New.
1362 * c-common.c (handle_tls_model_attribute): New.
1363 (c_common_attribute_table): Add tls_model.
1364 * config/alpha/alpha.c (alpha_encode_section_info): Use
1366 * flags.h (enum tls_model, flag_tls_default): Move...
1367 * tree.h (enum tls_model, flag_tls_default): ...here.
1368 (decl_tls_model): New prototype.
1369 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
1370 * config/i386/i386.c (ix86_encode_section_info): Likewise.
1371 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
1374 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
1376 * LANGUAGES: Follow spelling conventions.
1377 * rtl.def: Likewise.
1378 * sbitmap.c: Likewise.
1379 * sched-int.h: Likewise.
1380 * sched-rgn.c: Likewise.
1381 * sibcall.c: Likewise.
1382 * simplify-rtx.c: Likewise.
1384 * stab.def: Likewise.
1386 * stor-layout.c: Likewise.
1387 * target.h: Likewise.
1388 * timevar.c: Likewise.
1389 * toplev.c: Likewise.
1390 * tree-dump.c: Likewise.
1391 * tree-inline.c: Likewise.
1393 * tree.def: Likewise.
1395 * unroll.c: Likewise.
1396 * varasm.c: Likewise.
1397 * vmsdbgout.c: Likewise.
1398 * treelang/treelang.texi: Likewise.
1399 * treelang/treetree.c: Likewise.
1401 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
1403 * config/h8300/h8300.c (compute_saved_regs): Use a macro
1404 instead of a hard register number.
1405 (get_shift_alg): Use an enumerated type instead of numbers.
1406 (h8300_shift_needs_scratch_p): Likewise.
1408 2002-09-26 David S. Miller <davem@redhat.com>
1410 PR optimization/7335
1411 * calls.c (emit_library_call_value_1): Passing args by reference
1412 converts a CONST function into a PURE one.
1414 2002-09-26 David Edelsohn <edelsohn@gnu.org>
1416 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
1418 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
1420 * config/rs6000/rs6000.c (rs6000_override_options): Allow
1421 function-sections and data-sections functionality on AIX.
1423 2002-09-26 David Edelsohn <edelsohn@gnu.org>
1424 Dale Johannesen <dalej@apple.com>
1426 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
1427 in RTL for sub-word loads from memory.
1429 2002-09-26 Richard Henderson <rth@redhat.com>
1432 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
1435 2002-09-26 Richard Henderson <rth@redhat.com>
1437 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
1439 2002-09-26 Chris Lattner <sabre@nondot.org>
1441 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
1442 handling undefined values.
1444 2002-09-26 Richard Henderson <rth@redhat.com>
1447 * emit-rtl.c (active_insn_p): Consider a clobber of the
1448 function return value to be active even after reload.
1450 2002-09-27 Alan Modra <amodra@bigpond.net.au>
1452 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
1453 by absolute loop increment, not loop increment.
1455 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
1457 * c-common.h: Follow spelling conventions.
1458 * cpplex.c: Likewise.
1459 * cpplib.h: Likewise.
1460 * gthr-dce.h: Likewise.
1461 * gthr-posix.h: Likewise.
1462 * optabs.c: Likewise.
1463 * output.h: Likewise.
1464 * profile.c: Likewise.
1465 * protoize.c: Likewise.
1466 * ra-rewrite.c: Likewise.
1468 * recog.c: Likewise.
1469 * reg-stack.c: Likewise.
1470 * regclass.c: Likewise.
1471 * regmove.c: Likewise.
1472 * reload.c: Likewise.
1473 * reload.h: Likewise.
1474 * reload1.c: Likewise.
1475 * reorg.c: Likewise.
1476 * resource.c: Likewise.
1478 * rtlanal.c: Likewise.
1480 2002-09-26 Steve Ellcey <sje@cup.hp.com>
1482 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
1485 2002-09-24 Eric Christopher <echristo@redhat.com>
1487 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
1488 * config/mips/elf64.h: Ditto.
1490 2002-09-24 Eric Christopher <echristo@redhat.com>
1492 * except.c (expand_builtin_extract_return_address): Handle case
1493 where Pmode != ptr_mode.
1495 2002-09-26 Steve Ellcey <sje@cup.hp.com>
1497 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
1499 2002-09-26 Steve Ellcey <sje@cup.hp.com>
1501 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
1503 2002-09-26 Igor Shevlyakov <igor@microunity.com>
1505 * combine.c (simplify_set): Don't call to force_to_mode if size
1506 of integer type is larger than HOST_BITS_PER_WIDE_INT.
1508 2002-09-26 Janis Johnson <janis187@us.ibm.com>
1510 * Makefile.in (qmtest-g++): Fix file path.
1512 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
1514 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1515 A + (-const) on RTX level, even for unsigned types.
1517 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
1519 * reload.c (dup_replacements): New function.
1520 (find_reloads): Use it to duplicate replacements at the top level
1521 of match_dup operands.
1523 2002-09-26 Miles Bader <miles@gnu.org>
1525 * v850.md ("length"): Change default value to 4.
1527 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
1529 * ChangeLog.1: Follow spelling conventions.
1530 * ChangeLog.4: Likewise.
1531 * ChangeLog.6: Likewise.
1532 * FSFChangeLog.11: Likewise.
1533 * doc/cpp.texi: Likewise.
1534 * doc/invoke.texi: Likewise.
1535 * doc/tm.texi: Likewise.
1537 2002-09-26 Nick Clifton <nickc@redhat.com>
1539 * config.gcc: Add x prefix to v850e case for handling
1542 2002-09-25 David S. Miller <davem@redhat.com>
1545 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
1548 2002-09-25 Richard Henderson <rth@redhat.com>
1550 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
1551 fp CONST_DOUBLE; use real_identical.
1553 2002-09-25 Mark Mitchell <mark@codesourcery.com>
1555 * doc/invoke.texi: Add more -Wabi examples.
1557 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
1559 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
1561 2002-09-24 Denis Chertykov <denisc@overta.ru>
1563 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
1564 cases of optimizing "add sp,w" to "inc sp".
1566 2002-09-24 Adam Nemet <anemet@lnxw.com>
1568 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
1569 epilogue for naked functions.
1571 2002-09-24 Adam Nemet <anemet@lnxw.com>
1572 Nick Clifton <nickc@redhat.com>
1574 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
1575 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
1578 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
1580 * config/s390/s390.c (preferred_la_operand_p): New function.
1581 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
1582 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
1583 ("*la_64_cc", "*la_31_cc", splitters): ... these.
1584 ("*la_31"): Deactivate for TARGET_64BIT.
1585 ("*la_31_and", "*la_31_and_cc"): New.
1587 2002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1589 * real.h (real_value): Make `exp' explicitly signed.
1591 2002-09-24 Kazu Hirata <kazu@cs.umass.edu>
1593 * config/elfos.h: Follow spelling conventions.
1594 * config/alpha/alpha.h: Likewise.
1595 * config/arc/arc.h: Likewise.
1596 * config/arm/arm.md: Likewise.
1597 * config/avr/avr.h: Likewise.
1598 * config/cris/cris.md: Likewise.
1599 * config/d30v/d30v.h: Likewise.
1600 * config/frv/frv.c: Likewise.
1601 * config/frv/frv.h: Likewise.
1602 * config/h8300/h8300.c: Likewise.
1603 * config/h8300/h8300.h: Likewise.
1604 * config/h8300/h8300.md: Likewise.
1605 * config/i386/cygwin.h: Likewise.
1606 * config/i386/i386.h: Likewise.
1607 * config/i386/sysv3.h: Likewise.
1608 * config/i960/i960.h: Likewise.
1609 * config/ia64/ia64.h: Likewise.
1610 * config/ia64/ia64.md: Likewise.
1611 * config/ip2k/ip2k.h: Likewise.
1612 * config/m32r/m32r.h: Likewise.
1613 * config/m68k/m68k.h: Likewise.
1614 * config/m88k/m88k.h: Likewise.
1615 * config/mcore/mcore.c: Likewise.
1616 * config/mcore/mcore.h: Likewise.
1617 * config/mcore/mcore.md: Likewise.
1618 * config/mips/mips.h: Likewise.
1619 * config/mmix/mmix.h: Likewise.
1620 * config/mmix/mmix.md: Likewise.
1621 * config/ns32k/netbsd.h: Likewise.
1622 * config/ns32k/ns32k.h: Likewise.
1623 * config/ns32k/ns32k.md: Likewise.
1624 * config/pa/pa.h: Likewise.
1625 * config/romp/romp.h: Likewise.
1626 * config/rs6000/rs6000.h: Likewise.
1627 * config/rs6000/rs6000.md: Likewise.
1628 * config/sparc/sparc.h: Likewise.
1629 * config/stormy16/stormy-abi: Likewise.
1630 * config/stormy16/stormy16.h: Likewise.
1631 * config/vax/vax.h: Likewise.
1633 2002-09-23 Zack Weinberg <zack@codesourcery.com>
1635 * version.c (version_string): Now const char[].
1636 * version.h: Update to match.
1638 2002-09-23 Richard Henderson <rth@redhat.com>
1640 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
1641 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
1642 (TARGET_SWITCHES): Don't reference them.
1643 * config/i386/i386.c (override_options): Use target_flags_explicit
1644 to examine bits set by the user.
1646 2002-09-23 Dale Johannesen <dalej@apple.com>
1648 * dbxout.c (dbxout_parms): Set current_sym_code for params
1649 passed on stack by invisible reference.
1651 2002-09-23 Richard Earnshaw <rearnsha@arm.com>
1653 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
1654 at least one byte of space.
1656 2002-09-23 Mark Mitchell <mark@codesourcery.com>
1658 * c-common.h (flag_abi_version): Fix typo in comment.
1659 * doc/invoke.texi (flag_abi_version): Document default value.
1661 2002-09-23 Hans-Peter Nilsson <hp@axis.com>
1663 * doc/extend.texi (Extended Asm): Clarify that overlap between
1664 asm-declared register variables used in an asm and the asm clobber
1665 list is not allowed.
1666 * stmt.c (decl_conflicts_with_clobbers_p): New function.
1667 (expand_asm_operands): Keep track of clobbered registers. Call
1668 decl_conflicts_with_clobbers_p for each input and output operand.
1669 If no conflicts found before, also do conflict sanity check when
1672 2002-09-23 Richard Henderson <rth@redhat.com>
1674 * c-common.c (cpp_define_data_format): Remove.
1675 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
1676 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
1677 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
1678 * doc/cpp.texi: Don't document them either.
1679 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
1680 __LONG_LONG_MAX__): Document.
1681 (__TARGET_FLOAT_FORMAT__): Remove.
1683 2002-09-23 Richard Henderson <rth@redhat.com>
1685 * real.c (do_multiply): Normalize U before addition.
1687 2002-09-23 Mark Mitchell <mark@codesourcery.com>
1689 * c-common.c (flag_abi_version): New variable.
1690 * c-common.h (flag_abi_version): Declare it.
1691 * c-opts.c (missing_arg): Add -fabi-version.
1692 (c_common_decode_option): Process -fabi-version.
1693 * doc/invoke.texi (-fabi-version): Document it.
1694 (-Wabi): Add information about bit-fields in unions.
1696 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
1698 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
1699 unless -fno-pic or -fno-PIC is specified.
1701 2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
1703 * c-common.c (preprocessing_trad_p): Define.
1704 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
1705 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
1706 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
1707 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
1708 * pa-linux.h (CPP_PREDEFINES): Delete.
1709 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
1710 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
1711 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
1712 (TARGET_OS_CPP_BUILTINS): Define.
1713 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
1714 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
1715 (SUBTARGET_SWITCHES): Provide default definition.
1716 (TARGET_OPTIONS): Reformat. Use N_() macro.
1717 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
1718 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
1719 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
1720 (TARGET_CPU_CPP_BUILTINS): Define.
1721 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
1722 * doc/invoke.texi (msio, mwsio): Document new hppa options.
1723 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
1724 preprocessing_trad_p().
1726 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
1728 * doc/install.texi: Document behavior of --with-headers and
1729 --with-libs when arguments are omitted.
1731 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>
1733 * dbxout.c: Follow spelling conventions.
1734 * defaults.h: Likewise.
1736 * diagnostic.h: Likewise.
1737 * doloop.c: Likewise.
1738 * dwarf2out.c: Likewise.
1739 * dwarfout.c: Likewise.
1740 * emit-rtl.c: Likewise.
1741 * except.c: Likewise.
1742 * explow.c: Likewise.
1743 * expmed.c: Likewise.
1746 * flags.h: Likewise.
1748 * fold-const.c: Likewise.
1749 * function.c: Likewise.
1750 * function.h: Likewise.
1752 * gcov-io.h: Likewise.
1755 * genattrtab.c: Likewise.
1756 * genconfig.c: Likewise.
1757 * genrecog.c: Likewise.
1758 * ggc-page.c: Likewise.
1760 * global.c: Likewise.
1761 * gthr-win32.h: Likewise.
1762 * integrate.c: Likewise.
1764 * langhooks.c: Likewise.
1765 * langhooks.h: Likewise.
1766 * line-map.h: Likewise.
1767 * local-alloc.c: Likewise.
1768 * longlong.h: Likewise.
1772 Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
1774 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
1776 Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
1778 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
1779 for -Os/TARGET_64BIT too.
1781 2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
1783 * ChangeLog: Follow spelling conventions.
1784 * ChangeLog.0: Likewise.
1785 * ChangeLog.1: Likewise.
1786 * ChangeLog.2: Likewise.
1787 * ChangeLog.3: Likewise.
1788 * ChangeLog.4: Likewise.
1789 * ChangeLog.5: Likewise.
1790 * ChangeLog.6: Likewise.
1791 * FSFChangeLog.10: Likewise.
1792 * FSFChangeLog.11: Likewise.
1793 * alias.c: Likewise.
1794 * basic-block.h: Likewise.
1795 * c-aux-info.c: Likewise.
1796 * c-common.c: Likewise.
1797 * c-common.h: Likewise.
1798 * c-decl.c: Likewise.
1799 * c-format.c: Likewise.
1800 * c-semantics.c: Likewise.
1801 * c-typeck.c: Likewise.
1802 * calls.c: Likewise.
1803 * cfganal.c: Likewise.
1804 * cfgloop.c: Likewise.
1805 * collect2.c: Likewise.
1806 * combine.c: Likewise.
1807 * conflict.c: Likewise.
1808 * cppexp.c: Likewise.
1809 * cppfiles.c: Likewise.
1810 * cpphash.h: Likewise.
1811 * cppinit.c: Likewise.
1812 * cpplex.c: Likewise.
1813 * cpplib.c: Likewise.
1814 * cpplib.h: Likewise.
1815 * cppmacro.c: Likewise.
1818 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
1820 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
1822 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
1823 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
1824 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
1826 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
1829 * cse.c (fold_rtx): Calculate old_cost before we fold each
1832 2002-09-21 Richard Henderson <rth@redhat.com>
1834 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
1835 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
1836 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
1837 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
1838 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
1839 * doc/cpp.texi: Don't document them.
1841 2002-09-21 Richard Henderson <rth@redhat.com>
1843 * c-common.c (builtin_define_float_constants): Use real_format
1844 to get the floating-point parameters.
1846 2002-09-21 Richard Henderson <rth@redhat.com>
1848 * real.c (struct real_format): Move to real.h.
1849 (real_format_for_mode): Rename from fmt_for_mode; update all users;
1850 initialize with ieee defaults.
1851 (real_to_target_fmt, real_from_target_fmt): New.
1852 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1853 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1854 ieee_quad_format, i370_single_format, i370_double_format,
1855 c4x_single_format, c4x_extended_format): Rename from s/_format//.
1856 (ieee_quad_format): Fix emin.
1857 (format_for_size, init_real_once): Remove.
1858 * real.h (struct real_format): Move from real.c.
1859 (real_format_for_mode): Declare.
1860 (real_to_target_fmt, real_from_target_fmt): Declare.
1861 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1862 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1863 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
1864 i370_single_format, i370_double_format, c4x_single_format,
1865 c4x_extended_format): Declare.
1866 * toplev.c (do_compile): Don't call init_real_once.
1868 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1869 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1871 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
1872 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
1873 * config/alpha/alpha.c (override_options): Set real_format_for_mode
1874 for VAX, if enabled.
1876 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
1879 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
1880 * config/i370/i370.c (override_options): New.
1881 * config/i370/i370-protos.h: Update.
1883 * config/i386/i386.c (override_options): Set real_format_for_mode
1884 for Intel 80-bit extended.
1885 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1887 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
1888 (OVERRIDE_OPTIONS): Move code...
1889 * config/i960/i960.c (i960_initialize): ... here. Set
1890 real_format_for_mode for Intel 80-bit extended.
1892 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
1893 for Intel 80-bit extended, if enabled.
1895 * config/m68k/m68k.c (override_options): Set real_format_for_mode
1896 for Motorola 96-bit extended.
1898 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
1899 * config/vax/vax.c (override_options): New.
1900 * config/vax/vax-protos.h: Update.
1902 2002-09-21 Alan Modra <amodra@bigpond.net.au>
1904 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
1907 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
1908 insns. Supply missing clobber of scratch reg.
1910 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
1912 * config/m32r/m32r.c: Follow spelling conventions.
1913 * config/m32r/m32r.h: Likewise.
1914 * config/m32r/m32r.md: Likewise.
1915 * config/m68k/m68k.c: Likewise.
1916 * config/m88k/m88k.c: Likewise.
1917 * config/mcore/mcore.c: Likewise.
1918 * config/mips/mips.c: Likewise.
1919 * config/mips/mips.h: Likewise.
1920 * config/mmix/mmix.c: Likewise.
1921 * config/mn10200/mn10200.c: Likewise.
1922 * config/ns32k/ns32k.h: Likewise.
1923 * config/pa/pa.c: Likewise.
1924 * config/pa/pa64-linux.h: Likewise.
1925 * config/pdp11/pdp11.h: Likewise.
1926 * config/romp/romp.c: Likewise.
1927 * config/romp/romp.h: Likewise.
1928 * config/rs6000/eabi.asm: Likewise.
1929 * config/rs6000/linux64.h: Likewise.
1930 * config/rs6000/rs6000.c: Likewise.
1931 * config/rs6000/rs6000.h: Likewise.
1932 * config/rs6000/rs6000.md: Likewise.
1933 * config/rs6000/sysv4.h: Likewise.
1934 * config/rs6000/xcoff.h: Likewise.
1936 2002-09-20 Jim Wilson <wilson@redhat.com>
1938 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
1940 2002-09-20 Jakub Jelinek <jakub@redhat.com>
1942 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
1943 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
1944 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
1945 (legitimate_address_p): Likewise.
1946 (legitimize_address): Use @gotntpoff and @indntpoff.
1947 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
1948 (output_addr_const_extra): Likewise.
1950 2002-09-20 Jim Wilson <wilson@redhat.com>
1952 * combine.c (try_combine): When split an instruction pair, where the
1953 first has a sign_extend src, verify that the src and dest modes match.
1955 2002-09-20 Richard Henderson <rth@redhat.com>
1957 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
1958 (override_options): Do not initialize them.
1959 (mips_const_double_ok): Allow no fp constants except zero,
1960 and not even that for mips16.
1961 (const_float_1_operand): Use dconst1.
1962 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
1963 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
1964 Don't allow arbitrary constants; fix predicates and C constraint.
1966 2002-09-20 Neil Booth <neil@daikokuya.co.uk>
1968 * cppmacro.c: Don't warn about function-like macros without
1969 '(' during pre-expansion.
1971 2002-09-20 Jim Wilson <wilson@redhat.com>
1973 * config/v850/v850.c (current_function_anonymous_args): Delete.
1974 (expand_prologue): Use current_function_args_info.anonymous_args.
1975 (expand_epilogue): Delete use of current_function_anonymous_args.
1976 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
1977 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
1978 (current_function_anonymous_args): Delete extern declaration.
1979 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
1981 2002-09-20 Geoffrey Keating <geoffk@apple.com>
1983 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
1984 to load_macho_picbase.
1985 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
1986 (load_macho_picbase): Take the symbol to use as a parameter.
1987 (macho_correct_pic): New insn.
1988 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
1990 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
1991 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
1992 (CAN_ELIMINATE): Likewise.
1993 (INITIAL_ELIMINATION_OFFSET): Likewise.
1994 (TOC_REGISTER): Likewise.
1996 2002-09-20 Richard Henderson <rth@redhat.com>
1998 * real.c (real_hash): New.
1999 * real.h: Declare it.
2000 * cse.c (canon_hash): Use it.
2001 * cselib.c (hash_rtx): Likewise.
2002 * emit-rtl.c (const_double_htab_hash): Likewise.
2003 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
2004 * varasm.c (struct rtx_const): Reduce vector size; separate
2005 integer and fp vectors.
2007 (const_hash_1): Rename from const_hash. Use real_hash. Do not
2008 take modulus MAX_HASH_TABLE.
2009 (const_hash): New. Do take modulus MAX_HASH_TABLE.
2010 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
2011 (SYMHASH): Don't use HASHBITS.
2012 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
2013 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
2014 (simplify_subtraction): Fix kind comparison.
2015 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
2016 Use a union to pun integer array.
2017 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
2018 only hash two words of integral CONST_DOUBLE.
2020 2002-09-20 Steve Ellcey <sje@cup.hp.com>
2022 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
2023 (STARTFILE_PREFIX_SPEC): New.
2024 (LINK_SPEC): Modify.
2028 2002-09-20 Jakub Jelinek <jakub@redhat.com>
2030 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
2031 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
2033 2002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2035 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
2036 Add clobber of the condition code register.
2038 2002-09-20 Richard Henderson <rth@redhat.com>
2040 * real.c (do_fix_trunc): Static.
2041 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
2042 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
2043 encode_i370_single, encode_i370_double, encode_c4x_single,
2044 encode_c4x_extended): Add default abort case.
2046 2002-09-20 Richard Henderson <rth@redhat.com>
2048 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
2049 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
2050 (struct realvaluetype): Remove.
2051 (REAL_VALUE_TYPE): Use struct real_value.
2052 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
2053 (test_real_width): New.
2054 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
2055 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
2056 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
2057 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
2058 real_to_integer, real_to_integer2, real_to_decimal,
2059 real_to_hexadecimal, real_from_string, real_from_integer,
2060 real_inf, real_nan, real_2expN, real_convert, real_to_target,
2061 real_from_target): Likewise.
2062 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
2063 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
2065 2002-09-20 Richard Henderson <rth@redhat.com>
2067 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
2068 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
2069 * defaults.h: ... here.
2070 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
2071 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
2072 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
2073 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
2075 2002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
2077 * config/mmix/mmix.md ("negdf2"): Rewrite.
2078 ("*expanded_negdf2"): New.
2080 2002-09-19 Jim Wilson <wilson@redhat.com>
2082 * combine.c (simplify_set): When optimizing a subreg src with a
2083 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
2085 2002-09-19 Dale Johannesen <dalej@apple.com>
2086 * combine.c (make_extraction): Don't create
2089 2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
2091 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
2092 and STRICT_LOW_PART within SET_DEST.
2093 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
2094 splitters, replacing pre-reload splitters.
2095 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
2096 "*zero_extendqihi2_31"): New insns.
2097 ("*zero_extendqihi2_64"): Do not clobber CC.
2099 2002-09-19 Steve Ellcey <sje@cup.hp.com>
2101 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
2102 (DTORS_SECTION_ASM_OP): Ditto.
2103 (READONLY_DATA_SECTION_ASM_OP): Moved.
2104 (DATA_SECTION_ASM_OP): New.
2105 (SDATA_SECTION_ASM_OP): New.
2106 (BSS_SECTION_ASM_OP): New.
2107 (SBSS_SECTION_ASM_OP): New.
2108 (TEXT_SECTION_ASM_OP): New.
2110 2002-09-19 Kazu Hirata <kazu@cs.umass.edu>
2112 * config/fp-bit.c: Follow spelling conventions.
2113 * config/d30v/d30v.c: Likewise.
2114 * config/d30v/d30v.h: Likewise.
2115 * config/fr30/fr30.c: Likewise.
2116 * config/fr30/fr30.h: Likewise.
2117 * config/fr30/fr30.md: Likewise.
2118 * config/frv/frv.c: Likewise.
2119 * config/frv/frv.h: Likewise.
2120 * config/h8300/h8300.c: Likewise.
2121 * config/h8300/lib1funcs.asm: Likewise.
2122 * config/i370/i370.c: Likewise.
2123 * config/i386/i386.h: Likewise.
2124 * config/i386/i386.md: Likewise.
2125 * config/i386/pentium.md: Likewise.
2126 * config/i386/winnt.c: Likewise.
2127 * config/i960/i960.c: Likewise.
2128 * config/ia64/ia64.h: Likewise.
2129 * config/ip2k/ip2k.c: Likewise.
2130 * config/ip2k/ip2k.h: Likewise.
2131 * config/ip2k/ip2k.md: Likewise.
2132 * config/ip2k/libgcc.S: Likewise.
2134 2002-09-19 Stephen Clarke <stephen.clarke@superh.com>
2136 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
2137 (GOTOFF_P): Extend to allow gotoff plus constant.
2139 2002-09-18 Richard Henderson <rth@redhat.com>
2141 * ifcvt.c (noce_process_if_block): Correctly detect X modified
2142 with INSN_B before COND_EARLIEST. Don't check A and B for
2143 modification in condition range. Reorder INSN_B for A==B properly.
2144 (if_convert): Iterate until no matches for a block.
2146 2002-09-18 Richard Henderson <rth@redhat.com>
2148 * calls.c (store_one_arg): Rename default_align to parm_align;
2149 always adjust parm_align for downward padding.
2151 2002-09-18 Richard Henderson <rth@redhat.com>
2153 * toplev.c (backend_init): Move init_real_once invocation ...
2154 (do_compile): ... here.
2156 2002-09-18 Richard Henderson <rth@redhat.com>
2158 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
2159 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
2161 2002-09-18 Richard Henderson <rth@redhat.com>
2163 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
2165 2002-09-19 Alan Modra <amodra@bigpond.net.au>
2167 * config/rs6000/rs6000.md: (floatdisf2): Rename to
2168 floatdisf2_internal1.
2169 (floatdisf2): New define_expand.
2170 (floatdisf2_internal2): Likewise.
2172 2002-09-18 Richard Henderson <rth@redhat.com>
2174 * real.c (sticky_rshift_significand): Collect sticky as
2175 unsigned long, not bool.
2177 2002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
2179 * config/s390/s390.c (s390_address_cost): New function.
2180 config/s390/s390-protos.h (s390_address_cost): Add prototype.
2181 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
2182 (RTX_COST): Use COSTS_N_INSNS.
2184 2002-09-18 Douglas Rupp <rupp@gnat.com>
2185 Donn Terry <donnte@microsoft.com>
2187 * stor-layout.c (place_field): Handle alignment of whole
2188 structures when MSVC compatible bitfields are involved.
2189 Change method of computing location of MS bitfields to
2190 be compatible with #pragma pack(n).
2192 * tree.h (record_layout_info): Add new field
2193 remaining_in_alignment.
2195 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
2196 (pragma pack): Add paragraph on MSVC bit-field packing.
2198 2002-09-18 Richard Earnshaw (reanrsha@arm.com)
2200 PR optimization/7967
2201 * arm.md (ne_zeroextractsi): Add clobber of the condition code
2204 2002-09-18 Kazu Hirata <kazu@cs.umass.edu>
2206 * config/s390/s390.c: Follow spelling conventions.
2207 * config/sh/lib1funcs.asm: Likewise.
2208 * config/sh/sh.c: Likewise.
2209 * config/sh/sh.h: Likewise.
2210 * config/sparc/sparc.c: Likewise.
2211 * config/sparc/sparc.h: Likewise.
2212 * config/sparc/sparc.md: Likewise.
2213 * config/stormy16/stormy16.c: Likewise.
2214 * config/stormy16/stormy16.h: Likewise.
2215 * config/v850/v850.c: Likewise.
2216 * config/v850/v850.h: Likewise.
2217 * config/vax/vax.c: Likewise.
2218 * config/vax/vax.h: Likewise.
2220 2002-09-18 Nick Clifton <nickc@redhat.com>
2222 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
2223 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
2224 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
2226 2002-09-17 Zack Weinberg <zack@codesourcery.com>
2228 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
2229 statement that the only translation is to en_UK.
2231 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
2233 * config/alpha/alpha.c: Follow spelling conventions.
2234 * config/alpha/alpha.h: Likewise.
2235 * config/alpha/alpha.md: Likewise.
2236 * config/arc/arc.h: Likewise.
2237 * config/arm/arm.c: Likewise.
2238 * config/arm/arm.h: Likewise.
2239 * config/arm/arm.md: Likewise.
2240 * config/arm/pe.c: Likewise.
2241 * config/arm/unknown-elf.h: Likewise.
2242 * config/avr/avr.c: Likewise.
2243 * config/avr/avr.h: Likewise.
2244 * config/c4x/c4x.c: Likewise.
2245 * config/cris/cris.c: Likewise.
2246 * config/cris/cris.h: Likewise.
2248 2002-09-17 Samuel Figueroa <figueroa@apple.com>
2250 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
2251 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
2252 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
2254 2002-09-17 Dale Johannesen <dalej@apple.com>
2256 * cfgcleanup.c (try_forward_edges): Do not forward a
2257 branch to just after a loop exit before loop optimization;
2258 this interfered with doloop detection.
2260 2002-09-17 Nick Clifton <nickc@redhat.com>
2262 * config/arm/arm.c (output_return_instruction): Do not
2263 writeback the stack pointer when it is being loaded.
2264 (arm_output_epilogue): Likewise.
2266 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
2268 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
2269 generate a pseudo reg that receives the result of a libcall.
2270 (prepare_float_lib_cmp): Likewise.
2272 2002-09-17 Steve Ellcey <sje@cup.hp.com>
2274 * config/ia64/elf.h: Remove CPP_PREDEFINES.
2276 Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
2278 Fix PR/7014 and related objc bugs:
2279 * c-typeck.c (comp_target_types): Added a reflexive argument.
2280 Pass it to ObjC when/if calling objc_comptypes(). Updated all
2281 callers to provide the appropriate reflexive argument.
2282 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
2283 typechecking for all cases of comparisons and assignments,
2284 particularly the obscure and less common ones involving protocols.
2286 2002-09-17 Nick Clifton <nickc@redhat.com>
2288 * machmode.def (V1DImode): New mode. A single element vector.
2289 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
2290 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
2291 * tree.c (build_common_tree_nodes_2): Build
2292 unsigned_V1DI_type_node and V1D1_type_node.
2293 * c-common.c (c_common_type_for_mode): Return
2294 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
2295 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
2297 Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
2299 * doc/objc.texi (Constant string objects): Extended documentation
2300 to make clear that the constant string class ivar layout is
2303 2002-09-17 Roger Sayle <roger@eyesopen.com>
2305 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
2306 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
2308 2002-09-16 Richard Henderson <rth@redhat.com>
2310 * expr.c (emit_block_move): Set memory block size as appropriate
2313 2002-09-16 Richard Henderson <rth@redhat.com>
2316 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
2318 2002-09-16 Richard Henderson <rth@redhat.com>
2320 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
2321 as well as OFFSET for BITPOS.
2323 2002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
2325 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
2326 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
2328 * doc/invoke.texi: Mention new aliases.
2330 2002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
2332 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
2333 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
2335 * function.c (pad_below): Always compile.
2336 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
2337 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
2338 Pad below when the argument is not in a register and the padding
2339 direction is downward.
2341 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
2342 (PAD_VARARGS_DOWN): Define.
2343 * pa.c (function_arg_padding): Revise padding directions to make them
2344 compatible with the 32 and 64-bit runtime architecture documentation.
2345 (hppa_va_arg): Add code to handle variable and size zero arguments
2346 passed by reference on TARGET_64BIT. Reformat.
2347 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
2348 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
2349 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
2351 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
2352 (RETURN_IN_MEMORY): Return size zero types in memory.
2353 (FUNCTION_VALUE): Return TFmode in general registers.
2354 (MUST_PASS_IN_STACK): Define.
2355 (FUNCTION_ARG_BOUNDARY): Simplify.
2356 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
2358 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
2360 2002-09-16 Richard Henderson <rth@redhat.com>
2362 * real.c (do_fix_trunc): New.
2363 (real_arithmetic): Call it.
2364 * simplify-rtx.c (simplify_unary_operation): Handle FIX
2365 with a floating-point result mode.
2367 2002-09-16 Richard Henderson <rth@redhat.com>
2369 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
2370 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
2371 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
2372 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
2373 * builtins.c (fold_builtin_nan): New.
2374 (fold_builtin): Call it.
2375 * real.c (real_nan): Parse a non-empty string.
2376 (round_for_format): Fix NaN significand truncation.
2377 * real.h (real_nan): Return bool.
2378 * doc/extend.texi: Document new builtins.
2380 2002-09-16 Jason Merrill <jason@redhat.com>
2381 Danny Smith <dannysmith@users.sourceforge.net>
2383 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
2384 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
2385 (i386_pe_mark_dllimport): Not here.
2387 2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
2389 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
2391 2002-09-16 Geoffrey Keating <geoffk@redhat.com>
2393 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
2394 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
2396 (rs6000_emit_cmove): Use real_isinf not target_isinf.
2398 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
2400 * calls.c (emit_library_call_value_1): Don't refer to
2402 * optabs.c (prepare_float_lib_cmp): Likewise.
2404 2002-09-16 Geoffrey Keating <geoffk@apple.com>
2406 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
2409 The following changes are merged from pch-branch:
2411 * doc/gty.texi (GTY Options): Document %a.
2412 * gengtype.c (do_scalar_typedef): New function.
2413 (process_gc_options): Handle `length' option.
2414 (set_gc_used_type): A pointer to an array of structures doesn't
2415 qualify as a pointer to a structure.
2416 (output_escaped_param): Add `%a' escape.
2417 (write_gc_structure_fields): Allow 'desc' on array of unions.
2418 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
2421 * gengtype.c (enum rtx_code): Make global.
2422 (rtx_format): Make global.
2424 (gen_rtx_next): New.
2425 (write_rtx_next): New.
2426 (adjust_field_rtx_def): Skip fields marked by chain_next.
2427 (open_base_files): Delete redundant prototype.
2428 (write_enum_defn): New.
2429 (output_mangled_typename): Correct abort call.
2430 (write_gc_marker_routine_for_structure): Handle chain_next and
2432 (finish_root_table): Don't output redundant \n.
2433 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
2434 * c-tree.h (union lang_tree_node): Add chain_next option.
2436 * gengtype.h (NUM_PARAM): New definition.
2437 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
2438 * gengtype.c (find_param_structure): New.
2439 (adjust_field_type): Handle param<n>_is option.
2440 (process_gc_options): Detect use_params option. Update callers.
2441 (set_gc_used_type): Add 'param' parameter, update callers. Handle
2442 'use_params' option.
2443 (open_base_files): Add splay-tree.h to list of files included.
2444 (output_mangled_typename): New.
2445 (write_gc_structure_fields): Update 'param' parameter to support
2446 multiple parameters. Change name mangling. Allow parameterized
2447 fields to have an apparent scalar type. Handle param<n>_is options,
2449 (write_gc_marker_routine_for_structure): Update for change to name
2450 mangling. Better guess the output file for parameterized types.
2451 (write_gc_types): Update for change to name mangling.
2452 (write_gc_root): Update for change to name mangling. Handle (ignore)
2453 param<n>_is options.
2454 * doc/gty.texi (GTY Options): Add description of param<n>_is
2455 options, use_params option.
2456 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
2457 * gengtype-lex.l: Produce token for param<n>_is.
2458 * gengtype-yacc.y: Parse param<n>_is.
2460 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
2462 * rtl.c: Update comment describing rtx_format.
2463 * rtl.h (union rtunion): Separate definition and typedef.
2464 (struct rtx_def): Use gengtype to mark.
2465 * Makefile.in (gengtype.o): Also depend on rtl.def.
2466 * ggc.h (ggc_mark_rtx_children): Delete prototype.
2467 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
2468 * ggc-common.c (ggc_mark_rtx_children): Delete.
2469 (ggc_mark_rtx_children_1): Delete.
2470 (gt_ggc_m_rtx_def): Delete.
2471 * gengtype.c (adjust_field_rtx_def): New.
2472 (adjust_field_type): Call adjust_field_rtx_def.
2473 (write_gc_structure_fields): Add 'default' case to switch if none
2474 is specified; remove unused code.
2476 * tree.h (struct tree_exp): Update for change to meaning
2478 * gengtype.c (adjust_field_tree_exp): New function.
2479 (adjust_field_type): Handle `tree_exp' special here.
2480 (write_gc_structure_fields): Don't handle `tree_exp' special here.
2481 Handle new `dot' option.
2483 * gengtype.h: Make `info' a pointer-to-const.
2484 * gengtype-yacc.y (yacc_ids): Use xasprintf.
2486 * gengtype.c (write_gc_structure_fields): Remove implementation
2487 of `always' option, add `default' option.
2488 * doc/gty.texi (GTY Options): Remove documentation of `always',
2491 2002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
2493 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
2495 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2497 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
2499 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
2500 instead of the *-protos.h file directly.
2501 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
2502 * darwin.c (machopic_output_stub): Move prototype ...
2503 * darwin-protos.h (machopic_output_stub): ... here.
2504 * rs6000-protos.h (machopic_output_stub): Don't declare.
2506 2002-09-16 Richard Henderson <rth@redhat.com>
2508 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
2510 2002-09-16 Richard Henderson <rth@redhat.com>
2512 * real.c, real.h: Rewrite from scratch.
2514 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
2515 (paranoia): New target.
2516 * builtins.c (fold_builtin_inf): Use new real.h interface.
2517 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
2518 * c-lex.c (interpret_float): Likewise.
2519 * emit-rtl.c (gen_lowpart_common): Likewise.
2520 * optabs.c (expand_float): Use real_2expN.
2521 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
2522 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
2523 (FLOAT_WORDS_BIG_ENDIAN): New.
2524 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
2525 directly to REAL_VALUE_NEGATIVE.
2526 * loop.c (canonicalize_condition): Likewise.
2527 * simplify-rtx.c: Include tree.h.
2528 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
2529 with floating-point result modes.
2530 * toplev.c (backend_init): Call init_real_once.
2532 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
2533 * tree.c (build_real): Likewise.
2534 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
2535 float_values, inited_float_values, check_float_value): Remove.
2536 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
2537 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
2538 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
2539 (VAX_HALFWORD_ORDER): Remove.
2541 2002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
2543 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
2544 (s390_load_address): ... this new function.
2545 (s390_decompose_address): Allow the argument pointer and all
2546 virtual registers as 'pointer' registers.
2547 (s390_expand_plus_operand): Use s390_load_address.
2548 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
2549 ("force_la_31"): New insn pattern.
2550 config/s390/s390-protos.h (legitimize_la_operand): Remove.
2551 (s390_load_address): Add prototype.
2553 * config/s390/s390.c: Include "optabs.h".
2554 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
2555 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
2556 s390_expand_cmpstr): Add prototypes.
2557 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
2558 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
2559 for operands 0 and 1 to "memory_operand". Add type attribute.
2560 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
2561 for operands 0 and 1 to "memory_operand". Add type attribute.
2562 ("movstrdi_long", "movstrsi_long"): Remove.
2563 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
2564 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
2565 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
2566 ("clrstrsico"): Remove, replace by ...
2567 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
2568 ("clrstrsi_64"): Rename to "clrstr_long_64".
2569 ("clrstrsi_31"): Rename to "clrstr_long_31".
2570 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
2571 ("cmpstr_const"): Remove, replace by ...
2572 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
2573 ("cmpstr_64"): Rename to "cmpstr_long_64".
2574 ("cmpstr_31"): Rename to "cmpstr_long_31".
2576 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
2578 * ABOUT-NLS: Follow spelling conventions.
2579 * ChangeLog: Likewise.
2580 * ChangeLog.1: Likewise.
2581 * ChangeLog.2: Likewise.
2582 * ChangeLog.3: Likewise.
2583 * ChangeLog.4: Likewise.
2584 * ChangeLog.5: Likewise.
2585 * ChangeLog.6: Likewise.
2586 * FSFChangeLog.10: Likewise.
2587 * FSFChangeLog.11: Likewise.
2588 * c-common.c: Likewise.
2589 * c-lex.c: Likewise.
2590 * c-objc-common.c: Likewise.
2591 * cppexp.c: Likewise.
2592 * cppinit.c: Likewise.
2593 * cpplex.c: Likewise.
2594 * doloop.c: Likewise.
2596 * function.c: Likewise.
2597 * integrate.c: Likewise.
2599 * reg-stack.c: Likewise.
2600 * reload.h: Likewise.
2603 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2605 * ChangeLog: Follow spelling conventions.
2606 * ChangeLog.0: Likewise.
2607 * ChangeLog.1: Likewise.
2608 * ChangeLog.2: Likewise.
2609 * ChangeLog.4: Likewise.
2610 * ChangeLog.6: Likewise.
2611 * config.gcc: Likewise.
2612 * dwarfout.c: Likewise.
2613 * reload1.c: Likewise.
2614 * simplify-rtx.c: Likewise.
2615 * unwind-sjlj.c: Likewise.
2616 * config/avr/avr.h: Likewise.
2617 * config/d30v/d30v.h: Likewise.
2618 * config/frv/frv.c: Likewise.
2619 * config/frv/frv.h: Likewise.
2620 * config/ip2k/ip2k.h: Likewise.
2621 * config/m88k/m88k-move.sh: Likewise.
2622 * config/stormy16/stormy16.c: Likewise.
2623 * config/stormy16/stormy16.h: Likewise.
2624 * doc/extend.texi: Likewise.
2625 * doc/interface.texi: Likewise.
2626 * doc/invoke.texi: Likewise.
2627 * doc/md.texi: Likewise.
2628 * doc/rtl.texi: Likewise.
2629 * doc/tm.texi: Likewise.
2630 * doc/trouble.texi: Likewise.
2631 * ginclude/float.h: Likewise.
2632 * treelang/treelang.texi: Likewise.
2634 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2636 * i386-protos.h (i386_pe_dllexport_name_p,
2637 i386_pe_dllimport_name_p, i386_pe_unique_section,
2638 i386_pe_declare_function_type, i386_pe_record_external_function,
2639 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
2641 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
2642 * i386/t-interix (winnt.o): Likewise.
2644 * v850-protos.h (v850_output_addr_const_extra): Prototype.
2646 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
2648 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
2649 MIPS ABI CPP macros.
2650 (TARGET_CPU_CPP_BUILTINS): Redefine.
2651 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
2652 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
2654 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2656 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
2658 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2660 * ChangeLog: Follow spelling conventions.
2661 * ChangeLog.0: Likewise.
2662 * ChangeLog.1: Likewise.
2663 * ChangeLog.2: Likewise.
2664 * ChangeLog.3: Likewise.
2665 * ChangeLog.4: Likewise.
2666 * ChangeLog.5: Likewise.
2667 * ChangeLog.6: Likewise.
2668 * FSFChangeLog.10: Likewise.
2669 * FSFChangeLog.11: Likewise.
2670 * c-common.c: Likewise.
2671 * c-common.h: Likewise.
2672 * c-format.c: Likewise.
2673 * c-opts.c: Likewise.
2674 * cpplib.c: Likewise.
2675 * langhooks.h: Likewise.
2677 * reg-stack.c: Likewise.
2678 * toplev.c: Likewise.
2679 * config/arm/arm.c: Likewise.
2680 * config/arm/arm.md: Likewise.
2681 * config/arm/linux-gas.h: Likewise.
2682 * config/arm/netbsd.h: Likewise.
2683 * config/c4x/c4x.c: Likewise.
2684 * config/c4x/c4x.h: Likewise.
2685 * config/c4x/c4x.md: Likewise.
2686 * config/c4x/libgcc.S: Likewise.
2687 * config/fr30/fr30.md: Likewise.
2688 * config/frv/frv.md: Likewise.
2689 * config/ia64/ia64.md: Likewise.
2690 * config/mips/mips.h: Likewise.
2691 * config/mn10300/mn10300.c: Likewise.
2692 * config/stormy16/stormy16.c: Likewise.
2693 * config/v850/v850.md: Likewise.
2694 * doc/extend.texi: Likewise.
2695 * doc/invoke.texi: Likewise.
2696 * doc/md.texi: Likewise.
2698 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
2700 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
2701 library if -pthread is specified.
2703 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
2705 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
2706 for --enable-threads=yes and --enable-threads=posix.
2708 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2710 * config/sparc/cypress.md: Replace Sparc with SPARC.
2711 * config/sparc/freebsd.h: Likewise.
2712 * config/sparc/gmon-sol2.c: Likewise.
2713 * config/sparc/hypersparc.md: Likewise.
2714 * config/sparc/lb1spc.asm: Likewise.
2715 * config/sparc/lb1spl.asm: Likewise.
2716 * config/sparc/linux.h: Likewise.
2717 * config/sparc/linux64.h: Likewise.
2718 * config/sparc/lynx.h: Likewise.
2719 * config/sparc/sol2.h: Likewise.
2720 * config/sparc/sparc-modes.def: Likewise.
2721 * config/sparc/sparc.c: Likewise.
2722 * config/sparc/sparc.h: Likewise.
2723 * config/sparc/sparc.md: Likewise.
2724 * config/sparc/sparclet.md: Likewise.
2725 * config/sparc/supersparc.md: Likewise.
2726 * config/sparc/sysv4.h: Likewise.
2727 * config/sparc/vxsim.h: Likewise.
2728 * config/sparc/vxsparc64.h: Likewise.
2730 2002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
2732 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
2734 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
2736 * ChangeLog: Follow spelling conventions.
2737 * ChangeLog.0: Likewise.
2738 * ChangeLog.2: Likewise.
2739 * ChangeLog.3: Likewise.
2740 * ChangeLog.4: Likewise.
2741 * ChangeLog.5: Likewise.
2742 * ChangeLog.6: Likewise.
2743 * cppfiles.c: Likewise.
2744 * cppinit.c: Likewise.
2745 * cpplib.h: Likewise.
2747 * debug.h: Likewise.
2749 * dominance.c: Likewise.
2750 * hashtable.c: Likewise.
2751 * hashtable.h: Likewise.
2753 * config/arm/README-interworking: Likewise.
2754 * config/arm/arm.c: Likewise.
2755 * config/arm/arm.h: Likewise.
2756 * config/arm/arm.md: Likewise.
2757 * config/dsp16xx/dsp16xx.h: Likewise.
2758 * config/frv/frv.c: Likewise.
2759 * config/frv/frv.h: Likewise.
2760 * config/ip2k/ip2k.h: Likewise.
2761 * config/rs6000/rs6000.c: Likewise.
2762 * config/stormy16/stormy-abi: Likewise.
2763 * config/stormy16/stormy16.h: Likewise.
2764 * config/v850/v850.c: Likewise.
2766 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
2768 * loop.c: Fix a comment typo.
2770 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
2772 * config/fr30/fr30.h: Fix comment typos.
2773 * config/frv/frv.c: Likewise.
2774 * config/i386/xmmintrin.h: Likewise.
2775 * config/mips/mips.c: Likewise.
2776 * config/sh/sh.c: Likewise.
2778 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
2780 * haifa-sched.c: Follow spelling conventions.
2781 * regclass.c: Likewise.
2782 * regrename.c: Likewise.
2783 * config/fp-bit.c: Likewise.
2784 * config/frv/frv.h: Likewise.
2785 * config/m88k/m88k.c: Likewise.
2786 * config/mcore/mcore.c: Likewise.
2787 * config/rs6000/darwin.h: Likewise.
2788 * config/rs6000/gnu.h: Likewise.
2789 * config/rs6000/linux.h: Likewise.
2790 * config/rs6000/linux64.h: Likewise.
2791 * config/rs6000/rs6000.c: Likewise.
2792 * config/rs6000/rs6000.h: Likewise.
2793 * config/sh/sh.c: Likewise.
2794 * config/sparc/sparc.c: Likewise.
2795 * config/sparc/ultra1_2.md: Likewise.
2797 2002-09-14 Stephane Carrez <stcarrez@nerim.fr>
2799 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
2800 memory operand when source is 0 (K constraint).
2801 ("movsi_internal"): Likewise.
2802 ("movdf_internal"): Likewise.
2803 ("movsf_internal"): Likewise.
2805 2002-09-14 Alan Modra <amodra@bigpond.net.au>
2807 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
2808 targetm.binds_local_p to set SYMBOL_REF_FLAG.
2809 (rs6000_xcoff_encode_section_info): Likewise.
2810 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2812 2002-09-10 Theodore A. Roth <troth@verinet.com>
2814 * gcc/config/avr/avr.h: Set default options for C++ for avr.
2816 2002-09-13 Richard Henderson <rth@redhat.com>
2818 * Makefile.in (toplev.o): Depend on real.h.
2819 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
2821 2002-09-14 Alan Modra <amodra@bigpond.net.au>
2823 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
2824 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
2825 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
2827 2002-09-13 Nathan Sidwell <nathan@codesourcery.com>
2829 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
2831 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2833 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
2834 ia64*-*-linux*): Set extra_parts.
2835 * config/ia64/t-aix (EXTRA_PARTS): Remove.
2836 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
2838 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
2840 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
2841 * config/h8300/h8300.c: Likewise.
2842 * config/h8300/h8300.h: Likewise.
2843 * config/h8300/h8300.md: Likewise.
2844 * doc/invoke.texi: Likewise.
2846 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
2848 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
2850 2002-09-13 Richard Henderson <rth@redhat.com>
2852 * config/alpha/alpha.md (attr type): Add callpal.
2853 (imb, trap, load_tp, set_tp): Use it.
2854 * config/alpha/ev4.md (ev4_callpal): New.
2855 * config/alpha/ev5.md (ev5_callpal): New.
2856 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
2857 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
2858 (alphaev5_insn_pipe): Likewise.
2860 2002-09-13 Andreas Jaeger <aj@suse.de>
2862 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
2864 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2866 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
2867 LIB2ADDEH): New, set to NULL.
2868 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
2870 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2872 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
2873 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
2874 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
2878 2002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
2880 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
2881 for H8/300, H8S aa:8 mode.
2882 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
2883 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
2884 for H8/300 aa:8 mode.
2886 2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
2888 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
2891 2002-09-12 Richard Henderson <rth@redhat.com>
2893 * Makefile.in (HOST_PRINT): Use print-rtl1.o
2894 (print-rtl.o): Don't define GENERATOR_FILE.
2895 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
2896 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
2897 unless GENERATOR_FILE.
2899 2002-09-12 Stan Shebs <shebs@apple.com>
2901 * config/darwin.h (USER_LABEL_PREFIX): Define here...
2902 * config/i386/darwin.h: ... instead of here.
2904 * target.h (struct gcc_target): New field
2905 terminate_dw2_eh_frame_info.
2906 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2907 (TARGET_INITIALIZER): Add it.
2908 * dwarf2out.c (output_call_frame_info): Use target hook.
2909 * dwarf2asm.c (dw2_asm_output_delta): Use macro
2910 ASM_OUTPUT_DWARF_DELTA if defined.
2911 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
2912 (ASM_OUTPUT_DWARF_DELTA): Ditto.
2913 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
2914 (ASM_OUTPUT_DWARF_PCREL): Ditto.
2915 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
2916 (powerpc-*-darwin*): Ditto.
2917 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
2918 to work correctly for Darwin.
2919 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
2920 (STARTFILE_SPEC): Add crtbegin.o.
2921 (ENDFILE_SPEC): Define.
2922 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
2923 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
2924 (ASM_OUTPUT_DWARF_DELTA): Define.
2925 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2926 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
2928 2002-09-13 Alan Modra <amodra@bigpond.net.au>
2930 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
2931 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
2932 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
2934 2002-09-12 Zack Weinberg <zack@codesourcery.com>
2936 * toplev.c: Move default definition of USER_LABEL_PREFIX...
2937 * defaults.h: ... here.
2939 2002-09-12 Richard Henderson <rth@redhat.com>
2941 * vax.c: Include tree.h earlier.
2943 2002-09-12 Stan Shebs <shebs@apple.com>
2945 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
2946 (machopic_operand_p): Ditto.
2948 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2950 * config/arm/arm.c (arm_compute_initial_elimination_offset):
2953 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2955 * toplev.c (do_abort): Fix a comment typo.
2957 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2959 * cselib.c: Fix comment formatting.
2960 * gengtype.c: Likewise.
2962 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2964 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
2965 (udivmodhi4): Likewise.
2967 2002-09-12 Graham Stott <graham.stott@btinternet.com>
2968 Roger Sayle <roger@eyesopen.com>
2970 * i386.c (any_fp_register_operand, fp_register_operand,
2971 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
2972 New predicate functions.
2973 * i386-protos.h: Add their prototypes.
2974 * i386.h: Add them to PREDICATE_CODES.
2975 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
2976 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
2977 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
2978 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
2979 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
2980 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
2981 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
2982 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
2983 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
2984 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
2985 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
2986 Use these new predicates to simplify and correct the use of
2987 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
2989 2002-09-12 Jason Merrill <jason@redhat.com>
2991 * diagnostic.c (output_add_identifier): New fn.
2992 * diagnostic.h: Declare it.
2994 * calls.c (store_one_arg): Use size_in_bytes to determine the
2995 amount of space to push.
2997 2002-09-12 Jakub Jelinek <jakub@redhat.com>
2999 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
3001 2002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
3003 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
3004 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
3005 (s390_select_ccmode): Likewise.
3006 (s390_branch_condition_mask): Likewise.
3007 (optimization_options): Do not set flag_branch_on_count.
3008 (s390_split_branches): Handle doloop branches.
3009 (s390_chunkify_pool): Likewise.
3010 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
3011 ("doloop_end"): New expander.
3012 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
3013 associated splitters): New.
3015 2002-09-11 Hartmut Penner <hpenner@de.ibm.com>
3017 * fold-const.c (make_range): Only narrow to signed range if
3018 the signed range is smaller than the unsigned range.
3020 2002-09-12 Alan Modra <amodra@bigpond.net.au>
3022 * emit-rtl.c (set_mem_size): New function.
3023 * expr.h (set_mem_size): Declare.
3024 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
3025 (expand_block_move): Instead, use adjust_address and
3026 replace_equiv_address to generate proper aliasing info.
3027 Move common code out of conditionals. Localize vars.
3029 2002-09-09 Eric Botcazou <ebotcazou@libertysurf.fr>
3031 * optabs.c (expand_binop): Minor cleanup.
3032 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
3034 2002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
3036 * print-tree.c (print_node): Print the restrict qualifier.
3038 2002-09-11 Janis Johnson <janis187@us.ibm.com>
3040 * doc/install.texi: Fix typos.
3042 2002-09-11 Zack Weinberg <zack@codesourcery.com>
3044 * Makefile.in: Remove all references to s-under and underscore.c.
3045 * collect2.c, tlink.c: Change all uses of prepends_underscore
3046 to look directly at USER_LABEL_PREFIX.
3048 2002-09-11 David Edelsohn <edelsohn@gnu.org>
3050 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
3052 (rs6000_xcoff_unique_section): Only set section name for public
3054 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
3055 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
3056 duplicate definition.
3058 2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
3060 * pa.md (extzv): Check predicates before emitting extzv_32.
3063 2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
3065 * config/s390/s390.h (MOVE_MAX): Define to correct value.
3066 (MAX_MOVE_MAX): Define.
3067 (MOVE_BY_PIECES_P): Define.
3068 (CLEAR_BY_PIECES_P): Define.
3070 2002-09-10 Denis Chertykov <denisc@overta.ru>
3072 * config/avr/avr.md (movstrhi): Use right operands for conversion.
3074 2002-09-10 Richard Earnshaw <rearnsha@arm.com>
3077 * arm.md (insv): Use reg_or_int_operand for operand[3].
3079 2002-09-10 David Edelsohn <edelsohn@gnu.org>
3081 * rs6000.c (rs6000_assemble_visibility): Protect declaration
3082 inside macro. Correct function definition typo.
3083 (rs6000_xcoff_section_type_flags): New function.
3084 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
3085 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
3086 with appropriate PIC test.
3087 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
3089 (rs6000_binds_local_p): Combine PIC flags.
3090 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
3091 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
3093 2002-09-09 Per Bothner <per@bothner.com>
3095 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
3096 characters, and only print TREE_STRING_LENGTH chars.
3098 2002-09-09 Steve Ellcey <sje@cup.hp.com>
3100 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
3102 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
3103 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
3104 * config/ia64/ia64.c (ia64_asm_output_external): Create list
3105 of external functions if TARGET_HPUX_LD is true.
3106 (ia64_hpux_add_extern_decl): New, routine to put names on
3107 list of external functions.
3108 (ia64_hpux_asm_file_end): Put out declarations for external
3109 functions if and only if they are used.
3111 2002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
3113 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
3114 on TARGET_64BIT before pic register restore.
3116 2002-09-09 David Edelsohn <edelsohn@gnu.org>
3118 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
3119 (TARGET_HAVE_TLS): New description.
3121 2002-09-09 Janis Johnson <janis187@us.ibm.com>
3123 * doc/extend.texi (Statement Exprs): Fix broken link.
3125 2002-09-09 Denis Chertykov <denisc@overta.ru>
3127 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
3128 right conversion of operands[1].
3130 2002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
3132 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
3133 commutative. Use "nonimmediate_operand" instead of "register_operand"
3134 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
3136 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
3139 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
3140 mark as commutative. Use "nonimmediate_operand" instead of
3141 "register_operand" as predicate for operand 1.
3143 ("movstrictsi"): Fix typo in insn name.
3145 2002-09-09 Jan Hubicka <jh@suse.cz>
3147 * i386.c (index_register_operand): New.
3148 * i386.h (predicate_codes): Add new predicate.
3149 * i386.md (lea_general_*): Use index_regsiter_operand
3150 (ashift to lea splitter): Do not produce invalid leas
3151 (ashift to mov+ashift split): New.
3153 2002-09-09 Nick Clifton <nickc@redhat.com>
3155 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
3158 2002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
3159 J"orn Rennecke <joern.rennecke@superh.com>
3161 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
3163 2002-09-09 Alan Modra <amodra@bigpond.net.au>
3165 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
3166 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
3169 2002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3171 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
3173 2002-09-08 Richard Henderson <rth@redhat.com>
3175 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
3176 (DW_OP_GNU_push_tls_address): New.
3177 (DW_OP_lo_user): Fix.
3178 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
3179 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
3180 (size_of_loc_descr): Likewise.
3181 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
3182 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
3183 (loc_descriptor_from_tree): Handle TLS variables.
3184 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
3185 (add_location_or_const_value_attribute): ... not here. Defer
3186 to loc_descriptor_from_tree for TLS variables.
3188 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
3189 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
3190 * config/i386/i386-protos.h: Update.
3192 2002-09-08 Roger Sayle <roger@eyesopen.com>
3194 PR optimization/6405
3195 * unroll.c (loop_iterations): last_loop_insn should be the previous
3196 non-note instruction before loop->end.
3197 * loop.c (strength_reduce): The conditional jump is the last
3198 non-note instruction before loop->end (as above).
3200 2002-09-08 Roger Sayle <roger@eyesopen.com>
3202 * combine.c (try_combine): Handle the case that undobuf.other_insn
3203 has been turned into a return or unconditional jump, by inserting
3204 a BARRIER if necessary.
3205 (simplify_set): Test if a condition code setter has a constant
3206 comparison at compile time, if so convert this insn to a no-op move
3207 and update/simplify the condition code user (undobuf.other_insn).
3209 2002-09-08 Krister Walfridsson <cato@df.lth.se>
3211 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
3212 (CLEAR_INSN_CACHE): Define.
3214 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
3216 * basic-block.h: Fix comment formatting.
3217 * c-common.c: Likewise.
3218 * c-common.h: Likewise.
3219 * c-lex.c: Likewise.
3220 * c-pretty-print.c: Likewise.
3221 * cfglayout.c: Likewise.
3222 * cfgloop.c: Likewise.
3223 * defaults.h: Likewise.
3224 * et-forest.c: Likewise.
3225 * explow.c: Likewise.
3226 * function.h: Likewise.
3228 * genattrtab.c: Likewise.
3229 * gengtype.c: Likewise.
3230 * ifcvt.c: Likewise.
3231 * libgcc2.c: Likewise.
3233 * profile.c: Likewise.
3234 * ra-build.c: Likewise.
3237 * tracer.c: Likewise.
3238 * tree-inline.c: Likewise.
3239 * varasm.c: Likewise.
3241 2002-09-08 Jan Hubicka <jh@suse.cz>
3243 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
3246 * loop.c (loop_gics_reduce): Emit addition after.
3248 2002-09-08 Alan Modra <amodra@bigpond.net.au>
3250 * varasm.c (default_assemble_visibility): Rename from
3251 assemble_visibility.
3252 * output.h: Here too.
3253 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
3254 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
3256 2002-09-08 Alan Modra <amodra@bigpond.net.au>
3258 * reload.c (find_reloads <p constraint>): Pass operand_mode to
3259 find_reloads_address.
3261 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
3263 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
3264 (anonymous pattern): Likewise.
3266 2002-09-07 Scott Snyder <snyder@fnal.gov>
3269 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
3271 2002-09-07 Roger Sayle <roger@eyesopen.com>
3273 * basic-block.h (struct loop): Remove unused cont_dominator field.
3275 2002-09-07 Igor Shevlyakov <igor@microunity.com>
3277 * varasm.c (decode_rtx_const): Don't check undefined field for
3280 2002-09-07 Glen Nakamura <glen@imodulo.com>
3283 * sched-deps.c (sched_analyze_insn): Make sure to add insn
3284 to reg_last->sets after flushing the dependency lists to guarantee
3285 that subsequent clobbers will be dependent on it.
3287 2002-09-07 Igor Shevlyakov <igor@microunity.com>
3289 * combine.c (simplify_shift_const): Calculate rotate count
3290 correctly for vector operands.
3292 2002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
3294 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
3295 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
3296 tree_expr_nonnegative_p.
3297 (build_conditional_expr): Likewise.
3298 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
3300 2002-09-07 Richard Henderson <rth@redhat.com>
3302 * builtins.def (inf, inff, infl): Mark const.
3303 (huge_val, huge_valf, huge_vall): Likewise.
3304 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
3306 * real.c (ereal_inf): Clear E before use.
3308 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
3310 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
3311 an expander and an anonymous pattern. Zero out the upper half
3312 of the dividend in the expander.
3313 (udivmodqi4): Likewise.
3315 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
3317 * config/h8300/h8300.c: Fix formatting.
3318 * config/h8300/h8300.h: Likewise.
3319 * config/h8300/h8300.md: Likewise.
3321 2002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3323 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
3326 2002-09-07 Graham Stott <graham.stott@btinternet.com>
3328 * rtlanal.c (dead_or_set_regno_p): Fix typo.
3330 2002-09-07 Alan Modra <amodra@bigpond.net.au>
3332 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3334 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
3335 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
3336 (TARGET_ASM_OUT): Add the above here.
3337 * target.h (struct gcc_target): Add "visibility" field.
3338 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
3339 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
3340 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
3341 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
3343 2002-09-06 Ziemowit Laski <zlaski@apple.com>
3345 * c-lang.c (objc_is_id): New stub.
3346 * c-tree.h (objc_is_id): New forward declaration.
3347 * c-typeck.c (build_c_cast): Do not strip protocol
3348 qualifiers from 'id' type.
3349 * objc/objc-act.c (objc_comptypes): Correct handling
3350 of protocol qualifiers.
3353 Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
3355 * pentium.md (pentium-firstvboth): Fix typo.
3357 2002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3359 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
3360 (enum shift_type, enum h8_cpu): Likewise.
3361 (INL, ROT, LOP, SPC macros): Likewise.
3362 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
3364 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
3365 space efficient algorithms when optimize for codesize.
3367 Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
3369 Fix PR/1727 and long-standing failing testcase
3370 objc/formal-protocol-6.m.
3371 * objc-act.c (build_protocol_expr): If compiling for the GNU
3372 runtime, create a list of Protocol statically allocated instances
3373 if it doesn't exist, then add the Protocol object to this same
3375 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
3376 instead of TREE_CHAIN.
3378 Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
3380 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
3381 10k. Fixed category dumping - print out category names with the
3382 proper syntax. Print '@end\n' and not '\n@end' at the end of the
3384 (finish_objc): Fixed the -gen-decls option. It was printing out
3385 only the last class. Dump an interface declaration of all classes
3386 being compiled instead.
3388 2002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
3390 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
3392 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
3393 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
3394 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
3395 rather than GEN_INT.
3396 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
3397 (return_addr_mask, *check_arch2): New.
3399 2002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
3401 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
3402 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
3403 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
3404 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
3405 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
3406 "adddf3", "*adddf3", "*adddf3_ibm",
3407 "addsf3", "*addsf3", "*addsf3_ibm",
3408 "muldi3", "mulsi3", "mulsidi3",
3409 "muldf3", "*muldf3", "*muldf3_ibm",
3410 "mulsf3", "*mulsf3", "*mulsf3_ibm",
3411 "*anddi3_cc", "*anddi3_cconly", "anddi3",
3412 "*andsi3_cc", "*andsi3_cconly", "andsi3",
3413 "*iordi3_cc", "*iordi3_cconly", "iordi3",
3414 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
3415 "*xordi3_cc", "*xordi3_cconly", "xordi3",
3416 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
3417 instead of "register_operand" as predicate for "%0" operand.
3419 2002-09-06 Jakub Jelinek <jakub@redhat.com>
3421 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
3422 unconditionally when gcc_cv_as_flags64 checks are gone.
3423 * configure: Rebuilt.
3425 2002-09-06 Alan Modra <amodra@bigpond.net.au>
3427 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
3428 2002-07-26 change. Comment.
3430 2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3432 * frv.c (frv_unique_section, frv_select_section,
3433 frv_select_rtx_section): Delete.
3434 (frv_in_small_data_p): New.
3435 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
3436 TARGET_ASM_SELECT_RTX_SECTION): Delete.
3437 (TARGET_IN_SMALL_DATA_P): Define.
3439 2002-09-05 Dale Johannesen <dalej@apple.com>
3441 * reload1.c (reload): Retain only those memory clobbers
3442 added for variable-array handling.
3444 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
3446 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
3447 return-in-memory rules.
3448 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
3450 2002-09-05 David Edelsohn <edelsohn@gnu.org>
3452 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
3453 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
3455 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
3457 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
3458 not a compile-time constant for the non-IBM case.
3459 * config/arm/arm-protos.h (arm_float_words_big_endian): New
3461 * config/arm/arm.c (arm_float_words_big_endian): New function.
3462 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
3463 if TARGET_VFP and not TARGET_HARD_FLOAT.
3464 (ARM_FLAG_VFP, TARGET_VFP): Define.
3465 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
3467 2002-09-05 David Edelsohn <edelsohn@gnu.org>
3469 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
3470 URLs. Fix AIX wording.
3472 2002-09-05 Stan Shebs <shebs@apple.com>
3474 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
3475 -fPIC equivalent on Darwin.
3477 Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
3479 * sh.c (sh_expand_builtin): Return early if encountering an
3480 error_mark for a type.
3482 2002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
3484 * config/s390/s390.c (s390_expand_plus_operand): Do not require
3485 double-word scratch register.
3486 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
3488 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
3489 "*cli"): Replace s_operand by memory_operand.
3490 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
3492 2002-09-05 Kazu Hirata <kazu@cs.umass.edu>
3494 * config/h8300/h8300.c (asm_file_start): Add a missing