Commit Graph

113327 Commits

Author SHA1 Message Date
Uros Bizjak
865d6730c2 avx-recip-vec.c: New test.
* gcc.target/i386/avx-recip-vec.c: New test.
	* gcc.target/i386/avx-lrintf-vec.c: Ditto.
	* gcc.target/i386/avx-lrint-vec.c: Ditto.
	* gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
	* gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
	* gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
	* gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
	* gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
	* gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
	* gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
	* gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
	* gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
	* gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
	* gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
	* gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.

From-SVN: r181364
2011-11-14 21:25:14 +01:00
Ed Smith-Rowland
d2027d2a83 re PR c++/51107 ([C++11] Accepts invalid literal operator with void argument list.)
PR c++/51107
	* typeck.c (check_literal_operator_args): Add processing_specialization
	to check for void template fn. Test for exact arity for non-template fn.

From-SVN: r181363
2011-11-14 15:05:12 -05:00
Uros Bizjak
eab880cf62 sse.md (round<mode>2_sfix): New expander.
* config/i386/sse.md (round<mode>2_sfix): New expander.
	(round<mode>2_vec_pack_sfix): Ditto.
	(<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
	(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
	* config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
	V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
	V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
	* config/i386/i386.c (ix86_builtins): Add
	IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
	IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
	(bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
	__builtin_ia32_roundpd_az_vec_pack_sfix{,256},
	__builtin_ia32_{floorps,ceilps}_sfix{,256}and
	__builtin_ia32_roundps_az_sfix{,256} descriptions.
	(ix86_expand_sse_round_vec_pack_sfix): New.
	(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
	V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
	V8SI_FTYPE_V4DF_V4DF_ROUND types.  Check last argument of
	CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
	CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
	(ix86_builtin_vectorized_function): Handle
	BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
	BUILT_IN_{I,L,LL}ROUND{,F}

testsuite/ChangeLog:

	* gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
	* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-round-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.

From-SVN: r181361
2011-11-14 20:36:33 +01:00
H.J. Lu
2841f85e9c Check ia32 instead of ilp32.
2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

From-SVN: r181360
2011-11-14 10:12:24 -08:00
Fabien Chêne
557831a91d re PR c++/6936 (member "using" binds wrong)
PR c++/6936
	PR c++/25994
	PR c++/26256
	PR c++/30195
	* search.c (lookup_field_1): Look through USING_DECL.
	(lookup_field_r): Call lookup_fnfields_slot instead of
	lookup_fnfields_1.
	* semantics.c (finish_member_declaration): Remove the check that
	prevents USING_DECLs from being verified by
	pushdecl_class_level. Call add_method for using declarations that
	designates functions if the using declaration is in a template
	class. Set DECL_IGNORED_P on class-scope using declarations.
	* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
	* class.c (check_field_decls): Keep using declarations.
	(add_method): Remove two diagnostics about conflicting using
	declarations.
	* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
	* decl.c (start_enum): Call xref_tag whenever possible.
	* cp-tree.h (strip_using_decl): Declare, and reident the previous
	function.
	* name-lookup.c (strip_using_decl): New function.
	(supplement_binding_1): Call strip_using_decl on decl and
	bval. Perform most of the checks with USING_DECLs stripped.  Also
	check that the target decl and the target bval does not refer to
	the same declaration. Allow pushing an enum multiple times in a
	template class. Adjustment to diagnose using redeclarations. Call
	diagnose_name_conflict.
	(push_class_level_binding): Call strip_using_decl on decl and
	bval. Perform most of the checks with USING_DECLs stripped. Return
	true if both decl and bval refer to USING_DECLs and are dependent.
	(diagnose_name_conflict): New function.

From-SVN: r181359
2011-11-14 12:55:57 -05:00
Jan Hubicka
ac99ebf5ae re PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)
PR middle-end/50598
	* cgraph.h (varpool_externally_visible_p): Declare.
	(varpool_add_new_variable): Declare.
	* tree-emultls.c (get_emutls_init_templ_addr,
	new_emutls_decl): Use varpool_add_new_variable.
	* ipa.c (varpool_externally_visible_p): Export.
	* varpool.c (varpool_add_new_variable): New function.

From-SVN: r181358
2011-11-14 17:32:47 +00:00
Zolotukhin Michael
38877e9851 sw-1.c: Force rep;movsb.
* gcc.target/i386/sw-1.c: Force rep;movsb.

        * config/i386/i386.h (processor_costs): Add second dimension to
        stringop_algs array.
        * config/i386/i386.c (cost models): Initialize second dimension of
        stringop_algs arrays.
	(core_cost): New costs based on generic64 costs with updated stringop
	values.
        (promote_duplicated_reg): Add support for vector modes, add
        declaration.
        (promote_duplicated_reg_to_size): Likewise.
	(processor_target): Set core costs for core variants.
        (expand_set_or_movmem_via_loop_with_iter): New function.
        (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
        different loops, produced by this function.
        (emit_strset): New function.
        (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
        use SSE-moves where possible.
        (expand_setmem_epilogue): Likewise.
        (expand_movmem_prologue): Likewise for prologue.
        (expand_setmem_prologue): Likewise.
        (expand_constant_movmem_prologue): Likewise.
        (expand_constant_setmem_prologue): Likewise.
        (decide_alg): Add new argument align_unknown.  Fix algorithm of
        strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
        (decide_alignment): Update desired alignment according to chosen move
        mode.
        (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
        (ix86_expand_setmem): Likewise.
        (ix86_slow_unaligned_access): Implementation of new hook
        slow_unaligned_access.
        * config/i386/i386.md (strset): Enable half-SSE moves.
        * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
        (vec_dupv2di): Add expand for vec_dupv2di.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r181357
2011-11-14 17:28:11 +00:00
Dimitrios Apostolou
f8acdd3c52 re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	PR middle-end/51116
	* config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
	* varasm.c (default_elf_internal_label): Remove.

From-SVN: r181355
2011-11-14 11:55:56 -05:00
Kai Tietz
fe860eb519 gcov.c (generate_results): Add missing semicolon and correct indent.
* gcov.c (generate_results): Add missing semicolon and
        correct indent.

From-SVN: r181353
2011-11-14 17:38:23 +01:00
Iain Sandoe
a163acfa5d re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)
gcc/testsuite:

	PR testsuite/51059
	* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
	dg-additional-options.

From-SVN: r181350
2011-11-14 11:53:33 +00:00
Paolo Carlini
77addcb730 cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer parameter.
2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
	not viable anyway due to the pointer parameter.

From-SVN: r181349
2011-11-14 11:29:26 +00:00
Tobias Burnus
107a9bc92c re PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns non-NULL)
2011-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51073
        * trans-decl.c (generate_coarray_sym_init): Handle zero-sized
        * arrays.

From-SVN: r181348
2011-11-14 09:15:09 +01:00
Ira Rosen
df11cc78c2 re PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)
PR bootstrap/51112
        * tree-vect-stmts.c (vectorizable_condition): Initialize
        comp_vectype.

From-SVN: r181347
2011-11-14 06:41:09 +00:00
Mingjie Xing
51c0279887 Fix a cross reference.
From-SVN: r181346
2011-11-14 05:53:18 +00:00
GCC Administrator
a56125be7a Daily bump.
From-SVN: r181345
2011-11-14 00:18:34 +00:00
Paolo Carlini
9fb2982817 cmath (atan2, [...]): Simplify constraining on the return type.
2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
	fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
	constraining on the return type.
	* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
	nextafter, remainder, remquo): Likewise.

From-SVN: r181341
2011-11-13 23:51:42 +00:00
Oleg Endo
f36348b34b re PR target/50694 (SH Target: SH2A little endian does not actually work)
PR target/50694
	* config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
	New macros.
	(DRIVER_SELF_SPECS): Use new macros to filter out
	unsupported options taking the default configuration into
	account.
	* gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
	specified.  Remove redundant runtime checks.
	* gcc.target/sh/20080410-1.c: Skip if -mb is specified.
	Allow for other than -m4.  Fix typos in comments.

From-SVN: r181340
2011-11-13 23:00:10 +00:00
John David Anglin
9dfd583288 config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
	tmake_file list.
	* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
	* config/pa/t-stublib64: Delete.

From-SVN: r181339
2011-11-13 20:17:01 +00:00
Jonathan Wakely
d559a95c8f install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.
* doc/install.texi (Specific): Fix anchor for
	x86_64-*-solaris2.1[0-9]*.

From-SVN: r181338
2011-11-13 16:39:22 +00:00
Nathan Sidwell
1bec9caacb gcov.c (source_prefix, [...]): New globals.
* gcov.c (source_prefix, source_length): New globals.
	(flag_relative_only): Likewise.
	(print_usage, options, process_args): Update.
	(generate_results): Use coverage.name, check
	flag_relative_only. Adjust messages.
	(find_source): Check source_prefix.
	(output_lines): Use coverage.name, adjust messages.
	* doc/gcov.texi (Invoking Gcov): Document new options.

From-SVN: r181335
2011-11-13 10:26:23 +00:00
Jason Merrill
2c6f792709 re PR c++/986 (g++ misses warning for reference on temporary that invokes undefined behaviour)
PR c++/986
	* call.c (set_up_extended_ref_temp): Warn about references
	bound to non-static reference members.
	* init.c (perform_member_init): Pass in the member.

From-SVN: r181334
2011-11-13 00:09:36 -05:00
Gerald Pfeifer
afe5cf2190 * using.xml: Use GNU/Linux.
From-SVN: r181333
2011-11-13 04:27:22 +00:00
Jason Merrill
d0ad58f94e re PR c++/51060 (Temporary object stack space is not re-used)
PR c++/51060
	* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
	(gimplify_modify_expr): Don't try to simplify it.
	* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

From-SVN: r181332
2011-11-12 19:44:39 -05:00
GCC Administrator
f2628dce24 Daily bump.
From-SVN: r181331
2011-11-13 00:18:44 +00:00
Dimitrios Apostolou
c9febe1567 re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	* config/elfos.h (STRING_ASM_OP): Define.
	* varasm.c (default_elf_asm_output_limited_string): Use it.

From-SVN: r181327
2011-11-12 16:40:07 -05:00
Dimitrios Apostolou
123cd4632d re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	* gcc/configure.ac: Check for stpcpy declaration.
	* system.h: Declare it if not.
	* config.in, configure: Regenerate.

From-SVN: r181326
2011-11-12 16:39:59 -05:00
Richard Henderson
f77dca5d23 ppc-linux: Fix call to _Unwind_SetGRPtr
* config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

From-SVN: r181325
2011-11-12 09:20:58 -08:00
Richard Henderson
17fd74dde3 rs6000: fix*_trunc insns use nonimmediate_operand
* config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324
2011-11-12 09:19:39 -08:00
Richard Henderson
f0409b19f5 builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap.
* builtins.c (expand_builtin_compare_and_swap): If target is const0,
        don't pass the target to expand_atomic_compare_and_swap.
        (expand_builtin_atomic_compare_exchange): Likewise.

From-SVN: r181323
2011-11-12 09:17:54 -08:00
Richard Henderson
dab37c689e sh-linux: Install __sync libfuncs.
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

From-SVN: r181322
2011-11-12 09:17:45 -08:00
Jonathan Wakely
306133e3d4 re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained)
PR libstdc++/51083
	* include/ext/type_traits.h (__promote): Only define __type member
	for integral and floating point types, to prevent math functions
	participating in overload resolution for other types.
	(__promote_2, __promote_3, __promote_4): Use __promote in default
	template argument values, so deduction only succeeds for integral and
	floating point types.
	* testsuite/26_numerics/cmath/51083.cc: New.
	* testsuite/26_numerics/complex/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

From-SVN: r181321
2011-11-12 15:57:03 +00:00
Richard Henderson
33a55f2919 hppa: Install __sync libfuncs for linux.
* config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

From-SVN: r181320
2011-11-12 07:39:44 -08:00
Iain Sandoe
5f41422fc7 Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.
ada:

	* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
	s-oscons.ads.
	(OSCONS_CPP, OSCONS_EXTRACT): New.
	(./bldtools/oscons/xoscons): New Target.
	($(RTSDIR)/s-oscons.ads): New Target.
	(gnatlib): Depend on  $(RTSDIR)/s-oscons.ads.
	* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
	* Make-generated.in: Remove machinery to generate xoscons and
	ada/s-oscons.ads.

libada:

	Makefile.in: Change dependency on oscons to depend on the generator
	tool.

From-SVN: r181319
2011-11-12 15:06:18 +00:00
Uros Bizjak
0eb5d9c427 gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets.
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
	alpha*-*-linux* targets.

From-SVN: r181318
2011-11-12 15:35:31 +01:00
Iain Sandoe
173a8c50f1 re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)
gcc/testsuite:

	PR testsuite/51059
	* gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
	Darwin targets and allow external symbols to be undefined.

