1 2011-11-05 Peter Dufault <dufault@hda.com>,
2 Sebastian Huber <sebastian.huber@embedded-brains.de>
4 * config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
5 Extend rs6000_spe handling.
7 2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
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
15 2011-11-05 Quentin Neill <quentin.neill@amd.com>
17 Piledriver f16cintrin.h fix.
18 * config/i386/f16cintrin.h: Contents moved from immintrin.h.
19 * config/config.gcc: Add f16cintrin.h.
21 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
24 * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
26 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
28 2011-11-04 Alan Modra <amodra@gmail.com>
30 * reload1.c (gen_reload): Don't use REGNO on SUBREGs.
31 * print-rtl.c (print_rtx): Don't segfault on negative regno.
33 2011-11-04 David S. Miller <davem@davemloft.net>
36 * config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
37 fact that sparc_emit_float_lib_cmp modifies the comparison in
40 2011-11-04 Ralf Corsépius <ralf.corsepius@rtems.org>
42 * config/lm32/t-rtems: New.
43 * config.gcc (lm32-*-rtems*): Add t-rtems.
45 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
48 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
50 2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
52 PR rtl-optimization/38644
53 * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
54 for epilogue having stack adjustment.
56 2011-11-04 Georg-Johann Lay <avr@gjlay.de>
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
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.
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.
110 2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
113 * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
114 support for VFP floating point model.
116 2011-11-04 Tristan Gingold <gingold@adacore.com>
118 * config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
120 2011-11-04 Ira Rosen <ira.rosen@linaro.org>
123 2011-10-24 Ira Rosen <ira.rosen@linaro.org>
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.
129 2011-11-04 Jakub Jelinek <jakub@redhat.com>
131 * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
133 * config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
135 * config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
136 For floatunsv8siv8sf2 require TARGET_AVX2.
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):
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.
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
176 2011-11-04 Tristan Gingold <gingold@adacore.com>
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.
198 2011-11-03 Uros Bizjak <ubizjak@gmail.com>
200 * sched-vis.c (print_value): Handle STRICT_LOW_PART.
202 2011-11-03 Uros Bizjak <ubizjak@gmail.com>
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.
208 2011-11-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
211 * config/arm/t-bpabi: New file.
212 * config.gcc (arm*-*-linux*): Add arm/t-bpabi to tmake_file for
214 (arm*-*-uclinux*): Add arm/t-bpabi to tmake_file for
216 (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi to tmake_file
219 2011-11-03 Michael Matz <matz@suse.de>
222 * configure.ac: Check for -fno-exceptions -fno-rtti.
223 * configure: Regenerate.
224 * Makefile.in (NOEXCEPTION_FLAGS): New flag.
225 (ALL_CXXFLAGS): Use it.
227 2011-11-03 Uros Bizjak <ubizjak@gmail.com>
229 * config/i386/i386.md: Use {} for multi-line preparation statements.
231 2011-11-03 Eric Botcazou <ebotcazou@adacore.com>
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.
240 2011-11-03 Tristan Gingold <gingold@adacore.com>
242 * config/vms/vms.c (vms_patch_builtins): Fix typo.
244 2011-11-03 Richard Guenther <rguenther@suse.de>
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.
264 2011-11-03 Richard Guenther <rguenther@suse.de>
266 * collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.
268 2011-11-03 Martin Jambor <mjambor@suse.cz>
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.
281 2011-11-03 Richard Guenther <rguenther@suse.de>
284 * lto-wrapper.c (get_options_from_collect_gcc_options): Properly
285 decode an encoded literal '.
287 2011-11-03 Tristan Gingold <gingold@adacore.com>
289 * collect2.c (main): Add support of -f (response file) on AIX.
291 2011-11-03 Ira Rosen <ira.rosen@linaro.org>
293 PR tree-optimization/50912
294 * tree-vectorizer.h (slp_void_p): New.
295 (struct _slp_tree): Replace left and right with children. Update
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
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.
327 2011-11-02 Peter Bergner <bergner@vnet.ibm.com>
328 Iain Sandoe <iains@gcc.gnu.org>
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.
335 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
336 Jason Merrill <jason@redhat.com>
339 * configure.ac: Add -Wno-narrowing to warning options.
340 * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
342 2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
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.
355 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
358 * builtins.c (fold_builtin_memchr): Fix cast.
360 2011-11-02 Teresa Johnson <tejohnson@google.com>
362 * config/i386/predicates.md (promotable_binary_operator): Add minus
363 to the list of promotable operators.
365 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
386 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
387 Paolo Bonzini <bonzini@gnu.org>
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.
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.
413 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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):
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.
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):
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)
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)
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.
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
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):
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):
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.
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
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
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
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
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.
739 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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):
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.
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.
840 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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]*,
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
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
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.
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.
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.
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):
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):
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.
1112 2011-11-02 Uros Bizjak <ubizjak@gmail.com>
1114 * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use
1115 CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2.
1117 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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
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
1224 (arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
1226 (bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
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
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
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-*,
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
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
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
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
1274 2011-11-02 Richard Guenther <rguenther@suse.de>
1276 PR tree-optimization/50902
1277 * tree-vect-stmts.c (vectorizable_load): Properly convert
1278 an invariant initializer element.
1280 2010-11-02 Richard Guenther <rguenther@suse.de>
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.
1290 2011-11-01 Ian Lance Taylor <iant@google.com>
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
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.
1305 2011-11-02 Alan Modra <amodra@gmail.com>
1307 * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED.
1309 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1312 * doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
1314 2011-11-01 Andrew Stubbs <ams@codesourcery.com>
1316 * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
1318 2011-11-01 Uros Bizjak <ubizjak@gmail.com>
1320 * config/i386/i386.md (splitters for int-float conversion): Use
1321 SUBREG_REG on SUBREGs in splitter constraints.
1323 2011-11-01 Jakub Jelinek <jakub@redhat.com>
1325 * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
1327 * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
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.
1333 2011-11-01 Uros Bizjak <ubizjak@gmail.com>
1336 * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
1337 Compare <ssevecmode>mode to V4SFmode, not V4SImode.
1339 2011-11-01 Peter Bergner <bergner@vnet.ibm.com>
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.
1364 2011-11-01 Georg-Johann Lay <avr@gjlay.de>
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.
1374 2011-11-01 Tom de Vries <tom@codesourcery.com>
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
1381 (replace_block_by): Use delete_block_update_dominator_info. Call
1382 update_vuses after deleting bb1 and updating dominator info, instead of
1385 2011-11-01 David S. Miller <davem@davemloft.net>
1387 * config/sparc/sparc.c (vector_init_faligndata): New function.
1388 (sparc_expand_vector_init): Use it for V4HImode on VIS1.
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.
1395 2011-11-01 Alexandre Oliva <aoliva@redhat.com>
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.
1403 2011-11-01 Jakub Jelinek <jakub@redhat.com>
1405 * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
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.
1415 2011-10-31 David S. Miller <davem@davemloft.net>
1417 * config/sparc/sparc.md (cmask patterns): Allow zero operand.
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.
1423 2011-10-31 Richard Henderson <rth@redhat.com>
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.
1440 2011-10-31 Martin Jambor <mjambor@suse.cz>
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)
1450 2011-10-31 Jakub Jelinek <jakub@redhat.com>
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
1457 2011-10-31 Paul Brook <paul@codesourcery.com>
1459 * cgraphunit.c: Don't mark clones as static constructors.
1461 2011-10-31 David Edelsohn <dje.gcc@gmail.com>
1463 * gcc-ar: Do not include stdio.h.
1465 2011-10-31 Diego Novillo <dnovillo@google.com>
1467 * tree-streamer-out.c (pack_ts_base_value_fields): Emit
1469 * tree-streamer-in.c (unpack_ts_base_value_fields): Read
1472 2011-10-30 David S. Miller <davem@davemloft.net>
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.
1478 * dwarf2out.c (dwarf2out_var_location): When processing several
1479 consecutive location notes, cache the result of next_real_insn().
1481 2011-10-30 Uros Bizjak <ubizjak@gmail.com>
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.
1493 2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru>
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.
1502 2011-10-30 Jakub Jelinek <jakub@redhat.com>
1504 * tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
1505 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
1507 (vect_vect_recog_func_ptrs): Add it.
1509 2011-10-30 David S. Miller <davem@davemloft.net>
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.
1516 2011-10-30 Revital Eres <revital.eres@linaro.org>
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.
1523 2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
1557 2011-10-29 Uros Bizjak <ubizjak@gmail.com>
1559 * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
1561 (xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses.
1562 * config/i386/i386.c: Update all uses.
1564 2011-10-29 Uros Bizjak <ubizjak@gmail.com>
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.
1573 2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1576 * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol
1578 (pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
1579 and TLS_MODEL_LOCAL_DYNAMIC symbol references.
1581 2011-10-29 Georg-Johann Lay <avr@gjlay.de>
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
1608 (avr_frame_pointer_required_p): Use frame pointer if target has a
1610 * config/avr/constraints.md (R): Remove.
1611 (Csp): New constraint.
1612 * config/avr/predicates.md (avr_sp_immediate_operand): Use it.
1614 2011-10-29 Andi Kleen <ak@linux.intel.com>
1616 * gcc-ar.c (target_machine): Add.
1618 2011-10-29 Anatoly Sokolov <aesok@post.ru>
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
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
1642 (cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
1644 2011-10-21 Andi Kleen <ak@linux.intel.com>
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.
1650 2011-10-20 Andi Kleen <ak@linux.intel.com>
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.
1656 2011-10-18 Andi Kleen <ak@linux.intel.com>
1658 * ggc-page (release_pages): First free large continuous
1659 chunks in the madvise path.
1661 2011-10-18 Andi Kleen <ak@linux.intel.com>
1663 * ggc-page.c (alloc_pages): Always round up entry_size.
1665 2011-10-19 Andi Kleen <ak@linux.intel.com>
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.
1676 2011-10-28 Pat Haugen <pthaugen@us.ibm.com>
1678 * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
1679 * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use vecdouble
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
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.
1700 2011-10-28 Uros Bizjak <ubizjak@gmail.com>
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.
1722 2011-10-28 Georg-Johann Lay <avr@gjlay.de>
1725 * config/avr/avr.md (parityhi2): Expand allowing pseudos.
1726 (*parityhi2): New pre-reload insn-and-split to map 16-bit parity
1728 (*parityqihi2): Same for 8-bit parity.
1730 2011-10-28 Julian Brown <julian@codesourcery.com>
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.
1736 2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
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
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.
1756 2011-10-28 Jakub Jelinek <jakub@redhat.com>
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
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.
1774 2010-10-28 Richard Guenther <rguenther@suse.de>
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.
1782 2011-10-28 Jakub Jelinek <jakub@redhat.com>
1784 * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
1785 vector mode from vectype's mode.
1787 2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
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.
1794 2011-10-27 David S. Miller <davem@davemloft.net>
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.
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.
1810 * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
1813 * regcprop.c (copyprop_hardreg_forward_1): Reject the
1814 transformation when we narrow the mode on big endian.
1816 2011-10-27 Jakub Jelinek <jakub@redhat.com>
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.
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.
1832 2011-10-27 Martin Jambor <mjambor@suse.cz>
1834 * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
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.
1843 2011-10-27 Uros Bizjak <ubizjak@gmail.com>
1846 * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
1847 constraints. Change alternative 1 to "x,m,1".
1849 2011-10-27 Jakub Jelinek <jakub@redhat.com>
1851 * Makefile.in (build/gencheck.o): Depend on tree.def and
1852 c-family/c-common.def.
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).
1859 2011-10-27 Eric Botcazou <ebotcazou@adacore.com>
1861 PR rtl-optimization/46603
1863 * reload.c (push_reload): In the out case, restore previous behavior
1864 for subregs that don't have word mode.
1866 2011-10-27 Ian Lance Taylor <iant@google.com>
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
1873 2011-10-27 Richard Henderson <rth@redhat.com>
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.
1879 2011-10-27 Bernd Schmidt <bernds@codesourcery.com>
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.
1886 2010-10-27 Richard Guenther <rguenther@suse.de>
1889 * tree-vect-generic.c (do_binop): Handle scalar operands.
1891 2011-08-27 Uros Bizjak <ubizjak@gmail.com>
1894 * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
1895 from different units in a single alternative.
1897 2011-10-26 David S. Miller <davem@davemloft.net>
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.
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
1906 (*neg_seqsi_sign_extend): Likewise.
1907 (*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
1908 *neg_sgeu_extend_sp64): New insns.
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.
1925 2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
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.
1935 2011-10-26 Alexandre Oliva <aoliva@redhat.com>
1938 * var-tracking.c (rtx_debug_expr_p): New.
1939 (use_type): Don't use debug exprs to track non-VTA variables.
1941 2011-10-26 Jeff Law <law@redhat.com>
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.
1949 2011-10-26 Iain Sandoe <iains@gcc.gnu.org>
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.
1962 2011-10-26 Alan Modra <amodra@gmail.com>
1964 * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
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.
1987 2011-10-26 Richard Guenther <rguenther@suse.de>
1989 * lto-wrapper.c (run_gcc): Properly init/free obstack.
1991 2011-10-26 Jakub Jelinek <jakub@redhat.com>
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.
2004 2011-10-26 Tom de Vries <tom@codesourcery.com>
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.
2010 2011-10-26 Richard Guenther <rguenther@suse.de>
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.
2018 2011-10-26 Andreas Tobler <andreast@fgznet.ch>
2020 * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
2023 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
2026 * gcc.c (main): Fix fatal_error string for translation.
2028 2011-10-25 Ian Lance Taylor <iant@google.com>
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.
2037 2011-10-25 H.J. Lu <hongjiu.lu@intel.com>
2039 * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and
2040 remove "&& !TARGET_64BIT"
2041 (*mmx_maskmovq_rex): Removed.
2043 2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
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.
2049 2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
2051 * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily
2052 suppress debug info for the parent type.
2054 2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
2056 * config/ia64/ia64.c (ia64_profile_hook): Fix thinko.
2058 2011-10-25 Richard Henderson <rth@redhat.com>
2060 * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove.
2061 (vec_extract_even<mode>, vec_extract_odd<mode>): Remove.
2063 * config/rs6000/altivec.md (vec_extract_evenv8hi,
2064 vec_extract_evenv16qi, vec_extract_oddv4si,
2065 vec_extract_oddv4sf): Remove.
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.
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.
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.
2090 * target.def (vec_perm_const_ok): Change parameters to mode and
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.
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.
2114 2011-10-25 Mike Stump <mikestump@comcast.net>
2116 * reload.c (regno_clobbered_p): Fix typo.
2118 2011-10-25 Dodji Seketeli <dodji@redhat.com>
2120 * input.c (expand_location): Rewrite using linemap_resolve_location
2121 and linemap_expand_location. Add a comment.
2123 2011-10-25 Jakub Jelinek <jakub@redhat.com>
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.
2137 2011-10-25 Kai Tietz <ktietz@redhat.com>
2139 * config/i386/i386.c (ix86_frame_pointer_required): Require
2140 frame-pointer, if setjmp is used for 32-bit ms-abi.
2142 2011-10-24 Michael Meissner <meissner@linux.vnet.ibm.com>
2144 * builtins.c (set_builtin_user_assembler_name): Remove extra
2145 newline added in October 11th, 2011 change.
2147 2011-10-24 David S. Miller <davem@davemloft.net>
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.
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.
2165 * config/sparc/sparc.md (cpu_feature, enabled): New attributes.
2166 (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
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
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.
2194 2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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
2202 (handle_builtin_strcpy): Mark earlier strinfo elements also for
2203 delayed length computation.
2205 2011-10-24 Georg-Johann Lay <avr@gjlay.de>
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.
2212 2011-10-24 Anatoly Sokolov <aesok@post.ru>
2213 Georg-Johann Lay <avr@gjlay.de>
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.
2221 2011-10-24 Richard Guenther <rguenther@suse.de>
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.
2237 2011-10-24 Julian Brown <julian@codesourcery.com>
2239 * config/m68k/m68k.c (notice_update_cc): Tighten condition for
2240 setting CC_REVERSED for FP comparisons.
2242 2011-10-24 Richard Guenther <rguenther@suse.de>
2244 PR tree-optimization/50838
2245 * tree-data-ref.c (dr_analyze_indices): Properly canonicalize
2246 a MEM_REF base if we change it.
2248 2011-10-24 Bernd Schmidt <bernds@codesourcery.com>
2251 * rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".
2253 PR rtl-optimization/50833
2254 * function.c (thread_prologue_and_epilogue_insns): Expect the
2255 return insn optimization only if optimize.
2257 2011-10-24 Georg-Johann Lay <avr@gjlay.de>
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
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.
2272 2011-10-24 Ira Rosen <ira.rosen@linaro.org>
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.
2278 2011-10-23 David S. Miller <davem@davemloft.net>
2280 * config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
2282 * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
2283 append -mcpu=v9 when -mv8plus is given.
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.
2324 * config/sparc/sparc.c (sparc_split_regreg_legitimate): New function.
2325 * config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
2327 * config/sparc/sparc.md (DImode reg/reg split): Use it.
2328 (DFmode reg/reg split): Likewise.
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.
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.
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.
2354 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2358 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2361 * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
2363 2011-10-23 Uros Bizjak <ubizjak@gmail.com>
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.
2372 2011-10-23 Uros Bizjak <ubizjak@gmail.com>
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
2387 (*avx2_gatherdi<mode>): Ditto.
2388 (*avx2_gatherdi<mode>256): Ditto.
2389 (VI48_AVX2): Remove mode iterator.
2390 (gthrlastfp): Remove mode attribute.
2392 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2395 * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
2397 2011-10-23 Tom de Vries <tom@codesourcery.com>
2399 PR tree-optimization/50763
2400 * tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored
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
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.
2420 2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
2422 * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
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.
2428 2011-10-23 Jan Hubicka <jh@suse.cz>
2430 * ipa-inline.c (estimate_badness): Scale up and handle overflows.
2432 2011-10-23 Uros Bizjak <ubizjak@gmail.com>
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.
2444 2011-10-23 Ira Rosen <ira.rosen@linaro.org>
2446 PR tree-optimization/50819
2447 * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
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.
2462 2011-10-22 David S. Miller <davem@davemloft.net>
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.
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.
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.
2478 2011-10-21 Paul Brook <paul@codesourcery.com>
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.
2484 2011-10-21 Jakub Jelinek <jakub@redhat.com>
2487 * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
2488 V4DImode and V8SImode for !TARGET_AVX2.
2490 2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
2493 * sched-deps.c (add_dependence): If not doing predication, promote
2494 REG_DEP_CONTROL to REG_DEP_ANTI.
2496 2011-10-21 Georg-Johann Lay <avr@gjlay.de>
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
2506 2011-10-21 Roland Stigge <stigge@antcom.de>
2508 PR translation/47064
2509 * params.def: Fix typo "compilatoin" -> "compilation".
2511 2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
2512 Kirill Yukhin <kirill.yukhin@intel.com>
2515 * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
2516 if max_level allows that.
2518 2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
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
2551 (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
2552 (reg_pending_control_uses, control_dependency_cache): New static
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
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
2600 2011-10-21 Georg-Johann Lay <avr@gjlay.de>
2603 * config/avr/libgcc.S (__EIND__): New define to 0x3C.
2604 (__tablejump__): Consistently use EIND for indirect jump/call.
2605 (__tablejump_elpm__): Ditto.
2607 2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
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_):
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
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
2626 (c6x_reorg): Add reg notes problem, and call df_analyze.
2627 * Makefile.in ($(out_object_file)): Depend on regrename.h.
2629 2011-10-21 Kai Tietz <ktietz@redhat.com>
2631 * fold-const.c (simple_operand_p_2): Handle integral
2632 casts from boolean-operands.
2634 2011-10-21 Jan Hubicka <jh@suse.cz>
2636 * cgraph.c (dump_cgraph_node): Dump alias flag.
2637 * cgraphunit.c (handle_alias_pairs): Handle weakrefs with
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.
2643 2011-10-21 Andrew Stubbs <ams@codesourcery.com>
2646 * config/arm/driver-arm.c (vendors): Make static.
2648 2011-10-21 Uros Bizjak <ubizjak@gmail.com>
2650 * config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
2651 (ix86_emit_swsqrtsf): Force a into register.
2653 2011-10-20 Mike Stump <mikestump@comcast.net>
2655 * regcprop.c (copyprop_hardreg_forward_1): Update recog_data
2656 after validate_change wipes it out.
2658 2011-10-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2660 * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
2661 before using the shufb instruction.
2663 2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
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.
2672 2011-10-20 Richard Henderson <rth@redhat.com>
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.
2681 2011-10-20 Sergey Ostanevich <sergos.gnu@gmail.com>
2684 * config/i386/i386.c (processor_target_table): Change Atom
2685 align_loops_max_skip to 15.
2687 2011-10-20 Richard Henderson <rth@redhat.com>
2689 * target.def (builtin_vec_perm): Remove.
2690 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
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.
2703 * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove.
2704 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2706 * config/spu/spu.c (spu_builtin_vec_perm): Remove.
2707 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
2709 2011-10-20 Uros Bizjak <ubizjak@gmail.com>
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
2719 2011-10-20 Dodji Seketeli <dodji@redhat.com>
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.
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.
2730 2011-10-19 Jan Hubicka <jh@suse.cz>
2732 * ipa-inline.c (inline_small_functions): Always update all calles after
2735 2011-10-19 Jan Hubicka <jh@suse.cz>
2738 * ipa-inline.c (inline_small_functions): Fix checking code to not make
2739 effect on fibheap stability.
2741 2011-10-20 Maxim Kuvyrkov <maxim@codesourcery.com>
2743 * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
2745 2011-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2748 * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
2751 2011-10-20 Richard Guenther <rguenther@suse.de>
2753 * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
2754 and rotates to the set of expensive operations.
2756 2011-10-19 David S. Miller <davem@davemloft.net>
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.
2765 2011-10-20 Dehao Chen <dehao@google.com>
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
2772 2011-10-19 Jakub Jelinek <jakub@redhat.com>
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.
2784 * cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
2787 2011-10-19 Bernd Schmidt <bernds@codesourcery.com>
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
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.
2816 2011-10-19 Tom de Vries <tom@codesourcery.com>
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.
2824 2011-10-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
2834 2011-10-19 Alexandre Oliva <aoliva@redhat.com>
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.
2850 (dv_onepart_p): Return a onepart_enum_t.
2851 (onepart_pool): 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
2863 (variable_union): Use onepart field, adjust access to offset.
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
2884 (dataflow_set_remove_mem_locs): Likewise. Use VAR_LOC_FROM.
2885 (variable_different_p): Use onepart field. Move onepart test out
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
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.
2946 2011-10-19 Georg-Johann Lay <avr@gjlay.de>
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.
2965 2011-10-19 Richard Guenther <rguenther@suse.de>
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.
2973 2011-10-19 Roland Stigge <stigge@antcom.de>
2975 PR translation/48638
2976 * plugin.c (add_new_plugin): Fix typo in fatal_error message.
2978 2011-10-19 Roland Stigge <stigge@antcom.de>
2980 PR translation/49517
2981 * config/rx/rx.c (rx_print_operand): Fix typo in warning message.
2983 2011-10-19 Richard Guenther <rguenther@suse.de>
2986 * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
2988 2011-10-19 Andrey Belevantsev <abel@ispras.ru>
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.
2995 2011-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2998 * config/spu/spu.c (spu_emit_vector_compare): Support unordered
2999 floating-point comparisons.
3001 2011-10-19 Jan Hubicka <jh@suse.cz>
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.
3008 2011-10-19 Jakub Jelinek <jakub@redhat.com>
3010 * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
3011 second argument instead of mode.
3013 2011-10-18 Jakub Jelinek <jakub@redhat.com>
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
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
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
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.
3035 2011-10-18 Andrew Stubbs <ams@codesourcery.com>
3037 * config/arm/driver-arm.c (host_detect_local_cpu): Close the file
3040 2011-10-18 Andrew Stubbs <ams@codesourcery.com>
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.
3048 2011-10-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
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.
3059 2011-10-18 Jakub Jelinek <jakub@redhat.com>
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.
3066 2011-10-18 Andrew Stubbs <ams@codesourcery.com>
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.
3080 2011-10-18 Alexander Monakov <amonakov@ispras.ru>
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.
3088 2011-10-18 Richard Guenther <rguenther@suse.de>
3090 PR tree-optimization/50767
3091 * tree-ssa-pre.c (create_expression_by_pieces): Update the
3094 2011-10-18 Julian Brown <julian@codesourcery.com>
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.
3101 2011-10-18 Ira Rosen <ira.rosen@linaro.org>
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
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>):
3141 * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
3143 * config/arm/iterators.md (V_innermode): New.
3144 * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
3147 2011-10-18 Richard Guenther <rguenther@suse.de>
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
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
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.
3175 2011-10-18 Tom de Vries <tom@codesourcery.com>
3177 PR tree-optimization/50672
3178 * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
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.
3188 2011-10-18 Richard Guenther <rguenther@suse.de>
3191 * expr.c (get_object_or_type_alignment): New function.
3192 (expand_assignment): Use it.
3193 (expand_expr_real_1): Likewise.
3195 2011-10-18 Dodji Seketeli <dodji@redhat.com>
3198 * input.c (dump_line_table_statistics): Use long, not size_t.
3200 2011-10-17 Eric Botcazou <ebotcazou@adacore.com>
3202 * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
3204 2011-10-17 Simon Baldwin <simonb@google.com>
3205 Ian Lance Taylor <iant@google.com>
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
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.
3254 2011-10-17 Richard Henderson <rth@redhat.com>
3256 * config/sparc/sparc.md: Use register_or_zero_operand where rJ
3259 * config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
3261 * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
3262 * config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
3264 2011-10-17 David S. Miller <davem@davemloft.net>
3266 * config/sparc/sparc-modes.def: Add single entry vector modes for
3268 * config/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
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.
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
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.
3338 2011-10-17 Kai Tietz <ktietz@redhat.com>
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.