Commit Graph

123820 Commits

Author SHA1 Message Date
GCC Administrator 19fea4e5ce Daily bump.
From-SVN: r199878
2013-06-10 00:16:40 +00:00
Jonathan Wakely bd24ec2de0 mutex (call_once): Remove parentheses to fix error in c++1y and gnu++1y mode.
* include/std/mutex (call_once): Remove parentheses to fix error in
	c++1y and gnu++1y mode.
	* testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
	thread to avoid undefined behaviour.

From-SVN: r199875
2013-06-10 00:54:07 +01:00
Oleg Endo 0d00888247 re PR target/6526 ([SH4] sdivsi3_i4 can clobber xd0/xd2)
PR target/6526
	* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Do not change bits
	other than FPSCR.PR and FPSCR.SZ.  Add SH4A implementation.

	PR target/6526
	* gcc.target/sh/pr6526.c: New.

From-SVN: r199873
2013-06-09 21:32:37 +00:00
Jakub Jelinek 3e56ed50d7 re PR rtl-optimization/57568 (wrong code for assignment in conditional at -Os)
PR target/57568
	* config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
	that operands[2] doesn't overlap with operands[0].

	* gcc.c-torture/execute/pr57568.c: New test.

From-SVN: r199870
2013-06-09 20:30:01 +02:00
Paolo Carlini 5beb165753 re PR c++/37404 (ICE on va_arg and template deduction)
2013-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/37404
	* g++.dg/other/vararg-4.C: New.

From-SVN: r199869
2013-06-09 18:24:39 +00:00
David Edelsohn 74fe2a1dd8 rs6000.c (print_operand, 'z'): Remove historical hack to mark symbols as used.
2013-06-09  David Edelsohn  <dje.gcc@gmail.com>
            Jan Hubicka  <jh@suse.cz>

        * config/rs6000/rs6000.c (print_operand, 'z'): Remove historical
        hack to mark symbols as used.

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

From-SVN: r199865
2013-06-08 20:47:13 -04:00
GCC Administrator ef740c573b Daily bump.
From-SVN: r199864
2013-06-09 00:16:49 +00:00
Ed Smith-Rowland 88c4d6b798 Simplify and clean up library literals.
2013-06-07  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Simplify and clean up library literals.
	* include/std/chrono: Simplify namespace and versioning management.
	* include/bits/basic_string.h: Ditto.
	* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
	* testsuite/20_util/duration/literals/values.cc: Ditto.
	* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
	* testsuite/21_strings/basic_string/literals/values.cc: Ditto.

From-SVN: r199861
2013-06-08 22:43:18 +00:00
Ed Smith-Rowland 83ac9249c8 Implement N3654 - Quoted Strings Library Proposal
2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Implement N3654 - Quoted Strings Library Proposal
	* include/std/iomanip: Add quoted(String, Char delim, Char escape)
	manipulators and supporting machinery in c++1y mode.
	* testsuite/27_io/manipulators/standard/char/quoted.cc: New.
	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.

From-SVN: r199860
2013-06-08 22:37:50 +00:00
Vladimir Makarov ed52a84e3f re PR rtl-optimization/57559 (S/390: ICE with lra)
2013-06-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57559
	* lra-constraints.c (process_alt_operands): Don't discourage
	memory with known offset for offsetable memory constraint.
	* lra.c (lra_emit_add): Exchange y and z for 2-op add insn.

2013-06-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57559
	* gcc.target/s390/pr57559.c : New test.

From-SVN: r199859
2013-06-08 18:37:40 +00:00
Jonathan Wakely 7b91690215 alloc_traits.h (allocator_traits::max_size()): LWG 2162: Add noexcept.
* include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
	2162: Add noexcept.

From-SVN: r199858
2013-06-08 18:31:40 +01:00
Walter Lee 776434d183 atomic.h: Don't include stdint.h or features.h.
* config/tilepro/atomic.h: Don't include stdint.h or features.h.
	Replace int64_t with long long.  Add __extension__ where
	appropriate.
	* config/tilepro/atomic.c: Include config.h.

From-SVN: r199855
2013-06-08 16:26:32 +00:00
Jonathan Wakely f7fbb0036a stl_algo.h (is_permutation): Add overloads from N3671.
* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
	* include/bits/stl_algobase.h (equal, mismatch): Likewise.
	* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
	* testsuite/25_algorithms/equal/2.cc: New.
	* testsuite/25_algorithms/equal/check_type2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
	* testsuite/25_algorithms/mismatch/2.cc: New.
	* testsuite/25_algorithms/mismatch/check_type2.cc: New.
	* testsuite/util/testsuite_iterators.h: Fix spelling.