From-SVN: r181317
2011-11-12 14:30:45 +00:00
Iain Sandoe
220c688a77 re PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)
gcc:

	PR target/45233
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
	Only expand a symbol ref. into an access when the entity is defined
	in the TU.

From-SVN: r181315
2011-11-12 14:12:26 +00:00
Iain Sandoe
76d29410c7 objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for Objective-C m32.
gcc/obj:

	* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
	for Objective-C m32.

From-SVN: r181312
2011-11-12 13:54:33 +00:00
Jan Hubicka
c481ae7f87 re PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc)
PR bootstrap/50822
	* cgraphunit.c (output_weakrefs): Output really only weakrefs.

From-SVN: r181311
2011-11-12 13:19:55 +00:00
Andrey Belevantsev
bcf83e0029 MAINTAINERS (Reviewers): Keep the list sorted.
* MAINTAINERS (Reviewers): Keep the list sorted.

From-SVN: r181310
2011-11-12 16:11:39 +04:00
Nathan Sidwell
eeabee0aac gcov.c (struct name_map): New.
* gcov.c (struct name_map): New.
	(names, n_names, a_names): New global vars.
	(print_usage): Adjust usage.
	(generate_results): Canonicalize main file name.
	(release_structures): Adjust.
	(name_search, name_sort): New callbacks.
	(find_source): Look for and create a canonical name.
	(canonicalize_name): New.
	(make_gcov_file_name): Reimplement and fix mangling.
	(mangle_name): New.
	* doc/gcov.texi: Update documentation about path preservation.

	testsuite/
	* gcc.misc-tests/gcov-15.c: New.

From-SVN: r181309
2011-11-12 11:35:42 +00:00
Eric Botcazou
926706f828 Fix recent entry
From-SVN: r181308
2011-11-12 08:57:49 +00:00
David S. Miller
49db0ca8f6 Fix Linux/sparc build after generic asm output optimizations.
* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
	* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.

From-SVN: r181307
2011-11-11 17:05:07 -08:00
GCC Administrator
daf6d24fd0 Daily bump.
From-SVN: r181306
2011-11-12 00:18:00 +00:00
Ian Lance Taylor
34277c5228 Introduce G structure and thread-local global g.
From-SVN: r181301
2011-11-11 21:02:48 +00:00
Jakub Jelinek
292b44341c i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper): New prototype.
* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
	New prototype.
	* config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
	function.
	(ix86_expand_epilogue): Use it.
	* config/i386/i386.md (return, simple_return): Call it in the
	expanders.

From-SVN: r181300
2011-11-11 20:58:10 +01:00
Jakub Jelinek
bad2545327 re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg)
PR tree-optimization/51091
	* tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
	rhs also in the va_list_simple_ptr case.

From-SVN: r181299
2011-11-11 20:57:23 +01:00
Jakub Jelinek
dd34c087ff re PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992)
PR tree-optimization/51058
	* tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
	(vect_schedule_slp): Call it.
	* tree-vect-stmts.c (vectorizable_call): If slp_node != NULL,
	don't replace scalar calls with setting of their lhs to zero here.

	* gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test.
	* gfortran.dg/vect/pr51058-2.f90: New test.

