aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-16re PR tree-optimization/49960 (inconsistent outputs when enabling autopar ↵Razya Ladelsky1-0/+7
for a self -dependence testcase) PR tree-optimization/49960 * gcc.dg/autopar/pr49960.c: New test. * gcc.dg/autopar/pr49960-1.c: New test. From-SVN: r181410
2011-11-16re PR tree-optimization/49960 (inconsistent outputs when enabling autopar ↵Razya Ladelsky2-0/+85
for a self -dependence testcase) PR tree-optimization/49960 * gcc.dg/autopar/pr49960.c: New test. * gcc.dg/autopar/pr49960-1.c: New test. From-SVN: r181409
2011-11-16re PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to ↵Uros Bizjak3-2/+8
181267) PR bootstrap/51098 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector. * configure: Regenerate. From-SVN: r181408
2011-11-162011-11-16 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-1/+1
* Fix name in ChangeLog entry. From-SVN: r181407
2011-11-16re PR middle-end/50325 (76 new fails with rev. 177691)Andreas Krebbel2-4/+21
2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR middle-end/50325 * expmed.c (store_bit_field_1): Use extract_bit_field on big endian targets if the source cannot be exactly covered by word mode chunks. From-SVN: r181405
2011-11-16qrnnd.S: Use specific pseudos for VMS.Tristan Gingold2-0/+16
2011-11-16 Tristan Gingold <gingold@adacore.com> * config/alpha/qrnnd.S: Use specific pseudos for VMS. From-SVN: r181403
2011-11-16i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.Joseph Myers2-2/+7
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT. From-SVN: r181400
2011-11-16Daily bump.GCC Administrator1-1/+1
From-SVN: r181399
2011-11-15alpha: Convert to atomic optabs.Richard Henderson7-209/+431
From-SVN: r181395
2011-11-15re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with ↵Paolo Carlini19-0/+386
-D_GLIBCXX_DEBUG.) 2011-11-15 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51142 * include/debug/unordered_map (unordered_map<>::erase(iterator), unordered_multimap<>::erase(iterator)): Add, consistently with LWG 2059. * include/debug/unordered_set (unordered_set<>::erase(iterator), unordered_multiset<>::erase(iterator)): Likewise. * include/debug/map.h (map<>::erase(iterator)): Likewise. * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise. * include/profile/map.h (map<>::erase(iterator)): Likewise. * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise. * include/bits/stl_map.h (map<>::erase(iterator)): Likewise. * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise. * testsuite/23_containers/unordered_map/erase/51142.cc: New. * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise. * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise. * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise. From-SVN: r181394
2011-11-15pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.Tom de Vries5-0/+11
2011-11-16 Tom de Vries <tom@codesourcery.com> * gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump. * gcc.dg/pr43864-2.c: Same. * gcc.dg/pr43864-3.c: Same. * gcc.dg/pr43864-4.c: Same. From-SVN: r181393
2011-11-15tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.Tom de Vries2-0/+9
2011-11-16 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1. From-SVN: r181392
2011-11-16re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)Alan Modra2-1/+9
PR rtl-optimization/51051 PR bootstrap/51086 * function.c (thread_prologue_and_epilogue_insns): Guard emitting return with single_succ_p test. From-SVN: r181391
2011-11-15sse2-cvt-vec.c: New test.Uros Bizjak4-1/+133
* gcc.target/i386/sse2-cvt-vec.c: New test. * gcc.target/i386/avx-cvt-vec.c: Ditto. * gcc.target/i386/avx-cvt-2-vec.c: Ditto. From-SVN: r181390
2011-11-15epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is ↵Joern Rennecke2-1/+6
VOIDmode. * config/epiphany/epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode. From-SVN: r181388
2011-11-15sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.Uros Bizjak11-38/+486
* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX. (vec_pack_sfix_trunc_v2df): Ditto. (vec_pack_sfix_v2df): Ditto. (vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and avx_vec_concatv8si patterns. (vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and avx_vec_concatv8si patterns. testsuite/ChangeLog: * gcc.target/i386/avx-floor-sfix-2-vec.c: New test. * gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto. * gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto. * gcc.target/i386/avx-round-sfix-2-vec.c: Ditto. From-SVN: r181387
2011-11-15gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* ↵Iain Sandoe2-0/+9
targets. gcc/testsuite: * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets. From-SVN: r181384
2011-11-15Require parentheses when parsing transaction expressions.Torvald Riegel6-14/+44
gcc/ * c-parser.c (c_parser_transaction_expression): Require parentheses when parsing transaction expressions. gcc/cp/ * parser.c (cp_parser_transaction_expression): Require parentheses when parsing transaction expressions. gcc/testsuite/ * c-c++-common/tm/trxn-expr-3.c: New test. From-SVN: r181383
2011-11-15re PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite())Jason Dick2-2/+8
2011-11-15 Jason Dick <dickphd@gmail.com> PR libstdc++/51133 * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix wrong sign in recursion relation. From-SVN: r181381
2011-11-15incpath.c (get_added_cpp_dirs): New function.Tristan Gingold5-0/+69
2011-11-15 Tristan Gingold <gingold@adacore.com> * incpath.c (get_added_cpp_dirs): New function. * incpath.h (get_added_cpp_dirs): Declare. * config/vms/vms-c.c (vms_c_register_includes): New function. (vms_std_modules): New variable. * config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define. (vms_c_register_includes): Declare. From-SVN: r181380
2011-11-15c-pragma.h (pragma_extern_prefix): Declare.Tristan Gingold4-1/+49
2011-11-15 Tristan Gingold <gingold@adacore.com> * c-family/c-pragma.h (pragma_extern_prefix): Declare. * c-family/c-pragma.c (pragma_extern_prefix): Make it public. * config/vms/vms-c.c (saved_extern_prefix): New variable. (vms_pragma_extern_prefix): New function. (vms_c_register_pragma): Register vms_pragma_extern_prefix. From-SVN: r181379
2011-11-15re PR target/49868 (Implement named address space to place/access data in ↵Georg-Johann Lay11-128/+1036
flash memory) gcc/ PR target/49868 * config/avr/avr.h (ADDR_SPACE_PGM): New address spaces. (REGISTER_TARGET_PRAGMAS): New define. * config/avr/avr-protos.h (avr_mem_pgm_p): New. (avr_load_libgcc_p): New. (asm_output_external_libcall): Remove. (avr_register_target_pragmas): New. (avr_log_t): Add field "progmem". Order alphabetically. * config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem. * config/avr/avr-c.c (langhooks.h): New include. (avr_register_target_pragmas): New function. Register address space __pgm. (avr_cpu_cpp_builtins): Add built-in define __PGM. * config/avr/avr.c: Include "c-family/c-common.h". (TARGET_LEGITIMATE_ADDRESS_P): Remove define. (TARGET_LEGITIMIZE_ADDRESS): Remove define. (TARGET_ADDR_SPACE_SUBSET_P): Define to... (avr_addr_space_subset_p): ...this new static function. (TARGET_ADDR_SPACE_CONVERT): Define to... (avr_addr_space_convert): ...this new static function. (TARGET_ADDR_SPACE_ADDRESS_MODE): Define to... (avr_addr_space_address_mode): ...this new static function. (TARGET_ADDR_SPACE_POINTER_MODE): Define to... (avr_addr_space_pointer_mode): ...this new static function. (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to... (avr_addr_space_legitimate_address_p): ...this new static function. (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to... (avr_addr_space_legitimize_address): ...this new static function. (avr_mode_code_base_reg_class): Handle address spaces. (avr_regno_mode_code_ok_for_base_p): Ditto. (lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables. (avr_option_override): Initialize them. (output_reload_in_const): Use all_regs_rtx. Fix signedness of loop variables. (avr_pgm_segment): New static function. (avr_decl_pgm_p, avr_mem_pgm_p): New static functions. (avr_out_lpm, avr_out_lpm_no_lpmx): New static functions. (output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call avr_out_lpm to handle loads from progmem. (avr_load_libgcc_p): New static function. (avr_progmem_p): Test if decl is in flash. (avr_pgm_pointer_const_p): New static function. (avr_nonconst_pointer_addrspace): New static function. (avr_pgm_check_var_decl): New static function. (avr_insert_attributes): Use it. Change error message to report cause (progmem or address space) when code wants to write to flash. (avr_section_type_flags): Unset section flag SECTION_BSS for data in progmem. * config/avr/predicates.md (nop_general_operand): New predicate. (nox_general_operand): New predicate. * config/avr/avr.md (LPM_REGNO): New define_constant. (load<mode>_libgcc): New expander. (*load.<mode>.libgcc): New insn. (mov<mode>): Handle loads from non-generic AS. (movmemhi): Ditto. Propagate address space information to newly created MEM. (movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1 to nox_general_operand. (ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand. (ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto. (lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto. (split-lpmx): New split. (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const, *lshrhi3_const, *lshrsi3_const): Indent, unquote C. libgcc/ PR target/49868 * config/avr/t-avr (LIB1ASMFUNCS): Add _load_3, _load_4. * config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions. From-SVN: r181378
2011-11-15ipa-cp.c (ipa_value_from_jfunc): Make global.Maxim Kuvyrkov7-61/+189
* ipa-cp.c (ipa_value_from_jfunc): Make global. (ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead. (get_indirect_edge_target): Rename, make global. (devirtualization_time_bonus, estimate_local_effects,) (ipcp_discover_new_direct_edges): Update. * ipa-inline-analysis.c (evaluate_conditions_for_edge): Generalize to also handle types. Rename to ... (evaluate_properties_for_edge): Use instead of evaluate_conditions_for_edge. (estimate_edge_devirt_benefit): New function. (estimate_calls_size_and_time): Use it. (estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,) (inline_merge_summary): Update. (do_estimate_edge_time, do_estimate_edge_growth): Update. Calculate parameter information at the call site and pass it on to subroutines. * tree-inline.c (estimate_num_insns): Distinguish between direct and indirect calls. (init_inline_once): Set size and time costs or indirect calls. * tree-inline.h (eni_weights): Add indirect_call_cost. From-SVN: r181377
2011-11-15Daily bump.GCC Administrator1-1/+1
From-SVN: r181376
2011-11-15re PR tree-optimization/51005 (-ftree-tail-merge slows down compilation of ↵Tom de Vries2-318/+52
20001226-1.c) 2011-11-15 Tom de Vries <tom@codesourcery.com> PR tree-optimization/51005 * tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to mark_basic_block_deleted. (update_worklist): Inline purge_bbs. (purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry) (delete_block_update_dominator_info): Remove. (replace_block_by): Remove update_vops parameter. Partially evaluate for update_vops == false. (apply_clusters): Remove update_vops parameter. Remove update_vops argument in replace_block_by call. (update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test. (tail_merge_optimize): Remove update_vops argument to apply_clusters. Remove call to purge_bbs. Add calls to calculate_dominance_info and free_dominance_info. Add MAY_HAVE_DEBUG_STMTS before calling update_debug_stmts. Mark vop var for renaming, if necessary. From-SVN: r181372
2011-11-14re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)Bernd Schmidt2-0/+16
PR rtl-optimization/51051 * cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the move would cause fallthrough into the exit block. From-SVN: r181371
2011-11-14rs6000: Rewrite sync patterns for atomic; expand early.Richard Henderson5-864/+582
The conversion of the __sync post-reload splitters was half complete. Since there are nearly no restrictions on what may appear between LL and SC, expand all the patterns immediatly. This allows significantly easier code generation for subword atomic operations. From-SVN: r181370
2011-11-14sse.md (round<mode>2): Use register_operand for operand 1 predicate.Uros Bizjak2-4/+12
* config/i386/sse.md (round<mode>2): Use register_operand for operand 1 predicate. (round<mode>2_sfix): Ditto. (round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2. From-SVN: r181369
2011-11-14runtime: Use some of 6g runtime.c for easier merging.Ian Lance Taylor9-74/+257
From-SVN: r181368
2011-11-14* gcov.c (canonicalize_name): Protect use of S_ISLNK.Nathan Sidwell2-3/+12
From-SVN: r181367
2011-11-14Trivial: add cleanup-tree-dump in testcase, fix typo in comment.Torvald Riegel2-1/+6
gcc/testsuite: * g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment. From-SVN: r181366
2011-11-14i386.c (core cost model): Correct pasto.Jan Hubicka2-4/+8
gcc: 2011-11-14 Jan Hubicka <jh@suse.cz> * config/i386/i386.c (core cost model): Correct pasto. From-SVN: r181365
2011-11-14avx-recip-vec.c: New test.Uros Bizjak31-556/+230
* gcc.target/i386/avx-recip-vec.c: New test. * gcc.target/i386/avx-lrintf-vec.c: Ditto. * gcc.target/i386/avx-lrint-vec.c: Ditto. * gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c. * gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c. * gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c. * gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c. * gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c. * gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c. * gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c. * gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c. * gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c. * gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c. * gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c. * gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c. From-SVN: r181364
2011-11-14re PR c++/51107 ([C++11] Accepts invalid literal operator with void argument ↵Ed Smith-Rowland4-4/+18
list.) PR c++/51107 * typeck.c (check_literal_operator_args): Add processing_specialization to check for void template fn. Test for exact arity for non-template fn. From-SVN: r181363
2011-11-14sse.md (round<mode>2_sfix): New expander.Uros Bizjak17-46/+769
* config/i386/sse.md (round<mode>2_sfix): New expander. (round<mode>2_vec_pack_sfix): Ditto. (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto. (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto. * config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND, V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines. (bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256}, __builtin_ia32_roundpd_az_vec_pack_sfix{,256}, __builtin_ia32_{floorps,ceilps}_sfix{,256}and __builtin_ia32_roundps_az_sfix{,256} descriptions. (ix86_expand_sse_round_vec_pack_sfix): New. (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and V8SI_FTYPE_V4DF_V4DF_ROUND types. Check last argument of CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix, CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256. (ix86_builtin_vectorized_function): Handle BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and BUILT_IN_{I,L,LL}ROUND{,F} testsuite/ChangeLog: * gcc.target/i386/sse4_1-floor-sfix-vec.c: New test. * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto. * gcc.target/i386/avx-floor-sfix-vec.c: Ditto. * gcc.target/i386/avx-floorf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceil-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto. * gcc.target/i386/avx-round-sfix-vec.c: Ditto. * gcc.target/i386/avx-roundf-sfix-vec.c: Ditto. From-SVN: r181361
2011-11-14Check ia32 instead of ilp32.H.J. Lu2-1/+5
2011-11-14 H.J. Lu <hongjiu.lu@intel.com> * testsuite/lib/libitm.exp: Check ia32 instead of ilp32. From-SVN: r181360
2011-11-14re PR c++/6936 (member "using" binds wrong)Fabien Chêne49-106/+931
PR c++/6936 PR c++/25994 PR c++/26256 PR c++/30195 * search.c (lookup_field_1): Look through USING_DECL. (lookup_field_r): Call lookup_fnfields_slot instead of lookup_fnfields_1. * semantics.c (finish_member_declaration): Remove the check that prevents USING_DECLs from being verified by pushdecl_class_level. Call add_method for using declarations that designates functions if the using declaration is in a template class. Set DECL_IGNORED_P on class-scope using declarations. * typeck.c (build_class_member_access_expr): Handle USING_DECLs. * class.c (check_field_decls): Keep using declarations. (add_method): Remove two diagnostics about conflicting using declarations. * parser.c (cp_parser_nonclass_name): Handle USING_DECLs. * decl.c (start_enum): Call xref_tag whenever possible. * cp-tree.h (strip_using_decl): Declare, and reident the previous function. * name-lookup.c (strip_using_decl): New function. (supplement_binding_1): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Also check that the target decl and the target bval does not refer to the same declaration. Allow pushing an enum multiple times in a template class. Adjustment to diagnose using redeclarations. Call diagnose_name_conflict. (push_class_level_binding): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Return true if both decl and bval refer to USING_DECLs and are dependent. (diagnose_name_conflict): New function. From-SVN: r181359
2011-11-14re PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on ↵Jan Hubicka1-0/+10
*-apple-darwin*) PR middle-end/50598 * cgraph.h (varpool_externally_visible_p): Declare. (varpool_add_new_variable): Declare. * tree-emultls.c (get_emutls_init_templ_addr, new_emutls_decl): Use varpool_add_new_variable. * ipa.c (varpool_externally_visible_p): Export. * varpool.c (varpool_add_new_variable): New function. From-SVN: r181358
2011-11-14sw-1.c: Force rep;movsb.Zolotukhin Michael12-247/+898
* gcc.target/i386/sw-1.c: Force rep;movsb. * config/i386/i386.h (processor_costs): Add second dimension to stringop_algs array. * config/i386/i386.c (cost models): Initialize second dimension of stringop_algs arrays. (core_cost): New costs based on generic64 costs with updated stringop values. (promote_duplicated_reg): Add support for vector modes, add declaration. (promote_duplicated_reg_to_size): Likewise. (processor_target): Set core costs for core variants. (expand_set_or_movmem_via_loop_with_iter): New function. (expand_set_or_movmem_via_loop): Enable reuse of the same iters in different loops, produced by this function. (emit_strset): New function. (expand_movmem_epilogue): Add epilogue generation for bigger sizes, use SSE-moves where possible. (expand_setmem_epilogue): Likewise. (expand_movmem_prologue): Likewise for prologue. (expand_setmem_prologue): Likewise. (expand_constant_movmem_prologue): Likewise. (expand_constant_setmem_prologue): Likewise. (decide_alg): Add new argument align_unknown. Fix algorithm of strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop (decide_alignment): Update desired alignment according to chosen move mode. (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves. (ix86_expand_setmem): Likewise. (ix86_slow_unaligned_access): Implementation of new hook slow_unaligned_access. * config/i386/i386.md (strset): Enable half-SSE moves. * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si. (vec_dupv2di): Add expand for vec_dupv2di. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r181357
2011-11-14re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)Dimitrios Apostolou3-16/+7
PR bootstrap/51094 PR middle-end/51116 * config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove. * varasm.c (default_elf_internal_label): Remove. From-SVN: r181355
2011-11-14gcov.c (generate_results): Add missing semicolon and correct indent.Kai Tietz2-3/+8
* gcov.c (generate_results): Add missing semicolon and correct indent. From-SVN: r181353
2011-11-14re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess ↵Iain Sandoe2-1/+7
errors) on *-apple-darwin*) gcc/testsuite: PR testsuite/51059 * gcc.misc-tests/gcov-14.c (dg-options): Adjust to use dg-additional-options. From-SVN: r181350
2011-11-14cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the ↵Paolo Carlini2-7/+12
pointer parameter. 2011-11-14 Paolo Carlini <paolo.carlini@oracle.com> * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr, not viable anyway due to the pointer parameter. From-SVN: r181349
2011-11-14re PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) ↵Tobias Burnus2-2/+11
returns non-NULL) 2011-11-14 Tobias Burnus <burnus@net-b.de> PR fortran/51073 * trans-decl.c (generate_coarray_sym_init): Handle zero-sized * arrays. From-SVN: r181348
2011-11-14re PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)Ira Rosen2-1/+6
PR bootstrap/51112 * tree-vect-stmts.c (vectorizable_condition): Initialize comp_vectype. From-SVN: r181347
2011-11-14Fix a cross reference.Mingjie Xing2-1/+6
From-SVN: r181346
2011-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r181345
2011-11-13cmath (atan2, [...]): Simplify constraining on the return type.Paolo Carlini3-105/+30
2011-11-13 Paolo Carlini <paolo.carlini@oracle.com> * include/c_global/cmath (atan2, fmod, pow, copysign, fdim, fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify constraining on the return type. * include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot, nextafter, remainder, remquo): Likewise. From-SVN: r181341
2011-11-13re PR target/50694 (SH Target: SH2A little endian does not actually work)Oleg Endo5-11/+38
PR target/50694 * config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A): New macros. (DRIVER_SELF_SPECS): Use new macros to filter out unsupported options taking the default configuration into account. * gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is specified. Remove redundant runtime checks. * gcc.target/sh/20080410-1.c: Skip if -mb is specified. Allow for other than -m4. Fix typos in comments. From-SVN: r181340
2011-11-13config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.John David Anglin4-16/+23
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list. * config/pa/t-stublib: Merge rules from config/pa/t-stublib64. * config/pa/t-stublib64: Delete. From-SVN: r181339