97455 Commits

Author SHA1 Message Date
Andy Hutchinson
e86b4c032a * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add.
From-SVN: r154724
2009-11-28 12:39:45 +00:00
Jakub Jelinek
c4fae39e15 trans-common.c (create_common): Remove unused offset variable.
* trans-common.c (create_common): Remove unused offset variable.
	* io.c (gfc_match_wait): Remove unused loc variable.
	* trans-openmp.c (gfc_trans_omp_clauses): Remove unused old_clauses
	variable.
	(gfc_trans_omp_do): Remove unused outermost variable.
	* iresolve.c (gfc_resolve_alarm_sub, gfc_resolve_fseek_sub): Remove
	unused status variable.
	* module.c (number_use_names): Remove unused c variable.
	(load_derived_extensions): Remove unused nuse variable.
	* trans-expr.c (gfc_conv_substring): Remove unused var variable.
	* trans-types.c (gfc_get_array_descr_info): Remove unused offset_off
	variable.
	* matchexp.c (match_primary): Remove unused where variable.
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Remove unused cond2
	variable.
	(gfc_conv_intrinsic_sizeof): Remove unused source variable.
	(gfc_conv_intrinsic_transfer): Remove unused stride variable.
	(gfc_conv_intrinsic_function): Remove unused isym variable.
	* arith.c (gfc_hollerith2real, gfc_hollerith2complex,
	gfc_hollerith2logical): Remove unused len variable.
	* parse.c (parse_derived): Remove unused derived_sym variable.
	* decl.c (variable_decl): Remove unused old_locus variable.
	* resolve.c (check_class_members): Remove unused tbp_sym variable.
	(resolve_ordinary_assign): Remove unused assign_proc variable.
	(resolve_equivalence): Remove unused value_name variable.
	* data.c (get_array_index): Remove unused re variable.
	* trans-array.c (gfc_conv_array_transpose): Remove unused src_info
	variable.
	(gfc_conv_resolve_dependencies): Remove unused aref and temp_dim
	variables.
	(gfc_conv_loop_setup): Remove unused dim and len variables.
	(gfc_walk_variable_expr): Remove unused head variable.
	* match.c (match_typebound_call): Remove unused var variable.
	* intrinsic.c (gfc_convert_chartype): Remove unused from_ts variable.

From-SVN: r154722
2009-11-28 13:13:21 +01:00
Jakub Jelinek
76dcaf33d5 re PR objc++/42156 (Hundreds of objc++ testsuite regressions)
PR obj-c++/42156
	* objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
	type variants that don't have it initialized yet.

From-SVN: r154721
2009-11-28 13:12:32 +01:00
David Binderman
11895e28ee ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num.
2009-11-28  David Binderman  <dcb314@hotmail.com>

	* ira-color.c (put_allocno_into_bucket): Remove set but not used
	local variable hard_regs_num.
	* ira-lives.c (process_single_reg_class_operands): Remove cover_class.
	* loop-unswitch.c (unswitch_loop): Remove zero_bitmap.
	* lower-subreg.c (decompose_multiword_subregs): Remove next.

From-SVN: r154720
2009-11-28 09:49:56 +00:00
Kai Tietz
dcbb944675 20081210-1_0.c (uintptr_t): Use for w64 target type 'unsigned long long'.
2009-11-28  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.dg/lto/20081210-1_0.c (uintptr_t): Use for
        w64 target type 'unsigned long long'.

From-SVN: r154719
2009-11-28 09:10:30 +01:00
GCC Administrator
51b60ac8d2 Daily bump.
From-SVN: r154718
2009-11-28 00:16:45 +00:00
Martin Jambor
c4ea52007a re PR middle-end/42006 (Termination problem with -O2 and -O3)
2009-11-27  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/42006
	* tree-sra.c (get_replaced_param_substitute): Call create_tmp_var
	instead of create_tmp_var.  Set DECL_GIMPLE_REG_P to one manually
	for vector and complex types.
	(get_adjustment_for_base): Describe return value in the comment.

	* testsuite/gcc.c-torture/execute/pr42006.c: New test.