From-SVN: r199854
2013-06-08 17:12:13 +01:00
Jonathan Wakely db113eda6d type-traits (integral_constant::operator()): Implement N3545.
* include/std/type-traits (integral_constant::operator()): Implement
	N3545.
	* testsuite/20_util/integral_constant/call_operator.cc: New.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r199853
2013-06-08 17:12:07 +01:00
Eric Botcazou 299316ed37 varasm.c (struct oc_local_state): Reorder fields.
* varasm.c (struct oc_local_state): Reorder fields.
	(output_constructor_bitfield): Replace OUTER parameter with BIT_OFFSET
	and adjust accordingly.
	(output_constructor): Reorder initialization code and adjust call to
	output_constructor_bitfield.

From-SVN: r199852
2013-06-08 15:24:15 +00:00
Tobias Burnus ed3f1ef2ba re PR fortran/37336 ([F03] Finish derived-type finalization)
2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * trans-decl.c (init_intent_out_dt): Call finalizer
        when approriate.

2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * gfortran.dg/finalize_10.f90: New.
        * gfortran.dg/auto_dealloc_2.f90: Update tree-dump.
        * gfortran.dg/finalize_15.f90: New.

From-SVN: r199851
2013-06-08 14:26:40 +02:00
Tobias Burnus cc6be82ef7 re PR fortran/57553 ([F08] Valid use of STORAGE_SIZE rejected, bad error message for invalid use)
2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57553
        * simplify.c (gfc_simplify_storage_size): Handle literal
        strings.
        * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
        Add missing fold_convert.

2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57553
        * gfortran.dg/storage_size_4.f90: New.

From-SVN: r199850
2013-06-08 14:21:58 +02:00
Sriraman Tallam 7f678e7ebc re PR c++/57548 (calling gnu multiversioned function at file scope causes ICE)
Fixes PR 57548.

2013-06-07  Sriraman Tallam  <tmsriram@google.com>

	PR c++/57548
	* cp/call.c (build_over_call):  Check if current_function_decl is
	NULL.
	* testsuite/g++.dg/ext/pr57548.C: New test.

From-SVN: r199842
2013-06-08 00:38:09 +00:00
GCC Administrator dac71dd7b5 Daily bump.
From-SVN: r199841
2013-06-08 00:16:37 +00:00
Balaji V. Iyer 1509bddad2 re PR middle-end/57541 ([Cilkplus]: internal compiler error: in gimplify_expr, at gimplify.c:7809)
Fixed PR 57541.
gcc/c/ChangeLog
2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
        * c-array-notation.c (expand_array_notation_exprs): Added
        ARRAY_NOTATION_REF case.

gcc/testsuite/ChangeLog
2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        PR middle-end/57541
        * c-c++-common/cilk-plus/AN/pr57541.c: New test case.

From-SVN: r199837
2013-06-07 15:16:24 -07:00
Jan Hubicka 88ac60d35f * symtab.c (symtab_resolve_alias): Do not remove alias attribute.
From-SVN: r199835
2013-06-07 19:57:55 +00:00
David Malcolm 4cdce1a870 tree-object-size.c (unknown): Make const.
* tree-object-size.c (unknown): Make const.

From-SVN: r199832
2013-06-07 19:14:06 +00:00
Balaji V. Iyer d60f170618 Moved array notation helper functions from c/ to c-family/ files.
2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-array-notation.c (length_mismatch_in_expr_p): Moved this
        function to c-family/array-notation-common.c.
        (is_cilkplus_reduce_builtin): Likewise.
        (find_rank): Likewise.
        (extract_array_notation_exprs): Likewise.
        (replace_array_notations): Likewise.
        (find_inv_trees): Likewise.
        (replace_inv_trees): Likewise.
        (contains_array_notation_expr): Likewise.
        (find_correct_array_notation_type): Likewise.
        (replace_invariant_exprs): Initialized additional_tcodes to NULL.
        (struct inv_list): Moved this to c-family/array-notation-common.c.
        * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.

2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * array-notation-common.c (length_mismatch_in_expr_p): Moved this
        function from c/c-array-notation.c.
        (is_cilkplus_reduce_builtin): Likewise.
        (find_rank): Likewise.
        (extract_array_notation_exprs): Likewise.
        (replace_array_notations): Likewise.
        (find_inv_trees): Likewise.
        (replace_inv_trees): Likewise.
        (contains_array_notation_expr): Likewise.
        (find_correct_array_notation_type): Likewise.
        * c-common.h (struct inv_list): Moved this struct from the file
        c/c-array-notation.c and added a new field called additional tcodes.
        (length_mismatch_in_expr_p): New prototype.
        (is_cilkplus_reduce_builtin): Likewise.
        (find_rank): Likewise.
        (extract_array_notation_exprs): Likewise.
        (replace_array_notation): Likewise.
        (find_inv_trees): Likewise.
        (replace_inv_trees): Likewise.

From-SVN: r199825
2013-06-07 10:41:52 -07:00
Jan Hubicka cf28fab6bc * gcc.dg/tree-ssa/attr-alias.c: Remove brackets in template.
From-SVN: r199821
2013-06-07 17:07:54 +00:00
Tobias Burnus 894460a754 re PR fortran/57549 (Bogus error with array constructor with derived-type typespec)
2013-06-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57549
        * array.c (gfc_match_array_constructor): Call
        gfc_match_type_spec instead of gfc_match_decl_type_spec.
        * match.c (gfc_match_type_spec): Renamed from match_type_spec.
        (gfc_match_type_is, gfc_match_allocate): Update call.
        * match.h (gfc_match_type_spec): Add prototype.

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

        PR fortran/57549
        * gfortran.dg/array_constructor_48.f90: New.
        * gfortran.dg/array_constructor_type_14.f03: Correct test case.
        * gfortran.dg/array_constructor_type_15.f03: Ditto.

From-SVN: r199820
2013-06-07 17:05:47 +02:00
Andreas Krebbel b5e0425c7c s390.md (cpu_facility): Add cpu_zarch.
2013-06-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md (cpu_facility): Add cpu_zarch.
	("*movmem_short", "*clrmem_short", "*cmpmem_short): Use cpu_zarch
	for last alternative in the cpu_facility attribute.

From-SVN: r199819
2013-06-07 14:50:56 +00:00
Kyrylo Tkachov 79678d044b re PR target/56315 (ARM: Improve use of 64-bit constants in logical operations)
gcc/
2013-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/56315
	* config/arm/arm.md (*xordi3_insn): Change to insn_and_split.
	(xordi3): Change operand 2 constraint to arm_xordi_operand.
	* config/arm/arm.c (const_ok_for_dimode_op): Handle XOR.
	* config/arm/constraints.md (Dg): New constraint.
	* config/arm/neon.md (xordi3_neon): Remove.
	(neon_veor<mode>): Generate xordi3 instead of xordi3_neon.
	* config/arm/predicates.md (arm_xordi_operand): New predicate.

gcc/testsuite
2013-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/56315
	* gcc.target/arm/xordi3-opt.c: New test.

From-SVN: r199814
2013-06-07 13:35:54 +00:00
Tobias Burnus 45db6b0d14 re PR fortran/57556 ([OOP] ICE with move_alloc on polymorphic component with -fcheck=all)
2013-06-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57556
        * trans.c (gfc_build_final_call): Init block before use.

From-SVN: r199812
2013-06-07 15:20:29 +02:00
Kyrylo Tkachov b31ddbdb6c arm.md (anddi3_insn): Remove duplicate alternatives.
2013-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (anddi3_insn): Remove duplicate alternatives.
	Clean up alternatives.

From-SVN: r199810
2013-06-07 12:51:45 +00:00
Rainer Orth ba88423cb2 gcc.dg/debug/dwarf2/discriminator.c fixes
* gcc.dg/debug/dwarf2/discriminator.c: Fix wording.
	Revert to dg-options.

From-SVN: r199809
2013-06-07 12:36:19 +00:00
Alan Modra 8f90b7d4fc rs6000.c (setup_incoming_varargs): Round up va_list_gpr_size.
* config/rs6000/rs6000.c (setup_incoming_varargs): Round up
	va_list_gpr_size.

From-SVN: r199808
2013-06-07 21:53:46 +09:30
Alan Modra 961ce1191f varasm.c (force_const_mem): Assert mode is not VOID or BLK.
* varasm.c (force_const_mem): Assert mode is not VOID or BLK.

From-SVN: r199804
2013-06-07 20:45:45 +09:30
Uros Bizjak cb8ac9d0b6 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r199796
2013-06-07 11:50:55 +02:00
Sebastian Huber d411104c3b re PR target/55033 (PowerPC section type conflict error)
gcc/testsuite
2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        PR target/55033
        * gcc.target/powerpc/pr55033.c: New.

From-SVN: r199795
2013-06-07 09:41:20 +00:00
Paolo Carlini 657fb0c690 re PR c++/53658 (internal compiler error -- segmentation fault)
/cp
2013-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53658
	* pt.c (lookup_template_class_1): Consistently use TYPE_MAIN_DECL,
	not TYPE_STUB_DECL, to access the _DECL for a _TYPE.

/testsuite
2013-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53658
	* g++.dg/cpp0x/alias-decl-36.C: New.

From-SVN: r199793
2013-06-07 08:34:09 +00:00
Kyrylo Tkachov 33e498354f constraints.md (Df): New constraint.
2013-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/constraints.md (Df): New constraint.
	* config/arm/arm.md (iordi3_insn): Use Df constraint instead of De.
	Correct length attribute for last two alternatives.

From-SVN: r199792
2013-06-07 08:29:30 +00:00
Uros Bizjak 56aefbf705 * ChangeLog: Fix whitespace.¸
From-SVN: r199789
2013-06-07 08:41:20 +02:00
Alan Modra acd17ae6c8 rs6000.c (rs6000_option_override_internal): Don't override user -mfp-in-toc.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
	override user -mfp-in-toc.
	(offsettable_ok_by_alignment): Consider just the current access
	rather than the whole object, unless BLKmode.  Handle
	CONSTANT_POOL_ADDRESS_P constants that lack a decl too.
	(use_toc_relative_ref): Allow CONSTANT_POOL_ADDRESS_P constants
	for -mcmodel=medium.
	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't
	override user -mfp-in-toc or -msum-in-toc.  Default to
	-mno-fp-in-toc for -mcmodel=medium.

From-SVN: r199781
2013-06-07 14:26:46 +09:30
Jason Merrill a9429737bd re PR c++/55520 ([C++11] ICE when capturing a variable-length stack array in lambda; in expand_expr_real_1, at expr.c:9122)
PR c++/55520
	* semantics.c (add_capture): Diagnose capture of variable-size
	type that is not a C++1y array of runtime bound.

From-SVN: r199780
2013-06-06 23:13:06 -04:00
Jason Merrill e765a228a5 decl.c (grokdeclarator): Keep a decl with error type.
* decl.c (grokdeclarator): Keep a decl with error type.
	(grokfield, grokbitfield): Likewise.
	* pt.c (instantiate_class_template_1): Likewise.
	(tsubst_decl): Drop redundant error.
	* class.c (walk_subobject_offsets): Handle erroneous fields.
	* typeck2.c (process_init_constructor_record): Likewise.

From-SVN: r199779
2013-06-06 22:49:34 -04:00
DJ Delorie 73310b0e70 rl78.c (rl78_valid_pointer_mode): New, implements TARGET_VALID_POINTER_MODE.
* config/rl78/rl78.c (rl78_valid_pointer_mode): New, implements
TARGET_VALID_POINTER_MODE.

From-SVN: r199777
2013-06-06 20:42:20 -04:00
GCC Administrator 0acd400e5b Daily bump.
From-SVN: r199776
2013-06-07 00:16:43 +00:00
Michael Meissner a9afa21655 p8vector-builtin-1.c: New test to test power8 builtin functions.
2013-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* gcc.target/powerpc/p8vector-builtin-1.c: New test to test
	power8 builtin functions.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-vectorize-1.c: New
	tests to test power8 auto-vectorization.
	* gcc/testsuite/gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.


Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r199768
2013-06-06 21:47:04 +00:00
Michael Meissner 0bd62dcaa3 extend.texi (PowerPC AltiVec/VSX Built-in Functions): Document new power8 builtins.
[gcc]
2013-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
	Document new power8 builtins.

	* config/rs6000/vector.md (and<mode>3): Add a clobber/scratch of a
	condition code register, to allow 128-bit logical operations to be
	done in the VSX or GPR registers.
	(nor<mode>3): Use the canonical form for nor.
	(eqv<mode>3): Add expanders for power8 xxleqv, xxlnand, xxlorc,
	vclz*, and vpopcnt* vector instructions.
	(nand<mode>3): Likewise.
	(orc<mode>3): Likewise.
	(clz<mode>2): LIkewise.
	(popcount<mode>2): Likewise.

	* config/rs6000/predicates.md (int_reg_operand): Rework tests so
	that only the GPRs are recognized.

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	support for new power8 builtins.

	* config/rs6000/rs6000-builtin.def (xscvspdpn): Add new power8
	builtin functions.
	(xscvdpspn): Likewise.
	(vclz): Likewise.
	(vclzb): Likewise.
	(vclzh): Likewise.
	(vclzw): Likewise.
	(vclzd): Likewise.
	(vpopcnt): Likewise.
	(vpopcntb): Likewise.
	(vpopcnth): Likewise.
	(vpopcntw): Likewise.
	(vpopcntd): Likewise.
	(vgbbd): Likewise.
	(vmrgew): Likewise.
	(vmrgow): Likewise.
	(eqv): Likewise.
	(eqv_v16qi3): Likewise.
	(eqv_v8hi3): Likewise.
	(eqv_v4si3): Likewise.
	(eqv_v2di3): Likewise.
	(eqv_v4sf3): Likewise.
	(eqv_v2df3): Likewise.
	(nand): Likewise.
	(nand_v16qi3): Likewise.
	(nand_v8hi3): Likewise.
	(nand_v4si3): Likewise.
	(nand_v2di3): Likewise.
	(nand_v4sf3): Likewise.
	(nand_v2df3): Likewise.
	(orc): Likewise.
	(orc_v16qi3): Likewise.
	(orc_v8hi3): Likewise.
	(orc_v4si3): Likewise.
	(orc_v2di3): Likewise.
	(orc_v4sf3): Likewise.
	(orc_v2df3): Likewise.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Only
	allow power8 quad mode in 64-bit.
	(rs6000_builtin_vectorized_function): Add support to vectorize
	ISA 2.07 count leading zeros, population count builtins.
	(rs6000_expand_vector_init): On ISA 2.07 use xscvdpspn to form
	V4SF vectors instead of xscvdpsp to avoid IEEE related traps.
	(builtin_function_type): Add vgbbd builtin function which takes an
	unsigned argument.
	(altivec_expand_vec_perm_const): Add support for new power8 merge
	instructions.

	* config/rs6000/vsx.md (VSX_L2): New iterator for 128-bit types,
	that does not include TImdoe for use with 32-bit.
	(UNSPEC_VSX_CVSPDPN): Support for power8 xscvdpspn and xscvspdpn
	instructions.
	(UNSPEC_VSX_CVDPSPN): Likewise.
	(vsx_xscvdpspn): Likewise.
	(vsx_xscvspdpn): Likewise.
	(vsx_xscvdpspn_scalar): Likewise.
	(vsx_xscvspdpn_directmove): Likewise.
	(vsx_and<mode>3): Split logical operations into 32-bit and
	64-bit. Add support to do logical operations on TImode as well as
	VSX vector types.  Allow logical operations to be done in either
	VSX registers or in general purpose registers in 64-bit mode.  Add
	splitters if GPRs were used. For AND, add clobber of CCmode to
	allow use of ANDI on GPRs.  Rewrite nor to use the canonical RTL
	encoding.
	(vsx_and<mode>3_32bit): Likewise.
	(vsx_and<mode>3_64bit): Likewise.
	(vsx_ior<mode>3): Likewise.
	(vsx_ior<mode>3_32bit): Likewise.
	(vsx_ior<mode>3_64bit): Likewise.
	(vsx_xor<mode>3): Likewise.
	(vsx_xor<mode>3_32bit): Likewise.
	(vsx_xor<mode>3_64bit): Likewise.
	(vsx_one_cmpl<mode>2): Likewise.
	(vsx_one_cmpl<mode>2_32bit): Likewise.
	(vsx_one_cmpl<mode>2_64bit): Likewise.
	(vsx_nor<mode>3): Likewise.
	(vsx_nor<mode>3_32bit): Likewise.
	(vsx_nor<mode>3_64bit): Likewise.
	(vsx_andc<mode>3): Likewise.
	(vsx_andc<mode>3_32bit): Likewise.
	(vsx_andc<mode>3_64bit): Likewise.
	(vsx_eqv<mode>3_32bit): Add support for power8 xxleqv, xxlnand,
	and xxlorc instructions.
	(vsx_eqv<mode>3_64bit): Likewise.
	(vsx_nand<mode>3_32bit): Likewise.
	(vsx_nand<mode>3_64bit): Likewise.
	(vsx_orc<mode>3_32bit): Likewise.
	(vsx_orc<mode>3_64bit): Likewise.

	* config/rs6000/rs6000.h (VLOGICAL_REGNO_P): Update comment.

	* config/rs6000/altivec.md (UNSPEC_VGBBD): Add power8 vgbbd
	instruction.
	(p8_vmrgew): Add power8 vmrgew and vmrgow instructions.
	(p8_vmrgow): Likewise.
	(altivec_and<mode>3): Add clobber of CCmode to allow AND using
	GPRs to be split under VSX.
	(p8v_clz<mode>2): Add power8 count leading zero support.
	(p8v_popcount<mode>2): Add power8 population count support.
	(p8v_vgbbd): Add power8 gather bits by bytes by doubleword
	support.

	* config/rs6000/rs6000.md (eqv<mode>3): Add support for powerp eqv
	instruction.

	* config/rs6000/altivec.h (vec_eqv): Add defines to export power8
	builtin functions.
	(vec_nand): Likewise.
	(vec_vclz): Likewise.
	(vec_vclzb): Likewise.
	(vec_vclzd): Likewise.
	(vec_vclzh): Likewise.
	(vec_vclzw): Likewise.
	(vec_vgbbd): Likewise.
	(vec_vmrgew): Likewise.
	(vec_vmrgow): Likewise.
	(vec_vpopcnt): Likewise.
	(vec_vpopcntb): Likewise.
	(vec_vpopcntd): Likewise.
	(vec_vpopcnth): Likewise.
	(vec_vpopcntw): Likewise.

[gcc/testsuite]
2013-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* gcc.target/powerpc/crypto-builtin-1.c: Use effective target
	powerpc_p8vector_ok instead of powerpc_vsx_ok.

	* gcc.target/powerpc/bool.c: New file, add eqv, nand, nor tests.

	* lib/target-supports.exp (check_p8vector_hw_available) Add power8
	support.
	(check_effective_target_powerpc_p8vector_ok): Likewise.
	(is-effective-target): Likewise.
	(check_vect_support_and_set_flags): Likewise.



Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r199767
2013-06-06 21:38:25 +00:00
Brooks Moses 76ba1222c5 validate_failures.py: Fix handling of summary lines with "|" characters or empty description fields.
* testsuite-management/validate_failures.py: Fix handling of
summary lines with "|" characters or empty description fields.

From-SVN: r199765
2013-06-06 14:17:36 -07:00
Vladimir Makarov 37684c4633 re PR rtl-optimization/57468 (26% performance drop on important benchmark after r199298.)
2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57468
	* config/i386/i386.c (inline_secondary_memory_needed): Ignore
	spilled pseudos.

From-SVN: r199764
2013-06-06 21:12:06 +00:00
Paolo Carlini a322ed0ced re PR c++/43652 (wrong column number for duplicate qualifier)
2013-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/43652
	* g++.dg/parse/error53.C: New.

From-SVN: r199763
2013-06-06 21:11:46 +00:00
Vladimir Makarov d89ae27c44 re PR rtl-optimization/57459 (LRA inheritance bug)
2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57459
	* lra-constraints.c (update_ebb_live_info): Fix typo for operand
	type when setting live regs.

2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57459
	* gcc.target/i386/pr57459.c: New test.

From-SVN: r199762
2013-06-06 20:58:46 +00:00
Vladimir Makarov 3597e1135e s390.opt (mlra): New option.
2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>

	* config/s390/s390.opt (mlra): New option.
	* config/s390/s390.c (s390_decompose_address): Check displacement
	for all registers for LRA.
	(s390_secondary_reload): Don't used secondary reloads for LRA.
	(s390_lra_p): New function.
	(TARGET_LRA_P): Define.
	* config/s390/s390.md (*movmem_short, *clrmem_short): Change value
	of attribute cpu_facility to zarch for the last alternative.
	(*cmpmem_short): Ditto.

From-SVN: r199754
2013-06-06 20:05:16 +00:00
Eric Botcazou 01037aeb47 arm.c (arm_r3_live_at_start_p): New predicate.
* config/arm/arm.c (arm_r3_live_at_start_p): New predicate.
	(arm_compute_static_chain_stack_bytes): Use it.  Tidy up.
	(arm_expand_prologue): Likewise.

From-SVN: r199752
2013-06-06 18:30:02 +00:00