arm.c (bad_signed_byte_operand): Check both arms of a sum in a memory address.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Sat Sep 19 07:33:36 1998  Richard Earnshaw (rearnsha@arm.com)
2
3         * arm.c (add_constant): New parameter address_only, change caller.
4         Set it non-zero if taking the address of an item in the pool.
5         (arm_reorg): Handle cases where we need the address of an item in
6         the pool.
7
8         * arm.c (bad_signed_byte_operand): Check both arms of a sum in
9         a memory address.
10         * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
11         memory addresses that are not in standard canonical form.
12
13 Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
14
15         * README.C4X: New file with information about the c4x ports.
16         * ginclude/va-c4x.h: New file for c4x varargs support.
17         * config/c4x: New directory with c4x port files.
18
19 Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
20
21         * reload.c (find_reloads): Do not replace a pseudo with 
22         (MEM (reg_equiv_addr)) in the initializing insn for the
23         pseudo.
24
25 Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@mhpcc.edu>
26
27         * toplev.c (rest_of_compilation): Set bct_p on second call to
28         loop_optimize.
29         * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
30         bct_p.
31         (strength_reduce): Only call analyze_loop_iterations and
32         insert_bct if bct_p set.
33         (check_dbra_loop): Fix typo.
34         (insert_bct): Use word_mode instead of SImode.
35         (instrument_loop_bct): Likewise.  Do not delete iteration count
36         condition code generation insn.  Initialize iteration count before
37         loop start.
38         * rtl.h (loop_optimize): Update prototype.
39
40         * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
41         not doubleword aligned.
42
43         * rs6000.c (optimization_options): New function.
44         (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
45         * rs6000.h (OPTIMIZATION_OPTIONS): Define.
46         (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
47         first; cr1 can be used for FP record condition insns.
48
49 Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
50
51         * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
52         PREDICATE_CODES.
53
54         * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
55         patterns.
56
57         * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
58         operators.
59         (block_move_call): New function: Call a library routine to copy a
60         block of memory.
61         (m32r_expand_block_move): New function: Expand a "movstrsi"
62         pattern into a sequence of insns.
63         (m32r_output_block_move): New function: Expand a
64         "movstrsi_internal" pattern into a sequence of assembler opcodes.
65         (m32r_block_immediate_operand): New function: Return true if the
66         RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
67         
68 Thu Sep 17 16:42:16 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
69
70         * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
71         re-align some code.
72         * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
73
74 Thu Sep 17 12:24:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
75
76         * regmove.c (copy_src_to_dest): Check that modes match.
77
78 Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
79
80         * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
81
82 Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
83
84         * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
85         narrower than FLOAT_REGS.
86
87 Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
88
89         * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
90         * cccp.c: ditto
91         * Makefile.in (old_gxx_include_dir): removed
92
93 Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
94
95         * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
96         new specification.
97
98         * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
99         (sh_handle_pragma): Change function arguments to match new
100         specification for HANDLE_PRAGMA. 
101
102 Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
103
104         * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
105         `unsigned char'.
106         (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
107         When generating output, initialize missing struct member to zero.
108
109 Wed Sep 16 14:47:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
110
111         * regmove.c (copy_src_to_dest): Don't copy if that requires
112         (a) new register(s).
113
114 Wed Sep 16 01:29:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
115
116         * global.c (reg_allocno): Now static.
117         * reload1.c (reg_allocno): Delete declaration.
118         (order_regs_for_reload): Take no arguments.  Don't treat regs
119         allocated by global differently than those allocated by local-alloc.
120
121 Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
122
123         * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
124         condition, fix format strings.
125         (output_function_epilogue): Likewise.
126
127         * m68k/m68k.c: Don't include <stdlib.h> directly.
128
129 Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
130
131         * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
132         mem_first_set, mem_last_set; because 0 can be a CUID.
133         (oprs_unchanged_p): Use new definition.
134         (record_last_reg_set_info): Likewise.
135         (record_last_mem_set_info): Likewise.
136         (compute_hash_table): Likewise.
137
138 Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
139
140         * rs6000.c (output_epilogue): Handle Chill.
141
142         * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
143         * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
144
145         * combine.c (make_extraction): If no mode is specified for
146         an operand of insv, extv, or extzv, default it to word_mode.
147         (simplify_comparison): Similarly.
148         * expmed.c (store_bit_field): Similarly.
149         (extract_bit_field): Similarly.
150         * function.c (fixup_var_regs_1): Similarly.
151         * recog.c (validate_replace_rtx_1): Similarly.
152         * mips.md (extv, extzv, insv expanders): Default modes for most
153         operands.  Handle TARGET_64BIT.
154         (movdi_uld, movdi_usd): New patterns.
155
156         * pa.c (emit_move_sequence): Do not replace a pseudo with its
157         equivalent memory location unless we have been provided a scratch
158         register.  Similarly do not call find_replacement unless a
159         scratch register has been provided.
160
161 Tue Sep 15 19:23:01 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
162
163         * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
164         return FLOAT_REGS.
165
166 Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
167
168         * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
169         (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
170         (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
171         (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
172         * c-decl.c (init_decl_processing): Update accordingly.
173         * expr.c (expand_builtin): Likewise.
174
175         * rtl.h (global_rtl): Add cfa entry.
176         (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
177         (LAST_VIRTUAL_REGISTER): Update.
178         * emit-rtl.c (global_rtl): Add cfa entry.
179         (init_emit): Initialize it.
180         * function.c (cfa_offset): New.
181         (instantiate_virtual_regs): Initialize it.
182         (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
183         (expand_function_end): Call expand_eh_return.
184         * tm.texi (ARG_POINTER_CFA_OFFSET): New.
185
186         * except.c (current_function_eh_stub_label): Kill.
187         (current_function_eh_old_stub_label): Likwise; update all references.
188         (expand_builtin_set_return_addr_reg): Kill.
189         (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
190         (expand_builtin_set_eh_regs): Kill.
191         (eh_regs): Produce a third reg for the actual handler address.
192         (eh_return_context, eh_return_stack_adjust): New.
193         (eh_return_handler, eh_return_stub_label): New.
194         (init_eh_for_function): Initialize them.
195         (expand_builtin_eh_return, expand_eh_return): New.
196         * except.h: Update prototypes.
197         * flow.c (find_basic_blocks_1): Update references to the stub label.
198         * function.h (struct function): Kill stub label elements.
199
200         * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
201         register number is one that would be in the previous window.
202         Provide a dummy definition for non-windowed targets.
203         (get_reg_addr): New function.
204         (get_reg, put_reg, copy_reg): Use it.
205         (__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
206         generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
207
208         * alpha.c (alpha_eh_epilogue_sp_ofs): New.
209         (alpha_init_expanders): Initialize it.
210         (alpha_expand_epilogue): Use it.
211         * alpha.h: Declare it.
212         * alpha.md (eh_epilogue): New.
213
214         * m68h.h (ARG_POINTER_CFA_OFFSET): New.
215         * sparc.h (ARG_POINTER_CFA_OFFSET): New.
216
217 Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
218
219         * i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
220         flag bit mask.
221
222 Tue Sep 15 14:10:54 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
223
224         * except.h (struct eh_entry): Add false_label field.
225         (end_catch_handler): Add prototype.
226         * except.c (push_eh_entry): Set false_label field to NULL_RTX.
227         (start_catch_handler): When using old style exceptions, issue
228         runtime typematch code before continuing with the handler.
229         (end_catch_handler): New function, generates label after handler
230         if needed by older style exceptions.
231         (expand_start_all_catch): No need to check for new style exceptions.
232         (output_exception_table_entry): Only output the first handler label
233         for old style exceptions.
234         * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
235         mechanism into one function, if a runtime matcher is provided.
236
237 Tue Sep 15 13:53:59 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
238
239         * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
240
241 Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
242
243         * integrate.c (copy_decl_list): Fix typo.
244
245 Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
246
247         * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
248         attribute.
249
250 Mon Sep 14 14:02:53 PDT 1998 Jeff Law  (law@cygnus.com)
251
252         * version.c: Bump for snapshot.
253
254 Mon Sep 14 10:33:56 PDT 1998 Jeff Law  (law@cygnus.com)
255
256         * version.c: Bump for snapshot.
257
258 Mon Sep 14 09:51:05 PDT 1998 Jeff Law  (law@cygnus.com)
259
260         * version.c: Bump for snapshot.
261
262 Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
263
264         * invoke.texi (C Dialect Options): Put back missing @end itemize.
265
266 Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
267
268         * configure.in: remove usage of `!' to negate the result of a
269         command; some common shells do not support it
270
271 Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
272
273         * configure.in: in sparc9-sol2 config, use 'if test' not
274         brackets.
275         * configure: Rebuilt.
276
277         * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
278         CM_MEDANY.
279         (CPP_CPU_SPEC): Do not define _LP64, header files do this.
280         (CPP_CPU_DEFAULT_SPEC): Likewise.
281         * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
282         for arch64 libfuncs.
283         
284         * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
285         for operand zero.
286
287 Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
288
289         * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
290
291         * collect2.c: Don't declare `sys_siglist' here.
292         (my_strsignal): Prototype and define new function.  Use it in
293         place of `sys_siglist' hacks.
294
295         * mips_tfile.c:  Likewise.
296
297         * configure.in (AC_CHECK_FUNCS): Check for strsignal.
298         (GCC_NEED_DECLARATIONS): Likewise.
299
300         * system.h (strsignal): Prototype it, if necessary.
301         (sys_siglist): Declare it, if necessary.
302
303 Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
304
305         * loop.c (move_movables): While removing insn sequences, preserve
306         the next pointer of the most recently deleted insn when we skip
307         over a NOTE.
308
309 Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
310
311         * objc/config-lang.in: Do not output the name of the selected
312         thread file when building the front-end.  The Makefile for the
313         runtime library will do this.
314
315         * objc/Make-lang.in: Do not build the runtime library or install
316         the Objective C header files.  The Makefile for the runtime
317         library will do this.
318
319         * objc/Makefile.in (all.indirect): Only build the front-end.
320         (compiler): Rename to `frontend'.
321         (obj-runtime): Remove target.
322         (copy-headers): Likewise.
323         (clean): No need to remove `libobjc.a' any longer.
324
325 Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
326
327         * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
328         supported with -mcpu=xxx.
329
330 Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
331
332         * flow.c (mark_set_1): Recognize multi-register structure return
333         values in CALL insns.
334         (mark_used_regs): Likewise.
335         (count_reg_sets_1): Likewise.
336         (count_reg_references): Likewise.
337         * rtlanal.c (note_stores): Likewise.
338         (reg_overlap_mentioned_p): Likewise.
339         * haifa-sched.c (check_live_1): Likewise.
340         (update_live_1): Likewise.
341         (sched_analyze_1): Likewise.
342         (sched_note_set): Likewise.
343         (birthing_insn_p): Likewise.
344         (attach_deaths): Likewise.
345
346         * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
347
348
349 Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
350
351         * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
352
353 Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
354
355         * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
356
357 Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
358
359         * configure.in: Add check for GAS subsection -1 support.
360         * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
361         * configure config.in: Rebuilt.
362         * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
363         SImode is subsection -1 works, else use DImode.
364         (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
365         subsection -1 works.
366         * config/sparc/sparc.c (sparc_output_addr_vec,
367         sparc_output_addr_diff_vec): Use them if defined.
368
369 Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
370
371         * tree.h (DECL_ORIGIN): New macro.
372         * integrate.c (copy_and_set_decl_abstract_origin): New function.
373         (copy_decl_list): Use it.
374         (integrate_parm_decls): Likewise.
375         (integrate_decl_tree): Likewise.
376         * dwarf2out.c (decl_ultimate_origin): Simplify.
377         * dwarfout.c (decl_ultimate_origin): Likewise.
378         * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
379         (pushdecl): Likewise.
380
381 Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
382
383         * config/rs6000/rs6000.c (output_epilog): Add Java support.
384
385 Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>
386
387         * invoke.texi (C++ Dialect Options): Document -fhonor-std.
388
389 Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
390
391         * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
392         empty or has a single entry.
393
394         * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
395         before calling reg_to_stack.
396
397 Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
398
399         * alpha.c (alphaev5_insn_pipe): Abort on default case.
400         (alphaev5_next_group): Swallow CLOBBERs and USEs.
401
402         * c-tree.h (warn_long_long): Declare it.
403
404 Wed Sep  9 23:31:36 1998  (Stephen L Moshier) <moshier@world.std.com>
405
406         * emit-rtl.c (gen_lowpart_common): Disable optimization of
407         initialized float-int union if the value is a NaN.
408
409 Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
410
411         * c-lex.c (real_yylex): Don't warn about long long constants if 
412         we're allowing long long
413
414 Wed Sep  9 21:58:41 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
415
416         * except.h (current_function_eh_stub_label): Declare.
417         (current_function_eh_old_stub_label): Declare.
418         * function.h (struct function): New members eh_stub_label and
419         eh_old_stub_label.
420         * except.c (current_function_eh_stub_label): New variable.
421         (current_function_eh_old_stub_label): New variable.
422         (init_eh_for_function): Clear them.
423         (save_eh_status): Save them.
424         (restore_eh_status): Restore them.
425         (expand_builtin_eh_stub): Set current_function_eh_stub_label.
426         (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
427         * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
428         make an edge from the block that contains it to the block starting
429         with the label if this label is one of the eh stub labels.
430         If eh stub labels exist, show they are reachable from the last block
431         in the function.
432
433         * reload1.c (reload): Break out several subroutines and make some
434         variables global.
435         (calculate_needs_all_insns): New function, broken out of reload.
436         (calculate_needs): Likewise.
437         (find_reload_regs): Likewise.
438         (find_group): Likewise.
439         (find_tworeg_group): Likewise.
440         (something_needs_reloads): New global variable, formerly in reload.
441         (something_needs_elimination): Likewise.
442         (caller_save_spill_class): Likewise.
443         (caller_save_group_size): Likewise.
444         (max_needs): Likewise.
445         (group_size): Likewise.
446         (max_groups): Likewise.
447         (max_nongroups): Likewise.
448         (group_mode): Likewise.
449         (max_needs_insn): Likewise.
450         (max_groups_insn): Likewise.
451         (max_nongroups_insn): Likewise.
452         (failure): Likewise.
453
454         * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
455
456 Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
457
458         * loop.c (load_mems): Copy rtx for output mem.
459
460 Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
461
462         * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
463         mips1 or mips2 either.
464
465 Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
466
467         * pa.c (pa_reorg): New marking scheme for jumps inside switch
468         tables.
469         (pa_adjust_insn_length): Update to work with new marking scheme
470         for jumps inside switch tables. 
471         * pa.md (switch_jump): Remove pattern.
472         (jump): Handle jumps inside jump tables.
473
474         * Makefile.in (profile.o): Depend on insn-config.h
475
476 Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
477
478         * iris6.h (DWARF2_UNWIND_INFO): Undef.
479
480 Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
481
482         Add preliminary native sparcv9 Solaris support.
483         * configure.in: Recognize sparv9-*-solaris2*
484         * configure: rebuilt
485         * config.sub: Recognize sparcv9 just like sparc64.
486         * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
487         config/sparc/sol2-cn.asm: Macroize so it can be shared between
488         32-bit and 64-bit Solaris systems.
489         * config/sparc/t-sol2: Assemble those with cpp.
490         * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
491         (*TF*_LIBCALL): If ARCH64 use V9 names.
492         * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
493
494 Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
495
496         * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
497         (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
498         not doing pic.
499         (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
500         Pmode.
501         * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
502         to Pmode if CASE_VECTOR_MODE is something else.
503
504 Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
505
506         * prefix.c (update_path): Correctly handle cases where PATH is
507         a substring of the builtin prefix, but specifies a different
508         directory location.
509
510 Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
511
512         * expr.c: Corrected comment about what MOVE_RATIO does.
513         * config/alpha/alpha.h: Ditto.
514         * config/1750a/1750a.h: Ditto.
515         * config/clipper/clipper.h: Ditto.
516         * config/i386/i386.h: Ditto.
517
518 Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
519
520         * configure.in (m68k-next-nextstep3*): Use collect2.
521         Similarly for x86 NeXT configurations.
522         * configure: Rebuilt.
523
524 Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
525
526         * configure.in: Don't assume srcdir is .../gcc
527         * configure: Rebuilt.
528
529 Sat Sep  5 16:34:34 EDT 1998  John Wehle  (john@feith.com)
530
531         * global.c: Update comments.
532         (global_alloc): Assign allocation-numbers
533         even for registers allocated by local_alloc in case
534         they are later spilled and retry_global_alloc is called.
535         (mark_reg_store, mark_reg_clobber,
536         mark_reg_conflicts, mark_reg_death): Always record a
537         conflict with a pseudo register even if it has been
538         assigned to a hard register.
539         (dump_conflicts): Don't list pseudo registers already assigned to
540         a hard register as needing to be allocated, but do list their
541         conflicts.
542         * local-alloc.c: Update comment.
543
544 Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
545
546         * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
547         * configure: Rebuilt.
548
549 Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
550
551         * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
552         missing 'c'.
553         * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
554         for all targets that set -msoft-float.
555
556 Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
557
558         * toplev.c (print_switch_values): Make static to match prototype.
559
560 Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
561
562         * configure.in: If we are unable to find the "gnatbind" program,
563         then do not configure the ada subdir.
564         * configure: Rebuilt.
565
566 Sun Sep 6 14:03:58 PDT 1998 Jeff Law  (law@cygnus.com)
567
568         * version.c: Bump for snapshot.
569
570 Sun Sep 6 13:28:07 PDT 1998 Jeff Law  (law@cygnus.com)
571
572         * version.c: Bump for snapshot.
573
574 Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
575
576         * Makefile.in (toplev.o): Depend on $(EXPR_H).
577         (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
578
579         * gansidecl.h: Define ATTRIBUTE_NORETURN.
580
581         * genattrtab.c: Have insn-attrtab.c include toplev.h.
582
583         * genextract.c: Have insn-extract.c include toplev.h.
584
585         * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
586
587         * toplev.c: Include expr.h.
588         (really_sorry, fancy_abort): Remove prototypes.
589         (set_target_switch): Add argument in prototype.
590         (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
591         (v_really_sorry): Likewise.
592         (print_version, print_single_switch, print_switch_values): Make
593         static and add prototype arguments.
594         (decl_printable_name): Add prototype arguments.
595         (lang_expand_expr_t): New typedef.
596         (lang_expand_expr): Declare as a lang_expand_expr_t.
597         (incomplete_decl_finalize_hook): Add prototype argument.
598         (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
599         (botch): Likewise for variable `s'.
600         (rest_of_type_compilation): Mark variables `type' and `toplev'
601         with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
602         XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
603         (display_help): Make variable `i' an `unsigned long'.
604         (main): Remove unused parameter `envp'.
605         Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
606         Cast -1 when comparing it with a `size_t'.
607
608         * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
609         prototype with ATTRIBUTE_NORETURN.
610         (fatal_insn_not_found, fatal_insn, really_sorry,
611         push_float_handler, pop_float_handler): Add prototypes.
612         (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
613         (do_abort, botch): Add prototypes.
614         
615 Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
616
617         * final.c (final): If a label is reached only from a single jump,
618         call NOTICE_UPDATE_CC on the jump and its predecessor before
619         emitting the insn after the label.
620         
621         * i386.h: Add AMD K6 support.
622         Change TARGET_* macros to use table lookup.
623         (INITIALIZE_TRAMPOLINE): Improve trampoline code.
624         (ADJUST_COST): Change definition to call function in i386.c.
625         (ISSUE_RATE): Define as 2 for anything newer than an 80486.
626         * i386.c: Add AMD K6 support.
627         Add constants for feature tests used by TARGET_* macros.
628         (split_di): If before reload, call gen_lowpart and gen_highpart.
629         (x86_adjust_cost): New function.
630         (put_jump_code): New function.
631         (print_operand): New codes 'D' and 'd'.
632         * i386.md: New insn types.  New insn attribute "memory".
633         Redefine scheduling parameters to use new types and add AMD K6
634         support.  Explicitly set type of most insns.
635         (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
636         Pro and K6 prefer movl $1,reg to incl reg.
637         (adddi3, subdi3): Set cc_status.
638         (DImode shift patterns): Change label counters from HOST_WIDE_INT
639         to int; x86 can't have more than 2^31 DImode shifts per file.
640         (setcc): Combine all setcc patterns.  Allow writing memory.
641         Combine all jump patterns using match_operator.
642         (*bzero): Name pattern.  Emit mutliple stos instructions when that
643         is faster than rep stos.
644         (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
645         add define_split.
646
647 Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
648
649         * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
650         linking.
651
652 Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
653
654         * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
655         not whatever we're generating now.
656
657         * alpha.c (set_frame_related_p, FRP): New.
658         (alpha_expand_prologue): Mark frame related insns.
659         (alpha_expand_epilogue): Likewise, but with a null FRP.
660         * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
661         * alpha.md (exception_receiver): New.
662         * alpha/crtbegin.asm (.eh_frame): New beginning.
663         (__do_frame_setup, __do_frame_takedown): New.
664         * alpha/crtend.asm (.eh_frame): New ending.
665         * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
666         (ASM_SPEC): Don't emit both dwarf2 and mdebug.
667         (ASM_FILE_START): Don't emit .file for dwarf2.
668
669         * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
670         * rtl.c (reg_note_name): Likewise.
671         * rtl.texi (REG_NOTES): Likewise.
672         * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
673         without an offset.
674
675 Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
676
677         * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
678         * i386.md (movsf, movdf, movxf): Validate memory address returned
679         from force_const_mem.  Kill useless REG_EQUAL setting code.
680
681 Sat Sep  5 14:23:31 1998  Torbjorn Granlund <tege@matematik.su.se>
682
683         * m68k.md (zero_extendsidi2): Fix typo.
684
685 Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
686
687         * configure.in: Removed references to the removed file
688         * config/xm-netbsd.h. Use ${cpu_type}/xm-netbsd.h for
689         * arm*-*-netbsd* and ns32k-*-netbsd*.
690         * config/i386/xm-netbsd.h: Removed unnecessary file.
691         * config/m68k/xm-netbsd.h: Likewise.
692         * config/sparc/xm-netbsd.h: Likewise.
693         * config/mips/xm-netbsd.h: Likewise.
694
695 Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
696
697         * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
698         (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
699
700         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
701         for exact section attributions.
702
703         * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
704         runtime.
705         * i386/crtdll.h (CPP_PREDEFINES): Define.
706
707 Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
708
709         * m68k.md (5200 movqi): Do not allow byte sized memory references
710         using address regs.
711         * m68k.c (output_move_qimode): Do not use byte sized operations on
712         address registers.
713
714         * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
715         explicit rules for building.  Similarly for alloca, vfprintf,
716         choose-temp and mkstemp, getopt, getopt1, and obstack.
717         (INCLUDES): Add $(srcdir)/../include.
718         * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
719         * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
720
721 Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
722
723         * gcc.c (do_spec_1): [case 'o'] Account for
724         lang_specific_extra_outfiles.
725         (main): Correctly clear all slots in outfiles for
726         lang_specific_extra_outfiles.  Set input_file_number before
727         calling lang_specific_pre_link.
728
729 Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
730
731         * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
732
733 Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
734
735         * config/sparc/sparc.c (output_double_int): In all V9 symbolic
736         cases, use xword.
737         (sparc_output_deferred_case_vectors): If no work to do, return.
738         Fix thinko in Sept 1 change.
739
740 1998-09-03  SL Baur  <steve@altair.xemacs.org>
741
742         * Makefile.in: add semicolon in BISON definition for portability.
743
744 Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
745
746         * config/nextstep.c (handle_pragma): Correct name of third
747         argument.
748
749 Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
750
751         * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
752         * config/m32r/m32r.h: Make register 17 be fixed.
753         * config/m32r/m32r.c: Use SImode for cc operations.
754
755 Thu Sep  3 18:17:34 1998 Benjamin Kosnik  <bkoz@cygnus.com>
756
757         * invoke.texi (Warning Options): Add -Wnon-template-friend
758         documentation.
759
760 Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
761
762         * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
763
764 Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@mhpcc.edu>
765
766         * rs6000.md (movsf): Disable explicit secondary-reload-like
767         functionality if TARGET_POWERPC64.
768         (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
769         functionality.
770
771 Thu Sep  3 11:41:40 1998  Robert Lipe   <robertl@dgii.com>
772
773         * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
774         and term.h from fixinc.wrap.
775
776 Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
777
778         * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
779         safe to include both string.h and strings.h together.
780         (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
781         which headers to search for function declarations.  Continue to
782         prefer string.h over strings.h when both are not acceptable.
783
784         * acconfig.h (STRING_WITH_STRINGS): Add stub.
785
786         * configure.in: Call GCC_HEADER_STRING.
787
788         * system.h: Test STRING_WITH_STRINGS when deciding which headers
789         to include.  Continue to prefer string.h over strings.h when both
790         are not acceptable.
791
792 Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
793
794         * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
795         not assume top 32-bits of symbolic addresses are zero if
796         flag_pic.
797
798 Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
799
800         * ginclude/va-alpha.h: Protect entire second portion of the
801         file against double inclusion.
802
803 Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
804
805         Added support for the Boehm's garbage collector.
806         * configure.in: Handle --enable-objc-gc.
807         * configure: Rebuilt.
808         * Makefile.in (CHECK_TARGETS): Add check-objc.
809         (check-objc): New rule.
810         * objc/Make-lang.in: Build a different Objective-C library that
811         runs with the Boehm's collector.
812         * objc/encoding.c (objc_round_acc_size_for_types): New function.
813         * objc/encoding.c: Correctly compute the size of compound types in
814         the presence of bitfields. Skip the variable name of the type if
815         any. Added support for long long.
816         * objc/encoding.h (_C_GCINVISIBLE): New specifier.
817         (_F_GCINVISIBLE): New mask.
818         * objc/gc.c: New file. Compute the type memory mask associated with
819         a class based on the runtime information.
820         * objc/misc.c: Added the hooks that use the Boehm's collector
821         allocation functions.
822         * objc/objc-act.c (build_class_template): Generate a new class
823         member (gc_object_type) to hold the class' type memory mask.
824         (build_shared_structure_initializer): Initialize the new member to
825         NULL.
826         (encode_complete_bitfield): New function. Generate the new
827         encoding.
828         (encode_field_decl): Generate the new encoding only for the GNU
829         runtime.
830         * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
831         long long types.
832         (class_get_gc_object_type): New function to mark a pointer instance
833         variable as a weak pointer.
834         * objc/objc-features.texi: New file.
835         * objc/objc.h (gc_object_type): New class member.
836         * objc/objects.c (class_create_instance): Create a typed memory
837         object when compiled with Boehm's collector support.
838         * objc/sendmsg.c (__objc_init_install_dtable): Call
839         __objc_send_initialize instead of setting the initialize flag.
840         (__objc_send_initialize): Call __objc_generate_gc_type_description
841         to generate the class type memory mask. Rewrite the code that
842         sends the +initialize so that it is called only once (bug report
843         and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
844         * testsuite/objc: New testsuite for Objective-C type encoding.
845         * testsuite/lib/objc-torture.exp: New file.
846         * testsuite/lib/objc.exp: New file.
847
848 Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
849
850         * jump.c (jump_optimize): In if/then/else transformations, add
851         another call to modified_between_p for the jump insn.
852
853 Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
854
855         * fix-header.c (symlink): Treat like readlink.
856
857 Wed Sep  2 19:30:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
858
859         * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
860         as FT_float.
861
862 Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
863
864         * config/nextstep.h:    Update HANDLE_PRAGMA macro.
865         * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
866         * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
867         
868         * config/nextstep.c (handle_pragma): Take three arguments, as per
869         the new HANDLE_PRAGMA macro specification.
870         * config/h8300/h8300.c (handle_pragma): Take three arguments, as
871         per the new HANDLE_PRAGMA macro specification.
872         * config/i960/i960.c (process_pragma): Take three arguments, as
873         per the new HANDLE_PRAGMA macro specification.
874
875 Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
876
877         * c-lex.c (check_newline):  Call HANDLE_PRAGMA before
878         HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
879         if unknown pragmas are encountered.
880         (handle_sysv_pragma): Interpret return code from
881         handle_pragma_token ().  Return success/failure indication rather
882         than next unprocessed character. 
883         (pragma_getc): New function: retrieves characters from the
884         input stream.  Defined when HANDLE_PRAGMA is enabled.
885         (pragma_ungetc): New function: replaces characters back into the
886         input stream.  Defined when HANDLE_PRAGMA is enabled.
887         
888         * c-pragma.c (handle_pragma_token): Return success/failure status
889         of the parse.
890         
891         * c-pragma.h: Change prototype of handle_pragma_token().
892
893         * varasm.c: (handle_pragma_weak): Only create this function if
894         HANDLE_PRAGMA_WEAK is defined.
895
896         * c-common,c (decl_attributes): If defined call the expression
897         contained within the INSERT_ATTRIBUTES macro before adding
898         attributes to a decl.
899
900         * tm.texi (HANDLE_PRAGMA): Document the new verion of
901         HANDLE_PRAGMA, which takes three arguments.
902         (INSERT_ATTRIBUTES): Document this new macro.  
903
904         * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
905         new INSERT_ATTRIBUTES macro.
906
907 Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
908
909         * config/sparc/sparc.md (movdf): Only generate special RTL for
910         LABEL_REFs when PIC.
911         (move_label_di): Remove
912         (movdi_pic_label_ref, movdi_high_pic_label_ref,
913         movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
914         references when PIC.
915         * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
916         ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
917         output an .xword for all 64-bit cases.
918         
919 Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
920
921         * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
922         alignment, use FUNCTION_BOUNDARY instead.
923         (sparc_output_deferred_case_vectors): Likewise.
924
925 Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
926
927         * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
928         (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
929
930 Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
931
932         * alpha/va_list.h: New file.
933         * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
934
935 Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
936
937         * NEWS: Add SCO Openserver and Unixware 7 notes.
938
939         * NEWS: Fix typos.
940
941 Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
942
943         * varasm.c (compare_constant_1): Handle RANGE_EXPR.
944         (record_constant_1): Handle RANGE_EXPR.
945
946 Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
947
948         * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
949         * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
950         and NOTE_INSN_RANGE_END specially.
951         (reemit_notes): Likewise.
952
953 Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
954
955         * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
956         (ultrasparc_sched_init): Remove unneeded &.
957
958 Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
959
960         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
961         for m68020-60, to prevent the use of fintrz.
962
963 Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
964
965         * configure.in: If the native compiler is GCC use $(WARN_CFLAGS) 
966         even in stage1. 
967         * Makefile.in: Likewise.
968         * configure: Regenerated.
969
970 Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
971
972         * configure.in (gxx_include_dir): Changed to
973         '${prefix}/include/g++'-${libstdcxx_interface}.
974         * configure: Rebuilt.
975
976 Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
977
978         * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
979         consistent.
980         * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
981         *sequences* *below* which scalar moves will be used.
982
983 Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
984
985         * collect2.c (mktemp): Delete unused declaration.
986
987         * config/xm-netbsd.h: Remove unnecessary file.
988         * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
989         file anymore, it is not needed.
990
991 Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
992
993         * convert.c (convert_to_integer): Issue an error on conversions to
994         incomplete types.
995
996 Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
997
998         * Makefile.in: Add lang_tree_files and gencheck.h.
999         * configure.in: Generate them.
1000         * gencheck.c: Include gencheck.h.
1001
1002 Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1003
1004         * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
1005         movdi_lo_sum_pic and movdi_high_pic and make visible.
1006         * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
1007         emit these when Pmode is not SImode.
1008         * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
1009
1010 Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1011
1012         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
1013         .linkonce directive after the first time.
1014
1015 Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
1016
1017         * m68k.md (beq0_di): Generate correct (and more efficient) code when
1018         the clobbered operand overlaps with an input.
1019         (bne0_di): Similarly.
1020
1021         * Makefile.in (INSTALL): Remove "--no-header" argument.
1022
1023         * NEWS: Various updates.
1024
1025 Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1026
1027         * config/sparc/sparc.c (arith_operand, const64_operand,
1028         const64_high_operand, arith_double_4096_operand): Mark mode as
1029         unused.
1030         (create_simple_focus_bits): Remove unused arg highest_bit_set, all
1031         callers changed.
1032         (sparc_emit_set_const64): Remove unused variable i.
1033         (sparc_splitdi_legitimate): Likewise for addr_part.
1034         (ultra_code_from_mask): Likewise for mask.
1035         (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
1036         reverse return values so it matches usage and comments.
1037         (ultra_flush_pipeline): Likewise.
1038         (ultra_fpmode_conflict_exists): Likewise, remove unused variable
1039         this_type, and allow loads and stores of differing FP modes as
1040         they do not create a conflict.
1041         (ultra_find_type): Initialize fpmode to SFmode, fix
1042         parenthesization thinkos in large conditional.
1043         (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
1044         Init free_slot_mask after ultra_cur_hist is reset, not before.
1045         (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
1046         (ultrasparc_sched_reorder): Don't bzero current pipeline state,
1047         use ultra_flush_pipeline instead, then re-init group pointer.
1048         Fix statement with no effect.  If no progress made in, and no
1049         instructions scheduled at all, advance to new pipeline cycle else
1050         we get into an endless loop.
1051         (ultrasparc_adjust_cost): Remove previous arg.
1052         * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
1053         
1054 Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
1055
1056         * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
1057         code.  Use reg_overlap_mentioned_p to detect when source and
1058         destination overlap.
1059         (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
1060
1061 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
1062
1063         * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
1064         COMPARISON_VAL, into invariant_p.
1065
1066 Fri Aug 28 15:13:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1067
1068         * regmove.c (regclass_compatible_p): New function.
1069         (regmove_optimize): Use it.
1070
1071         Use NREGS parameter insted of calling max_reg_num.
1072
1073         (fixup_match_1): Don't use code = MINUS when later tieing with
1074         a hard register is likely.
1075
1076 Fri Aug 28 14:54:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1077
1078         * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
1079         COMPARISON_VAL was normalized.
1080
1081 Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
1082
1083         * loop.c (check_dbra_loop): The loop ending comparison value
1084         must be an invariant or we can not reverse the loop.
1085
1086         * loop.c (scan_loop): Count down from max_reg_num - 1 to
1087         FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
1088         of the loop.
1089         (load_mems_and_recount_loop_regs_set): Likewise.
1090
1091         * i386.c (print_operand): Remove obsolete 'c' docs.
1092
1093 Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
1094
1095         * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
1096         * frame.c (init_object_mutex): New function.
1097         (init_object_mutex_once): Likewise.
1098         (find_fde): Call it.
1099         (__register_frame_info): Likewise.
1100         (__register_frame_info_table): Likewise.
1101         (__deregister_frame_info): Likewise.
1102
1103 Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
1104
1105         * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
1106
1107 Thu Aug 27 16:34:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1108
1109         * loop.c (check_dbra_loop): Enable code for reversal
1110         of some loops without a known constant loop end.
1111
1112 Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
1113
1114         * haifa-sched.c (last_clock_var): New.
1115         (schedule_block): Initialize it.
1116         (schedule_insn): Use it to fill insn modes with issue information.
1117
1118         * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
1119         Tag trapb and next insn with TImode.
1120         (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
1121         (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
1122         Invoke alphaev5_align_insns as appropriate.
1123         * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
1124         (MD_SCHED_VARIABLE_ISSUE): New.
1125         * alpha.md (attr type): Add multi.
1126         (define_asm_attributes): New.
1127         (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
1128         (arg_home): Likewise.
1129         (fnop, unop, realign): New.
1130
1131 Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
1132
1133         * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
1134         * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
1135
1136         * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
1137         (rs6000-ibm-aix4.[12]*): Likewise.
1138         * configure: Regnerate.
1139
1140 Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
1141
1142         * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
1143         already contains the return address.
1144
1145 Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
1146
1147         * calls.c (expand_call): Use bitfield instructions to extract/deposit
1148         word sized hunks when loading unaligned args into registers.
1149
1150         * haifa-sched.c (sched_analyze_insn): Only create scheduling
1151         barriers for LOOP, EH and SETJMP notes on the loop_notes list.
1152
1153         * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
1154
1155 Wed Aug 26 16:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1156
1157         * loop.c (check_dbra_loop): Add some code that would allow reversal
1158         of some loops without a known constant loop end if it were enabled.
1159
1160 Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
1161
1162         * mips.md (lshrsi3_internal2+2): Fix type-o.
1163
1164 Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1165
1166         * system.h: Include stdarg.h/varargs.h, make sure they are ordered
1167         correctly with regards to stdio.h.
1168         
1169         * calls.c: Remove stdarg.h/varargs.h.
1170         * cccp.c: Likewise.
1171         * cexp.y: Likewise.
1172         * combine.c: Likewise.
1173         * cpperror.c: Likewise.
1174         * cpplib.c: Likewise.
1175         * cpplib.h: Likewise.
1176         * doprint.c: Likewise.
1177         * emit-rtl.c: Likewise.
1178         * final.c: Likewise.
1179         * fix-header.c: Likewise.
1180         * gcc.c: Likewise.
1181         * genattr.c: Likewise.
1182         * genattrtab.c: Likewise.
1183         * gencodes.c: Likewise.
1184         * genconfig.c: Likewise.
1185         * genemit.c: Likewise.
1186         * genextract.c: Likewise.
1187         * genflags.c: Likewise.
1188         * genopinit.c: Likewise.
1189         * genoutput.c: Likewise.
1190         * genpeep.c: Likewise.
1191         * genrecog.c: Likewise.
1192         * mips-tfile.c: Likewise.
1193         * prefix.c: Likewise.
1194         * protoize.c: Likewise.
1195         * regmove.c: Likewise.
1196         * toplev.c: Likewise.
1197         * tree.c: Likewise.
1198
1199 Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
1200
1201         * config/sparc/sparc.c (sparc_override_options): If not
1202         TARGET_FPU, turn off TARGET_VIS.
1203         * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
1204         (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
1205         * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
1206         (movdi_insn_sp64): Add VIS fzero alternative.
1207         (clear_sf, clear_df): New VIS patterns.
1208         (movsf, movdf expanders): Allow fp_zero_operand flat out when
1209         TARGET_VIS.
1210         (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
1211         
1212 Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
1213
1214         * loop.c (n_times_set, n_times_used, may_not_optimize,
1215         reg_single_usage): Convert to varrays.  All uses changed.
1216         (insert_loop_mem): Return a value.
1217         (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
1218         (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
1219         necessary.
1220
1221 Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
1222
1223         * From Alexandre:
1224         * configure.in: Do not set thread_file to "irix" since no such
1225         support exists yet.
1226
1227         * sparc.md (float abs/neg splits): Check reload_completed before
1228         calling alter_subreg.
1229
1230 Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1231
1232         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
1233         function.
1234         * config/sparc/sparc.h: Declare it.
1235         * config/sparc/sparc.md (float abs/neg splits): Use it.
1236         (all other splits): Handle SUBREGs properly where necessary.
1237         (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
1238
1239 Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
1240
1241         * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
1242         an insn on the unfilled_slots_list that has no delay slots.
1243         (fill_eager_delay_slots): Similarly.
1244
1245 Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
1246
1247         * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
1248         as an ordinary operand.
1249
1250 Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
1251
1252         * tree.c (valid_machine_attribute): Don't apply attributes to both
1253         decl and type.
1254
1255 Tue Aug 25 12:23:20 PDT 1998  Richard Henderson  <rth@cygnus.com>
1256
1257         * reload.c (operands_match_p): Handle rtvecs.
1258
1259         * i386.c (legitimate_pic_address_disp_p): New.
1260         (legitimate_address_p): Use it.
1261         (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
1262         Handle constant pool symbols just like statics.
1263         (emit_pic_move): Use Pmode not SImode for clarity.
1264         (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
1265         [UNSPEC]: New, handling what we killed above.
1266         [PLUS]: Detect and abort on invalid symbol arithmetic.
1267         * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
1268
1269 Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
1270
1271         * alias.c: Include output.h.
1272         (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
1273         different if we're in a varargs function.
1274         * Makefile.in (alias.o): Depend on output.h
1275         
1276 Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1277
1278         * sh.h (GIV_SORT_CRITERION): Delete.
1279
1280 Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
1281
1282         * regclass.c (regclass): Use xmalloc/free instead of alloca.
1283         * stupid.c (stupid_life_analysis): Ditto.
1284         * reload1.c (reload): Ditto.
1285
1286 Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
1287
1288         * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
1289         arith_double_4096_operand, arith_double_add_operand): New
1290         predicates.
1291         * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
1292         * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
1293         them to transform add/sub 4096 into add/sub -4096.
1294
1295 Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1296
1297         * loop.c (scan_loop): Allocate some slop to handle pseudos
1298         generated by move_movables.
1299         (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
1300         here too.
1301
1302 Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
1303
1304         * tree.def (DECL_RESULT): Correct documentation.
1305
1306 Tue Aug 25 01:15:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1307
1308         * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
1309         all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
1310         conflicts will all RELOAD_FOR_OUTPUT reloads.
1311
1312         * reload1.c (reload_cse_regs_1): When deleting a no-op move that
1313         loads the function result, substitute with a USE.
1314
1315 Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1316
1317         * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
1318         when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
1319         (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
1320         * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
1321         (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
1322         * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
1323         operand. 
1324         (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
1325         'o' to 'm' for GPR variant constraints.
1326
1327 Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
1328
1329         * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
1330
1331         * h8300.h (STRIP_NAME_ENCODING): Fix typo.
1332
1333         * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
1334         when the source and destination overlap.
1335
1336         * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
1337         clash with global type.
1338
1339 Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
1340
1341         * fixinc.irix: Add curses.h handling from fixinc.wrap.
1342
1343         * c-common.c (combine_strings): Also set TREE_READONLY.
1344         Change warn_write_strings to flag_const_strings.
1345         * c-decl.c, c-tree.h: Likewise.
1346
1347 Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1348
1349         * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
1350         CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
1351         sequence, use SET/IOR instead so CSE can see it.
1352         * config/sparc/sparc.md (movhi_const64_special,
1353         movsi_const64_special): New patterns necessitated by that change.
1354         (movhi_high): Remove.
1355         (movhi_lo_sum): Change to match an IOR.
1356         (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
1357         (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
1358         (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
1359         (movdf splits): Allow when not V9 or when not ARCH64 and integer
1360         registers are involved.
1361         (snesi_zero_extend split): Remove reload_completed test.
1362         (unnamed plus and minus zero_extend sidi splits): Add it.
1363
1364 Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
1365
1366         * extend.texi: Remove description of extension to explicit
1367         instantiation that is now endorsed by standard C++.
1368
1369 Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1370
1371         * config/arc/arc.c (arc_initialize_pic): Remove.
1372         * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
1373         nothing on any platform and is invoked by no-one, it does not even
1374         appear in the documentation.
1375         * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
1376         * config/sparc/sparc.c (initialize_pic): Likewise.
1377         (find_addr_reg): Remove this as well, no longer referenced after
1378         my rewrite.
1379
1380 Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
1381
1382         * recog.c (validate_replace_rtx_group): New function.
1383         * recog.h (validate_replace_rtx_group): Declare it.
1384         * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
1385         the entire group of substitutions.
1386
1387 Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
1388
1389         * loop.c (load_mems): Fix initializers.
1390
1391 Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1392
1393         * config/sparc/sparc.md (TFmode splits): Handle destination
1394         registers being referenced in the address correctly.
1395
1396         * expmed.c (make_tree) [CONST_INT]: Sign extend even if
1397         TREE_UNSIGNED, when bitsize of type's mode is larger than
1398         HOST_BITS_PER_WIDE_INT.
1399
1400 Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
1401
1402         * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
1403         * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
1404         EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
1405         macros.
1406         * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
1407         EXIT_BLOCK_EXPR.
1408
1409 Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
1410
1411         * h8300.c (h8300_encode_label): Use '&' for tiny data items.
1412         * h8300.h (TINY_DATA_NAME_P): Likewise.
1413         (STRIP_NAME_ENCODING): Handle '&'.
1414
1415         * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
1416         register (it could be accessed via an outer SUBREG).
1417         (REG_OK_FOR_BASE_P): Likewwise.
1418         (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
1419
1420         * remove.c (optimize_reg_copy_3): Abort instead of silently generating
1421         bogus rtl.
1422
1423         * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
1424
1425 Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1426
1427         * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
1428         must be offsettable so the splits can be made.
1429
1430 Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
1431
1432         * config/i386/winnt.c: Include system.h, not stdio.h to get
1433         sys/param.h pulled in before rtl.h in case the system defines MIN
1434         and MAX.
1435
1436 Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1437
1438         * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
1439
1440 Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
1441
1442         * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
1443         arrays of bits.
1444         * cpplib.c (cpp_define): Handle macros with parameters.
1445
1446 Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1447
1448         * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
1449         (output_toc): Use single TOC slot or llong minimal-toc for DFmode
1450         and DImode 64-bit.  Use llong for minimal-toc SFmode and
1451         SYMBOL_REF / LABEL_REF 64-bit.
1452         (output_function_profiler): Use llong for profiler label and ld to
1453         load 64-bit label address.
1454
1455 Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
1456
1457         * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
1458         OFFSET addressing.
1459
1460 Wed Aug 19 14:13:31 PDT 1998 Jeff Law  (law@cygnus.com)
1461
1462         * version.c: Bump for snapshot.
1463
1464 Wed Aug 19 13:10:30 PDT 1998 Jeff Law  (law@cygnus.com)
1465
1466         * version.c: Bump for snapshot.
1467
1468 Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
1469
1470         * collect2.c (extract_init_priority): Use atoi instead of strtoul.
1471
1472 Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
1473
1474         * tm.texi (Misc): Fix typo "teh".
1475
1476         * tm.texi (PIC): Fix typo "PPIC".
1477
1478         * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
1479         effect when -O2 and higher.
1480         * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
1481
1482 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
1483
1484         * regclass.c: Changed register set documentation to be consistent
1485         with GCC behaviour.
1486
1487         * final.c (final_start_function) Removed redundant test for
1488         call_fixed_regs.
1489
1490 Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
1491
1492         * rtl.h (rtx_function): New type.
1493         (for_each_rtx): New function.
1494         * rtlanal.c (for_each_rtx): Define it.
1495         
1496         * recog.c (change_t): New type.
1497         (change_objects, change_old_codes, change_locs, change_olds):
1498         Replace with ...
1499         (changes): New variable.
1500         (validate_change): Dynamically allocate room for more changes, if
1501         necessary.  Uses changes array instead of change_objects, etc.
1502         (apply_change_group):  Use changes array instead of
1503         change_objects, etc.
1504         
1505         * loop.c (loop_mem_info): New type.
1506         (loop_mems): New variable.
1507         (loop_mems_idx): Likewise.
1508         (looop_mems_allocated): Likewise.
1509         (scan_loop): Remove nregs parameter.
1510         (next_insn_in_loop): New function.
1511         (load_mems_and_recount_loop_regs_set): Likewise.
1512         (load_mems): Likewise.
1513         (insert_loop_mem): Likewise.
1514         (replace_loop_mem): Likewise.
1515         (replace_label): Likewise.
1516         (INSN_IN_RANGE_P): New macro.
1517         (loop_optimize): Don't pass max_reg_num() to scan_loop.
1518         (scan_loop): Remove nregs parameter, compute it after any new
1519         registers are created by load_mems.  Use INSN_IN_RANGE_P and
1520         next_insn_in_loop rather than expanding them inline.  Call
1521         load_mems to load memory into pseudos, if appropriate.
1522         (prescan_loop): Figure out whether or not there are jumps from the
1523         loop to targets other than the label immediately following the
1524         loop.  Call insert_loop_mem to notice all the MEMs used in the
1525         loop, if it could be safe to pull MEMs into REGs for the duration
1526         of the loop.
1527         (strength_reduce): Use next_insn_in_loop.  Tweak comments.
1528
1529 Wed Aug 19 08:29:44 1998  Richard Earnshaw (rearnsha@arm.com)
1530
1531         * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
1532
1533 Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1534
1535         * config/sparc/sparc.c (finalize_pic): Check for the correct
1536         nonlocal_goto_receiver UNSPEC number.
1537         * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
1538         making note of this dependency existing in sparc.c
1539         (negtf2_notv9 split): Give NEG SFmode.
1540         (negsf2): Fix insn output string.
1541         
1542 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
1543
1544         * c-common.c (decl_attributes): Issue an error if the argument
1545         to alias is not a string.
1546
1547 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
1548
1549         * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
1550         pending memory flush list.
1551
1552         * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
1553         notes.
1554         (try_combine): Allow combining insns with REG_LIBCALL notes.
1555
1556         * expr.c (emit_block_move): Do not call memcpy as a libcall
1557         instead build up a CALL_EXPR and call it like any other
1558         function.
1559         (clear_storage): Similarly for memset.
1560
1561         * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
1562         on notes.
1563
1564         * Makefile.in (cplus-dem.o): Provide explicit rules for building
1565         cplus-dem.o
1566
1567         * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
1568         and REG_LIVE_LENGTH as successful substitutions are made.
1569
1570 Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1571
1572         * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
1573         statement after end of loop label.
1574
1575 Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1576
1577         * config/sparc/sparc.c (ultra_types_avail): New variable.
1578         (ultra_build_types_avail): New function to record mask of insn
1579         types in ready list at this cycle.
1580         (ultrasparc_sched_reorder): Call it.
1581         (ultra_find_type): Use it to quicken the search.  Also simplif
1582         dependency check, don't use rtx_equal_p because we know exactly
1583         what we are looking for.
1584
1585 Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
1586
1587         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
1588         for architecture v4.
1589
1590 Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1591
1592         * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
1593         gen_compare_reg.
1594         (movsf_const_intreg, movsf_const_high, movsf_const_lo,
1595         movdf_const_intreg and helper splits): New patterns to move float
1596         constants into integer registers.
1597         (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
1598         splits.
1599
1600 Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
1601
1602         * From Graham
1603         * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
1604         to itype.
1605         * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
1606
1607         * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
1608         a BASE_REGS register is needed as an intermediate when copying
1609         a symbolic value into any register class other than BASE_REGS.
1610
1611         * expr.c (move_by_pieces): No longer static.  Remove prototype.
1612         * rtl.h (move_by_pieces): Add extern prototype.
1613         * mips.c (expand_block_move): Handle aligned straight line copy by
1614         calling move_by_pieces.
1615
1616         * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
1617         and VAR_DECLs.
1618
1619 Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
1620
1621         * stmt.c (expand_end_loop): Tidy.  Allow unconditional
1622         jumps out of the loop to be treated as part of the exit test.
1623
1624 Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1625                           Jeff Law <law@cygnus.com>
1626
1627         * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
1628         * cplus-dem.c: Delete.
1629
1630         * Makefile.in (fold-const.o): depend on $(RTL_H).
1631
1632         * fold-const.c: Include rtl.h to get the prototype for
1633         `set_identifier_local_value'.
1634
1635         * loop.c (express_from_1): Remove unused variable `tmp'.
1636         (combine_givs): cast the first argument of bzero to char *.
1637
1638         * toplev.c (display_help): Remove unused variable `looking_for_start'.
1639
1640         * c-decl.c (init_decl_processing): Remove unneeded &.
1641
1642         * alpha.h (alpha_initialize_trampoline): Provide prototype.
1643         
1644         * except.c (set_exception_lang_code, set_exception_version_code):
1645         Change parameter from `short' to `int' to avoid using a gcc
1646         extension.
1647
1648         * except.h (set_exception_lang_code, set_exception_version_code):
1649         Likewise for prototypes.
1650
1651         * flow.c (count_reg_references): Remove unused variables `regno'
1652         and `i'.
1653
1654         * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
1655
1656         * prefix.c (translate_name): Cast the result of `alloca'.
1657
1658         * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
1659
1660 Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1661
1662         * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
1663         Include "toplev.h".
1664         (valid_dbcc_comparison_p): Mark mode argument as unused.
1665         (symbolic_operand): Likewise.
1666         (legitimize_pic_address): Likewise.
1667         (const_uint32_operand): Likewise.
1668         (const_sint32_operand): Likewise.
1669         * sched.c [!INSN_SCHEDULING]: Define only dummy function
1670         schedule_insns and comment out rest of file.
1671
1672         * m68k.c (output_move_simode_const): Use subl to move a zero into an
1673         address register.
1674         (output_move_[hq]imode): Likewise.
1675
1676 Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
1677
1678         * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
1679         * invoke.texi: Corresponding changes.
1680
1681 Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
1682
1683         * regclass.c (allocate_reg_info): Respect MIN when clearing data.
1684
1685 Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1686
1687         * config/sparc/sparc.c (ultra_code_from_mask,
1688         ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
1689         ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
1690         ultrasparc_sched_init, ultrasparc_variable_issue,
1691         ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
1692         functions to describe UltraSPARC pipeline exactly to Haifa.
1693         (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
1694         as there is nothing the scheduler can do about it.  Indicate that
1695         REG_DEP_OUTPUT's collide.  Fixup formatting.
1696         * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
1697         divide costs on Ultra for DImode.
1698         (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
1699         Define.
1700         * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
1701         ieuN and add call_no_delay_slot to type list.
1702         (cti function unit): New unit for branches on UltraSPARC.
1703         (subx/addx insns): Set type to misc.
1704         (sidi zero/sign extension insns on arch64): Set type to shift.
1705         (sign_extendhidi2_insn): Set type to sload.
1706
1707 Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1708
1709         * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
1710         (output_epilog): Use if != 0 for offset.
1711         (rs6000_fatal_bad_address): Prepare for Intl.
1712         * rs6000.h (rs6000_fatal_bad_address): Declare.
1713         * rs6000.md (movsfcc, movdfcc): Use else if.
1714         (elf_high): Use {liu|lis}.
1715         (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
1716         (movsi): Use rs6000_fatal_bad_address.
1717         
1718 Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
1719
1720         * reload.c (find_equiv_reg): Reject equivalences separated
1721         by a volatile instruction.
1722
1723 Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
1724
1725         * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
1726
1727 Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
1728
1729         * alpha.md (movsicc): Fix mode mismatch.
1730
1731 Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
1732
1733         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
1734         return type.
1735         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
1736
1737 Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1738
1739         * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
1740         write-only modifier from operand 1 constraint.
1741
1742 Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1743
1744         * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
1745         emitting a XOR of -1 at the end, emit a NOT instead for combine's
1746         sake.
1747         (sparc_emit_set_const64): Likewise, also when computing trailing
1748         bits do not negate low_bits and make fast_int an int.
1749
1750 Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
1751
1752         * loop.c (add_label_notes): Do not ignore references to labels
1753         before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
1754         * gcse.c (add_label_notes): Similarly.
1755
1756         * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
1757
1758         * m68k.md (adddi_dilshr32): One of the operands must be a register.
1759         (adddi_dishl32): Similarly.
1760
1761 Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
1762
1763         * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
1764         * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
1765         * cse.c (cse_basic_block): Add parens to shut up warnings.
1766
1767 Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1768
1769         * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
1770         sparc_emit_set_const64_longway, const64_is_2insns,
1771         create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
1772         in 64-bit constant formation.
1773         * config/sparc/sparc.md (snesi_zero_extend split): Generate
1774         rtl for addx not subx.
1775         (define_insn movdi_const64_special): Make available even when
1776         HOST_BITS_PER_WIDE_INT is not 64.
1777         (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
1778         (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
1779         (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
1780         instances of operand 1 inside a QI subreg.
1781         (xordi3_sp64_dbl): Remove '%' constraint for op1.
1782         (one_cmpldi2_sp64): Fix output string.
1783         (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
1784         alternative case.
1785         (unnamed arch64 ashift DI): Truncate shift count if greater than
1786         63, not 31.
1787
1788 Fri Aug 14 21:52:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1789
1790         * expr.c (store_expr): Don't optimize away load-store pair
1791         when either source or destination have a side effect.
1792
1793 Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
1794
1795         * genrecog.c (add_to_sequence): Fatal error if the modes of the
1796         operands of SET are incompatible.
1797
1798         * alpha.md: Fix max and min patterns so modes of SET operands match.
1799
1800 Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
1801
1802         * configure.in: Avoid [[ by using test and changequote.
1803         * configure: Rebuild.
1804
1805 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1806
1807         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
1808
1809         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
1810         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
1811         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
1812         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
1813         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
1814         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
1815         Fix mismatching modes in SET operands.
1816         (conditional move patterns): Fix formatting.
1817         (unnamed subx arch64 pattern): Remove duplicate insn.
1818         
1819 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1820
1821         * config/sparc/sparc.c (const64_operand, const64_high_operand):
1822         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
1823         (input_operand): Fixup test for what we accept for constant
1824         integers.
1825         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
1826         set VOIDmode.
1827         (safe_constDI): Remove.
1828         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
1829         gen_safe_XOR64): New functions.
1830         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
1831         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
1832         them.
1833         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
1834         available when HOST_BITS_PER_WIDE_INT is not 64.
1835         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
1836         move before movdi_insn_sp64 pattern.
1837         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
1838         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
1839         symbolic_operand as predicate for second operand.
1840         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
1841         expander): Give set VOIDmode.
1842         
1843 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1844
1845         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
1846
1847 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
1848
1849         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
1850
1851 Fri Aug 14 01:23:23 1998  Richard Earnshaw (rearnsha@arm.com)
1852
1853         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 
1854         point.
1855         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
1856
1857 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
1858
1859         * install.texi: Various SCO OpenServer tweaks.
1860
1861 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
1862
1863         * reload1.c (eliminate_regs_in_insn): Handle another case when
1864         eliminating the frame pointer to the hard frame pointer.  Add
1865         missing ep->to_rtx check to one existing case.
1866
1867         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
1868
1869 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
1870
1871         * tree.h: De-conditionalize init_priority code.
1872
1873         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
1874         * collect2.c (NM_FLAGS): Change from -p to -n.
1875
1876         * configure.in: Turn on collect2 for mipstx39-elf.
1877         Handle use_collect2=no properly.
1878
1879         * c-common.c: De-conditionalize init_priority code.
1880         * collect2.c (extract_init_priority, sort_ids): New fns.
1881         (main): Call sort_ids.
1882         Move sequence_number to file scope.
1883
1884         * configure.in: Handle --enable-init-priority.
1885         * c-common.c (attrs): Add A_INIT_PRIORITY.
1886         (init_attributes, decl_attributes): Likewise.
1887         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
1888         * tree.c (get_file_function_name_long): Split out...
1889         (get_file_function_name): ...from here.
1890
1891 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
1892
1893         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
1894         accessing nodes.
1895
1896 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
1897
1898         * toplev.c (display_help): Add braces to shut up warnings.
1899         * tree.c (simple_cst_equal): Likewise.
1900
1901         * fold-const.c (non_lvalue): Don't deal with null pointer 
1902         constants here.
1903         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
1904
1905         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
1906         of any size to a pointer.
1907
1908 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
1909
1910         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
1911
1912 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
1913
1914         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
1915         which will be saved.
1916         * mn10300.md (prologue insn): Only save registers which need saving.
1917         (epilogue insn): Similarly.
1918
1919         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
1920         optimizations.
1921
1922 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
1923
1924         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
1925         VAR_DECL's in gp addressable sections.
1926
1927 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
1928
1929         * sparc.c: Change return <exp> to <exp>; return; in functions
1930         returning void.
1931         * sparc.md: Add empty semicolon statement after final label in
1932         move expanders.
1933
1934 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1935
1936         * config/sparc/sparc.md (define_insn addx_extend): Rename to
1937         addx_extend_sp64, only allow when TARGET_ARCH64.
1938         (define_insn addx_extend_sp32 and split): Version that works when
1939         not TARGET_ARCH64.
1940         (define_insn subx_extend): Likewise.
1941         (define_split adddi3 and subdi3 with zero extension): Fixup and
1942         correct bugs when not TARGET_ARCH64.
1943
1944 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
1945
1946         * except.c (set_exception_lang_code, set_exception_version_code):
1947         Use prototype-style definition if __STDC__, to match declaration
1948         in except.h.
1949
1950         * genemit.c: Change FAIL and DONE macros not to use loops.
1951
1952 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
1953
1954         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
1955         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
1956
1957         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
1958
1959 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
1960
1961         * README.g77: Update from Craig.
1962
1963 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1964
1965         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
1966         type HOST_WIDE_INT.
1967         (safe_constDI sparc_emit_set_const64_quick1,
1968         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
1969         analyze_64bit_constant, const64_is_2insns,
1970         create_simple_focus_bits): Fix some bugs when compiled on real
1971         64-bit hosts.
1972         (function_arg_record_value_3, function_arg_record_value_2,
1973         function_arg_record_value): Add fully prototyped forward decls.
1974         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
1975         to cmpsi_insn and use on both 64 and 32 bit targets.
1976         (define_insn cmpsi_insn_sp64): Remove.
1977         (define_expand zero_extendsidi2): Allow for 32-bit target too.
1978         (define_insn zero_extendsidi2_insn): Rename to
1979         zero_extendsidi2_insn_sp64.
1980         (define_insn zero_extendsidi2_insn_sp32): New pattern and
1981         assosciated forced split for it.
1982
1983         * config/sparc/sparc.c (const64_operand, const64_high_operand):
1984         New predicates.
1985         * config/sparc/sparc.h: Declare them.
1986         (PREDICATE_CODES): Add them.
1987         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
1988         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
1989
1990 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
1991
1992         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
1993         in v9 case as the latter makes the Solaris assembler crash.
1994
1995 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1996
1997         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
1998         for TFmode when !v9.  We require offsettable memory addresses.
1999         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
2000         DFmode register number conversions.
2001         * config/sparc/sparc.md (define_split DFmode moves): If register
2002         is a SUBREG do alter_subreg on it before using.
2003         (define_expand movtf): Fixup comment about alignment on v9.
2004         (define_split TFmode moves): Don't use gen_{high,low}part, create
2005         explicit SUBREGs instead.
2006
2007 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
2008
2009         * Makefile.in (mbchar.o): Depend on mbchar.c.
2010
2011 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2012                           Richard Henderson  <rth@cygnus.com>
2013         
2014         Rewrite Sparc backend for better code generation and
2015         improved sparc64 support.
2016         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
2017         zero.
2018         * config/sparc/sysv4.h: Likewise.
2019         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
2020         move_operand, v8plus_regcmp_op, emit_move_sequence,
2021         singlemove_string, doublemove_string, mem_aligned_8,
2022         output_move_double, output_move_quad, output_fp_move_double,
2023         move_quad_direction, output_fp_move_quad, output_scc_insn):
2024         Remove.
2025         (small_int_or_double): New predicate.
2026         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
2027         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
2028         old pic_{sethi,lo_sum}_si patterns.
2029         (mem_min_alignment): New generic function to replace
2030         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
2031         available and can test for arbitrary alignments.  All callers
2032         changed.
2033         (save_regs, restore_regs, build_big_number,
2034         output_function_prologue, output_cbranch, output_return,
2035         sparc_flat_save_restore, sparc_flat_output_function_prologue,
2036         sparc_flat_output_function_epilogue): Prettify
2037         insn output.
2038         (output_function_epilogue): Likewise and add code to output
2039         deferred case vectors.
2040         (output_v9branch): Likewise, add new arg INSN and use it to tack
2041         on branch prediction settings.  All callers changed.
2042         (print_operand): Likewise and output %l44 for LO_SUMs when
2043         TARGET_CM_MEDMID.
2044         (sparc_splitdi_legitimate): New function to make sure DImode
2045         splits can be run properly when !arch64.
2046         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
2047         Reformat example code in comments.
2048         (set_extends): Remove UNSPEC/v8plus_clear_high case.
2049         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
2050         of deferred case vectors we need to output.
2051         (sparc_defer_case_vector): Record a case vector.
2052         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
2053         sparc_output_deferred_case_vectors): New functions to output them.
2054         (sparc_emit_set_const32): New function to form 32-bit constants in
2055         registers when that requires more than one instruction.
2056         (safe_constDI, sparc_emit_set_const64_quick1,
2057         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
2058         analyze_64bit_constant, const64_is_2insns,
2059         create_simple_focus_bits, sparc_emit_set_const64): New functions
2060         which do the same for 64-bit constants when arch64.
2061         (sparc_emit_set_symbolic_const64): New function to emit address
2062         loading for all code models on v9.
2063         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
2064         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
2065         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
2066         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
2067         inaccuracies in comments, add symbolic and text_segment operands
2068         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
2069         GENERAL_REGS in these cases as a temp REG is needed to load these
2070         addresses into a register properly.
2071         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
2072         is no longer used.
2073         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
2074         quads are guarenteed to have 16-byte alignment.
2075         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
2076         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
2077         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
2078         deferred case vector implementation.
2079         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
2080         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
2081         Generate "internal label - label" instead of "label - 1b".
2082         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
2083         (PREDICATE_CODES): Remove sparc_operand, move_operand,
2084         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
2085         zero_operand.
2086         (doublemove_string, output_block_move, output_fp_move_double,
2087         output_fp_move_quad, output_move_double, output_move_quad,
2088         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
2089         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
2090         (sparc_emit_set_const32, sparc_emit_set_const64,
2091         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
2092         mem_min_alignment, small_int_or_double): Add externs.
2093         * config/sparc/sparc.md: Document the many uses of UNSPEC and
2094         UNSPEC_VOLATILE in this backend.
2095         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
2096         unary to types which execute in it.
2097         (define_function_unit ieu_shift): Rename to ieu0.
2098         (define_function_unit ieu1): New, executes compare, call, and
2099         uncond_branch type insns.
2100         (define_function_units for type fdivs, fdivd, fsqrt): These
2101         execute in the fpu multiply unit not the adder on UltraSparc.
2102         (define_expand cmpdi): Disallow TARGET_V8PLUS.
2103         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
2104         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
2105         allows the arith_double_operand predicate and rHI constraint when
2106         TARGET_ARCH64.
2107         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
2108         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
2109         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
2110         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
2111         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
2112         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
2113         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
2114         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
2115         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
2116         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
2117         sign_extendqihi2_insn, sign_extendqisi2_insn,
2118         sign_extendqidi2_insn, sign_extendhidi2_insn,
2119         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
2120         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
2121         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
2122         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
2123         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
2124         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
2125         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
2126         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
2127         smulsi3_highpart_v8plus, unnamed subreg mult,
2128         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
2129         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
2130         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
2131         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
2132         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
2133         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
2134         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
2135         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
2136         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
2137         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
2138         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
2139         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
2140         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
2141         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
2142         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
2143         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
2144         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
2145         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
2146         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
2147         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
2148         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
2149         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
2150         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
2151         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
2152         call_address_untyped_struct_value_sp32,
2153         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
2154         call_value_symbolic_sp32, call_value_address_sp64,
2155         call_value_symbolic_sp64, branch_sp32, branch_sp64,
2156         flush_register_windows, goto_handler_and_restore,
2157         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
2158         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
2159         return_addsi, return_di, return_adddi, return_sf, all call+jump
2160         peepholes, trap, unnamed trap insns): Prettify output strings.
2161         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
2162         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
2163         Likewise and force + implement splits for integer cases.
2164         (define_insn return_sf_no_fpu): Likewise and allow to match when
2165         no-fpu because of our subreg SFmode splits.
2166         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
2167         zero_extendqidi2_insn, zero_extendhidi2_insn,
2168         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
2169         input_operand for second operand.
2170         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
2171         reg_or_0_operand for operand 2 so new splits can use it.
2172         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
2173         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
2174         too.
2175         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
2176         CONST_DOUBLEs for operand 2.
2177         (define_insn move_label_di): Likewise and label distance
2178         optimization because it no longer works with new deferred case
2179         vector scheme.  To be revisited.
2180         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
2181         and allow reg_or_0_operand and J constraint for second operand.
2182         (define_insn jump): Set branch predict taken on V9.
2183         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
2184         new deferred case vector scheme.
2185         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
2186         (define_insn negdi2_sp32): Force + implement splits.
2187         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
2188         one_cmplsi2_not_liveg0 respectively, and create expander of original
2189         names which emit special rtl for TARGET_LIVE_G0.
2190         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
2191         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
2192         gen_compare_reg, FAIL instead.
2193         (define_insn sgtu, sleu): Likewise and check gen_s*() return
2194         values when trying to reverse condition codes, if they FAIL then
2195         do likewise.
2196         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
2197         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
2198         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
2199         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
2200         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
2201         set output string to # to indicate they are mandatory splits.
2202         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
2203         pic_sethi_di, move_pic_label_si): Remove.
2204         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
2205         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
2206         place.
2207         (define_expand movsi_pic_label_ref, define_insn
2208         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
2209         expander and insns to handle PIC label references and deferred
2210         case vectors.
2211         (define_insn get_pc_via_rdpc): Comment out as it is no longer
2212         used.
2213         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
2214         Rewrite to not use emit_move_sequence, make use of new constant
2215         formation code, and new splits for all multi-insn cases.
2216         (define_insn movqi_insn): Remove sethi case, it can never happen.
2217         Use reg_or_zero_operand instead of const0_rtx explicit test,
2218         use input_operand instead of move_operand for source, and use
2219         general_operand now for dest.
2220         (define_insn movhi_insn): Similar but leave sethi case.
2221         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
2222         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
2223         movhi_lo_sum respectively, prettify output string.
2224         (define_insn movsi_zero_liveg0): New pattern to put zero into a
2225         register when needed on TARGET_LIVE_G0.
2226         (define_insn movsi_insn): Use general_operand and input_operand
2227         for dest and src respectively.  Simplify applicability test.
2228         Prettify output strings, and add clr alternative for J
2229         constraint.
2230         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
2231         deprecated std and reg-reg DI moves): Remove and...
2232         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
2233         implementation which uses forced splits for all non-single insn
2234         cases.
2235         (define_split DI move cases on !arch64): New splits to handle all
2236         situations of 64-bit double register DImode on 32bit, and
2237         unaligned registers and memory addresses for all subtargets.
2238         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
2239         Remove.
2240         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
2241         input_operand for dest and src respectively, prettify output
2242         strings.
2243         (define_insn movdf_insn, movdf_no_e_insn, store_df,
2244         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
2245         and...
2246         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
2247         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
2248         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
2249         movtf_no_e_insn_sp64) Replace with new
2250         implementation which uses forced splits for all non-single insn
2251         cases.
2252         (define_split DF move cases): New splits in similar vein to DI
2253         move counterparts.
2254         (define_insn sethi_di_medlow, sethi_di_medium_pic,
2255         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
2256         movdi_sp64_insn): Remove old v9 code model and constant loading
2257         support insns and..
2258         (define_insn pic_lo_sum_di, pic_sethi_di,
2259         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
2260         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
2261         embmedany_sethi, embmedany_losum, embmedany_brsum,
2262         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
2263         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
2264         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
2265         scheme, using unspecs, secondary reloads, and one to one sparc
2266         insn to rtl insn mapping for better scheduling and code gen.
2267         (define_expand reload_indi, reload_outdi): Reload helpers for
2268         MEDANY and EMBMEDANY symbol address loading cases which require a
2269         temporary register.
2270         (define_expand movsicc): Remove v8plus_regcmp cases.
2271         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
2272         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
2273         cmp_diqi_trunc_set): New patterns used by some of the new scc
2274         splits on arch64.
2275         (define_insn xordi3_sp64_dbl): New pattern used for constant
2276         formation when crossing from 32-bit targets.
2277         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
2278         split): Remove.
2279         (define_insn addx, subx): Make visible and prettify.
2280         (define_insn adddi3_insn_sp32): Likewise and force split.
2281         (define_insn addx_extend, subx_extend, unnamed): New patterns for
2282         64bit scc split usage.
2283         (define_insn unnamed plusDI zero_extend, unnamed minusDI
2284         zero_extend, subdi3): Force and implement splits.
2285         
2286         * final.c (final_scan_insn): Don't output labels if target
2287         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
2288         instead.
2289         
2290         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
2291         don't forget to walk inside SEQUENCESs too as these are what the
2292         delay slot scheduler will create.
2293         
2294 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
2295
2296         * alpha.md (extxl+1,+2): New patterns to work around
2297         combine lossage.
2298
2299 Sat Aug  8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
2300
2301         * rs6000.c (rs6000_allocate_stack_space) Fix typo which
2302         caused bad assembly code to be generated.
2303
2304 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
2305
2306         * netbsd.h: Fix typo.
2307
2308 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com> 
2309
2310         * config.sub: Fix typo.
2311
2312 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
2313
2314         * invoke.texi (Environment Variables): Typo: Change "ascpects"
2315         into "aspects".
2316         (Running Protoize): Typo: Change "ther" into "other".
2317
2318 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
2319
2320         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
2321         * m68k/netbsd.h: Likewise.
2322         * ns32k/netbsd.h: Likewise.
2323         * sparc/netbsd.h: Likewise.
2324
2325 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
2326
2327         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
2328         * ginclude/va-clipper.h (va_list): Likewise.
2329
2330 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
2331
2332         * rs6000.c (rs6000_override_options): If big endian and -Os, use
2333         load/store multiple instructions unless user overrides.
2334
2335 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
2336
2337         * ns32k/netbsd.h: Fix typo.
2338
2339 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
2340
2341         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
2342         labels with .debugsym if no parallel insns.
2343
2344 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
2345
2346         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
2347         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
2348
2349 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2350
2351         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
2352         (AR_FOR_TARGET): Define.
2353
2354 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
2355
2356         * dyn-string.h: New file.
2357         * dyn-string.c: Likewise.
2358         * Makefile.in (OBJS): Add dyn-string.o.
2359         (dwarf2out.o): Add dyn-string.h dependency.
2360         (dyn-string.o): List dependencies.
2361         * dwarf2out.c: Include dyn-string.h.
2362         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
2363         (addr_const_to_string): Take a dyn_string_t, not a char* as a
2364         prototype.  Use dyn_string_append rather than strcat, throughout.
2365         (addr_to_string): Use dyn_string_t.
2366
2367 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
2368
2369         Function entry/exit profiling instrumentation:
2370         * expr.h (profile_function_entry_libfunc,
2371         profile_function_exit_libfunc): Declare new variables.
2372         * optabs.c: Define them here.
2373         (init_optabs): Initialize them.
2374         * tree.h (struct tree_decl): New flag
2375         no_instrument_function_entry_exit.
2376         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
2377         * c-decl.c (duplicate_decls): Merge it.
2378         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
2379         (init_attributes): Use it for "no_instrument_function".
2380         (decl_attributes): Handle it, for functions that have not yet been
2381         compiled.  Set decl flag.
2382         * flags.h (flag_instrument_function_entry_exit): Declare new
2383         variable.
2384         * toplev.c (flag_instrument_function_entry_exit): Define it here.
2385         (f_options): New option "instrument-functions".
2386         * function.h (struct function): New field instrument_entry_exit.
2387         * function.c (current_function_instrument_entry_exit): New
2388         variable.
2389         (push_function_context_to, pop_function_context_from): Save and
2390         restore.
2391         (expand_function_start): Set current_ variable, maybe emit return
2392         label and entry profile call.
2393         (expand_function_end): Maybe emit exit profile call.
2394
2395 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
2396
2397         * i386.md (movqi): When optimizing a load of (const_int 1) into a
2398         NON_QI_REG_P, pretend the register is SImode.
2399
2400 Wed Jul 29 23:49:23 1998  Todd Vierling <tv@netbsd.org>
2401
2402         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
2403         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
2404         manufacturer id for ns32k.
2405         * configure: Regenerated.
2406         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
2407         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
2408         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
2409         * config/m68k/netbsd.h: Same.
2410         * config/ns32k/netbsd.h: Same.
2411         * config/sparc/netbsd.h: Same.
2412
2413 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
2414
2415         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
2416         or UNROLL_COMPLETELY loop that starts with a jump to its
2417         exit code.
2418
2419 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2420
2421         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
2422         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
2423         (print_operand, case 'B'): Don't fall through.
2424         (print_operand, case 'S'): Correct mask begin/end computation.
2425         Use HOST_BITS_PER_WIDE_INT.
2426         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
2427         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
2428         * rs6000/aix41.h (CPP_PREDEFINES): Same.
2429         * rs6000/aix43.h (CPP_PREDEFINES): Same.
2430
2431 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
2432
2433         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
2434         constraint from second alternative.
2435
2436 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
2437
2438         * configure.in: Fix --without/--disable cases for local-prefix, 
2439         gxx-include-dir and checking.
2440
2441 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2442
2443         * configure.in (enable_haifa): Set by default for sparc64 too.
2444         configure: Rebuilt.
2445
2446 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
2447
2448         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
2449         * i386/winnt.c (associated_type): New fn.
2450         (i386_pe_valid_type_attribute_p): New fn.
2451         (i386_pe_check_vtable_importexport): Remove.
2452         (i386_pe_dllexport_p): Use associated_type.
2453         (i386_pe_dllimport_p): Likewise.
2454
2455         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
2456         * i386.c (i386_valid_type_attribute_p): Also accept
2457         attributes for METHOD_TYPEs.
2458
2459 Tue Jul 28 23:17:39 1998  Peter Gerwinski <peter@gerwinski.de>
2460
2461         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
2462
2463 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
2464
2465         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
2466
2467         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
2468         them from generating a new base name for each occurence of
2469         a specific suffix.
2470
2471 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
2472
2473         * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
2474         SUBREG, MEM.
2475         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. 
2476
2477
2478
2479         * cplus-dem.c (type_kind_t): New type.
2480         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
2481         on this paramter, rather than demangling the type again.
2482         (demangle_integral_value): Pass tk_integral.
2483         (demangle_template_: Pass the value returned from do_type.
2484         (do_type): Return a type_kind_t.  Pass tk_integral to
2485         demangle_template_value_parm for array bounds.
2486         (demangle_fund_type): Likewise.
2487         
2488 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
2489
2490         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
2491         identical.
2492
2493 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
2494
2495         * pa.c (move_operand): Accept CONSTANT_P_RTX.
2496
2497 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
2498
2499         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
2500
2501         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
2502         index conversion.
2503
2504 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
2505
2506         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
2507         (DEBUGGER_ARG_OFFSET): Likewise.
2508
2509         * mn10300.md (movsf): Remove last change.  Not needed.
2510
2511 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
2512
2513         * c-lex.c (yylex): Fix boundary conditions in character literal and
2514         string literal loops.
2515
2516 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
2517
2518         * longlong.h (count_leading_zeros): Sparclite scan instruction was
2519         being invoked incorrectly.
2520
2521         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
2522         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 
2523         Add -pg support. 
2524         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
2525         * configure.in: Added i[34567]86-*-win32
2526         * config.sub: Ditto.
2527         * configure: Rebuilt.
2528         
2529 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
2530
2531         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
2532         the frame pointer and compiling PIC code and reload has not completed.
2533
2534         * i386.c (output_to_reg): Add code to emulate non-popping DImode
2535         case.
2536
2537 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
2538
2539         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
2540
2541 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2542
2543         * Makefile.in (install-info): Only try to update the info
2544         directory file if it exists in the first place.
2545
2546 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
2547
2548         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
2549
2550 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
2551
2552         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
2553         CONST_DOUBLE source.
2554
2555 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
2556
2557         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
2558         strings as the insertion of USER_LABEL_PREFIX.
2559         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
2560         valid code.
2561         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
2562         calls. 
2563
2564 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
2565
2566         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
2567         already defined type.
2568
2569 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
2570
2571         * expr.c (check_max_integer_computation_mode): Allow conversions
2572         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
2573         (expand_expr): Likewise.
2574
2575 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
2576
2577         * expr.c (expand_expr): Expand RETURN_EXPR.
2578
2579 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
2580
2581         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
2582
2583 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
2584
2585         * dwarf2out.c (output_aranges):  Call stripattributes
2586         for TEXT_SECTION references.
2587         (output_line_info): Likewise.
2588
2589 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2590
2591         * profile.c (branch_prob): Call allocate_reg_info after outputting
2592         profile rtl in instrument_arcs.
2593
2594 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
2595
2596         * fixinc.irix (math.h): Install wrapper instead of copying.
2597
2598 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
2599
2600         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
2601         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
2602         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
2603         lang_flag_0. Added documentation in the flag table.
2604
2605 Tue Jul 21 23:28:35 1998  Klaus Kaempf <kkaempf@rmi.de>
2606
2607         * cccp.c (do_include): Fix vax c style include handling.
2608
2609 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
2610
2611         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
2612
2613 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
2614
2615         * fold-const.c (non_lvalue): Don't deal with null pointer 
2616         constants here.
2617         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
2618
2619 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2620
2621         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
2622         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
2623         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
2624         (u_short_cint_operand): Same.
2625         (reg_or_cint_operand): Same.
2626         (logical_operand): Same.
2627         (input_operand): Same.
2628         (reg_or_short_operand): Use u_short_cint_operand.
2629
2630 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
2631
2632         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
2633         but keep the insns and splits.  Adjust so when the ultimate destination
2634         is memory, use cvtql.
2635
2636 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
2637
2638         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
2639
2640 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
2641
2642         * gcc.c (do_spec): Call "error" not "warning".
2643
2644         * configure.in: Fix minor problems with gas feature detection code.
2645         * configure: Rebuilt.
2646
2647         * gcc.c (do_spec): Issue a warning for '%[]' usage.
2648
2649         * Undo this change.
2650         * gcc.c: Delete %[spec] support.
2651         (do_spec_1, case '('): Likewise.
2652         (do_spec_1, case '['): Call error.
2653
2654 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
2655
2656         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
2657         (CPP_SUBTARGET_SPEC): Default to empty string.
2658         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
2659         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
2660         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
2661         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
2662         (LIB_SPEC): Tidy.
2663         * alpha/linux.h (CPP_PREDEFINES): Tidy.
2664         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
2665         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
2666         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
2667         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
2668         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
2669         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
2670         * alpha/vxworks.h: Likewise.
2671
2672 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
2673
2674         * mips.md (reload_outsi): Added missing REGNO call.
2675         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
2676         function pointer.
2677         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
2678         another match_operator and compare the codes.
2679
2680         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
2681
2682         * MIPS multiply pattern fixes:
2683         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2684         Add union classes for HI, LO, or HILO plus general registers.
2685         (GENERATE_MADD): Deleted.
2686         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
2687         Add TARGET_MAD to condition.
2688         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
2689         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
2690         "*d" for accumulator, to give preference to LO initially but not
2691         during reload.
2692
2693 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
2694
2695         * configure.in (enable_c_mbchar): New configure option.
2696         (extra_cpp_objs): Always available now.
2697
2698         * cexp.y (mbchar.h): #include it.
2699         (yylex): Handle Multibyte characters in character literals.
2700
2701         * cccp.c (mbchar.h): #include it.
2702         (main): Set character set based on LANG environment variable.
2703         (rescan): Handle multibyte characters in comments.
2704         (skip_if_group): See above.
2705         (validate_else): See above.
2706         (skip_to_end_of_comment): See above.
2707         (macarg1): See above.
2708         (discard_comments): See above.
2709         (rescan): Handle multibyte characters in string and character literals.
2710         (collect_expansion): See above.
2711         (skip_quoted_string): See above.
2712         (macroexpand): See above.
2713         (macarg1): See above.
2714         (discard_comments): See above.
2715         (change_newlines): See above.
2716
2717         * c-lex.c (mbchar.h): #include it.
2718         (GET_ENVIRONMENT): New macro.
2719         (init_lex): Set character set based on LANG environment variable.
2720         (yylex): Handle multibyte characters in character literals.
2721         (yylex): Handle multibyte characters in string literals.
2722
2723         * Makefile.in (mbchar.o): New target.
2724         (cccp$(exeext)): @extra_cpp_objs@ is always available.
2725         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
2726
2727         * mbchar.[ch]: New files for multibyte character handling.
2728
2729 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2730
2731         * jump.c (jump_optimize): When simplifying noop moves and
2732         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
2733         the PUSHes to rewrite in second loop as we did in the first.
2734
2735 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2736
2737         * cplus-dem.c (demangle_nested_args): Make function definition
2738         static to match the prototype.
2739
2740 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
2741
2742         * alloca.c: Respect USE_C_ALLOCA.
2743         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
2744         * gengenrtl.c (xmalloc): Likewise.
2745
2746 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
2747
2748         * loop.h (struct induction): Add no_const_addval.
2749         * loop.c (the_movables, reg_address_cost): New variables.
2750         (init_loop): Init reg_address_cost.
2751         (loop_optimize): Call end_alias_analysis.
2752         (scan_loop): Init the_movables.
2753         (record_giv): Init induction->no_const_addval.
2754         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
2755         [REG]: Rearrange loop search test to catch more cases.
2756         (general_induction_var): Return success not benefit; take an extra
2757         argument for that.  Change all callers.
2758         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
2759         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
2760         [default]: Search the_movables for additional combinations.
2761         (sge_plus_constant, sge_plus): New functions.
2762         (express_from_1): New function.
2763         (express_from): Always define.  Rewrite using express_from_1.
2764         (combine_givs_p): Handle more cases.  Ignore address cost.
2765         (cmp_combine_givs_stats): New function.
2766         (combine_givs_used_once, combine_givs_benefit_from): New functions.
2767         (combine_givs): Rewrite to do best-fit combination.
2768
2769         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
2770         (fold): Do a complete (A*C)+(B*C) association check.
2771
2772 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
2773
2774         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
2775
2776 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
2777
2778         * mn10300.c (MODES_TIEABLE_P): Fix typo.
2779
2780 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw (rearnsha@arm.com)
2781
2782         * tree.c (valid_machine_attribute): Only create a new type variant if
2783         there is a decl to use it.
2784
2785 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
2786
2787         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
2788         a suffix.
2789
2790 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
2791
2792         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
2793         be deleted" 
2794
2795 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
2796
2797         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
2798         Simplify tests for clearing an address register.
2799         (expand_prologue): Corresponding changes.
2800
2801         * mn10300.md (movXX patterns): Make sure the destination is an
2802         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
2803         (logical patterns): Split into expanders + patterns
2804         (zero and sign extension patterns): Similarly.
2805         (shift patterns): Similarly.
2806
2807 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
2808
2809         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
2810         for the sequence, recording base values.
2811
2812 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
2813
2814         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
2815
2816 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
2817
2818         * gcc.c: Remove ANSI-C ism from --help code.
2819
2820         * toplev.c: Support --help with USE_CPPLIB.
2821
2822 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
2823
2824         * configure.in: Rework gas feature code to work with symlink based
2825         source trees.
2826
2827         * extend.texi: Clarify some issues related to local variables
2828         assigned to explicit registers.
2829
2830         * mn10300.md (mulsi): Turn into expander + pattern.
2831
2832         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
2833         alternative.
2834
2835 Tue Jul 14 07:41:59 1998  Richard Earnshaw (rearnsha@arm.com)
2836
2837         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
2838
2839 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
2840
2841         * version.c: Bump again to distinguish mainline tree from the
2842         egcs-1.1 branch.
2843
2844 See ChangeLog.0 for earlier changes.
2845
2846 Local Variables:
2847 add-log-time-format: current-time-string
2848 End: