Commit Graph

101433 Commits

Author SHA1 Message Date
Neil Roberts 4138b429ca sysv.S (ffi_call_SYSV): Align the stack pointer to 16-bytes.
2010-07-07   Neil Roberts <neil@linux.intel.com>

	* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
	16-bytes.

From-SVN: r161922
2010-07-07 15:59:30 +00:00
Bernd Schmidt 71df5a7ee7 re PR rtl-optimization/44404 (auto-inc-dec generates an invalid assembly instruction)
PR rtl-optimization/44404
	* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
	possible, use reg_overlap_mentioned_p instead.

From-SVN: r161920
2010-07-07 15:26:48 +00:00
Duncan Sands f625098e0c When materializing a cloned function with arguments removed,
to TYPE_POINTER_TO field of the new type (which has fewer
arguments) was left pointing to the original type.

From-SVN: r161918
2010-07-07 15:21:16 +00:00
H.J. Lu ab33bd5ceb Revert revision 161876.
2010-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44850
	* config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
	revision 161876.
	(ix86_expand_prologue): Likewise.
	(ix86_handle_fndecl_attribute): Likewise.
	(ix86_asm_declare_function_name): Likewise.
	* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
	* config/i386/i386-protos.h (ix86_asm_declare_function_name):
	Likewise.
	* doc/extend.texi: Likewise.

From-SVN: r161911
2010-07-07 06:36:31 -07:00
H.J. Lu 5e86e54057 Retry rdrand if the carry flag isn't valid.
gcc/

2010-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44844
	* config/i386/i386.md (rdrand<mode>): Changed to expand to
	retry if the carry flag isn't valid.
	(rdrand<mode>_1): New.

gcc/testsuite/

2010-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44844
	* gcc.target/i386/rdrand-1.c: Scan "jnc".
	* gcc.target/i386/rdrand-2.c: Likewise.
	* gcc.target/i386/rdrand-3.c: Likewise.

From-SVN: r161910
2010-07-07 06:33:04 -07:00
Richard Guenther 0ee95c437f re PR middle-end/44790 (Bootstrap fails after MEM-REF merge)
2010-07-07  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44790
	* expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
	for expanding the constant offset for MEM_REFs.

From-SVN: r161907
2010-07-07 12:43:38 +00:00
Jan Hubicka 86353474a0 * lto-cgraph.c (output_cgraph): Add missing declaration.
From-SVN: r161906
2010-07-07 12:33:35 +00:00
Richard Guenther 523968bfbb tree-ssa-propagate.h (valid_gimple_call_p): Remove.
2010-07-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-propagate.h (valid_gimple_call_p): Remove.
	* tree-ssa-propagate.c (valid_gimple_call_p): Make static.  Fix.
	* gimple.h (is_gimple_operand): Remove.
	* gimple.c (is_gimple_operand): Likewise.
	(walk_gimple_op): Fix wi->val_only setting for calls.
	* tree-cfg.c (verify_gimple_call): Fix argument validation.
	* tree-profile.c (tree_gen_ic_func_profiler): Do not create
	invalid gimple calls.

From-SVN: r161905
2010-07-07 12:06:57 +00:00
Jan Hubicka b0d9e66374 lto-cgraph.c (output_cgraph): Output toplevel asms only into first partition.
* lto-cgraph.c (output_cgraph): Output toplevel asms only into first
	partition.

From-SVN: r161904
2010-07-07 12:04:09 +00:00
Alexandre Oliva 38be945b90 gimple.texi (GIMPLE_DEBUG): Document.
* doc/gimple.texi (GIMPLE_DEBUG): Document.
* doc/rtl.texi (Debug Information): New node.
(NOTE_INSN_VAR_LOCATION): Document.
(debug_insn): Likewise.
* doc/generic.texi (DEBUG_EXPR_DECL): Document.

