1. 18 Oct, 2011 34 commits
    • hjl's avatar
      Add some tests for AVX2 vectorizer. · a2578500
      hjl authored
      2011-10-18  Kirill Yukhin  <kirill.yukhin@intel.com>
      
      	* gcc.target/i386/avx2-vpop-check.h: New header.
      	* gcc.target/i386/avx2-vpaddd-3.c: New test.
      	* gcc.target/i386/avx2-vpaddw-3.c: Ditto.
      	* gcc.target/i386/avx2-vpaddb-3.c: Ditto.
      	* gcc.target/i386/avx2-vpaddq-3.c: Ditto.
      	* gcc.target/i386/avx2-vpand-3.c: Ditto.
      	* gcc.target/i386/avx2-vpmulld-3.c: Ditto.
      	* gcc.target/i386/avx2-vpmullw-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsrad-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsraw-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsrld-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsrlw-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsubb-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsubd-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsubq-3.c: Ditto.
      	* gcc.target/i386/avx2-vpsubw-3.c: Ditto.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180155 138bc75d-0d04-0410-961f-82ee72b054a4
      a2578500
    • jakub's avatar
      PR tree-optimization/50735 · 63e6b59a
      jakub authored
      	* function.c (gimplify_parameters): Use create_tmp_var instead of
      	create_tmp_reg.  If parm is not TREE_ADDRESSABLE and type is complex
      	or vector type, set DECL_GIMPLE_REG_P.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180154 138bc75d-0d04-0410-961f-82ee72b054a4
      63e6b59a
    • mikael's avatar
      PR fortran/50420 · d29d3295
      mikael authored
      	* gfortran.dg/coarray_subobject_1.f90: New test.
      	* gfortran.dg/coarray/subobject_1.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180153 138bc75d-0d04-0410-961f-82ee72b054a4
      d29d3295
    • mikael's avatar
      PR fortran/50420 · 9633126d
      mikael authored
      	* trans.c (gfc_build_array_ref): If type is not an array, check that
      	there is nothing to do, and do nothing.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180152 138bc75d-0d04-0410-961f-82ee72b054a4
      9633126d
    • mikael's avatar
      PR fortran/50420 · d8fa671f
      mikael authored
      	* trans-types.c (gfc_build_array_type): Don't force lower bound to one
      	in the deferred case.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180151 138bc75d-0d04-0410-961f-82ee72b054a4
      d8fa671f
    • mikael's avatar
      PR fortran/50420 · ce79f3ec
      mikael authored
      	* simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
      	Don't set already set array ref.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180150 138bc75d-0d04-0410-961f-82ee72b054a4
      ce79f3ec
    • mikael's avatar
      * array.c (gfc_find_array_ref): Remove coarray-specific handling. · 938765a1
      mikael authored
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180149 138bc75d-0d04-0410-961f-82ee72b054a4
      938765a1
    • mikael's avatar
      PR fortran/50420 · 7b9cfc7c
      mikael authored
      	* check.c (dim_corank_check): Use gfc_get_corank to get corank.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180148 138bc75d-0d04-0410-961f-82ee72b054a4
      7b9cfc7c
    • mikael's avatar
      PR fortran/50420 · 7da941cc
      mikael authored
      	* trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.
      
      	PR fortran/50420
      	* trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
      	the scalarization chain initialization. 
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180147 138bc75d-0d04-0410-961f-82ee72b054a4
      7da941cc
    • mikael's avatar
      PR fortran/50420 · 533b2db9
      mikael authored
      	* trans-intrinsic.c (walk_coarray): Allow subreferences after a
      	coarray object reference.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180146 138bc75d-0d04-0410-961f-82ee72b054a4
      533b2db9
    • mikael's avatar
      PR fortran/50420 · 4a394eed
      mikael authored
      	* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
      	if they are coarrays.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180145 138bc75d-0d04-0410-961f-82ee72b054a4
      4a394eed
    • mikael's avatar
      * trans-array.h (gfc_walk_array_ref): New prototype. · 11958d17
      mikael authored
      	* trans-array.c (gfc_walk_array_ref): New function, containing
      	all but the beginning of gfc_walk_variable_expr's code.
      	(gfc_walk_variable_expr): Use gfc_walk_array_ref.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180144 138bc75d-0d04-0410-961f-82ee72b054a4
      11958d17
    • mikael's avatar
      PR fortran/50420 · 2dee283e
      mikael authored
      	* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
      	ndim for the descriptor's rank.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180143 138bc75d-0d04-0410-961f-82ee72b054a4
      2dee283e
    • mikael's avatar
      PR fortran/50420 · 5fcb00d5
      mikael authored
      	* trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
      	from zero, and add then the relevant offset (either ndim or loop.dimen)
      	depending on context.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180142 138bc75d-0d04-0410-961f-82ee72b054a4
      5fcb00d5
    • mikael's avatar
      * trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space. · 008757e0
      mikael authored
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180141 138bc75d-0d04-0410-961f-82ee72b054a4
      008757e0
    • mikael's avatar
      * trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization · b0dfbf8a
      mikael authored
      	earlier.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180140 138bc75d-0d04-0410-961f-82ee72b054a4
      b0dfbf8a
    • ams's avatar
      2011-10-18 Andrew Stubbs <ams@codesourcery.com> · 2ae1f0cc
      ams authored
      	gcc/
      	* config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
      	* config/arm/arm.opt: Add 'native' processor_type and
      	arm_arch enum values.
      	* config/arm/arm.h (host_detect_local_cpu): New prototype.
      	(EXTRA_SPEC_FUNCTIONS): New define.
      	(MCPU_MTUNE_NATIVE_SPECS): New define.
      	(DRIVER_SELF_SPECS): New define.
      	* config/arm/driver-arm.c: New file.
      	* config/arm/x-arm: New file.
      	* doc/invoke.texi (ARM Options): Document -mcpu=native,
      	-mtune=native and -march=native.
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180139 138bc75d-0d04-0410-961f-82ee72b054a4
      2ae1f0cc
    • dnovillo's avatar
      * parser.c: Remove ENABLE_CHECKING markers around debugging · 24224d3d
      dnovillo authored
      	routines.
      	(cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN.
      	Make static
      	When printing CURR_TOKEN surround it in [[ ]].
      	Start printing at START_TOKEN.
      	Update all users.
      	(cp_debug_print_tree_if_set): New.
      	(cp_debug_print_context): New.
      	(cp_debug_print_context_stack): New.
      	(cp_debug_print_flag): New.
      	(cp_debug_print_unparsed_function): New.
      	(cp_debug_print_unparsed_queues): New.
      	(cp_debug_parser_tokens): New.
      	(cp_debug_parser): New.
      	(cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr.
      	(cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL.
      	* parser.h (cp_lexer_dump_tokens): Remove declaration.
      	(cp_debug_parser): Declare.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180136 138bc75d-0d04-0410-961f-82ee72b054a4
      24224d3d
    • amonakov's avatar
      PR rtl-optimization/50205 · 9b9b82e0
      amonakov authored
      	* sel-sched.c (count_occurrences_1): Simplify on the assumption that
      	p->x is a register.  Forbid substitution when the same register is
      	found in a different mode.
      	(count_occurrences_equiv): Assert that 'what' is a register.
      
      	* gcc.dg/pr50205.c: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180135 138bc75d-0d04-0410-961f-82ee72b054a4
      9b9b82e0
    • rguenth's avatar
      2011-10-18 Richard Guenther <rguenther@suse.de> · 6434181f
      rguenth authored
      	PR tree-optimization/50767
      	* tree-ssa-pre.c (create_expression_by_pieces): Update the
      	folded statement.
      
      	* gcc.dg/torture/pr50767.c: New testcase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180134 138bc75d-0d04-0410-961f-82ee72b054a4
      6434181f
    • nicola's avatar
      In gcc/objc/: · d69c64b7
      nicola authored
      2011-10-18  Mikael Pettersson  <mikpe@it.uu.se>
      
      	PR objc/50743
      	* objc-act.c (check_duplicates): Cast TREE_VEC_LENGTH result to
      	size_t to avoid signed/unsigned
      	comparison.
      	(insert_method_into_method_map): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180132 138bc75d-0d04-0410-961f-82ee72b054a4
      d69c64b7
    • jules's avatar
      gcc/ · 8f32c760
      jules authored
          * config/arm/arm.c (arm_block_move_unaligned_straight)
          (arm_adjust_block_mem, arm_block_move_unaligned_loop)
          (arm_movmemqi_unaligned): New.
          (arm_gen_movmemqi): Support unaligned block copies.
      
          gcc/testsuite/
          * lib/target-supports.exp (check_effective_target_arm_unaligned):
          New.
          * gcc.target/arm/unaligned-memcpy-1.c: New.
          * gcc.target/arm/unaligned-memcpy-2.c: New.
          * gcc.target/arm/unaligned-memcpy-3.c: New.
          * gcc.target/arm/unaligned-memcpy-4.c: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180131 138bc75d-0d04-0410-961f-82ee72b054a4
      8f32c760
    • janus's avatar
      2011-10-18 Janus Weil <janus@gcc.gnu.org> · 2564c57a
      janus authored
      	PR fortran/47023
      	* decl.c (verify_c_interop_param): Renamed to
      	'gfc_verify_c_interop_param'. Add error message for polymorphic
      	arguments.
      	(verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
      	polymorphic variables.
      	(verify_bind_c_sym): Renamed 'verify_c_interop'.
      	* gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
      	* check.c (gfc_check_sizeof): Ditto.
      	* resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
      	* symbol.c (verify_bind_c_derived_type): Ditto.
      
      
      2011-10-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/47023
      	* gfortran.dg/iso_c_binding_class.f03: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180130 138bc75d-0d04-0410-961f-82ee72b054a4
      2564c57a
    • paolo's avatar
      2011-10-18 Paolo Carlini <paolo.carlini@oracle.com> · 326e3391
      paolo authored
      	* Fix ChangeLogs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180129 138bc75d-0d04-0410-961f-82ee72b054a4
      326e3391
    • irar's avatar
      · 6083c152
      irar authored
      	* doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
      	vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
      	* tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(op_code_prio): Likewise.
      	(op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
      	* optabs.c (optab_for_tree_code): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
      	* optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* expr.c (expand_expr_real_2): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
      	* tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
      	VEC_WIDEN_LSHIFT_LO_EXPR): New.
      	* cfgexpand.c (expand_debug_expr): Handle new tree codes.
      	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
      	vect_recog_widen_shift_pattern.
      	(vect_handle_widen_mult_by_const): Rename...
      	(vect_handle_widen_op_by_const): ...to this.  Handle shifts.
      	Add a new argument, update documentation.
      	(vect_recog_widen_mult_pattern): Assume that only second
      	operand can be constant.  Update call to
      	vect_handle_widen_op_by_const.
      	(vect_recog_over_widening_pattern): Fix typo.
      	(vect_recog_widen_shift_pattern): New.
      	* tree-vect-stmts.c (vectorizable_type_promotion): Handle
      	widening shifts.
      	(supportable_widening_operation): Likewise.
      	* tree-inline.c (estimate_operator_cost): Handle new tree codes.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
      	(vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
      	vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
      	Likewise.
      	* config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
      	New.
      	* config/arm/iterators.md (V_innermode): New.
      	* tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
      	for widening shift.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180128 138bc75d-0d04-0410-961f-82ee72b054a4
      6083c152
    • rguenth's avatar
      2011-10-18 Richard Guenther <rguenther@suse.de> · 6fc56905
      rguenth authored
      	* tree-ssa-alias.h (struct pt_solution): Remove
      	vars_contains_restrict member.
      	(pt_solutions_same_restrict_base): Remove.
      	(pt_solution_set): Adjust.
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
      	vars_contains_restrict handling.
      	(dump_points_to_solution): Likewise.
      	(ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
      	* tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
      	field.
      	(new_var_info): Do not initialize it.
      	(ipa_escaped_pt): Adjust.
      	(make_constraint_from_restrict): Make the tag global.
      	(make_constraint_from_global_restrict): New function.
      	(make_constraint_from_heapvar): Remove.
      	(create_variable_info_for): Do not make restrict vars point
      	to NONLOCAL.
      	(intra_create_variable_infos): Likewise.
      	(find_what_var_points_to): Remove vars_contains_restrict handling.
      	(pt_solution_set): Adjust.
      	(pt_solution_ior_into): Likewise.
      	(pt_solutions_same_restrict_base): Remove.
      	(compute_points_to_sets): Do not test is_restrict_var.
      	* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
      	* gimple-pretty-print.c (pp_points_to_solution): Likewise.
      
      	* gcc.dg/torture/restrict-1.c: New testcase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180127 138bc75d-0d04-0410-961f-82ee72b054a4
      6fc56905
    • vries's avatar
      2011-10-18 Tom de Vries <tom@codesourcery.com> · 4c3030b9
      vries authored
      	PR tree-optimization/50672
      	* tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
      	factored out of ...
      	(mark_virtual_phi_result_for_renaming): Use
      	mark_virtual_operand_for_renaming.
      	* tree-flow.h (mark_virtual_operand_for_renaming): Declare.
      	* tree-ssa-tail-merge.c (release_last_vdef): New function.
      	(purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
      	deleted basic block.
      	(tail_merge_optimize): Add argument to call to purge_bbs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180126 138bc75d-0d04-0410-961f-82ee72b054a4
      4c3030b9
    • rguenth's avatar
      2011-10-18 Richard Guenther <rguenther@suse.de> · 56cf6489
      rguenth authored
      	PR middle-end/50716
      	* expr.c (get_object_or_type_alignment): New function.
      	(expand_assignment): Use it.
      	(expand_expr_real_1): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180125 138bc75d-0d04-0410-961f-82ee72b054a4
      56cf6489
    • dodji's avatar
      Fix bootstrap on !NO_IMPLICIT_EXTERN_C and ia32 targets · 2a688977
      dodji authored
      libcpp/
      
      	* include/line-map.h (struct linemap_stats): Change the type of
      	the members from size_t to long.
      	* macro.c (macro_arg_token_iter_init): Unconditionally initialize
      	iter->location_ptr.
      
      gcc/c-family/
      
      	* c-lex.c (fe_file_change): Use LINEMAP_SYSP when
      	!NO_IMPLICIT_EXTERN_C.
      
      gcc/
      	* input.c (dump_line_table_statistics): Use long, not size_t.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180124 138bc75d-0d04-0410-961f-82ee72b054a4
      2a688977
    • ebotcazou's avatar
      Remove bogus line · fc308daf
      ebotcazou authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180123 138bc75d-0d04-0410-961f-82ee72b054a4
      fc308daf
    • ebotcazou's avatar
      * config/sparc/sparc.md (in_call_delay): Fix formatting issues. · 2740eea4
      ebotcazou authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180122 138bc75d-0d04-0410-961f-82ee72b054a4
      2740eea4
    • bkoz's avatar
      2011-10-17 Michael Spertus <mike_spertus@symantec.com> · e6014a82
      bkoz authored
      	* gcc/c-family/c-common.c (c_common_reswords): Add __bases,
      	__direct_bases.
      	* gcc/c-family/c-common.h: Add RID_BASES and RID_DIRECT_BASES.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* cp-tree.def: Add BASES as a new tree code.
      	* cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
      	(BASES_TYPE, BASES_DIRECT): Define.
      	(calculate_bases, finish_bases, calculate_direct_bases): Declare.
      	* parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
      	(cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
      	* pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
      	* semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
      	dfs_calculate_bases_pre, dfs_calculate_bases_post,
      	calculate_bases_helper): Define.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* g++.dg/ext/bases.C: New test.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* include/tr2/type_traits (bases, direct_bases, typelist): New.
      
      2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
      	* libstdc++-v3/include/Makefile.in: Regenerate.
      
      	* scripts/create_testsuite_files: Search tr2 directory.
      	* testsuite/libstdc++-dg/conformance.exp: Same.
      
      	* testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
      	* testsuite/tr2/bases/requirements/typedefs.cc: New.
      	* testsuite/tr2/bases/value.cc: New.
      	* testsuite/tr2/direct_bases/requirements/
      	explicit_instantiation.cc: New.
      	* testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
      	* testsuite/tr2/direct_bases/value.cc: New.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180121 138bc75d-0d04-0410-961f-82ee72b054a4
      e6014a82
    • davem's avatar
      Add sparc vec_perm patterns when VIS2. · 05d36c46
      davem authored
      	* config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
      	patterns.
      	* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
      	* config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180119 138bc75d-0d04-0410-961f-82ee72b054a4
      05d36c46
    • gccadmin's avatar
      Daily bump. · 0b23f913
      gccadmin authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180118 138bc75d-0d04-0410-961f-82ee72b054a4
      0b23f913
  2. 17 Oct, 2011 6 commits
    • ian's avatar
      * configure.ac: Add --with-native-system-header-dir. Set and · 638454a1
      ian authored
      	substitute NATIVE_SYSTEM_HEADER_DIR.  Use native_system_header
      	when setting target_header_dir.
      	* config.gcc: Always set native_system_header_dir.
      	(*-*-gnu*): Set native_system_header_dir.  Don't use t-gnu.
      	(i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir.  Don't
      	use i386/t-djgpp.
      	(i[34567]86-*-mingw* | x86_64-*-mingw*): Set
      	native_system_header_dir.
      	(spu-*-elf*): Set native_system_header_dir.
      	* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
      	@NATIVE_SYSTEM_HEADER_DIR@.
      	(PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
      	* cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
      	(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
      	STANDARD_INCLUDE_COMPONENT.
      	(cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR.  Rename
      	STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
      	* system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
      	STANDARD_INCLUDE_COMPONENT.
      	* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
      	* config/i386/t-mingw-w32: Likewise.
      	* config/i386/t-mingw-w64: Likewise.
      	* config/spu/t-spu-elf: Likewise.
      	* config/i386/t-djgpp: Remove.
      	* config/t-gnu: Remove.
      	* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
      	(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
      	STANDARD_INCLUDE_COMPONENT.
      	* config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
      	* config/spu/spu-elf.h: Likewise.
      	* config/vms/xm-vms.h: Likewise.
      	* config/gnu.h: Likewise.
      	* config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
      	and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
      	NATIVE_SYSTME_HEADER_COMPONENT.
      	* doc/install.texi (Configuration): Document
      	--with-native-system-header-dir.  Mention it in the documentation
      	for --with-sysroot and --with-build-sysroot.
      	* doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
      	STANDARD_INCLUDE_DIR.  Rename STANDARD_INCLUDE_COMPONENT to
      	NATIVE_SYSTEM_HEADER_COMPONENT.  Rename uses of
      	STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
      	* doc/fragments.texi (Target Fragment): Don't document
      	NATIVE_SYSTEM_HEADER_DIR.
      	* configure, doc/tm.texi: Rebuild.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180114 138bc75d-0d04-0410-961f-82ee72b054a4
      638454a1
    • davem's avatar
      Fix predicates used in sparc VIS edge instructions. · d510308a
      davem authored
      	* config/sparc/sparc.md: Use register_or_zero_operand where rJ
      	is the constraint.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180113 138bc75d-0d04-0410-961f-82ee72b054a4
      d510308a
    • davem's avatar
      Segregate sparc's handling of vector vs. non-vector modes. · bc963728
      davem authored
      gcc/
      	* config/sparc/sparc-modes.def: Add single entry vector modes for
      	DImode and SImode.
      	* config/sparc/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
      	mode iterators.
      	(mov<V32:mode>): Revert back to plain SFmode pattern.
      	(*movsf_insn): Likewise.
      	(mov<V64:mode>): Revert back to plain DFmode pattern.
      	(*movdf_insn_sp32): Likewise.
      	(*movdf_insn_sp32_v9): Likewise.
      	(*movdf_insn_sp64): Likewise.
      	(V64 mode splitters) Likewise.
      	(addsi3): Remove VIS alternatives.
      	(subsi3): Likewise.
      	(and<V64I:mode>3): Revert to DImode only pattern.
      	(and<V64I:mode>3_sp32): Likewise.
      	(*and<V64I:mode>3_sp64): Likewise.
      	(and<V32I:mode>3): Likewise.
      	(*and_not_<V64I:mode>_sp32): Likewise.
      	(*and_not_<V64I:mode>_sp64): Likewise.
      	(*and_not_<V32I:mode>): Likewise.
      	(ior<V64I:mode>3): Likewise.
      	(*ior<V64I:mode>3_sp32): Likewise.
      	(*ior<V64I:mode>3_sp64): Likewise.
      	(ior<V32I:mode>3): Likewise.
      	(*or_not_<V64I:mode>_sp32): Likewise.
      	(*or_not_<V64I:mode>_sp64): Likewise.
      	(*or_not_<V32I:mode>): Likewise.
      	(xor<V64I:mode>3): Likewise.
      	(*xor<V64I:mode>3_sp32): Likewise.
      	(*xor<V64I:mode>3_sp64): Likewise.
      	(xor<V32I:mode>3): Likewise.
      	(V64I mode splitters): Likewise.
      	(*xor_not_<V64I:mode>_sp32): Likewise.
      	(*xor_not_<V64I:mode>_sp64): Likewise.
      	(*xor_not_<V32I:mode>): Likewise.
      	(one_cmpl<V64I:mode>2): Likewise.
      	(*one_cmpl<V64I:mode>2_sp32): Likewise.
      	(*one_cmpl<V64I:mode>2_sp64): Likewise.
      	(one_cmpl<V32I:mode>2): Likewise.
      	(VM32, VM64, VMALL): New mode iterators.
      	(vbits, vconstr, vfptype): New mode attributes.
      	(mov<VMALL:mode>): New expander.
      	(*mov<VM32:mode>_insn): New insn.
      	(*mov<VM64:mode>_insn_sp64): New insn.
      	(*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
      	specifically for the register to memory case.
      	(vec_init<mode>): New expander.
      	(VADDSUB): New mode iterator.
      	(<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
      	with...
      	(<plusminus_insn><mode>3): New consolidated pattern.
      	(VL): New mode iterator for logical operations.
      	(vlsuf): New more attribute.
      	(vlop): New code iterator.
      	(vlinsn, vlninsn): New code attributes.
      	(<code><mode>3): New insn to non-negated vector logical ops.
      	(*not_<code><mode>3): Likewise for negated variants.
      	(*nand<mode>_vis): New insn.
      	(vlnotop): New code iterator.
      	(*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
      	(one_cmpl<mode>2): New insn.
      	(faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
      	(bshuffle<VM64:mode>_vis): Likewise.
      	(v<vis3_shift_patname><mode>3): Use GCM mode iterator.
      	(fp<plusminus_insn>64_vis): Use V1DI mode.
      	(VASS mode iterator): Use V1SI not SI mode.
      	* config/sparc/sparc.c (sparc_vis_init_builtins): Account for
      	single-entry vector mode changes.
      	(sparc_expand_builtin): Likewise.
      	(sparc_expand_vector_init): New function.
      	* config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/fand.c: Remove __LP64__ ifdefs and expect
      	all operations to emit VIS instructions.
      	* gcc.target/sparc/fandnot.c: Likewise.
      	* gcc.target/sparc/fnot.c: Likewise.
      	* gcc.target/sparc/for.c: Likewise.
      	* gcc.target/sparc/fornot.c: Likewise.
      	* gcc.target/sparc/fxnor.c: Likewise.
      	* gcc.target/sparc/fxor.c: Likewise.
      	* gcc.target/sparc/combined-1.c: Revert change to use -O2, no longer
      	needed.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180112 138bc75d-0d04-0410-961f-82ee72b054a4
      bc963728
    • jakub's avatar
      * gcc.c-torture/execute/vshuf-v16hi.c: New test. · 353a5b9a
      jakub authored
      	* gcc.dg/torture/vshuf-16.inc: New file.
      	* gcc.dg/torture/vshuf-2.inc: New file.
      	* gcc.dg/torture/vshuf-32.inc: New file.
      	* gcc.dg/torture/vshuf-4.inc: New file.
      	* gcc.dg/torture/vshuf-8.inc: New file.
      	* gcc.dg/torture/vshuf-main.inc: New file.
      	* gcc.dg/torture/vshuf-v16hi.c: New test.
      	* gcc.dg/torture/vshuf-v16qi.c: New test.
      	* gcc.dg/torture/vshuf-v2df.c: New test.
      	* gcc.dg/torture/vshuf-v2di.c: New test.
      	* gcc.dg/torture/vshuf-v2sf.c: New test.
      	* gcc.dg/torture/vshuf-v2si.c: New test.
      	* gcc.dg/torture/vshuf-v32qi.c: New test.
      	* gcc.dg/torture/vshuf-v4df.c: New test.
      	* gcc.dg/torture/vshuf-v4di.c: New test.
      	* gcc.dg/torture/vshuf-v4hi.c: New test.
      	* gcc.dg/torture/vshuf-v4sf.c: New test.
      	* gcc.dg/torture/vshuf-v4si.c: New test.
      	* gcc.dg/torture/vshuf-v8hi.c: New test.
      	* gcc.dg/torture/vshuf-v8qi.c: New test.
      	* gcc.dg/torture/vshuf-v8sf.c: New test.
      	* gcc.dg/torture/vshuf-v8si.c: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180110 138bc75d-0d04-0410-961f-82ee72b054a4
      353a5b9a
    • ktietz's avatar
      * fold-const.c (simple_operand_p_2): New function. · d25f4ed0
      ktietz authored
      	(fold_truthop): Rename to
      	(fold_truth_andor_1): function name.
      	Additionally remove branching creation for logical and/or.
      	(fold_truth_andor): Handle branching creation for logical and/or here.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180109 138bc75d-0d04-0410-961f-82ee72b054a4
      d25f4ed0
    • ak's avatar
      2011-10-17 Andi Kleen <ak@linux.intel.com> · a46cbe3b
      ak authored
             * ggc-page.c (USING_MADVISE): Adjust ifdef to check for
             USING_MMAP.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180107 138bc75d-0d04-0410-961f-82ee72b054a4
      a46cbe3b