1 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
3 * config/vxworks.h: Replace "GNU compiler" with "GCC".
4 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
5 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
6 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
7 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
8 config/sparc/rtemself.h, config/sparc/sol2-64.h,
9 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
10 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
11 config/sparc/sol2.h, config/sparc/sp64-aout.h,
12 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
13 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
14 "GNU compiler", "GNU CC" with "GCC".
15 * config/sparc/cypress.md, config/sparc/hypersparc.md,
16 config/sparc/sparc-modes.def, config/sparc/sparc.c,
17 config/sparc/sparc.md, config/sparc/sparclet.md,
18 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
19 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
20 "GNU C Compiler" with "GCC".
21 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
23 2003-06-16 Aldy Hernandez <aldyh@redhat.com>
25 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
28 * testsuite/gcc.c-torture/execute/simd-4.c: New.
30 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
32 * config/ip2k/ip2k.h: Remove target-independent comments.
34 * config.gcc: Explicitly mention elfos.h in ip2k entry.
35 * config/ip2k/ip2k.h: Don't #include it here.
37 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
39 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
40 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
41 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
42 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
43 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
44 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
45 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
46 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
49 * gengtype.c: Don't use UNION_INIT_ZERO.
50 * system.h (UNION_INIT_ZERO): Delete.
52 2003-06-16 Richard Henderson <rth@redhat.com>
54 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
55 GET_MODE_UNIT_SIZE when simplifying constant vectors.
57 2003-06-16 Andreas Jaeger <aj@suse.de>
59 * timevar.c (get_run_time): Remove function provided also by
61 * timevar.h: Remove get_run_time declaration.
63 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
65 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
68 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
70 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
71 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
72 use macros from "symcat.h", instead rely on ISO C.
74 * system.h: Don't include "symcat.h".
75 * configure.in (AC_C_STRINGIZE): Delete.
76 * config.in, configure: Regenerate.
78 2003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
80 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
82 * tree.h (STMT_CHECK): New macro.
83 Also upper-case argument names on all checking macros and
84 fix some whitespace problems; assume CODE argument does not
87 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
89 * scan.h: Convert to ISO C.
92 * c-format.c (dynamic_format_types): New pointer for dynamic data.
93 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
94 New functions split out of...
95 (handle_format_attribute): ...here.
97 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
99 * sh.h (REG_CLASS_FROM_LETTER): Change to:
100 (REG_CLASS_FROM_CONSTRAINT).
101 (CONST_OK_FOR_I): Rename to:
102 (CONST_OK_FOR_I08). Changed all users.
103 (CONST_OK_FOR_J): Rename to:
104 (CONST_OK_FOR_I16). Changed all users.
105 (CONST_OK_FOR_K): Rename to:
106 (CONST_OK_FOR_P27). Changed all users.
107 (CONST_OK_FOR_L): Rename to:
108 (CONST_OK_FOR_K08). Changed all users.
109 (CONST_OK_FOR_O): Rename to:
110 (CONST_OK_FOR_I06). Changed all users.
111 (CONST_OK_FOR_P): Rename to:
112 (CONST_OK_FOR_I10). Changed all users.
113 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
114 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
115 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
116 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
117 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
118 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
119 (CONST_OK_FOR_LETTER_P): Replace with
120 (CONST_OK_FOR_CONSTRAINT_P).
121 (EXTRA_CONSTRAINT_S): Rename to:
122 (EXTRA_CONSTRAINT_C16). Changed all users.
123 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
124 (EXTRA_CONSTRAINT_T): Rename to:
125 (EXTRA_CONSTRAINT_Csy). Changed all users.
126 (EXTRA_CONSTRAINT_Z): Remove.
127 (EXTRA_CONSTRAINT): Replace with:
128 (EXTRA_CONSTRAINT_STR).
129 (EXTRA_CONSTRAINT_U): Rename to:
130 (EXTRA_CONSTRAINT_Z). Changed all users.
131 * sh.c (and_operand): Use CONST_OK_FOR_J16.
132 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
133 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
134 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
135 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
136 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
137 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
138 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
139 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
140 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
141 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
142 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
143 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
144 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
145 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
146 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
147 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
148 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
149 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
150 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
151 (sssubv4hi3): Likewise.
152 (movsf_i): Change I[08]/r to G/r.
153 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
155 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
157 2003-06-16 Vladimir Makarov <vmakarov@redhat.com>
159 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
161 2003-06-16 Andreas Jaeger <aj@suse.de>
163 * basic-block.h: Remove duplicate prototype of
164 note_prediction_to_br_prob.
166 * tree.h: Remove duplicate prototype of strip_float_extensions.
168 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
170 * config/c4x/c4x.c: Don't include "c-tree.h".
171 * config/pa/pa.c: Likewise.
172 * langhooks.c: Likewise.
173 * tree.h (poplevel): Declare.
175 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
177 * config/h8300/h8300.c (const_costs): Move this to ...
178 (h8300_rtx_costs): ... here.
180 2003-06-16 Roger Sayle <roger@eyesopen.com>
182 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
183 (tan_optab, atan_optab): Define corresponding macros.
184 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
185 * genopinit.c (optabs): Implement tan_optab and atan_optab
186 using tan?f2 and atan?f2 patterns.
187 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
188 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
189 Change the default value of errno_set to false.
190 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
191 using expand_builtin_mathfn.
193 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
194 expander patterns implemented using existing atan2?f3 patterns.
196 2003-06-16 Roger Sayle <roger@eyesopen.com>
198 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
199 both operands of the addition equal, reuse the expanded RTL.
200 (expand_expr <MULT_EXPR>): Likewise for multiplication.
202 2003-06-16 Roger Sayle <roger@eyesopen.com>
203 Jeff Law <law@redhat.com>
205 * fold-const.c (operand_equal_p): Consider two calls to "const"
206 functions with identical non-volatile arguments to be equal.
207 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
208 built-in function to be equal to the "foo" form.
210 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
212 * config/rs6000/sysv4le.h: Remove target-independent comment.
213 Replace "GNU compiler" with "GCC" in comment.
215 2003-06-16 Andreas Jaeger <aj@suse.de>
217 * tracer.c: Remove duplicate declaration.
219 * toplev.c: Remove extra declaration of decode_d_option.
221 * ssa.c: Remove duplicate declaration.
223 * sreal.c: Remove extra declaration of dump_sreal.
225 * reload1.c: Remove duplicate declarations.
227 * integrate.c: Remove extra declaration of
228 set_decl_abstract_flags.
230 * flow.c: Remove extra declaration of dump_flow_info.
232 * alias.c: Remove extra declaration of get_addr.
234 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
236 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
237 config/vxworks.h: GNU CC -> GCC.
239 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
240 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
241 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
242 ssa.h, tree.def: Replace overly specific references to "GNU C"
243 and "GNU C Compiler" with references to "GCC".
245 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
247 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
248 memory reference. Fix test that checks if operand 1 is using r0.
249 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
251 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
254 2003-06-15 Nathan Sidwell <nathan@codesourcery.com>
256 * function.h (struct emit_status): Remove x_last_linenum,
257 x_last_filename. Add x_last_location.
258 * rtl.h: #include "input.h".
260 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
262 * emit-rtl.c (last_linenum, last_filename): Remove.
263 (last_location): New.
264 (emit_line_note_after): LINE must always be >= 0.
265 (emit_line_note): Likewise. Check not duplicate here...
266 (emit_note): ... rather than here.
267 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
268 * integrate.c (expand_inline_function): Use emit_line_note for
270 (copy_insn_list): Likewise.
271 * unroll.c (copy_loop_body): Likewise.
272 * Makefile.in (RTL_H): Add input.h.
274 2003-06-16 Richard Sandiford <rsandifo@redhat.com>
276 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
278 2003-06-16 Richard Henderson <rth@redhat.com>
280 * config/alpha/alpha-protos.h, config/alpha/elf.h,
281 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
282 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
283 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
284 Remove unneeded static function decls.
286 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
288 * c-opts.c (c_common_handle_option): s/on/value/.
289 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
290 directly rather than converting the argument.
291 * c.opt: Update docs. Use UInteger where appropriate.
292 * common.opt: Use UInteger where appropriate.
293 * opts.c (integral_argument): New.
294 (handle_argument): Handle integral arguments, and optional
296 (common_handle_option): Update.
297 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
298 * opts.sh: Handle JoinedOrMissing and UInteger flags.
300 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
302 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
303 unnecessary extern declaration.
305 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
307 * config/gofast.h, config/interix.h, config/interix3.h,
308 config/libgloss.h, config/linux-aout.h, config/linux.h,
309 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
310 * config/kaos.h: "GNU compiler" -> GCC.
311 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
313 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
314 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
317 * config/svr3.h: Remove #if 0 code, misleading comments.
320 2003-06-15 Zack Weinberg <zack@codesourcery.com>
322 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
323 main_input_filename to avoid conflict with input_filename macro.
325 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
327 * config/mips/mips.h (asm_file_name, g_switch_set,
328 g_switch_value): Remove.
329 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
330 unnecessary extern declarations.
332 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
334 * config/frv/frv.h: Remove declaration of g_switch_value.
335 * config/m32r/m32r.h: Remove declaration of g_switch_value.
336 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
338 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
340 * opts.sh: Quote '+' in regex.
342 2003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
344 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
345 * config/rs6000/rs6000.c: Include cfglayout.h.
346 * config/alpha/alpha.c: Likewise.
347 * config/ia64/ia64.c: Likewise.
348 * config/sparc/sparc.c: Likewise.
349 * config/sh/sh.c: Likewise.
351 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
353 * opts.sh: Quote '+' in regex.
355 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
357 * c-opts.c (lang_flags): Update for new spelling of flags.
358 (write_langs): Similarly.
359 * c.opt: Specify languages.
360 * opts.h: Remove languages.
361 * opts.sh: Recognise front-end defined languages.
362 * doc/sourcebuild.texi: Update.
364 2003-06-15 Andreas Jaeger <aj@suse.de>
366 * alloc-pool.c: Convert to ISO C90 prototypes.
367 * alloc-pool.h: Likewise.
369 * attribs.c: Likewise.
370 * bb-reorder.c: Likewise.
371 * bitmap.h: Likewise.
372 * bitmap.c: Likewise.
373 * builtins.c: Likewise.
375 * tree.h: Convert prototypes of attribs.c to ISO C90.
376 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
377 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
378 * expr.h: Convert prototypes of builtins.c to ISO C90.
380 2003-06-15 Roger Sayle <roger@eyesopen.com>
382 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
383 implement exp, expf and expl built-ins as inline x87 intrinsics.
384 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
385 represent x87's fscale, frndint and f2xm1 insns respectively.
386 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
387 to encode x87's "fscale" instruction followed by a pop.
388 (*frndintxf2): New insn pattern for "frndint".
389 (*f2xm1xf2): New insn pattern for "f2xm1".
391 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
392 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
395 2003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
397 * gencheck.c (main): Avoid generating duplicate macros.
399 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
400 knowing names of language subdirectories.
402 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
404 * c-pch.c (asm_file_name): Remove.
405 * common.opt: Add more switches.
406 * flags.h (g_switch_set): Boolify.
407 * opts.c (g_switch_value, g_switch_set, exit_after_options,
408 version_flag): Move from toplev.c.
409 (common_handle_option): Handle more switches from toplev.c.
410 * toplev.c (display_help, display_target_options, decode_d_option,
411 print_version): Make non-static, remove prototypes.
412 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
413 (version_flag, g_switch_value, g_switch_set, exit_after_options):
415 (independent_decode_option): Move some handlers to opts.c.
416 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
417 exit_after_options, version_flag, display_help, display_target_options,
418 print_version, decode_d_option): New.
420 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
422 * config/alpha/alpha.md: Follow spelling conventions.
423 * config/arm/arm.c: Likewise.
424 * config/arm/arm.h: Likewise.
425 * config/arm/arm.md: Likewise.
426 * config/arm/crtn.asm: Likewise.
427 * config/m32r/m32r.c: Likewise.
428 * config/m32r/m32r.md: Likewise.
429 * config/rs6000/rs6000.c: Likewise.
431 2003-06-15 Richard Henderson <rth@redhat.com>
433 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
434 insn_locators_initialize.
435 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
436 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
437 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
438 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
440 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
442 * builtins.c (expand_builtin_expect_jump): Remove redundant
443 tests that are also in any_condjump_p().
445 2003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
447 * libgcc2.c: Delete sysV68 L_trampoline section.
448 * config/m68k/mot3300-crt0.S: Delete file.
449 * config/m68k/mot3300Mcrt0.S: Likewise.
451 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
453 * config/aoutos.h: Remove.
454 * config.gcc: Remove reference to aoutos.h.
455 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
457 2003-06-14 Kazu Hirata <kazu@cs.umass.edu>
459 * doc/install.texi: Follow spelling conventions.
460 * doc/tm.texi: Likewise.
461 * config/fp-bit.c: Likewise.
462 * config/arm/arm.c: Likewise.
463 * config/frv/frv.c: Likewise.
464 * config/ns32k/NOTES: Likewise.
465 * config/ns32k/STATUS: Likewise.
467 2003-06-14 Roger Sayle <roger@eyesopen.com>
468 Zack Weinberg <zack@codesourcery.com>
470 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
471 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
472 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
474 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
475 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
476 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
477 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
478 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
479 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
480 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
481 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
482 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
483 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
484 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
485 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
486 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
487 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
488 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
489 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
490 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
491 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
492 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
493 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
495 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
497 * opts.sh (POSIXLY_CORRECT): Unset it.
499 * tree.h (init_function_start): Remove filename and line paramters.
500 * function.c (init_function_start): Remove filename and line
501 parameters. Use DECL_SOURCE_LOCATION.
502 * c-decl.c (store_parm_decls): Adjust init_function_start call.
503 (c_expand_body_1): Likewise.
504 * coverage.c (create_coverage): Likewise.
505 * objc/objc-act.c (build_tmp_function_decl): Set line number to
507 (hack_method_prototype): Adjust init_function_start call.
509 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
512 * arm/linux-elf.h (PROFILE_HOOK): Define.
514 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
517 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
519 2003-06-14 Roger Sayle <roger@eyesopen.com>
521 * opts.sh: Work around a mysterious feature in cygwin's gawk
522 where specifying the input files explicitly has a different
523 behavior to piping them via stdin.
525 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
527 * doc/sourcebuild.texi: Update.
529 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
532 * arm.c (output_move_double): Pass SImode to adjust_address.
534 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
536 * Makefile.in: Update to use common.opt and lang_opt_files.
537 (c-options.c, c-options.h): Remove.
538 (options.c, options.h): Add.
539 * c-opts.c: Include options.h not c-options.h.
540 * common.opt: New file.
541 * configure, configure.in: Add lang_opt_files.
542 * opts.c: Include flags.h and diagnostic.h.
543 (common_handle_option): New.
544 (handle_option): Update to recognize common options and all
545 language-dependent options.
546 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
547 (struct cl_option): Make flags of type int.
548 * opts.h: Flag option with front ends to which it applies.
549 Handle duplicate options.
550 * toplev.c (filename): Remove.
551 (independent_decode_option): Don't handle filenames and -quiet.
552 (process_options, do_compile): Update.
554 2003-06-14 Nick Clifton <nickc@redhat.com>
556 * doc/install.texi (Specific): Add description of different
557 ARM supported file format targets.
559 Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
561 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
564 2003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
566 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
567 * unwind-pe.h (size_of_encoded_value): Do not define if
568 NO_SIZE_OF_ENCODED_VALUE is defined.
570 2003-06-13 Roger Sayle <roger@eyesopen.com>
572 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
573 expanding a complex constant into a CONCAT target.
575 2003-06-13 Zack Weinberg <zack@codesourcery.com>
577 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
578 (ASM_FILE_START_1): Delete.
579 * config/i386/att.h, config/i386/sco5.h,
581 (ASM_FILE_START_1): Delete.
583 2003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
585 * config/i386/bsd.h: Remove ASM_FILE_START.
586 * config/i386/djgpp.h: Likewise.
587 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
589 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
590 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
592 2003-06-13 Vladimir Makarov <vmakarov@redhat.com>
595 * haifa-sched.c (max_lookahead_tries,
596 cached_first_cycle_multipass_dfa_lookahead,
597 cached_issue_rate): New variables.
598 (max_issue): Check the number of tries.
599 (choose_ready): Calculate max_lookahead_tries.
600 (sched_init): Check cached_issue_rate.
602 2003-06-13 Richard Henderson <rth@redhat.com>
604 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
605 * cfgrtl.c (purge_dead_edges): Expect it too.
607 2003-06-13 Jim Wilson <wilson@tuliptree.org>
608 Eric Botcazou <ebotcazou@libertysurf.fr>
611 * combine.c (make_extraction): Use gen_lowpart_for_combine
612 when extracting from a REG and not in the destination of a SET.
614 2003-06-13 Doug Evans <dje@sebabeach.org>
616 * tsystem.h (abort): Declare in inhibit_libc case to remove build
617 warnings for addvsi3, et.al.
619 2003-06-13 Aldy Hernandez <aldyh@redhat.com>
621 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
623 * simplify-rtx.c (simplify_subreg): Same.
625 * emit-rtl.c (gen_lowpart_common): Same.
627 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
629 * builtins.c: Fix comment typos.
630 * fold-const.c: Likewise.
632 2003-06-13 Doug Evans <dje@sebabeach.org>
633 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
635 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
636 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
637 (m32r_va_arg): Use it.
638 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
639 (RETURN_IN_MEMORY): Ditto.
641 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
643 * c-typeck.c: Remove #if 0 clauses.
646 * config/alpha/openbsd.h, config/i386/openbsd.h,
647 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
648 residual reference to EGCS.
650 2003-06-13 Richard Earnshaw <rearnsha@arm.com>
652 * arm.c (output_call_mem): If the address references the link-register
653 use an instruction sequence that avoids early-clobbering IP.
654 (eliminate_lr2ip): Delete.
656 2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
658 * c-format.c (format_types_orig): Disallow '*' width/precision in
659 asm_fprintf format checks.
661 2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
663 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
664 non-integral types from integer register save area slots.
666 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
668 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
670 2003-06-13 Florian Weimer <fw@deneb.enyo.de>
672 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
674 2003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
676 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
677 to file_end_indicate_exec_stack.
679 2003-06-12 Richard Henderson <rth@redhat.com>
682 * config/i386/i386.md (sse_movaps): Use an expander to force
683 one operand to be a register.
684 (sse_movups): Likewise.
686 2003-06-13 Doug Evans <dje@sebabeach.org>
688 Remove some build warnings.
689 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
690 (__do_global_ctors,__do_global_dtors): Ditto.
692 2003-06-12 Richard Henderson <rth@redhat.com>
695 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
697 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
699 * config/m32r/m32r.md: Fix a comment typo.
701 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
702 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
705 * config/sparc/sparc.c (function_arg_record_value_parms): Add
707 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
708 integer slots for an integer field.
709 (function_arg_record_value_3): Shift vector index.
710 (function_arg_record_value_2): Likewise.
711 (function_arg_record_value): Initialize 'stack' to 0.
712 Set 'stack' to 1 if we run out of integer slots for an integer field.
713 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
715 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
717 PR optimization/10955
718 * unroll.c (unroll_loop): Fix off-by-one bug.
720 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
722 * config/rs6000/rs6000.c (function_arg): Remove typo.
724 2003-06-12 Richard Henderson <rth@redhat.com>
726 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
729 2003-06-12 Richard Henderson <rth@redhat.com>
732 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
733 for extracting sub-words.
735 2003-06-12 Richard Henderson <rth@redhat.com>
738 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
739 (zero_extendqihi2, zero_extendqisi2): Likewise.
741 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
743 * config/rs6000/rs6000.c (function_arg): Always split vectors for
744 e500 if it's a stdarg function.
745 (function_arg_advance): Advance 2 registers for vectors in a
747 (init_cumulative_args): Initialize stdarg.
748 (rs6000_spe_function_arg): New.
750 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
752 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
754 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
756 2003-06-12 Roger Sayle <roger@eyesopen.com>
759 * fold-const.c (tree_expr_nonnegative_p): Handle addition
760 and multiplication of zero extensions, floating point division,
761 and integer<->fp, fp<->fp and zero extension conversions.
762 The built-in ceil and floor functions preserve signedness.
764 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
766 * ChangeLog: Follow spelling conventions.
767 * ChangeLog.2: Likewise.
768 * c-decl.c: Likewise.
769 * cfgloop.h: Likewise.
770 * cgraph.c: Likewise.
771 * coverage.c: Likewise.
772 * cppcharset.c: Likewise.
773 * cpphash.h: Likewise.
774 * cpplex.c: Likewise.
775 * cpplib.c: Likewise.
776 * dbxout.c: Likewise.
778 * dwarf2out.c: Likewise.
779 * dwarfout.c: Likewise.
780 * emit-rtl.c: Likewise.
781 * explow.c: Likewise.
782 * gcov-io.c: Likewise.
783 * gcov-io.h: Likewise.
785 * gengtype.c: Likewise.
789 * reload.c: Likewise.
792 2003-06-12 Janis Johnson <janis187@us.ibm.com>
794 * doc/install.texi (m32r-*-elf): Change company to Renesas.
796 Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
798 * basic-block.h (flow_delete_block_noexpunge): Kill.
799 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
802 2003-06-10 Richard Henderson <rth@redhat.com>
805 * reg-stack.c (any_malformed_asm): New.
806 (check_asm_stack_operands): Set it.
807 (convert_regs_1): Check it before aborting.
809 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
811 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
813 2003-06-12 Jakub Jelinek <jakub@redhat.com>
815 * c-opts.c (complain_wrong_lang): Add on argument.
816 Print no- switch if on is false.
817 (c_common_decode_option): Adjust caller.
819 2003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
821 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
822 to initialize GOT register.
824 2003-06-12 Roger Sayle <roger@eyesopen.com>
826 * fold-const.c (tree_expr_nonnegative_p): Add support for
827 floating point constants, addition and multiplication.
829 2003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
831 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
832 constraint modifier for operand 0.
834 2003-06-12 Hans-Peter Nilsson <hp@axis.com>
836 Don't warn on dollars in builtin macro definitions,
837 e.g. __REGISTER_PREFIX__.
838 * cpphash.h (struct cpp_reader): Move member warn_dollars...
839 * cpplib.h (struct cpp_options): ...to here. Change type to
841 * cppinit.c (cpp_create_reader): Set it to 1 here.
842 (post_options): Don't set it here.
843 * c-opts.c (c_common_init_options): Reset it to 0 here.
844 (finish_options): Set it here.
845 * cpplex.c (forms_identifier_p): Tweak for new location of
848 * configure.in (assembler dwarf2 debug_line support): Define insn
849 for cris-*-* and mmix-*-*.
850 * configure: Regenerate.
852 2003-06-11 Uwe Stieber <uwe@kaos-group.de>
854 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
855 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
856 (sh-*-elf*): Add sh*-*-kaos* support.
857 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
858 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
859 config/sh/kaos-sh.h: New files.
861 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
863 * gcse.c (fis_get_condition): Make it a global function.
864 * reload1.c (reload_cse_move2add): Detect implicit sets.
865 * rtl.h: Add a prototype for fis_get_condition.
867 2003-06-11 Richard Henderson <rth@redhat.com>
869 * stmt.c (expand_asm_operands): Don't warn for memories with
872 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
874 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
877 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
879 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
880 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
881 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
882 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
883 * langhooks.c (lhd_decode_option): Remove.
884 * langhooks.h (struct lang_hooks): Remove decode_option.
885 * opts.c (handle_option): No longer use decode_option.
887 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
889 * cfgloopanal.c (variable_initial_value): Update the set of altered
892 2003-06-11 Roger Sayle <roger@eyesopen.com>
893 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
895 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
896 * config/i386/netbsd-elf.h: Likewise.
897 * config/m32r/m32r.h: Likewise.
898 * config/mn10300/mn10300.h: Likewise.
899 * config/stormy16/stormy16.h: Likewise.
900 * config/v850/v850.h: Likewise.
901 * config/vax/netbsd-elf.h: Likewise.
902 * config/xtensa/elf.h: Likewise.
903 * config/xtensa/linux.h: Likewise.
905 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
907 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
910 * config/mips/dbxmdebug.h: New file.
911 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
912 gas and --with-stabs.
914 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
916 * expr.c (can_move_by_pieces): align argument may be unused.
918 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
920 * expr.c (convert_move): Handle moves between two CONCATs.
922 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
924 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
927 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
929 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
930 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
931 (TARGET_RTL_DUMP): Likewise.
932 (TARGET_SWITHCES): Remove -mrtl-dump.
934 2003-06-10 Richard Henderson <rth@redhat.com>
936 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
938 2003-06-10 Richard Henderson <rth@redhat.com>
940 * config/ia64/ia64.md (call_gp): Fix memory mode.
942 2003-06-10 James E Wilson <wilson@tuliptree.org>
945 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
946 hard regs for reload_reg_used_at_all and reg_class_contents checks.
948 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
950 * config/h8300/h8300.c (print_operand): Remove support for
951 operand character 'b'.
952 Add the AND case to operand character 'c'.
953 * config/h8300/h8300.md (two anonymous patterns): Replace
954 operand character 'b' with 'c'.
956 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
958 * config/h8300/h8300.c (print_operand): Remove support for
959 operand character 'u'.
961 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
963 * configure.in: Fix typo.
964 * configure: Regenerate.
966 2003-06-10 Loren James Rittle <ljrittle@acm.org>
968 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
971 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
973 * sh-protos.h (function_symbol): Declare.
974 * sh.c (expand_block_move, expand_ashiftrt): Use it.
975 (sh_expand_prologue, sh_expand_epilogue): Likewise.
976 (sh_initialize_trampoline): Likewise.
977 (function_symbol): New function.
978 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
979 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
980 (call_value_pop, shcompact_return_tramp): Likewise.
982 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
984 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
987 2003-06-10 DJ Delorie <dj@redhat.com>
989 * doc/md.texi (Machine Constraints): Document stormy's Z
992 2003-06-10 Geoffrey Keating <geoffk@apple.com>
994 * except.c (call_site_base): Mark with GTY.
996 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
998 * arm-proto.h: Convert to ISO C90 prototypes.
1001 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
1003 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
1005 2003-06-10 Steve Ellcey <sje@cup.hp.com>
1007 * calls.c (expand_call): Convert structure_value_addr to Pmode if
1010 2003-06-10 Andrew Haley <aph@redhat.com>
1012 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1013 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
1014 (lhd_decl_ok_for_sibcall): New.
1015 * langhooks.c (lhd_decl_ok_for_sibcall): New.
1016 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
1017 * calls.c (expand_call): Check lang_hook before generating a
1020 2003-06-10 DJ Delorie <dj@redhat.com>
1022 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
1023 which matches (const_int 0) for addhi3.
1024 * config/stormy16/stormy16.md: Document known constraints.
1025 (addhi3): Handle adding zero.
1027 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1029 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
1030 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
1031 * config/m32r/m32r-protos.h: Prototype it.
1033 2003-06-10 Janis Johnson <janis187@us.ibm.com>
1035 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
1036 common to rs6000 sysv targets.
1037 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
1038 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
1040 2003-06-10 Nick Clifton <nickc@redhat.com>
1042 * config.gcc: Add arm-wince-pe target.
1043 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
1044 Add comment about default apcs26 support.
1045 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
1047 (MULTILIB_DIRNAMES): Add 'apcs32'.
1048 * config/arm/t-wince-pe: New makefile fragment.
1049 * config/arm/wince-pe.h: New file. Overrides a few definitions
1052 2003-06-10 Roger Sayle <roger@eyesopen.com>
1054 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
1055 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
1056 when x is easily negated and f is sin, tan or atan.
1057 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
1058 sin(x) with flag_unsafe_math_optimizations.
1059 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
1060 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
1062 2003-06-10 Roger Sayle <roger@eyesopen.com>
1064 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
1065 is a floating point type *and* we currently honor NaNs.
1066 (fold <NE_EXPR>): Likewise.
1068 2003-06-10 Mark Mitchell <mark@codesourcery.com>
1071 * tree-inline.c (inlinable_function_p): Call the language-specific
1074 2003-06-09 David Taylor <dtaylor@emc.com>
1076 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
1079 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
1081 * configure.in: Remove references to host_truncate_target.
1082 * configure: Regenerate.
1083 * config.gcc: Remove references to truncate_target,
1084 host_truncate_target.
1086 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
1087 Replace "build_canonical" with build, "host_canonical" with host.
1088 * configure.in: Use GCC_TOPLEV_SUBDIRS.
1089 * aclocal.m4: Include ../config/acx.m4.
1090 * configure: Regenerate.
1092 2003-06-09 David Taylor <dtaylor@emc.com>
1094 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
1095 bytes of padding in the __va_list_tag structure a name (reserved).
1097 2003-06-09 Jason Merrill <jason@redhat.com>
1099 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
1101 2003-06-09 Osku Salerma <osku@iki.fi>
1103 * c-format.c (check_format_string, get_constant): New.
1104 (handle_format_attribute, handle_format_arg_attribute,
1105 decode_format_attr): Change to use above functions.
1107 2003-06-09 Richard Henderson <rth@redhat.com>
1109 * stmt.c (expand_asm_operands): Re-word warning.
1111 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
1114 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
1117 2003-06-09 James E Wilson <wilson@tuliptree.org>
1119 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
1120 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
1121 Add libgcc exception.
1123 2003-06-09 David Edelsohn <edelsohn@gnu.org>
1124 Ayal Zaks <gcchaifa@us.ibm.com>
1126 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
1127 (insvsi*): Add insert_word attribute.
1128 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
1129 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
1130 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
1132 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
1134 * fold-const.c (fold): Fix a comment typo.
1136 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
1138 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
1141 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
1143 * sh.c (gen_block_redirect): Use locators.
1145 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
1147 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
1150 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
1152 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
1154 * configure: Regenerated.
1156 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
1157 Alexandre Oliva <aoliva@redhat.com>
1159 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
1160 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
1161 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
1163 (MUST_SAVE_REGISTERS): Delete.
1164 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
1165 (machine_function): Add global_pointer field.
1166 (mips_classify_constant): Check for (const $gp) using pointer equality
1167 with pic_offset_table_rtx.
1168 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
1169 (mips_restore_gp): Use current_function_outgoing_args_size.
1170 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
1171 GP_REG_FIRST + 28. Handle relocation strings that have
1173 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
1174 (mips_global_pointer): New function.
1175 (mips_save_reg_p): New function, mostly split out from...
1176 (compute_frame_size): ...here. Remove handling of extra_size.
1177 Reclaim args_size if no variables depend on it. Don't treat gp
1178 as a special case: handle it in the main GPR loop.
1179 (mips_initial_elimination_offset): Fix comment.
1180 (save_restore_insns): Save every register in the GPR mask,
1181 removing distinction between mask and real_mask.
1182 (mips_output_function_prologue): Update .frame psuedo-op after
1183 the removal of extra_size. Move the SVR4 PIC stack allocation
1184 and cprestore instructions to mips_expand_prologue.
1185 (mips_gp_insn): New function.
1186 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
1187 the chosen global pointer. Handle SVR4 PIC stack allocation
1188 in the same way as other ABIs. Adjust varargs code accordingly.
1189 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
1190 to emit the loadgp sequence. Follow it with a loadgp_blockage
1191 if not using explicit relocs.
1192 (mips_output_function_epilogue): Reinstate the default gp register.
1193 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
1194 (mips16_optimize_gp): Likewise.
1195 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
1196 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
1197 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
1199 (loadgp_blockage, cprestore): New instructions.
1200 (builtin_setjmp_setup): Implement using emit_move_insn. Use
1201 pic_offset_table_rtx.
1202 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
1203 (builtin_longjmp): Use gen_raw_REG to force use of $28.
1205 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
1207 * config/mips/mips-protos.h (mips_output_division): Declare.
1208 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
1209 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
1210 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
1211 (TARGET_CHECK_ZERO_DIV): New macro.
1212 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
1213 * config/mips/mips.c (mips_output_division): New function.
1214 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
1215 account when calculating the default length of a division.
1216 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
1217 Enable regardless of optimization level. Use mips_output_division.
1218 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
1219 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
1220 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
1221 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
1222 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
1223 umoddi3_internal): Remove.
1225 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
1227 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
1228 (mips_sw_reg_names): Likewise.
1229 (mips_regno_to_class): Change hilo entry to NO_REGS.
1230 (hilo_operand): Use MD_REG_P.
1231 (extend_operator): New predicate.
1232 (override_options): Remove 'a' constraint.
1233 (mips_secondary_reload_class): Remove hilo handling. Also remove
1234 handling of (plus sp reg) reloads for mips16.
1235 (mips_register_move_cost): Remove hilo handling.
1236 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
1237 (MD_REG_LAST): Remove hilo from range.
1238 (HILO_REGNUM): Delete.
1239 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
1240 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
1241 (PREDICATE_CODES): Add entry for extend_operator.
1242 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
1243 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
1244 Remove constraints from multiplication define_expands. Remove
1245 clobbers from "decorative" define_expand patterns.
1246 (UNSPEC_HILO_DELAY): Delete.
1247 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
1248 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
1249 Adjust C code to just emit insns for !TARGET_64BIT.
1250 (mulsidi3_internal): Rename to mulsidi3_32bit.
1251 (mulsidi3_64bit): Use a "d" constraint for the destination.
1252 Use extend_operator so that the pattern can handle umulsidi3 as well.
1253 Split the instruction after reload.
1254 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
1255 (umulsidi3_internal): Rename to umulsidi3_32bit.
1256 (umulsidi3_64bit): Remove.
1257 (*smsac_di, *umsac_di): Line-wrap fixes.
1258 (udivsi3_internal): Don't allow operand 2 to be constant.
1259 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
1260 (movdi_internal2, movsi_internal): Remove hilo alternatives.
1261 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
1263 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
1266 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
1267 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
1268 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
1269 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
1270 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
1271 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
1272 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
1273 asm_out_text_file with asm_out_file.
1274 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
1275 * config/mips/elf.h (TEXT_SECTION): Undefine.
1276 * config/mips/elf64.h (TEXT_SECION): Undefine.
1277 * config/mips/openbsd.h (TEXT_SECION): Undefine.
1278 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
1279 (override_options): Disable small-data optimizations unless using
1280 gas or explicit relocations.
1281 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
1282 iris6_asm_named_section, iris6_asm_file_start): Remove code for
1283 handling TARGET_FILE_SWITCHING.
1284 (copy_file_data): Move into TARGET_IRIX6 block.
1286 2003-06-08 Richard Henderson <rth@redhat.com>
1288 * expr.h (EXPAND_MEMORY): New.
1289 * expr.c (expand_expr): Check it.
1290 * stmt.c (expand_asm_operands): Provide it when the constraint
1291 requires a memory. Warn for memory input constraints without
1294 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1296 * varasm.c: Don't include c-tree.h.
1298 2003-06-08 Andreas Jaeger <aj@suse.de>
1300 * predict.h: Convert to ISO C90 prototypes.
1301 * predict.c: Likewise.
1302 * tree-dump.h: Likewise.
1303 * tree-dump.c: Likewise.
1304 * diagnostic.h: Likewise.
1305 * diagnostic.c: Likewise.
1306 * combine.c: Likewise.
1308 * rtl.h: Convert prototypes of combine.c to ISO C90.
1310 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
1312 * cfglayout.c (insn_scope): New static function
1313 (block_locators_*, line_locators*, file_locators*): New static varrays.
1314 (scope_to_insns_initialize): Use them.
1315 (insn_line, insn_file): New functions.
1316 (scope_to_insns_finalize): Use insn_scope.
1317 (prologue_locator, epilogue_locator): New global variables.
1318 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
1319 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
1320 (emit_insn_after_scope, emit_insn_before_scope
1321 emit_jump_insn_after_scope, emit_jump_insn_before_scope
1322 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
1323 (emit_insn_after_setloc, emit_insn_before_setloc
1324 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
1325 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
1327 * final.c (notice_source_line): Use locators.
1328 (final_start_function): Set initial source file and line.
1329 (final_scan_insn): Use locators.
1330 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1331 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
1332 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
1333 noce_process_if_block, find_cond_trap): Likewise.
1334 * integrate.c (copy_insn_list): Likewise.
1335 * jump.c (duplicate_loop_exit_test): LIkewise.
1336 * print-rtl.c (print_rtx): Print locators.
1337 * recog.c (peephole2_optimize): Likewise.
1338 * rtl.h (INSN_SCOPE): Remove.
1339 (emit_insn_after_scope, emit_insn_before_scope
1340 emit_jump_insn_after_scope, emit_jump_insn_before_scope
1341 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
1342 (emit_insn_after_setloc, emit_insn_before_setloc
1343 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
1344 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
1345 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
1346 * unroll.c (copy_loop_body): Use locators.
1347 * function.c (set_insn_locators): New function.
1348 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
1350 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
1352 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
1353 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
1354 _fixsfdi _fixunssfdi.
1355 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
1357 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
1358 * config/h8300/clzhi2.c: New.
1359 * config/h8300/ctzhi2.c: Likewise.
1360 * config/h8300/parityhi2.c: Likewise.
1361 * config/h8300/popcounthi2.c: Likewise.
1363 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
1365 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
1366 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
1368 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
1369 (dump_bb): New based on old dump_bb in cfgrtl.c
1370 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
1371 * cfghooks.h (cfgh_verify_flow_info): Return status.
1372 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
1373 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
1374 (dump_bb): Remove generic parts.
1375 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
1376 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
1378 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
1380 * Makefile.in: Rename options.c and options.h to c-options.c and
1382 (OBJS): Remove options.o.
1383 * c-opts.c: Don'tInclude c-options.h instead of options.h.
1384 * opts.c: Don't include options.h.
1385 (find_opt): Can't use enum opt_code or N_OPTS.
1386 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
1387 * opts.sh: ... here.
1389 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1390 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1393 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
1394 if HAVE_MINCORE is defined.
1395 (MAP_FAILED): Define if not defined.
1396 (gt_pch_save): Test against MAP_FAILED.
1397 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
1398 the mapping address to the preferred base after checking it
1399 is possible to do so. Test against MAP_FAILED.
1400 * configure.in: Test for the presence of mincore in libc.
1401 * config.in: Regenerate.
1402 * configure: Regenerate.
1404 2003-06-07 Richard Henderson <rth@redhat.com>
1406 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
1407 conditional compilation guard.
1409 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
1411 * optabs.c (expand_abs): Set result_unsignedp to 1 if
1414 2003-06-07 Richard Henderson <rth@redhat.com>
1416 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
1418 2003-06-07 Richard Henderson <rth@redhat.com>
1420 * basic-block.h (EDGE_SIBCALL): New.
1421 (EDGE_ALL_FLAGS): Update.
1422 * cfg.c (dump_edge_info): Add sibcall name.
1423 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
1424 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
1426 2003-06-07 Andreas Jaeger <aj@suse.de>
1428 * mklibgcc.in (lib2funcs): Remove _exit.
1429 * libgcc2.c: Remove L_exit.
1430 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
1432 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
1434 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
1436 * ggc.h: Convert to ISO C90 prototypes.
1437 * ggc-none.c: Likewise.
1438 * ggc-common.c: Likewise.
1439 * ggc-page.c: Likewise.
1440 * ggc-simple.c: Likewise.
1442 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
1444 * system.h: Poison INIT_SECTION_PREAMBLE.
1446 2003-06-07 Zack Weinberg <zack@codesourcery.com>
1448 * config.gcc (with_cpu handling): Translate sparc64 in
1449 $machine to --with-cpu=v9.
1450 * config/alpha/alpha.c
1451 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
1452 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
1454 * target.h: New hook asm_out.file_end.
1455 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
1456 * toplev.c (compile_file): Use targetm.asm_out.file_end.
1457 * system.h: Poison ASM_FILE_END.
1458 * varasm.c (file_end_indicate_exec_stack): New.
1459 * output.h: Prototype it.
1460 * doc/tm.texi: Document TARGET_ASM_FILE_END and
1461 file_end_indicate_exec_stack. Delete references to attasm.h.
1463 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
1464 (ASM_FILE_END): Delete; move code...
1465 * config/darwin.c (darwin_file_end): Here; new function.
1466 * config/darwin-protos.h: Prototype it.
1467 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
1468 rename unicosmk_file_end.
1469 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
1470 * config/arm/arm.c (aof_file_end): ... here; new static function.
1471 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
1472 Make aof_dump_imports and aof_dump_pic_table static.
1473 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
1474 Set TARGET_ASM_FILE_END to avr_file_end.
1475 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
1476 Set TARGET_ASM_FILE_END to c4x_file_end.
1477 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
1478 make static. Take no arguments. Set TARGET_ASM_FILE_END to
1480 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
1481 * config/i370/i370.c (i370_file_end): ... here; new static function.
1482 Set TARGET_ASM_FILE_END to i370_file_end.
1483 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
1484 Take no arguments. Call file_end_indicate_exec_stack if
1485 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
1486 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
1487 Define NEED_INDICATE_EXEC_STACK to 0.
1488 * config/i386/linux.h, config/i386/linux64.h: Redefine
1489 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
1490 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
1491 i386_pe_file_end. Take no arguments. Use ix86_file_end.
1492 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
1493 ia64_hpux_file_end, make static. Take no arguments.
1494 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
1495 commands_in_prologues, commands_in_epilogues): Delete.
1496 (function_epilogue): Update to match.
1497 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
1498 make static. Take no arguments.
1499 (iris6_asm_file_end): Rename iris6_file_end, make static, use
1500 mips_file_end, take no arguments.
1501 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
1503 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
1504 make static, take no arguments. Set TARGET_ASM_FILE_END to
1506 * config/pa/pa.c (output_deferred_plabels): Make static, take
1507 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
1508 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
1509 (ASM_FILE_END): Delete; move code...
1510 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
1511 new static function.
1513 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
1514 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
1515 Don't set ASM_FILE_END.
1516 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
1517 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
1518 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
1519 file_end_indicate_exec_stack; don't set ASM_FILE_END.
1520 * config/alpha/unicosmk.h, config/i386/cygming.h
1521 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
1522 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
1523 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
1524 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1525 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
1526 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
1528 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
1530 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
1533 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
1535 * Makefile.in (stageprofile_build): Kill redundant target.
1536 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
1538 2003-06-07 Andreas Jaeger <aj@suse.de>
1540 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
1542 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
1543 * config/dsp16xx/dsp16xx.h: Likewise.
1544 * config/i386/i386.h: Likewise.
1545 * config/ip2k/ip2k.h: Likewise.
1547 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
1549 * Makefile.in (OJBS, c-opts.o): Update.
1550 (c-options.c, c-options.h): Rename options.h and options.c.
1551 (options.h): Rename options_.h.
1553 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
1554 (c_common_init_options): Update prototype.
1555 * c-lang.c (c_init_options): Update prototype.
1556 (LANG_HOOKS_HANDLE_OPTION): Override.
1557 (LANG_HOOKS_DECODE_OPTION): Drop.
1558 * c-opts.c: Include opts.h and options.h instead of c-options.h
1560 (lang_flags): Move to file scope.
1561 (find_opt, c_common_decode_option): Remove.
1562 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
1563 CL_REJECT_NEGATIVE): Move to opts.h.
1564 (missing_arg): Update prototype.
1565 (c_common_init_options): Update for new prototype.
1566 (c_common_handle_options): Filenames are passed as N_OPTS.
1567 * hooks.c (hook_int_void_0): New.
1568 * hooks.h (hook_int_void_0): New.
1569 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
1570 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
1571 (LANG_HOOKS_INITIALIZER): Update.
1572 * langhooks.h (init_options): Update.
1573 (handle_option): New.
1574 * opts.c, opts.h: New files.
1575 * opts.sh: Update c file to include opts.h and options.h.
1576 * toplev.c: Include opts.h; change options.h to options_.h.
1577 (parse_options_and_default_flags): Get lang_mask, use
1578 handle_option for language-specific handling.
1579 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
1580 (LANG_HOOKS_HANDLE_OPTION): Override.
1581 (objc_init_options): Update.
1583 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
1584 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
1587 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
1590 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
1592 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
1594 * configure: Regenerate.
1596 2003-06-07 Alan Modra <amodra@bigpond.net.au>
1598 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
1600 2003-06-06 James E Wilson <wilson@tuliptree.org>
1603 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
1604 different in fields.
1606 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
1608 * configure.in: Make $(target_subdir) correspond with top level usage.
1609 * Makefile.in: Likewise.
1610 * configure: Regenerate.
1612 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1614 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
1615 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
1616 unsigned HOST_WIDE_INT.
1617 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
1619 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
1622 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1624 * doc/install.texi (Prerequisites): New section documenting
1625 tools and packages necessary prior to building and/or
1627 * doc/install.texi2html: Also generate prerequisites.html.
1629 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
1632 * ifcvt.c (noce_process_if_block): Fail if the destination has
1635 2003-06-06 Jason Merrill <jason@redhat.com>
1637 * stmt.c (resolve_asm_operand_names): Rename from
1638 resolve_operand_names. No longer static. Avoid needless copying.
1639 Don't build array of constraints.
1640 (expand_asm_operands): Build it here.
1641 * tree.h: Declare resolve_asm_operand_names.
1643 * stmt.c (expand_decl): Put artificial vars into registers even
1644 when not optimizing, and don't mark the regs as user vars.
1646 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
1648 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
1649 of the generated register.
1651 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
1653 * config.gcc: Add a missing sparc64 case.
1655 2003-06-06 Jakub Jelinek <jakub@redhat.com>
1657 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
1658 the .hidden assembly stubs.
1660 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
1662 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
1665 * config/i386/mmintrin.h: Update version and add alternate
1667 * config/i386/xmmintrin.h: Likewise.
1669 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
1671 * config/i386/emmintrin.h: Here. New file.
1673 2003-06-06 Roger Sayle <roger@eyesopen.com>
1675 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
1676 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
1677 when the ABS_EXPR (fabs or abs) is not required.
1678 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
1679 always nonnegative from fold to here. Additionally, cabs and fabs
1680 are always non-negative, and pow and atan are non-negative if
1681 their first argument is non-negative.
1683 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
1684 Evaluate cabs of a constant at compile-time. Convert cabs of a
1685 non-complex argument into fabs. Convert cabs(z) into
1686 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
1687 -funsafe-math-optimizations or -ffast-math.
1688 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
1689 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
1691 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
1693 * sourcebuild.texi (Front End Directory): Document new hooks.
1695 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
1697 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
1698 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
1700 (pro_epilogue_adjust_stack_rex64_2): New pattern
1702 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
1704 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1706 * cfghooks.h, cfghooks.c: New files.
1707 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
1708 (OBJS): Add cfghooks.o.
1709 (cfghooks.o): New rule.
1710 * basic-block.h (split_edge): Rename to rtl_split_edge.
1711 (verify_flow_info): Rename to rtl_verify_flow_info.
1712 (cfghooks.h): Included here.
1713 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
1714 (verify_flow_info): Renamed rtl_verify_flow_info.
1715 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
1717 * basic-block.h (split_block, split_edge, flow_delete_block,
1718 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
1719 (flow_delete_block_noexpunge): Return void.
1720 * cfg.c (verify_flow_info): New function.
1721 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
1722 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
1724 * cfglayout.c (function_footer): Rename to...
1725 (cfg_layout_function_footer): ... this variable
1726 (unlink_insn_chain): Make global.
1727 (fixup_reorder_chain, record_effective_endpoints): Update.
1728 (cleanup_unconditional_jumps): Use delete_block.
1729 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
1730 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
1731 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
1732 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
1733 (cfg_layout_function_footer): Declare.
1734 * cfgloopmanip (split_loop_bb): Do not update RBI.
1735 (remove_bbs): Use delete_block.
1736 (loop_reidrect_edge, loop_delete_branch_edge): Use
1737 redirect_edge_and_branch.
1738 (create_preheader): Use split_block and redirect_edge_and_branch_force.
1739 (split_edge_with): Likewise.
1740 * cfgrtl.c: Include cfglayout.h
1741 (split_edge): Rename to ...
1742 (rtl_split_edge) ... this one; make local.
1743 (redirect_edge_and_branch): Rename to ...
1744 (rtl_redirect_edge_and_branch) ... this one; make local.
1745 (redirect_edge_and_branch_force): Rename to ...
1746 (rtl_redirect_edge_and_branch_force) ... this one; make local.
1747 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
1748 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
1749 cfglayout.c; update to directly call RTL counterparts.
1750 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
1751 * ifcvt.c (find_cond_trap): Use delete_block.
1752 (find_if_case_1): Use delete_block.
1753 (find_if_case_2): Use delete_block.
1754 * rtl.h (unlink_insn_chain): Declare.
1755 * toplev.c (rtl_reigster_cfg_hooks): New.
1757 2003-06-05 Richard Henderson <rth@redhat.com>
1759 * recog.c (peephole2_optimize): Revert last change.
1761 2003-06-05 Richard Henderson <rth@redhat.com>
1763 * recog.c (peephole2_optimize): Don't split block unless
1766 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
1768 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
1769 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
1771 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
1773 PR optimization/4490
1774 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
1775 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
1776 documentation to accurately reflect what these options do.
1778 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
1780 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
1781 (ENDFILE_SPEC): Redefine to handle -pie.
1783 2003-06-05 Phil Edwards <phil@jaj.com>
1785 * Makefile.in (qmtest-g++): Use target_alias, not target.
1787 2003-06-05 Per Bothner <pbothner@apple.com>
1789 * toplev.c (push_srcloc): Simplify behavior to save current location
1790 and set current location to parameters.
1791 (pop_srcloc): Simplify semantics.
1792 (lang_dependent_init): Remove now-useless initial push_srcloc.
1794 2003-05-06 Richard Henderson <rth@redhat.com>
1796 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
1797 language-specific tree codes.
1799 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1802 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
1803 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
1805 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
1807 * install.tex: Document profiledbootstrap.
1809 * configure.in: Add support for lang.stageprofile and
1811 * Makefile.in (clean, distclean): Kill new stages
1812 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
1813 (STAGE2_FLAGS_TO_PASS): ... this one.
1814 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
1815 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
1816 (stageprofile_build, stageprofile_copy, stagefeedback_build,
1817 stagefeedback_copy): New.
1818 (restageprofile, restagefeedback, stageprofile-start,
1819 stageprofile, stagefeedback-start): Likewise.
1821 2003-06-05 David Miller <davem@redhat.com>
1822 Richard Henderson <rth@redhat.com>
1824 * optabs.c (HAVE_conditional_trap): Provide default.
1825 (gen_conditional_trap): Likewise.
1826 (init_optabs): Merge init_traps.
1827 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
1829 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
1831 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
1832 is REG for nonzero_bits (REG) == 8.
1834 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
1836 * i386.md (align): Fix warning; clarify what to do when no p2align
1839 2003-06-05 Nick Clifton <nickc@redhat.com>
1841 * config.gcc (m32r-elf): Revert previous delta.
1842 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
1843 multilibs. Remove m32rx specific version.
1844 (crtfini.o): Likewise.
1845 (EXTRA_MULTILIB_PARTS): Define.
1847 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1849 * doc/md.texi (Machine Constraints): Correct the meaning of
1850 constraints related to floating-point registers on SPARC.
1852 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1853 Paolo Bonzini <bonzini@gnu.org>
1856 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
1857 assembler and linker output to /dev/null.
1858 Use a 'sed' construct instead of 'grep -A1'.
1859 * configure: Regenerate.
1861 2003-06-04 Richard Henderson <rth@redhat.com>
1863 * config/i386/i386.c (struct ix86_address): Add seg.
1864 (no_seg_address_operand): New.
1865 (ix86_decompose_address): Restructure PLUS loop. Accept one
1866 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
1867 to test for a regnum, not stack_pointer_rtx.
1868 (ix86_address_cost): Reduce cost if non-default segment.
1869 (legitimate_address_p): Remove UNSPEC_TP check.
1870 (get_thread_pointer): Add to_reg argument. Don't represent
1871 the thread pointer as a memory load.
1872 (legitimize_tls_address): Split out of ...
1873 (legitimize_address): ... here.
1874 (print_operand_address): Handle parts.seg.
1875 (ix86_expand_move): Use legitimize_tls_address.
1876 (ix86_rtx_costs): Handle UNSPEC_TP.
1877 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
1878 (TARGET_TLS_DIRECT_SEG_REFS): New.
1879 (TARGET_SWITCHES): Add tls-direct-seg-refs.
1880 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
1881 (PREDICATE_CODES): Add no_seg_address_operand.
1882 * config/i386/i386.md (lea_1): Use it.
1883 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
1884 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
1885 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1886 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1887 * doc/invoke.texi: Add -mtls-direct-seg-refs.
1889 2003-06-04 Mark Mitchell <mark@codesourcery.com>
1891 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
1892 (QMTEST_GPP_TESTS): Use "g++" by default.
1893 (stamp-qmtest): Tweak database creation.
1894 (QMTEST_DIR/context): Update context file format.
1895 (qmtest-g++): Tweak command-line.
1897 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1899 * Makefile.in (varasm.o): Don't set -Wno-error.
1900 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
1902 2003-06-04 Zack Weinberg <zack@codesourcery.com>
1905 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
1906 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
1907 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
1908 and AC_CHECK_FUNCS lists, respectively. Use
1909 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
1911 * configure, config.in: Regenerate.
1913 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1915 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
1916 * arm.c (arm_output_function_prologue): Fix format specifiers.
1917 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1918 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
1919 HOST_WIDE_INT_PRINT_DEC.
1920 * vax.c (vax_output_function_prologue): Fix format specifiers.
1922 2003-06-04 Richard Henderson <rth@redhat.com>
1924 * cse.c (find_best_addr): Consider binary operators even if second
1925 argument is not CONST_INT.
1927 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1929 * doc/invoke.texi (max-cse-path-length): Document.
1931 2003-06-04 Richard Henderson <rth@redhat.com>
1933 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
1935 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
1937 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
1938 Remove semi-colon at the end of the expression.
1940 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1942 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
1943 * i370.h (mvs_function_name_length): Likewise.
1944 * i960.h (CONSTANT_ALIGNMENT): Likewise.
1945 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1946 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1947 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1948 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
1951 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1953 * config.gcc: Reorganize --with-cpu logic. Set
1954 configure_default_options according to the default CPU, --with-cpu,
1955 --with-arch, --with-tune, --with-schedule, --with-abi, and
1956 --with-float. Check for legal values of various options.
1957 * configure.in: Define configure_default_options in configargs.h.
1958 * configure: Regenerated.
1959 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
1960 (TARGET_DEFAULT_FLOAT_P): New macros.
1961 * gcc.c (do_option_spec): New function.
1962 (struct default_spec, option_default_specs): New.
1963 (main): Call do_option_spec.
1964 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
1965 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
1966 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
1968 * doc/install.texi: Update --with-cpu documentation. Mention
1969 --with-arch, --with-schedule, --with-tune, --with-abi, and
1971 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
1973 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1975 * config.gcc: Only process --with-cpu logic in the third pass.
1977 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1979 * config.gcc: Reorganize --with-cpu section. Remove an
1980 obsolete comment about the default CPU for x86-64. Fix
1981 a typo for the ep9312. Update the list of supported PowerPC
1982 CPUs. Support a limited set of new --with-cpu options
1985 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
1987 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
1988 complex numbers <= 32 bits into two registers.
1990 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1992 * alpha.c (print_operand_address): Fix format specifier warnings.
1993 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1994 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1995 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
1996 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
1997 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1998 ASM_OUTPUT_SKIP): Likewise.
1999 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2000 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2001 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
2003 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2004 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
2005 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
2006 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2007 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
2008 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2009 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2010 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2011 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2012 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
2014 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
2016 * c-decl.c (c_init_decl_processing): Clear input_file_name
2017 while building common nodes.
2018 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
2019 Don't add working directory for strings like <built-in> .
2021 2003-06-04 David Edelsohn <edelsohn@gnu.org>
2023 * doc/install.texi (*-ibm-aix*): Native as and ld required
2024 to bootstrap on AIX 5L.
2026 2003-06-04 Richard Henderson <rth@redhat.com>
2028 * c-common.c (handle_cleanup_attribute): New.
2029 (c_common_attributes): Add it.
2030 * c-decl.c (finish_decl): Honor the cleanup attribute.
2031 * doc/extend.texi (Variable Attributes): Document it.
2033 * unwind-c.c: New file.
2034 * Makefile.in (LIB2ADDEH): Add it.
2035 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
2036 config/ia64/t-ia64: Likewise.
2038 2003-06-04 Jakub Jelinek <jakub@redhat.com>
2040 * function.c (trampolines_created): New variable.
2041 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
2042 * function.h (trampolines_created): Add.
2043 * config/s390/linux.h (ASM_FILE_END): Define.
2044 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
2045 * config/m68k/linux.h (ASM_FILE_END): Define.
2046 * config/rs6000/linux.h (ASM_FILE_END): Define.
2047 * config/rs6000/linux64.h (ASM_FILE_END): Define.
2048 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
2049 * config/sparc/linux.h (ASM_FILE_END): Define.
2050 * config/sparc/linux64.h (ASM_FILE_END): Define.
2051 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
2052 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
2053 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
2055 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
2057 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
2058 (ix86_reorg): Use it.
2059 * i386.md (align): New insn pattern.
2061 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2063 * toplev.c (rest_of_type_compilation): Fix typo.
2065 2003-06-04 Jakub Jelinek <jakub@redhat.com>
2066 Alan Modra <amodra@bigpond.net.au>
2068 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
2069 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
2070 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
2071 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
2072 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
2073 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
2074 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
2075 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
2077 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
2078 Pass it to $gcc_cv_as.
2079 * configure: Rebuilt.
2081 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
2082 (print_operand): Allow TARGET_AIX to be non-constant.
2083 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
2084 Define unconditionally.
2085 (rs6000_elf_declare_function_name): New function.
2086 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
2088 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
2090 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
2091 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
2093 (TARGET_AIX): Define to 1 if TARGET_64BIT.
2094 (PROCESSOR_DEFAULT): Remove.
2095 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
2096 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
2097 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
2098 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
2100 (MULTILIB_DEFAULTS): Define.
2101 (SUBSUBTARGET_EXTRA_SPECS): Define.
2102 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
2103 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
2104 (TARGET_NO_TOC): Remove.
2105 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
2106 TARGET_PROTOTYPE): Define to 0.
2107 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
2108 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
2109 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
2111 (USER_LABEL_PREFIX): Remove.
2112 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
2113 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
2115 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
2116 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
2117 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
2118 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
2119 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
2120 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
2122 (RS6000_CALL_GLUE): Likewise.
2123 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
2124 RESTORE_FP_SUFFIX): Likewise.
2125 (ASM_DECLARE_FUNCTION_NAME): Remove.
2126 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
2127 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
2128 name if TARGET_64BIT.
2129 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
2131 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
2132 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
2133 (DRAFT_V4_STRUCT_RET): Define.
2134 (SIGNAL_FRAMESIZE): New enum value.
2135 (MD_FALLBACK_FRAME_STATE_FOR): Define.
2136 * config/rs6000/default64.h: New file.
2137 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
2139 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
2140 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
2142 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
2143 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
2145 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
2146 (TARGET_OS_CPP_BUILTINS): Use it.
2147 (CPP_SYSV_SPEC): Remove.
2148 (CPP_SPEC): Remove cpp_sysv.
2149 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
2150 Add SUBSUBTARGET_EXTRA_SPECS.
2151 (SUBSUBTARGET_EXTRA_SPECS): Define.
2152 * config/rs6000/biarch64.h: New file.
2153 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
2155 * config/rs6000/x-linux64: New file.
2156 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
2158 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
2159 * config/rs6000/eabi-cn.asm: Likewise.
2160 * config/rs6000/tramp.asm: Likewise.
2161 * config/rs6000/sol-ci.asm: Likewise.
2162 * config/rs6000/sol-cn.asm: Likewise.
2163 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
2164 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
2165 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
2166 _CALL_AIXDESC section.
2167 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
2168 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
2171 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
2173 * config.gcc: Revert accidentally committed ARM changes.
2175 2003-06-04 Roger Sayle <roger@eyesopen.com>
2177 * builtins.c (dconstpi, dconste): New mathematical constants.
2178 (init_builtin_dconsts): New function to initialize dconstpi
2180 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
2181 compile time with -ffast-math when x is an integer constant.
2182 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
2183 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
2185 2003-06-04 Roger Sayle <roger@eyesopen.com>
2187 * calls.c (expand_call): Avoid calling pure or const functions
2188 when the result is ignored (or void) and none of the arguments
2189 are volatile. Move warning diagnostic earlier in function.
2191 2003-06-04 Andreas Jaeger <aj@suse.de>
2193 * system.h: Do not poison TDESC_SECTION_ASM_OP,
2194 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
2196 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2198 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
2199 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
2200 handle %ll, optimize regular character case.
2202 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2204 * Makefile.in (cse.o): Add params.h dependency.
2205 * cse.c: Include params.h.
2206 (PATHLENGTH): Removed.
2207 (struct cse_basic_block_data): Make path array dynamic.
2208 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
2210 (cse_main, cse_basic_block): Allocate path array.
2211 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
2213 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
2215 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
2216 * i386.md (UNSPEC_REP): New constant.
2217 (return_internal_long): New pattern.
2219 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2221 PR optimization/11018
2222 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
2223 consistently to decide whether the scratch register is really
2226 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2228 PR optimization/10876
2229 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
2230 new 'O' constraint for constant 4096.
2231 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
2232 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
2233 Do not transform into MINUS insn for constant 4096.
2234 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
2235 for constant 4096 as third operand.
2236 (addsi3 expander): Remove.
2237 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
2238 new alternative for constant 4096 as third operand.
2239 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
2240 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
2242 (subsi3 expander): Remove.
2243 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
2244 constant 4096 as third operand.
2245 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
2248 2003-06-03 Chris Demetriou <cgd@broadcom.com>
2250 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
2252 2003-06-04 Andreas Jaeger <aj@suse.de>
2254 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
2256 * config/i386/i386.c (ix86_expand_prologue): Do not use
2259 * system.h: Poision SUBTARGET_PROLOGUE.
2261 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
2263 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
2266 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
2268 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
2269 INSN_CACHE_LINE_WIDTH.
2271 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
2272 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
2273 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
2275 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
2276 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
2278 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
2279 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
2280 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
2281 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
2282 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
2283 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
2285 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
2286 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
2287 DBX_WORKING_DIRECTORY.
2289 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
2290 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
2292 * config/frv/frv-protos.h: Remove unused const_section
2294 * config/vax/vax-protos.h: Likewise.
2296 * output.h: Remove CONST_SECTION_ASM_OP usage.
2298 * system.h: Poison CONST_SECTION_ASM_OP.
2300 * crtstuff.c (__do_global_dtors_aux): Remove usage of
2302 (frame_dummy): Likewise.
2303 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
2304 * system.h: Poison CRT_GET_RFIB_TEXT.
2306 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
2308 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
2309 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
2310 (recognized_function): Likewise.
2311 (read_scan_file): Likewise.
2313 2003-06-03 Roger Sayle <roger@eyesopen.com>
2315 * optabs.c (expand_binop): Optimize complex multiplication for
2316 the case of squaring a complex argument.
2318 2003-06-03 Roger Sayle <roger@eyesopen.com>
2320 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
2321 non-volatile operands of binary operations.
2322 (prepare_cmp_insn): Likewise.
2324 2003-06-03 Roger Sayle <roger@eyesopen.com>
2326 * varasm.c (force_const_mem): Handle alignment of constants not
2327 representable as a type in the front-end language.
2329 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
2331 * flow.c (initialize_uninitialized_subregs): Use
2332 emit_move_insn instead of emitting a hardcoded move.
2334 2003-06-03 Richard Henderson <rth@redhat.com>
2336 * optabs.c (expand_abs_nojump): Split out from ...
2337 (expand_abs): ... here.
2338 * optabs.h (expand_abs_nojump): Declare.
2339 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
2340 * Makefile.in (ifcvt.o): Depend on optabs.h.
2342 2003-06-03 Alan Modra <amodra@bigpond.net.au>
2344 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
2346 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
2348 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
2349 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
2351 * configure.in: Allow default_use_cxa_atexit to determine the
2352 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
2354 * configure: Regenerate.
2356 2003-06-03 Douglas B Rupp <rupp@gnat.com>
2358 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
2359 * doc/gcc.texi: Remove vms.texi section.
2360 * doc/vms.texi: Remove obsolete file.
2362 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
2364 * configure.in (inhibit_libc): Don't define when configuring
2365 with --with-newlib --with-headers.
2366 * configure: Regenerate.
2368 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
2370 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2372 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
2373 IRIX 6 without GNU ld.
2374 * configure: Regenerate.
2376 2003-06-03 Roger Sayle <roger@eyesopen.com>
2378 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
2379 of a complex number rather than invoke mov_optab directly.
2381 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
2383 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
2384 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
2386 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
2388 * config/i386/x86-64.h: Remove two target-independent comments;
2389 replace "GNU CC" with "GCC".
2391 2003-06-03 Anthony Green <green@redhat.com>
2393 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
2395 2003-06-03 Roger Sayle <roger@eyesopen.com>
2397 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
2398 New builtins representing ISO C99's cabs, cabsf and cabsl.
2399 * builtins.c (expand_builtin_fabs): New function.
2400 (expand_builtin_cabs): New function.
2401 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
2402 using expand_builtin_fabs and expand_builtin_cabs respectively.
2404 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
2406 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
2408 * function.c (assign_parms): Split complex arguments.
2410 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
2412 * expr.h (SPLIT_COMPLEX_ARGS): Define.
2413 (split_complex_types): Protoize.
2414 (split_complex_values): Protoize.
2416 * calls.c (expand_call): Split complex arguments on architectures
2418 (split_complex_values): New.
2419 (split_complex_types): New.
2421 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
2422 (rs6000_function_value): Handle complex values on AIX.
2423 (rs6000_complex_function_value): New.
2425 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
2427 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
2428 (SPLIT_COMPLEX_ARGS): New.
2430 2003-06-03 Jakub Jelinek <jakub@redhat.com>
2432 * configure.in (HAVE_LD_PIE): Check for ld -pie.
2433 * config.in: Rebuilt.
2434 * configure: Rebuilt.
2435 * toplev.c (flag_pie, flag_shlib): New variables.
2436 (f_options): Add -fpie and -fPIE.
2437 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
2438 Set flag_shlib if flag_pic and not -fpie/-fPIE.
2439 * flags.h (flag_pic, flag_shlib): Add.
2440 * varasm.c (default_binds_local_p): Use flag_shlib instead of
2442 * gcc.c (LINK_PIE_SPEC): Define.
2443 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
2444 (option_map): Add --pie -> -pie mapping.
2445 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
2446 and -fPIE the same way as -fPIC.
2447 * config/openbsd.h (ASM_SPEC): Likewise.
2448 * config/frv/frv.h (ASM_SPEC): Likewise.
2449 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
2450 * config/arm/semi.h (ASM_SPEC): Likewise.
2451 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
2452 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
2453 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
2454 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
2455 * config/m68k/linux.h (CPP_SPEC): Likewise.
2456 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
2457 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
2458 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
2459 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
2460 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
2461 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
2462 * config/netbsd-aout.h (ASM_SPEC): Likewise.
2463 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
2464 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
2465 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
2466 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
2467 * config/sparc/sparc.h (ASM_SPEC): Likewise.
2468 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
2469 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
2470 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
2471 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
2472 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
2473 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
2475 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2476 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2477 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2478 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2479 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2480 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2481 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
2482 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
2484 2003-06-03 Jakub Jelinek <jakub@redhat.com>
2486 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
2487 != 0 handling. Pass 0 to store_by_pieces.
2488 (expand_builtin_mempcpy): Add endp argument. Don't call
2489 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
2490 directly. If ignoring result, only do expand_call.
2491 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
2493 (expand_builtin_strncpy, expand_builtin_memset): Adjust
2494 store_by_pices callers.
2495 (expand_builtin): Adjust expand_builtin_memcpy and
2496 expand_builtin_mempcpy callers.
2497 * expr.c (can_move_by_pieces): New function.
2498 (move_by_pieces): Add endp argument, return to resp. memory at end
2499 or one byte earlier depending on endp.
2500 (store_by_pieces): Likewise.
2501 (emit_block_move): Adjust call to move_by_pieces.
2502 (emit_push_insn): Adjust move_by_pieces caller.
2503 * expr.h (can_move_by_pieces): New prototype.
2504 (store_by_pieces): Adjust prototypes.
2505 * rtl.h (move_by_pieces): Adjust prototype.
2506 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
2509 2003-06-03 Ben Elliston <bje@wasabisystems.com>
2511 * doc/md.texi (Processor pipeline description): Improve wording.
2513 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
2515 * c-opts.c (c_common_handle_option): New, pulled out of
2516 c_common_decode_option. Substitute uses of argv.
2517 (c_common_decode_option): Broken into two.
2519 2003-06-02 Roger Sayle <roger@eyesopen.com>
2520 Zack Weinberg <zack@codesourcery.com>
2522 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
2523 test of TREE_CONSTANT_POOL_ADDRESS_P.
2525 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2527 * mips.c: Don't include output.h twice.
2528 * stormy16.c: Likewise.
2529 * xtensa.c: Likewise.
2530 * output.h: Protect against multiple inclusion.
2532 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
2534 * sh.h (OLD_ARG_MODE): New macro.
2535 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2536 (FUNCTION_ARG_1): Break out of:
2537 (FUNCTION_ARG). Use OLD_ARG_MODE.
2539 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2541 * gcc/config.gcc Add support multilib parts for m32rx processor.
2543 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2545 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
2546 (mostlyclean): Delete c-options.c and c-options.h.
2548 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
2550 * c-opts.c (CL_REJECT_NEGATIVE): New.
2551 (c_common_decode_option): Update to use it.
2552 * c.opt: Update documentation; use RejectNegative.
2553 * opts.sh: Handle RejectNegative.
2555 2003-06-01 Zack Weinberg <zack@codesourcery.com>
2557 * ggc-page.c (init_ggc): Give better diagnostics on failure to
2559 * toplev.c (crash_signal): Reset handling for received signal
2562 2003-06-02 Ben Elliston <bje@wasabisystems.com>
2564 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
2565 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
2566 (arm_use_dfa_pipeline_interface): Implement.
2567 * config/arm/arm.md (arm): New automaton.
2568 (write_buf): Remove function units; new cpu unit.
2569 (write_blockage): Remove function units; new cpu unit.
2570 (core): Remove function units; new cpu unit.
2571 (r_mem_f_wbuf): New instruction reservation.
2572 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
2573 (store1_ldsched, store2, store3, store4): Likewise.
2574 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
2575 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
2576 (multi_cycle, single_cycle): Likewise.
2577 * config/arm/fpa.md (armfp): New automaton.
2578 (fpa): Remove function units; new cpu unit.
2579 (fpa_mem): Remove function unit; new cpu unit.
2580 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
2581 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
2583 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2585 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
2586 * c-format.c (enum format_type): Add asm_fprintf_format_type.
2587 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
2588 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
2589 (format_types_orig): Renamed from format_types. Add new data.
2590 (format_types): Declare as pointer.
2591 (handle_format_attribute): Move later in file so we have all
2592 necessary declarations. Add section to capture HOST_WIDE_INT.
2593 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
2594 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
2596 2003-06-01 Andreas Jaeger <aj@suse.de>
2598 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
2599 ROUND_TYPE_SIZE_UNIT.
2601 * stor-layout.c (finalize_record_size): Remove usages of
2602 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
2603 (finalize_type_size): Likewise.
2604 (layout_type): Likewise.
2606 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
2608 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
2610 * config/d30v/d30v.h: Remove text copied from the manual.
2612 2003-06-01 Roger Sayle <roger@eyesopen.com>
2613 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2614 Geoffrey Keating <geoffk@apple.com>
2616 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
2617 constants as condition code values.
2619 2003-06-01 DJ Delorie <dj@redhat.com>
2621 * cppmacro.c (warn_of_redefinition): Handle cases where the two
2622 definitions have different numbers of tokens.
2624 2003-06-01 Andreas Jaeger <aj@suse.de>
2626 * gen-protos.c (main): Readd unused attribute for argc.
2628 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
2630 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
2631 * c.opt: End in blank line.
2632 * opts.sh: Take AWK from environment if available; use C locale.
2634 2003-06-01 Andreas Schwab <schwab@suse.de>
2636 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
2638 2003-06-01 Andreas Jaeger <aj@suse.de>
2640 * gen-protos.c (main): Revert patch to check for argument.
2642 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
2645 * config/i386/i386.md (length attribute): Set length to 4
2646 for instructions of type "fcmp".
2648 2003-06-01 Andreas Jaeger <aj@suse.de>
2650 * toplev.c: Use ISO C90 prototypes.
2652 * toplev.h: Use ISO C90 prototypes.
2654 * genrecog.c: Use ISO C90 prototypes.
2655 (nodes_identical): Correct declaration to match prototype.
2656 (maybe_both_true): Likewise.
2657 (merge_trees): Likewise.
2659 * genpeep.c (gen_peephole): Remove #if 0 code.
2660 Use ISO C90 prototypes.
2662 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
2663 Remove #if 0'ed function simplify_by_alternatives.
2664 (optimize_attrs): Remove #if 0'ed code.
2666 Use ISO C90 prototypes.
2667 (make_canonical): Remove #if 0'ed code.
2668 (convert_const_symbol_ref): Remove #if 0'ed function.
2670 * gen-protos.c (main): Check for argument.
2672 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
2674 * params.h: Use ISO C90 prototypes.
2675 * params.c: Likewise.
2678 * lists.c: Likewise.
2679 * errors.c: Likewise.
2680 * errors.h: Likewise.
2681 * gencodes.c: Likewise.
2682 * genpreds.c: Likewise.
2683 * genattr.c: Likewise.
2684 * gen-protos.c: Likewise.
2685 * genflags.c: Likewise
2686 * genconditions.c: Likewise.
2687 * genautomata.c: Likewise.
2688 * gencheck.c: Likewise.
2689 * genconfig.c: Likewise.
2690 * genconstants.c: Likewise.
2691 * genemit.c: Likewise.
2692 * genextract.c: Likewise.
2693 * gengenrtl.c: Likewise.
2694 * gengtype.c: Likewise.
2695 * gengtype.h: Likewise.
2696 * genopinit.c: Likewise.
2697 * genoutput.c: Likewise.
2698 * gensupport.c: Likewise.
2699 * gensupport.h: Likewise.
2701 * sdbout.h: Use ISO C90 prototypes.
2703 * sdbout.c (CONTIN): Removed empty macro.
2704 (sdbout_one_type): Remove CONTIN usages.
2706 (tag_of_ru_type): Remove #if 0'ed function.
2707 (sdbout_symbol): Remove #if 0'ed code.
2708 (sdbout_one_type): Remove a #if 1.
2709 (sdbout_one_type): Remove #if 0'ed code.
2710 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
2711 Remove PARAMS, use ISO C90 prototypes for all functions.
2713 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
2715 * rtl.def (CONST_DOUBLE): Update comment.
2717 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
2719 * opts.sh: Remove path from sort.
2721 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
2724 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
2725 TARGET_SPE for SPE_VECTOR_MODE.
2727 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
2729 * toplev.c (botch): Remove.
2731 (set_Wunused): Comment.
2732 (set_Wextra): Comment.
2734 (rest_of_compilation): Factor out common code into functions.
2735 (rest_of_handle_inlining): New.
2736 (rest_of_handle_ssa): New.
2737 (rest_of_handle_cse): New.
2738 (rest_of_handle_gcse): New.
2739 (rest_of_handle_loop_optimize): New.
2740 (rest_of_handle_jump_bypass): New.
2741 (rest_of_handle_sibling_calls): New.
2742 (rest_of_handle_null_pointer): New.
2743 (rest_of_handle_addresof): New.
2744 (rest_of_handle_flow): New.
2745 (rest_of_handle_branch_prob): New.
2746 (rest_of_handle_if_conversion): New.
2747 (rest_of_handle_tracer): New.
2748 (rest_of_handle_loop2): New.
2749 (rest_of_handle_cse2): New.
2750 (rest_of_handle_life): New.
2751 (rest_of_handle_combine): New.
2752 (rest_of_handle_if_after_combine): New.
2753 (rest_of_handle_regmove): New.
2754 (rest_of_handle_sched): New.
2755 (rest_of_handle_old_regalloc): New.
2756 (rest_of_handle_new_regalloc): New.
2757 (rest_of_handle_regrename): New.
2758 (rest_of_handle_reorder_blocks): New.
2759 (rest_of_handle_sched2): New.
2760 (rest_of_handle_new_regalloc): New.
2761 (rest_of_handle_old_regalloc): New.
2762 (rest_of_handle_regrename): New.
2763 (rest_of_handle_reorder_blocks): New.
2764 (rest_of_handle_stack_regs): New.
2765 (rest_of_handle_machine_reorg): New.
2766 (rest_of_handle_delay_slots): New.
2767 (rest_of_handle_final): New.
2769 * toplev.h (botch): Remove prototype.
2772 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
2774 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
2775 * c-opts.c: Include c-options.h and c-options.c.
2776 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
2777 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
2778 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
2779 OPT, opt_comp): Remove.
2780 (missing_arg, c_common_init_options, c_common_decode_option,
2781 write_langs): Update for macro redefinitions and enumeration
2783 * c.opt, opts.sh: New files.
2784 * doc/passes.texi: Update.
2786 2003-05-31 Andreas Jaeger <aj@suse.de>
2788 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
2791 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
2793 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
2795 * system.h: Poison ALLOCATE_TRAMPOLINE.
2797 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
2798 * system.h: Poison HANDLE_PRAGMA.
2800 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
2802 * doc/invoke.texi: Update dump file names.
2804 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2806 * c-format.c (format_length_info, format_char_info,
2807 format_flag_spec, format_flag_pair, format_kind_info):
2808 De-const-ify structure members.
2810 2003-05-31 Roger Sayle <roger@eyesopen.com>
2812 * flags.h (flag_wrapv): New flag controlling overflow semantics.
2813 * toplev.c (flag_wrapv): Declare the variable with default false.
2814 (lang_independent_options): New option "-fwrapv" to set the above.
2816 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
2817 as x, when signed arithmetic overflow wraps around.
2818 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
2819 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
2820 overflow when flag_wrapv is true.
2822 * doc/invoke.texi: Document new -fwrapv command line option.
2823 * doc/c-tree.texi: Mention that the overflow semantics of
2824 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
2825 upon both flag_wrapv and flag_trapv.
2827 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2829 * doc/install.texi (mips-sgi-irix5): Add missing
2832 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2834 * doc/md.texi (Machine Constraints): Document
2835 missing SPARC constraints.
2837 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2839 * doc/md.texi (Automaton pipeline description): Use
2840 "type" instead of "cpu" as the attribute in the examples.
2842 2003-05-30 Stan Shebs <shebs@apple.com>
2844 * system.h: Poison OBJC_PROLOGUE.
2846 2003-05-30 Roger Sayle <roger@eyesopen.com>
2848 * emit-rtl.c (gen_complex_constant_part): New function for getting
2849 the constant real or imaginary part of a complex constant.
2850 (gen_realpart): Use it.
2851 (gen_imagpart): Likewise.
2853 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
2855 * doc/invoke.texi: Fix typos.
2856 * doc/rtl.texi: Likewise.
2858 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2860 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
2862 * config/h8300/crtn.asm: Likewise.
2863 * config/h8300/lib1funcs.asm: Likewise.
2864 * config/h8300/h8300.c (asm_file_start): Likewise.
2865 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
2866 h8300snelf emulations for normal mode.
2867 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
2868 emulations for normal mode.
2870 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2872 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
2873 true if TARGET_NORMAL_MODE.
2875 2003-05-30 Roger Sayle <roger@eyesopen.com>
2877 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
2878 making a substitution.
2879 (dead_libcall_p): If directly replacing a libcall with a
2880 constant value produces an invalid instruction, also try forcing
2881 the constant into the constant pool.
2882 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
2883 obvious that the source is a constant.
2884 (compress_float_constant): Use set_unique_reg_note to place
2885 REG_EQUAL notes on instructions.
2887 2003-05-30 Eric Christopher <echristo@redhat.com>
2889 * config/mips/mips.c (extern_list): Add GTY marker.
2890 (extern_head): Separate out definition. Add marker.
2891 (mips_output_external): Use ggc_alloc for extern_list
2893 (mips_output_external_libcall): Ditto.
2895 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
2897 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
2900 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2902 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
2904 (PRINT_OPERAND): Likewise.
2906 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2908 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
2909 -mdebug/-no-mdebug switches ...
2910 (MDEBUG_ASM_SPEC): ... here.
2912 (EXTRA_SPECS): Initialize mdebug_asm_spec.
2914 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
2916 * gthr-gnat.c: Remove #undef UNUSED.
2917 (__gnat_default_lock, __gnat_default_unlock): Prototype.
2918 (__gnat_task_lock, __gnat_task_unlock): Make declarations
2920 (__gnat_install_locks): Convert declaration to ISO C90, make
2921 parameter declarations prototypes, and remove blank line.
2922 * gthr-gnat.h (__gnat_install_locks): Make parameter
2923 declarations prototypes.
2925 2003-05-29 Jason Merrill <jason@redhat.com>
2927 * Makefile.in (unstrap): Remove stage_last after make unstage1.
2929 2003-05-29 Roger Sayle <roger@eyesopen.com>
2931 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
2933 2003-05-29 Roger Sayle <roger@eyesopen.com>
2934 Kaveh Ghazi <ghazi@caip.rutgers.edu>
2937 * mips-tfile.c (main): Use getopt_long instead of getopt.
2938 Add new command line option --version to display version.
2939 Treat --verbose like -v to report a single line version.
2940 (options): New global variable for getopt_long.
2941 * mips-tdump.c (main): Use getopt_long instead of getopt.
2942 New command line options -v, --version and -verbose to display
2943 the program version number (to match mips-tfile's behavior).
2944 (options): New global variable for getopt_long.
2946 * gcov.c (options): Zero-terminate getopt_long array.
2947 * gcov-dump.c (options): Likewise.
2949 * Makefile.in (mips-tdump.o): Add dependency on version.h.
2951 2003-05-29 Stan Shebs <shebs@apple.com>
2953 Remove OBJC_PROLOGUE everywhere.
2954 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
2955 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
2956 * config/d30v/d30v.h: Similarly.
2957 * config/ip2k/ip2k.h: Similarly.
2958 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
2960 2003-05-29 Roger Sayle <roger@eyesopen.com>
2962 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
2963 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
2964 (expand_unreachable_stmt): Expand unreachable while statements
2965 using genrtl_do_stmt_1.
2967 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
2969 * config/mips/mips-protos.h (mips_output_load_label): Declare.
2970 * config/mips/mips.c (mips_output_load_label): New function.
2971 (mips_output_conditional_branch): Use it.
2972 * config/mips/mips.md (jump): And here.
2974 2003-05-28 Bob Wilson <bob.wilson@acm.org>
2976 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
2977 (xtensa_split_operand_pair): New proto.
2978 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
2979 (smalloffset_double_mem_p): Delete.
2980 (gen_float_relational, printx, print_operand, xtensa_va_arg):
2982 (xtensa_split_operand_pair): New.
2983 (xtensa_dbx_register_number): Fix formatting.
2984 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
2985 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
2986 instead of splitting them into single-word moves. Remove unnecessary
2987 checks for reload_in_progress and reload_completed.
2988 (movdi_internal, movdf_internal): Change to post-reload split patterns.
2989 Add constraints to allow constant operands.
2990 (movsf_internal): Allow CONST_INT operands.
2992 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
2994 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
2995 fragment i386/x-mingw32.
2996 * config/i386/x-mingw32: New file. Make local_includedir
2997 relative to EXEC_PREFIX.
2999 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
3001 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
3002 (MD_STARTFILE_PREFIX): Define.
3004 2003-05-27 Denis Chertykov <denisc@overta.ru>
3006 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
3008 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
3009 call of cselib_invalidate_regno.
3011 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
3013 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
3014 -lthread to -lpthread.
3016 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
3017 Bruce Korb <bkorb@gnu.org>
3018 Arno Klaassen <arno@heho.snv.jussieu.fr>
3020 * fixinc/inclhack.def: Add missing declaration of getpagesize()
3021 to unistd.h on Solaris 2.5.1.
3022 Fix prototype of recv() and send() in sys/socket.h on
3023 Solaris 2.5.1 and 2.6.
3024 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
3025 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
3026 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
3027 * fixinc/fixincl.x: Regenerate.
3029 2003-05-27 Jason Merrill <jason@redhat.com>
3031 * tree.c (expr_first, expr_length): New fns.
3032 * tree.h: Declare them.
3034 * tree.c (iterative_hash_expr): Hash commutative expressions
3037 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3039 * tree.h (contains_placeholder_p): Now returns bool.
3040 (CONTAINS_PLACEHOLDER_P): New macro.
3041 (type_contains_placeholder_p): New function.
3042 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
3043 (contains_placeholder_p): Now returns bool.
3044 Rework to use CONTAINS_PLACEHOLDER_P macro.
3045 (type_contains_placeholder_p): New function.
3046 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
3047 type_contains_placeholder_p.
3048 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
3049 Use CONTAINS_PLACEHOLDER_P macro.
3050 * builtins.c (fold_builtin): Likewise.
3051 * calls.c (initialize_argument_information): Likewise.
3052 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3053 * explow.c (expr_size): Likewise.
3054 * expr.c (store_constructor, get_inner_reference): Likewise.
3055 * function.c (assign_parms): Likewise.
3056 * stor-layout.c (variable_size): Likewise.
3058 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3060 * diagnostic.h (output_verbatim, verbatim): Remove printf
3063 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3065 * doc/contrib.texi (Contributors): Update Kean Johnston.
3067 2003-05-24 David Edelsohn <edelsohn@gnu.org>
3069 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
3071 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
3073 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
3074 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
3075 Replace "GNU CC" with "GCC".
3077 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
3079 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
3080 intermediate computation.
3082 2003-05-23 Eric Christopher <echristo@redhat.com>
3084 * config/mips/mips.md (clzsi, clzdi): New patterns.
3086 2003-05-23 Geoffrey Keating <geoffk@apple.com>
3088 * gcc.c (default_compilers): Use -o to specify preprocessor's output
3089 file. Make -no-integrated-cpp work when building PCH files.
3090 * objc/lang-specs.h: Likewise.
3092 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
3094 * fixinc/Makefile.in: Correct description.
3095 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
3096 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
3097 fixinc/genfixes: Replace "GNU CC" with "GCC".
3099 2003-05-23 Roger Sayle <roger@eyesopen.com>
3101 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
3102 builtin functions (and their __builtin_* variants).
3103 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
3104 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
3107 * doc/extend.texi: Document new tan and atan builtins, and
3108 their float and long double variants.
3110 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
3112 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
3113 __sparcv9 in the TARGET_ARCH64 case.
3115 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
3117 * i386.c (ix86_reorg): Calls are also jumps.
3119 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
3121 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
3122 note containing an EXPR_LIST, process all the arguments.
3124 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
3125 Andreas Jaeger <aj@suse.de>
3127 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
3128 do not use assertion.
3130 2003-05-23 Mike Stump <mrs@apple.com>
3132 * tlink.c (scan_linker_output): Add support for darwin linker, as it
3133 emits unresolved symbols one per line, consuming the entire line.
3135 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
3136 Zack Weinberg <zack@codesourcery.com>
3138 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
3139 * config/m68k/m68k.c (m68k_output_function_prologue):
3140 Remove code under #if NEED_PROBE.
3141 * config/m68k/m68k.h: Don't define NEED_PROBE.
3142 * config/m68k/m68k.md: Remove "probe" insn.
3143 * doc/md.texi: Remove documentation of "probe" pattern.
3145 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
3147 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
3149 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3151 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
3152 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
3154 2003-05-22 Roger Sayle <roger@eyesopen.com>
3156 * real.c (real_maxval): New function to return the largest finite
3157 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
3158 * real.h (real_maxval): Prototype here.
3159 * fold-const.c (fold_inf_compare): Transform comparisons against
3160 +-Infinity into comparisons against DBL_MAX (or equivalent).
3162 2003-05-22 Mike Stump <mrs@apple.com>
3164 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
3167 2003-05-22 DJ Delorie <dj@redhat.com>
3169 * calls.c (expand_call): If the arg block is going to grow
3170 downward, we need argblock to point to the top of the block,
3173 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3175 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
3177 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
3178 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
3180 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3182 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
3186 2003-05-22 Zack Weinberg <zack@codesourcery.com>
3189 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
3190 expressions to prevent triggering on recent curses.h,
3191 linux/nls.h, or X11/Xlib.h.
3192 (stdio_va_list): Add _G_va_list to bypass pattern.
3193 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
3194 * fixinc/fixincl.x: Regenerate.
3196 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
3198 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
3199 switches when --target-help option is specified.
3201 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3204 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
3205 failure with Sun assembler 5.0 Alpha 03/27/98.
3207 2003-05-21 Loren James Rittle <ljrittle@acm.org>
3209 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
3210 to match system compiler convention.
3212 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
3214 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
3215 value, not just if defined.
3216 Update copyright year.
3218 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3221 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
3222 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
3223 option is used without `-static'.
3224 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
3225 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
3227 2003-05-21 Bob Wilson <bob.wilson@acm.org>
3229 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
3230 TARGET_SERIALIZE_VOLATILE): Delete.
3231 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
3232 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
3233 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
3234 "-mno-serialize-volatile".
3235 * config/xtensa/xtensa.c (print_operand): Remove checks of
3236 TARGET_SERIALIZE_VOLATILE.
3237 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
3238 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
3239 "-mserialize-volatile" and "-mno-serialize-volatile" options.
3241 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
3243 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
3244 (nested_function): Likewise.
3245 (notype_nested_function): Likewise.
3247 2003-05-21 Nick Clifton <nickc@redhat.com>
3249 * config/stormy16/stormy-abi: Update overflow type for
3250 R_XSTORMY16_16 reloc.
3252 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
3254 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
3255 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
3256 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
3257 * print-tree.c (print_node): Remove ambient-boundedness.
3258 * tree.h (tree_common): Remove bounded_flag.
3259 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
3260 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
3261 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
3262 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
3263 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
3265 (TYPE_QUALS): Remove BOUNDED.
3266 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
3267 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
3268 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
3269 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
3270 VA_LIST_POINTER_DEPTH): Remove.
3271 (struct tree_type): Remove pointer_depth.
3273 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3275 * c-pretty-print.c (pp_c_integer_literal): Use
3276 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
3278 2003-05-20 Roger Sayle <roger@eyesopen.com>
3279 Kazu Hirata <kazu@cs.umass.edu>
3280 Joern Rennecke <joern.rennecke@superh.com>
3282 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
3283 setcc and jump, if they exist. If substituted instruction
3284 fails to validate, store current effort in a REG_EQUAL note.
3285 (cprop_insn): Don't attempt further substitutions if the
3286 current instruction has been deleted.
3287 (local_cprop_pass): Likewise.
3289 * jump.c (redirect_jump): Also update REG_EQUAL note, if
3290 one is attached to the jump instruction.
3291 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
3293 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
3296 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
3299 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3301 * genautomata.c (output_description, output_automaton_units,
3302 output_state_arcs): Add missing specifiers.
3304 2003-05-20 Bob Wilson <bob.wilson@acm.org>
3306 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
3307 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
3308 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
3309 (nsau): Rename to do_nsau. Provide alternate version for use when
3310 the NSAU instruction is available.
3311 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
3312 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
3313 * config/xtensa/xtensa-config.h: Update comments to match binutils.
3314 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
3315 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
3316 (TARGET_ABS, TARGET_ADDX): Define.
3317 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
3318 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
3319 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
3320 *subx8): Set predicate condition to TARGET_ADDX.
3321 (abssi2): Set predicate condition to TARGET_ABS.
3322 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
3323 "-maddx", and "-mno-addx" options.
3324 (Xtensa Options): Likewise. Also tag some opcode names with @code.
3326 2003-05-20 Kevin Ryde <user42@zip.com.au>
3327 Wolfgang Bangerth <bangerth@dealii.org>
3330 * doc/extend.texi: Put a warning into the documentation
3331 of attribute regparm.
3333 2003-05-20 Jason Merrill <jason@redhat.com>
3335 * tree.c (expr_last): New fn.
3336 * tree.h: Declare it.
3337 * objc/objc-act (expr_last): Rename to objc_expr_last.
3339 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
3341 * sh.c (sh_register_move_cost): Add clase for moving between
3342 FP registers and MAC registers.
3344 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
3346 * pa/milli64.S ($$mulI): Fix typo.
3348 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
3350 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
3351 (nonlocal_set_p): Remove initial blank line.
3352 * dwarf2out.c (simple_type_size_in_bits): Likewise.
3353 * et-forest.c (et_forest_create): Likewise.
3354 * explow.c (stabilize): Likewise.
3355 * fix-header.c (write_lbrac): Likewise.
3356 * graph.c (start_fct, node_data): Likewise.
3357 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
3358 * rtlanal.c (global_reg_mentioned_p): Likewise.
3359 * tree.c (bit_position): Likewise.
3361 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
3363 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
3364 -lthread to -lpthread.
3366 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
3368 * c-opts.c (c_common_decode_option): Don't accept dollars
3369 as identifier characters in assembly.
3370 * doc/cpp.texi: Document this.
3372 2003-05-19 Seth Arnold <sarnold@wirex.com>
3373 Aldy Hernandez <aldyh@redhat.com>
3375 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
3378 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
3380 * doc/tm.texi (function_arg): Fix typo.
3382 2003-05-19 Matt Austern <austern@apple.com>
3384 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
3385 * c-common.h (warn_invalid_offsetof): Declare.
3386 * c-common.c (warn_invalid_offsetof): Define.
3387 * doc/invoke.texi: Document -Winvalid-offsetof.
3388 * testsuite/g++.dg/other/offsetof3.C: New.
3389 * testsuite/g++.dg/other/offsetof4.C: New.
3391 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
3392 David Edelsohn <edelsohn@gnu.org>
3394 * config/rs6000/rs6000.c (rs6000_alignment_string,
3395 rs6000_alignment_flags): New variables.
3396 (rs6000_parse_alignment_option): New function.
3397 (rs6000_override_options): Call it.
3398 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
3399 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
3401 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
3402 natural alignment if TARGET_NATURAL_ALIGNMENT
3403 (ROUND_TYPE_ALIGN): Always use default record alignment if
3404 TAGET_NATURAL_ALIGNMENT.
3405 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
3406 (ROUND_TYPE_ALIGN): Same.
3407 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
3408 (ROUND_TYPE_ALIGN): Same.
3409 * doc/invoke.texi (Option Summary, PowerPC Options): Document
3412 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
3414 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
3415 of a function using ASMSPEC, prepend a star.
3417 2003-05-19 Jason Merrill <jason@redhat.com>
3419 * tree-inline.c (copy_body_r): Avoid generating &* during inline
3422 2003-05-19 Andrew Macleod <amacleod@redhat.com>
3424 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
3425 not mark assignments to the hard frame pointer as being stack
3427 (xstormy16_expand_epilogue): Mark adjustments to the stack
3428 pointer as being stack frame related.
3430 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
3432 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
3433 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
3434 (PREDICATE_CODES): Add hilo_operand.
3435 * config/mips/mips.c (hilo_operand): New predicate.
3436 (mips_adjust_insn_length): Account for the number nops that might
3437 be needed to avoid hardware hazards.
3438 * config/mips/mips.md (dslot): Remove attribute.
3439 (hazard): New attribute.
3440 (can_delay): Use it. Check for calls, branches & jumps.
3441 (muldi3): Use the standard dmult pattern for mips16 code.
3442 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
3444 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
3446 * config/mips/mips-protos.h (final_prescan_insn,
3447 mips_count_memory_refs, mips_fill_delay_slot): Remove.
3448 * config/mips/mips.h (delay_type, dslots_load_total,
3449 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
3450 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
3451 mips_load_reg3, mips_load_reg4): Remove.
3452 (MASK_STATS): Remove.
3453 (MASK_EXPLICIT_RELOCS): Reuse its value.
3454 (TARGET_STATS): Remove.
3455 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
3456 Warn that -mstats is now ignored.
3457 (FINAL_PRESCAN_INSN): Undefine.
3458 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
3459 (ASM_OUTPUT_REG_POP): Likewise.
3460 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
3461 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
3462 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,