From-SVN: r161899
2010-07-07 01:12:23 +00:00
Jan Hubicka 6938f93f2e re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173)
PR middle-end/44813
	* tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
	for functions passed by reference.
	* tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
	in memory when passed by reference.
	* tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
	beggining.
	* ipa-split.c (split_function): Cleanup way return value is passed;
	handle SSA DECL_BY_REFERENCE retvals.
	* tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
	DECL_BY_REFERENCE is set.
	* tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
	find_what_p_points_to): Handle RESULT_DECL.
	* tree-inline.c (declare_return_variable): Get new entry_block argument;
	when passing by reference ensure that RESULT_DECL is gimple_val.
	(remap_gimple_op_r): Remap RESULT_DECL ssa name.
	(remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
	* g++.dg/torture/pr44813.C: New testcase.
	* g++.dg/torture/pr44826.C: New testcase.

From-SVN: r161898
2010-07-07 01:00:42 +00:00
GCC Administrator 1d8f4f9171 Daily bump.
From-SVN: r161897
2010-07-07 00:17:13 +00:00
Bernd Schmidt 325d79974d re PR rtl-optimization/44787 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:395)
PR rtl-optimization/44787
	* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
	* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.

testsuite/
	PR rtl-optimization/44787
	* gcc.c-torture/compile/pr44788.c: New test.
	* gcc.target/arm/pr44788.c: New test.