From-SVN: r154715
2009-11-27 23:34:40 +01:00
Nick Clifton
ba96438334 stormy16-lib2.c: Arrange for separate compilation of each function.
* config/stormy16/stormy16-lib2.c: Arrange for separate
        compilation of each function.
        (__ffshi2): New function.
        (__stormy16_count_leading_zeros): New function.
        * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to
        compile each function into its own object file.
        (stormy16-lib2-ashlsi3.c): New stub file.
        (stormy16-lib2-ashrsi3.c): New stub file.
        (stormy16-lib2-clzhi2.c): New stub file.
        (stormy16-lib2-count-leading-zeros.c): New stub file.
        (stormy16-lib2-ctzhi2.c): New stub file.
        (stormy16-lib2-divsi3.c): New stub file.
        (stormy16-lib2-ffshi2.c): New stub file.
        (stormy16-lib2-lshrsi3.c): New stub file.
        (stormy16-lib2-modsi3.c): New stub file.
        (stormy16-lib2-parityhi2.c): New stub file.
        (stormy16-lib2-popcounthi2.c): New stub file.
        (stormy16-lib2-udivmodsi4.c): New stub file.
        (stormy16-lib2-udivsi3.c): New stub file.
        (stormy16-lib2-umodsi3.c): New stub file.
        * longlong.h (count_leading_zeros): Define macro for stormy16
        target.
        (COUNT_LEADING_ZEROS_0): Likewise.

From-SVN: r154713
2009-11-27 18:56:10 +00:00
Paolo Carlini
c7f06e1309 re PR c++/38656 (Broken diagnostic: 'template_id_expr' not supported by pp_c_expression)
cp/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.

testsuite/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* g++.dg/cpp0x/error2.C: New.

From-SVN: r154712
2009-11-27 16:36:43 +00:00
Richard Henderson
b0d49a6e80 sse.md (vec_interleave_highv16qi, [...]): Remove expanders.
* config/i386/sse.md (vec_interleave_highv16qi,
	vec_interleave_lowv16qi, vec_interleave_highv8hi,
	vec_interleave_lowv8hi, vec_interleave_highv4si,
	vec_interleave_lowv4si, vec_interleave_highv2di,
	vec_interleave_lowv2di, vec_interleave_highv4sf,
	vec_interleave_lowv4sf, vec_interleave_highv2df,
	vec_interleave_lowv2df): Remove expanders.
	(sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp,
	sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw,
	sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq):
	Rename to their proper vec_interleave equivalent.  Update all users
	to the new name.
	* config/i386/i386.c, config/i386/i386.md: Update all users.

From-SVN: r154711
2009-11-27 07:58:50 -08:00
Michael Matz
315adedaf3 re PR rtl-optimization/42084 (Wrong result with -Os -fno-delete-null-pointer-checks)
PR rtl-optimization/42084
        * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter,
        use it to stop walking.
        (expand_gimple_cond): Adjust call to above.

testsuite/
        * gcc.dg/pr42084.c: New test.

