OSDN Git Service

2011-11-05 Peter Dufault <dufault@hda.com>,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-11-05  Peter Dufault  <dufault@hda.com>,
2             Sebastian Huber <sebastian.huber@embedded-brains.de>
3
4         * config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
5         Extend rs6000_spe handling.
6
7 2011-11-05  Ralf Cors├ępius  <ralf.corsepius@rtems.org>
8
9         * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
10         Remove -mcpu=601 multilib.
11         Remove -Dmpc8260 multilib.
12         * config/rs6000/rtems.h: Allow --float-gprs=... to override grps
13         on E500 targets.        
14
15 2011-11-05  Quentin Neill  <quentin.neill@amd.com>
16
17         Piledriver f16cintrin.h fix.
18         * config/i386/f16cintrin.h: Contents moved from immintrin.h.
19         * config/config.gcc: Add f16cintrin.h.
20
21 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
22
23         PR c++/50608
24         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
25         to fold_offsetof.
26         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
27
28 2011-11-04  Alan Modra  <amodra@gmail.com>
29
30         * reload1.c (gen_reload): Don't use REGNO on SUBREGs.
31         * print-rtl.c (print_rtx): Don't segfault on negative regno.
32
33 2011-11-04  David S. Miller  <davem@davemloft.net>
34
35         PR target/49965
36         * config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
37         fact that sparc_emit_float_lib_cmp modifies the comparison in
38         operands[1].
39
40 2011-11-04  Ralf Cors├ępius <ralf.corsepius@rtems.org>
41
42         * config/lm32/t-rtems: New.
43         * config.gcc (lm32-*-rtems*): Add t-rtems.
44
45 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
46
47         PR target/50979
48         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
49
50 2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>
51
52         PR rtl-optimization/38644
53         * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
54         for epilogue having stack adjustment.
55
56 2011-11-04  Georg-Johann Lay  <avr@gjlay.de>
57
58         PR target/50931
59         * config/avr/avr-modes.def: New file defining PSImode.
60         * config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
61         __UINT24_MAX__): New built-in defines.
62         * config/avr/avr.md (adjust_len): Add tstpsi, mov24,  reload_in24,
63         ashlpsi, ashrpsi, lshrpsi.
64         (QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
65         (MOVMODE): New mode iterator.
66         (movpsi): New expander.
67         (movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
68         (*reload_inpsi, *movpsi): New insns.
69         (*reload_inpsi): New RTL peephole.
70         (addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
71         *addpsi3_sign_extend.hi): New insns.
72         (subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
73         *subpsi3_sign_extend.hi): New insns.
74         (divmodpsi4, udivmodpsi4): New define insn-and-split.
75         (*divmodpsi4_call, *udivmodpsi4_call): New insns.
76         (andpsi3, iorpsi3, xorpsi3): New insns.
77         (*rotlpsi2.1, *rotlpsi2.23): New insns.
78         (*rotw<mode>): Insn condition only allow even-sized modes.
79         (*rotb<mode>): Insn condition allows odd-sized modes.
80         (ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
81         (negpsi2, one_cmplpsi2): New insns.
82         (extendqipsi2, extendhipsi2, extendpsisi2): New insns.
83         (zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
84         insn-and-splits.
85         (*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
86         (cbranchpsi4): New expander.
87         * config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
88         * config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
89         avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
90         avr_out_reload_inpsi): New prototypes.
91
92         * config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
93         (avr_scalar_mode_supported_p): ...this new static function.
94         (avr_asm_len): Always return "".
95         (avr_out_load_psi, avr_out_store_psi): New static functions.
96         (avr_out_movpsi, avr_out_reload_inpsi): New functions.
97         (avr_out_tstpsi): New function.
98         (avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
99         (avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
100         (avr_simplify_comparison_p): Ditto.
101         (adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
102         ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
103         ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
104         (avr_rtx_costs_1): Report PSI costs.
105         (avr_libcall_value): Handle odd-sized parameters.
106         (avr_init_builtin_int24): New static function to define built-in
107         24-bit types __int24 and __uint24.
108         (avr_init_builtins): Use it.
109
110 2011-11-04  Thomas Doerfler <thomas.doerfler@embedded-brains.de>
111
112         PR target/50989
113         * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
114         support for VFP floating point model.
115
116 2011-11-04  Tristan Gingold  <gingold@adacore.com>
117
118         * config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
119
120 2011-11-04  Ira Rosen  <ira.rosen@linaro.org>
121
122         Unrevert:
123         2011-10-24  Ira Rosen  <ira.rosen@linaro.org>
124
125         PR tree-optimization/50730
126         * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
127         analysis if encountered unsupported data-ref.
128
129 2011-11-04  Jakub Jelinek  <jakub@redhat.com>
130
131         * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
132         function.
133         * config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
134         New prototype.
135         * config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
136         For floatunsv8siv8sf2 require TARGET_AVX2.
137
138         * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
139         XORP argument.  Subtract 0x1p31 instead of 0x1p32.  Use normal
140         signalling comparison instead of non-signalling.  Store into
141         *XORP pseudo holding 0x80000000 integers if 0x1p31 has been
142         subtracted and 0 otherwise.
143         * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
144         Adjust prototype.
145         * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
146         already for TARGET_SSE2.  Xor in vector initialized by
147         ix86_expand_adjust_ufix_to_sfix_si at the end.
148         (vec_pack_ufix_trunc_<mode>): Likewise.
149
150         * tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
151         not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
152         WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
153         vectorizable_type_demotion and vectorizable_type_promotion did.
154         Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
155         is {,un}signed {char,short}.
156         (vect_create_vectorized_demotion_stmts): Fix comment typo.  For
157         recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
158         Push vec_dest back to the vec_dsts vector at the end.
159         (vect_create_vectorized_promotion_stmts): Don't recurse, do just
160         one step.  Removed multi_step_cvt, vec_dsts, slp_node and
161         prev_stmt_info arguments, add vec_dest argument.  Push always
162         into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
163         with vec_tmp at the end after freeing old *vec_oprnd0 vector.
164         (vectorizable_type_demotion, vectorizable_type_promotion): Removed.
165         (vect_analyze_stmt): Don't call vectorizable_type_demotion and
166         vectorizable_type_promotion.  Call vectorizable_conversion even
167         for SLP bb vectorization.
168         (vect_transform_stmt): Call vectorizable_conversion instead of
169         vectorizable_type_demotion and vectorizable_type_promotion.
170         (supportable_widening_operation): Clear *multi_step_cvt first,
171         simplify c1/c2 computation, free *interm_types vector on failure.
172         (supportable_narrowing_operation): Clear *multi_step_cvt first,
173         free *interm_types vector on failure, handle multi-step
174         FIX_TRUNC_EXPR.
175
176 2011-11-04  Tristan Gingold  <gingold@adacore.com>
177
178         * config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
179         argument.  Conditionally generate crash debug info.  Adjust
180         for alpha_funcs_tree removal.
181         (machine_function): Add links field.
182         (alpha_start_function): Conditionally generate crash debug info.
183         (alpha_end_function): Adjust call to alpha_write_linkage.
184         (alpha_funcs): Remove.
185         (links_kind): Remove.
186         (alpha_links): Remove num, target and lkind field.  Add func field.
187         (alpha_links_tree): Remove.
188         (alpha_funcs_tree): Remove.
189         (alpha_need_linkage): Remove.
190         (alpha_use_linkage): Change prototype.  Adjust.
191         (alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
192         Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
193         * config/alpha/alpha-protos.h (alpha_use_linkage): Update.
194         (alpha_need_linkage): Remove.
195         * config/alpha/alpha.md: Update calls to alpha_use_linkage.
196         Adjust calls to alpha_need_linkage.
197
198 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
199
200         * sched-vis.c (print_value): Handle STRICT_LOW_PART.
201
202 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
203
204         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
205         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
206         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
207
208 2011-11-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
209
210         PR target/50978
211         * config/arm/t-bpabi: New file.
212         * config.gcc (arm*-*-linux*): Add arm/t-bpabi to tmake_file for
213         arm*-*-linux-*eabi.
214         (arm*-*-uclinux*): Add arm/t-bpabi to tmake_file for
215         arm*-*-uclinux*eabi.
216         (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi to tmake_file
217         for arm*-*-eabi*.
218
219 2011-11-03  Michael Matz  <matz@suse.de>
220
221         PR bootstrap/50857
222         * configure.ac: Check for -fno-exceptions -fno-rtti.
223         * configure: Regenerate.
224         * Makefile.in (NOEXCEPTION_FLAGS): New flag.
225         (ALL_CXXFLAGS): Use it.
226
227 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
228
229         * config/i386/i386.md: Use {} for multi-line preparation statements.
230
231 2011-11-03  Eric Botcazou  <ebotcazou@adacore.com>
232
233         * config/sparc/sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
234         (movtf_insn_sp32): ...this.
235         (movtf_insn_sp64_no_fpu): Consolidate into...
236         (movtf_insn_sp64): ...this.
237         (movtf_insn_sp64_hq): Do not test TARGET_FPU.
238         * config/sparc/sparc.c (sparc_legitimate_address_p): Likewise.
239
240 2011-11-03  Tristan Gingold  <gingold@adacore.com>
241
242         * config/vms/vms.c (vms_patch_builtins): Fix typo.
243
244 2011-11-03  Richard Guenther  <rguenther@suse.de>
245
246         PR lto/44965
247         * lto-opts.c: Re-implement.
248         * lto-streamer.h (lto_register_user_option): Remove.
249         (lto_read_file_options): Likewise.
250         (lto_reissue_options): Likewise.
251         (lto_clear_user_options): Likewise.
252         (lto_clear_file_options): Likewise.
253         * opts-global.c (post_handling_callback): Remove.
254         (set_default_handlers): Do not set post_handling_callback.
255         (decode_options): Remove LTO specific code.
256         * lto-wrapper.c (merge_and_complain): New function.
257         (run_gcc): Read all input file options and
258         prepend a merged set before the linker driver options.
259         * gcc.c (driver_post_handling_callback): Remove.
260         (set_option_handlers): Do not set post_handling_callback.
261         * opts-common.c (handle_option): Do not call post_handling_callback.
262         * opts.h (struct cl_option_handlers): Remove post_handling_callback.
263
264 2011-11-03  Richard Guenther  <rguenther@suse.de>
265
266         * collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.
267
268 2011-11-03  Martin Jambor  <mjambor@suse.cz>
269
270         * ipa-prop.c (type_change_info): New fields offset, object,
271         known_current_type and multiple_types_encountered.
272         (extr_type_from_vtbl_ptr_store): New function.
273         (check_stmt_for_type_change): Use it, set multiple_types_encountered if
274         the result is different from the previous one.
275         (detect_type_change): Renamed to detect_type_change_1. New parameter
276         comp_type.  Set up new fields in tci, build known type jump
277         functions if the new type can be identified.
278         (detect_type_change): New function.
279         * tree.h (DECL_CONTEXT): Comment new use.
280
281 2011-11-03  Richard Guenther  <rguenther@suse.de>
282
283         PR lto/48217
284         * lto-wrapper.c (get_options_from_collect_gcc_options): Properly
285         decode an encoded literal '.
286
287 2011-11-03  Tristan Gingold  <gingold@adacore.com>
288
289         * collect2.c (main): Add support of -f (response file) on AIX.
290
291 2011-11-03  Ira Rosen  <ira.rosen@linaro.org>
292
293         PR tree-optimization/50912
294         * tree-vectorizer.h (slp_void_p): New.
295         (struct _slp_tree): Replace left and right with children.  Update
296         documentation.
297         (struct _slp_oprnd_info): New.
298         (vect_get_vec_defs): Declare.
299         (vect_get_slp_defs): Update arguments.
300         * tree-vect-loop.c (vect_create_epilog_for_reduction): Call
301         vect_get_vec_defs instead of vect_get_slp_defs.
302         (vectorizable_reduction): Likewise.
303         * tree-vect-stmts.c (vect_get_vec_defs): Remove static, add argument.
304         Update call to vect_get_slp_defs.
305         (vectorizable_conversion): Update call to vect_get_vec_defs.
306         (vectorizable_assignment, vectorizable_shift,
307         vectorizable_operation): Likewise.
308         (vectorizable_type_demotion): Call vect_get_vec_defs instead of
309         vect_get_slp_defs.
310         (vectorizable_type_promotion, vectorizable_store): Likewise.
311         (vect_analyze_stmt): Fix typo.
312         * tree-vect-slp.c (vect_free_slp_tree): Update SLP tree traversal.
313         (vect_print_slp_tree, vect_mark_slp_stmts,
314         vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
315         vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
316         vect_schedule_slp_instance): Likewise.
317         (vect_create_new_slp_node): New.
318         (vect_create_oprnd_info, vect_free_oprnd_info): Likewise.
319         (vect_get_and_check_slp_defs): Pass information about defs using
320         oprnds_info, allow any number of operands.
321         (vect_build_slp_tree): Likewise.  Update calls to
322         vect_get_and_check_slp_defs.  Fix comments.
323         (vect_analyze_slp_instance): Move node creation to
324         vect_create_new_slp_node.
325         (vect_get_slp_defs): Allow any number of operands.
326
327 2011-11-02  Peter Bergner  <bergner@vnet.ibm.com>
328             Iain Sandoe  <iains@gcc.gnu.org>
329
330         * config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define.
331         (get_ppc476_thunk_name): Use it.
332         (rs6000_code_end): Likewise.
333         (macho_branch_islands): Fix typo.
334
335 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
336             Jason Merrill  <jason@redhat.com>
337
338         PR c++/50810
339         * configure.ac: Add -Wno-narrowing to warning options.
340         * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
341
342 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
343
344         PR target/50945
345         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
346         (movdf_insn_sp32): Likewise.  Remove redundant G constraint.
347         (movdf_insn_sp64): Likewise.
348         (DFmode splitter): Do not test TARGET_FPU.
349         (movtf_insn_sp32): Reindent constraints.
350         (movtf_insn_sp32_no_fpu): Likewise.
351         (movtf_insn_sp64): Likewise.
352         (movtf_insn_sp64_hq): Likewise.
353         (movtf_insn_sp64_no_fpu): Likewise.
354
355 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
356
357         PR c++/50956
358         * builtins.c (fold_builtin_memchr): Fix cast.
359
360 2011-11-02  Teresa Johnson  <tejohnson@google.com>
361
362         * config/i386/predicates.md (promotable_binary_operator): Add minus
363         to the list of promotable operators.
364
365 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
366
367         * gthr-single.h, gthr.h: Move to ../libgcc.
368         * gthr-aix.h: Move to ../libgcc/config/rs6000.
369         * gthr-dce.h: Move to ../libgcc/config/pa.
370         * gthr-lynx.h: Move to ../libgcc/config.
371         * gthr-mipssde.h: Move to ../libgcc/config/mips.
372         * gthr-posix.h: Move to ../libgcc/config.
373         * gthr-rtems.h: Likewise.
374         * gthr-tpf.h: Move to ../libgcc/config/s390.
375         * gthr-vxworks.h: Move to ../libgcc/config.
376         * gthr-win32.h: Move to ../libgcc/config/i386.
377         * configure.ac (gthread_flags): Remove
378         (gthr-default.h): Don't create.
379         (thread_file): Don't substitute.
380         * configure: Regenerate.
381         * Makefile.in (GCC_THREAD_FILE): Remove.
382         (GTHREAD_FLAGS): Remove.
383         (libgcc.mvars): Remove GTHREAD_FLAGS.
384         * config/t-vxworks (EXTRA_HEADERS): Remove.
385
386 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
387             Paolo Bonzini  <bonzini@gnu.org>
388
389         * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
390         * configure: Regenerate.
391         * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
392         (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list).
393         (libgcc_tm.h, cs-libgcc_tm.h): Remove.
394         (clean): Remove libgcc_tm.h
395         * mkconfig.sh: Don't include libgcc_tm.h in tm.h.
396         * config.gcc (libgcc_tm_file): Remove.
397         (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi.
398         (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi.
399         (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file.
400         (avr-*-rtems*): Likewise.
401         (avr-*-*): Likewise.
402         (frv-*-elf): Likewise.
403         (frv-*-*linux*): Likewise.
404         (h8300-*-rtems*): Likewise.
405         (h8300-*-elf*): Likewise.
406         (i[34567]86-*-darwin*): Likewise.
407         (x86_64-*-darwin*): Likewise.
408         (rx-*-elf*): Likewise.
409         (tic6x-*-elf): Likewise.
410         (tic6x-*-uclinux): Likewise.
411         (i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
412
413 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
414
415         * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
416         (LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
417         (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
418         (INCLUDES_FOR_TARGET): Remove.
419         (LIBGCC2_CFLAGS): Don't export.
420         (LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
421         Remove.
422         (libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
423         (libgcc.mvars): Likewise.
424         Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
425         LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
426         TARGET_LIBGCC2_CFLAGS.
427         Emit GTHREAD_FLAGS.
428         * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
429         * config/darwin-64.c: Move to ../libgcc/config.
430         * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
431         config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
432         config/udivmodsi4.c: Move to ../libgcc/config.
433         * config/gthr-posix.c: Move to ../libgcc/config/alpha.
434         * config/memcmp.c, config/memcpy.c, config/memmove.c,
435         config/memset.c: Move to ../libgcc/config.
436         * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
437         * config/t-freebsd: Remove.
438         * config/t-freebsd-thread: Move to ../libgcc/config.
439         * config/t-libgcc-pic: Move to ../libgcc/config.
440         * config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
441         * config/t-linux: Remove.
442         * config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
443         Remove.
444         * config/t-openbsd-thread: Move to ../libgcc/config.
445         * config/t-rtems (LIBGCC2_INCLUDES): Remove.
446         * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
447         * config/t-svr4: Remove.
448         * config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
449         (LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
450         * config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
451         * config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
452         * config/alpha/t-alpha, config/alpha/t-ieee: Remove.
453         * config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC): Remove.
454         * config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
455         * config/arm/bpabi.c, config/arm/unaligned-funcs.c,
456         config/arm/fp16.c, config/arm/linux-atomic.c,
457         config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
458         * config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
459         (TARGET_LIBGCC2_CFLAGS): Remove.
460         * config/arm/t-bpabi, config/arm/t-linux: Remove.
461         * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
462         (LIB2FUNCS_STATIC_EXTRA): Remove.
463         * config/arm/t-netbsd: Remove.
464         * config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
465         (TARGET_LIBGCC2_CFLAGS): Remove.
466         * config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
467         * config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
468         (TARGET_LIBGCC2_CFLAGS): Remove.
469         * config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
470         (LIBGCC, INSTALL_LIBGCC): Remove.
471         * config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
472         * config/bfin/t-bfin-linux: Likewise.
473         * config/bfin/t-bfin-uclinux: Likewise.
474         * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
475         config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
476         config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
477         config/c6x/ltf.c: Move to ../libgcc/config/c6x.
478         * config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA): Remove.
479         * config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
480         * config/cris/arit.c: Move to ../libgcc/config/cris.
481         * config/cris/cris_abi_symbol.c: Remove.
482         * config/cris/cris.h: Remove obsolete comment.
483         * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
484         * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
485         ($(LIB2FUNCS_EXTRA)): Remove.
486         * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
487         (LIBGCC): Remove.
488         * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
489         * config/fr30/t-fr30: Remove.
490         * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
491         config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
492         config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
493         to ../libgcc/config/frv.
494         * config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
495         (cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
496         (ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
497         * config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
498         * config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
499         config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
500         config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
501         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
502         (LIBGCC, INSTALL_LIBGCC): Remove.
503         * config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
504         * config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
505         * config/i386/t-cygwin: Remove.
506         * config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
507         (LIB2FUNCS_EXCLUDE): Remove.
508         * config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
509         (LIBGCC, INSTALL_LIBGCC): Remove.
510         * config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
511         * config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
512         * config/i386/t-mingw-w32: Likewise.
513         * config/i386/t-mingw-w64: Likewise.
514         * config/i386/t-openbsd: Likewise.
515         * config/i386/t-nto: Remove.
516         * config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
517         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
518         (quadlib.c): Remove.
519         * config/ia64/t-ia64: Remove comment.
520         * config/iq2000/lib2extra-funcs.c: Move to
521         ../libgcc/config/iq2000/lib2funcs.c.
522         * config/iq2000/t-iq2000: Remove.
523         * config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
524         * config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
525         * config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
526         * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
527         * config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
528         (INSTALL_LIBGCC): Remove.
529         * config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
530         * config/m68k/t-floatlib: Remove.
531         * config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
532         * config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
533         Fix typo.
534         (LIBGCC, INSTALL_LIBGCC): Remove.
535         * config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
536         * config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
537         * config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
538         * config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
539         (INSTALL_LIBGCC): Remove.
540         * config/mips/t-isa3264: Likewise.
541         * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
542         * config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
543         (INSTALL_LIBGCC): Remove.
544         * config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
545         * config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
546         (INSTALL_LIBGCC): Remove.
547         * config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
548         (LIB2FUNCS_STATIC_EXTRA): Remove.
549         * config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
550         * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
551         * config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
552         * config/pa/fptr.c, config/pa/linux-atomic.c: Move to
553         ../libgcc/config/pa.
554         * config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
555         * config/pa/quadlib.c: Move to ../libgcc/config/pa.
556         * config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
557         * config/pa/t-linux, config/pa/t-linux64: Remove.
558         * config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
559         config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
560         * config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
561         Remove.
562         * config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
563         * config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
564         (TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
565         * config/rs6000/crtresfpr.asm: Move to
566         ../libgcc/config/rs6000/crtresfpr.S.
567         * config/rs6000/crtresgpr.asm: Move to
568         ../libgcc/config/rs6000/crtresgpr.S.
569         * config/rs6000/crtresxfpr.asm: Move to
570         ../libgcc/config/rs6000/crtresxfpr.S.
571         * config/rs6000/crtresxgpr.asm: Move to
572         ../libgcc/config/rs6000/crtresxgpr.S.
573         * config/rs6000/crtsavfpr.asm: Move to
574         ../libgcc/config/rs6000/crtsavfpr.S.
575         * config/rs6000/crtsavgpr.asm: Move to
576         ../libgcc/config/rs6000/crtsavgpr.S.
577         * config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
578         * config/rs6000/darwin-fpsave.asm: Move to
579         ../libgcc/config/rs6000/darwin-fpsave.S.
580         * config/rs6000/darwin-gpsave.asm: Move to
581         ../libgcc/config/rs6000/darwin-gpsave.S.
582         * config/rs6000/darwin-tramp.asm: Move to
583         ../libgcc/config/rs6000/darwin-tramp.S.
584         * config/rs6000/darwin-vecsave.asm: Move to
585         ../libgcc/config/rs6000/darwin-vecsave.S.
586         * config/rs6000/darwin-world.asm: Move to
587         ../libgcc/config/rs6000/darwin-world.S.
588         * config/rs6000/e500crtres32gpr.asm: Move to
589         ../libgcc/config/rs6000/e500crtres32gpr.S.
590         * config/rs6000/e500crtres64gpr.asm: Move to
591         ../libgcc/config/rs6000/e500crtres64gpr.S.
592         * config/rs6000/e500crtres64gprctr.asm: Move to
593         ../libgcc/config/rs6000/e500crtres64gprctr.S.
594         * config/rs6000/e500crtrest32gpr.asm: Move to
595         ../libgcc/config/rs6000/e500crtrest32gpr.S.
596         * config/rs6000/e500crtrest64gpr.asm: Move to
597         ../libgcc/config/rs6000/e500crtrest64gpr.S.
598         * config/rs6000/e500crtresx32gpr.asm: Move to
599         ../libgcc/config/rs6000/e500crtresx32gpr.S.
600         * config/rs6000/e500crtresx64gpr.asm: Move to
601         ../libgcc/config/rs6000/e500crtresx64gpr.S.
602         * config/rs6000/e500crtsav32gpr.asm: Move to
603         ../libgcc/config/rs6000/e500crtsav32gpr.S.
604         * config/rs6000/e500crtsav64gpr.asm: Move to
605         ../libgcc/config/rs6000/e500crtsav64gpr.S.
606         * config/rs6000/e500crtsav64gprctr.asm: Move to
607         ../libgcc/config/rs6000/e500crtsav64gprctr.S.
608         * config/rs6000/e500crtsavg32gpr.asm: Move to
609         ../libgcc/config/rs6000/e500crtsavg32gpr.S.
610         * config/rs6000/e500crtsavg64gpr.asm: Move to
611         ../libgcc/config/rs6000/e500crtsavg64gpr.S.
612         * config/rs6000/e500crtsavg64gprctr.asm: Move to
613         ../libgcc/config/rs6000/e500crtsavg64gprctr.S.
614         * config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
615         * config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
616         (TARGET_LIBGCC2_CFLAGS): Remove.
617         * config/rs6000/t-aix52: Likewise.
618         * config/rs6000/t-darwin: Remove.
619         * config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
620         (LIB2FUNCS_EXTRA): Remove.
621         * config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
622         * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
623         * config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
624         (INSTALL_LIBGCC): Remove.
625         * config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
626         (LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
627         (crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
628         (INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
629         ($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext))
630         ($(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
631         * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
632         (LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
633         * config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
634         * config/rs6000/t-vxworks: Remove comment.
635         * config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
636         * config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
637         * config/sh/linux-atomic.asm: Move to
638         ../libgcc/config/sh/linux-atomic.S.
639         * config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
640         * config/sh/t-netbsd: Remove.
641         * config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
642         Remove.
643         * config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
644         * config/sparc/t-leon: Likewise.
645         * config/sparc/t-leon3: Likewise.
646         * config/sparc/t-linux64: Likewise.
647         * config/sparc/t-netbsd64: Fix typo.
648         Remove comment.
649         * config/spu/divmodti4.c, config/spu/divv2df3.c,
650         config/spu/float_disf.c, config/spu/float_unsdidf.c,
651         config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
652         config/spu/mfc_multi_tag_release.c,
653         config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
654         config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
655         config/spu/multi3.c: Move to ../libgcc/config/spu.
656         * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
657         (LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
658         (INSTALL_LIBGCC): Remove.
659         * config/stormy16/stormy16-lib2.c: Move to
660         ../libgcc/config/stormy16/lib2.c.
661         * config/stormy16/stormy16-lib2-ashlsi3.c: Move to
662         ../libgcc/config/stormy16/ashlsi3.c.
663         * config/stormy16/stormy16-lib2-ashrsi3.c: Move to
664         ../libgcc/config/stormy16/ashrsi3.c.
665         * config/stormy16/stormy16-lib2-clzhi2.c: Move to
666         ../libgcc/config/stormy16/clzhi2.c.
667         * config/stormy16/stormy16-lib2-cmpsi2.c: Move to
668         ../libgcc/config/stormy16/cmpsi2.c.
669         * config/stormy16/stormy16-lib2-ctzhi2.c: Move to
670         ../libgcc/config/stormy16/ctzhi2.c.
671         * config/stormy16/stormy16-lib2-divsi3.c: Move to
672         ../libgcc/config/stormy16/divsi3.c.
673         * config/stormy16/stormy16-lib2-ffshi2.c: Move to
674         ../libgcc/config/stormy16/ffshi2.c.
675         * config/stormy16/stormy16-lib2-lshrsi3.c: Move to
676         ../libgcc/config/stormy16/lshrsi3.c.
677         * config/stormy16/stormy16-lib2-modsi3.c: Move to
678         ../libgcc/config/stormy16/modsi3.c.
679         * config/stormy16/stormy16-lib2-parityhi2.c: Move to
680         ../libgcc/config/stormy16/parityhi2.c.
681         * config/stormy16/stormy16-lib2-popcounthi2.c: Move to
682         ../libgcc/config/stormy16/popcounthi2.c.
683         * config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
684         ../libgcc/config/stormy16/ucmpsi2.c.
685         * config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
686         ../libgcc/config/stormy16/udivmodsi4.c.
687         * config/stormy16/stormy16-lib2-udivsi3.c: Move to
688         ../libgcc/config/stormy16/udivsi3.c.
689         * config/stormy16/stormy16-lib2-umodsi3.c: Move to
690         ../libgcc/config/stormy16/umodsi3.c.
691         * config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
692         * config/v850/t-v850 (INSTALL_LIBGCC): Remove.
693         * config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
694         * config/xtensa/t-elf: Remove.
695         * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
696         * config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
697         from tmake_file.
698         (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
699         *-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
700         (*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
701         (*-*-openbsd*): Likewise.
702         Remove t-openbsd-thread for posix threads.
703         (alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee from tmake_file.
704         (alpha*-*-freebsd*): Likewise.
705         (alpha*-*-netbsd*): Likewise.
706         (alpha*-*-openbsd*): Likewise.
707         (alpha64-dec-*vms*): Likewise.
708         (alpha*-dec-*vms*): Likewise.
709         (arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
710         (arm*-*-linux*): Remove t-linux from tmake_file.
711         Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
712         (arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
713         arm*-*-uclinux*eabi.
714         (arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
715         tmake_file for arm*-*-eabi*.
716         (fr30-*-elf): Remove tmake_file.
717         (hppa*64*-*-linux*): Remove tmake_file.
718         (hppa*-*-linux*): Likewise.
719         (hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
720         tmake_file.
721         (hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
722         (hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
723         tmake_file.
724         (i[34567]86-*-elf*): Remove tmake_file.
725         (x86_64-*-elf*): Likewise.
726         (i[34567]86-*-nto-qnx*): Likewise.
727         (i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
728         (i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
729         from tmake_file if using win32 threads.
730         (iq2000*-*-elf*): Remove tmake-file.
731         (microblaze*-linux*): Likewise.
732         (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
733         (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
734         (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
735         (sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
736         sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
737         (xtensa*-*-elf*): Remove tmake_file.
738
739 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
740
741         * Makefile.in (LIB1ASMSRC): Don't export.
742         (libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
743         * config/arm/arm.c: Update lib1funcs.asm filename.
744         * config/arm/linux-eabi.h: Likewise.
745         * config/arm/bpabi-v6m.S, config/arm/bpabi.S,
746         config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
747         ../libgcc/config/arm.
748         * config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
749         * config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
750         * config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
751         * config/arm/t-bpabi: Likewise.
752         * config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
753         * config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
754         * config/arm/t-strongarm-elf: Likewise.
755         * config/arm/t-symbian: Likewise.
756         * config/arm/t-vxworks: Likewise.
757         * config/arm/t-wince-pe: Likewise.
758         * config/avr/libgcc.S: Move to ../libgcc/config/avr.
759         * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
760         * config/bfin/lib1funcs.asm: Move to ../libgcc/config/bfin/lib1funcs.S.
761         * config/bfin/t-bfin: Remove.
762         * config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
763         * config/bfin/t-bfin-linux: Likewise.
764         * config/bfin/t-bfin-uclinux: Likewise.
765         * config/c6x/lib1funcs.asm: Move to ../libgcc/config/c6x/lib1funcs.S.
766         * config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
767         * config/fr30/lib1funcs.asm: Move to ../libgcc/config/fr30/lib1funcs.S.
768         * config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
769         * config/frv/lib1funcs.asm: Move to ../libgcc/config/frv/lib1funcs.S.
770         * config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
771         * config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
772         * config/h8300/lib1funcs.asm: Move to
773         ../libgcc/config/h8300/lib1funcs.S.
774         * config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
775         * config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
776         * config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
777         * config/i386/t-interix: Likewise.
778         * config/ia64/lib1funcs.asm: Move to ../libgcc/config/ia64/lib1funcs.S.
779         * config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
780         * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
781         * config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
782         * config/m32c/m32c.c: Update m32c-lib1.S filename.
783         * config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
784         * config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
785         * config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
786         * config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
787         * config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
788         * config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
789         * config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
790         * config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
791         * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
792         * config/mips/mips16.S: Move to ../libgcc/config/mips.
793         * config/mips/t-libgcc-mips16: Remove.
794         * config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
795         * config/pa/milli64.S: Move to ../libgcc/config/pa.
796         * config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
797         * config/pa/t-linux64: Likewise.
798         * config/picochip/libgccExtras/fake_libgcc.asm: Move to
799         ../libgcc/config/picochip/lib1funcs.S.
800         * config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
801         * config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
802         * config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
803         * config/sh/sh.h: Update lib1funcs.asm filename.
804         * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
805         * config/sh/t-netbsd: Likewise.
806         * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
807         Remove.
808         * config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
809         * config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
810         * config/sparc/lb1spl.asm: Remove.
811         * config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
812         * config/sparc/t-leon: Likewise.
813         * config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
814         * config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
815         * config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
816         * config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
817         * config/vax/t-linux: Remove.
818         * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
819         ../libgcc/config/xtensa.
820         * config/xtensa/lib1funcs.asm: Move to
821         ../libgcc/config/xtensa/lib1funcs.S.
822         * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
823         * config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
824         (bfin*-*): Likewise.
825         (mips64*-*-linux*, mipsisa64*-*-linux*): Remove
826         mips/t-libgcc-mips16 from tmake_file.
827         (mips*-*-linux*): Likewise.
828         (mips*-sde-elf*): Likewise.
829         (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
830         (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
831         (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
832         (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
833         (mips-*-elf*, mipsel-*-elf*): Likewise.
834         (mips64-*-elf*, mips64el-*-elf*): Likewise.
835         (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
836         (mips*-*-rtems*): Likewise.
837         (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
838         (vax-*-linux*): Remove vax/t-linux from tmake_file.
839
840 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
841
842         * config.gcc (extra_parts): Remove.
843         (*-*-freebsd*): Remove extra_parts.
844         (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
845         *-*-gnu*, *-*-kopensolaris*-gnu): Likewise.
846         (*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file.
847         Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
848         *-*-netbsdelf[2-9]*.
849         (*-*-openbsd*): Remove t-libc-ok from tmake_file.
850         (alpha*-*-linux*): Remove extra_parts.
851         (alpha*-*-freebsd*): Likewise.
852         (bfin*-linux-uclibc*): Likewise.
853         (fr30-*-elf): Likewise.
854         (moxie-*-elf): Likewise.
855         (moxie-*-uclinux*): Likewise.
856         (h8300-*-rtems*): Remove h8300/t-elf from tmake_file.
857         (h8300-*-elf*): Likewise.
858         (hppa*64*-*-hpux11*): Remove extra_parts.
859         (i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from
860         tmake_file.
861         (x86_64-*-elf*): Likewise.
862         (i[34567]86-*-freebsd*): Remove tmake_file.
863         (x86_64-*-freebsd*): Likewise.
864         (x86_64-*-netbsd*): Likewise.
865         (i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove
866         t-libc-ok from tmake_file.
867         (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
868         i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
869         i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from
870         tmake_file.
871         Remove extra_parts.
872         (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
873         Remove i386/t-crtstuff from tmake_file.
874         (i[34567]86-*-lynxos*): Likewise.
875         Remove extra_parts.
876         (ia64*-*-elf*): Remove extra_parts.
877         (ia64*-*-freebsd*): Likewise.
878         (ia64*-*-linux*): Likewise.
879         (ia64-hp-*vms*): Remove ia64/t-vms from tmake_file.
880         (m32r-*-elf*): Remove extra_parts.
881         (m32rle-*-elf*): Likewise.
882         (m32r-*-rtems*): Likewise.
883         (m68k-*-elf*, fido-*-elf*): Likewise.
884         (m68k*-*-openbsd*): Remove t-libc-ok from tmake_file.
885         (m68k-*-rtems*): Remove extra_parts.
886         (mep-*-*): Likewise.
887         (microblaze*-linux*): Likewise.
888         (mips64*-*-linux*, mipsisa64*-*-linux*): Likewise.
889         (mips*-*-linux*): Likewise.
890         (powerpc-*-lynxos*): Likewise.
891         (s390x-ibm-tpf*): Likewise.
892         (score-*-elf): Likewise.
893         Remove tmake_file.
894         (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*, sh[2346lbe]*-*-linux*,
895         sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*, sh5l*-*-netbsd*,
896         sh64-*-netbsd*, sh64l*-*-netbsd*): Remove sh/t-elf from tmake_file.
897         Remove sh/t-superh from tmake_file for sh*-superh-elf.
898         Remove sh/t-linux64 from tmake_file for sh64*-*-linux*.
899         (sh-*-rtems*): Remove sh/t-elf from tmake_file.
900         (sh-wrs-vxworks): Likewise.
901         (sparc-*-linux*): Remove extra_parts.
902         (sparc64-*-linux*): Likewise.
903         (sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise.
904         (xstormy16-*-elf): Likewise.
905         (xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file.
906         (am33_2.0-*-linux*): Remove extra_parts.
907         * configure.ac (extra_parts): Don't substitute.
908         * configure: Regenerate.
909         * crtstuff.c: Move to ../libgcc.
910         * Makefile.in (CRTSTUFF_CFLAGS): Remove.
911         (EXTRA_PARTS): Remove.
912         (CRTSTUFF_T_CFLAGS): Remove.
913         (MOSTLYCLEANFILES): Remove $(EXTRA_PARTS).
914         (GCC_EXTRA_PARTS): Remove.
915         (libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS,
916         CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S.
917         Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS.
918         ($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o)
919         ($(T)crtbeginT.o): Remove.
920         * config/alpha/t-vms (EXTRA_PARTS): Remove.
921         ($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove.
922         * config/alpha/vms-dwarf2.asm: Move to
923         ../libgcc/config/alpha/vms-dwarf2.S.
924         * config/alpha/vms-dwarf2eh.asm: Move to
925         ../libgcc/config/alpha/vms-dwarf2eh.S.
926         * config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S.
927         * config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S.
928         * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove.
929         ($(T)crti.o, $(T)crtn.o): Remove.
930         * config/arm/t-linux: Remove comment.
931         * config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove.
932         * config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove.
933         ($(T)crti.o, $(T)crtn.o): Remove.
934         * config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove.
935         * config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S.
936         * config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S.
937         * config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S.
938         * config/bfin/t-bfin (EXTRA_PARTS): Remove.
939         ($(T)crti.o, $(T)crtn.o): Remove.
940         * config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove.
941         ($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove
942         (EXTRA_MULTILIB_PARTS): Remove.
943         * config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS,
944         EXTRA_MULTILIB_PARTS): Remove.
945         * config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove.
946         ($(T)crtlibid.o): Remove.
947         (EXTRA_MULTILIB_PARTS): Remove.
948         * config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S.
949         * config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S.
950         * config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove.
951         (EXTRA_MULTILIB_PARTS): Remove.
952         (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
953         * config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS,
954         CRTSTUFF_T_CFLAGS_S): Remove.
955         * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove.
956         * config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
957         * config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S.
958         * config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S.
959         * config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove.
960         * config/frv/frvbegin.c, config/frv/frvend.c: Move to
961         ../libgcc/config/frv.
962         * config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove.
963         (FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove.
964         * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove.
965         (CRTSTUFF_T_CFLAGS): Remove.
966         * config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S.
967         * config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S.
968         * config/h8300/t-elf: Remove.
969         * config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
970         Move to ../libgcc/config/i386.
971         * config/i386/t-crtstuff: Remove.
972         * config/i386/t-i386elf: Remove.
973         * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
974         * config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove.
975         * config/ia64/crtbegin.asm: Move to ../libgcc/config/ia64/crtbegin.S.
976         * config/ia64/crtend.asm: Move to ../libgcc/config/ia64/crtend.S.
977         * config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S.
978         * config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S.
979         * config/ia64/t-vms: Remove.
980         * config/ia64/vms-crtinit.asm: Move to
981         ../libgcc/config/ia64/vms-crtinit.S.
982         * config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove.
983         * config/m32r/initfini.c: Move to ../libgcc/config/m32r.
984         * config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
985         * config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove.
986         ($(T)crtinit.o, $(T)crtfini.o): Remove.
987         (m32rx, m32r2): Remove.
988         (EXTRA_MULTILIB_PARTS): Remove.
989         * config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S.
990         * config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S.
991         * config/m68k/t-crtstuff: Remove.
992         * config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove.
993         * config/m68k/t-m68kelf: Remove.
994         * config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove.
995         * config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S.
996         * config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S.
997         * config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove.
998         (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
999         * config/mep/t-mep (CRTSTUFF_CFLAGS): Remove.
1000         (EXTRA_MULTILIB_PARTS): Remove.
1001         * config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S.
1002         * config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S.
1003         * config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS,
1004         EXTRA_PARTS): Remove.
1005         ($(T)crti$(objext), $(T)crtn$(objext)): Remove.
1006         * config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S.
1007         * config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S.
1008         * config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove.
1009         ($(T)crti.o, $(T)crtn.o): Remove.
1010         (EXTRA_MULTILIB_PARTS): Remove.
1011         * config/mips/t-isa3264: Likewise.
1012         * config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
1013         * config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove.
1014         (CRTSTUFF_T_CFLAGS): Remove.
1015         * config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove.
1016         ($(T)crti.o, $(T)crtn.o): Remove.
1017         (EXTRA_MULTILIB_PARTS): Remove.
1018         * config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS):
1019         Remove.
1020         ($(T)crti.o, $(T)crtn.o): Remove.
1021         * config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove.
1022         * config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove.
1023         (EXTRA_MULTILIB_PARTS): Remove.
1024         ($(T)crti.o, $(T)crtn.o): Remove.
1025         * config/mmix/crti.asm: Move to ../libgcc/config/crti.S.
1026         * config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S.
1027         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove.
1028         * config/moxie/crti.asm, config/moxie/crtn.asm: Remove.
1029         * config/pa/stublib.c: Move to libgcc/config/pa.
1030         * config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
1031         * config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove.
1032         * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove.
1033         (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
1034         (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
1035         ($(T)libgcc_stub.a): Remove.
1036         * config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove.
1037         (rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o)
1038         (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
1039         (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
1040         ($(T)libgcc_stub.a): Remove.
1041         * config/rs6000/eabi-cn.asm: Move to
1042         ../../../libgcc/config/rs6000/eabi-cn.S.
1043         * config/rs6000/eabi-ci.asm: Move to
1044         ../../../libgcc/config/rs6000/eabi-ci.S.
1045         * config/rs6000/sol-ci.asm: Move to
1046         ../../../libgcc/config/rs6000/sol-ci.S.
1047         * config/rs6000/sol-cn.asm: Move to
1048         ../../../libgcc/config/rs6000/sol-cn.S.
1049         * config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove.
1050         (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
1051         * config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
1052         Remove.
1053         (EXTRA_MULTILIB_PARTS): Remove.
1054         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove.
1055         (ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
1056         ($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext),
1057         ($(T)ncrtn$(objext)): Remove.
1058         (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
1059         * config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
1060         * config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove.
1061         * config/score/crti.asm: Move to ../libgcc/config/score/crti.S.
1062         * config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S.
1063         * config/score/t-score-elf: Remove.
1064         * config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S.
1065         * config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S.
1066         * config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S.
1067         * config/sh/lib1funcs-4-300.asm: Move to
1068         ../../../libgcc/config/sh/lib1funcs-4-300.S.
1069         * config/sh/lib1funcs-Os-4-200.asm: Move to
1070         ../libgcc/config/sh/lib1funcs-Os-4-200.S.
1071         * config/sh/t-elf: Remove.
1072         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove.
1073         * config/sh/t-linux64: Remove.
1074         * config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove.
1075         * config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove.
1076         (IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
1077         ($(T)ic_invalidate_array_4-100.o)
1078         ($(T)libic_invalidate_array_4-100.a)
1079         ($(T)ic_invalidate_array_4-200.o)
1080         ($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o)
1081         ($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o)
1082         ($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o)
1083         ($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o)
1084         ($(T)libgcc-4-300.a): Remove.
1085         * config/sh/t-superh: Remove.
1086         * config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
1087         * config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove.
1088         * config/spu/cache.S: Move to ../libgcc/config/spu.
1089         * config/spu/cachemgr.c: Move to ../libgcc/config/spu.
1090         * config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove.
1091         (EXTRA_MULTILIB_PARTS): Remove.
1092         ($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove.
1093         ($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o)
1094         ($(T)cache64k.o, $(T)cache128k.o): Remove.
1095         * config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove.
1096         * config/t-libc-ok: Remove.
1097         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
1098         * config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove.
1099         * config/t-netbsd: Remove.
1100         * config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove.
1101         * config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
1102         * config/vms/t-vms (VMS_EXTRA_PARTS): Remove.
1103         ($(T)vcrt0.o, $(T)pcrt0.o): Remove.
1104         * config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms.
1105         * config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S.
1106         * config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S.
1107         * config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
1108         (EXTRA_MULTILIB_PARTS): Remove.
1109         * config/xtensa/t-linux: Remove.
1110         * config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove.
1111
1112 2011-11-02  Uros Bizjak  <ubizjak@gmail.com>
1113
1114         * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use
1115         CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2.
1116
1117 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1118
1119         PR translation/45116
1120         * Makefile.in (slibdir): Remove, don't export.
1121         (SHLIB_NM_FLAGS): Remove.
1122         (libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
1123         SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
1124         SHLIB_MAPFILES, SHLIB_NM_FLAGS.
1125         (DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
1126         (gcc.o): Pass SHLIB instead of SHLIB_LINK.
1127         (gccspec.o): Likewise.
1128         (installdirs): Don't create $(DESTDIR)$(slibdir).
1129         * configure.ac (slibdir): Remove.
1130         * configure: Regenerate.
1131         * libgcc-libsystem.ver: Move to ../libgcc/config.
1132         * mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
1133         * config/libgcc-glibc.ver: Move to ../libgcc/config.
1134         * config/t-libunwind (SHLIB_LC): Remove.
1135         * config/t-linux (SHLIB_MAPFILES): Remove.
1136         * config/t-slibgcc-dummy: Rename to config/t-slibgcc.
1137         * config/t-slibgcc-elf-ver: Remove.
1138         * config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
1139         ../libgcc/config.
1140         * config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
1141         to ../libgcc/config/alpha.
1142         * config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
1143         SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
1144         SHLIB_SYMVECX2, SHLIB_LINK): Remove.
1145         * config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
1146         * config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
1147         * config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
1148         SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
1149         * config/arm/t-symbian (SHLIB_LC): Remove.
1150         * config/bfin/libgcc-bfin.ver: Move to
1151         ../libgcc/config/bfin/libgcc-glibc.ver.
1152         * config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
1153         * config/c6x/libgcc-c6xeabi.ver: Move to
1154         ../libgcc/config/c6x/libgcc-eabi.ver.
1155         * config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
1156         * config/cris/libgcc.ver: Move to
1157         ../libgcc/config/cris/libgcc-glibc.ver.
1158         * config/cris/t-linux (SHLIB_MAPFILES): Remove.
1159         * config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
1160         * config/frv/t-linux (SHLIB_MAPFILES): Remove.
1161         * config/i386/darwin-libgcc.10.4.ver: Move to
1162         ../libgcc/config/i386/libgcc-darwin.10.4.ver.
1163         * config/i386/darwin-libgcc.10.5.ver: Move to
1164         ../libgcc/config/i386/libgcc-darwin.10.5.ver.
1165         * config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
1166         * config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
1167         SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
1168         SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
1169         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES): Remove.
1170         * config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
1171         SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
1172         * config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
1173         ../libgcc/config/i386.
1174         * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
1175         ../libgcc/config/i386.
1176         * config/i386/t-linux: Move to ../libgcc/config/i386.
1177         * config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
1178         * config/i386/t-mingw-w32 (SHLIB_LC): Remove.
1179         * config/i386/t-mingw-w64: Likewise.
1180         * config/i386/t-mingw32: Remove.
1181         * config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
1182         to ../libgcc/config/ia64.
1183         * config/ia64/t-glibc: Remove.
1184         * config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
1185         * config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
1186         * config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
1187         SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
1188         * config/ia64/vms_symvec_libgcc_s.opt: Remove.
1189         * config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
1190         * config/m32r/t-linux (SHLIB_MAPFILES): Remove.
1191         * config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
1192         * config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
1193         * config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
1194         * config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
1195         Move to ../libgcc/config/pa.
1196         * config/rs6000/darwin-libgcc.10.4.ver: Move to
1197         ../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
1198         * config/rs6000/darwin-libgcc.10.5.ver: Move to
1199         ../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
1200         * config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
1201         SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
1202         * config/rs6000/t-aix52: Likewise.
1203         * config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
1204         ../libgcc/config/sh.
1205         * config/sparc/libgcc-sparc-glibc.ver: Move to
1206         ../libgcc/config/sparc/libgcc-glibc.ver.
1207         * config/sparc/t-linux: Move to ../libgcc/config/sparc.
1208         * config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
1209         * config/xtensa/libgcc-xtensa.ver: Move to
1210         ../libgcc/config/xtensa/libgcc-glibc.ver.
1211         * config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
1212         t-slibgcc in tmake_file.
1213         Remove t-slibgcc-nolc-override for *-*-freebsd[34],
1214         *-*-freebsd[34].* with pthreads.
1215         (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
1216         *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
1217         t-slibgcc-elf-ver with t-slibgcc in tmake_file.
1218         (*-*-netbsd*): Likewise.
1219         (*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
1220         (*-*-*vms*): Add t-slibgcc to tmake_file.
1221         (alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
1222         (alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
1223         tmake_file.
1224         (arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
1225         arm*-*-linux-*eabi.
1226         (bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
1227         tmake_file.
1228         (crisv32-*-linux*, cris-*-linux*): Likewise.
1229         (hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
1230         pa/t-slibgcc-dwarf-ver from tmake_file.
1231         (hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
1232         tmake_file.
1233         Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
1234         (hppa*64*-*-hpux11*): Likewise.
1235         (hppa[12]*-*-hpux11*): Likewise.
1236         (i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
1237         tmake_file.
1238         (x86_64-*-darwin*): Likewise.
1239         (i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
1240         Add t-slibgcc to tmake_file.
1241         (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
1242         Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
1243         i[34567]86-w64-*.
1244         Remove i386/t-mingw-pthread from tmake_file.
1245         (ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
1246         (ia64*-*-hpux*): Add t-slibgcc to tmake_file.
1247         (ia64-hp-*vms*): Likewise.
1248         (m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
1249         tmake_file.
1250         (m32rle-*-linux*): Likewise.
1251         (m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
1252         (microblaze*-linux*): Remove t-slibgcc-elf-ver,
1253         t-slibgcc-nolc-override from tmake_file.
1254         (mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
1255         tmake_file.
1256         (powerpc-*-darwin*): Likewise.
1257         (powerpc64-*-darwin*): Likewise.
1258         (powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
1259         (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
1260         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
1261         t-slibgcc to tmake_file.
1262         (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
1263         (rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
1264         (rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
1265         (rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
1266         (sparc-*-linux*): Remove sparc/t-linux from tmake_file.
1267         (sparc64-*-linux*): Likewise.
1268         (tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
1269         tmake_file.
1270         (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
1271         x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
1272         from tmake_file.
1273
1274 2011-11-02  Richard Guenther  <rguenther@suse.de>
1275
1276         PR tree-optimization/50902
1277         * tree-vect-stmts.c (vectorizable_load): Properly convert
1278         an invariant initializer element.
1279
1280 2010-11-02  Richard Guenther  <rguenther@suse.de>
1281
1282         PR tree-optimization/50890
1283         * gimple.h (gimple_fold_call): Remove.
1284         * gimple-fold.c (fold_stmt_1): Move all call related code to ...
1285         (gimple_fold_call): ... here.  Make static.  Update the
1286         cannot-inline flag on direct calls.
1287         * ipa-inline.c (early_inliner): Copy the cannot-inline flag
1288         from the statements to the edges.
1289
1290 2011-11-01  Ian Lance Taylor  <iant@google.com>
1291
1292         * godump.c (struct macro_hash_value): Define.
1293         (macro_hash_hashval): New static function.
1294         (macro_hash_eq, macro_hash_del): New static functions.
1295         (go_define): Use macro_hash_value to store values in macro_hash.
1296         Replace an old value on a redefinition.  Don't print anything to
1297         go_dump_file.
1298         (go_undef): Delete the entry from the hash table.
1299         (go_output_typedef): For an enum, use macro_hash_value, and don't
1300         print anything to go_dump_file.
1301         (go_print_macro): New static function.
1302         (go_finish): Traverse macro_hash with go_print_macro.
1303         (dump_go_spec_init): Update macro_hash creation for macro_hash_value.
1304
1305 2011-11-02  Alan Modra  <amodra@gmail.com>
1306
1307         * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED.
1308
1309 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1310
1311         PR c++/44277
1312         * doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
1313
1314 2011-11-01  Andrew Stubbs  <ams@codesourcery.com>
1315
1316         * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
1317
1318 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
1319
1320         * config/i386/i386.md (splitters for int-float conversion): Use
1321         SUBREG_REG on SUBREGs in splitter constraints.
1322
1323 2011-11-01  Jakub Jelinek  <jakub@redhat.com>
1324
1325         * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
1326         prototype.
1327         * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
1328         function.
1329         * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use it.
1330         (ssepackfltmode): New mode attr.
1331         (vec_pack_ufix_trunc_<mode>): New expander.
1332
1333 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
1334
1335         PR target/50940
1336         * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
1337         Compare <ssevecmode>mode to V4SFmode, not V4SImode.
1338
1339 2011-11-01  Peter Bergner  <bergner@vnet.ibm.com>
1340
1341         * config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.
1342         * config/rs6000/476.h: New file.
1343         * config/rs6000/476.opt: Likewise.
1344         * config/rs6000/rs6000.h (TARGET_LINK_STACK): New define.
1345         (SET_TARGET_LINK_STACK): Likewise.
1346         (TARGET_ASM_CODE_END): Define.
1347         * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
1348         TARGET_LINK_STACK for -mtune=476 and -mtune=476fp.
1349         (rs6000_legitimize_tls_address): Emit the link stack preserving GOT
1350         code if TARGET_LINK_STACK.
1351         (rs6000_emit_load_toc_table): Likewise.
1352         (output_function_profiler): Likewise
1353         (macho_branch_islands): Likewise
1354         (machopic_output_stub): Likewise
1355         (get_ppc476_thunk_name): New function.
1356         (rs6000_code_end): Likewise.
1357         * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
1358         Convert to a define_expand.
1359         (load_toc_v4_PIC_1_normal): New define_insn.
1360         (load_toc_v4_PIC_1_476): Likewise.
1361         (load_toc_v4_PIC_1b_normal): Likewise.
1362         (load_toc_v4_PIC_1b_476): Likewise.
1363
1364 2011-11-01  Georg-Johann Lay  <avr@gjlay.de>
1365
1366         PR target/50910
1367         * config/avr/avr.opt (-mbranch-cost=): New option.
1368         * config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost.
1369         * config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs.
1370         * config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns.
1371         (*addhi3_zero_extend1): Remove % in constraint of operand 1.
1372         (*addhi3.sign_extend1, *subhi3.sign_extend2): New insns.
1373
1374 2011-11-01  Tom de Vries  <tom@codesourcery.com>
1375
1376         PR tree-optimization/50908
1377         * tree-ssa-tail-merge.c (update_vuses): Now that edges are removed
1378         before update_vuses, test for 1 predecessor rather than two.
1379         (delete_block_update_dominator_info): New function, part of it factored
1380         out of ...
1381         (replace_block_by): Use delete_block_update_dominator_info.  Call
1382         update_vuses after deleting bb1 and updating dominator info, instead of
1383         before.
1384
1385 2011-11-01  David S. Miller  <davem@davemloft.net>
1386
1387         * config/sparc/sparc.c (vector_init_faligndata): New function.
1388         (sparc_expand_vector_init): Use it for V4HImode on VIS1.
1389
1390         * config/sparc/sparc.c (sparc_expand_vcond): New function.
1391         * config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it.
1392         * config/sparc/sparc.md (vcond<mode><mode>): New VIS3 expander.
1393         (vconduv8qiv8qi): Likewise.
1394
1395 2011-11-01  Alexandre Oliva  <aoliva@redhat.com>
1396
1397         PR debug/50869
1398         * cselib.c (cfa_base_preserved_regno): Initialize.
1399         (cselib_expand_value_rtx_1): Don't expand it.
1400         * var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
1401         Check it's only zero if result is NULL.
1402
1403 2011-11-01  Jakub Jelinek  <jakub@redhat.com>
1404
1405         * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
1406         expander.
1407
1408         * config/i386/sse.md (sseintvecmode): Remove duplicate modes.
1409         (sseintvecmodelower): New mode iterator.
1410         (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
1411         (float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
1412         (floatunsv4siv4sf2): Macroize into...
1413         (floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
1414
1415 2011-10-31  David S. Miller  <davem@davemloft.net>
1416
1417         * config/sparc/sparc.md (cmask patterns): Allow zero operand.
1418
1419         * dwarf2out.c (cached_next_real_insn): New.
1420         (dwarf2out_end_epilogue): Set it to NULL_RTX.
1421         (dwarf2out_var_location): Remove cached_next_real_insn local static.
1422
1423 2011-10-31  Richard Henderson  <rth@redhat.com>
1424
1425         * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
1426         (floatv4siv4sf2): Rename from sse2_cvtdq2ps.
1427         (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
1428         (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
1429         (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
1430         (floatv4siv4df2): Rename from avx_cvtdq2pd256.
1431         (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
1432         (vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
1433         * config/i386/i386.md (splitters for int-float conversion): Likewise.
1434         * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
1435         (bdesc_args): Likewise.
1436         (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
1437         (ix86_vectorize_builtin_conversion): Remove.
1438         (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
1439
1440 2011-10-31  Martin Jambor  <mjambor@suse.cz>
1441
1442         * ipa-prop.c (mark_modified): Moved up in the file.
1443         (is_parm_modified_before_call): Renamed to
1444         is_parm_modified_before_stmt, moved up in the file.
1445         (load_from_unmodified_param): New function.
1446         (compute_complex_assign_jump_func): Also attempt to create pass
1447         through jump functions for values loaded from (addressable)
1448         parameters.
1449
1450 2011-10-31  Jakub Jelinek  <jakub@redhat.com>
1451
1452         * tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
1453         in a loop and has different type from op0, cast it to op0's type
1454         before the loop first.  For slp give up.  Don't crash if op1_vectype
1455         is NULL.
1456
1457 2011-10-31  Paul Brook  <paul@codesourcery.com>
1458
1459         * cgraphunit.c: Don't mark clones as static constructors.
1460
1461 2011-10-31  David Edelsohn  <dje.gcc@gmail.com>
1462
1463         * gcc-ar: Do not include stdio.h.
1464
1465 2011-10-31  Diego Novillo  <dnovillo@google.com>
1466
1467         * tree-streamer-out.c (pack_ts_base_value_fields): Emit
1468         TYPE_ADDR_SPACE.
1469         * tree-streamer-in.c (unpack_ts_base_value_fields): Read
1470         TYPE_ADDR_SPACE.
1471
1472 2011-10-30  David S. Miller  <davem@davemloft.net>
1473
1474         * config/sparc/sparc.c (vector_init_bshuffle): New function.
1475         (vector_init_fpmerge): New function.
1476         (sparc_expand_vector_init): Use them to improve non-const cases.
1477
1478         * dwarf2out.c (dwarf2out_var_location): When processing several
1479         consecutive location notes, cache the result of next_real_insn().
1480
1481 2011-10-30  Uros Bizjak  <ubizjak@gmail.com>
1482
1483         * config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
1484         avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
1485         (vec_dupv4sf): Remove expander.
1486         (vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
1487         (vec_dupv2df): Remove expander.
1488         (vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
1489         (*vec_concatv2df): Merge *vec_concatv2df_sse3.
1490         (*vec_dupv4si): Merge *vec_dupv4si_avx.
1491         (*vec_dupv2di): Merge *vec_dupv2di_sse3.
1492
1493 2011-10-30  Dmitry Plotnikov  <dplotnikov@ispras.ru>
1494
1495         * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
1496         * optabs.c (supportable_convert_operation): New function.
1497         * optabs.h (supportable_convert_operation): New prototype.
1498         * tree-vect-stmts.c (vectorizable_conversion): Change condition and
1499         behavior for NONE modifier case.
1500         * tree.h (VECTOR_INTEGER_TYPE_P): New macro.
1501
1502 2011-10-30  Jakub Jelinek  <jakub@redhat.com>
1503
1504         * tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
1505         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
1506         function.
1507         (vect_vect_recog_func_ptrs): Add it.
1508
1509 2011-10-30  David S. Miller  <davem@davemloft.net>
1510
1511         * reorg.c (label_before_next_insn): New function.
1512         (relax_delay_slots): Use it instead of prev_label.
1513         * rtl.h (prev_label): Delete declaration.
1514         * emit-rtl.c (prev_label): Remove.
1515
1516 2011-10-30  Revital Eres  <revital.eres@linaro.org>
1517
1518         * modulo-sched.c (generate_prolog_epilog): Mark prolog and epilog
1519         as BB_DISABLE_SCHEDULE.
1520         (mark_loop_unsched): New function.
1521         (sms_schedule): Call it.
1522
1523 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1524
1525         PR target/50617
1526         * config/pa/protos.h (attr_length_save_restore_dltp): Delete.
1527         (cmpib_comparison_operator): Likewise.
1528         (following_cal, output_and, output_ior, output_move_double,
1529         output_fp_move_double, output_block_move, output_block_clear,
1530         output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
1531         output_movb, output_parallel_movb, output_parallel_addb, output_call,
1532         output_indirect_call, output_millicode_call, output_mul_insn,
1533         output_div_insn, output_mod_insn, singlemove_string,
1534         output_arg_descriptor, output_global_address, print_operand,
1535         legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
1536         fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
1537         emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
1538         hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
1539         attr_length_indirect_call, return_addr_rtx, function_arg_padding,
1540         insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
1541         output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
1542         hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
1543         compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
1544         reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
1545         exported functions and variables with "pa_".
1546         * config/pa/predicates.md: Likewise.
1547         * config/pa/pa64-hpux.h: likewise.
1548         * config/pa/som.h: Likewise.
1549         * config/pa/elf.h: Likewise.
1550         * config/pa/pa64-linux.h: Likewise.
1551         * config/pa/pa.md: Likewise.
1552         * config/pa/pa.c: Likewise.
1553         * config/pa/pa-linux.h: Likewise.
1554         * config/pa/pa.h: Likewise.
1555         * config/pa/constraints.md: Likewise.
1556
1557 2011-10-29  Uros Bizjak  <ubizjak@gmail.com>
1558
1559         * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
1560         Update all uses.
1561         (xop_shl<mode>3): Rename from xop_lshl<mode>3.  Update all uses.
1562         * config/i386/i386.c: Update all uses.
1563
1564 2011-10-29  Uros Bizjak  <ubizjak@gmail.com>
1565
1566         * config/i386/i386.md (lshlv16qi3): Remove expander.
1567         (lshrv16qi3): New expander.
1568         (<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
1569         using any_shiftrt code iterator. Cleanup.
1570         (ashlv16qi3): Cleanup.
1571         (ashrv2di3): Ditto.
1572
1573 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1574
1575         PR target/50691
1576         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol
1577         references.
1578         (pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
1579         and TLS_MODEL_LOCAL_DYNAMIC symbol references.
1580
1581 2011-10-29  Georg-Johann Lay  <avr@gjlay.de>
1582
1583         PR target/50887
1584         * config/avr/avr.opt (-maccumulate-args): New option.
1585         * config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
1586         avr_starting_frame_offset.
1587         (ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
1588         * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
1589         (UNSPECV_WRITE_SP_IRQ_OFF): Remove.
1590         (UNSPECV_WRITE_SP): New constant.
1591         (*addhi3_sp_R): Rewrite to...
1592         (*addhi3_sp): ...this new insn.
1593         (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
1594         (movhi_sp_r): ...this new insn.
1595         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
1596         (avr_starting_frame_offset): New.
1597         * config/avr/avr.c (avr_accumulate_outgoing_args): New function.
1598         (avr_starting_frame_offset): New function.
1599         (avr_outgoing_args_size): New static function.
1600         (avr_initial_elimination_offset): Use it.
1601         (avr_simple_epilogue): Use it.
1602         (avr_asm_function_end_prologue): Use it.
1603         (expand_epilogue): Use it.
1604         (expand_prologue): Use it.  Break out code to...
1605         (avr_prologue_setup_frame): ...this new static function.
1606         (avr_can_eliminate): Allow eliminating to frame pointer if there
1607         is one.
1608         (avr_frame_pointer_required_p): Use frame pointer if target has a
1609         nonlocal label.
1610         * config/avr/constraints.md (R): Remove.
1611         (Csp): New constraint.
1612         * config/avr/predicates.md (avr_sp_immediate_operand): Use it.
1613
1614 2011-10-29  Andi Kleen  <ak@linux.intel.com>
1615
1616         * gcc-ar.c (target_machine): Add.
1617
1618 2011-10-29  Anatoly Sokolov  <aesok@post.ru>
1619
1620         * config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
1621         cris_constant_index_p, cris_base_p, cris_index_p,
1622         cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
1623         cris_legitimate_address_p): New functions.
1624         (TARGET_LEGITIMATE_ADDRESS_P): Define.
1625         (cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
1626         from rtx to const_rtx.
1627         (cris_print_operand_address, cris_address_cost,
1628         cris_side_effect_mode_ok):  Use
1629         cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
1630         cris_biap_index_p and cris_bdap_index_p.
1631         * config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
1632         BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
1633         REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
1634         (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
1635         cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
1636         cris_biap_index_p and cris_bdap_index_p.
1637         * config/cris/cris.md (moversideqi movemsideqi peephole2): Use
1638         cris_base_p.
1639         * config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
1640         cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
1641         prototype.
1642         (cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
1643
1644 2011-10-21  Andi Kleen  <ak@linux.intel.com>
1645
1646         * ggc-page (PAGE_ALIGN): Add.
1647         (alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
1648         Replace ROUND_UP with PAGE_ALIGN.
1649
1650 2011-10-20  Andi Kleen  <ak@linux.intel.com>
1651
1652         * ggc-page (alloc_anon): Add check argument.
1653         (alloc_page): Add fallback to 1 page allocation.
1654         Adjust alloc_anon calls to new argument.
1655
1656 2011-10-18  Andi Kleen  <ak@linux.intel.com>
1657
1658         * ggc-page (release_pages): First free large continuous
1659         chunks in the madvise path.
1660
1661 2011-10-18  Andi Kleen  <ak@linux.intel.com>
1662
1663         * ggc-page.c (alloc_pages): Always round up entry_size.
1664
1665 2011-10-19  Andi Kleen  <ak@linux.intel.com>
1666
1667         * Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib.
1668         (native): Add gcc-ar, gcc-nm, gcc-ranlib.
1669         (AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o,
1670         gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add.
1671         (install): Depend on install-gcc-ar.
1672         (install-gcc-ar): Add.
1673         (uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib.
1674         * gcc-ar.c: Add new file.
1675
1676 2011-10-28  Pat Haugen <pthaugen@us.ibm.com>
1677
1678         * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
1679         * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use vecdouble
1680         type for V2DF.
1681         (VStype_div): Use vector types for V2DF/V4SF.
1682         (VStype_sqrt): Use *sqrt types.
1683         (VS_spdp_type): Change type to vecdouble.
1684         (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
1685         vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
1686         vsx_xvcvspuxds): Likewise.
1687         (*vsx_fms<mode>4): Set type via <VStype_mul>.
1688         (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type via
1689         <VStype_simple>.
1690         * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
1691         (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
1692         power7-dsqrt): Correct insn latency.
1693         (power7-vecsimple): Add veccmp type and correct dispatch/VSU values.
1694         (power7-veccmp): Delete.
1695         (power7-vecfloat): Correct latency/dispatch/VSU values.
1696         (define_bypass "power7-vecfloat"): Correct latency and types.
1697         (power7-veccomplex, power7-vecperm): Correct dispatch/VSU values.
1698         (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.
1699
1700 2011-10-28  Uros Bizjak  <ubizjak@gmail.com>
1701
1702         * config/i386/i386.md (shift_insn): Rename code attribute from
1703         shiftrt_insn.  Also handle ashift RTX.
1704         (shift): Rename code attribute from shiftrt.  Also handle ashift RTX.
1705         (vshift): New code attribute.
1706         (<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
1707         (any_lshift): Move and rename code iterator from ...
1708         * config/i386/sse.md (lshift): ... here.
1709         (lshift_insn): Remove code attribute.
1710         (lshift): Remove code attribute.
1711         (vlshr<mode>3): Use lshiftrt RTX.
1712         (vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
1713         (vashl<mode>3, ashlv16qi3): Use ashift RTX.
1714         (avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>.  Use
1715         any_lshift code iterator.  Update asm template.
1716         (<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
1717         usign any_lshift code iterator.
1718         * config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
1719         mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
1720         * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.
1721
1722 2011-10-28  Georg-Johann Lay  <avr@gjlay.de>
1723
1724         PR target/49313
1725         * config/avr/avr.md (parityhi2): Expand allowing pseudos.
1726         (*parityhi2): New pre-reload insn-and-split to map 16-bit parity
1727         to the libgcc insn.
1728         (*parityqihi2): Same for 8-bit parity.
1729
1730 2011-10-28  Julian Brown  <julian@codesourcery.com>
1731
1732         PR rtl-optimization/47918
1733         * reload1.c (set_initial_label_offsets): Use initial offsets
1734         for labels on the nonlocal_goto_handler_labels chain.
1735
1736 2011-10-28  Iain Sandoe  <iains@gcc.gnu.org>
1737
1738         * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
1739         Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
1740         (LIB2FUNCS_EXTRA):  Add darwin-gpsave.asm.
1741         (TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
1742         config/t-darwin.
1743         * config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
1744         (GP_SAVE_INLINE): Likewise.
1745         (SAVE_FP_PREFIX,  SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
1746         RESTORE_FP_SUFFIX): Set to empty strings.
1747         * config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
1748         (debug_stack_info): Print savres_strategy.
1749         (rs6000_savres_routine_name): Implement for Darwin.
1750         (rs6000_make_savres_rtx): Adjust used register for Darwin.
1751         (rs6000_emit_prologue): Implement out-of-line saves for Darwin.
1752         (rs6000_output_function_prologue): Don't emit .extern for Mach-O.
1753         (rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
1754         * config/rs6000/darwin-gpsave.asm: New file.
1755
1756 2011-10-28  Jakub Jelinek  <jakub@redhat.com>
1757
1758         * config/i386/sse.md (VI4SD_AVX2): Removed.
1759         (VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
1760         (vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
1761         Add another expander using VI48_128 iterator for
1762         TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
1763         for TARGET_AVX2.
1764         (vlshr<mode>3): Likewise.  Change register_operand predicate to
1765         nonimmediate_operand on last operand in the VI12_128 expander.
1766         (vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
1767         (vashrv4si3, vashrv8si3): New expanders.
1768         (avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
1769         avx2_<lshift>vv2di): Removed.
1770         (avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
1771         (avx2_<lshift>v<mode>): Macroize using VI48_AVX2
1772         iterator.  Simplify pattern.
1773
1774 2010-10-28  Richard Guenther  <rguenther@suse.de>
1775
1776         PR driver/50876
1777         * lto-wrapper.c (get_options_from_collect_gcc_options):
1778         Properly count arguments.
1779         (run_gcc): Use an obstack to collect argv, properly separate
1780         switches and their arguments.
1781
1782 2011-10-28  Jakub Jelinek  <jakub@redhat.com>
1783
1784         * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
1785         vector mode from vectype's mode.
1786
1787 2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
1788
1789         PR rtl-optimization/49720
1790         * simplify-rtx.c (simplify_relational_operation_1): Detect
1791         infinite recursion condition in "(eq/ne (plus x cst1) cst2)
1792         simplifies to (eq/ne x (cst2 - cst1))" case.
1793
1794 2011-10-27  David S. Miller  <davem@davemloft.net>
1795
1796         * config/sparc/sparc.md (snedi_special): Only match when not VIS3.
1797         (*snedi_zero): Likewise.
1798         (*snedi_zero_trunc): Likewise.
1799         (snedi_special_vis3): New expander.
1800         (*snedi_zero_vis3): New insn.
1801         (*snedi_zero_trunc_vis3): Likewise.
1802         (*sltu_insn_vis3): Likewise.
1803         (*sltu_insn_vis3_trunc): Likewise.
1804         (addxc): Likewise.
1805         (*addxc_trunc_sp64_vis3): Likewise.
1806         * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
1807         gen_snedi_special_vis3 expander, and try GTU/LTU addx based
1808         sequences on DImode values.
1809
1810         * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
1811         constraint.
1812
1813         * regcprop.c (copyprop_hardreg_forward_1): Reject the
1814         transformation when we narrow the mode on big endian.
1815
1816 2011-10-27  Jakub Jelinek  <jakub@redhat.com>
1817
1818         * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
1819         vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
1820         (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.
1821
1822         * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
1823         overrides for -masm=intel memory.
1824         * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
1825         sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
1826         sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
1827         sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
1828         (sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
1829         sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
1830         (sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.
1831
1832 2011-10-27  Martin Jambor  <mjambor@suse.cz>
1833
1834         * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
1835         to parm_ainfo.
1836         (ipa_compute_jump_functions_for_edge): Likewise.
1837         (ipa_compute_jump_functions): Likewise.
1838         (ipa_analyze_indirect_call_uses): Likewise.
1839         (ipa_analyze_call_uses): Likewise.
1840         (ipa_analyze_params_uses): Likewise.
1841         (ipa_analyze_node): Likewise.
1842
1843 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
1844
1845         PR target/50875
1846         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
1847         constraints.  Change alternative 1 to "x,m,1".
1848
1849 2011-10-27  Jakub Jelinek  <jakub@redhat.com>
1850
1851         * Makefile.in (build/gencheck.o): Depend on tree.def and
1852         c-family/c-common.def.
1853
1854         * tree-ssa-strlen.c: Include expr.h.
1855         (get_stridx): Don't use c_strlen, instead use string_constant
1856         and compute string length from it.
1857         * Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).
1858
1859 2011-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1860
1861         PR rtl-optimization/46603
1862         PR bootstrap/50879
1863         * reload.c (push_reload): In the out case, restore previous behavior
1864         for subregs that don't have word mode.
1865
1866 2011-10-27  Ian Lance Taylor  <iant@google.com>
1867
1868         * cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
1869         CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is not.
1870         (cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
1871         defined.
1872
1873 2011-10-27  Richard Henderson  <rth@redhat.com>
1874
1875         * optabs.c (expand_vec_perm): Use the correct mode for scaling the
1876         selector.  Save the qimode constant selector for later use by the
1877         qimode vec_perm pattern.
1878
1879 2011-10-27  Bernd Schmidt  <bernds@codesourcery.com>
1880
1881         * config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
1882         to unit_req_factor to the right enum type.
1883         (get_unit_operand_masks, reshuffle_units, try_rename_operands,
1884         hwloop_optimize): Remove unused variables.
1885
1886 2010-10-27  Richard Guenther  <rguenther@suse.de>
1887
1888         PR middle-end/50731
1889         * tree-vect-generic.c (do_binop): Handle scalar operands.
1890
1891 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
1892
1893         PR target/37191
1894         * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
1895         from different units in a single alternative.
1896
1897 2011-10-26  David S. Miller  <davem@davemloft.net>
1898
1899         * config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
1900         if we're comparing DImode and comparison is other than EQ or NE.
1901
1902         * config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
1903         LEU/LTU/GEU/GTU is attempted.
1904         * config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
1905         and split.
1906         (*neg_seqsi_sign_extend): Likewise.
1907         (*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
1908         *neg_sgeu_extend_sp64): New insns.
1909
1910         * config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
1911         * config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
1912         (*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
1913         (*mov<I:mode>_cc_reg_sp64): Likewise.
1914         (*movsf_cc_v9): Likewise.
1915         (*movsf_cc_reg_sp64): Likewise.
1916         (*movdf_cc_v9): Likewise.
1917         (*movdf_cc_reg_sp64): Likewise.
1918         (*movtf_cc_hq_v9): Likewise.
1919         (*movtf_cc_reg_hq_sp64): Likewise.
1920         (*movtf_cc_v9): Likewise.
1921         (*movtf_cc_reg_sp64): Likewise.
1922         * config/sparc/sparc.c (sparc_expand_conditional_move): New function.
1923         (sparc_print_operand): Delete 'c' and 'd' handling, no longer used.
1924
1925 2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>
1926
1927         * reload.c (reload_inner_reg_of_subreg): Change type of return value
1928         and type of OUTPUT parameter to bool and adjust.  Document MODE and
1929         OUTPUT parameters.  Use HARD_REGISTER_P.  Reorder final condition
1930         and improve associated comment.
1931         (push_reload): Clarify and update comments about reloading of subregs.
1932         Adjust calls to reload_inner_reg_of_subreg.  Compute the class upfront
1933         for the reloading of subregs in the out case as well.
1934
1935 2011-10-26  Alexandre Oliva  <aoliva@redhat.com>
1936
1937         PR debug/50826
1938         * var-tracking.c (rtx_debug_expr_p): New.
1939         (use_type): Don't use debug exprs to track non-VTA variables.
1940
1941 2011-10-26  Jeff Law  <law@redhat.com>
1942
1943         * doc/invoke.texi (sink-frequency-threshold): Document.
1944         * tree-ssa-sink.c: Include params.h.
1945         (select_best_block): New function.
1946         (statement_sink_location): Use it.
1947         * params.def (SINK_FREQUENCY_THRESHOLD): New PARAM.
1948
1949 2011-10-26  Iain Sandoe  <iains@gcc.gnu.org>
1950
1951         PR target/48108
1952         * config/darwin.c (top level): Amend comments concerning LTO output.
1953         (lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
1954         (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
1955         (LTO_NAMES_SECTION): Rename.
1956         (darwin_asm_named_section): Record LTO section counts and switches
1957         in a vec of darwin_lto_section_e.
1958         (darwin_file_start): Remove unused code.
1959         (darwin_file_end): Put an LTO section termination label.  Handle
1960         output of the wrapped LTO sections, index and names table.
1961
1962 2011-10-26  Alan Modra  <amodra@gmail.com>
1963
1964         * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
1965         declaration.
1966         (rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp.
1967         (rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx.  Use
1968         simple_return in pattern, emit instruction, and set jump_label.
1969         (rs6000_emit_prologue): Update for rs6000_emit_savres_rtx.  Use
1970         simple_return rather than return.
1971         (emit_cfa_restores): New function.
1972         (rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap.
1973         Add missing cfa_restores for SAVE_WORLD.  Add missing LR cfa_restore
1974         when using out-of-line gpr restore.  Add missing LR and FP regs
1975         cfa_restores for out-of-line fpr restore.  Consolidate code setting
1976         up cfa_restores.  Formatting.  Use LR_REGNO define.
1977         (rs6000_output_mi_thunk): Use simple_return rather than return.
1978         * config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise.
1979         (return_internal*): Likewise.
1980         (any_return, return_pred, return_str): New iterators.
1981         (return, conditional return insns): Provide both return and
1982         simple_return variants.
1983         * config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define.
1984         (REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13.
1985         Move r11 and r0 later to suit shrink-wrapping.
1986
1987 2011-10-26  Richard Guenther  <rguenther@suse.de>
1988
1989         * lto-wrapper.c (run_gcc): Properly init/free obstack.
1990
1991 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
1992
1993         * config/i386/i386.md (UNSPEC_VSIBADDR): New.
1994         * config/i386/predicates.md (vsib_address_operand,
1995         vsib_mem_operator): New predicates.
1996         * config/i386/i386.c (ix86_print_operand_address): Handle
1997         UNSPEC_VSIBADDR addresses.
1998         * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
1999         avx2_gatherdi<mode>256): Adjust expanders to use MEM with
2000         UNSPEC_VSIBADDR address.
2001         (*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
2002         Adjust insns to use MEM with UNSPEC_VSIBADDR address.
2003
2004 2011-10-26  Tom de Vries  <tom@codesourcery.com>
2005
2006         PR tree-optimization/50763
2007         * tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
2008         phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.
2009
2010 2011-10-26  Richard Guenther  <rguenther@suse.de>
2011
2012         PR lto/41844
2013         * Makefile.in (lto-wrapper): Depend on and link against opts-common.o.
2014         (lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H).
2015         * lto-wrapper.c (get_options_from_collect_gcc_options): New function.
2016         (run_gcc): Use it.  Filter out language specific options.
2017
2018 2011-10-26  Andreas Tobler  <andreast@fgznet.ch>
2019
2020         * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
2021         32-bit target does.
2022
2023 2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>
2024
2025         PR driver/46617
2026         * gcc.c (main): Fix fatal_error string for translation.
2027
2028 2011-10-25  Ian Lance Taylor  <iant@google.com>
2029
2030         * tree-eh.c (do_return_redirection): Remove return_value_p
2031         parameter.  Change all callers.
2032         (lower_try_finally_nofallthru): Remove local return_val.
2033         (lower_try_finally_onedest): Likewise.
2034         (lower_try_finally_copy): Likewise.
2035         (lower_try_finally_switch): Likewise.
2036
2037 2011-10-25  H.J. Lu  <hongjiu.lu@intel.com>
2038
2039         * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and
2040         remove "&& !TARGET_64BIT"
2041         (*mmx_maskmovq_rex): Removed.
2042
2043 2011-10-25  Eric Botcazou  <ebotcazou@adacore.com>
2044
2045         PR rtl-optimization/46603
2046         * reload.c (push_reload): In the out case, reload the subreg as well
2047         as the reg if it has word mode.
2048
2049 2011-10-25  Eric Botcazou  <ebotcazou@adacore.com>
2050
2051         * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily
2052         suppress debug info for the parent type.
2053
2054 2011-10-25  Eric Botcazou  <ebotcazou@adacore.com>
2055
2056         * config/ia64/ia64.c (ia64_profile_hook): Fix thinko.
2057
2058 2011-10-25  Richard Henderson  <rth@redhat.com>
2059
2060         * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove.
2061         (vec_extract_even<mode>, vec_extract_odd<mode>): Remove.
2062
2063         * config/rs6000/altivec.md (vec_extract_evenv8hi,
2064         vec_extract_evenv16qi, vec_extract_oddv4si,
2065         vec_extract_oddv4sf): Remove.
2066
2067         * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf,
2068         vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si,
2069         vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
2070         vec_interleave_highv4sf, vec_interleave_lowv4sf,
2071         vec_interleave_highv4si, vec_interleave_lowv4si,
2072         vec_interleave_highv8hi, vec_interleave_lowv8hi,
2073         vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove.
2074
2075         * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop.
2076         [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise.
2077         [VEC_INTERLEAVE_LOW_EXPR]: Likewise.
2078         * optabs.c (expand_binop): Implement vec_interleave_high_optab,
2079         vec_interleave_low_optab, vec_extract_even_optab,
2080         vec_extract_odd_optab with expand_vec_perm.
2081         (can_vec_perm_for_code_p): New.
2082         * optabs.h: Update.
2083         * tree-vect-data-refs.c (vect_strided_store_supported): Allow for
2084         fallback via can_vec_perm_for_code_p.
2085         (vect_strided_load_supported): Likewise.
2086         * tree-vect-generic.c (expand_vector_operations_1): Never lower
2087         VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR,
2088         VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR.
2089
2090         * target.def (vec_perm_const_ok): Change parameters to mode and
2091         array of indicies.
2092         * doc/tm.texi: Rebuild.
2093         * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
2094         parameters to mode and array of indicies.
2095         * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here.
2096         * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p.
2097         Change parameters to mode and array of indicies.
2098         (expand_vec_perm_1): Rename from expand_vec_perm_expr_1.
2099         (expand_vec_perm): Rename from expand_vec_perm_expr.  Change
2100         parameters to mode and rtx inputs.  Try lowering to QImode
2101         vec_perm_const before trying fully variable permutation.
2102         * optabs.h: Update decls.
2103         * tree-vect-generic.c (lower_vec_perm): Extract array of indices from
2104         VECTOR_CST to pass to can_vec_perm_p.
2105         * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type
2106         from int pointer to unsigned char pointer.
2107         (vect_transform_slp_perm_load): Update for change to can_vec_perm_p.
2108         * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.
2109
2110         * tree.def (VEC_EXTRACT_EVEN_EXPR): Fix typo in text name.
2111         (VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
2112         VEC_INTERLEAVE_LOW_EXPR): Likewise.
2113
2114 2011-10-25  Mike Stump  <mikestump@comcast.net>
2115
2116         * reload.c (regno_clobbered_p): Fix typo.
2117
2118 2011-10-25  Dodji Seketeli  <dodji@redhat.com>
2119
2120         * input.c (expand_location): Rewrite using linemap_resolve_location
2121         and linemap_expand_location.  Add a comment.
2122
2123 2011-10-25  Jakub Jelinek  <jakub@redhat.com>
2124
2125         PR tree-optimization/50596
2126         * tree-vect-stmts.c (vect_mark_relevant): Only use
2127         FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
2128         (vectorizable_store): If is_pattern_stmt_p look through
2129         VIEW_CONVERT_EXPR on lhs.
2130         * tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
2131         Use unsigned type instead of signed.
2132         (vect_recog_bool_pattern): Optimize also stores into bool memory in
2133         addition to casts from bool to integral types.
2134         (vect_mark_pattern_stmts): If pattern_stmt already has vinfo
2135         created, don't create it again.
2136
2137 2011-10-25  Kai Tietz  <ktietz@redhat.com>
2138
2139         * config/i386/i386.c (ix86_frame_pointer_required): Require
2140         frame-pointer, if setjmp is used for 32-bit ms-abi.
2141
2142 2011-10-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2143
2144         * builtins.c (set_builtin_user_assembler_name): Remove extra
2145         newline added in October 11th, 2011 change.
2146
2147 2011-10-24  David S. Miller  <davem@davemloft.net>
2148
2149         * config/sparc/little-endian.opt: Delete.
2150         * config.gcc: Remove references to config/sparc/little-endian.opt
2151         * doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
2152         * config/sparc/linux64.h: Delete references to -mlittle-endian.
2153         * config/sparc/netbsd-elf.h: Likewise.
2154         * config/sparc/openbsd64.h: Likewise.
2155         * config/sparc/sparc.h: Likewise.
2156         * config/sparc/sp64-elf.h: Likewise and delete overrides for
2157         BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
2158         * config/sparc/sparc.c (dump_target_flag_bits): Remove reference
2159         to MASK_LITTLE_ENDIAN.
2160         * config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.
2161
2162         * config/sparc/sparc.md: Only use F, G, and C constraints in FP insns.
2163         Only use D, Y, and Z constraints in vector insns.
2164
2165         * config/sparc/sparc.md (cpu_feature, enabled): New attributes.
2166         (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
2167         called *movsi_insn.
2168         (*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
2169         into *movdi_insn_sp32.
2170         (*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
2171         one pattern called *movdi_insn_sp64.
2172         (*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
2173         Consolidate into one pattern called *movsf_insn.
2174         (*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
2175         *movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
2176         into *movdf_insn_sp32.
2177         (*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
2178         *movdf_insn_sp64_no_fpu): Consolidate into one pattern called
2179         *movdf_insn_sp64.
2180         (*zero_extendsidi2_insn_sp64_novis3,
2181         *zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
2182         called *zero_extendsidi2_insn_sp64.
2183         (*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
2184         Consolidate into one pattern named *sign_extendsidi2_insn.
2185         (*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
2186         Consolidate into one pattern named *mov<VM32:mode>_insn.
2187         (*mov<VM64:mode>_insn_sp64_novis3,
2188         *mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
2189         named *mov<VM64:mode>_insn_sp64.
2190         (*mov<VM64:mode>_insn_sp32_novis3,
2191         *mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
2192         named *mov<VM64:mode>_insn_sp32.
2193
2194 2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2195
2196         * tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
2197         (zero_length_string): Change assertion to accept strinfo without
2198         length but with stmt instead.
2199         Set the endptr pointer also if starting a new chain.
2200         (adjust_related_strinfos): Ignore strinfos marked for delayed
2201         length computation.
2202         (handle_builtin_strcpy): Mark earlier strinfo elements also for
2203         delayed length computation.
2204
2205 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
2206
2207         PR target/50820
2208         Port from 4.6 branch r180379
2209         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
2210         handling and indirect jump/calls on devices > 128k.
2211
2212 2011-10-24  Anatoly Sokolov  <aesok@post.ru>
2213             Georg-Johann Lay  <avr@gjlay.de>
2214
2215         PR target/49824
2216         * doc/extend.texi (Declaring Attributes of Functions):
2217         Document OS_main and OS_task attributes.
2218         (Specifying Attributes of Variables): Move up
2219         subsection "AVR Variable Attributes" as of alphabetical order.
2220
2221 2011-10-24  Richard Guenther  <rguenther@suse.de>
2222
2223         * tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
2224         to vector element type.
2225         (vectorizable_assignment): Bail out for non-mode-precision operations.
2226         (vectorizable_shift): Likewise.
2227         (vectorizable_operation): Likewise.
2228         (vectorizable_type_demotion): Likewise.
2229         (vectorizable_type_promotion): Likewise.
2230         (vectorizable_store): Handle non-mode-precision stores.
2231         (vectorizable_load): Handle non-mode-precision loads.
2232         (get_vectype_for_scalar_type_and_size): Return a vector type
2233         for non-mode-precision integers.
2234         * tree-vect-loop.c (vectorizable_reduction): Bail out for
2235         non-mode-precision reductions.
2236
2237 2011-10-24  Julian Brown  <julian@codesourcery.com>
2238
2239         * config/m68k/m68k.c (notice_update_cc): Tighten condition for
2240         setting CC_REVERSED for FP comparisons.
2241
2242 2011-10-24  Richard Guenther  <rguenther@suse.de>
2243
2244         PR tree-optimization/50838
2245         * tree-data-ref.c (dr_analyze_indices): Properly canonicalize
2246         a MEM_REF base if we change it.
2247
2248 2011-10-24  Bernd Schmidt  <bernds@codesourcery.com>
2249
2250         PR bootstrap/50836
2251         * rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".
2252
2253         PR rtl-optimization/50833
2254         * function.c (thread_prologue_and_epilogue_insns): Expect the
2255         return insn optimization only if optimize.
2256
2257 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
2258
2259         * config/avr/avr.c: Break long lines.
2260         Define target hooks on the fly if applicable.
2261         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
2262         overridden later.
2263         (targetm): Move definition to end of file.
2264         (avr_can_eliminate): Make static on the fly.
2265         (avr_frame_pointer_required_p): Ditto.
2266         (avr_hard_regno_scratch_ok): Ditto.
2267         (avr_builtin_setjmp_frame_value): Make static on the fly.
2268         Indent according to coding rules.
2269         (avr_case_values_threshold): Ditto.
2270         (avr_attribute_table): Move down.
2271
2272 2011-10-24  Ira Rosen  <ira.rosen@linaro.org>
2273
2274         PR tree-optimization/50730
2275         * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
2276         analysis if encountered unsupported data-ref.
2277
2278 2011-10-23  David S. Miller  <davem@davemloft.net>
2279
2280         * config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
2281         cpu adjustment.
2282         * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
2283         append -mcpu=v9 when -mv8plus is given.
2284
2285         * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
2286         between float and non-float regs when VIS3.
2287         * config/sparc/sparc.c (eligible_for_restore_insn): We can't
2288         use a restore when the source is a float register.
2289         (sparc_split_regreg_legitimate): When VIS3 allow moves between
2290         float and integer regs.
2291         (sparc_register_move_cost): Adjust to account for VIS3 moves.
2292         (sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
2293         integer reg to a class containing EXTRA_FP_REGS, constrain to FP_REGS.
2294         (sparc_secondary_reload): On 32-bit with VIS3 when moving between
2295         float and integer regs we sometimes need a FP_REGS class
2296         intermediate move to satisfy the reload.  When this happens
2297         specify an extra cost of 2.
2298         (*movsi_insn): Rename to have "_novis3" suffix and add !VIS3 guard.
2299         (*movdi_insn_sp32_v9): Likewise.
2300         (*movdi_insn_sp64): Likewise.
2301         (*movsf_insn): Likewise.
2302         (*movdf_insn_sp32_v9): Likewise.
2303         (*movdf_insn_sp64): Likewise.
2304         (*zero_extendsidi2_insn_sp64): Likewise.
2305         (*sign_extendsidi2_insn): Likewise.
2306         (*movsi_insn_vis3): New insn.
2307         (*movdi_insn_sp32_v9_vis3): New insn.
2308         (*movdi_insn_sp64_vis3): New insn.
2309         (*movsf_insn_vis3): New insn.
2310         (*movdf_insn_sp32_v9_vis3): New insn.
2311         (*movdf_insn_sp64_vis3): New insn.
2312         (*zero_extendsidi2_insn_sp64_vis3): New insn.
2313         (*sign_extendsidi2_insn_vis3): New insn.
2314         (TFmode reg/reg split): Make sure both REG operands are float.
2315         (*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
2316         easy constant to integer reg alternatives.
2317         (*mov<VM64:mode>_insn_sp64): Likewise.
2318         (*mov<VM64:mode>_insn_sp32_novis3): Likewise.
2319         (*mov<VM32:mode>_insn_vis3): New insn.
2320         (*mov<VM64:mode>_insn_sp64_vis3): New insn.
2321         (*mov<VM64:mode>_insn_sp32_vis3): New insn.
2322         (VM64 reg<-->reg split): New splitter for 32-bit.
2323
2324         * config/sparc/sparc.c (sparc_split_regreg_legitimate): New function.
2325         * config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
2326         Declare it.
2327         * config/sparc/sparc.md (DImode reg/reg split): Use it.
2328         (DFmode reg/reg split): Likewise.
2329
2330         * config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
2331         generating fzero and fone instructions.
2332         (DImode const_int --> reg splitter): Only trigger for integer regs.
2333
2334         * config/sparc/predicates.md (input_operand): Disallow vector
2335         constants other than 0 and -1.
2336         * config/sparc/sparc.c (sparc_preferred_reload_class): Return
2337         NO_REGS for vector constants other than 0 and -1.
2338
2339         * config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
2340         SPARC_INT_REG_P): Define.
2341         (HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
2342         (REGNO_OK_FOR_INDEX_P): Likewise.
2343         * config/sparc/sparc.c (gen_df_reg): Likewise.
2344         (eligible_for_return_delay): Likewise.
2345         (eligible_for_sibcall_delay): Likewise.
2346         (sparc_legitimate_address_p): Likewise.
2347         (emit_save_or_restore_regs): Likewise.
2348         (registers_ok_for_ldd_peep): Likewise.
2349         * config/spac/sparc.md (DI mode splitters): Likewise.
2350         (SF mode const splitters): Likewise.
2351         (DF mode splitters): Likewise.
2352         (32-bit DI mode logical op splitters): Likewise.
2353
2354 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2355
2356         PR c++/50841
2357         Revert:
2358         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2359
2360         PR c++/50810
2361         * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
2362
2363 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
2364
2365         * config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
2366         (VI248_256): Remove mode iterator.
2367         * config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
2368         instead of gen_avx2_lshlv4di3.
2369         (bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
2370         CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.
2371
2372 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
2373
2374         * config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
2375         (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
2376         (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
2377         pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
2378         *avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
2379         iterator.  Use sseintprefix mode attribute.
2380         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
2381         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
2382         pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
2383         *avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
2384         iterator.  Use sseintprefix mode attribute.
2385         (*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
2386         attributes.
2387         (*avx2_gatherdi<mode>): Ditto.
2388         (*avx2_gatherdi<mode>256): Ditto.
2389         (VI48_AVX2): Remove mode iterator.
2390         (gthrlastfp): Remove mode attribute.
2391
2392 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2393
2394         PR c++/50810
2395         * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
2396
2397 2011-10-23  Tom de Vries  <tom@codesourcery.com>
2398
2399         PR tree-optimization/50763
2400         * tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored
2401         out of ...
2402         (same_succ_flush_bbs): Use same_succ_flush_bb.
2403         (purge_bbs): Remove argument.  Remove calls to same_succ_flush_bbs,
2404         release_last_vdef and delete_basic_block.
2405         (unlink_virtual_phi): New function.
2406         (update_vuses): Add and use vuse1_phi_args argument.  Set var to
2407         SSA_NAME_VAR of vuse1 or vuse2, and use var.  Handle case that
2408         def_stmt2 is NULL.  Use phi result as phi arg in case vuse1 or vuse2
2409         is NULL_TREE.  Replace uses of vuse1 if vuse2 is NULL_TREE.  Fix code
2410         to limit replacement of uses.  Propagate phi argument for phis with a
2411         single argument.
2412         (replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
2413         Set vuse1_phi_args if vuse1 is a phi defined in bb1.  Add
2414         vuse1_phi_args as argument to call to update_vuses.  Call
2415         release_last_vdef, same_succ_flush_bb, delete_basic_block.  Update
2416         CDI_DOMINATORS info.
2417         (tail_merge_optimize): Remove argument in call to purge_bbs.  Remove
2418         call to free_dominance_info.  Only call calculate_dominance_info once.
2419
2420 2011-10-23  Eric Botcazou  <ebotcazou@adacore.com>
2421
2422         * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
2423
2424         PR tree-optimization/44683
2425         * tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
2426         we can be sure that there are no signed zeros involved.
2427
2428 2011-10-23  Jan Hubicka  <jh@suse.cz>
2429
2430         * ipa-inline.c (estimate_badness): Scale up and handle overflows.
2431
2432 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
2433
2434         PR target/50788
2435         * config/i386/sse.md (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>):
2436         Remove (match_dup 0).
2437         (*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
2438         (*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
2439         (*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
2440         (*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
2441         (*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
2442         (*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.
2443
2444 2011-10-23  Ira Rosen  <ira.rosen@linaro.org>
2445
2446         PR tree-optimization/50819
2447         * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
2448         the last argument.
2449         * tree-vect-loop.c (vect_analyze_loop_2): Update call to
2450         vect_analyze_data_ref_dependences.
2451         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Remove
2452         the last argument.  Check load-after-store dependence for unknown
2453         dependencies in basic blocks.
2454         (vect_analyze_data_ref_dependences): Update call to
2455         vect_analyze_data_ref_dependences.
2456         * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix typo.
2457         * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies): Remove.
2458         (vect_slp_analyze_bb_1): Update call to
2459         vect_analyze_data_ref_dependences.  Don't call
2460         vect_bb_vectorizable_with_dependencies.
2461
2462 2011-10-22  David S. Miller  <davem@davemloft.net>
2463
2464         * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
2465         SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
2466         * config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
2467         (sparc_secondary_reload): New function.
2468
2469         * config/sparc/sparc.h (sparc_costs): Remove extern decl.
2470         (struct processor_costs): Move from here..
2471         * config/sparc/sparc.c (struct processor_costs): To here.
2472         (sparc_costs): Mark static.
2473
2474         * config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
2475         * config/sparc/sparc-protos.h (short_branch, reg_unused_after):
2476         Get rid of declarations.
2477
2478 2011-10-21  Paul Brook  <paul@codesourcery.com>
2479
2480         * config/c6x/c6x.c (c6x_asm_emit_except_personality,
2481         c6x_asm_init_sections): New functions.
2482         (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): Define.
2483
2484 2011-10-21  Jakub Jelinek  <jakub@redhat.com>
2485
2486         PR target/50813
2487         * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
2488         V4DImode and V8SImode for !TARGET_AVX2.
2489
2490 2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
2491
2492         PR bootstrap/50825
2493         * sched-deps.c (add_dependence): If not doing predication, promote
2494         REG_DEP_CONTROL to REG_DEP_ANTI.
2495
2496 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
2497
2498         * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
2499         instead of X to avr_legitimize_reload_address.
2500         * config/avr/avr-protos.h (avr_legitimize_reload_address): Change
2501         first argument's type from rtx to rtx*.
2502         * config/avr/avr.c (avr_legitimize_reload_address): Ditto.
2503         Pass PX to push_reload instead of &X.  Change log messages for
2504         better distinction.
2505
2506 2011-10-21  Roland Stigge  <stigge@antcom.de>
2507
2508         PR translation/47064
2509         * params.def: Fix typo "compilatoin" -> "compilation".
2510
2511 2011-10-21  H.J. Lu  <hongjiu.lu@intel.com>
2512             Kirill Yukhin  <kirill.yukhin@intel.com>
2513
2514         PR target/50740
2515         * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
2516         if max_level allows that.
2517
2518 2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
2519
2520         * reg-notes.def (DEP_CONTROL): New.
2521         * sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
2522         not doing speculation.
2523         * rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
2524         record_hard_reg_uses_1, record_hard_reg_uses): New functions.
2525         * function.c (record_hard_reg_sets, record_hard_reg_uses,
2526         record_hard_reg_uses_1): Remove; move to rtlanal.c.
2527         * lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
2528         * haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
2529         (MUST_RECOMPUTE_SPEC_P): New macro.
2530         (real_insn_for_shadow): New function.
2531         (cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
2532         toggle_cancelled_flags): New static functions.
2533         (schedule_insn): Relax an assert to only check for empty hard back
2534         dependencies.  Skip cancelled dependencies.  Call
2535         check_clobbered_conditions.
2536         (copy_insn_list): Remove function, renamed moved to lists.c.
2537         (save_backtrack_point): Use new spelling copy_INSN_LIST.
2538         (unschedule_insns_until): Ensure TODO_SPEC is reset properly.
2539         (restore_last_backtrack_point): Likewise.  Call toggle_cancelled_flags.
2540         (estimate_insn_tick): Ignore cancelled dependencies.
2541         (haifa_speculate_insn): Move declaration.
2542         (try_ready): Move code into recompute_todo_spec and call it.  Tweak
2543         some asserts.  Ensure predicated patterns are restored if necessary.
2544         Dump DEP_CONTROL flag.
2545         (haifa_change_pattern): Merge with sched_change_pattern.
2546         (sched_change_pattern): Remove function.
2547         * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove.  All
2548         uses changed to simply not test NON_FLUSH_JUMP_P.
2549         (ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
2550         REG_DEP_CONTROL.
2551         (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
2552         (reg_pending_control_uses, control_dependency_cache): New static
2553         variables.
2554         (sched_get_reverse_condition_uncached): New function.
2555         (sd_find_dep_between): Remove pointless assert.  Look in
2556         control_dependency_cache.
2557         (ask_dependency_caches, set_dependency_caches, sd_delete_dep,
2558         extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
2559         and control_dependency_cache.
2560         (sd_unresolve_dep): Use dep_spec_p.
2561         (add_dependence): Now a wrapper around add_dependence_1, handling
2562         REG_DEP_CONTROL specially.
2563         (flush_pending_lists): Clear pending_jump_insns.
2564         (sched_analyze_1): Handle pending_jump_insns like a memory flush.
2565         (sched_analyze_2): Unconditionally add to pending memory flushes,
2566         keep previous behaviour but apply it to pending_jump_insns instead.
2567         (sched_analyze_insn): Defer adding jump reg dependencies using
2568         reg_pending_control_uses; add them to the control_uses list.  Handle
2569         pending_jump_insns and control_uses when adding dependence lists.
2570         (deps_analyze_insn): Update INSN_COND_DEPS.
2571         (deps_analyze_insn): Add jumps to pending_jump_insns rather than
2572         last_pending_memory_flush.
2573         (init_deps): Initialize pending_jump_insns.
2574         (free_deps): Free control_uses.
2575         (remove_from_deps): Remove from pending_jump_insns.
2576         (init_deps_global): Allocate reg_pending_control_uses).
2577         (finish_deps_global): Free it.
2578         (add_dependence_1): Renamed from add_dependence.  Handle
2579         REG_DEP_CONTROL.
2580         * rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
2581         (copy_INSN_LIST, concat_INSN_LIST): Declare.
2582         * sched-int.h (struct deps_reg): Add control_uses.
2583         (struct deps_desc): Add pending_jump_insns.
2584         (struct _haifa_deps_insn_data): Add cond_deps.
2585         (struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
2586         (INSN_COND_DEPS, PREDICATED_PAT): New macros.
2587         (BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
2588         (DEP_CONTROL): New macro.
2589         (DEP_TYPES): Include it.
2590         (HARD_DEP): Adjust definition.
2591         (DEP_CANCELLED): New macro.
2592         (enum SCHED_FLAGS): Add DO_PREDICATION.
2593         (sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
2594         * sched-rgn.c (concat_INSN_LIST): Remove function.
2595         (deps_join): Handle pending_jump_insns.
2596         (free_pending_lists): Likewise.
2597         * config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
2598         schedule.
2599
2600 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
2601
2602         PR target/50820
2603         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
2604         (__tablejump__): Consistently use EIND for indirect jump/call.
2605         (__tablejump_elpm__): Ditto.
2606
2607 2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
2608
2609         * config/c6x/c6x.md (attr "op_pattern"): New.
2610         (load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
2611         * config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
2612         Likewise.
2613         * config/c6x/c6x-mult.md: Regenerate.
2614         * config/c6x/c6x.c: Include "regrename.h".
2615         (unit_req_table): New typedef.
2616         (unit_reqs): Use it for the declaration.
2617         (unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
2618         get_unit_operand_masks, try_rename_operands, reshuffle_units): New
2619         static functions.
2620         (count_unit_reqs): New arg reqs.  All callers changed.  Use
2621         get_unit_reqs, and don't merge here.
2622         (res_mii): New arg reqs.  All callers changed.  Rewrite to use a loop
2623         using unit_req_factor.
2624         (hwloop_optimize): Call reshuffle_units.  Call merge_unit_reqs after
2625         count_unit_reqs.
2626         (c6x_reorg): Add reg notes problem, and call df_analyze.
2627         * Makefile.in ($(out_object_file)): Depend on regrename.h.
2628
2629 2011-10-21  Kai Tietz  <ktietz@redhat.com>
2630
2631         * fold-const.c (simple_operand_p_2): Handle integral
2632         casts from boolean-operands.
2633
2634 2011-10-21  Jan Hubicka  <jh@suse.cz>
2635
2636         * cgraph.c (dump_cgraph_node): Dump alias flag.
2637         * cgraphunit.c (handle_alias_pairs): Handle weakrefs with
2638         no destination.
2639         (get_alias_symbol): New function.
2640         (output_weakrefs): Output also weakrefs with no destinatoin.
2641         (lto_output_node): Output weakref alias flag when at function boundary.
2642
2643 2011-10-21  Andrew Stubbs  <ams@codesourcery.com>
2644
2645         PR target/50809
2646         * config/arm/driver-arm.c (vendors): Make static.
2647
2648 2011-10-21  Uros Bizjak  <ubizjak@gmail.com>
2649
2650         * config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
2651         (ix86_emit_swsqrtsf): Force a into register.
2652
2653 2011-10-20  Mike Stump  <mikestump@comcast.net>
2654
2655         * regcprop.c (copyprop_hardreg_forward_1): Update recog_data
2656         after validate_change wipes it out.
2657
2658 2011-10-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2659
2660         * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
2661         before using the shufb instruction.
2662
2663 2011-10-20  Kirill Yukhin  <kirill.yukhin@intel.com>
2664
2665         PR target/50766
2666         * config/i386/i386.md (bmi_bextr_<mode>): Update register/
2667         memory operand order.
2668         (bmi2_bzhi_<mode>3): Ditto.
2669         (bmi2_pdep_<mode>3): Ditto.
2670         (bmi2_pext_<mode>3): Ditto.
2671
2672 2011-10-20  Richard Henderson  <rth@redhat.com>
2673
2674         * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
2675         * optabs.c (can_vec_perm_expr_p): Update to match.
2676         (expand_vec_perm_expr): Likewise.
2677         * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
2678         from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
2679         * doc/tm.texi.in: Likewise.
2680
2681 2011-10-20  Sergey Ostanevich  <sergos.gnu@gmail.com>
2682
2683         PR target/50572
2684         * config/i386/i386.c (processor_target_table): Change Atom
2685         align_loops_max_skip to 15.
2686
2687 2011-10-20  Richard Henderson  <rth@redhat.com>
2688
2689         * target.def (builtin_vec_perm): Remove.
2690         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2691
2692         * config/i386/i386.c (ix86_expand_vec_perm_builtin): Remove.
2693         (IX86_BUILTIN_VEC_PERM_*): Remove.
2694         (bdesc_args): Remove vec_perm builtins
2695         (ix86_expand_builtin): Likewise.
2696         (ix86_expand_vec_perm_const_1): Rename from
2697         ix86_expand_vec_perm_builtin_1.
2698         (extract_vec_perm_cst): Merge into...
2699         (ix86_vectorize_vec_perm_const_ok): ... here.  Rename from
2700         ix86_vectorize_builtin_vec_perm_ok.
2701         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2702
2703         * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove.
2704         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2705
2706         * config/spu/spu.c (spu_builtin_vec_perm): Remove.
2707         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2708
2709 2011-10-20  Uros Bizjak  <ubizjak@gmail.com>
2710
2711         PR target/47989
2712         * config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
2713         * config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
2714         * doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
2715         implements vectorized single float division and vectorized sqrtf(x)
2716         with reciprocal sequence with additional Newton-Raphson step with
2717         -ffast-math.
2718
2719 2011-10-20  Dodji Seketeli  <dodji@redhat.com>
2720
2721         * ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
2722         ggc_alloced_size_order_for_request into ggc_round_alloc_size like
2723         it was done in ggc-page.c.
2724
2725         PR other/50659
2726         * doc/cppopts.texi: Use @smallexample/@end smallexample in
2727         documentation for -fdebug-cpp instead of @quotation/@end quotation
2728         that is not supported by contrib/texi2pod.pl.
2729
2730 2011-10-19  Jan Hubicka  <jh@suse.cz>
2731
2732         * ipa-inline.c (inline_small_functions): Always update all calles after
2733         inlining.
2734
2735 2011-10-19  Jan Hubicka  <jh@suse.cz>
2736
2737         PR bootstrap/50709
2738         * ipa-inline.c (inline_small_functions): Fix checking code to not make
2739         effect on fibheap stability.
2740
2741 2011-10-20  Maxim Kuvyrkov  <maxim@codesourcery.com>
2742
2743         * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
2744
2745 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2746
2747         PR target/50106
2748         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
2749         reg size from 1-3.
2750
2751 2011-10-20  Richard Guenther  <rguenther@suse.de>
2752
2753         * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
2754         and rotates to the set of expensive operations.
2755
2756 2011-10-19  David S. Miller  <davem@davemloft.net>
2757
2758         * config/sparc/sparc.c (sparc_expand_move): Use can_create_pseudo_p.
2759         (sparc_emit_set_const32): Likewise.
2760         (sparc_emit_set_const64_longway): Likewise.
2761         (sparc_emit_set_const64): Likewise.
2762         (sparc_legitimize_pic_address): Likewise.
2763         (memory_ok_for_ldd): Likewise.
2764
2765 2011-10-20  Dehao Chen  <dehao@google.com>
2766
2767         * profile.c (compute_branch_probabilities): Compute and dump the
2768         overlap between the static estimation and the instrumentation profile.
2769         (OVERLAP_BASE): New macro.
2770         (compute_frequency_overlap): New function
2771
2772 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
2773
2774         * config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use
2775         d->op1 instead of d->op0 for the second vpshufb.
2776         (expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates.
2777         (ix86_expand_vec_perm_const): If mask indicates two operands are
2778         needed, but both are the same and expanding them as d.op0 == d.op1
2779         failed, retry with d.op0 != d.op1.
2780         (ix86_expand_vec_perm_builtin): Likewise.  Handle sorry printing
2781         also for d.nelt == 32.
2782
2783         PR middle-end/50754
2784         * cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
2785         VEC_PERM_EXPR.
2786
2787 2011-10-19  Bernd Schmidt  <bernds@codesourcery.com>
2788
2789         * regrename.h: New file.
2790         * regrename.c: Include it.  Also include "emit-rtl.h".
2791         (struct du_head, struct du_chain, du_head_p DEF_VEC and
2792         DEF_VEC_ALLOC_P): Move to regrename.h.
2793         (do_replace): Remove declaration.
2794         (insn_rr): New variable.
2795         (cur_operand): New static variable.
2796         (regrename_chain_from_id): Renamed from chain_from_id and no longer
2797         static.  All callers changed.
2798         (record_operand_use): New static function.
2799         (scan_rtx_reg): Use it.
2800         (find_best_rename_reg): New function, broken out of rename_chains.
2801         (rename_chains): Use it.  Don't update chain regno and nregs here, ...
2802         (regrename_do_replace): ... do it here instead.  Renamed from
2803         do_replace, and no longer static.  All callers changed.
2804         (regrename_analyze): No longer static.  New arg bb_mask.
2805         All callers changed.  If bb_mask is nonzero, use it to limit the
2806         number of basic blocks we analyze.  If we failed to analyze a block,
2807         clear insn operand data.
2808         (record_out_operands): New arg insn_info.  Update cur_operand if it is
2809         nonnull.
2810         (build_def_use): If insn_rr is nonnull, pass an insn_info to
2811         record_out_operands, and update cur_operand here as well.
2812         (regrename_init, regrename_finish): New functions.
2813         (regrename_optimize): Use them.
2814         * Makefile.in (regrename.o): Adjust dependencies.
2815
2816 2011-10-19  Tom de Vries  <tom@codesourcery.com>
2817
2818         PR tree-optimization/50769
2819         * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
2820         unconditionally.  Handle case that phi_vuse2 is not an SSA_NAME.  Add
2821         dummy argument .MEM to phi when increasing number of arguments of phi by
2822         redirecting edges to the block with phi.
2823
2824 2011-10-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2825
2826         PR bootstrap/50777
2827         * configure.ac: Save and restore CXXFLAGS around
2828         gcc_AC_CHECK_DECLS uses.
2829         Check for madvise() declaration with g++ if --enable-build-with-cxx.
2830         * configure: Regenerate.
2831         * config.in: Regenerate.
2832         * ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.
2833
2834 2011-10-19  Alexandre Oliva  <aoliva@redhat.com>
2835
2836         PR debug/49310
2837         * var-tracking.c (loc_exp_dep, onepart_aux): New structs.
2838         (variable_part): Replace offset with union.
2839         (enum onepart_enum, onepart_enum_t): New.
2840         (variable_def): Drop cur_loc_changed, add onepart.
2841         (value_chain_def, const_value_chain): Remove.
2842         (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
2843         (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
2844         (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
2845         (value_chain_pool, value_chains): Remove.
2846         (dropped_values): New.
2847         (struct parm_reg): Only if HAVE_window_save.
2848         (vt_stack_adjustments): Don't record register arguments.
2849         (dv_as_rtx): New.
2850         (dv_onepart_p): Return a onepart_enum_t.
2851         (onepart_pool): New.
2852         (dv_pool): Remove.
2853         (dv_from_rtx): New.
2854         (variable_htab_free): Release onepart aux data.  Reset flags.
2855         (value_chain_htab_hash, value_chain_htab_eq): Remove.
2856         (unshare_variable): Use onepart field.  Propagate onepart aux
2857         data or offset.  Drop cur_loc_changed.
2858         (val_store): Cope with NULL insn.  Rephrase dump output.  Check
2859         for unsuitable locs.  Add FIXME on using cselib locs.
2860         (val_reset): Remove FIXME of unfounded concerns.
2861         (val_resolve): Check for unsuitable locs.  Add FIXME on using
2862         cselib locs.
2863         (variable_union): Use onepart field, adjust access to offset.
2864         (NO_LOC_P): New.
2865         (VALUE_CHANGED, DECL_CHANGED): Update doc.
2866         (set_dv_changed): Clear NO_LOC_P when changed.
2867         (find_loc_in_1pdv): Use onepart field.
2868         (intersect_loc_chains): Likewise.
2869         (unsuitable_loc): New.
2870         (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
2871         (add_value_chain, add_value_chains): Remove.
2872         (add_cselib_value_chains, remove_value_chain): Likewise.
2873         (remove_value_chains, remove_cselib_value_chains): Likewise.
2874         (canonicalize_loc_order_check): Use onepart.  Drop cur_loc_changed.
2875         (canonicalize_values_star, canonicalize_vars_star): Use onepart.
2876         (variable_merge_over_cur): Likewise.  Adjust access to offset.
2877         Drop cur_loc_changed.
2878         (variable_merge_over_src): Use onepart field.
2879         (remove_duplicate_values): Likewise.
2880         (variable_post_merge_new_vals): Likewise.
2881         (find_mem_expr_in_1pdv): Likewise.
2882         (dataflow_set_preserve_mem_locs): Likewise.  Drop cur_loc_changed
2883         and value chains.
2884         (dataflow_set_remove_mem_locs): Likewise.  Use VAR_LOC_FROM.
2885         (variable_different_p): Use onepart field.  Move onepart test out
2886         of the loop.
2887         (argument_reg_set): Drop.
2888         (add_uses, add_stores): Preserve but do not record in dynamic
2889         tables equivalences for ENTRY_VALUEs and CFA_based addresses.
2890         Avoid unsuitable address expressions.
2891         (EXPR_DEPTH): Unlimit.
2892         (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
2893         (prepare_call_arguments): Use DECL_RTL_IF_SET.
2894         (dump_var): Adjust access to offset.
2895         (variable_from_dropped, recover_dropped_1paux): New.
2896         (variable_was_changed): Drop cur_loc_changed.  Use onepart.
2897         Preserve onepart aux in empty_var.  Recover empty_var and onepart
2898         aux from dropped_values.
2899         (find_variable_location_part): Special-case onepart.  Adjust
2900         access to offset.
2901         (set_slot_part): Use onepart.  Drop cur_loc_changed.  Adjust
2902         access to offset.  Initialize onepaux.  Drop value chains.
2903         (delete_slot_part): Drop value chains.  Use VAR_LOC_FROM.
2904         (VEC (variable, heap), VEC (rtx, stack)): Define.
2905         (expand_loc_callback_data): Drop dummy, cur_loc_changed,
2906         ignore_cur_loc.  Add expanding, pending, depth.
2907         (loc_exp_dep_alloc, loc_exp_dep_clear): New.
2908         (loc_exp_dep_insert, loc_exp_dep_set): New.
2909         (notify_dependents_of_resolved_value): New.
2910         (update_depth, vt_expand_var_loc_chain): New.
2911         (vt_expand_loc_callback): Revamped.
2912         (resolve_expansions_pending_recursion): New.
2913         (INIT_ELCD, FINI_ELCD): New.
2914         (vt_expand_loc): Use the new macros above.  Drop ignore_cur_loc
2915         parameter, adjust all callers.
2916         (vt_expand_loc_dummy): Drop.
2917         (vt_expand_1pvar): New.
2918         (emit_note_insn_var_location): Operate on non-debug decls only.
2919         Revamp multi-part cur_loc recomputation and one-part expansion.
2920         Drop cur_loc_changed.  Adjust access to offset.
2921         (VEC (variable, heap)): Drop.
2922         (changed_variables_stack, changed_values_stack): Drop.
2923         (check_changed_vars_0, check_changed_vars_1): Remove.
2924         (check_changed_vars_2, check_changed_vars_3): Remove.
2925         (values_to_stack, remove_value_from_changed_variables): New.
2926         (notify_dependents_of_changed_value, process_changed_values): New.
2927         (emit_notes_for_changes): Revamp onepart updates.
2928         (emit_notes_for_differences_1): Use onepart.  Drop cur_loc_changed
2929         and value chains.  Propagate onepaux.  Recover empty_var and onepaux
2930         from dropped_values.
2931         (emit_notes_for_differences_2): Drop value chains.
2932         (emit_notes_in_bb): Adjust.
2933         (vt_emit_notes): Drop value chains, changed_variables_stack.
2934         Initialize and release dropped_values.
2935         (create_entry_value): Revamp.
2936         (vt_add_function_parameter): Use new interface.
2937         (note_register_arguments): Remove.
2938         (vt_initialize): Drop value chains and register arguments.
2939         (vt_finalize): Drop value chains.  Release windowed_parm_regs only
2940         if HAVE_window_save.
2941         * rtl.h: Document various pass-local uses of RTL flags.
2942         * tree.h (DECL_RTL_KNOWN_SET): New.
2943         * doc/invoke.texi (param max-vartrack-expr-depth): Update
2944         description and default.
2945
2946 2011-10-19  Georg-Johann Lay  <avr@gjlay.de>
2947
2948         PR target/50447
2949         * config/avr/avr.md (cc): New alternative out_plus_noclobber.
2950         (adjust_len): Ditto.
2951         (addhi3): Don't pipe through short; use gen_int_mode instead.
2952         Prior to reload, expand to gen_addhi3_clobber.
2953         (*addhi3): Use avr_out_plus_noclobber if applicable, use
2954         out_plus_noclobber in cc and adjust_len attribute.
2955         (addhi3_clobber): 2 new RTL peepholes.
2956         (addhi3_clobber): New insn.
2957         * config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
2958         * config/avr/avr.c (avr_out_plus_noclobber): New function.
2959         (notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
2960         (avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
2961         Set cc0 to set_zn for adiw on 16-bit values.
2962         (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
2963         (expand_epilogue): No need to add 0 to frame_pointer_rtx.
2964
2965 2011-10-19  Richard Guenther  <rguenther@suse.de>
2966
2967         PR middle-end/50780
2968         * tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
2969         the condition is properly gimple before using it.
2970         * tree-eh (stmt_could_throw_1_p): Properly extract the
2971         operation type from comparisons.
2972
2973 2011-10-19  Roland Stigge  <stigge@antcom.de>
2974
2975         PR translation/48638
2976         * plugin.c (add_new_plugin): Fix typo in fatal_error message.
2977
2978 2011-10-19  Roland Stigge  <stigge@antcom.de>
2979
2980         PR translation/49517
2981         * config/rx/rx.c (rx_print_operand): Fix typo in warning message.
2982
2983 2011-10-19  Richard Guenther  <rguenther@suse.de>
2984
2985         PR middle-end/50768
2986         * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
2987
2988 2011-10-19  Andrey Belevantsev  <abel@ispras.ru>
2989
2990         PR rtl-optimization/50340
2991         * sel-sched-ir.c (update_target_availability): LHS register
2992         availability is not known if the unavailable LHS of the other
2993         expression is a different register.
2994
2995 2011-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2996
2997         PR target/50310
2998         * config/spu/spu.c (spu_emit_vector_compare): Support unordered
2999         floating-point comparisons.
3000
3001 2011-10-19  Jan Hubicka  <jh@suse.cz>
3002
3003         * cgraphunit.c (handle_alias_pairs): Also handle wekref with
3004         destination declared.
3005         (output_weakrefs): New function.
3006         * varpool.c (varpool_create_variable_alias): Handle external aliases.
3007
3008 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
3009
3010         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
3011         second argument instead of mode.
3012
3013 2011-10-18  Jakub Jelinek  <jakub@redhat.com>
3014
3015         * config/i386/i386.c (ix86_expand_vec_perm): In merge_two use
3016         mode SUBREG of operands[0] as target.
3017         (valid_perm_using_mode_p): Don't ignore higher bits of d->perm.
3018         (expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si.
3019         (expand_vec_perm_1): Handle identity and some broadcast
3020         permutations.
3021         (expand_vec_perm_interleave2): Handle also 32-byte modes, using
3022         vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation.
3023         For d->testing_p return true earlier to avoid creating more GC
3024         garbage.
3025         (expand_vec_perm_vpermq_perm_1): New function.
3026         (expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true
3027         earlier to avoid creating more GC garbage.  Fix handling of
3028         V16HImode.  Avoid some SUBREGs in SET_DEST.
3029         (expand_vec_perm_broadcast_1): Return false for 32-byte integer
3030         vector modes.
3031         (expand_vec_perm_vpshufb4_vpermq2): New function.
3032         (ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1
3033         and expand_vec_perm_vpshufb4_vpermq2.
3034
3035 2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
3036
3037         * config/arm/driver-arm.c (host_detect_local_cpu): Close the file
3038         before exiting.
3039
3040 2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
3041
3042         PR tree-optimization/50717
3043         * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type'
3044         parameter.  Calculate 'type' from stmt.
3045         (convert_mult_to_widen): Update call the is_widening_mult_p.
3046         (convert_plusminus_to_widen): Likewise.
3047
3048 2011-10-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3049
3050         * config/spu/spu.c (struct machine_function): New data structure.
3051         (spu_init_machine_status): New function.
3052         (spu_option_override): Install it.
3053         (get_pic_reg): Set and use cfun->machine->pic_reg.
3054         (spu_split_immediate): Do not set crtl->uses_pic_offset_table.
3055         (need_to_save_reg): Use cfun->machine->pic_reg instead of
3056         checking crtl->uses_pic_offset_table.
3057         (spu_expand_prologue): Likewise.
3058
3059 2011-10-18  Jakub Jelinek  <jakub@redhat.com>
3060
3061         PR tree-optimization/50735
3062         * function.c (gimplify_parameters): Use create_tmp_var instead of
3063         create_tmp_reg.  If parm is not TREE_ADDRESSABLE and type is complex
3064         or vector type, set DECL_GIMPLE_REG_P.
3065
3066 2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
3067
3068         * config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
3069         * config/arm/arm.opt: Add 'native' processor_type and
3070         arm_arch enum values.
3071         * config/arm/arm.h (host_detect_local_cpu): New prototype.
3072         (EXTRA_SPEC_FUNCTIONS): New define.
3073         (MCPU_MTUNE_NATIVE_SPECS): New define.
3074         (DRIVER_SELF_SPECS): New define.
3075         * config/arm/driver-arm.c: New file.
3076         * config/arm/x-arm: New file.
3077         * doc/invoke.texi (ARM Options): Document -mcpu=native,
3078         -mtune=native and -march=native.
3079
3080 2011-10-18  Alexander Monakov  <amonakov@ispras.ru>
3081
3082         PR rtl-optimization/50205
3083         * sel-sched.c (count_occurrences_1): Simplify on the assumption that
3084         p->x is a register.  Forbid substitution when the same register is
3085         found in a different mode.
3086         (count_occurrences_equiv): Assert that 'what' is a register.
3087
3088 2011-10-18  Richard Guenther  <rguenther@suse.de>
3089
3090         PR tree-optimization/50767
3091         * tree-ssa-pre.c (create_expression_by_pieces): Update the
3092         folded statement.
3093
3094 2011-10-18  Julian Brown  <julian@codesourcery.com>
3095
3096         * config/arm/arm.c (arm_block_move_unaligned_straight)
3097         (arm_adjust_block_mem, arm_block_move_unaligned_loop)
3098         (arm_movmemqi_unaligned): New.
3099         (arm_gen_movmemqi): Support unaligned block copies.
3100
3101 2011-10-18  Ira Rosen  <ira.rosen@linaro.org>
3102
3103         * doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
3104         vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
3105         * tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
3106         VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
3107         (op_code_prio): Likewise.
3108         (op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
3109         * optabs.c (optab_for_tree_code): Handle
3110         VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
3111         (init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
3112         * optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
3113         * genopinit.c (optabs): Initialize the new optabs.
3114         * expr.c (expand_expr_real_2): Handle
3115         VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
3116         * gimple-pretty-print.c (dump_binary_rhs): Likewise.
3117         * tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
3118         * tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
3119         VEC_WIDEN_LSHIFT_LO_EXPR): New.
3120         * cfgexpand.c (expand_debug_expr): Handle new tree codes.
3121         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
3122         vect_recog_widen_shift_pattern.
3123         (vect_handle_widen_mult_by_const): Rename...
3124         (vect_handle_widen_op_by_const): ...to this.  Handle shifts.
3125         Add a new argument, update documentation.
3126         (vect_recog_widen_mult_pattern): Assume that only second
3127         operand can be constant.  Update call to
3128         vect_handle_widen_op_by_const.
3129         (vect_recog_over_widening_pattern): Fix typo.
3130         (vect_recog_widen_shift_pattern): New.
3131         * tree-vect-stmts.c (vectorizable_type_promotion): Handle
3132         widening shifts.
3133         (supportable_widening_operation): Likewise.
3134         * tree-inline.c (estimate_operator_cost): Handle new tree codes.
3135         * tree-vect-generic.c (expand_vector_operations_1): Likewise.
3136         * tree-cfg.c (verify_gimple_assign_binary): Likewise.
3137         * config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
3138         (vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
3139         vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
3140         Likewise.
3141         * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
3142         New.
3143         * config/arm/iterators.md (V_innermode): New.
3144         * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
3145         for widening shift.
3146
3147 2011-10-18  Richard Guenther  <rguenther@suse.de>
3148
3149         * tree-ssa-alias.h (struct pt_solution): Remove
3150         vars_contains_restrict member.
3151         (pt_solutions_same_restrict_base): Remove.
3152         (pt_solution_set): Adjust.
3153         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
3154         vars_contains_restrict handling.
3155         (dump_points_to_solution): Likewise.
3156         (ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
3157         * tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
3158         field.
3159         (new_var_info): Do not initialize it.
3160         (ipa_escaped_pt): Adjust.
3161         (make_constraint_from_restrict): Make the tag global.
3162         (make_constraint_from_global_restrict): New function.
3163         (make_constraint_from_heapvar): Remove.
3164         (create_variable_info_for): Do not make restrict vars point
3165         to NONLOCAL.
3166         (intra_create_variable_infos): Likewise.
3167         (find_what_var_points_to): Remove vars_contains_restrict handling.
3168         (pt_solution_set): Adjust.
3169         (pt_solution_ior_into): Likewise.
3170         (pt_solutions_same_restrict_base): Remove.
3171         (compute_points_to_sets): Do not test is_restrict_var.
3172         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
3173         * gimple-pretty-print.c (pp_points_to_solution): Likewise.
3174
3175 2011-10-18  Tom de Vries  <tom@codesourcery.com>
3176
3177         PR tree-optimization/50672
3178         * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
3179         factored out of ...
3180         (mark_virtual_phi_result_for_renaming): Use
3181         mark_virtual_operand_for_renaming.
3182         * tree-flow.h (mark_virtual_operand_for_renaming): Declare.
3183         * tree-ssa-tail-merge.c (release_last_vdef): New function.
3184         (purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
3185         deleted basic block.
3186         (tail_merge_optimize): Add argument to call to purge_bbs.
3187
3188 2011-10-18  Richard Guenther  <rguenther@suse.de>
3189
3190         PR middle-end/50716
3191         * expr.c (get_object_or_type_alignment): New function.
3192         (expand_assignment): Use it.
3193         (expand_expr_real_1): Likewise.
3194
3195 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
3196
3197         PR bootstrap/50760
3198         * input.c (dump_line_table_statistics): Use long, not size_t.
3199
3200 2011-10-17  Eric Botcazou  <ebotcazou@adacore.com>
3201
3202         * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
3203
3204 2011-10-17  Simon Baldwin  <simonb@google.com>
3205             Ian Lance Taylor  <iant@google.com>
3206
3207         * configure.ac: Add --with-native-system-header-dir.  Set and
3208         substitute NATIVE_SYSTEM_HEADER_DIR.  Use native_system_header
3209         when setting target_header_dir.
3210         * config.gcc: Always set native_system_header_dir.
3211         (*-*-gnu*): Set native_system_header_dir.  Don't use t-gnu.
3212         (i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir.  Don't
3213         use i386/t-djgpp.
3214         (i[34567]86-*-mingw* | x86_64-*-mingw*): Set
3215         native_system_header_dir.
3216         (spu-*-elf*): Set native_system_header_dir.
3217         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
3218         @NATIVE_SYSTEM_HEADER_DIR@.
3219         (PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
3220         * cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
3221         (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
3222         STANDARD_INCLUDE_COMPONENT.
3223         (cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR.  Rename
3224         STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
3225         * system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
3226         STANDARD_INCLUDE_COMPONENT.
3227         * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
3228         * config/i386/t-mingw-w32: Likewise.
3229         * config/i386/t-mingw-w64: Likewise.
3230         * config/spu/t-spu-elf: Likewise.
3231         * config/i386/t-djgpp: Remove.
3232         * config/t-gnu: Remove.
3233         * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
3234         (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
3235         STANDARD_INCLUDE_COMPONENT.
3236         * config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
3237         * config/spu/spu-elf.h: Likewise.
3238         * config/vms/xm-vms.h: Likewise.
3239         * config/gnu.h: Likewise.
3240         * config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
3241         and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
3242         NATIVE_SYSTME_HEADER_COMPONENT.
3243         * doc/install.texi (Configuration): Document
3244         --with-native-system-header-dir.  Mention it in the documentation
3245         for --with-sysroot and --with-build-sysroot.
3246         * doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
3247         STANDARD_INCLUDE_DIR.  Rename STANDARD_INCLUDE_COMPONENT to
3248         NATIVE_SYSTEM_HEADER_COMPONENT.  Rename uses of
3249         STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
3250         * doc/fragments.texi (Target Fragment): Don't document
3251         NATIVE_SYSTEM_HEADER_DIR.
3252         * configure, doc/tm.texi: Rebuild.
3253
3254 2011-10-17  Richard Henderson  <rth@redhat.com>
3255
3256         * config/sparc/sparc.md: Use register_or_zero_operand where rJ
3257         is the constraint.
3258
3259         * config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
3260         patterns.
3261         * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
3262         * config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
3263
3264 2011-10-17  David S. Miller  <davem@davemloft.net>
3265
3266         * config/sparc/sparc-modes.def: Add single entry vector modes for
3267         DImode and SImode.
3268         * config/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
3269         mode iterators.
3270         (mov<V32:mode>): Revert back to plain SFmode pattern.
3271         (*movsf_insn): Likewise.
3272         (mov<V64:mode>): Revert back to plain DFmode pattern.
3273         (*movdf_insn_sp32): Likewise.
3274         (*movdf_insn_sp32_v9): Likewise.
3275         (*movdf_insn_sp64): Likewise.
3276         (V64 mode splitters) Likewise.
3277         (addsi3): Remove VIS alternatives.
3278         (subsi3): Likewise.
3279         (and<V64I:mode>3): Revert to DImode only pattern.
3280         (and<V64I:mode>3_sp32): Likewise.
3281         (*and<V64I:mode>3_sp64): Likewise.
3282         (and<V32I:mode>3): Likewise.
3283         (*and_not_<V64I:mode>_sp32): Likewise.
3284         (*and_not_<V64I:mode>_sp64): Likewise.
3285         (*and_not_<V32I:mode>): Likewise.
3286         (ior<V64I:mode>3): Likewise.
3287         (*ior<V64I:mode>3_sp32): Likewise.
3288         (*ior<V64I:mode>3_sp64): Likewise.
3289         (ior<V32I:mode>3): Likewise.
3290         (*or_not_<V64I:mode>_sp32): Likewise.
3291         (*or_not_<V64I:mode>_sp64): Likewise.
3292         (*or_not_<V32I:mode>): Likewise.
3293         (xor<V64I:mode>3): Likewise.
3294         (*xor<V64I:mode>3_sp32): Likewise.
3295         (*xor<V64I:mode>3_sp64): Likewise.
3296         (xor<V32I:mode>3): Likewise.
3297         (V64I mode splitters): Likewise.
3298         (*xor_not_<V64I:mode>_sp32): Likewise.
3299         (*xor_not_<V64I:mode>_sp64): Likewise.
3300         (*xor_not_<V32I:mode>): Likewise.
3301         (one_cmpl<V64I:mode>2): Likewise.
3302         (*one_cmpl<V64I:mode>2_sp32): Likewise.
3303         (*one_cmpl<V64I:mode>2_sp64): Likewise.
3304         (one_cmpl<V32I:mode>2): Likewise.
3305         (VM32, VM64, VMALL): New mode iterators.
3306         (vbits, vconstr, vfptype): New mode attributes.
3307         (mov<VMALL:mode>): New expander.
3308         (*mov<VM32:mode>_insn): New insn.
3309         (*mov<VM64:mode>_insn_sp64): New insn.
3310         (*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
3311         specifically for the register to memory case.
3312         (vec_init<mode>): New expander.
3313         (VADDSUB): New mode iterator.
3314         (<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
3315         with...
3316         (<plusminus_insn><mode>3): New consolidated pattern.
3317         (VL): New mode iterator for logical operations.
3318         (vlsuf): New more attribute.
3319         (vlop): New code iterator.
3320         (vlinsn, vlninsn): New code attributes.
3321         (<code><mode>3): New insn to non-negated vector logical ops.
3322         (*not_<code><mode>3): Likewise for negated variants.
3323         (*nand<mode>_vis): New insn.
3324         (vlnotop): New code iterator.
3325         (*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
3326         (one_cmpl<mode>2): New insn.
3327         (faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
3328         (bshuffle<VM64:mode>_vis): Likewise.
3329         (v<vis3_shift_patname><mode>3): Use GCM mode iterator.
3330         (fp<plusminus_insn>64_vis): Use V1DI mode.
3331         (VASS mode iterator): Use V1SI not SI mode.
3332         * config/sparc/sparc.c (sparc_vis_init_builtins): Account for
3333         single-entry vector mode changes.
3334         (sparc_expand_builtin): Likewise.
3335         (sparc_expand_vector_init): New function.
3336         * config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
3337
3338 2011-10-17  Kai Tietz  <ktietz@redhat.com>
3339
3340         * fold-const.c (simple_operand_p_2): New function.
3341         (fold_truthop): Rename to
3342         (fold_truth_andor_1): function name.
3343         Additionally remove branching creation for logical and/or.
3344         (fold_truth_andor): Handle branching creation for logical and/or here.