From-SVN: r161893
2010-07-06 23:44:55 +00:00
Jonathan Wakely 604b91240e status_cxx200x.xml: Add some missing features.
2010-07-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/status_cxx200x.xml: Add some missing features.
	* doc/html/*: Regenerate.

From-SVN: r161892
2010-07-06 23:14:58 +01:00
Peter Bergner b1e2556518 * gcc.target/powerpc/altivec-volatile.c: Adjust expected warning.
From-SVN: r161891
2010-07-06 16:49:57 -05:00
Peter Bergner 0f5700a732 ppu-intrinsics.c: Add -Wno-unused-but-set-variable to dg-options.
* gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
	to dg-options.

From-SVN: r161890
2010-07-06 16:46:59 -05:00
Tobias Burnus 928f049082 re PR fortran/44742 (ICE in gfc_conv_array_initializer)
2010-07-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44742
        * array.c (gfc_expand_constructor): Add optional diagnostic.
        * gfortran.h (gfc_expand_constructor): Update prototype.
        * expr.c (gfc_simplify_expr, check_init_expr,
        gfc_reduce_init_expr): Update gfc_expand_constructor call.
        * resolve.c (gfc_resolve_expr): Ditto.

2010-07-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44742
        * gfortran.dg/parameter_array_init_6.f90: New.
        * gfortran.dg/initialization_20.f90: Update dg-error.
        * gfortran.dg/initialization_24.f90: Ditto.

From-SVN: r161888
2010-07-06 22:56:07 +02:00
Tobias Burnus c829d0163d trans-decl.c: Include diagnostic-core.h besides toplev.h.
2010-07-06  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c: Include diagnostic-core.h besides toplev.h.
        * trans-intrinsic.c: Ditto.
        * trans-types.c: Ditto.
        * convert.c: Include diagnostic-core.h instead of toplev.h.
        * options.c: Ditto.
        * trans-array.c: Ditto.
        * trans-const.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-io.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans.c: Ditto.

From-SVN: r161885
2010-07-06 21:57:29 +02:00
Thomas Koenig 7114ab4579 PR fortran/PR44693
2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/PR44693
	* check.c (dim_rank_check):  Also check intrinsic functions.
	Adjust permissible rank for functions which reduce the rank of
	their argument.  Spread is an exception, where DIM can
	be one larger than the rank of array.

2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
	PR fortran/PR44693
	* gfortran.dg/dim_range_1.f90:  New test.
	* gfortran.dg/minmaxloc_4.f90:  Remove invalid test.

From-SVN: r161884
2010-07-06 19:48:58 +00:00
Jason Merrill 0060a10ae8 re PR c++/44703 ([C++0x] List initialization fail if parameter is typedef name for the std::initializer_list)
PR c++/44703
	* call.c (is_std_init_list): Look through typedefs.

From-SVN: r161880
2010-07-06 15:23:01 -04:00
Jason Merrill 627bc93888 re PR c++/44778 (? Behaviour change with pointers to members)
PR c++/44778
	* init.c (build_offset_ref): If scope isn't dependent,
	don't exit early.  Look at TYPE_MAIN_VARIANT.
	* pt.c (tsubst_copy) [OFFSET_REF]: Do substitution.

From-SVN: r161879
2010-07-06 15:22:49 -04:00
Jason Merrill 89a40f593e * error.c (dump_function_decl): Don't crash on null DECL_NAME.
From-SVN: r161878
2010-07-06 15:22:38 -04:00
Jan Hubicka e10aaec029 lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
	(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
	with body can prevail.
	(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
	(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
	* cgraph.c (cgraph_get_node_or_alias): New function.
	* cgraph.h (cgraph_get_node_or_alias): Declare.

From-SVN: r161877
2010-07-06 18:54:38 +00:00
Kai Tietz 4bbf141cf1 i386.c (ix86_function_ms_hook_prologue): Enable x64 support.
2010-07-06  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
        support.
        (ix86_expand_prologue): Likewise.
        (ix86_handle_fndecl_attribute): Likewise.
        (ix86_asm_declare_function_name): New function for
        ASM_DECLARE_FUNCTION_NAME.
        * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
        * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
        (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
        * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
        * doc/extend.texi: Adjust documentation about ms_hook_prologue
        attribute.

From-SVN: r161876
2010-07-06 20:27:41 +02:00
Kai Tietz 15a1f8c52d ms_hook_prologue.c: Add x64 ms_hook_prologue support.
2010-07-06  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.target/i386/ms_hook_prologue.c: Add x64 ms_hook_prologue
        support.
        * gcc.target/i386/i386.exp: Likewise.

From-SVN: r161875
2010-07-06 20:25:26 +02:00
Peter Bergner 6b0bcc9bfe re PR lto/44195 (gcc.dg/lto/20100518 c_lto_20100518_0.o)
PR testsuite/44195
	* gcc.dg/lto/20100518_0.c: Limit to x86.

From-SVN: r161872
2010-07-06 11:09:13 -05:00
Uros Bizjak 9aa5922d89 i386.md (immediate_operand): New mode attribute.
2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (immediate_operand): New mode attribute.
	
	(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
	pro_epilogue_adjust_stack  and pro_epilogue_adjust_stack_rex64
	using P mode iterator.
	(pro_epilogue_adjust_stack_di_2): Rename from
	pro_epilogue_adjust_stack_rex64_2.

	* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.

2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
	through gen_mov_insv_1 function pointer.
	(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
	gen_truncxf<mode>2 through gen_truncxf function pointer.
	(remainder<mode>3): Ditto.
	(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
	(allocate_stack): Call gen_allocate_stack_worker_64 or
	gen_allocate_stack_worker_32 through gen_allocate_stack_worker
	function pointer.
	(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
	function pointer.

2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
	operand constraint instead of <r><i>m.

From-SVN: r161870
2010-07-06 16:05:19 +02:00
Richard Guenther dfb8812683 re PR c/44828 (possible integer wrong code bug)
2010-07-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44828
	* convert.c (convert_to_integer): Watch out for overflowing
	MULT_EXPR as well.

	* gcc.c-torture/execute/pr44828.c: New testcase.

From-SVN: r161869
2010-07-06 13:37:58 +00:00
Jan Hubicka c5d1f05852 lto-streamer.c (write_symbol_vec): Rename to ...
* lto-streamer.c (write_symbol_vec): Rename to ...
	(write_symbol) ... this one; write only symbol given and when
	present in cache. Sanity check that what is defined is present
	in cgraph/varpool with body/finalized decl.
	(write_symbols_of_kind): Remove.
	(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
	pairs to produce symtab.
	(produce_asm_for_decls): Update call of produce_symtab; don't do so
	when doing WPA streaming.

From-SVN: r161868
2010-07-06 13:26:28 +00:00
Ken Werner d414dde979 floatformat.h (floatformat_ieee_half_big): Add declaration.
include/ChangeLog:

2010-07-06  Ken Werner  <ken.werner@de.ibm.com>

	* floatformat.h (floatformat_ieee_half_big): Add declaration.
	(floatformat_ieee_half_little): Likewise.

libiberty/ChangeLog:

2010-07-06  Ken Werner  <ken.werner@de.ibm.com>

	* floatformat.c (floatformat_ieee_half_big): New variable.
	(floatformat_ieee_half_little): Likewise.

From-SVN: r161867
2010-07-06 13:00:59 +00:00
Jan Hubicka 6e4da08400 gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that function is still available to fold into.
* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
	function is still available to fold into.

From-SVN: r161866
2010-07-06 11:44:34 +00:00
Shujing Zhao ebeb2c24db cp-tree.h (impl_conv_void): New type.
/cp
2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>

        * cp-tree.h (impl_conv_void): New type.
        (convert_to_void): Adjust prototype.
        * cvt.c (convert_to_void): Use impl_conv_void, emit and adjust the
        diagnostic for easy translation. Change caller.
        * typeck.c: Update call to convert_to_void.
        * semantics.c: Likewise.
        * init.c: Likewise.

/testsuite
2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>

        * g++.dg/warn/noeffect2.C: Adjust expected warning.
        * g++.dg/warn/volatile1.C: Likewise.
        * g++.dg/template/warn1.C: Likewise.

From-SVN: r161863
2010-07-06 05:53:49 +00:00
Nathan Froyd c021f10b18 vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
gcc/
	* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
	* function.h (struct_function): Change type of local_decls field
	to a VEC.
	(add_local_decl): New function.
	(FOR_EACH_LOCAL_DECL): New macro.
	* cfgexpand.c (init_vars_expansion): Adjust for new type of
	cfun->local_decls.
	(estimated_stack_frame_size): Likewise.
	(expand_used_vars): Likewise.
	* cgraphbuild.c (build_cgraph_edges): Likewise.
	* function.c (instantiate_decls_1): Likewise.
	* ipa-struct-reorg.c (build_data_structure): Likewise.
	* ipa-type-escape.c (analyze_function): Likewise.
	* lto-streamer-in.c (input_function): Likewise.
	* lto-streamer-out.c (output_function): Likewise.
	* tree-ssa-live.c (remove_unused_locals): Likewise.
	* tree.c (free_lang_data_in_decl): Likewise.
	(find_decls_types_in_node): Likewise.
	* omp-low.c (remove_exit_barrier): Likewise.
	(expand_omp_taskreg): Likewise.
	(list2chain): Rename to...
	(vec2chain): ...this.  Adjust.
	* cgraphunit.c (assemble_thunk): Call add_local_decl.
	* tree-cfg.c (replace_by_duplicate_decl): Likewise.
	* gimple-low.c (record_vars_into): Likewise.
	* tree-inline.c (remap_decls): Likewise.
	(declare_return_variable): Likewise.
	(declare_inline_vars): Likewise.
	(copy_forbidden): Adjust for new type of cfun->local_decls.
	(add_local_variables): New function.
	(expand_call_inline): Call it.
	(tree_function_versioning): Likewise.

gcc/cp/
	* decl.c (cp_finish_decl): Call add_local_decl.
	* optimize.c (clone_body): Adjust for new type of cfun->local_decls.

From-SVN: r161862
2010-07-06 02:26:33 +00:00
GCC Administrator 979cc39947 Daily bump.
From-SVN: r161861
2010-07-06 00:17:11 +00:00
Nathan Froyd 77641ca3bd re PR bootstrap/44825 (Failed to bootstrap)
PR bootstrap/44825
	* class.c (make_class_data): Cast result of VEC_length calls to int.

From-SVN: r161856
2010-07-05 22:19:22 +00:00
H.J. Lu 4ee89d5fb7 Support AVX Programming Reference (June, 2010).
gcc/

2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2010)
	* config/i386/cpuid.h (bit_F16C): New.
	(bit_RDRND): Likewise.
	(bit_FSGSBASE): Likewise.

	* config/i386/i386-builtin-types.def: Add
	"DEF_FUNCTION_TYPE (UINT16)", function types for
	float16 <-> float conversions and
	"DEF_FUNCTION_TYPE (VOID, UINT64)".

	* config/i386/i386-c.c (ix86_target_macros_internal): Support
	OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
	OPTION_MASK_ISA_F16C.

	* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
	(OPTION_MASK_ISA_RDRND_SET): Likewise.
	(OPTION_MASK_ISA_F16C_SET): Likewise.
	(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
	(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
	(OPTION_MASK_ISA_F16C_UNSET): Likewise.
	(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
	(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and
	OPT_mf16c.
	(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
	(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
	(override_options): Handle them.
	(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd
	and f16c.
	(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
	IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
	IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
	IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
	IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
	IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
	IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
	IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
	(bdesc_args): Likewise.
	(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
	V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
	VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
	Handle non-memory store.

	* config/i386/i386.h (TARGET_FSGSBASE): New.
	(TARGET_RDRND): Likewise.
	(TARGET_F12C): Likewise.

	* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
	(UNSPEC_VCVTPS2PH): Likewise.
	(UNSPECV_RDFSBASE): Likewise.
	(UNSPECV_RDGSBASE): Likewise.
	(UNSPECV_WRFSBASE): Likewise.
	(UNSPECV_WRGSBASE): Likewise.
	(UNSPECV_RDRAND): Likewise.
	(rdfsbase<mode>): Likewise.
	(rdgsbase<mode>): Likewise.
	(wrfsbase<mode>): Likewise.
	(wrgsbase<mode>): Likewise.
	(rdrand<mode>): Likewise.

	* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.

	* config/i386/immintrin.h (_rdrand_u16): New.
	(_rdrand_u32): Likewise.
	(_readfsbase_u32): Likewise.
	(_readfsbase_u64): Likewise.
	(_readgsbase_u32): Likewise.
	(_readgsbase_u64): Likewise.
	(_writefsbase_u32): Likewise.
	(_writefsbase_u64): Likewise.
	(_writegsbase_u32): Likewise.
	(_writegsbase_u64): Likewise.
	(_rdrand_u64): Likewise.
	(_cvtsh_ss): Likewise.
	(_mm_cvtph_ps): Likewise.
	(_mm256_cvtph_ps): Likewise.
	(_cvtss_sh): Likewise.
	(_mm_cvtps_ph): Likewise.
	(_mm256_cvtps_ph): Likewise.

	* config/i386/sse.md (vcvtph2ps): New.
	(*vcvtph2ps_load): Likewise.
	(vcvtph2ps256): Likewise.
	(vcvtps2ph): Likewise.
	(*vcvtps2ph): Likewise.
	(*vcvtps2ph_store): Likewise.
	(vcvtps2ph256): Likewise.

	* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.

	* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.

gcc/testsuite/

2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2010)
	* g++.dg/other/i386-2.C: Add -mfsgsbase -mrdrnd -mf16c.
	* g++.dg/other/i386-3.C: Likewise.
	* gcc.target/i386/sse-12.c: Likewise.

	* gcc.target/i386/f16c-check.h: New.
	* gcc.target/i386/rdfsbase-1.c: Likewise.
	* gcc.target/i386/rdfsbase-2.c: Likewise.
	* gcc.target/i386/rdgsbase-1.c: Likewise.
	* gcc.target/i386/rdgsbase-2.c: Likewise.
	* gcc.target/i386/rdrand-1.c: Likewise.
	* gcc.target/i386/rdrand-2.c: Likewise.
	* gcc.target/i386/rdrand-3.c: Likewise.
	* gcc.target/i386/vcvtph2ps-1.c: Likewise.
	* gcc.target/i386/vcvtph2ps-2.c: Likewise.
	* gcc.target/i386/vcvtph2ps-3.c: Likewise.
	* gcc.target/i386/vcvtps2ph-1.c: Likewise.
	* gcc.target/i386/vcvtps2ph-2.c: Likewise.
	* gcc.target/i386/vcvtps2ph-3.c: Likewise.
	* gcc.target/i386/wrfsbase-1.c: Likewise.
	* gcc.target/i386/wrfsbase-2.c: Likewise.
	* gcc.target/i386/wrgsbase-1.c: Likewise.
	* gcc.target/i386/wrgsbase-2.c: Likewise.

	* gcc.target/i386/sse-13.c: Add -mfsgsbase -mrdrnd -mf16c.
	(__builtin_ia32_vcvtps2ph): New.
	(__builtin_ia32_vcvtps2ph256): Likewise.

	* gcc.target/i386/sse-14.c: Add -mfsgsbase -mrdrnd -mf16c.
	Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.

	* gcc.target/i386/sse-22.c: Add fsgsbase,rdrnd,f16c.
	Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.

	* gcc.target/i386/sse-23.c (__builtin_ia32_vcvtps2ph): New.
	(__builtin_ia32_vcvtps2ph256): Likewise.
	Add fsgsbase,rdrnd,f16c.

	* lib/target-supports.exp (check_effective_target_f16c): New.

From-SVN: r161855
2010-07-05 14:57:55 -07:00
Steven G. Kargl 9e6d8a0d27 Fix ChangeLog entry from my previous commit to include
the "PR" prefix.

From-SVN: r161854
2010-07-05 20:19:41 +00:00
Joern Rennecke 3341aeda75 re PR bootstrap/44512 (--enable-build-with-cxx bootstrap fails in revision 160669)
PR bootstrap/44512
	* genenums.c (main): Output include of insn-constants.h
	* Makefile.in (insn-enums.o): Depend on insn-constants.h.

From-SVN: r161853
2010-07-05 21:18:07 +01:00
Steven G. Kargl 92336ae10f io.c (resolve_tag): Check EXIST tag is a default logical.
2010-07-05  Steven G. Kargl  <kargl@gcc.gnu.org>

    fortran/44797
    * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.

From-SVN: r161852
2010-07-05 20:14:15 +00:00
Uros Bizjak 71b2fd74b9 i386.c (ix86_gen_allocate_stack_worker): New.
* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
	(override_options): Initialize it.
	(ix86_expand_prologue): Use it.

From-SVN: r161851
2010-07-05 22:12:10 +02:00
Uros Bizjak 94dbbc8122 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r161850
2010-07-05 22:03:25 +02:00
Jakub Jelinek 938650d8fd tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.

	* gcc.dg/guality/nrv-1.c: New test.

From-SVN: r161849
2010-07-05 21:42:53 +02:00
Paul Thomas 0a8c9a1379 re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)
2010-07-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44596
	* trans-types.c (gfc_get_derived_type): Derived type fields
	with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
	but build_pointer_type_for_mode must be used for this.

From-SVN: r161848
2010-07-05 19:26:12 +00:00
Anatoly Sokolov 88e0684114 double-int.h (fit_double_type): Remove declaration.
* double-int.h (fit_double_type): Remove declaration.
	* double-int.c (fit_double_type): Remove function.
	* tree.h (int_fits_type_p): Adjust prototype.
	* tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
	instead of fit_double_type.
	(build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
	instead of fit_double_type and build_int_cst_wide.
	* builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
	instead of fit_double_type and build_int_cst_wide.
	(fold_builtin_object_size): Use double_int_fits_to_tree_p instead
	of fit_double_type.

From-SVN: r161847
2010-07-05 22:45:40 +04:00
Jan Hubicka 92eb443868 cgraph.h (cgraph_node, [...]): Update docmentation of in_other_partition.
* cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
	in_other_partition.
	* lto-cgraph.c (referenced_from_other_partition_p,
	reachable_from_other_partition_p): Use in_other_partition flags.
	(output_node, output_varpool_node): COMDAT nodes always have private
	copies and thus are never used from other partition.

	* lto.c (add_cgraph_node_to_partition): Forward declare; walk also
	nodes from same comdat group as well as all comdat functions referenced
	here.
	(add_varpool_node_to_partition, add_references_to_partition): New function.
	(lto_1_1_map): Skip COMDAT fnctions/variables; use add_varpool_node_to_partition;
	clear aux flags when done.
	(lto_promote_cross_file_statics): Do not promote stuff that gets duplicated to
	each ltrans.

From-SVN: r161846
2010-07-05 18:25:04 +00:00
Anatoly Sokolov 69e18c0985 ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
	* config/ia64/t-ia64 (ia64.o): Depend on reload.h.
	* config/ia64/ia64.c Include reload.h.
	(ia64_memory_move_cost): New function.
	(TARGET_MEMORY_MOVE_COST): Define.
	(ia64_register_move_cost): Replace MEMORY_MOVE_COST with
	memory_move_cost.

From-SVN: r161845
2010-07-05 21:49:56 +04:00
Sandra Loosemore 16ad802523 re PR middle-end/42505 (loop canonicalization causes a lot of unnecessary temporary variables)
2010-07-05  Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/42505

	gcc/
	* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
	comments about cost model.
	(try_add_cand_for):  Add second strategy for choosing initial set
	based on original IVs, controlled by ORIGINALP argument.
	(get_initial_solution): Add ORIGINALP argument.
	(find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
	(find_optimal_iv_set): Try two different strategies for choosing
	the IV set, and return the one with lower cost.

	gcc/testsuite/
	* gcc.target/arm/pr42505.c: New test case.

From-SVN: r161844
2010-07-05 13:40:57 -04:00
Rainer Orth 22a4778a0d configure.ac (ANONVERSCRIPT): Handle sun style.
* configure.ac (ANONVERSCRIPT): Handle sun style.
	Define ANONVERSCRIPT_GNU, ANONVERSCRIPT_SUN automake conditionals.
	* configure: Regenerate.

	* Makefile.am [ANONVERSCRIPT]: Protect GNU section with
	ANONVERSCRIPT_GNU.
	Introduce per-library $(lib)_la_version_arg, $(lib)_la_version_dep
	variables.
	[ANONVERSCRIPT_GNU] (version_arg): Default ld arg for version map.
	(version_dep): Likewise for dependency.
	Use them to set the per-library variables.
	[!ANONVERSCRIPT]: Provide them vor the unversioned case.
	[ANONVERSCRIPT_SUN]: Handle Sun symbol versioning.
	(libgcj_la_DEPENDENCIES): Unconditionally use
	$(libgcj_la_version_dep).
	(libgcj_la_LINK): Add $(libgcj_la_version_arg).
	(libgcj_noncore_la_DEPENDENCIES): Unconditionally use
	$(libgcj_la_version_dep).
	(libgcj_tools_la_LIBADD): Move -lm ...
	(libgcj_tools_la_LDFLAGS): ... here.
	(libgcj_tools_la_DEPENDENCIES): Add
	$(libgcj_tools_la_version_dep).
	(libgcj_tools_la_LINK): Add $(libgcj_tools_la_version_arg).
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Add
	$(lib_gnu_awt_xlib_la_version_dep).
	(lib_gnu_awt_xlib_la_LINK): Add
	$(lib_gnu_awt_xlib_la_version_arg).
	(libgcj_bc_la_DEPENDENCIES): Add $(libgcj_bc_la_version_dep).
	(libgcj_bc_la_LINK): $(libgcj_bc_la_version_arg).
	[ANONVERSCRIPT && ANONVERSCRIPT_SUN] (%.ver-sun): New pattern rule.
	* Makefile.in: Regenerate.

	* libgcj.ver: Reformat.

From-SVN: r161843
2010-07-05 17:22:52 +00:00
Rainer Orth 6d28b93370 acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
	targetting solaris2*.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
	Add libgomp_version_dep.
	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
	versioning.
	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
	* Makefile.in: Regenerate.

	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
	to common block, protected by
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.

From-SVN: r161842
2010-07-05 17:19:33 +00:00
Richard Guenther bdf0f819d5 tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
2010-07-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
	alias info.

From-SVN: r161841
2010-07-05 16:06:56 +00:00