aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
AgeCommit message (Collapse)AuthorFilesLines
2013-11-03rs6000.c (rs6000_expand_vector_set): Adjust for little endian.Bill Schmidt1-4/+21
gcc: 2013-11-02 Bill Schmidt <wschmidt@vnet.linux.ibm.com> * config/rs6000/rs6000.c (rs6000_expand_vector_set): Adjust for little endian. gcc/testsuite: 2013-11-02 Bill Schmidt <wschmidt@vnet.linux.ibm.com> * gcc.dg/vmx/vec-set.c: New. From-SVN: r204321
2013-11-02constraints.md (Ts, Tv): New address constrains.Uros Bizjak4-22/+32
* config/i386/constraints.md (Ts, Tv): New address constrains. * config/i386/i386.md (*lea<mode>, *<mode>_<bndcheck>): Use Ts constraint for address_no_seg_operand. * config/i386/sse.md (*avx512pf_gatherpf<mode>_mask) (*avx512pf_gatherpf<mode>, *avx512pf_scatterpf<mode>_mask) (*avx512pf_scatterpf<mode>, *avx2_gathersi<mode>) (*avx2_gathersi<mode>_2, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>_2) (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4) (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2) (*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2) (*avx512f_scattersi<mode> *avx512f_scatterdi<mode>): Use Tv constraint for vsib_address_operand. From-SVN: r204317
2013-11-02gcse.c (pre_delete): Remove references to regmove from comments.Steven Bosscher2-6/+2
* gcse.c (pre_delete): Remove references to regmove from comments. * recog.c: (validate_replace_rtx_1): Likewise. * config/rl78/rl78.c: Likewise. * config/v850/v850.h: Likewise, and remove unused ENABLE_REGMOVE_PASS. * common/config/m32r/m32r-common.c: Don't manipulate OPT_fregmove. * common/config/mmix/mmix-common.c: Likewise. From-SVN: r204309
2013-11-01configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1.Uros Bizjak3-18/+12
* configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1. * configure: Regenerate. * config/i386/i386.md (*movdi_internal): Change HAVE_AS_IX86_INTERUNIT_MOVQ to runtime check. (*movdf_internal): Ditto. * config/i386/mmx.md (*mov<mode>_internal): Ditto. * config/i386/sse.md (vec_concatv2di): Output interunit movq for HAVE_AS_IX86_INTERUNIT_MOVQ targets. From-SVN: r204289
2013-10-31optabs.c (expand_vec_perm): Avoid vector mode punning SUBREGs in SET_DEST.Jakub Jelinek2-132/+253
* optabs.c (expand_vec_perm): Avoid vector mode punning SUBREGs in SET_DEST. * expmed.c (store_bit_field_1): Likewise. * config/i386/sse.md (movdi_to_sse, vec_pack_sfix_trunc_v2df, vec_pack_sfix_v2df, vec_shl_<mode>, vec_shr_<mode>, vec_interleave_high<mode>, vec_interleave_low<mode>): Likewise. * config/i386/i386.c (ix86_expand_vector_move_misalign, ix86_expand_sse_movcc, ix86_expand_int_vcond, ix86_expand_vec_perm, ix86_expand_sse_unpack, ix86_expand_args_builtin, ix86_expand_vector_init_duplicate, ix86_expand_vector_set, emit_reduc_half, expand_vec_perm_blend, expand_vec_perm_pshufb, expand_vec_perm_interleave2, expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq, expand_vec_perm_vpshufb2_vpermq_even_odd, expand_vec_perm_even_odd_1, expand_vec_perm_broadcast_1, expand_vec_perm_vpshufb4_vpermq2, ix86_expand_sse2_mulv4si3, ix86_expand_pinsr): Likewise. (expand_vec_perm_palignr): Likewise. Modify a copy of *d rather than *d itself. From-SVN: r204274
2013-10-31i386.c (ix86_expand_sse2_abs): Rename function arguments.Uros Bizjak1-20/+23
* config/i386/i386.c (ix86_expand_sse2_abs): Rename function arguments. Use gcc_unreachable for unhandled modes. Do not check results of expand_simple_binop. If not expanded to target, move the result. From-SVN: r204271
2013-10-31Add new nds32 port, including machine description, libgcc, and documentation.Chung-Ju Wu18-0/+10544
[gcc/ChangeLog] * config.gcc (nds32*-*-*): Add nds32 target. * config/nds32/nds32.c: New file. * config/nds32/nds32.h: New file. * config/nds32/nds32.md: New file. * config/nds32/constants.md: New file. * config/nds32/constraints.md: New file. * config/nds32/iterators.md: New file. * config/nds32/nds32-doubleword.md: New file. * config/nds32/nds32-intrinsic.md: New file. * config/nds32/nds32_intrinsic.h: New file. * config/nds32/nds32-modes.def: New file. * config/nds32/nds32-multiple.md: New file. * config/nds32/nds32.opt: New file. * config/nds32/nds32-opts.h: New file. * config/nds32/nds32-protos.h: New file. * config/nds32/nds32-peephole2.md: New file. * config/nds32/pipelines.md: New file. * config/nds32/predicates.md: New file. * config/nds32/t-mlibs: New file. * common/config/nds32: New directory and files. * doc/invoke.texi (NDS32 options): Document nds32 specific options. * doc/md.texi (NDS32 family): Document nds32 specific constraints. * doc/install.texi (Cross-Compiler-Specific Options): Document --with-nds32-lib for nds32 target. * doc/extend.texi (Function Attributes, Target Builtins): Document nds32 specific attributes. [libgcc/ChangeLog] * config.host (nds32*-elf*): Add nds32 target. * config/nds32 : New directory and files. [contrib/ChangeLog] * config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target. Co-Authored-By: Shiva Chen <shiva0217@gmail.com> From-SVN: r204269
2013-10-30rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments.DJ Delorie1-5/+13
* config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments. From-SVN: r204239
2013-10-30re PR target/58762 ([missed optimization] Vectorizing abs(int).)Cong Hou3-1/+62
2013-10-30 Cong Hou <congh@google.com> PR target/58762 * config/i386/i386-protos.h (ix86_expand_sse2_abs): New function. * config/i386/i386.c (ix86_expand_sse2_abs): New function. * config/i386/sse.md: Add SSE2 support to abs (8/16/32-bit-int). 2013-10-30 Cong Hou <congh@google.com> * gcc.target/i386/vect-abs-s8.c: New test. * gcc.target/i386/vect-abs-s16.c: New test. * gcc.target/i386/vect-abs-s32.c: New test. From-SVN: r204229
2013-10-30re PR target/47754 ([missed optimization] AVX allows unaligned memory ↵Jakub Jelinek1-6/+56
operands but GCC uses unaligned load and register operand) PR target/47754 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): If op1 is misaligned_operand, just use *mov<mode>_internal insn rather than UNSPEC_LOADU load. (ix86_expand_vector_move_misalign): Likewise (for TARGET_AVX only). Avoid gen_lowpart on op0 if it isn't MEM. * gcc.target/i386/avx256-unaligned-load-1.c: Adjust scan-assembler and scan-assembler-not regexps. * gcc.target/i386/avx256-unaligned-load-2.c: Likewise. * gcc.target/i386/avx256-unaligned-load-3.c: Likewise. * gcc.target/i386/avx256-unaligned-load-4.c: Likewise. * gcc.target/i386/l_fma_float_1.c: Use pattern for scan-assembler-times instead of just one insn name. * gcc.target/i386/l_fma_float_2.c: Likewise. * gcc.target/i386/l_fma_float_3.c: Likewise. * gcc.target/i386/l_fma_float_4.c: Likewise. * gcc.target/i386/l_fma_float_5.c: Likewise. * gcc.target/i386/l_fma_float_6.c: Likewise. * gcc.target/i386/l_fma_double_1.c: Likewise. * gcc.target/i386/l_fma_double_2.c: Likewise. * gcc.target/i386/l_fma_double_3.c: Likewise. * gcc.target/i386/l_fma_double_4.c: Likewise. * gcc.target/i386/l_fma_double_5.c: Likewise. * gcc.target/i386/l_fma_double_6.c: Likewise. From-SVN: r204219
2013-10-30sh-mem.cc (sh_expand_cmpnstr): New function.Christian Bruel3-14/+198
2013-10-30 Christian Bruel <christian.bruel@st.com> * gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr): New function. (sh_expand_cmpstr): Handle known align and schedule improvements. * gcc/config/sh/sh-protos.h (sh_expand_cmpstrn): Declare. * gcc/config/sh/sh.md (cmpstrnsi): New pattern. From-SVN: r204206
2013-10-30re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses)Ramana Radhakrishnan1-0/+1
Fix PR target/58854 2013-10-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/58854 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage. From-SVN: r204203
2013-10-30machmode.def (PARTIAL_INT_MODE): Add precision and name.Mike Stump5-6/+6
* machmode.def (PARTIAL_INT_MODE): Add precision and name. * genmodes.c (PARTIAL_INT_MODE): Add precision and name. (make_vector_mode): Increase namebuf to 16. (emit_insn_modes_h): When processing BImode, don't also match partial int modes. (emit_class_narrowest_mode): Likewise. * config/bfin/bfin-modes.def: Add precision to PDI. * config/m32c/m32c-modes.def: Add precision to PSI. * config/msp430/msp430-modes.def: Add precision to PSI. * config/rs6000/rs6000-modes.def: Add precision to PTI. * config/sh/sh-modes.def: Add precision to PSI and PDI. From-SVN: r204193
2013-10-29re PR target/54236 ([SH] Improve addc and subc insn utilization)Oleg Endo2-3/+152
PR target/54236 * config/sh/sh.md (*addc): Rename existing variations to ... (*addc_r_r_1, *addc_2r_1, *addc_r_1): ... these. (*addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_2r_lsb, *addc_r_msb, *addc_r_r_msb, *addc_2r_msb): New insn_and_split patterns. * config/sh/sh.c (addsubcosts): Handle some addc special cases. PR target/54236 * gcc.target/sh/pr54236-2: New. * gcc.target/sh/pr54089-6: Add another rotl special case. From-SVN: r204180
2013-10-29Autogenerated fixes of "->symbol." to "->"David Malcolm1-9/+9
This is the autogenerated part of the conversion of the symtable types to a C++ class hierarchy. gcc/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * asan.c (asan_finish_file): Update for conversion of symtab types to a true class hierarchy. * cfgexpand.c (estimated_stack_frame_size): Likewise. * cgraph.c (cgraph_get_body): Likewise. (cgraph_get_create_real_symbol_node): Likewise. (verify_cgraph_node): Likewise. (verify_edge_corresponds_to_fndecl): Likewise. (verify_edge_count_and_frequency): Likewise. (cgraph_will_be_removed_from_program_if_no_direct_calls): Likewise. (cgraph_can_remove_if_no_direct_calls_p): Likewise. (cgraph_can_remove_if_no_direct_calls_and_refs_p): Likewise. (cgraph_node_cannot_return): Likewise. (cgraph_set_pure_flag_1): Likewise. (cgraph_set_const_flag_1): Likewise. (cgraph_set_nothrow_flag_1): Likewise. (cgraph_make_node_local_1): Likewise. (cgraph_for_node_and_aliases): Likewise. (cgraph_for_node_thunks_and_aliases): Likewise. (cgraph_node_can_be_local_p): Likewise. (cgraph_node_cannot_be_local_p_1): Likewise. (cgraph_function_body_availability): Likewise. (dump_cgraph_node): Likewise. (cgraph_rtl_info): Likewise. (cgraph_mark_address_taken_node): Likewise. (cgraph_remove_node): Likewise. (cgraph_release_function_body): Likewise. (cgraph_update_edges_for_call_stmt_node): Likewise. (cgraph_redirect_edge_call_stmt_to_callee): Likewise. (cgraph_make_edge_direct): Likewise. (cgraph_resolve_speculation): Likewise. (cgraph_speculative_call_info): Likewise. (cgraph_turn_edge_to_speculative): Likewise. (cgraph_create_edge_1): Likewise. (cgraph_set_call_stmt): Likewise. (cgraph_node_for_asm): Likewise. (cgraph_add_thunk): Likewise. (cgraph_same_body_alias): Likewise. (cgraph_create_function_alias): Likewise. (cgraph_create_node): Likewise. (cgraph_create_empty_node): Likewise. (record_function_versions): Likewise. (used_from_object_file_p): Likewise. * cgraph.h (symtab_can_be_discarded): Likewise. (symtab_real_symbol_p): Likewise. (cgraph_mark_force_output_node): Likewise. (cgraph_edge_recursive_p): Likewise. (symtab_alias_target): Likewise. (varpool_all_refs_explicit_p): Likewise. (varpool_can_remove_if_no_refs): Likewise. (cgraph_only_called_directly_or_aliased_p): Likewise. (cgraph_next_function_with_gimple_body): Likewise. (cgraph_first_function_with_gimple_body): Likewise. (cgraph_function_with_gimple_body_p): Likewise. (cgraph_next_function): Likewise. (cgraph_first_function): Likewise. (cgraph_next_defined_function): Likewise. (cgraph_first_defined_function): Likewise. (varpool_next_defined_variable): Likewise. (varpool_first_defined_variable): Likewise. (varpool_next_static_initializer): Likewise. (varpool_first_static_initializer): Likewise. (varpool_next_variable): Likewise. (varpool_first_variable): Likewise. (varpool_node_name): Likewise. (varpool): Likewise. (cgraph): Likewise. (is_a_helper <varpool_node>::test): Likewise. (is_a_helper <cgraph_node>::test): Likewise. (varpool_variable_node): Likewise. (cgraph_function_or_thunk_node): Likewise. (varpool_alias_target): Likewise. (cgraph_alias_target): Likewise. (cgraph_node_name): Likewise. (varpool_node_asm_name): Likewise. (cgraph_node_asm_name): Likewise. * cgraphbuild.c (remove_cgraph_callee_edges): Likewise. (cgraph_rebuild_references): Likewise. (rebuild_cgraph_edges): Likewise. (record_eh_tables): Likewise. (build_cgraph_edges): Likewise. (mark_store): Likewise. (mark_load): Likewise. (mark_address): Likewise. (record_type_list): Likewise. (record_reference): Likewise. * cgraphclones.c (cgraph_materialize_all_clones): Likewise. (cgraph_materialize_clone): Likewise. (cgraph_function_versioning): Likewise. (cgraph_copy_node_for_versioning): Likewise. (update_call_expr): Likewise. (cgraph_find_replacement_node): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_clone_node): Likewise. * cgraphunit.c (compile): Likewise. (output_weakrefs): Likewise. (output_in_order): Likewise. (expand_function): Likewise. (assemble_thunks_and_aliases): Likewise. (expand_thunk): Likewise. (mark_functions_to_output): Likewise. (handle_alias_pairs): Likewise. (analyze_functions): Likewise. (walk_polymorphic_call_targets): Likewise. (varpool_finalize_decl): Likewise. (process_function_and_variable_attributes): Likewise. (cgraph_process_same_body_aliases): Likewise. (analyze_function): Likewise. (cgraph_add_new_function): Likewise. (cgraph_finalize_function): Likewise. (referred_to_p): Likewise. (cgraph_reset_node): Likewise. (cgraph_process_new_functions): Likewise. (enqueue_node): Likewise. (decide_is_symbol_needed): Likewise. * coverage.c (coverage_compute_profile_id): Likewise. * dbxout.c (dbxout_expand_expr): Likewise. * dwarf2out.c (premark_types_used_by_global_vars_helper): Likewise. (reference_to_unused): Likewise. * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise. * gimplify.c (unvisit_body): Likewise. (unshare_body): Likewise. * ipa-cp.c (ipcp_generate_summary): Likewise. (ipcp_decision_stage): Likewise. (identify_dead_nodes): Likewise. (decide_whether_version_node): Likewise. (decide_about_value): Likewise. (perhaps_add_new_callers): Likewise. (create_specialized_node): Likewise. (update_profiling_info): Likewise. (ipcp_propagate_stage): Likewise. (estimate_local_effects): Likewise. (good_cloning_opportunity_p): Likewise. (devirtualization_time_bonus): Likewise. (propagate_constants_accross_call): Likewise. (initialize_node_lattices): Likewise. (ipcp_cloning_candidate_p): Likewise. (determine_versionability): Likewise. (print_all_lattices): Likewise. (print_lattice): Likewise. (ipcp_discover_new_direct_edges): Likewise. * ipa-devirt.c (ipa_devirt): Likewise. (likely_target_p): Likewise. (update_type_inheritance_graph): Likewise. (possible_polymorphic_call_target_p): Likewise. (dump_possible_polymorphic_call_targets): Likewise. (devirt_variable_node_removal_hook): Likewise. (record_binfo): Likewise. (maybe_record_node): Likewise. (build_type_inheritance_graph): Likewise. * ipa-inline-analysis.c (inline_write_summary): Likewise. (inline_generate_summary): Likewise. (inline_analyze_function): Likewise. (do_estimate_growth): Likewise. (simple_edge_hints): Likewise. (estimate_node_size_and_time): Likewise. (estimate_edge_devirt_benefit): Likewise. (compute_inline_parameters): Likewise. (estimate_function_body_sizes): Likewise. (compute_bb_predicates): Likewise. (initialize_inline_failed): Likewise. (dump_inline_summary): Likewise. (dump_inline_edge_summary): Likewise. * ipa-inline-transform.c (inline_transform): Likewise. (preserve_function_body_p): Likewise. (save_inline_function_body): Likewise. (inline_call): Likewise. (clone_inlined_nodes): Likewise. (can_remove_node_now_p): Likewise. (can_remove_node_now_p_1): Likewise. * ipa-inline.c (early_inliner): Likewise. (early_inline_small_functions): Likewise. (inline_always_inline_functions): Likewise. (ipa_inline): Likewise. (flatten_function): Likewise. (inline_small_functions): Likewise. (speculation_useful_p): Likewise. (recursive_inlining): Likewise. (update_caller_keys): Likewise. (reset_edge_caches): Likewise. (update_edge_key): Likewise. (edge_badness): Likewise. (relative_time_benefit): Likewise. (want_inline_self_recursive_call_p): Likewise. (want_inline_small_function_p): Likewise. (want_early_inline_function_p): Likewise. (num_calls): Likewise. (can_early_inline_edge_p): Likewise. (can_inline_edge_p): Likewise. (report_inline_failed_reason): Likewise. * ipa-profile.c (ipa_profile): Likewise. (ipa_propagate_frequency): Likewise. (ipa_propagate_frequency_1): Likewise. (ipa_profile_generate_summary): Likewise. * ipa-prop.c (ipcp_transform_function): Likewise. (read_replacements_section): Likewise. (ipa_prop_read_section): Likewise. (ipa_modify_call_arguments): Likewise. (ipa_print_node_params): Likewise. (propagate_controlled_uses): Likewise. (update_indirect_edges_after_inlining): Likewise. (remove_described_reference): Likewise. (ipa_make_edge_direct_to_target): Likewise. (ipa_analyze_node): Likewise. (ipa_analyze_params_uses): Likewise. (ipa_compute_jump_functions): Likewise. (ipa_get_callee_param_type): Likewise. (ipa_print_node_jump_functions): Likewise. (ipa_initialize_node_params): Likewise. (ipa_populate_param_decls): Likewise. (ipa_func_spec_opts_forbid_analysis_p): Likewise. (write_agg_replacement_chain): Likewise. (ipa_write_node_info): Likewise. (ipa_edge_duplication_hook): Likewise. (try_decrement_rdesc_refcount): Likewise. * ipa-pure-const.c (propagate_nothrow): Likewise. (propagate_pure_const): Likewise. (pure_const_read_summary): Likewise. (pure_const_write_summary): Likewise. (analyze_function): Likewise. * ipa-ref-inline.h (ipa_ref_referred_ref_list): Likewise. (ipa_ref_referring_ref_list): Likewise. * ipa-ref.c (ipa_clear_stmts_in_references): Likewise. (ipa_remove_stmt_references): Likewise. (ipa_find_reference): Likewise. (ipa_dump_referring): Likewise. (ipa_dump_references): Likewise. (ipa_record_reference): Likewise. * ipa-reference.c (ipa_reference_read_optimization_summary): Likewise. (ipa_reference_write_optimization_summary): Likewise. (write_node_summary_p): Likewise. (propagate): Likewise. (read_write_all_from_decl): Likewise. (generate_summary): Likewise. (analyze_function): Likewise. (propagate_bits): Likewise. (ipa_reference_get_not_written_global): Likewise. (ipa_reference_get_not_read_global): Likewise. * ipa-split.c (execute_split_functions): Likewise. (split_function): Likewise. * ipa-utils.c (ipa_merge_profiles): Likewise. (dump_cgraph_node_set): Likewise. (ipa_reverse_postorder): Likewise. (ipa_edge_within_scc): Likewise. (ipa_get_nodes_in_cycle): Likewise. (ipa_free_postorder_info): Likewise. (ipa_reduced_postorder): Likewise. (searchc): Likewise. (recursive_call_p): Likewise. * ipa.c (ipa_cdtor_merge): Likewise. (record_cdtor_fn): Likewise. (function_and_variable_visibility): Likewise. (varpool_externally_visible_p): Likewise. (cgraph_externally_visible_p): Likewise. (comdat_can_be_unshared_p): Likewise. (comdat_can_be_unshared_p_1): Likewise. (address_taken_from_non_vtable_p): Likewise. (ipa_discover_readonly_nonaddressable_vars): Likewise. (symtab_remove_unreachable_nodes): Likewise. (walk_polymorphic_call_targets): Likewise. (process_references): Likewise. (enqueue_node): Likewise. (has_addr_references_p): Likewise. (cgraph_non_local_node_p_1): Likewise. * is-a.h (varpool_analyze_node): Likewise. * lto-cgraph.c (input_symtab): Likewise. (merge_profile_summaries): Likewise. (input_cgraph_1): Likewise. (input_edge): Likewise. (input_varpool_node): Likewise. (input_node): Likewise. (input_overwrite_node): Likewise. (compute_ltrans_boundary): Likewise. (output_refs): Likewise. (lto_output_varpool_node): Likewise. (lto_output_node): Likewise. (reachable_from_other_partition_p): Likewise. (referenced_from_other_partition_p): Likewise. (lto_output_edge): Likewise. (output_node_opt_summary): Likewise. (add_node_to): Likewise. (reachable_from_this_partition_p): Likewise. (lto_set_symtab_encoder_in_partition): Likewise. (lto_symtab_encoder_in_partition_p): Likewise. (lto_set_symtab_encoder_encode_initializer): Likewise. (lto_symtab_encoder_encode_initializer_p): Likewise. (lto_set_symtab_encoder_encode_body): Likewise. (lto_symtab_encoder_encode_body_p): Likewise. * lto-section-in.c (lto_free_function_in_decl_state_for_node): Likewise. * lto-streamer-in.c (lto_read_body): Likewise. (fixup_call_stmt_edges): Likewise. (fixup_call_stmt_edges_1): Likewise. * lto-streamer-out.c (produce_symtab): Likewise. (output_symbol_p): Likewise. (write_symbol): Likewise. (lto_output): Likewise. (copy_function): Likewise. (output_function): Likewise. * passes.c (function_called_by_processed_nodes_p): Likewise. (ipa_write_optimization_summaries): Likewise. (ipa_write_summaries): Likewise. (do_per_function_toporder): Likewise. (do_per_function): Likewise. (dump_passes): Likewise. * symtab.c (symtab_semantically_equivalent_p): Likewise. (symtab_nonoverwritable_alias): Likewise. (symtab_nonoverwritable_alias_1): Likewise. (symtab_for_node_and_aliases): Likewise. (symtab_resolve_alias): Likewise. (fixup_same_cpp_alias_visibility): Likewise. (symtab_alias_ultimate_target): Likewise. (symtab_used_from_object_file_p): Likewise. (verify_symtab_base): Likewise. (dump_symtab_base): Likewise. (symtab_node_name): Likewise. (symtab_node_asm_name): Likewise. (symtab_dissolve_same_comdat_group_list): Likewise. (symtab_add_to_same_comdat_group): Likewise. (symtab_unregister_node): Likewise. (symtab_insert_node_to_hashtable): Likewise. (symtab_register_node): Likewise. (unlink_from_assembler_name_hash): Likewise. (insert_to_assembler_name_hash): Likewise. (eq_assembler_name): Likewise. (hash_node_by_assembler_name): Likewise. (eq_node): Likewise. (hash_node): Likewise. * toplev.c (wrapup_global_declaration_2): Likewise. * trans-mem.c (ipa_tm_execute): Likewise. (ipa_tm_transform_clone): Likewise. (ipa_tm_transform_transaction): Likewise. (ipa_tm_transform_calls_redirect): Likewise. (ipa_tm_insert_gettmclone_call): Likewise. (ipa_tm_insert_irr_call): Likewise. (ipa_tm_create_version): Likewise. (ipa_tm_create_version_alias): Likewise. (ipa_tm_mark_forced_by_abi_node): Likewise. (ipa_tm_mark_force_output_node): Likewise. (ipa_tm_diagnose_tm_safe): Likewise. (ipa_tm_mayenterirr_function): Likewise. (ipa_tm_scan_irr_function): Likewise. (ipa_tm_note_irrevocable): Likewise. (ipa_tm_scan_calls_clone): Likewise. (get_cg_data): Likewise. * tree-eh.c (tree_could_trap_p): Likewise. * tree-emutls.c (ipa_lower_emutls): Likewise. (create_emultls_var): Likewise. (lower_emutls_function_body): Likewise. (gen_emutls_addr): Likewise. (emutls_decl): Likewise. (new_emutls_decl): Likewise. * tree-inline.c (tree_function_versioning): Likewise. (optimize_inline_calls): Likewise. (expand_call_inline): Likewise. (estimate_num_insns): Likewise. (copy_bb): Likewise. (delete_unreachable_blocks_update_callgraph): Likewise. * tree-nested.c (gimplify_all_functions): Likewise. (create_nesting_tree): Likewise. (check_for_nested_with_variably_modified): Likewise. * tree-pretty-print.c (dump_function_header): Likewise. * tree-profile.c (tree_profiling): Likewise. * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise. (modify_function): Likewise. (convert_callers): Likewise. (convert_callers_for_node): Likewise. * tree-ssa-structalias.c (ipa_pta_execute): Likewise. (associate_varinfo_to_alias): Likewise. (create_variable_info_for): Likewise. (get_constraint_for_ssa_var): Likewise. * tree-vectorizer.c (increase_alignment): Likewise. * tree.c (find_decls_types_in_var): Likewise. (find_decls_types_in_node): Likewise. (free_lang_data_in_decl): Likewise. * value-prof.c (gimple_ic_transform): Likewise. (gimple_ic): Likewise. (check_ic_target): Likewise. (init_node_map): Likewise. * varasm.c (decl_binds_to_current_def_p): Likewise. (default_binds_local_p_1): Likewise. (dump_tm_clone_pairs): Likewise. (assemble_alias): Likewise. (find_decl): Likewise. (mark_decl_referenced): Likewise. * varpool.c (varpool_for_node_and_aliases): Likewise. (varpool_extra_name_alias): Likewise. (varpool_create_variable_alias): Likewise. (add_new_static_var): Likewise. (varpool_finalize_named_section_flags): Likewise. (varpool_remove_unreferenced_decls): Likewise. (enqueue_node): Likewise. (varpool_assemble_decl): Likewise. (assemble_aliases): Likewise. (varpool_analyze_node): Likewise. (cgraph_variable_initializer_availability): Likewise. (varpool_add_new_variable): Likewise. (ctor_for_folding): Likewise. (dump_varpool_node): Likewise. (varpool_remove_initializer): Likewise. (varpool_remove_node): Likewise. (varpool_node_for_decl): Likewise. (varpool_create_empty_node): Likewise. * config/i386/i386.c (ix86_generate_version_dispatcher_body): Likewise. (ix86_get_function_versions_dispatcher): Likewise. gcc/ada/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * gcc-interface/trans.c (finalize_nrv): Update for conversion of symtab types to a true class hierarchy. * gcc-interface/utils.c (gnat_write_global_declarations): Likewise. gcc/c-family/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * c-gimplify.c (c_genericize): Update for conversion of symtab types to a true class hierarchy. * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise. gcc/cp/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * call.c (mark_versions_used): Update for conversion of symtab types to a true class hierarchy. * decl2.c (cp_write_global_declarations): Likewise. (clear_decl_external): Likewise. (build_java_method_aliases): Likewise. (collect_candidates_for_java_method_aliases): Likewise. (mark_needed): Likewise. (var_finalized_p): Likewise. (maybe_make_one_only): Likewise. (maybe_emit_vtables): Likewise. * lambda.c (maybe_add_lambda_conv_op): Likewise. * method.c (use_thunk): Likewise. * optimize.c (maybe_clone_body): Likewise. * tree.c (cp_fix_function_decl_p): Likewise. gcc/java/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * decl.c (java_mark_decl_local): Update for conversion of symtab types to a true class hierarchy. gcc/lto/ Patch autogenerated by refactor_symtab.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 58bb219cc090b2f4516a9297d868c245495ee622 * lto-partition.c (lto_promote_cross_file_statics): Update for conversion of symtab types to a true class hierarchy. (rename_statics): Likewise. (promote_symbol): Likewise. (privatize_symbol_name): Likewise. (lto_balanced_map): Likewise. (varpool_node_cmp): Likewise. (node_cmp): Likewise. (lto_1_to_1_map): Likewise. (undo_partition): Likewise. (add_symbol_to_partition): Likewise. (contained_in_symbol): Likewise. (add_symbol_to_partition_1): Likewise. (add_references_to_partition): Likewise. (symbol_partitioned_p): Likewise. (get_symbol_class): Likewise. (lto_max_map): Likewise. * lto-symtab.c (lto_symtab_prevailing_decl): Likewise. (lto_symtab_merge_symbols): Likewise. (lto_symtab_merge_symbols_1): Likewise. (lto_symtab_merge_decls): Likewise. (lto_symtab_merge_decls_1): Likewise. (lto_symtab_merge_decls_2): Likewise. (lto_symtab_resolve_symbols): Likewise. (lto_symtab_resolve_can_prevail_p): Likewise. (lto_symtab_symbol_p): Likewise. (lto_symtab_resolve_replaceable_p): Likewise. (lto_symtab_merge): Likewise. (lto_varpool_replace_node): Likewise. (lto_cgraph_replace_node): Likewise. * lto.c (lto_main): Likewise. (do_whole_program_analysis): Likewise. (materialize_cgraph): Likewise. (read_cgraph_and_symbols): Likewise. (cmp_partitions_order): Likewise. (lto_materialize_function): Likewise. (has_analyzed_clone_p): Likewise. From-SVN: r204171
2013-10-29darwin.c: Include gimple.h.Andrew MacLeod2-0/+2
* config/darwin.c: Include gimple.h. * config/i386/winnt.c: Likewise. From-SVN: r204166
2013-10-29arm.c (cortexa7_extra_costs): New table.Kyrylo Tkachov2-1/+118
2013-10-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.c (cortexa7_extra_costs): New table. (arm_cortex_a7_tune): New. * config/arm/arm-cores.def: Use cortex_a7 tuning for cortex-a7. From-SVN: r204157
2013-10-28i386.md (prefetch): Allow TARGET_AVX512PF.Alexander Ivchenko2-2/+50
* config/i386/i386.md (prefetch): Allow TARGET_AVX512PF. (*prefetch_avx512pf_<mode>): New. * config/i386/sse.md (avx512f_vmcmp<mode>3): Ditto. (avx512f_maskcmp<mode>3): Ditto. (vashrv16si3): Ditto. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com> From-SVN: r204130
2013-10-28i386.md (any_truncate): New.Alexander Ivchenko3-6/+971
* config/i386/i386.md (any_truncate): New. (trunsuffix): Ditto. * config/i386/predicates.md (const_8_to_9_operand): New. (const_10_to_11_operand): Ditto. (const_12_to_13_operand): Ditto. (const_14_to_15_operand): Ditto. (const_16_to_19_operand): Ditto. (const_20_to_23_operand): Ditto. (const_24_to_27_operand): Ditto. (const_28_to_31_operand): Ditto. * config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_FIX_NOTRUNC. (cvtusi2<ssescalarmodesuffix>32): New. (cvtusi2<ssescalarmodesuffix>64): Ditto. (ufloatv16siv16sf2): Ditto. (avx512f_fix_notruncv16sfv16si): Ditto. (avx512f_ufix_notruncv16sfv16si): Ditto. (avx512f_vcvtss2usi): Ditto. (avx512f_vcvtss2usiq): Ditto. (avx512f_vcvttss2usi): Ditto. (avx512f_vcvttss2usiq): Ditto. (avx512f_vcvtsd2usi): Ditto. (avx512f_vcvtsd2usiq): Ditto. (avx512f_vcvttsd2usi): Ditto. (avx512f_vcvttsd2usiq): Ditto. (ufloatv8siv8df): Ditto. (avx512f_cvtdq2pd512_2): Ditto. (avx512f_cvtpd2dq512): Ditto. (avx512f_ufix_notruncv8dfv8si): Ditto. (avx512f_cvtpd2ps512): Ditto. (vec_unpacks_lo_v16sf): Ditto. (vec_unpacks_hi_v16sf): Ditto. (vec_unpacks_float_hi_v16si): Ditto. (vec_unpacks_float_lo_v16si): Ditto. (avx512f_unpckhps512): Ditto. (avx512f_unpcklps512): Ditto. (avx512f_movshdup512): Ditto. (avx512f_movsldup512): Ditto. (vec_extract_lo_v32hi): Ditto. (vec_extract_hi_v32hi): Ditto. (vec_extract_lo_v64qi): Ditto. (vec_extract_hi_v64qi): Ditto. (avx512f_unpckhpd512): Ditto. (avx512f_movddup512): Ditto. (avx512f_unpcklpd512): Ditto. (*avx512f_unpcklpd512): Ditto. (avx512f_shufps512_1): Ditto. (avx512f_shufpd512_1): Ditto. (avx512f_interleave_highv8di): Ditto. (avx512f_interleave_lowv8di): Ditto. (PMOV_DST_MODE): Ditto. (pmov_src_mode): Ditto. (pmov_src_lower): Ditto. (pmov_suff): Ditto. (*avx512f_<code><pmov_src_lower><mode>2): Ditto. (*avx512f_<code>v8div16qi2): Ditto. (*avx512f_<code>v8div16qi2_store): Ditto. (vec_widen_umult_even_v16si): Ditto. (*vec_widen_umult_even_v16si): Ditto. (vec_widen_smult_even_v16si): Ditto. (*vec_widen_smult_even_v16si): Ditto. (avx512f_interleave_highv16si): Ditto. (avx512f_interleave_lowv16si): Ditto. (avx512f_<code>v16qiv16si2): Ditto. (avx512f_<code>v16hiv16si2): Ditto. (avx512f_<code>v8qiv8di2): Ditto. (avx512f_<code>v8hiv8di2): Ditto. (avx512f_<code>v8siv8di2): Ditto. (avx512cd_maskb_vec_dupv8di): Ditto. (avx512cd_maskw_vec_dupv16si): Ditto. (avx512f_vcvtph2ps512): Ditto. (avx512f_vcvtps2ph512): Ditto. (VEC_EXTRACT_MODE): Extened with wider modes. (VEC_PERM_AVX2): Ditto. (VEC_PERM_CONST): Ditto. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com> From-SVN: r204128
2013-10-28jump-around-jump.c: New test.Joern Rennecke1-0/+2
gcc/testsuite: 2013-10-28 Claudiu Zissulescu <claziss@synopsys.com> Joern Rennecke <joern.rennecke@embecosm.com> * gcc.target/arc/jump-around-jump.c: New test. gcc: 2013-10-28 Joern Rennecke <joern.rennecke@embecosm.com> * config/arc/arc.c (arc_ccfsm_post_advance): Add comment about TYPE_RETURN. From-SVN: r204123
2013-10-27sh.c (MSW, LSW): Move and rename macros to...Oleg Endo3-26/+28
* config/sh/sh.c (MSW, LSW): Move and rename macros to... * config/sh/sh.h (SH_REG_MSW_OFFSET, SH_REG_LSW_OFFSET): ... here. (TARGET_BIG_ENDIAN): New macro. * config/sh/sh.md: Use it instead of !TARGET_LITTLE_ENDIAN. Use SH_REG_MSW_OFFSET and SH_REG_LSW_OFFSET. * config/sh/sh.c: Likewise. * config/sh/sh.h: Likewise. From-SVN: r204110
2013-10-27cris.c (cris_emit_trap_for_misalignment): Replace the removed PRED_MUDFLAP ↵Hans-Peter Nilsson1-5/+2
with PRED_NORETURN. * config/cris/cris.c (cris_emit_trap_for_misalignment): Replace the removed PRED_MUDFLAP with PRED_NORETURN. Correct file-path in comment. From-SVN: r204106
2013-10-26sh.md (movmemsi): Remove empty constraints and predicates.Oleg Endo1-20/+24
* config/sh/sh.md (movmemsi): Remove empty constraints and predicates. Fix formatting. (cmpstr_t, cmpstrsi): Fix formatting. From-SVN: r204098
2013-10-26re PR target/52483 (SH Target: Loads from volatile memory leave redundant ↵Oleg Endo1-6/+25
sign/zero extensions) PR target/52483 * config/sh/predicates.md (general_movdst_operand): Allow reg+reg addressing, do not use general_operand for memory operands. PR target/52483 * gcc.target/sh/pr52483-1.c: Add tests for memory stores. * gcc.target/sh/pr52483-2.c: Likewise. * gcc.target/sh/pr52483-3.c: Likewise. * gcc.target/sh/pr52483-4.c: Likewise. From-SVN: r204097
2013-10-26Makefile.def (target_modules): Remove libmudflapJeff Law4-45/+0
* Makefile.def (target_modules): Remove libmudflap (languages): Remove check-target-libmudflap). * Makefile.in: Rebuilt. * Makefile.tpl (check-target-libmudflap-c++): Remove. * configure.ac (target_libraries): Remove target-libmudflap. Remove checks which disabled libmudflap on some systems. * configure: Rebuilt. * libmudflap: Directory removed. * Makefile.in (C_COMMON_OBJS): Remove tree-mudflap. (OBJS): Remove tree-nomudflap.o (GTFILES): Remove tree-mudflap.c * builtins.c (expand_builtin_alloc): Remove mudflap support. * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise. (mfwrap_spec, mflib_spec): Likewise. (cpp_unique_options, cc1_options, static_specs): Likewise. * gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise. * passes.def: Likewise. * toplev.c (compile_file, process_options): Likewise. * tree-inline.c (copy_tree_r): Likewise. * tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise. * varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise. (build_constant_desc, output_constant_def_contents): Likewise. (categorize_decl_for_section): Likewise. * tree-mudflap.c: Removed. * tree-mudflap.h: Removed. * tree-nomudflap.c: Removed. * bfin/uclinux.h (MFWRAP_SPEC): Remove. * moxie/uclinux.h (MFWRAP_SPEC): Likewise. * rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise. * config/sol2.h (MFLIB_SPEC): Likewise. * doc/install.texi: Remove mudflap references. * doc/passes.texi: Similarly. * doc/sourcebuild.texi: Similarly. * doc/invoke.texi: Remove mudlfap related options. * c-family/c-common.c (c_define_builtins): Remove mudflap support. * c-family/c.opt: Ignore and warn for mudflap options. * g++.dg/torture/pr49309.C: Removed. * gcc.dg/dfp/pr35739.c: Removed. From-SVN: r204090
2013-10-252013-10-25 Vladimir Makarov <vmakarov@redhat.com>Vladimir Makarov4-6/+121
* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_mode): New prototype. * config/rs6000/rs6000.c: Include ira.h. (TARGET_LRA_P): Redefine. (rs6000_legitimate_offset_address_p): Call legitimate_constant_pool_address_p in strict mode for LRA. (rs6000_legitimate_address_p): Ditto. (legitimate_lo_sum_address_p): Add code for LRA. Use lra_in_progress. (rs6000_emit_move): Add LRA version of code to generate load/store of SDmode values. (rs6000_secondary_memory_needed_mode): New. (rs6000_alloc_sdmode_stack_slot): Do nothing for LRA. (rs6000_secondary_reload_class): Return NO_REGS for LRA for constants, memory, and FP registers. (rs6000_lra_p): New. * config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): New macro. * config/rs6000/rs6000.opt (mlra): New option. * lra-spills.c (lra_final_code_change): Remove useless move insns. From-SVN: r204079
2013-10-25i386.h (TARGET_MPX): New define.Uros Bizjak1-12/+14
* config/i386/i386.h (TARGET_MPX): New define. (TARGET_MPX_P): Ditto. From-SVN: r204048
2013-10-25constraints.md (B): New.Ilya Enkovich9-68/+412
* config/i386/constraints.md (B): New. (Ti): New. (Tb): New. * config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__. * config/i386/i386-modes.def (BND32): New. (BND64): New. * config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New. * config/i386/i386.c (isa_opts): Add mmpx. (regclass_map): Add bound registers. (dbx_register_map): Likewise. (dbx64_register_map): Likewise. (svr4_dbx_register_map): Likewise. (PTA_MPX): New. (ix86_option_override_internal): Support MPX ISA. (ix86_conditional_register_usage): Support bound registers. (print_reg): Likewise. (ix86_code_end): Add MPX bnd prefix. (output_set_got): Likewise. (ix86_output_call_insn): Likewise. (ix86_print_operand): Add '!' (MPX bnd) print prefix support. (ix86_print_operand_punct_valid_p): Likewise. (ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and UNSPEC_BNDMK_ADDR. (ix86_class_likely_spilled_p): Add bound regs support. (ix86_hard_regno_mode_ok): Likewise. (x86_order_regs_for_local_alloc): Likewise. (ix86_bnd_prefixed_insn_p): New. * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value. (FIXED_REGISTERS): Add bound registers. (CALL_USED_REGISTERS): Likewise. (REG_ALLOC_ORDER): Likewise. (HARD_REGNO_NREGS): Likewise. (TARGET_MPX): New. (VALID_BND_REG_MODE): New. (FIRST_BND_REG): New. (LAST_BND_REG): New. (reg_class): Add BND_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (BND_REGNO_P): New. (ANY_BND_REG_P): New. (BNDmode): New. (HI_REGISTER_NAMES): Add bound registers. * config/i386/i386.md (UNSPEC_BNDMK): New. (UNSPEC_BNDMK_ADDR): New. (UNSPEC_BNDSTX): New. (UNSPEC_BNDLDX): New. (UNSPEC_BNDLDX_ADDR): New. (UNSPEC_BNDCL): New. (UNSPEC_BNDCU): New. (UNSPEC_BNDCN): New. (UNSPEC_MPX_FENCE): New. (BND0_REG): New. (BND1_REG): New. (type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst. (length_immediate): Likewise. (prefix_0f): Likewise. (memory): Likewise. (prefix_rep): Check for bnd prefix. (length_nobnd): New. (length): Use length_nobnd if specified. (BND): New. (bnd_ptr): New. (BNDCHECK): New. (bndcheck): New. (*jcc_1): Add bnd prefix and rename length attr to length_nobnd. (*jcc_2): Likewise. (jump): Likewise. (simple_return_internal): Likewise. (simple_return_pop_internal): Likewise. (*indirect_jump): Add MPX bnd prefix. (*tablejump_1): Likewise. (simple_return_internal_long): Likewise. (simple_return_indirect_internal): Likewise. (<mode>_mk): New. (*<mode>_mk): New. (mov<mode>): New. (*mov<mode>_internal_mpx): New. (<mode>_<bndcheck>): New. (*<mode>_<bndcheck>): New. (<mode>_ldx): New. (*<mode>_ldx): New. (<mode>_stx): New. (*<mode>_stx): New. * config/i386/predicates.md (lea_address_operand): Rename to... (address_no_seg_operand): ... this. (address_mpx_no_base_operand): New. (address_mpx_no_index_operand): New. (bnd_mem_operator): New. * config/i386/i386.opt (mmpx): New. * doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx. * doc/rtl.texi Add documentation for BND32mode and BND64mode. From-SVN: r204046
2013-10-24arc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH.Joern Rennecke1-1/+6
* gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH. From-SVN: r204024
2013-10-24[AArch64,PATCH] Adjust preferred_reload_class of SP+CIan Bolton1-0/+18
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com> From-SVN: r204018
2013-10-24config.gcc (sh-*): Add sh-mem.o to extra_obj.Christian Bruel5-156/+347
2013-10-25 Christian Bruel <christian.bruel@st.com> * config.gcc (sh-*): Add sh-mem.o to extra_obj. * gcc/config/sh/t-sh (sh-mem.o): New rule. * gcc/config/sh/sh-mem.cc (expand_block_move): Moved here. (sh4_expand_cmpstr): New function. * gcc/config/sh/sh.c (force_into, expand_block_move): Move to sh-mem.cc * gcc/config/sh/sh-protos.h (sh4_expand_cmpstr): Declare. * gcc/config/sh/sh.md (cmpstrsi, cmpstr_t): New patterns. (rotlhi3_8): Rename. From-SVN: r204013
2013-10-23re PR target/57756 (Function target attribute is retaining state of ↵Sriraman Tallam1-2/+3
previously seen function) PR target/57756 Replace further references to global_options in functions ix86_option_override_internal and ix86_valid_target_attribute_tree in config/i386/i386.c. PR target/57756 * config/i386/i386.c (ix86_option_override_internal): Change TARGET_SSE2 to TARGET_SSE2_P (opts->...) (ix86_valid_target_attribute_tree): Change TARGET_64BIT to TARGET_64BIT_P (opts->...) Change TARGET_SSE to TARGET_SSE_P (opts->...) From-SVN: r203991
2013-10-23altivec.md (mulv8hi3): Adjust for little endian.Bill Schmidt1-1/+4
2013-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (mulv8hi3): Adjust for little endian. From-SVN: r203980
2013-10-23re PR target/58838 (mullw sets condition code incorrectly.)David Edelsohn1-4/+4
PR target/58838 * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add TARGET_32BIT final condition. (mulsi3_internal2 and splitter): Same. From-SVN: r203977
2013-10-23tilegx.c: Include "tree.h".Jan-Benedict Glaw1-0/+1
2013-10-23 Jan-Benedict Glaw <jbglaw@lug-owl.de> * config/tilegx/tilegx.c: Include "tree.h". From-SVN: r203952
2013-10-22i386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag.Jan Hubicka3-70/+503
* i386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag. * x86-tune.def (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES): Define it. * i386.c (expand_small_movmem_or_setmem): New function. (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): New function (alg_usable_p): Add support for value ranges; cleanup. (ix86_expand_set_or_movmem): Add support for misaligned moves. From-SVN: r203937
2013-10-22re PR target/58779 (wrong code at -O1 on x86_64-linux-gnu)Uros Bizjak2-41/+26
PR target/58779 * config/i386/i386.c (put_condition_code) <case GTU, case LEU>: Remove CCCmode handling. <case LTU>: Return 'c' suffix for CCCmode. <case GEU>: Return 'nc' suffix for CCCmode. (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks. * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove. (*sub<mode>3_cc_overflow): Ditto. (*subsi3_zext_cc_overflow): Ditto. testsuite/ChangeLog: PR target/58779 * gcc.target/i386/pr30315.c: Remove MINUSCC, DECCC, MINUSCCONLY and MINUSCCZEXT defines. Update scan-assembler dg directive. * gcc.dg/torture/pr58779.c: New test. From-SVN: r203935
2013-10-22mips.c (mips_rtx_costs): Fix cost estimate for nor (AND (NOT OP1) (NOT OP2)).Steve Ellcey1-0/+12
2013-10-22 Steve Ellcey <sellcey@mips.com> * config/mips/mips.c (mips_rtx_costs): Fix cost estimate for nor (AND (NOT OP1) (NOT OP2)). From-SVN: r203932
2013-10-22rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and ↵Bill Schmidt1-6/+32
merge-low masks for little endian... gcc: 2013-10-22 Bill Schmidt <wschmidt@vnet.ibm.com> * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and merge-low masks for little endian; avoid use of vector-pack masks for little endian for mismatched modes. gcc/testsuite: 2013-10-22 Bill Schmidt <wschmidt@vnet.ibm.com> * gcc.target/powerpc/altivec-perm-1.c: Move the two vector pack tests into... * gcc.target/powerpc/altivec-perm-3.c: ...this new test, which is restricted to big-endian targets. From-SVN: r203930
2013-10-22tilepro.c: Include "tree.h".Jan-Benedict Glaw1-0/+1
2013-10-22 Jan-Benedict Glaw <jbglaw@lug-owl.de> * config/tilepro/tilepro.c: Include "tree.h". From-SVN: r203924
2013-10-22m68k.c (notice_update_cc): Handle register conflict with PRE_DEC.Andreas Schwab1-0/+7
* config/m68k/m68k.c (notice_update_cc): Handle register conflict with PRE_DEC. From-SVN: r203922
2013-10-21arm.c (cortexa9_extra_costs): Update mult costs for extend and extend_add.Kyrylo Tkachov1-4/+4
[gcc/] 2013-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.c (cortexa9_extra_costs): Update mult costs for extend and extend_add. From-SVN: r203892
2013-10-21i386.md (kxnor<mode>): Add FLAGS_REG clobber.Uros Bizjak1-8/+11
* config/i386/i386.md (kxnor<mode>): Add FLAGS_REG clobber. From-SVN: r203889
2013-10-21* config/i386/i386-tune.def: Add comment; organize into categoriesJan Hubicka1-280/+329
From-SVN: r203888
2013-10-21i386.c (expand_set_or_movmem_via_loop): Add issetmem argument.Michael Zolotukhin1-624/+381
* config/i386/i386.c (expand_set_or_movmem_via_loop): Add issetmem argument. Update function comment. (expand_set_or_movmem_via_rep): New function combining expand_movmem_via_rep_mov and expand_setmem_via_rep_stos. (expand_movmem_via_rep_mov): Remove. expand_setmem_via_rep_stos): Remove. (expand_movmem_epilogue): Update calls correspondingly. (expand_setmem_epilogue_via_loop): Likewise. (emit_memset): New. (expand_setmem_epilogue): Add VEC_VALUE argument, refactor. (expand_set_or_movmem_prologue): New function combining expand_movmem_prologue and expand_setmem_prologue. (expand_movmem_prologue): Remove. (expand_setmem_prologue): Remove. (expand_set_or_movmem_constant_prologue): New function combining expand_constant_movmem_prologue and expand_constant_setmem_prologue. (expand_constant_movmem_prologue): Remove. (expand_constant_setmem_prologue): Remove. (promote_duplicated_reg): Allow vector-const0 value. (ix86_expand_set_or_movmem): New function combining ix86_expand_movmem and ix86_expand_setmem. (ix86_expand_movmem): Call ix86_expand_set_or_movmem. (ix86_expand_setmem): Call ix86_expand_set_or_movmem. testsuite/ * gcc.target/i386/memset-vector_loop-1.c: New test. * gcc.target/i386/memset-vector_loop-2.c: New test. From-SVN: r203886
2013-10-20altivec.md (vec_unpacku_hi_v16qi): Adjust for little endian.Bill Schmidt1-64/+68
2013-10-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (vec_unpacku_hi_v16qi): Adjust for little endian. (vec_unpacku_hi_v8hi): Likewise. (vec_unpacku_lo_v16qi): Likewise. (vec_unpacku_lo_v8hi): Likewise. From-SVN: r203877
2013-10-20x86-tune.def (X86_TUNE_SLOW_IMUL_IMM32_MEM, [...]): Keep enabled only for K8 ↵Jan Hubicka1-3/+3
and AMDFAM10. * config/i386/x86-tune.def (X86_TUNE_SLOW_IMUL_IMM32_MEM, X86_TUNE_SLOW_IMUL_IMM8): Keep enabled only for K8 and AMDFAM10. (X86_TUNE_USE_VECTOR_FP_CONVERTS): Disable for generic. From-SVN: r203876
2013-10-20mips.h (ISA_HAS_WSBH): Define.Richard Sandiford2-0/+60
gcc/ * config/mips/mips.h (ISA_HAS_WSBH): Define. * config/mips/mips.md (UNSPEC_WSBH, UNSPEC_DSBH, UNSPEC_DSHD): New constants. (bswaphi2, bswapsi2, bswapdi2, wsbh, dsbh, dshd): New patterns. gcc/testsuite/ * gcc.target/mips/bswap-1.c, gcc.target/mips/bswap-2.c, gcc.target/mips/bswap-3.c, gcc.target/mips/bswap-4.c, gcc.target/mips/bswap-5.c, gcc.target/mips/bswap-6.c: New tests. From-SVN: r203870
2013-10-19rs6000.c (vspltis_constant): Make sure we check all elements for both endian ↵Bill Schmidt1-3/+4
flavors. 2013-10-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (vspltis_constant): Make sure we check all elements for both endian flavors. From-SVN: r203863
2013-10-19re PR target/58792 (ICE at mode-switching.c:421 when compiling clang ↵Uros Bizjak1-3/+11
lib/AST/MicrosoftCXXABI.cpp) PR target/58792 * config/i386/i386.c (ix86_function_value_regno): Add DX_REG, ST1_REG and XMM1_REG for 32bit and 64bit targets. Also add DI_REG and SI_REG for 64bit SYSV ABI targets. From-SVN: r203857