1 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
3 * gcc.c (cc1_options): Pass output file as auxbase when
5 * profile.c (init_branch_prob): FILENAME has already had ending
7 * final.c (end_final): Likewise.
8 * toplev.c (aux_base_name): New global.
9 (compile_file): Pass aux_base_name to init init_branch_prob and
11 (independent_decode_option, case 'a'): New auxinfo options.
12 (case 'd'): Protect against mising basename.
13 (do_compile): Initialize aux_base_name.
14 * toplev.h (aux_base_name): New global.
15 * doc/invoke.texi: Adjust documentation.
17 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
19 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
20 of TARGET_ALIGN_DOUBLE.
22 2002-08-04 Gabriel Dos Reis <gdr@nerim.net>
24 * diagnostic.c (inform): New function.
25 * diagnostic.h (inform): Declare.
27 2002-08-03 David Edelsohn <edelsohn@gnu.org>
29 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
30 (movhi_internal): Same.
31 (movqi_internal): Same.
32 (movdi_internal64): Same.
34 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
36 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
37 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
38 (COMMON_ASM_OP): Define.
39 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
41 (LOCAL_COMMON_ASM_OP): Define.
42 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
44 2002-08-03 Roger Sayle <roger@eyesopen.com>
46 * builtins.def: Define new builtin functions exp, expf, expl,
47 log, logf and logl (and their __builtin_* variants).
48 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
49 Define exp_optab and log_optab.
50 * optabs.c (init_optans): Initialize exp_optab and log_optab.
51 * genopinit.c (optabs): Implement exp_optab and log_optab
52 using exp?f2 and log?f2 patterns.
53 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
54 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
55 (expand_builtin): Ignore the new builtins (and all cos and
56 sin variants) when not optimizing. Expand new builtins via
57 expand_builtin_mathfn when flag_unsafe_math_optimizations.
59 * doc/extend.texi: Document new exp and log builtins.
60 * doc/md.texi: Document new exp?f2 and log?f2 patterns
61 (and previously undocumented cos?f2 and sin?f2 patterns).
63 2002-08-03 Jason Merrill <jason@redhat.com>
65 * explow.c (int_expr_size): New fn.
66 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
69 2002-08-02 Krister Walfridsson <cato@df.lth.se>
71 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
72 gengtype-* dependencies.
74 2002-08-02 Eric Christopher <echristo@redhat.com>
76 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
77 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
79 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
81 2002-08-02 David Edelsohn <edelsohn@gnu.org>
84 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
85 small if optimizing for size.
87 2002-08-02 Daniel Jacobowitz <drow@mvista.com>
89 * configure.in (FORBUILD): Use $build_alias.
90 * configure: Regenerated.
92 2002-08-02 Richard Sandiford <rsandifo@redhat.com>
94 * config.gcc: Don't include mips/abi64.h in $tm_file.
95 * hard-reg-set.h (call_really_used_regs): Declare.
96 * config/mips/abi64.h: Remove file.
97 * config/mips/linux.h,
98 * config/mips/iris6.h: Don't include it.
99 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
100 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
101 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
102 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
103 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
104 Bring across definitions from abi64.h.
105 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
106 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
107 (struct mips_args): Use it.
108 * config/mips/mips.c (mips_conditional_register_usage): Define.
110 2002-08-02 Jason Merrill <jason@redhat.com>
112 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
113 * langhooks.c (lhd_expr_size): Define default.
114 * langhooks.h (struct lang_hooks): Add expr_size.
115 * explow.c (expr_size): Call it.
116 * expr.c (store_expr): Don't copy an expression of size zero.
117 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
119 * Makefile.in (builtins.o): Depend on langhooks.h.
121 2002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
123 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
124 * ra-debug.c: Include "tm_p.h".
125 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
127 2002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
129 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
130 when not honoring signalling NaNs.
131 (simplify_ternary_operation): a == b has a definite value
132 when not honoring NaNs.
134 2002-08-02 Jason Merrill <jason@redhat.com>
136 * gdbinit.in (pct): New macro.
138 2002-08-01 Stan Shebs <shebs@apple.com>
139 Andreas Tobler <toa@pop.agri.ch>
141 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
142 plays nice with Darwin headers.
143 (_BSD_RUNE_T_DEFINED_): Likewise.
145 2002-08-01 Zack Weinberg <zack@codesourcery.com>
147 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
148 * cppinit.c (cpp_post_options): Likewise.
150 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
151 warning about 'LL' suffix (but not 'ULL' etc) when
152 -Wno-long-long is in effect.
154 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
155 Check for failing time()/localtime(), issue a warning, and
156 make __TIME__ and __DATE__ expand to fallback strings.
158 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
159 and __TIME__ when the date and time cannot be determined.
161 2002-08-02 Alan Modra <amodra@bigpond.net.au>
163 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
165 2002-08-01 Daniel Jacobowitz <drow@mvista.com>
167 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
169 2002-08-01 Chris Demetriou <cgd@broadcom.com>
171 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
172 (mipsisa64sb1el-*-elf*): Likewise.
173 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
174 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
175 (TARGET_SB1, TUNE_SB1): New macros.
176 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
179 2002-08-01 David Edelsohn <edelsohn@gnu.org>
181 * varasm.c (asm_emit_uninitialized): Return false if global BSS
182 and ASM_EMIT_BSS not supported by target.
183 (assemble_variable): Do not duplicate uninitialized logic.
184 Fall through if asm_emit_uninitialized failed.
186 2002-08-01 Chris Demetriou <cgd@broadcom.com>
188 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
190 2002-08-02 Alan Modra <amodra@bigpond.net.au>
192 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
193 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
195 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
196 HOST_BITS_PER_WIDE_INT == 64.
198 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
200 * df.c (df_insn_table_realloc): Change parameter to unsigned.
201 * optabs.c (expand_binop): Make variable unsigned.
202 * simplify-rtx.c (simplify_subreg): Likewise.
203 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
205 2002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
207 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
209 2002-08-01 Richard Henderson <rth@redhat.com>
211 * toplev.c (parse_options_and_default_flags): Don't set
212 flag_reorder_blocks for -Os.
214 * config/avr/avr.c (avr_optimization_options): Remove.
215 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
216 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
217 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
219 2002-08-01 H.J. Lu <hjl@gnu.org>
220 Richard Henderson <rth@redhat.com>
222 * output.h (DECL_READONLY_SECTION): Remove.
223 (decl_readonly_section): Declare.
224 * varasm.c (decl_readonly_section): New.
225 (default_section_type_flags, default_select_section): Use it.
226 * config/arm/pe.c (arm_pe_unique_section): Likewise.
227 * config/i386/interix.c (i386_pe_unique_section): Likewise.
228 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
229 * config/mcore/mcore.c (mcore_unique_section): Likewise.
230 * config/mips/mips.c (mips_unique_section): Likewise.
232 2002-08-01 Richard Henderson <rth@redhat.com>
234 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
235 refers to a subroutine parameter.
237 2002-08-01 Jakub Jelinek <jakub@redhat.com>
239 * varasm.c (assemble_visibility): Strip name encoding.
241 2002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
243 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
244 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
245 when there is no frame pointer.
246 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
248 * config/ns32k/__unorddf2.c: New file.
249 * config/ns32k/__unordsf2.c: New file.
250 * config/ns32k/t-ns32k: New file.
251 * config.gcc (ns32k-*-netbsd*): Use it.
253 2002-08-01 Aldy Hernandez <aldyh@redhat.com>
255 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
257 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
259 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
261 2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
263 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
265 2002-08-01 Richard Sandiford <rsandifo@redhat.com>
267 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
269 2002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
271 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
273 (expr_hash_table, set_hash_table): Type changed to ...
274 (struct hash_table): New type.
275 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
276 insert_expr_in_table, insert_set_in_table, compute_hash_table,
277 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
278 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
279 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
280 (alloc_hash_table): New.
281 (free_set_hash_table, free_expr_hash_table): Merged to ...
282 (free_hash_table): New.
283 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
284 (compute_hash_table_work): New.
285 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
286 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
287 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
288 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
289 hoist_code, one_code_hoisting_pass,
290 trim_ld_motion_mems): Altered due to changed type of hash tables.
292 2002-08-01 Zack Weinberg <zack@codesourcery.com>
294 * final.c (output_alternate_entry_point):
295 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
297 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
299 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
300 avoid ISO C style function definition.
302 * expr.c (expand_assignment): Delete unused variable.
304 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
306 * c-common.c (cb_register_builtins): Set
307 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
308 is given, and to 0 otherwise.
309 * combine.c (simplify_if_then_else): HONOR_NANS
310 implies FLOAT_MODE_P.
312 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
314 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
315 (cpp_handle_option): Don't handle it.
316 (print_help): Update.
317 * doc/cppopts.texi: Update.
319 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
321 * c-common.c (cb_register_builtins): If C++, define
322 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
323 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
325 * lang-specs.h: Simplify in accordance with new code in
328 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
330 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
331 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
332 * c-decl.c: Move all warning and flag variables to c-common.c.
333 * c-format.c: Move all warning variables to c-common.c.
334 * c-tree.h: Move all warning and flag declarations to c-common.h.
335 * objc/objc-act.c: Move all warning variables to c-common.c.
336 (flag_warn_protocol): Rename warn_protocol.
338 2002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
340 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
342 2002-07-31 Graham Stott <grahams@btinternet.com>
344 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
347 2002-07-31 Stan Shebs <shebs@apple.com>
349 * config.gcc (i[34567]86-*-darwin*): New configuration.
350 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
352 (TARGET_ENCODE_SECTION_INFO): Ditto.
353 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
354 * config/darwin.c (machopic_indirect_data_reference): Remove
355 setting of RTX_UNCHANGING_P.
356 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
357 not to be applied to sums.
358 * config/i386/t-darwin: New file.
359 * config/i386/darwin.h: New file.
360 * config/i386/i386.h (TARGET_MACHO): Add default definition.
361 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
362 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
363 label and not the GOT add.
364 (constant_address_p): For Mach-O, seeing a CONST is enough.
365 (legitimate_pic_address_disp_p): Add a Mach-O case.
366 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
367 (legitimize_pic_address): Use generic Mach-O code to legitimize.
368 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
369 if outputting a difference.
370 (ix86_output_addr_diff_elt): Add Mach-O case.
371 (ix86_expand_move): Similarly.
372 (ix86_expand_call): Similarly.
373 (current_machopic_label_num): New global.
374 (machopic_output_stub): New function.
375 (ix86_value_regno): New function.
376 (ix86_function_value): Use it instead of VALUE_REGNO.
377 (ix86_libcall_value): Ditto.
378 * config/i386/unix.h (VALUE_REGNO): Remove.
380 2002-07-31 Graham Stott <grahas@btinternet.com>
382 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
383 hash for LABEL_REF's.
385 2002-07-31 Graham Stott <grahams@btinternet.com>
387 * config/rs6000/rs6000.c (spe_init_builtins,
388 altivec_init_builtins, rs6000_common_init_builtins):
389 Replace ANSI with K&R function def.
391 2002-07-31 David Edelsohn <edelsohn@gnu.org>
393 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
396 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
398 * config/mips/crtn.asm: Don't use __mips16 to determine the
399 return-address offset. Define RA to a suitable temporary
400 register for the return address.
402 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
404 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
407 2002-07-30 Chris Demetriou <cgd@broadcom.com>
409 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
410 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
411 patch on 2002-07-29.)
412 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
414 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
416 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
417 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
418 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
419 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
420 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
421 (ASM_GLOBALIZE_LABEL): Delete.
422 (GLOBAL_ASM_OP): Define.
424 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
426 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
427 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
429 2002-07-30 Geoffrey Keating <geoffk@redhat.com>
431 * doc/extend.texi (Hints implementation): Document that GCC
432 mostly ignores `register'.
434 2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
436 * flags.h: Declare flag_finite_math_only.
437 Use it in definition of HONOR_NANS and
439 * c-common.c (cb_register_builtins): Emit
440 __FINITE_MATH_ONLY__ when flag_finite_math_only
442 * combine.c (simplify_if_then_else): If
443 flag_finite_math_only is set, a == b has a
445 * toplev.c: Initialize flag_finite_math_only.
446 (set_flags_fast_math): Set it on -ffast-math.
447 (flag_fast_math_set_p): Test it.
448 * doc/invoke.texi: Document -ffinite-math-only.
450 2002-07-30 Richard Henderson <rth@redhat.com>
452 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
453 (noce_process_if_block): Likewise.
455 2002-07-30 Bernd Schmidt <bernds@redhat.com>
457 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
458 Bail out early if false_expr is NULL and we'd crash due to this.
459 * genemit.c (gen_expand): Recognize return insns even if the return
460 appears in a parallel.
461 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
462 * config/fp-bit.c: Likewise.
463 * doc/tm.texi: Document it.
465 2002-07-30 David Edelsohn <edelsohn@gnu.org>
466 Zack Weinberg <zack@codesourcery.com>
468 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
469 CODE_FOR_nothing. Change switch to if.
470 (rs6000_expand_binop_builtin): Same.
471 (rs6000_expand_builtin): Expand builtin if target support enabled.
472 (rs6000_init_builtins): Init builtin if target support enabled.
473 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
475 2002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
477 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
479 2002-07-30 Richard Sandiford <rsandifo@redhat.com>
481 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
483 Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
485 * sh.md (cond_delay_slot): New attribute.
486 (cbranch delay): Use it for anulled-true case.
487 (stuff_delay_slot): New pattern.
488 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
490 (gen_far_branch): Emit stuff_delay_slot pattern.
492 Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
494 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
496 2002-07-30 Kazu Hirata <kazu@cs.umass.edu>
498 * fold-const.c: Fix comment typos.
500 * reload1.c: Likewise.
502 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
504 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
507 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
509 * c-pretty-print.h (pp_c_statement): Declare.
510 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
511 (pp_c_statement): Define.
513 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
515 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
516 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
517 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
518 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
519 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
520 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
522 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
523 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
525 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
527 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
528 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
529 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
530 (pp_c_expression): Update.
532 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
534 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
535 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
536 * alpha/vms-ld.c (main): Likewise.
537 * dsp16xx.c (double_reg_to_memory): Likewise.
538 * mcore.c (mcore_expand_prolog): Likewise.
539 * cppfiles.c (read_name_map): Likewise.
540 * gensupport.c (process_rtx, identify_predicable_attribute,
541 alter_test_for_insn): Likewise.
542 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
544 2002-07-29 Roger Sayle <roger@eyesopen.com>
546 * builtins.c (expand_builtin): Change the default behavior to
547 only issue an error if the builtin function doesn't have a
548 fallback library call. Remove several cases handled by the
551 2002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
553 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
554 floating point format of the target is IEEE.
555 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
556 format of the target is DEC.
558 2002-07-29 Richard Henderson <rth@redhat.com>
560 * unroll.c (verify_addresses): Remove.
561 (find_splittable_givs): Never split DEST_ADDR givs.
563 2002-07-29 Geoffrey Keating <geoffk@redhat.com>
565 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
567 (Files): Improve documentation on generated source files.
569 * doc/extend.texi (Translation implementation): Document what
570 diagnostics look like.
571 (Identifiers implementation): Document that there's normally no
572 limit on identifier names.
573 (Integers implementation): Document two's complement.
574 (Hints implementation): Document that GCC honours 'inline', mostly.
575 (Preprocessing directives implementation): Document that GCC
576 requires the current time.
578 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
580 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
581 (pp_initializer): New macro.
582 (pp_c_initializer): Declare.
583 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
584 (pp_c_initializer): Define.
585 (pp_c_initializer_list): New function.
586 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
587 VECTOR_CST, CONSTRUCTOR.
588 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
590 (pp_c_cast_expression): Handle FLOAT_EXPR.
591 (pp_c_assignment_expression): Handle INIT_EXPR.
592 (pp_c_expression): Update.
594 2002-07-30 Neil Booth <neil@daikokuya.co.uk>
596 * objc/objc-act.c (objc_init): Return immediately if filename
599 2002-07-29 Eric Christopher <echristo@redhat.com>
601 * config/mips/elf.h: Remove ecoff.h and gofast includes.
602 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
603 (SDB_DEBUGGING_INFO): Undefine.
604 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
605 (PUT_SDB_SIZE): Remove.
606 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
607 (STARTFILE_SPEC): Add isa3264 define.
608 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
609 * config/mips/ecoff.h: Remove. and here...
610 * config/mips/iris3.h: and here...
611 * config/mips/sni-svr4.h: and here...
612 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
613 Add assembler -mmdebug options for non-dwarf debugging.
614 * config/mips/r3900.h: Remove debug info defines.
615 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
616 * config/mips/isa3264.h: Ditto.
617 * config/mips/t-isa3264: Fix up for file removal and gofast configure
619 * config/mips/t-elf: Ditto.
620 * config/mips/t-ecoff: Ditto.
621 * config/mips/t-r3900: Ditto.
622 * config/mips/t-iris5-6: Ditto.
623 * config/mips/t-isa3264: Ditto.
624 * config/mips/t-linux: Remove.
625 * config/mips/t-netbsd: Remove.
626 * config/mips/t-mips: New file.
627 * config/mips/t-gofast: Ditto.
628 * config/mips/netbsd.h: Remove unnecessary undefines.
629 * config/mips/linux.h: Remove #include of mips.h.
630 * config.gcc: Add mips.h include for elf targets. Remove tm_file
631 for ecoff. Add gofast configure option for mips.
633 2002-07-29 Chris Demetriou <cgd@broadcom.com>
635 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
636 linker scripts use STARTUP directives consistently.
637 * configure: Regenerate.
638 * config.in: Regenerate.
639 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
640 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
641 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
642 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
643 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
646 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
648 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
650 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
652 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
654 2002-07-29 Aldy Hernandez <aldy@quesejoda.com>
656 * config/rs6000/rs6000.md: Move altivec patterns from here...
658 * config/rs6000/altivec.md: ...to here.
660 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
662 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
664 2002-07-29 Richard Henderson <rth@redhat.com>
666 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
667 set_mem_attributes and add BITPOS argument. Subtract it from
668 OFFSET when same is adjusted.
669 (set_mem_attributes): New wrapper function.
670 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
671 remove offset adjustment hack.
672 * expr.h (set_mem_attributes_minus_bitpos): Declare.
674 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
676 * Makefile.in (C_OBJS): Include c-pretty-print.o
677 (c-pretty-print.o): Add depency rule.
678 * pretty-print.h: Add more macros.
679 * c-pretty-print.c: New file.
680 * c-pretty-print.h: Likewise.
682 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
684 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
685 constants to __ev64_s32__.
686 (__internal_ev_mwhgsmian): Same.
687 (__internal_ev_mwhgsmfan): Same.
688 (__internal_ev_mwhgssfan): Same.
689 (__internal_ev_mwhgumiaa): Same.
690 (__internal_ev_mwhgsmiaa): Same.
691 (__internal_ev_mwhgsmfaa): Same.
692 (__internal_ev_mwhgssfaa): Same.
694 2002-07-29 David Edelsohn <edelsohn@gnu.org>
696 * varasm.c (assemble_variable): Narrow test for uninitialized
697 without BSS target support.
699 2002-07-29 Nathan Sidwell <nathan@codesourcery.com>
701 * profile.c: Add file comment describing the overall algorithm and
703 (struct edge_info): Add comments.
704 (struct bb_info): Add comments.
705 * basic-block.h (EDGE_*): Add comments.
706 * doc/gcov.texi (Gcov Data Files): Document bit flags.
708 2002-07-29 Bob Wilson <bob.wilson@acm.org>
710 * config/xtensa/elf.h, config/xtensa/linux.h
711 (TARGET_OS_CPP_BUILTINS): Define.
712 (CPP_PREDEFINES): Remove.
713 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
716 2002-07-29 Zack Weinberg <zack@codesourcery.com>
718 * gensupport.c: Include hashtab.h.
719 (insn_elision, condition_table, hash_c_test, cmp_c_test,
720 maybe_eval_c_test): New routines and data structures to
721 support insn elision.
722 (init_md_reader): Read and initialize the condition_table.
723 (read_md_rtx): Discard insn patterns whose C test is provably
725 * gensupport.h: Declare new functions and data structures.
727 * genconditions.c, dummy-conditions.c: New files.
728 * Makefile.in: Build genconditions; run it to construct
729 insn-conditions.c; build that and link it into most gen*
731 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
732 (GEN): Delete, unused.
733 (STAGESTUFF): Update.
735 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
736 CODE_FOR_nothing for all elided patterns.
737 (main): Tweaked to support this.
738 * genflags.c (gen_proto): Emit a static inline generator
739 function here for all elided patterns, which simply returns
741 (gen_insn): Do not define HAVE_xxx for elided patterns.
742 (main): Tweaked to support this. No need to forward-declare
744 * genrecog.c: Do not bother emitting the C test if it's known
745 to be true at compile time.
747 2002-07-29 Mike Stump <mrs@apple.com>
749 * config.gcc (target_gtfiles): Initialize, as otherwise cross
750 compilers hosted on powerpc-apple-darwin6.0 won't even build.
752 2002-07-29 Richard Earnshaw <rearnsha@arm.com>
754 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
755 remove clobber of LR.
756 (sibcall_insn, sibcall_value_insn): Update accordingly.
757 (sibcall_epilogue): Remove debugging comment from assembler stream.
759 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
761 * pretty-print.h: Define more macros.
762 * diagnostic.h (output_formatted_integer): Moved from...
763 * diagnostic.c: ... here.
765 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
767 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
769 2002-07-28 Zack Weinberg <zack@codesourcery.com>
771 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
772 arguments. Always use ".-symbol" as expression argument.
773 * doc/tm.texi: Update to match. Document requirement for
774 ".size symbol, .-symbol" to be acceptable to assembler.
776 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
777 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
778 config/i386/freebsd-aout.h, config/i386/sco5.h,
779 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
780 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
782 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
784 * Makefile.in (gengtype-lex.c): Fix error in last change.
786 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
789 * Makefile.in (vmsdbgout.o): Depend on function.h.
791 * vmsdbgout.c: Include function.h.
793 2002-07-28 Alan Modra <amodra@bigpond.net.au>
795 * prefix.c (update_path): Don't strip single `.' path components
796 unless stripping a later `..' component. Exit loop as soon as
797 a valid path is found.
799 2002-07-27 Roger Sayle <roger@eyesopen.com>
801 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
802 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
803 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
804 floating point unordered comparisons (e.g. __builtin_isgreater)
805 as const, and leave the remaining GCC_BUILTINs unchanged.
807 * c-decl.c (builtin_function): No need to explicitly mark
808 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
810 2002-07-27 Roger Sayle <roger@eyesopen.com>
812 * Makefile.in: rtlanal.o now depends upon real.h.
814 * flags.h [flag_signaling_nans]: New flag.
815 [HONOR_SNANS]: New macro.
817 * toplev.c [flag_signaling_nans]: Initialize to false.
818 (f_options): Add processing for "-fsignaling-nans".
819 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
820 (process_options): flag_signaling_nans implies flag_trapping_math.
822 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
823 when -fsignaling-nans. First step to implementing WG14's N965.
825 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
826 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
827 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
829 * simplify-rtx.c (simplify_relational_operation): Conditionalize
830 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
832 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
833 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
834 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
835 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
836 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
838 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
840 2002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
842 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
843 * gengtype-lex.l (YY_USE_PROTOS): Undef.
846 2002-07-27 Roger Sayle <roger@eyesopen.com>
848 * doc/invoke.texi: Document that both -fno-builtin-foo and
849 -fno-builtin are supported by the g++ front-end.
851 2002-07-27 Stan Shebs <shebs@apple.com>
853 * configure.in: Rename config_gtfiles to target_gtfiles.
854 * configure: Regenerate.
855 * doc/gty.texi: Update reference.
856 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
857 instead of appending to it.
859 2002-07-25 Aldy Hernandez <aldyh@redhat.com>
861 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
862 vectors are split into two registers.
863 (function_arg): Same.
865 Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
867 * pa.md (extv): Check predicates before emitting extv_32.
869 2002-07-27 Alan Modra <amodra@bigpond.net.au>
871 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
872 (rs6000_traceback): New var.
873 (rs6000_override_options): Set rs6000_traceback.
874 (rs6000_output_function_epilogue): Implement traceback options.
875 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
876 (rs6000_traceback_name): Declare.
878 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
879 label reference when NO_PROFILE_COUNTERS.
881 2002-07-26 Jason Merrill <jason@redhat.com>
883 * function.c (assign_parms): Handle frontend-directed pass by
886 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
888 * doc/cppopts.texi: Update.
890 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
892 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
893 warnings on assertions.
895 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
897 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
898 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
900 * c-parse.in (rid_to_yy): Similarly.
902 2002-07-26 Jason Merrill <jason@redhat.com>
904 * c-dump.c: Resurrect.
905 * tree-dump.c: Move C-specific stuff to c-dump.c.
906 * c-common.h: Declare c_dump_tree.
907 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
908 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
909 (c-dump.o): New rule.
911 2002-07-26 Alan Modra <amodra@bigpond.net.au>
913 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
914 PowerPC64. Replace "T" and "S" constraints with "n" when the
915 predicate will do. Formatting fixes.
916 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
917 as for extzvsi_internal1.
919 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
921 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
922 DERIV_END_LABEL_FMT): Remove.
923 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
925 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
927 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
930 2002-07-25 Stan Shebs <shebs@apple.com>
932 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
934 (output_compiler_stub): Remove unused locals.
935 (output_call): Always initialize line number.
937 Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
939 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
940 * sh.md (truncdiqi2, movqi_media): Likewise.
942 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
944 * gcse.c (obstack_chunk_alloc): Remove.
945 (gcse_alloc): Fix to count allocated bytes.
946 * collect2.c (SYMBOL__MAIN): Remove.
948 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
950 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
951 HAVE_TARGET_EXECUTABLE_SUFFIX.
953 Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
955 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
956 SIZE, EXPR and OFFSET.
958 2002-07-25 Richard Henderson <rth@redhat.com>
960 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
961 in ARRAY_REF of DECL_P case.
963 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
965 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
966 description. Document -mips32, -mips64, and the associated -march
967 values. Describe the "mipsN" arguments to -march. Say that the
968 -mipsN options are equivalent to -march. Reword the description
969 of default type sizes.
970 * toplev.h (target_flags_explicit): Declare.
971 * toplev.c (target_flags_explicit): New var.
972 (set_target_switch): Update target_flags_explicit.
973 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
974 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
975 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
976 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
977 * config/mips/mips.h (mips_cpu_info): New struct.
978 (mips_cpu_string, mips_explicit_type_size_string): Remove.
979 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
980 (MIPS_CPP_SET_PROCESSOR): New macro.
981 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
982 Define _MIPS_ARCH and _MIPS_TUNE.
983 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
984 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
985 MIPS_ISA_DEFAULT were already defined.
986 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
987 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
988 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
989 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
990 (ABI_GAS_ASM_SPEC): Remove.
991 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
992 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
993 Invoke %(asm_abi_default_spec) if no ABI was specified.
994 (CC1_SPEC): Remove ISA -> register-size rules.
995 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
996 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
997 (mips_cpu_string, mips_explicit_type_size_string): Remove.
998 (mips_cpu_info_table): New array.
999 (mips_set_architecture, mips_set_tune): New fns.
1000 (override_options): Rework to make -mipsN equivalent to -march.
1001 Detect more erroneous cases, including those removed from CC1_SPEC.
1002 Don't change the ABI based on architecture, or vice versa.
1003 Unify logic with GAS.
1004 (mips_asm_file_start): Get architecture name from mips_arch_info.
1005 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
1006 (mips_parse_cpu): Take the name of the option as argument. Handle
1007 'from-abi'. Raise an error if the option is wrong.
1008 (mips_cpu_info_from_isa): New fn.
1010 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
1012 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
1013 (tablejump_mips162): Likewise.
1015 Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
1017 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
1020 2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
1022 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
1024 * c-common.h (c_sizeof): Adjust definition.
1025 (c_alignof): Likewise.
1026 * c-tree.h (c_sizeof_nowarn): Now macro.
1027 * c-typeck.c (c_sizeof_nowarn): Remove definition.
1029 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
1031 * c-decl.c (c_decode_option): No need to handle switches
1034 2002-07-24 Zack Weinberg <zack@codesourcery.com>
1036 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
1037 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
1038 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
1039 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1041 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
1042 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
1043 config/cris/aout.h, config/i386/freebsd-aout.h,
1044 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
1045 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
1046 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
1047 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
1048 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
1049 config/xtensa/elf.h, config/xtensa/linux.h:
1051 Where possible, remove redundant definitions of SIZE_ASM_OP,
1052 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1054 2002-07-24 Aldy Hernandez <aldyh@redhat.com>
1056 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
1057 TARGET_ISEL, and TARGET_FPRS.
1059 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1060 -mabi=spe, -mabi=no-spe, and -misel=.
1062 * config/rs6000/rs6000-protos.h: Add output_isel.
1063 Move vrsave_operation prototype here.
1065 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
1069 (abssi2_nopower): Disallow when TARGET_ISEL.
1071 (negsf2): Change to expand and rename old pattern to *negsf2.
1072 (abssf2): Change to expand and rename old pattern to *abssf2.
1074 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
1077 Change patterns that check for TARGET_HARD_FLOAT or
1078 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
1080 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
1081 rs6000_isel, rs6000_fprs, rs6000_isel_string.
1082 (rs6000_override_options): Add 8540 case to
1083 processor_target_table.
1084 Set rs6000_isel for the 8540.
1085 Call rs6000_parse_isel_option.
1086 (enable_mask_for_builtins): New.
1087 (rs6000_parse_isel_option): New.
1088 (rs6000_parse_abi_options): Add spe and no-spe.
1089 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
1090 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
1091 for TARGET_HARD_FLOAT.
1092 Add case for SPE_VECTOR_MODE.
1093 (rs6000_legitimize_reload_address): Handle SPE vector modes.
1094 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
1096 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
1097 (rs6000_emit_move): Check for TARGET_FPRS.
1098 Add cases for SPE vector modes.
1099 (function_arg_boundary): Return 64 for SPE vector modes.
1100 (function_arg_advance): Check for TARGET_FPRS and
1102 (function_arg): Same.
1103 (setup_incoming_varargs): Check for TARGET_FPRS.
1104 (rs6000_va_arg): Same.
1105 (struct builtin_description): Un-constify mask field. Move up in
1107 (bdesc_2arg): Un-constify and add SPE builtins.
1109 (bdesc_spe_predicates): New.
1110 (bdesc_spe_evsel): New.
1111 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
1112 (rs6000_expand_binop_builtin): Same.
1113 (bdesc_2arg_spe): New.
1114 (spe_expand_builtin): New.
1115 (spe_expand_predicate_builtin): New.
1116 (spe_expand_evsel_builtin): New.
1117 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
1118 (rs6000_init_builtins): Initialize SPE builtins. Call
1119 rs6000_common_init_builtins.
1120 (altivec_init_builtins): Move all non-altivec builtin code to...
1121 (rs6000_common_init_builtins): ...here. New function.
1122 (branch_positive_comparison_operator): Allow NE code for SPE.
1123 (ccr_bit): Return correct ccr bit for SPE fp.
1124 (print_operand): Emit crnor in 'D' case for SPE.
1126 Add SPE code for 'y' case.
1127 (rs6000_generate_compare): Generate rtl for SPE fp.
1128 (output_cbranch): Handle SPE hard floats.
1129 (rs6000_emit_cmove): Handle isel.
1130 (rs6000_emit_int_cmove): New.
1132 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
1134 (debug_stack_info): Add SPE info.
1135 (gen_frame_mem_offset): New.
1136 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
1137 Change mode of frame pointer, when saving it, to Pmode.
1138 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
1139 Misc cleanups and use gen_frame_mem_offset when appropriate.
1141 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
1142 (TARGET_SPE_ABI): New.
1146 (FIXED_SCRATCH): New.
1147 (RTX_COSTS): Add PROCESSOR_PPC8540.
1148 (ASM_CPU_SPEC): Add case for 8540.
1149 (TARGET_OPTIONS): Add isel= case.
1150 (rs6000_spe_abi): New.
1153 (rs6000_isel_string): New.
1154 (UNITS_PER_SPE_WORD): New.
1155 (LOCAL_ALIGNMENT): Adjust for SPE.
1156 (HARD_REGNO_MODE_OK): Same.
1157 (DATA_ALIGNMENT): Same.
1158 (MEMBER_TYPE_FORCES_BLK): New.
1159 (FIRST_PSEUDO_REGISTER): Set to 113.
1160 (FIXED_REGISTERS): Add SPE registers.
1162 (REG_CLASS_NAMES): Same.
1163 (REG_CLASS_CONTENTS): Same.
1164 (REGNO_REG_CLASS): Same.
1165 (REGISTER_NAMES): Same.
1166 (DEBUG_REGISTER_NAMES): Same.
1167 (ADDITIONAL_REGISTER_NAMES): Same.
1168 (CALL_USED_REGISTERS): Same.
1169 (CALL_REALLY_USED_REGISTERS): Same.
1170 (SPE_ACC_REGNO): New.
1171 (SPEFSCR_REGNO): New.
1172 (SPE_SIMD_REGNO_P): New.
1173 (HARD_REGNO_NREGS): Adjust for SPE.
1174 (VECTOR_MODE_SUPPORTED_P): Same.
1175 (REGNO_REG_CLASS): Same.
1176 (FUNCTION_VALUE): Same.
1177 (LIBCALL_VALUE): Same.
1178 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
1179 (SPE_VECTOR_MODE): New.
1180 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
1181 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
1182 (rs6000_stack): Add spe_gp_size, spe_padding_size,
1184 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
1185 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1186 (SPE_CONST_OFFSET_OK): New.
1187 (rs6000_builtins): Add SPE builtins.
1189 * testsuite/gcc.dg/ppc-spe.c: New.
1191 * config/rs6000/eabispe.h: New.
1193 * config/rs6000/spe.h: New.
1195 * config/rs600/spe.md: New.
1197 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1198 __SIMD__ for TARGET_SPE.
1200 * config.gcc: Add powerpc-*-eabispe* case.
1201 Add spe.h to user headers for powerpc.
1203 2002-07-24 Chris Demetriou <cgd@broadcom.com>
1205 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
1206 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1207 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
1209 2002-07-24 Richard Henderson <rth@redhat.com>
1211 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
1212 form when not optimizing.
1214 2002-07-24 David Mosberger <davidm@hpl.hp.com>
1216 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
1217 thread_pointer_rtx as unchanging.
1219 2002-07-24 Michael Matz <matz@suse.de>
1221 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
1224 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
1226 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
1228 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
1229 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
1231 2002-07-24 Chris Demetriou <cgd@broadcom.com>
1233 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
1234 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1235 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
1237 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
1239 * toplev.c (rest_of_compilation): Dump loops before clobbering
1242 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
1244 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
1246 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
1248 PR optimization/7291
1249 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
1252 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
1254 * pretty-print.h: Add macros from cp/error.c
1256 2002-07-24 Alan Modra <amodra@bigpond.net.au>
1258 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
1259 (mask64_2_operand): Declare.
1260 (build_mask64_2_operands): Declare.
1261 (and64_2_operand): Declare.
1262 (extract_MB): Declare.
1263 (extract_ME): Declare.
1264 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
1266 (mask_operand_wrap): New insn predicate.
1267 (mask64_2_operand): Likewise.
1268 (and64_2_operand): Likewise.
1269 (build_mask64_2_operands): New function.
1270 (extract_MB): New function.
1271 (extract_ME): New function.
1272 (print_operand <case m,M>): Use extract_MB and extract_ME.
1273 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
1274 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
1275 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
1276 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
1277 * config/rs6000/rs6000.md (andsi3_internal3): New
1278 (andsi3_internal3+1): Enable split for powerpc64.
1279 (andsi3_internal3+2): New split.
1280 (andsi3_internal4): Renamed old andsi3_internal3.
1281 (andsi3_internal5): New.
1282 (andsi3_internal5+1): Enable split for powerpc64.
1283 (andsi3_internal5+2): New split.
1284 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
1285 (anddi3): Handle 't' constraint.
1286 (anddi3+1): New split.
1287 (anddi3_internal2): Handle 't' constraint.
1288 (anddi3_internal2+1): New split.
1289 (anddi3_internal3): Handle 't' constraint.
1290 (anddi3_internal3+1): New split.
1292 2002-07-24 Alan Modra <amodra@bigpond.net.au>
1294 * config/rs6000/rs6000.md: Remove scratch reg on insns using
1295 addze and similar (plus (comparison r1 r2) r3) insns. Add
1296 missing scratch reg in one case. Formatting fixes.
1298 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
1300 * cppexp.c (parse_defined): Mark macro used.
1301 * cpphash.h (struct cpp_macro): New member "used".
1302 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
1303 (struct cpp_reader): New member.
1304 * cppinit.c (cpp_finish_options): Set first_unused_line.
1305 (cpp_finish): Warn of unused macros if requested.
1306 (OPT_TABLE): New switches.
1307 (cpp_handle_option): Handle them.
1308 * cpplib.c (do_undef): Warn if macro unused.
1309 (do_ifdef, do_ifndef): Mark macro used.
1310 * cpplib.h (struct cpp_options): New member.
1311 * cppmacro.c (_cpp_warn_if_unused_macro): New.
1312 (enter_macro_context): Mark macro used.
1313 (_cpp_create_definition): Mark macro unused; warn if unused
1315 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
1317 * doc/cppopts.texi: Update.
1319 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1321 * dwarf2out.c (SECTION_ASM_OP,
1322 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1323 * system.h (SECTION_ASM_OP): Poison.
1324 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
1325 * config/alpha/alpha-interix.h, config/mips/linux.h
1326 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1327 * config/mmix/mmix-protos.h, config/mmix/mmix.c
1328 (mmix_asm_output_define_label_difference_symbol): Remove.
1329 * config/mmix/mmix.h
1330 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1331 * doc/tm.texi: Remove documentation.
1333 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
1335 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
1336 (constrain_operands): Likewise.
1337 * regclass.c (record_reg_classes): Likewise.
1338 * reload.c (find_reloads): Likewise.
1339 * doc/md.texi: Likewise.
1341 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
1342 * simplify-rtx.c (simplify_subreg): When converting to a non-int
1343 mode, try to convert to an integer mode of matching size first.
1345 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
1346 from individual subregs, check that each subreg has been generated
1349 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1351 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
1352 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
1353 FOR_EACH_BB_IN_SBITMAP): Remove.
1354 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
1355 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
1356 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
1357 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
1358 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
1359 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
1361 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
1363 * pretty-print.h: New file.
1365 2002-07-23 Paul Koning <pkoning@equallogic.com>
1367 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
1368 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
1369 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
1370 (TARGET_G_FLOAT): Default to 0 if not defined.
1371 (ieeetoe): New, common routine to convert target format floats
1373 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
1375 (e113toe): Change to use ieeetoe.
1377 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
1379 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
1381 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
1382 (e64toe): Remove special cases for DEC and IBM. Remove support for
1383 ARM_EXTENDED_IEEE_FORMAT.
1384 (e24toe): Remove special cases for DEC.
1385 (significand_size): Simplify. Indent.
1386 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
1387 (etoieee, toieee): New.
1388 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
1389 etoieee and toieee for IEEE arithmetic.
1391 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
1393 * doc/extend.texi: Say ISO C90, not ISO C89.
1394 * doc/invoke.texi: Likewise.
1395 * doc/standards.texi: Likewise.
1397 2002-07-23 Steve Ellcey <sje@cup.hp.com>
1399 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
1400 Fix permutation of conversion and plus/mult.
1401 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
1402 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
1403 (expand_builtin_strncpy) Ditto.
1404 (expand_builtin_memset) Ditto.
1406 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
1409 * c-common.c (c_sizeof_or_alignof_type): New function.
1410 (c_alignof): Remove definition.
1411 * c-common.h (c_sizeof, c_alignof): Define as macros.
1412 (c_sizeof_or_alignof_type): Declare.
1413 (my_friendly_assert): Moved from cp/cp-tree.h
1414 * c-typeck.c (c_sizeof): Remove definition.
1416 2002-07-23 Jan Hubicka <jh@suse.cz>
1418 * gcse.c (try_replace_reg): Use num_changes_pending.
1419 * recog.c (num_changes_pending): New function.
1420 (validate_replace_src): Use validate_repalce_src_group.
1421 (validate_replace_src_group): New.
1422 * recog.h (validate_repalce_src_group): New.
1423 (num_changes_pending): Likewise.
1425 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
1427 * calls.c (emit_library_call_value_1): If
1428 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
1429 libcall, const call nor pure call.
1431 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1433 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
1435 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1437 * vmsdbgout.c (SECTION_ASM_OP): Remove.
1439 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1441 * config/i386/i386.c (AT_BP): Remove.
1443 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
1445 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
1447 * gcse.c: Don't define obstack_chunk_free.
1448 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
1449 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
1450 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
1451 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
1452 Don't define obstack macros.
1454 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
1457 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
1458 ASM_OPERANDS instructions.
1460 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
1463 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
1464 constant addresses only on 68HC12.
1466 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
1468 * cppfiles.c (stack_include_file): Correct test of whether
1469 a dependency should be output.
1471 2002-07-22 David Edelsohn <edelsohn@gnu.org>
1473 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
1475 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
1477 * arm.md (movqi): If optimizing and we can create pseudos, use
1478 a ZERO_EXTEND to load from memory, then copy the result into the
1480 (movhi): Likewise, but only for ARMv4.
1482 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
1484 * ssa-ccp.c (PHI_PARMS): Remove.
1486 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
1488 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
1489 on big-endian targets.
1491 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1493 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
1494 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
1495 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
1496 New formatting macros.
1498 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
1500 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1502 * rtlanal.c (subreg_regno_offset): Return correct offset for
1503 big endian paradoxical subregs.
1505 * optabs.c (expand_vector_unop): Don't expand using sub_optab
1506 if we got the wrong mode.
1508 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
1509 * genrecog.c (write_switch, write_cond): Use it.
1510 * genemit.c (gen_exp): Likewise.
1512 2002-07-22 Jakub Jelinek <jakub@redhat.com>
1514 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
1516 2002-07-22 Jakub Jelinek <jakub@redhat.com>
1518 * c-decl.c (build_compound_literal): Defer compound literal decls
1519 until until file end to emit them only if they are actually used.
1521 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1523 * ra-build.c (check_conflict_numbers): Hide unused function.
1524 (livethrough_conflicts_bb): Avoid automatic aggregate
1526 (parts_to_webs_1): Avoid `U' integer constant modifier.
1527 (conflicts_between_webs): Wrap a variable in the macro controlling
1529 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
1530 (dump_igraph, dump_graph_cost): Avoid string concatenation
1531 (dump_static_insn_cost): Avoid automatic aggregate
1533 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
1535 (dump_cost): Avoid string concatenation
1537 2002-07-21 Richard Henderson <rth@redhat.com>
1539 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
1540 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
1542 2002-07-21 Richard Henderson <rth@redhat.com>
1544 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
1545 that are not unrolled completely.
1547 2002-07-21 Richard Henderson <rth@redhat.com>
1549 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
1550 * loop.c (strength_reduce): Update.
1551 * toplev.c (rest_of_compilation): Do unrolling in the first
1552 loop pass, not the second.
1554 2002-07-21 Richard Henderson <rth@redhat.com>
1556 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
1557 when flag_argument_noalias == 2.
1558 * alias.c (nonoverlapping_memrefs_p): Handle that.
1559 * print-rtl.c (print_mem_expr): Likewise.
1561 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
1563 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
1564 instead of __negdi2 directly.
1566 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
1568 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
1569 * function.c (SYMBOL__MAIN): Remove definition.
1570 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
1571 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
1572 * profile.c (GCOV_INDEX_TO_BB): Remove.
1573 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
1574 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
1576 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
1578 * c-lex.c (GET_ENVIRONMENT): Remove.
1579 * collect2.c (GET_ENV_PATH_LIST): Remove.
1580 (prefix_from_env): Use GET_ENVIRONMENT.
1581 * cppinit.c (GET_ENV_PATH_LIST): Remove.
1582 (init_standard_includes): Use GET_ENVIRONMENT.
1583 * defaults.h (GET_ENVIRONMENT): Define here if not already.
1584 * gcc.c (GET_ENV_PATH_LIST): Remove.
1585 (make_relative_prefix, process_command): Update.
1586 * protoize.c (GET_ENV_PATH_LIST): Remove.
1587 (do_processing): Update.
1589 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
1591 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
1592 (grokdeclarator): Likewise.
1593 * c-format.c (C_STD_NAME): Likewise.
1594 * c-lex.c (interpret_integer): Likewise.
1595 * c-typeck.c (build_array_ref): Likewise.
1596 * cpplex.c (_cpp_lex_direct): Likewise.
1597 * toplev.c (documented_lang_options): Likewise.
1599 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
1601 * c-format.c (T99_I, T99_UI): Remove.
1603 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
1605 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
1607 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
1609 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
1612 2002-07-21 Andreas Jaeger <aj@suse.de>
1614 * reload1.c (fixup_abnormal_edges): Remove unused variable.
1616 2002-07-21 Bernd Schmidt <bernds@redhat.com>
1618 Improvements for the ifcvt pass from Michael Meissner, with patches
1619 by Richard Sandiford <rsandifo@redhat.com>
1620 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
1621 * ifcvt.c (cond_exec_changed_p): New static variable.
1622 (last_active_insn): New function, renamed from last_active_insn_p
1623 and changed to return the last active insn in a basic block. All
1625 (block_fallthru): New function.
1626 (cond_exec_process_insns): New argument CE_INFO. Pass it to
1627 IFCVT_MODIFY_INSN. All callers updated.
1628 Return false if START or END are NULL.
1629 Handle case where we're processing an insn that is already
1632 (noce_process_if_block): CE_INFO argument rather than
1633 multiple args containing the involved basic blocks. All callers
1635 (process_if_block, merge_if_block, find_if_block,
1636 cond_exec_process_if_block): Likewise.
1638 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
1640 Use new function last_active_insn to simplify some code.
1641 New code to handle multiple tests.
1642 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
1643 cond_exec_changed_p to TRUE.
1645 (process_if_block): New code to handle multiple tests.
1646 (merge_if_block): Likewise.
1647 (find_if_header): New arg PASS. Changed to return the currently
1648 processed basic block or NULL instead of true/false. All callers
1650 Call IFCVT_INIT_EXTRA_FIELDS.
1651 (block_jumps_and_fallthru_p): New function.
1652 (find_if_block): Discover opportunities to convert multiple tests.
1653 Add additional debugging output.
1654 Update the ce_info structure before returning.
1656 (if_convert): Run multiple passes of if-conversion.
1657 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
1658 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
1659 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
1662 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1664 * gcse.c: Include cselib.h
1665 (constptop_register): Break out from ...
1666 (cprop_insn): ... here; kill basic_block argument.
1667 (do_local_cprop, local_cprop_pass): New functions.
1668 (one_cprop_pass): Call local_cprop_pass.
1670 2002-07-20 Roger Sayle <roger@eyesopen.com>
1672 * simplify-rtx.c (simplify_relational_operation): Optimize
1673 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
1675 2002-07-20 Michae Matz <matz@suse.de>
1677 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
1679 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
1681 * cppexp.c (struct op): Add token pointer.
1682 (check_promotion, CHECK_PROMOTION): New.
1684 (_cpp_parse_expr): Update, use token pointer of struct op.
1685 (reduce): Warn about change of sign owing to promotion.
1686 * cppinit.c (cpp_handle_option): New warning if -Wall.
1687 * cpplib.h (struct cpp_options): New member.
1689 2002-07-19 David Edelsohn <edelsohn@gnu.org>
1691 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
1692 fpu list. Separate Power4 compare and delayed_compare. Correct
1694 (fix_truncdfsi2_internal): Restore FPR preference.
1695 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
1696 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
1698 2002-07-19 Momchil Velikov <velco@fadata.bg>
1700 * reload1.c (reload_as_needed): Duplicate oldpat.
1702 2002-07-20 Alan Modra <amodra@bigpond.net.au>
1704 PR optimization/7130
1705 * loop.h (struct loop_info): Add "preconditioned".
1706 * unroll.c (unroll_loop): Set it.
1707 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
1709 2002-07-19 Zack Weinberg <zack@codesourcery.com>
1711 * rtl.def (CODE_LABEL): Remove slot 8.
1712 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
1713 (LABEL_ALTERNATE_NAME): Delete.
1714 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
1715 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1717 * final.c (output_alternate_entry_point): New.
1718 (final_scan_insn): Use it instead of
1719 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
1720 of a case label being an alternate entry point.
1722 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
1723 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
1724 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
1726 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
1728 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
1729 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
1730 * doc/tm.texi: Delete documentation of
1731 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1733 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1735 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
1736 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
1737 (LINK_SPEC): Define.
1738 (STARTFILE_SPEC): Define.
1739 (ENDFILE_SPEC): Define.
1741 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
1742 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
1744 * config/mips/iris6-o32-gas.h: New file.
1745 * config.gcc (mips-sgi-irix6*o32): Use it.
1747 * config/mips/t-iris5-gas: New file.
1748 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1750 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
1752 * cppexp.c (ALWAYS_EVAL): Remove.
1753 (optab, reduce): Always evaluate.
1754 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
1755 only if not skipping evaluation.
1757 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
1759 * config/avr/avr.c (debug_hard_reg_set): Remove.
1761 2002-07-19 Chris Demetriou <cgd@broadcom.com>
1763 * gcc.c (cpp_options): Include "%1" (cc1_spec).
1765 2002-07-19 Richard Henderson <rth@redhat.com>
1767 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
1769 2002-07-19 Alan Modra <amodra@bigpond.net.au>
1771 * prefix.c (update_path): Don't zap single `.' path components
1772 unless followed by another `.' and fix typo last patch.
1774 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
1776 * cppexp.c (cpp_num_mul): Remove unused parameter.
1777 (UNARY, BINARY, OTHER, binary_handler): Remove.
1780 (reduce): Refactor to a large switch, don't use a function
1783 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
1785 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
1787 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1789 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
1790 (sh_expand_binop_v2sf): Likewise.
1791 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
1792 (int_gpr_dest, trunc_hi_operand): New functions.
1793 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
1795 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
1796 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
1797 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
1798 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
1799 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
1800 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
1801 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
1802 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
1803 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
1804 (movsf_ie+1): Likewise.
1805 (loaddi_trunc): Use int_gpr_dest predicate.
1806 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
1807 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
1808 (casesi_worker_0+[12], casesi_worker): Likewise.
1809 (shcompact_preserve_incoming_args): Likewise.
1810 (mov_nop): Use any_register_operand predicate.
1811 (mperm_w0): Use trunc_hi_operand predicate.
1813 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1815 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
1816 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
1819 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1821 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
1823 2002-07-18 Richard Henderson <rth@redhat.com>
1825 PR optimization/7147
1826 * ifcvt.c (noce_get_condition): Make certain that the condition
1829 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
1831 * sh.c (barrier_align, push): Shut up compiler warnings.
1832 (initial_elimination_offset,sh_media_init_builtins): Likewise.
1833 (reg_no_subreg_operand): Delete.
1835 2002-07-17 Bo Thorsen <bo@suse.de>
1837 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
1838 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
1839 (STARTFILE_SPEC): Remove hardcoded library paths.
1840 (ENDFILE_SPEC): Likewise.
1842 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
1844 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
1846 * gcse.c (try_replace_reg): Do not return false positives.
1848 2002-07-18 Alan Modra <amodra@bigpond.net.au>
1850 * prefix.c: (update_path): Strip ".." components when prior dir
1851 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
1853 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
1854 (ASM_OUTPUT_REG_POP): Likewise.
1856 2002-07-18 Alan Modra <amodra@bigpond.net.au>
1858 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
1859 adjustments to first_reg for profiling case.
1860 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
1861 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
1862 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
1863 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
1864 (ASM_OUTPUT_REG_POP): Define.
1865 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
1866 (ASM_OUTPUT_REG_POP): Undef.
1868 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
1870 * cpplib.c (do_sccs): Handle #sccs on all systems.
1871 * system.h (SCCS_DIRECTIVE): Poison.
1872 * config/darwin.h, config/freebsd.h, config/netbsd.h,
1873 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
1874 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
1875 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
1876 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
1877 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
1878 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
1879 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
1880 Remove all references to SCCS_DIRECTIVE.
1881 * doc/cpp.texi, doc/tm.texi: Update.
1883 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
1885 * regrename.c (maybe_mode_change): New function.
1886 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
1888 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
1890 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
1891 suppress addition when either ct or cf are zero.
1893 2002-06-17 Eric Botcazou <ebotcazou@multimania.com>
1894 Glen Nakamura <glen@imodulo.com>
1896 PR optimization/6713
1897 * loop.c (loop_givs_rescan): Explicitly delete the insn that
1898 sets a non-replaceable giv after issuing the new one.
1900 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
1902 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
1903 eval_token): Clarify and correct use of "bool" variables.
1904 * cpplib.h (struct cpp_options): Similarly.
1905 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
1906 * cpptrad.c (recursive_macro): Similarly.
1908 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
1910 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
1913 * sh.md (cmpgtudi_media): Remove spurious @.
1915 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
1916 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
1918 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
1919 * sh-protos.h (sh_initialize_trampoline): Declare.
1920 * sh.c (sh_initialize_trampoline): New function.
1921 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
1922 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
1923 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
1924 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
1925 * sh.md (initialize_trampoline, double_shori): New patterns.
1926 (initialize_trampoline_compact): Likewise.
1927 (shmedia32_initialize_trampoline_big): Remove.
1928 (shmedia32_initialize_trampoline_little): Likewise.
1930 * sh-protos.h (binary_float_operator): Remove declaration.
1931 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
1932 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
1933 (unary_float_operator, sh_expand_unop_v2sf): New functions.
1934 (sh_expand_binop_v2sf): Likewise.
1935 (zero_vec_operand): Delete.
1936 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
1937 all non-shared ones.
1938 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
1939 Enable nsb and byterev.
1940 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
1941 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
1943 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
1944 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
1946 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
1948 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
1949 lowpart fp regs - only for big endian for now.
1950 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
1952 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
1953 (LOAD_EXTEND_OP): NIL for SImode.
1954 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
1955 general and fp registers is 4.
1956 PREDICATE_CODES: Amend binary_float_operator entry.
1957 Remove zero_vec_operand. Add unary_float_operator.
1958 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
1960 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
1961 (truncdiqi2): Do sign extension.
1962 (movsi_media, movdi_media): Allow to use r63 to an fp register.
1963 (movdf_media, movsf_media): Likewise.
1964 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
1965 Collapse to one define_insn_and_split. Allow immediate sources.
1966 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
1967 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
1968 (movv4sf): Allow immediate sources.
1969 (movsf_media_nofpu+1): Don't split moves to FP registers.
1970 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
1971 (movv8qi_i+3): Check against CONST0_RTX.
1972 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
1973 for input and output operands. Fix argument 3 to gen_mextr_rl.
1974 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
1975 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
1976 (mshf0_w, fipr, ftrv): Likewise.
1977 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
1979 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1981 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
1982 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
1985 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
1987 * config/mips/mips-protos.h (mips_sign_extend): Declare.
1988 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
1989 (TARGET_SWITCHES): Remove debugh.
1990 (ISA_HAS_TRUNC_W): New macro.
1991 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
1992 (PREDICATE_CODES): Remove se_nonimmediate_operand.
1993 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
1994 any SImode move_operand.
1995 (se_nonimmediate_operand): Remove.
1996 (mips_sign_extend): New.
1997 (mips_move_2words): Use it for sign-extended source operands.
1998 (override_options): Allow integers to be put into single FPRs.
1999 (mips_secondary_reload_class): Handle integers in float registers.
2000 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
2001 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
2002 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
2003 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
2004 (fix_truncdfdi2): Provide only a single alternative, in which the
2005 integer is in a float register. Depend on TARGET_FLOAT64 rather
2007 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
2008 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
2009 (movdi_internal2): Don't allow the source operand to be sign-extended.
2010 Add alternatives for float registers.
2011 (*movdi_internal2_extend): New. Version of movdi_internal2 that
2012 allows sign-extension.
2013 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
2014 (movsi_internal2): Rename to movsi_internal. Add alternatives for
2015 float registers. Remove TARGET_DEBUG_H_MODE test.
2016 (movhi_internal1): Rename to movhi_internal. Don't check
2017 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
2018 (movqi_internal1): Rename to movqi_internal and remove
2019 TARGET_DEBUG_H_MODE dependency.
2020 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
2022 2002-07-16 Jim Wilson <wilson@redhat.com>
2024 * toplev.c (lang_dependent_init): Create function context for
2027 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
2029 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
2030 --gc-sections if -r.
2031 * config/cris/cris.h: Ditto.
2033 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
2035 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
2036 the comparison directly gives a mask suppress addition when cf is
2037 zero by complementing the mask.
2039 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
2041 * Makefile.in: Delete references to enquire.
2042 * enquire.c: Move to contrib.
2044 2002-07-16 Stan Shebs <shebs@apple.com>
2046 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
2047 config/rs6000/darwin.h.
2048 (ASM_OUTPUT_SKIP): Ditto.
2049 (TEXT_SECTION_ASM_OP): Ditto.
2050 (DATA_SECTION_ASM_OP): Ditto.
2051 (ASM_APP_ON): Define.
2052 (ASM_APP_OFF): Define.
2053 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
2054 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
2056 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
2057 (machopic_function_base_name): Declare result to be const.
2058 (machopic_non_lazy_ptr_name): Ditto.
2059 (machopic_stub_name): Ditto.
2060 * config/darwin-protos.h: Ditto for the prototypes.
2062 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
2064 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
2066 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
2068 * i386.md (prefetch): Fix for 64bit mode.
2069 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
2071 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2073 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
2074 * i386.c (x86_machine_dependent_reorg): New function.
2075 * i386-protos.h (x86_machine_dependent_reorg): Declare.
2077 2002-07-16 Zack Weinberg <zack@codesourcery.com>
2079 * builtins.c (std_expand_builtin_va_start): Remove unused
2081 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
2082 std_expand_builtin_va_start with just two arguments.
2083 * expr.h: Update prototypes.
2085 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
2086 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
2087 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
2088 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
2089 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
2090 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
2091 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
2092 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
2093 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
2094 argument from all implementations of EXPAND_BUILTIN_VA_START
2095 and all uses of std_expand_builtin_va_start.
2097 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
2099 * regrename.c (copy_value): Don't record high part copies.
2101 2002-07-16 Steve Ellcey <sje@cup.hp.com>
2103 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
2104 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
2105 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
2107 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2109 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
2111 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
2112 into addsi3 using register class "x" and "y".
2114 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
2115 "earlyclobber" constraint modifier for some alternative.
2117 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
2118 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
2120 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
2122 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
2123 (TARGET_SWITCHES): Add -mieee-compare option.
2124 (OVERRIDE_OPTIONS): 32332 is a subset of
2125 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
2126 (TARGET_SWITCHES): Fix description of bitfield option.
2127 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
2128 -mieee-compare option. Remove 32332 flag.
2130 2002-07-16 Steve Ellcey <sje@cup.hp.com>
2132 * explow.c (convert_memory_address): Remove special handling
2133 when POINTERS_EXTEND_UNSIGNED < 0.
2134 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
2135 (movedi_symbolic): Fix typo.
2136 (load_fptr): Remove mode restriction so it works for SI and DI.
2137 (load_fptr_internal1): Ditto.
2138 (load_gprel): Ditto.
2139 (load_symptr_internal1): Ditto.
2141 * config/ia64.c (call_operand): Modify mode check.
2142 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
2143 (ia64_expand_move): Ditto.
2144 (ia64_assemble_integer): Handle SImode function pointers.
2145 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
2146 (ia64_expand_op_and_fetch): Ditto.
2147 (ia64_expand_compare_and_swap): Ditto.
2148 (ia64_expand_lock_test_and_set): Ditto.
2149 (ia64_expand_lock_release): Ditto.
2151 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2153 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
2155 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2156 Richard Earnshaw <rearnsha@arm.com>
2158 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
2159 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
2161 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
2163 * arm.md (stack_tie): New insn. Use an idiom that the alias code
2164 understands to be a memory clobber.
2165 * arm.c (arm_expand_prologue): Use it.
2167 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
2169 * ra-rewrite.c: #include reload.h, insn-config.h
2170 * ra-build.c: #include reload.h
2171 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
2172 depend on reload.h, insn-config.h.
2174 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
2176 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
2177 the same size as a word.
2179 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
2180 BYTES_BIG_ENDIAN into account.
2182 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
2184 * i386.md (prefetch): Fix for 64bit mode.
2185 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
2187 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
2189 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
2191 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
2193 2002-07-15 Zack Weinberg <zack@codesourcery.com>
2195 * ginclude/varargs.h: Replace with stub which issues #error.
2196 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
2199 * builtins.def (BUILT_IN_VARARGS_START): Delete.
2200 (BUILT_IN_VA_START): New.
2201 * builtins.c (expand_builtin_va_start): Eliminate first
2202 argument and code to implement pre-ISO varargs.
2203 (std_expand_builtin_va_start): Ignore first argument; it is
2205 (expand_builtin): Handle BUILT_IN_VA_START and
2206 BUILT_IN_STDARG_START identically. Delete
2207 BUILT_IN_VARARGS_START case.
2209 * function.c (assign_parms): Delete hide_last_arg and all
2211 (mark_varargs): Delete function.
2212 * function.h (struct function): Delete 'varargs' bit.
2213 (current_function_varargs): Delete macro.
2214 * tree.h: Don't declare mark_varargs.
2216 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
2217 (c_expand_body): Don't call mark_varargs.
2218 * c-objc-common.c: Handle BUILT_IN_VA_START and
2219 BUILT_IN_STDARG_START identically. Delete
2220 BUILT_IN_VARARGS_START case.
2221 * c-tree.h: Don't declare c_mark_varargs.
2222 * c-parse.in: Remove grammar rules for '&...' (which has been
2223 commented out since before 2.7.2) and for '...' in K+R
2224 argument declarations.
2226 * builtins.c, function.c, integrate.c, sibcall.c,
2227 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
2228 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
2229 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
2230 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
2231 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
2232 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
2233 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
2234 config/stormy16/stormy16.c: Delete all references to
2235 current_function_varargs, and code predicated on that flag.
2237 * config/alpha/alpha.c (alpha_va_start),
2238 config/arc/arc.c (arc_va_start),
2239 config/i386/i386.c (ix86_va_start),
2240 config/mips/mips.c (mips_va_start),
2241 config/mn10300/mn10300.c (mn10300_va_start),
2242 config/rs6000/rs6000.c (rs6000_va_start),
2243 config/s390/s390.c (s390_va_start),
2244 config/sh/sh.c (sh_va_start),
2245 Ignore first argument; it is always 1.
2247 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
2248 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
2249 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
2250 Delete m68hc11_va_start.
2251 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
2252 No need to define EXPAND_BUILTIN_VA_START.
2254 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
2255 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
2257 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
2259 PR optimization/7153
2260 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
2261 dies in more than one insn.
2263 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
2265 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
2267 2002-07-15 Michael Matz <matz@suse.de>,
2268 Daniel Berlin <dberlin@dberlin.org>,
2269 Denis Chertykov <denisc@overta.ru>
2271 Add a new register allocator.
2275 * ra-build.c: New file.
2276 * ra-colorize.c: New file.
2277 * ra-debug.c: New file.
2278 * ra-rewrite.c: New file.
2280 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
2281 (ra-rewrite.o): New .o files for libbackend.a.
2282 (GTFILES): Add basic-block.h.
2284 * toplev.c (flag_new_regalloc): New.
2285 (f_options): New option "new-ra".
2286 (rest_of_compilation): Call initialize_uninitialized_subregs()
2287 only for the old allocator. If flag_new_regalloc is set, call
2288 new allocator, instead of local_alloc(), global_alloc() and
2291 * doc/invoke.texi: Document -fnew-ra.
2292 * basic-block.h (FOR_ALL_BB): New.
2293 * config/rs6000/rs6000.c (print_operand): Write small constants
2296 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
2297 (df_reg_table_realloc): Make size at least as large as max_reg_num().
2298 (df_insn_table_realloc): Size argument now is absolute, not relative.
2299 Changed all callers.
2301 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
2302 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
2304 2002-06-20 Michael Matz <matz@suse.de>
2306 * df.h (struct ref.id): Make unsigned.
2307 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
2309 2002-06-13 Michael Matz <matz@suse.de>
2311 * df.h (DF_REF_MODE_CHANGE): New flag.
2312 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
2313 involving subregs with invalid mode changes, when
2314 CLASS_CANNOT_CHANGE_MODE is defined.
2316 2002-05-07 Michael Matz <matz@suse.de>
2318 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
2320 2002-05-03 Michael Matz <matz@suse.de>
2322 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
2324 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
2326 * regclass.c (regclass): Work with all regs which have sets or
2328 (reg_scan_mark_refs): Count regs inside (clobber ...).
2330 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
2332 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
2333 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
2335 (df_bb_refs_update): Don't clear insns_modified here, ...
2336 (df_analyse): ... but here.
2338 * sbitmap.c (dump_sbitmap_file): New.
2339 (debug_sbitmap): Use it.
2341 * sbitmap.h (dump_sbitmap_file): Add prototype.
2343 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
2345 * df.c (df_insn_modify): Grow the UID table if necessary, rather
2346 than assume all emits go through df_insns_modify.
2348 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
2350 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
2351 increase REG_N_REFS (like flow does), so that regclass doesn't
2352 think a reg is useless, and thus, not calculate a class, when it
2355 2001-01-28 Daniel Berlin <dberlin@redhat.com>
2357 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
2360 2002-07-15 Jakub Jelinek <jakub@redhat.com>
2363 * config/i386/i386.c (const_int_1_31_operand): New.
2364 * config/i386/i386.h (PREDICATE_CODES): Add it.
2365 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
2366 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
2367 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
2369 2002-07-14 Alan Modra <amodra@bigpond.net.au>
2372 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
2373 (floatunssidf2): Likewise.
2374 (floatsidf_ppc64): New insn_and_split.
2375 (floatunssidf_ppc64): Likewise.
2377 2002-07-14 Andreas Jaeger <aj@suse.de>
2379 * config.gcc (sh64): Remove unused
2380 target_requires_64bit_host_wide_int.
2382 2002-07-12 Roger Sayle <roger@eyesopen.com>
2384 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
2385 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
2386 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
2387 whether clear_by_pieces should be used to clear storage.
2388 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
2390 * doc/tm.texi: Document these two new target macros.
2392 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
2394 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
2395 the scratch register.
2396 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
2397 of it, forbid reload to use it.
2399 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
2401 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
2402 usage on 64-bit hosts, return value was truncated to 32 bits.
2404 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
2406 * simplify-rtx.c (simplify_subreg): Handle floating point
2407 CONST_DOUBLEs. When an integer subreg of a smaller mode than
2408 the element mode is requested, compute a subreg with an
2409 integer mode of the same size as the element mode first.
2411 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
2413 * combine.c (try_combine): When converting a paradoxical subreg
2414 to an extension, take LOAD_EXTEND_OP into account.
2416 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2418 * config.gcc (mips-sgi-irix6*o32): New configuration.
2420 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
2422 * configure: Regenerate.
2424 * config/mips/iris6-o32-as.h: New file.
2425 * config/mips/iris6-o32.h: New file.
2427 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
2429 (HAVE_AS_SHF_MERGE): Undefine.
2431 * config/mips/t-iris5-as: New file.
2432 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
2434 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
2435 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
2436 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
2437 dp-bit.c, fp-bit.c): Move ...
2438 * config/mips/t-iris5-6: ... here.
2439 New file, shared by IRIX 5 and IRIX 6.
2440 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
2441 mips-sgi-irix5*): Use it.
2443 * config/mips/iris6.h: Remove duplicate comment.
2445 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
2446 !TARGET_IRIX6]: Define.
2447 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
2449 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
2451 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2453 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
2454 and delete code to force constant to register.
2455 * pa-protos.h (adddi3_operand): Add prototype.
2456 * pa.c (adddi3_operand): New function.
2458 2002-07-11 Roger Sayle <roger@eyesopen.com>
2460 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
2461 non-ANSI builtin functions.
2463 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
2465 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
2466 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
2467 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
2468 (gen_const_vector_0): Use it.
2470 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2472 * pa.md (adddi3): For 32-bit targets, force constants to a register
2473 if they don't fit in an 11-bit immediate. Change insn predicate to
2474 arith11_operand. Remove comment.
2475 * pa.c (cint_ok_for_move): Fix comment.
2476 (emit_move_sequence): Don't directly split DImode constants on 32-bit
2479 2002-07-11 Tim Josling <tej@melbpc.org.au>
2481 Remove front end hard coding from gengtype.c.
2484 (STAGESTUFF): add gtyp-gen.h
2485 (GTFILES): Remove front end specific files.
2486 (GTFILES_FILES_LANGS): New, from configure..
2487 (GTFILES_FILES_FILES): Likewise.
2488 (GTFILES_LANG_DIR_NAMES): Likewise.
2489 (GTFILES_SRCDIR): Likewise.
2490 (gtyp-gen.h): Build from configure information.
2491 (s-gtype): Remove command line parameters from gengtype.
2492 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
2493 (mostlyclean): Delete files generated by and for gengtype.
2495 * c-config-lang.in: New file.
2497 * configure.in (all_gtfiles_files_langs): New. Accumulate files
2499 (all_gtfiles_files_files): New. Accumulate language for each file
2501 (gtfiles): Pick up value for C.
2502 (srcdir): AC-SUBST this variable.
2503 (all_gtfiles_files_langs): AC-SUBST this variable.
2504 (all_gtfiles_files_files): AC-SUBST this variable.
2506 * configure: Regenerate.
2508 * gengtype-lex.l (parse_file): Make parameter const.
2510 * gengtype.c (toplevel): include gtyp-gen.h.
2511 (BASE_FILE_<language> unnamed enum): Delete.
2512 (lang_names): Delete (replaced by gtyp-gen.h)
2513 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
2515 (NUM_GT_FILES): New.
2516 (NUM_LANG_FILES): New.
2518 (NUM_BASE_FILES): Change calculation.
2519 (open_base_files): Change prototype to avoid warning.
2520 (startswith): Delete.
2521 (get_file_basename): Iterate through generated language list not
2523 (get_base_file_bitmap): Use generated list of files and languages.
2524 (close_output_files): Add prototype to rmove warning.
2525 (main): Iterate through list of generated files from gtyp-gen.h
2526 rather than command line paramaters. Ignore duplicated file
2529 * gengtype.h (parse_file): Amend prototype for const parameter.
2531 * doc/sourcebuild.texi: Document gtfiles variable.
2533 * doc/gty.texi: Document changes to gtfiles variable for front
2536 * objc/config-lang.in (gtfiles): Add files needed for objc front
2539 2002-07-10 Roger Sayle <roger@eyesopen.com>
2542 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
2543 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
2545 2002-07-10 Roger Sayle <roger@eyesopen.com>
2546 Zack Weinberg <zack@codesourcery.com>
2548 * builtins.def: Make the argument types of abort and exit
2549 independent of the front-end.
2551 2002-07-11 Alan Modra <amodra@bigpond.net.au>
2553 * config/rs6000/linux64.h (ASM_SPEC): Define.
2555 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
2557 * config/rs6000/rs6000.c (emit_frame_save): New.
2558 (rs6000_frame_related): Replace reg2 before reg.
2559 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
2560 and eh_return registers.
2562 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
2564 Revert all patches for optimization of Complex .op. Real.
2565 * complex_part_zero_p: Remove
2566 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
2568 * expand_cmplxdiv_wide: Ditto.
2569 * expand_binop: Ditto.
2571 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
2573 * config/avr/avr.md: Fix two 0x80000000 constants to make them
2574 negative also on 64-bit hosts.
2576 Default to -fno-reorder-blocks when optimizing for size.
2577 * config/avr/avr-protos.h (avr_optimization_options): Declare.
2578 * config/avr/avr.c (avr_optimization_options): New function.
2579 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
2581 Optimize returning from simple functions.
2582 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
2583 * config/avr/avr.c (avr_simple_epilogue): New function.
2584 * config/avr/avr.md (return): New insn.
2586 2002-07-10 Douglas B Rupp <rupp@gnat.com>
2588 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
2589 HAS_INIT_SECTION to protection.
2591 2002-07-10 Mark Mitchell <mark@codesourcery.com>
2593 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
2596 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
2598 * combine.c (gen_lowpart_for_combine): Handle vector modes.
2599 Supply non-VOID mode to simplify_gen_subreg.
2601 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
2603 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
2605 2002-07-10 Jeffrey A Law <law@redhat.com>
2607 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
2610 * mn10200.c (expand_epilogue): Fix test to determine which scratch
2613 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
2615 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
2617 If simplify_gen_subreg fails, try next equivalent.
2619 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
2621 * diagnostic.h: #include location.h
2622 (location_t): Move definition to..
2623 * location.h: ... here. New file.
2624 * tree.h: #include location.h
2625 (DECL_SOURCE_LOCATION): New macro.
2626 (DECL_SOURCE_FILE): Use.
2627 (DECL_SOURCE_LINE): Likewise.
2628 (struct tree_decl): REplace filename and linenum with locus.
2629 * Makefile.in (TREE_H): add location.h
2630 (diagnostic.o): Depends on gt-location.h
2631 (gt-location.h): Depends on s-gtype
2633 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
2635 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
2636 TARGET_OS_CPP_BUILTINS.
2637 * config/rs6000/aix31.h: Likewise.
2638 * config/rs6000/aix41.h: Likewise.
2639 * config/rs6000/aix43.h: Likewise.
2640 * config/rs6000/aix51.h: Likewise.
2641 * config/rs6000/beos.h: Likewise.
2642 * config/rs6000/darwin.h: Likewise.
2643 * config/rs6000/eabi.h: Likewise.
2644 * config/rs6000/eabisim.h: Likewise.
2645 * config/rs6000/linux.h: Likewise.
2646 * config/rs6000/linux64.h: Likewise.
2647 * config/rs6000/lynx.h: Likewise.
2648 * config/rs6000/mach.h: Likewise.
2649 * config/rs6000/rtems.h: Likewise.
2650 * config/rs6000/sysv4.h: Likewise.
2651 * config/rs6000/vxppc.h: Likewise.
2653 2002-07-09 Devang Patel <dpatel@apple.com>
2654 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
2655 Do not allow ObjC objects as a parameter type for Objective-C methods.
2656 My previous patch restricted 'struct' also.
2658 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
2660 * cpperror.c (cpp_error): Default to directive_line within
2662 * cppexp.c (cpp_interpret_integer): Only use traditional
2663 number semantics in directives.
2664 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
2665 (do_include_common): Similarly.
2666 * cpptrad.c (scan_out_logical_line): Implement accurate
2667 quoting of <> in #include.
2668 * doc/cpp.texi: Update.
2670 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
2671 J"orn Rennecke <joern.rennecke@superh.com>
2673 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
2674 * sh.md (attribute issues): Replace with:
2675 (attribute pipe_model). All users changed.
2676 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
2678 (function units sh5issue, sh5fds): New.
2679 (attribute is_mac_media): New.
2680 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
2681 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
2682 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
2683 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
2684 (call_media, call_value_media, sibcall_media): Likewise.
2685 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
2686 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
2687 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
2688 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
2689 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
2690 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
2691 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
2692 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
2693 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
2694 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
2695 (truncdfsf2_media): Likewise.
2696 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
2697 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
2699 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
2701 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
2702 * sh.c (general_extend_operand, inqhi_operand): New functions.
2703 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
2704 alternatives using 'N' modifier. Add type.
2705 (adddi3z_media): Likewise. Enable generator function generation.
2706 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
2707 exact predicates / constraints. Add type.
2708 (subsi3): Allow 0 for SHMEDIA.
2709 (udivsi3_i4_media): Use match_operand for input values
2710 rather than hard registers.
2711 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2712 unnecessarily through hard registers. Keep copies of pseudo
2713 registers outside of the libcall sequence.
2714 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
2715 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
2716 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
2717 (extendhidi2, extendqidi2): Likewise.
2718 (andsi3_compact): Name.
2719 (andcdi3): Enable generator function generation.
2720 (zero_extendhisi2, zero_extendqisi2): Rename to
2721 (zero_extendhisi2_compact, zero_extendqisi2_compact).
2722 (extendhisi2, extendqisi2): Rename to
2723 (extendhisi2_compact, extendqisi2_compact).
2724 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
2725 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
2726 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
2727 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
2728 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
2729 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
2730 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
2731 (shmedia32_initialize_trampoline_big): Likewise.
2732 (shmedia32_initialize_trampoline_little): Likewise.
2733 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
2734 (negdi2): Remove spurious T clobber.
2735 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
2736 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
2737 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
2738 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
2739 (ic_invalidate_line_media): Write back data cache before invalidating
2740 instruction cache. Add type.
2741 (movsf_media): Sign-extend when the destination is a general
2742 purpose register. Add type.
2743 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
2744 (casesi_worker_0+1): Only increment ref count for proper label.
2745 (casesi_worker_0+2): Likewise.
2747 2002-07-09 Mark Mitchell <mark@codesourcery.com>
2749 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
2751 2002-07-09 Steve Ellcey <sje@cup.hp.com>
2753 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
2754 from Pmode to ptr_mode.
2755 (get_exception_pointer): Ditto.
2756 (connect_post_landing_pads): Ditto.
2757 (dw2_build_landing_pads): Ditto.
2759 2002-07-08 Steve Ellcey <sje@cup.hp.com>
2760 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
2761 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
2762 (handle_pragma_redefine_extname): Change to use new function.
2764 2002-07-08 Roger Sayle <roger@eyesopen.com>
2766 * combine.c (combine_simplify_rtx): Add an explicit cast
2767 to avoid signed/unsigned comparison warning.
2768 (simplify_if_then_else): Likewise.
2769 (extended_count): Likewise.
2770 (simplify_shift_const): Likewise.
2771 (simplify_comparison): Likewise.
2773 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
2775 * config/mips/mips.md: Add imadd type. Update scheduler description
2776 to use imadd as well as imul.
2777 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
2778 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
2779 (*mul_sub_si): Likewise for first alternative. Change second
2780 alternative from imul to multi.
2782 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
2784 * c-common.c (c_common_post_options): Update prototype;
2785 don't init backends if preprocessing only.
2786 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
2787 * langhooks.h (struct lang_hooks): Update post_options to
2789 * toplev.c (parse_options_and_default_flags, do_compile,
2790 lang_independent_init): Update prototypes. Allow the
2791 front end to specify that there is no need to initialize
2793 (general_init): Move call to hex_init here...
2794 (toplev_main): ...from here. Pass flag for back end init
2797 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2799 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
2800 (PREDICATE_CODES): Add entries for equality_comparison_operator,
2801 greater_comparison_operator and less_comparison_operator.
2802 * sh.c (print_operand): Add '\'' code. Make 'o' handle
2804 (equality_comparison_operator): New function.
2805 (greater_comparison_operator, less_comparison_operator): Likewise.
2806 * sh.md (beq_media_i): Disable generator function generation.
2807 Use match_operator to handle a whole class of comparisons. Add
2808 modifier in output template to provide branch prediction. Add type.
2809 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
2810 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
2811 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
2812 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
2814 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
2816 Emit MMIX function prologue and epilogue as rtl.
2817 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
2818 not unprototyped get_hard_reg_initial_val.
2819 ("call_value", "nonlocal_goto_receiver"): Ditto.
2820 ("return"): Make define_expand. Move real insn to...
2821 ("*expanded_return"): New pattern.
2822 ("prologue", "epilogue"): New define_expands.
2823 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
2824 (struct machine_function): New member in_prologue.
2825 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
2826 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
2827 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
2828 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
2829 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
2830 (LOCAL_REGNO): Define. Adjust comment.
2831 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
2832 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
2834 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
2836 (mmix_target_asm_function_prologue): Make static. Just mark that
2837 the prologue is being emitted. Move guts to...
2838 (mmix_expand_prologue): New function. Adjust for emitting
2839 prologue as rtl. For sizes, use HOST_WIDE_INT only.
2840 (mmix_target_asm_function_epilogue): Make static. Simply emit a
2842 (mmix_expand_epilogue): New function. Adjust for emitting
2843 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
2844 (mmix_target_asm_function_end_prologue): Mark that the prologue
2846 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
2847 (mmix_conditional_register_usage): Improve comments.
2848 (mmix_local_regno): New function.
2849 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
2850 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
2851 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
2852 (mmix_get_hard_reg_initial_val): Ditto.
2854 2002-07-06 Andreas Jaeger <aj@suse.de>
2856 * toplev.c (set_fast_math_flags): Don't use ISO C style function
2858 * gengtype.c (open_base_files): Likewise.
2859 (close_output_files): Likewise.
2860 * tracer.c (find_best_predecessor): Likewise.
2861 (find_best_successor): Likewise.
2862 (ignore_bb_p): Likewise.
2864 2002-07-05 Roger Sayle <roger@eyesopen.com>
2867 * builtin-attrs.def: Define new attribute lists for use in
2869 * builtins.def [DEF_BUILTIN]: Modify to take an additional
2870 ATTRS argument, an enumerated value defined in builtin-attrs.def
2871 that represents the attribute list for the builtins. Modify
2872 all builtin functions to pass an appropriate attribute list.
2873 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
2874 their required noreturn attributes.
2875 * tree.h (enum_builtin_function): Ignore the additional parameter
2877 * builtins.c (built_in_names): Likewise.
2878 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
2879 argument with a tree representing the functions attribute list.
2880 Pass this "attrs" argument to builtin_function. No longer handle
2881 the noreturn_p processing manually.
2882 (built_in_attributes): Move the definitions from builtin-attrs.def
2883 before c_common_nodes_and_builtins.
2884 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
2885 DEF_BUILTIN, passing it to both builtin_function and the changed
2888 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
2889 __builtin__exit and __builtin__Exit.
2891 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2893 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
2894 QI mode registers in soft registers.
2895 ("zero_extendqihi2"): Do not take into account soft registers
2896 for register allocation (use '*' constraint).
2898 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2900 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
2902 ("*ashrsi3"): Likewise.
2903 ("*lshrsi3"): Likewise.
2905 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
2907 * genautomata.c (output_max_insn_queue_index_def): Take latencies
2910 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2912 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2913 address computation and memory moves.
2915 2002-07-03 Mark Mitchell <mark@codesourcery.com>
2918 * dwarfout.c (output_reg_number): Fix warning message.
2919 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
2922 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2924 * gcc/gcc.c (asm_debug): Move initialization ...
2925 (init_spec): ... here.
2927 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
2929 * c-parse.in (extdef): Append ';'.
2930 (old_style_parm_decls): Append ';'.
2932 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
2934 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
2935 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
2936 to gcc_cv_as_gstabs_flag.
2937 * configure: Rebuilt.
2939 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
2941 * ggc.h (ggc_add_root): Document as obsolete.
2943 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
2945 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
2946 (mshflo_w): Likewise.
2948 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
2950 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
2951 vector mode subregs of constants to finding integer mode
2952 subregs of constants.
2953 * cse.c (cse_insn): Use simplify_gen_subreg.
2954 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
2955 From a vector mode expression of different size than the
2958 2002-07-03 Eric Christopher <echristo@redhat.com>
2960 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
2961 * config/mips/mips.h: Remove deprecated -m<processor> options
2962 and cc1_cpu_spec associated.
2963 (CONSTANT_ADDRESS_P): Fix last patch.
2964 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
2965 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
2968 2002-07-03 Stan Shebs <shebs@apple.com>
2970 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
2971 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
2972 (CPP_SPEC): Remove insertion of APPLE_CC definition.
2974 2002-07-03 Roger Sayle <roger@eyesopen.com>
2976 * combine.c (struct_undo): Change types of recorded substitutions
2977 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
2978 (do_SUBST_INT): Change types of the substitution from unsigned int
2979 to int, to avoid compilation warning from SUBST_INT's only caller.
2981 (make_extraction): Add cast to avoid compilation warning.
2982 (force_to_mode): Remove cast to avoid compilation warning.
2984 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
2985 Jeff Law <law@redhat.com>
2987 * i386.md (length_immediate attribute): Fix typo.
2988 (length_address attribute): Likewise.
2989 (modrm attribute): Set it to 0 for immediate call instructions.
2990 (jcc_1 pattern): Set modrm attribute to 0.
2991 (jcc_2 pattern ): Likewise.
2992 (jump pattern): Likewise.
2993 (doloop_end_internal pattern): Explicitly set length.
2994 (leave pattern): Fix typo.
2995 (leave_rex64 pattern): Likewise.
2997 2002-07-03 David Edelsohn <edelsohn@gnu.org>
2999 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
3000 in FPR as preference.
3002 (floatdidf2, fix_truncdfdi2): Same.
3003 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
3005 (floatsitf2, fix_trunctfsi2): SImode in GPR.
3006 (ctrdi): Remove FPR alternative and splitter.
3008 2002-07-03 Will Cohen <wcohen@redhat.com>
3010 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
3012 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
3014 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
3015 than UNITS_PER_WORD, unless this is little endian and the first unit
3016 in this word. Let extract_bit_field decide how to load an element.
3017 Force arguments to matching mode.
3018 (expand_vector_unop): Likewise.
3020 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
3021 consist of word_mode elements.
3022 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
3023 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
3024 (build_unary_op): Allow vector types for BIT_NOT_EPR.
3025 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
3027 * optabs.c (expand_vector_binop): Try to perform operation in
3028 smaller vector modes with same inner size. Add handling of AND, IOR
3029 and XOR. Reject expansion to inner-mode sized scalars when using
3030 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
3031 (expand_vector_unop): Try to perform operation in smaller vector
3032 modes with same inner size. Add handling of one's complement.
3033 When there is no vector negate operation, try a vector subtract
3034 operation. Use simplify_gen_subreg on constants.
3035 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
3036 constants into smaller vectors with same inner mode, and to
3037 integer CONST_DOUBLEs.
3039 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3041 * c-parse.in (parsing_iso_function_signature): New variable.
3042 (extdef_1): New, copied from...
3043 (extdef): ... here. Reset parsing_iso_function_signature.
3044 (old_style_parm_decls): Reset parsing_iso_function_signature.
3045 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
3046 Warn about ISO C style function definitions.
3047 (nested_function, notype_nested_function): Reset
3048 parsing_iso_function_signature.
3049 (parmlist_2): Set parsing_iso_function_signature.
3051 * doc/invoke.texi (-Wtraditional): Document new behavior.
3053 2002-07-02 Chris Demetriou <cgd@broadcom.com>
3055 * config.gcc (mips*el-*-*): Use tm_defines to set
3056 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
3057 * config/mips/little.h: Remove.
3059 2002-07-02 Devang Patel <dpatel@apple.com>
3061 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
3062 object as parameter. Prevent something like 'NSObject' to be
3063 used as the type for a method argument.
3065 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
3067 * cpptrad.c: Update comment.
3069 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
3071 * doc/cpp.texi: Update for traditional preprocessing changes.
3072 * goc/cppopts.texi: Similarly.
3074 2002-07-02 Ziemowit Laski <zlaski@apple.com>
3076 * c-parse.in (designator): Enable designated initializers if ObjC.
3077 (objcmessageexpr): Remove references to objc_receiver_context.
3078 * objc/objc-act.h (objc_receiver_context): Remove decl.
3079 * objc/objc-act.c (objc_receiver_context): Remove.
3080 (lookup_objc_ivar): Test objc_method_context instead of
3081 objc_receiver_context.
3083 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
3085 * sh.c (print_operand, case 'N'): Allow zero vector.
3086 (arith_reg_or_0_operand): Likewise.
3087 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
3088 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
3089 IOR, XOR, PLUS and SET and take their respective constant
3090 ranges into account.
3091 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
3092 * sh.md (subdi3, subdi3_media): Allow zero operand.
3093 (movv8qi_i+3): Only vector that is not split is the zero vector.
3094 Fix operand 3 to simplify_subreg.
3095 (movv2si_i): Split alternative 1.
3096 (mshfhi_l_di_rev+1): New splitter.
3098 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
3100 PR preprocessor/7029
3101 * cppinit.c (cpp_handle_option): Suppress warnings with an
3102 implicit "-w" for "-M" and "-MM".
3103 * doc/cppopts.texi: Update.
3105 2002-07-01 Roger Sayle <roger@eyesopen.com>
3107 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
3108 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
3111 2002-07-02 Alan Modra <amodra@bigpond.net.au>
3113 * README.Portability: Fix typos.
3115 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
3118 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
3119 of indirections for register inside sign-extended mem part.
3121 2002-07-01 Roger Sayle <roger@eyesopen.com>
3123 * tree.h: Modify builtin_function interface to take an extra
3124 argument ATTRS, which is a tree representing an attribute list.
3126 * c-decl.c (builtin_function): Accept additional parameter.
3127 * objc/objc-act.c (builtin_function): Likewise.
3128 * f/com.c (builtin_function): Likewise.
3129 * java/decl.c (builtin_function): Likewise.
3130 * ada/utils.c (builtin_function): Likewise.
3131 * cp/decl.c (builtin_function): Likewise.
3132 (builtin_function_1): Likewise.
3134 * c-common.c (c_common_nodes_and_builtins): Pass an additional
3135 NULL_TREE argument to builtin_function. (builtin_function_2):
3137 * cp/call.c (build_java_interface_fn_ref): Likewise.
3138 * objc/objc-act.c (synth_module_prologue): Likewise.
3139 * java/decl.c (java_init_decl_processing): Likewise.
3140 * f/com.c (ffe_com_init_0): Likewise.
3142 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
3143 NULL_TREE argument to builtin_function.
3144 * config/arm/arm.c (def_builtin): Likewise.
3145 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
3146 * config/i386/i386.c (def_builtin): Likewise.
3147 * config/ia64/ia64.c (def_builtin): Likewise.
3148 * config/rs6000/rs6000.c (def_builtin): Likewise.
3150 2002-07-01 Zack Weinberg <zack@codesourcery.com>
3152 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
3153 * config/mips/t-isa3264: Likewise.
3154 * config/mmix/t-mmix: Likewise.
3156 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
3158 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
3160 2002-07-01 Roger Sayle <roger@eyesopen.com>
3163 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
3164 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
3167 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
3169 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
3171 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
3173 * README.Portability (Function prototypes): Give an example of
3174 declaring and defining a function with no arguments.
3176 * README.Portability (Function prototypes): Document new
3177 variable-argument function macros.
3179 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
3181 * sh.c (langhooks.h): Include.
3182 (sh_init_builtins, sh_media_init_builtins): New functions.
3183 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
3184 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
3185 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
3186 (builtin_description): New struct tag.
3187 (signature_args, bdesc): New arrays.
3188 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
3189 (print_operand): Add 'N' modifier.
3190 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
3191 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
3192 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
3193 (CONST_COSTS): Add special case for SHmedia AND.
3194 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
3195 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
3196 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
3197 target_operand can also be const or unspec.
3198 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
3199 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
3200 (attribute type): Add new types.
3201 (anddi3): Add splitter.
3202 (movdi_const_16bit+1): Add code to handle vector constants and
3203 bitmasks efficiently.
3204 (shori_media): Have generator function made.
3205 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
3206 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
3207 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
3208 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
3209 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
3210 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
3211 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
3212 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
3213 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
3214 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
3215 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
3216 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
3217 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
3218 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
3219 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
3220 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
3221 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
3222 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
3223 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
3226 (fpu_switch+1, fpu_switch+2): Remove constraint.
3228 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
3230 * tree.c (build_function_type_list): Update function comment.
3231 Rename first argument to return_type.
3233 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
3235 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
3236 tradcif.y and related files.
3238 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
3240 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
3242 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3244 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
3246 2002-06-30 Devang Patel <dpatel@apple.com>
3248 * objc/objc-act.c (finish_file): Avoid finish_objc() if
3251 Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
3252 Frank Ch. Eigler <fche@redhat.com>
3253 Matthew Green <mrg@redhat.com>
3254 Richard Henderson <rtl@redhat.com>
3255 Dave Hudson <dave.hudson@ubicom.com>
3256 Jeff Johnston <jjohnstn@redhat.com>
3257 Alan Lehotsky <apl@alum.mit.edu>
3258 Bernd Schmidt <bernds@redhat.com>
3259 Graham Stott <grahams@redhat.com>
3261 * doc/extend.texi: Add ip2k port to description of attribute
3263 * doc/install.texi (Specific): Add ip2k description.
3264 * doc/install-old.texi (Configurations): Add ip2k to possible
3266 * doc/md.texi: Document ip2k constraints.
3267 * config/ip2k/crt0.S: New file.
3268 * config/ip2k/ip2k-protos.h: New file.
3269 * config/ip2k/ip2k.c: New file.
3270 * config/ip2k/ip2k.h: New file.
3271 * config/ip2k/ip2k.md: New file.
3272 * config/ip2k/libgcc.S: New file.
3273 * config/ip2k/t-ip2k: New file.
3275 2002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
3277 * config/mmix/mmix.md ("return"): New pattern.
3278 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
3279 (TARGET_USE_RETURN_INSN): New macros.
3280 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
3281 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
3282 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
3283 (MMIX_POP_ARGUMENT): New macro.
3284 (mmix_target_asm_function_prologue): When no epilogue is executed,
3285 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
3286 (mmix_print_operand) <case '.'>: New case.
3287 (mmix_print_operand_punct_valid_p): Match '.'.
3288 (mmix_use_simple_return): New function.
3289 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
3290 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
3291 -msingle-exit, -mno-single-exit.
3292 (MMIX Options): Ditto.
3294 2002-06-30 Aldy Hernandez <aldyh@redhat.com>
3296 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
3298 2002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3300 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
3302 2002-06-30 Alan Modra <amodra@bigpond.net.au>
3304 * unroll.c (loop_iterations): Handle EQ loops.
3306 2002-06-29 David Edelsohn <edelsohn@gnu.org>
3308 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
3309 constraint in define_expand, not splitter.
3312 2002-06-29 Aldy Hernandez <aldyh@redhat.com>
3314 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
3315 build_function_type_list instead of build_function_type.
3317 * config/ia64/ia64.c (ia64_init_builtins): Same.
3319 * config/alpha/alpha.c (alpha_init_builtins): Same.
3321 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
3323 * config/arm/arm.c (arm_init_builtins): Same.
3325 * tree.h: Add build_function_type_list prototype.
3327 * tree.c (build_function_type_list): New.
3329 2002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3331 * collect2.c (scan_prog_file): Fix typo in message.
3333 2002-06-28 Aaron Lehmann <aaronl@vitelus.com>
3335 * fold-cont.c: Remove unused CHARMASK.
3337 2002-06-29 Neil Booth <neil@daikokuya.co.uk>
3339 PR preprocessor/7150
3340 * cppmain.c (scan_translation_unit_trad): Simplify.
3341 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
3343 2002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
3345 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
3346 Don't use CPP_PREDEFINES.
3347 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
3348 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
3349 * config/i386/djgpp.h, config/i386/i386-coff.h,
3350 config/i386/i386-interix.h, config/i386/i386-interix3.h,
3351 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
3352 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
3353 config/i386/uwin.h: Similarly.
3355 2002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3357 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
3358 flag_inline_trees to enable inlining.
3360 2002-06-28 Phil Edwards <pme@gcc.gnu.org>
3362 * configure.in (gcc_gxx_include_dir): Change to match versioned
3363 C++ headers if --enable-version-specific-runtime-libs is used.
3364 * configure: Regenerate.
3366 2002-06-28 Jan Hubicka <jh@suse.cz>
3368 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
3370 2002-06-28 Stephen Clarke <stephen.clarke@superh.com>
3372 * combine.c (combine_simplify_rtx): Pass the mode of the
3373 shift count, not the shift operation when trying to simplify
3374 a shift on a SHIFT_COUNT_TRUNCATED target.
3376 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
3378 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
3379 avoid the auto increment addressing modes.
3380 ("*subsi3"): Likewise.
3381 (split for add/sub on address): For 68HC12 push the value on
3382 the stack and do the operation with a pop.
3384 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
3386 * cpplib.c (_cpp_handle_directive): Move #define-specific
3387 code to the #define handler...
3388 (do_define): ...here.
3389 (lex_macro_node): No longer a need to check for comments here.
3391 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
3393 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
3394 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
3396 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
3397 do not reorder basic blocks at the end when optimizing for size.
3399 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
3401 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
3402 (m68hc11_make_autoinc_notes): New function.
3403 (m68hc11_split_move): Be very cautious when spliting a move with
3404 auto increment/decrement modes because this may result in incompatible
3405 directions; add REG_INC notes to the resulting insn for CSE reg.
3407 2002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
3409 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
3410 can be a valid address.
3412 2002-06-28 Aldy Hernandez <aldyh@redhat.com>
3414 * config/rs6000/rs6000.c: Remove unusued variables from last
3417 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
3420 * config/rs6000/rs6000.c (rs6000_override_options): Move
3421 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
3423 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
3425 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
3426 lvx/stv/dst builtins...
3427 (altivec_expand_ld_builtin): ...to here.
3428 (altivec_expand_st_builtin): ...here.
3429 (altivec_expand_dst_builtin): ...and here (respectively).
3431 2002-06-28 Bob Wilson <bob.wilson@acm.org>
3433 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
3435 2001-06-08 Bernd Schmidt <bernds@redhat.com>
3437 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
3439 * recog.c (general_operand, register_operand): Disallow them.
3441 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
3443 PR preprocessor/7138
3444 * cpplib.c (_cpp_handle_directive): Do traditional
3445 preparation after setting state.angled_headers.
3446 * cpptrad.c (scan_out_logical_line): Fix potential
3449 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
3451 * config/rs6000/rs6000.c (rs6000_override_options): Move
3452 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
3454 2002-06-27 Bob Wilson <bob.wilson@acm.org>
3456 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
3457 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
3458 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
3460 2002-06-27 Roger Sayle <roger@eyesopen.com>
3462 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
3463 * config/stormy16/stormy16.h: Likewise.
3465 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
3468 2002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3470 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
3471 Hitachi entry. Make punctuation more consistent.
3473 2002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
3475 * doc/install.texi: Change ` bit' to `-bit'.
3476 * doc/md.texi: Change `-bits' to `-bit'.
3477 * doc/tm.texi: Change `-bits' to ` bits'.
3479 2002-06-27 Daniel Berlin <dberlin@dberlin.org>
3481 * gcse.c (hoist_code): Rewrite to only get list of dominated
3482 blocks once per BB. Also fix reversed test (by removing need for
3485 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
3487 * cpphash.h (_cpp_set_trad_context): Remove.
3488 * cpplib.c (prepare_directive_trad): Do nothing for #define.
3489 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
3490 * cpptrad.c: Update comments.
3491 (_cpp_read_logical_line_trad): Let scan_logical_line handle
3492 updating the current context.
3493 (scan_logical_line): Update the current context.
3494 (_cpp_create_trad_definition): Similarly.
3495 (_cpp_set_trad_context): Remove.
3497 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
3499 PR preprocessor/7070
3500 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
3502 2002-06-26 Bob Wilson <bob.wilson@acm.org>
3504 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
3505 config/xtensa/xtensa.c (xtensa_return_addr): New function.
3506 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
3507 config/xtensa/xtensa.md (fix_return_addr): New pattern.
3509 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3511 * mips.c (coprocessor_operand, coprocessor2_operand,
3512 symbolic_operand): Move prototypes from here...
3513 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
3514 symbolic_operand): ...to here.
3516 Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3518 * config/sh/crt1.asm: remove _stack label definition
3521 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3523 * varasm.c: Include real.h before output.h.
3525 2002-06-26 Aldy Hernandez <aldyh@redhat.com>
3527 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
3528 check for TARGET_ALTIVEC.
3530 2002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
3532 * config.gcc (vax-*-vms*): Make obselete.
3534 2002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3536 * gcc.c (warn_std): Delete.
3538 2002-06-25 Loren J. Rittle <ljrittle@acm.org>
3540 * doc/extend.texi: Fix formatting of last checkin.
3542 2002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3544 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
3545 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
3547 2002-06-25 Aldy Hernandez <aldyh@redhat.com>
3549 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
3550 discrepancies from motorola's documentation.
3552 Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3554 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
3555 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
3557 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
3558 produce a 32 bit result before normalization, then normalize with a
3559 left shift. Compute approximative error of 2nd reciprocal
3560 approximation in 2's complement. Fix mask generation from upper
3561 longword of second divide stage result.
3562 For large divisor, fix shift count used to truncate first stage
3563 divide result; make decision if to adjust upwards based on comparison
3564 of higher parts of normalized values.
3565 (udivdi): Likewise. Undo normalization of result for large divisor
3568 2002-06-25 David S. Miller <davem@redhat.com>
3570 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
3572 2002-06-25 Neil Booth <neil@daikokuya.co.uk>
3574 * cpplib.c (do_include_common): Revert to correct line number
3576 * cpptrad.c (scan_out_logical_line): Treat null directive as
3577 white space. Invlidate MI optimization for non-whitespace
3578 text outside a directive.
3580 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3582 * Makefile.in (SHELL): Set to @SHELL@.
3583 * fixinc/Makefile.in (SHELL): Likewise.
3585 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
3586 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
3589 2002-06-24 Jeff Law <law@redhat.com>
3591 * flow.c (propagate_one_insn): When removing an insn
3592 with a REG_LIBCALL note but not the entire libcall sequence,
3593 delete the associated REG_RETVAL note.
3595 Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
3597 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
3598 (udivsi3): Likewise. Rewrite SH1 implementation.
3599 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
3600 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
3601 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
3602 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
3603 (_moddi3): Likewise.
3605 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
3607 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
3608 arguments into account for stack_regs.
3610 2002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
3612 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
3615 2002-06-24 Art Haas <ahaas@neosoft.com>
3617 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
3618 * doc/tm.texi (Frame Layout): Likewise.
3620 2002-06-20 Steve Ellcey <sje@cup.hp.com>
3622 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
3623 Set float_format to i128.
3625 2002-06-24 David S. Miller <davem@redhat.com>
3627 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
3628 32-bit ABI libfuncs to NULL.
3630 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
3631 strings instead of quoted strings for code blocks.
3633 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
3634 optabs if op1 is const0_rtx.
3636 * Makefile.in (GTFILES): Add basic-block.h
3637 * basic-block.h (label_value_list, tail_recursion_label_list):
3640 2002-06-24 Neil Booth <neil@daikokuya.co.uk>
3642 * cpptrad.c (scan_out_logical_line): Check recursing only when
3643 we know we have a macro invocation in the function-like case.
3644 Only call _cpp_handle_directive if we know we have a good
3645 directive, or we want to reject a bad directive.
3647 2002-06-24 Alan Modra <amodra@bigpond.net.au>
3649 * doloop.c (doloop_valid_p): Correct comment.
3650 (doloop_modify_runtime <abs_inc != 1>): Simplify.
3651 (doloop_modify_runtime <do-while>): Don't emit code when NE.
3653 Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
3655 * config.gcc: Add support for ip2k.
3657 2002-06-23 Jan Hubicka <jh@suse.cz>
3658 Jeff Law <law@redhat.com>
3660 * function.h (struct emit_status): Clarify potential contents
3661 of regno_reg_rtx array.
3662 * integrate.c (copy_rtx_and_substitute): Update comments. Make
3663 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
3665 * reg-stack.c (convert_regs_exit): Push the registers to stack in
3668 2002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
3671 * function.c (assign_stack_temp_for_type): Do not return
3672 the same MEM rtx for multiple uses of a stack slot.
3674 2002-06-22 David S. Miller <davem@redhat.com>
3676 PR target/6841 target/6770 target/6719
3677 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
3678 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
3679 GENERAL_OR_EXTRA_FP_REGS.
3681 2002-06-22 Neil Booth <neil@daikokuya.co.uk>
3683 * cpptrad.c (struct fun_macro): Add line number.
3684 (scan_out_logical_line): Set it, and use it to report unterminated
3687 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3689 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
3690 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
3691 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
3692 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
3693 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
3694 REGEXP_ONEOF, check_name): Const-ify.
3696 2002-06-21 Matt Thomas <matt@3am-software.com>
3698 * config/vax/vax.c (vax_output_function_prologue): Use
3699 REGISTER_PREFIX. Fix some indentation.
3700 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
3701 (VAX_ISTREAM_SYNC): Define.
3702 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
3703 i-stream sync to the end.
3704 (REGISTER_PREFIX): Define as "".
3705 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
3707 2002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
3709 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
3712 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3714 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
3715 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
3717 2002-06-21 Matt Thomas <matt@3am-software.com>
3719 * config/vax/netbsd.h: Adjust a comment.
3720 (TARGET_DEFAULT): Redefine as 0.
3722 2002-06-21 Richard Henderson <rth@redhat.com>
3724 * bb-reorder.c (make_reorder_chain_1): Search harder for the
3725 vax casesi fallthru edge.
3726 * cfglayout.c (cleanup_unconditional_jumps): Use
3727 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
3728 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
3729 block after ADDR_VEC.
3731 2002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3733 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
3735 2002-06-21 Neil Booth <neil@daikokuya.co.uk>
3737 * cpperror.c (cpp_error): For traditional CPP, default to
3738 diagnostics on pfile->line.
3739 * cpplib.c (prepare_directive_trad): Set line number for
3740 diagnostics for #define too.
3741 * cpptrad.c (skip_whitespace): Skip comments properly.
3742 (_cpp_expansions_different_trad): Initialize quote2.
3744 2002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
3746 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
3747 * config/mmix/mmix.h: Ditto.
3748 * config/mmix/mmix-protos.h: Ditto.
3749 * config/mmix/mmix.c: Ditto. Fix typo in comment.
3750 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
3751 comment. Comment extra CC modes.
3753 2002-06-20 Jan Hubicka <jh@suse.cz>
3755 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
3756 (scope_to_insns_finalize): Do not call set_block_levels; handle
3758 (choose_inner_scope): New.
3759 * rtl.h (choose_inner_scope): Declare.
3761 2002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
3763 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
3765 * pa.c (pa_asm_output_mi_thunk): Likewise.
3766 (n_deferred_plabels): Change type to size_t.
3767 (output_deferred_plabels, output_call): Use size_t instead of int.
3769 2002-06-20 Richard Henderson <rth@redhat.com>
3772 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
3773 pattern and adjust constraints for coldfire.
3775 2002-06-20 Richard Henderson <rth@redhat.com>
3777 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
3779 2002-06-20 Chris Demetriou <cgd@broadcom.com>
3781 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
3783 2002-06-20 Chris Demetriou <cgd@broadcom.com>
3785 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
3787 2002-06-20 Stan Shebs <shebs@apple.com>
3789 * dominance.c: Include errors.h instead of error.h.
3791 2002-06-20 Neil Booth <neil@daikokuya.co.uk>
3793 * cppexp.c (cpp_interpret_integer): Don't force traditional
3794 numbers to be unsigned.
3795 * cpplib.c (prepare_directive_trad): Set line number for
3797 * cpptrad.c (scan_out_logical_line): Continue scanning out
3799 * gcc.c (trad_capable_cpp): Use cc1 always.
3801 2002-06-20 Jeffrey Law <law@redhat.com>
3803 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
3804 elimination in leaf functions by default yet.
3806 2002-06-20 Richard Sandiford <rsandifo@redhat.com>
3808 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
3810 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3812 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
3814 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
3815 Fixes PR other/6836.
3817 Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
3818 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3820 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
3822 * basic-block.h: Do not include et-forest.h
3823 (dominance_info): Declare as struct dominance-info.
3824 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
3826 * dominance.c (struct dominance_info): Define.
3827 (BB_NODE, SET_BB_NODE): New macros.
3828 (bb_hash_func, bb_eq_func): Kill.
3829 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
3830 nearest_common_dominator, dominated_by_p, recount_dominator,
3831 add_to_dominance_info, delete_from_dominance_info): update for new
3833 (get_dominated_by, redirect_immediate_dominators): Rewrite using
3835 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
3836 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
3839 * et-forest.h: Update copyright; revamp all function to operate on
3841 (et_forest_value): Kill.
3842 (et_forest_enumerate_sons, et_forest_node_value): New.
3843 * et-forest.c: Update copyright.
3844 * et-forest.h: Update copyright; revamp all function to operate on
3846 (et_forest_value): Kill.
3847 (et_forest_enumerate_sons, et_forest_node_value): New.
3849 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
3851 * basic-block.h: Inlude et-forest.h
3852 (basic_block_def): Kill dominator.
3853 (dominance_info): New type.
3854 (loops): Use dominace_info.
3855 (dominace handling functions): Take dominace_info as argument
3857 (create_preheader): Likewise.
3858 * cfg.c (entry_exit_blocks): Kill dominator.
3859 (dump_flow_info): Do not dump dominators.
3860 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
3862 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
3863 (flow_loops_pre_header_scan, make_forwarder_block,
3864 canonicale_loop_headers, flow_loops_find): Likewise.
3865 * dominance.c: Include error.h
3866 (idoms_to_doms): Kill.
3867 (bb_hash_func, bb_eq_func): New static functions.
3868 (debug_dominace_info): New global function.
3869 (calculate_dominance_info): Use new et forest structure.
3870 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
3871 get_dominated_by, redirect_immediate_dominators,
3872 nearest_common_dominator, dominated_by_p, verify_dominators,
3873 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
3874 delete_from_dominance_info): New global functions.
3875 * gcse.c (domnators): CHange to dominance_info.
3876 (alloc_hoist_mem): Do not alloc dominators
3877 (free_code_hoist_mem): Use free_dominance_info.
3878 (compute_code_hoist_data): Use dominance_info.
3879 (hoist_code): Likewise.
3880 * ifcvt.c (post_dominators): Likewise.
3881 (find_if_case_2, if_convert): Likewise.
3882 * predict.c (process_note_predictions, process_note_prediction,
3883 estimate-probability): Likewise.
3884 * sched-rgn.c (find_rgns, init_regions): Likewise.
3885 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
3886 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
3887 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
3888 find_evaluations, convert_to_ssa): Likewise.
3889 * ssa.h (compute_dominance_frontiers): Likewise.
3891 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3893 * Makefile.in (et-forest.c): Add.
3894 * et-forest.c: New file.
3895 * at-forest.h: New file.
3897 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3899 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
3900 array size calculation.
3901 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
3904 * diagnostic.c (diagnostic_kind_text): Const-ify.
3905 * gengtype.c (lang_names): Likewise.
3907 Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
3909 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
3911 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3913 * config/sol2.h: New file.
3914 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
3915 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
3916 (sparc-*-chorusos*): Likewise.
3917 (sparc-*-elf*): Likewise.
3918 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
3919 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
3920 (sparc-hal-solaris2*): Likewise.
3921 (sparc-*-solaris2*): Likewise.
3922 (sparclite-*-elf*): Likewise.
3923 (sparc86x-*-elf*): Likewise.
3924 (sparc64-*-elf*): Likewise.
3926 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
3928 (ASM_SPEC): Override config/sol2.h version for now.
3929 Removed obsolete GAS_REJECTS_MINUS_S variant.
3930 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
3931 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3932 (TARGET_OS_CPP_BUILTINS): Likewise.
3934 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
3935 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
3937 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3938 (ASM_CPU_SPEC): Define.
3939 (SUBTARGET_EXTRA_SPECS): Define.
3941 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
3942 in config/sparc/sol2.h.
3943 (ASM_SPEC): Moved to config/sol2.h.
3944 (CPP_CPU_SPEC): Simplified.
3945 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
3947 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
3948 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
3949 STARTFILE_ARCH64_SPEC.
3950 (STARTFILE_SPEC): Moved to config/sol2.h
3951 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
3952 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
3953 (LINK_ARCH64_SPEC): Simplified.
3954 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
3955 (LINK_SPEC): Moved to config/sol2.h
3957 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
3959 Use BITS_PER_WORD for size.
3960 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
3961 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3962 (CPP_PREDEFINES): Removed OS-specific part handled by
3963 TARGET_OS_CPP_BUILTINS.
3964 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
3965 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
3966 (ASM_SPEC): Moved to config/sol2.h.
3967 (PREFERRED_DEBUGGING_TYPE): Likewise.
3968 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
3969 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3970 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
3971 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
3973 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
3974 * config/i386/sol2gas.h: Removed.
3976 Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
3978 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
3980 2002-06-16 Aldy Hernandez <aldyh@redhat.com>
3982 * gcc.c-torture/execute/simd-1.c: New.
3984 * gcc.dg/simd-1.c: New.
3986 * doc/extend.texi (Vector Extensions): Document that we can
3987 specify simd types not specifically supported by the hardware.
3988 Document that simd types can be used as function arguments.
3989 Document that signness does make a difference in SIMD types.
3990 Misc cleanups and revisions to the vector extensions section.
3992 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
3995 * expr.c (vector_mode_valid_p): New.
3997 * expr.h: Add vector_mode_valid_p.
3999 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
4001 * c-common.c (type_for_mode): Always build vector nodes regardless
4002 of VECTOR_MODE_SUPPORTED_P.
4003 (handle_mode_attribute): Error if we can't emulate a nonexisting
4005 (handle_vector_size_attribute): Same.
4007 * optabs.c (expand_binop): Open-code vector operations.
4008 (expand_unop): Open-code vector unops.
4009 (expand_vector_binop): New.
4010 (expand_vector_unop): New.
4012 * c-typeck.c (build_binary_op): Allow vectors in binops.
4013 Allow vectors in conditional operatiors.
4014 (build_unary_op): Allow vectors in unary minus.
4016 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
4019 2002-05-20 Richard Henderson <rth@redhat.com>
4021 * c-common.c (c_common_get_alias_set): Correctly handle characters.
4022 Rearrange order of expressions; don't handle vectors here.
4023 * alias.c (get_alias_set): Let vectors match their components.
4025 2002-06-19 Chris Demetriou <cgd@broadcom.com>
4027 * config/mips/mips.c (mips_emit_prefetch): Use hints which
4028 match desired locality.
4030 2002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
4032 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
4033 (h8300_insert_attributes): New.
4035 2002-06-19 Akim Demaille <akim@epita.fr>
4037 * c-parse.in (initelt: identifier ':' initval): Add an empty
4038 action to fix a type clash.
4039 (aliasdecl, classdef): Add the missing closing `;'.
4041 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
4042 $$ = $1 type clashes.
4044 2002-06-19 Eric Christopher <echristo@redhat.com>