From-SVN: r154709
2009-11-27 15:35:50 +00:00
Rainer Orth
67c330aec4 re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope)
PR target/41810
	* gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED.
	[SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
	__extension__ to allow cast from function pointer to object
	pointer in C++.
	* doc/install.texi (--enable-threads): Clarify use of Solaris
	threads.

From-SVN: r154708
2009-11-27 15:17:04 +00:00
Steven Bosscher
7400e46be6 Remove support for Itanium1 (Merced)
* config/ia64/itanium1.md: Remove.
	* config/ia64/ia64.md: Do not include it.
	* config/ia64/ia64.c (ia64_handle_option): Remove "itanium",
	"itanium1", and "merced" from the processor alias table.
	(clocks, add_cycles): Remove global variables.
	(ia64_sched_reorder2): Don't set/use them.
	(ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise.
	(bundling): Likewise. Remove extra pass for MMMUL/MMSHF.

From-SVN: r154707
2009-11-27 14:30:34 +00:00
Andreas Krebbel
3a892e4495 s390.c (last_scheduled_insn): New variable.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (last_scheduled_insn): New variable.
	(s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
	functions.
	(s390_sched_reorder, s390_sched_variable_issue): New functions.
	(TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks
	defined.

From-SVN: r154705
2009-11-27 13:12:25 +00:00
Michael Matz
d815d34e46 re PR c++/41906 (ICE with catch(...) and -fpermissive)
PR c++/41906
        * tree-eh.c (lower_catch): Stop after expanding a catch-all.

testsuite/
        * g++.dg/tree-ssa/pr41906.C: New testcase.

From-SVN: r154704
2009-11-27 13:08:58 +00:00
Richard Guenther
b56ae8c7c7 timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars.
2009-11-27  Richard Guenther  <rguenther@suse.de>

	* timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH,
	TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars.
	* loop-init.c (pass_rtl_move_loop_invariants): Use
	TV_LOOP_MOVE_INVARIANTS.
	(pass_rtl_unswitch): Use TV_LOOP_UNSWITCH.
	(pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL.
	(pass_rtl_doloop): Use TV_LOOP_DOLOOP.

From-SVN: r154703
2009-11-27 12:43:08 +00:00
Andreas Krebbel
9c517bf372 emit-rtl.c (next_active_insn, [...]): Correct comment.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* emit-rtl.c (next_active_insn, prev_active_insn): Correct
	comment.

From-SVN: r154702
2009-11-27 12:00:28 +00:00
Jakub Jelinek
f1ed99cda5 i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable.
* config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove
	unused insn variable.
	* genemit.c (output_peephole2_scratches): Only declare and initialize
	_regs_allocated if it will be ever used.
	* cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused
	succ_bb variable.
	(create_empty_loop_on_edge): Remove unused freq and cnt variables.
	* unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record
	variable.

From-SVN: r154701
2009-11-27 12:37:06 +01:00
Jakub Jelinek
e96fee3e91 opts.c (decode_options): If optimize is bigger than 255, set it to 255.
* opts.c (decode_options): If optimize is bigger than 255,
	set it to 255.

	* gcc.dg/O16384.c: New test.

From-SVN: r154699
2009-11-27 12:31:55 +01:00
Paolo Carlini
85539630e3 re PR c++/35112 (ICE and broken diagnostic with ambiguous class name)
/cp
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* pt.c (print_overloaded_functions): New.
	(print_candidates): Call the latter.
	* parser.c (cp_parser_class_name): Do not duplicate the diagnostics
	after the cp_parser_lookup_name call.

/testsuite
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* g++.dg/parse/crash53.C: New.
	* g++.dg/parse/error17.C: Adjust, error messages are not
	duplicated anymore.
	* g++.dg/template/dtor7.C: Remove xfail-ed dg-bogus directives.

From-SVN: r154698
2009-11-27 10:44:49 +00:00
GCC Administrator
58b9741ecb Daily bump.
From-SVN: r154697
2009-11-27 00:16:49 +00:00
Uros Bizjak
22b9d529e8 vperm-v4sf-1.c (dg-options): Use -msse2.
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse2.
	* gcc.target/i386/vperm-v4sf-2.c: Require effective target ssse3.
	* gcc.target/i386/vperm-v4si-2.c: Ditto.
	* gcc.target/i386/vperm-v4si-2x.c: Require effective target xop.

From-SVN: r154694
2009-11-27 00:24:10 +01:00
Richard Henderson
08f3084be2 sse.md (mulv16qi3): Change back from an expander to an insn-and-split.
* config/i386/sse.md (mulv16qi3): Change back from an expander
	to an insn-and-split.
	(mulv4si): Mention AVX not XOP for AVX exception.
	(*sse2_mulv4si3): Likewise.
	(mulv2di3): Use vmulld not vpmacsdd for XOP expansion.  Tidy.
testsuite/
        * gcc.target/i386/xop-imul64-vector.c: Look for vpmulld not vpmacsdd.

From-SVN: r154693
2009-11-26 15:09:56 -08:00
Jerry DeLisle
5e1a89f009 re PR fortran/41807 (data statement with nested type constructors)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41807
	* trans-const.c (gfc_conv_const): Set se->expr to a constant on error.

From-SVN: r154690
2009-11-26 21:52:52 +00:00
Bernd Schmidt
15b83b0f47 cfgexpand (n_stack_vars_conflict): New static variable.
* cfgexpand (n_stack_vars_conflict): New static variable.
	(triangular_index): Reduce likelyhood of overflow by performing
	the division before the multiplication.
	(resize_stack_vars_conflict): Call fatal_error if overflow
	occurred in triangular_index.  Update n_stack_vars_conflict.

From-SVN: r154689
2009-11-26 21:46:45 +00:00
Bernd Schmidt
a96caf8085 re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
	* regrename.c (struct du_head): New members id, conflicts,
	hard_conflicts and cannot_rename.
	(enum scan_actions): Remove terminate_all_read and
	terminate_overlapping_read; add mark_all_read.
	(scan_actions_name): Likewise.
	(du_head_p): New typedef.  Define a vector type for it.
	(id_to_chain): New static variable.
	(note_sets, clear_dead_regs): Delete functions.
	(free_chain_data): New function.
	(merge_overlapping_regs): Simply walk the conflicts bitmap.
	Remove argument B, all callers changed.
	(regrename_optimize): Allocate id_to_chain.  Ignore chains that have
	the cannot_rename bit set.  Update regno and nregs of a renamed chain.
	Call free_chain_data when done.
	(do_replace): Remove death notes when the renamed reg is set in the
	last insn; add them if not.
	(mark_conflict, note_sets_clobbers): New static function.
	(fail_current_block, current_id, open_chains_set, live_hard_regs): New
	static variables.
	(scan_rtx_reg): Keep track of conflicts between chains, and between
	chains and hard regs.  Don't terminate chains when we find a read we
	can't handle, mark it unrenameable instead.  For terminate_write,
	terminate chains that are written with an exact match or a superset
	of registers.  Set fail_current_block if multi-word lifetimes are too
	complex to handle.
	(scan_rtx_address): Use mark_all_read instead of terminate_all_read.
	(build_def_use): Initialize current_id, live_chains and live_hard_regs;
	free memory for them when done.
	Rearrange the steps so that earlyclobbers are noted before reads
	are processed.  Add new steps to keep track of hard register lifetimes
	outside insn operands.

From-SVN: r154688
2009-11-26 21:41:42 +00:00
Bernd Schmidt
6bda9bdf52 re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
	* regrename.c (struct du_chain): Remove member earlyclobber.
	(scan_rtx_reg): Don't set it.  Remove argument earlyclobber,
	all callers changed.
	(scan_rtx): Remove argument earlyclobber, all callers changed.
	(hide_operands, restore_operands, record_out_operands): New functions,
	broken out of build_def_use.
	(build_def_use): Call them as necessary.

From-SVN: r154687
2009-11-26 21:35:35 +00:00
Jason Merrill
c5c39ab37a PR c++/42026, DR 239
PR c++/42026, DR 239
	* parser.c (cp_parser_postfix_expression): A local extern also
	prevents arg-dependent lookup.

From-SVN: r154686
2009-11-26 15:58:47 -05:00
Jason Merrill
1e1779fe22 add missing testsuite/ChangeLog entry
From-SVN: r154685
2009-11-26 15:58:41 -05:00
Gabriel Dos Reis
612e541cfc * decl.c (grokdeclarator): Remove period at end of diagnosic message.
From-SVN: r154684
2009-11-26 20:00:43 +00:00
Jerry DeLisle
ba2335f224 re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	* gfortran.dg/array_function_5.f90: New test.

From-SVN: r154681
2009-11-26 19:10:29 +00:00
Jerry DeLisle
4252ed2bd7 re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.

From-SVN: r154680
2009-11-26 19:05:37 +00:00
Janus Weil
2d71b918d4 re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
2009-11-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	PR fortran/42167
	* gfortran.h (gfc_is_function_return_value): New prototype.
	* match.c (gfc_match_call): Use new function
	'gfc_is_function_return_value'.
	* primary.c (gfc_is_function_return_value): New function to check if a
	symbol is the return value of an encompassing function.
	(match_actual_arg,gfc_match_rvalue,match_variable): Use new function
	'gfc_is_function_return_value'.
	* resolve.c (resolve_common_blocks,resolve_actual_arglist): Ditto.

2009-11-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	PR fortran/42167
	* gfortran.dg/select_type_10.f03: New test case.
	* gfortran.dg/typebound_call_11.f03: Extended test case.

From-SVN: r154679
2009-11-26 20:01:02 +01:00
Eric Botcazou
90dcfecb47 utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific...
* gcc-interface/utils.c (copy_type): Unshare the language-specific data
	and the contents of the language-specific slot if needed.

From-SVN: r154678
2009-11-26 17:47:48 +00:00
Eric Botcazou
da49a7837a trans.c (gnat_to_gnu): Set the source location of the operator on both branches of the test in the...
* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
	of the operator on both branches of the test in the generic case.

From-SVN: r154677
2009-11-26 17:46:16 +00:00
Richard Guenther
a61f9cc067 tree-ssa-dce.c (nr_walks): New variable.
2009-11-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (nr_walks): New variable.
	(mark_aliased_reaching_defs_necessary): Adjust oracle cut-off.
	(perform_tree_ssa_dce): Init nr_walks.

From-SVN: r154676
2009-11-26 17:00:19 +00:00
Jason Merrill
6780e186fc re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id generating an overload set with only one function should silently decay to a pointer to function)
PR c++/10690
	* rtti.c (get_tinfo_decl_dynamic): Call resolve_nondeduced_context.

From-SVN: r154675
2009-11-26 10:59:52 -05:00
Michael Matz
87cd42599c tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru.
* tree-eh.c (lower_eh_constructs_2): Don't add assignments
        below statements that can't fall thru.

testsuite/
        * g++.dg/tree-ssa/pr41905.C: New testcase.

From-SVN: r154674
2009-11-26 15:54:07 +00:00
Michael Matz
6dc3bf569b builtins.c (expand_builtin_printf, [...]): Remove.
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
        expand_builtin_sprintf): Remove.
        (expand_builtin): Don't call them.

From-SVN: r154673
2009-11-26 13:49:35 +00:00
Richard Guenther
d9b99b4ceb tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
2009-11-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.

From-SVN: r154672
2009-11-26 13:09:02 +00:00
Nick Clifton
0d8f38d337 rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.
* config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
        being used incorrectly.
        (rx_function_ok_for_sibcall): New function.  Do not allow indirect
        sibcalls, or sibcalls from interrupt functions.
        (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
        * config/rx/rx.md (sibcall): Convert to a define_expand.  Check
        for a MEM inside a MEM.
        (sibcall_value): Likewise.
        (sibcall_internal): New pattern containing old sibcall pattern.
        (sibcall_value_internal): Likewise.

From-SVN: r154671
2009-11-26 10:44:28 +00:00
Ben Elliston
5d6b1baca0 posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead.
* posix-threads.cc (ParkHelper::unpark): Do not initialise result,
	but assign it instead. Eliminates an unused variable warning when
	the result == 0 assertion is disabled.

From-SVN: r154670
2009-11-26 21:06:35 +11:00
Richard Henderson
0fac515143 i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode.
* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an
	optional 3rd argument to define the mode.
	* config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New.
	(V2UDI, V4USI, V8UHI, V16UQI): New.
	(V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
	V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
	V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New.
	* config/i386/i386-modes.def: Rearrange for double-wide AVX.
	* config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New.
	* config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New.
	(bdesc_args): Add the builtin definitions to match.
	(ix86_expand_builtin): Expand them.
	(ix86_builtin_vectorization_cost): Rename from
	x86_builtin_vectorization_cost.
	(ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d,
	doublesize_vector_mode, expand_vselect, expand_vselect_vconcat,
	expand_vec_perm_blend, expand_vec_perm_vpermil,
	expand_vec_perm_pshufb, expand_vec_perm_1,
	expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
	expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
	expand_vec_perm_even_odd_1, expand_vec_perm_even_odd,
	ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst,
	ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok,
	ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM,
	TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
	* sse.md (SSEMODE_EO): New.
	(vec_extract_even<mode>): Use SSEMODE_EO and
	ix86_expand_vec_extract_even_odd.
	(vec_extract_odd<mode>): Likewise.
	(mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si,
	vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd.

testsuite/
	* gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too.

	* lib/target-supports.exp
	(check_effective_target_vect_extract_even_odd): Add x86.

	* gcc.target/i386/isa-check.h: New.
	* gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc,
	gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c,
	gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c,
	gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c,
	gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c,
	gcc.target/i386/vperm.pl: New files.

From-SVN: r154667
2009-11-25 18:39:42 -08:00
Richard Henderson
dac9d53aef pr36493.c: Call check_vect.
* gcc.dg/vect/pr36493.c: Call check_vect.
	* gcc.dg/vect/pr37539.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-3.c: Call check_vect earlier.
	* tree-vect.h (check_vect): Use cpuid for x86.

From-SVN: r154666
2009-11-25 18:03:50 -08:00
Richard Henderson
faf63e3963 target.h (targetm.vectorize.builtin_vec_perm_ok): New.
* target.h (targetm.vectorize.builtin_vec_perm_ok): New.
	* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
	* hooks.h, hooks.c (hook_bool_tree_tree_true): New.
	* tree-vect-slp.c (vect_create_mask_and_perm): Don't create
	the vector constant here...
	(vect_transform_slp_perm_load): ... do it here instead.  Validate
	that the permutation vector is implementable by the target.

From-SVN: r154665
2009-11-25 17:52:19 -08:00
GCC Administrator
dac29646db Daily bump.
From-SVN: r154664
2009-11-26 00:16:56 +00:00
Ben Elliston
59a8dc25b1 configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
* configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
	* configure: Regenerate.

From-SVN: r154660
2009-11-26 09:40:19 +11:00
Eric Botcazou
4f8a6678fb trans.c (unchecked_conversion_lhs_nop): Rename into...
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
	(unchecked_conversion_nop): ...this.  Handle actual parameters.
	(gnat_to_gnu): Adjust for above renaming.

From-SVN: r154659
2009-11-25 21:57:02 +00:00
Eric Botcazou
ca37373a97 decl.c (gnat_to_gnu_entity): Translate regular boolean types into BOOLEAN_TYPEs.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
	Translate regular boolean types into BOOLEAN_TYPEs.

From-SVN: r154658
2009-11-25 21:28:00 +00:00
Jakub Jelinek
281e33e1bb re PR fortran/42162 (OpenMP: ICE: tree check in omp_add_variable, at gimplify.c:5282)
PR fortran/42162
	* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
	don't use simple loop and handle clauses properly.

	* testsuite/libgomp.fortran/pr42162.f90: New test.

From-SVN: r154654
2009-11-25 21:28:56 +01:00