* gcc.dg/i386-sse-5.c: New test
[official-gcc.git] / gcc / ChangeLog
blob109b0d68fb006619f7af36219f9646ceee1ebd90
1 2004-01-06  Jan Hubicka  <jh@suse.cz>
3         * i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
4         (function_arg_advance):  Do not pass aggregates in SSE; deal handling
5         of MMX_REGPARM.
6         (function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
7         add MMX_REGPARM.
8         * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
9         (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
10         (MMX_REGPARM_MAX): Similarly for -mmmx.
12 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
14         * config/sh/linux.h: Fix comment formatting.
15         * config/sh/netbsd-elf.h: Likewise.
16         * config/sh/sh.c: Likewise.
17         * config/sh/sh.h: Likewise.
18         * config/sh/vxworks.h: Likewise.
20 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
22         * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
23         * toplev.c (output_file_directive): Don't use
24         ASM_OUTPUT_MAIN_SOURCE_FILENAME.
26 2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
27         
28         * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
29         (USING_MMAP): We don't support non-mmap.
30         (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
31         large objects.
32         (struct page_entry): Remove bytes_free.
33         (struct page_table_chain): Remove.
34         (struct globals): Remove page_table member.
35         (loookup_page_table_entry): Function deleted.
36         (set_page_table_entry): Ditto.
37         (ggc_allocated_p): No longer need page table lookups.
38         (ggc_marked_p): Ditto.
39         (alloc_small_page): Don't care about bytes_free anymore.
40         (alloc_large_page): Round up size.
41         (ggc_alloc_zone_1): Mark large objects as such, and calculate
42         their size the new way. 
43         Remove page table lookups and setting.
44         (ggc_get_size): Calculate large object size the new way.
45         (sweep_pages): Redo to account for fact that we no longer have
46         bytes_free.
47         (ggc_collect): No longer need to reincrement bytes_free.
48         (ggc_pch_alloc_object): Handle new large objects properly.
49         (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
51 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
53         * doc/invoke.texi: Remove a page break.
55 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
57         * config/avr/avr.c (avr_output_function_prologue): Remove an
58         extra pair of curly braces.
60 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
62         * config/mn10300/mn10300.c: Fix comment formatting.
63         * config/mn10300/mn10300.h: Likewise.
65 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
67         * tree.h: Update documentation on nothrow_flag.
68         * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
69         types.
71 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
73         * doc/invoke.texi: Remove traces of dead ports.
75 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
77         * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
78         option.
80 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
82         PR target/12945
83         * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
84         counter labels.
85         * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
86         (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
87         string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
88         the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
89         (mips_symbol_insns): Don't trust the local/global classification.
90         (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
91         (override_options): Make -mabicalls -fno-unit-at-a-time imply
92         -mno-explicit-relocs.
93         (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
94         between local and global symbols.
96 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
98         * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
99         (mips_preferred_reload_class): Declare.
100         * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
101         (EXTRA_CONSTRAINT): Update accordingly.
102         (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
103         * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
104         (mips_preferred_reload_class): New function.  Prefer LEA_REGS if
105         mips_dangerous_for_la25_p.
106         (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
107         if mips_dangerous_for_la25_p.
109 2004-01-05  Bernardo Innocenti  <bernie@develer.com>
111         * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
112         warning.        
114 2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
116         * configure.ac: Use AC_PROG_CPP_WERROR.
117         * configure: Regenerate.
119 2004-01-04  Zack Weinberg  <zack@codesourcery.com>
121         * .cvsignore: Add autom4te.cache.
123 2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
125         * doc/invoke.texi: Revamp documentation of MIPS options.  Remove
126         -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
127         -m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
128         then architecture options, then ABI options.  General rewording.
130 2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
132         PR c/3414
133         * doc/extend.texi: Clarify definition of malloc attribute.
135 2004-01-04  Jan Hubicka  <jh@suse.cz>
137         * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
138         * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
139         * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
140         (cgraph_inline_p): Add extra argument reason.
141         * cgraphunit.c: Minor formating fixes.
142         cgraph_first_inlined_callee): New functions.
143         (record_call_1): Record builtins too.
144         (cgraph_analyze_function): Update inline_failed messages.
145         (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
146         cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
147         (cgraph_check_inline_limits): Likewise; Add argument reason.
148         (cgraph_set_inline_failed): New static function.
149         (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
150         reasons.
151         (cgraph_inline_p): Add new argument reason.
152         * tree-inline.c (expand_call_inline):  Update warning.
154 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
156         * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
157         with modern equivalents.
158         * configure: Regenerate.
160         * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
161         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
162         * configure: Regenerate.
164         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
166         * configure.in: Rename to configure.ac.
167         * configure.ac: Renamed from configure.in; make minimum necessary
168         changes for autoconf 2.5x.
169         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
170         * configure: Regenerate with autoconf 2.57.
172 2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
174         * config/mips/linux.h: Fix comment formatting.
175         * config/mips/mips.c: Likewise.
176         * config/mips/mips.h: Likewise.
177         * config/mips/mips.md: Likewise.
178         * config/mips/netbsd.h: Likewise.
179         * config/mips/windiss.h: Likewise.
181 2004-01-02  Richard Henderson  <rth@redhat.com>
183         * config/i386/i386.md (fp constant pool splitter): Reorg suppression
184         for sse and 387; add suppression for mmx.
186 2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
188         * loop.c (loop_optimize): Free all loops_info's mems.
190         * c-typeck.c (finish_init): Free spelling_base before
191         setting it again.
193         * cfgloop.c (flow_loops_find): Always free the sbitmap
194         headers.
196         * predict.c (estimate_probability): Free bbs after being
197         done with it.
199 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
201         * config/mn10300/mn10300.h (PREDICATE_CODES): Add
202         const_8bit_operand and call_address_operand.
204 2004-01-02  Jan Hubicka  <jh@suse.cz>
206         * cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
207         when there is nothing to inline but warnings are requested.
208         (cgraph_decide_inlining):  Fix memory leak.
210 2004-01-02  Jan Hubicka  <jh@suse.cz>
212         * expr.c (store_constructor):  Fix pasto in previous patch.
214 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
216         * config/i386/cygming.h: Fix comment formatting.
217         * config/i386/djgpp.h: Likewise.
218         * config/i386/gthr-win32.c: Likewise.
219         * config/i386/i386-interix.h: Likewise.
220         * config/i386/i386.c: Likewise.
221         * config/i386/i386.h: Likewise.
222         * config/i386/openbsd.h: Likewise.
223         * config/i386/winnt.c: Likewise.
224         * config/i386/xm-mingw32.h: Likewise.
226 2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
228         * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
229         copyright and last modification dates.
231 2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
233         * doc/install.texi (Specific): Mention x86_64.
235 2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
237         * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
238         Call force_operand on plus_constant result.
240 2004-01-01  Jan Hubicka  <jh@suse.cz>
242         * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
243         * expr.c (store_constructor): Use vec_init pattern.
244         * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
245         * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
246         (vec_set_optab, vec_extract_optab, vec_init_optab): New.
247         * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
248         New patterns.
249         (sse2_unpc?pd): Fix pattern.
250         (sse2_movlpd): Kill.
251         (sse2_movsd): Deal with movlpd too.
252         * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
253         (ix86_expand_vector_init): New.
254         * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
255         * md.texi (vec_set, vec_extract): Document
257 2003-12-31  Jan Hubicka  <jh@suse.cz>
259         PR opt/13473
260         * recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
261         ASM input operands
263         PR opt/12617
264         * toplev.c (dump_file_index): Reorder ce3 and bbro.
265         (dump_file): Likewise.
266         (rest_of_compilation): Likewise.
268         PR debug/13367
269         * cgraph.c (cgraph_function_possibly_inlined):  Even with
270         flag_really_no_inline we inline always_inline functions.
271         * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
272         for non-always_inline functions when there is flag_really_no_inline.
273         (cgraph_decide_inlining): Limit work done when not inlining.
274         (cgraph_decide_inlining_incrementally): Likewise.
275         (cgraph_optimize_function): Check whether something got inlined.
276         * c-objc-common.c (c_disregard_inline_limits): Do not always inline
277         extern inline functions when not inlining.
279         * opts.c (decode_options):  Disable crossjumping at -O1
280         * invoke.texi (-O1): Document change.
282 See ChangeLog.10 for earlier changes.