From-SVN: r181298
2011-11-11 20:56:13 +01:00
Jakub Jelinek
22d8712ac4 re PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_INTERLEAVE*EXPR, VEC_EXTRACT*EXPR)
PR tree-optimization/51074
	* fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions.
	(fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR,
	VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and
	VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands.
	(fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or
	CONSTRUCTOR operands.
	* tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary
	expressions.
	* tree-vect-generic.c (lower_vec_perm): Mask sel_int elements
	to 0 .. 2 * elements - 1.

From-SVN: r181297
2011-11-11 20:55:23 +01:00
Richard Henderson
0540978881 Implement omp atomic load and store.
* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed.
	(dump_gimple_omp_atomic_store): Likewise.
	* optabs.c (can_atomic_exchange_p): New.
	* optabs.h (can_atomic_exchange_p): Declare.
	* omp-low.c (expand_omp_atomic_load): Implement.
	(expand_omp_atomic_store): Likewise.
	(expand_omp_atomic): Update for new arguments to load/store.

From-SVN: r181296
2011-11-11 09:52:11 -08:00
Ed Smith-Rowland
f05eec4a0d re PR c++/50976 ([C++0x] literal operator with unsigned long long parameter not accepted)
PR c++/50976
	* typeck.c (check_literal_operator_args): Reorganize test for string
	operators so size_t search depends on finding string first.

From-SVN: r181292
2011-11-11 11:51:41 -05:00