OSDN Git Service

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