Commit Graph

124127 Commits

Author SHA1 Message Date
Sriraman Tallam
786fb9b6c4 Allow functions for AVX target inline functions for lower target.
Allow functions for AVX target inline functions for lower target.  This bug was
reported here: http://gcc.gnu.org/ml/gcc-patches/2013-06/msg01620.html

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

	* config/i386/i386.c (gate_insert_vzeroupper): Check if target
	ISA is AVX.
	(ix86_option_override_internal):Turn on all -mavx target flags by
	default as they are dependent on AVX anyway.

	* gcc.target/i386/avx-inline.c: New test.

From-SVN: r200627
2013-07-03 00:03:06 +00:00
Cary Coutant
4b04355371 dwarf2out.c (loc_checksum): Call hash_loc_operands for a deterministic hash.
gcc/
	* dwarf2out.c (loc_checksum): Call hash_loc_operands for a
	deterministic hash.
	(loc_checksum_ordered): Likewise.
	(hash_loc_operands): Remove inline keyword.

From-SVN: r200626
2013-07-02 15:18:39 -07:00
Maciej W. Rozycki
45165729bb call-1.c: Accept JALRS and JALR.
2013-07-02  Maciej W. Rozycki  <macro@codesourcery.com>

        * gcc.target/mips/call-1.c: Accept JALRS and JALR.
        * gcc.target/mips/call-2.c: Likewise.
        * gcc.target/mips/call-3.c: Likewise.
        * gcc.target/mips/lazy-binding-1.c: Likewise.

From-SVN: r200621
2013-07-02 15:13:26 -04:00
Joseph Myers
29d7014cc2 * ru.po: Update.
From-SVN: r200604
2013-07-02 14:11:06 +01:00
Kirill Yukhin
cf9eb1c0ce Added missed file from previous fixincludes commit.
fixincludes/tests/base/linux/compiler.h: New.

From-SVN: r200603
2013-07-02 12:52:34 +00:00
Jakub Jelinek
c4e87a1393 re PR tree-optimization/57741 (ICE in tree.c:build_int_cst_wide starting in revision 200394)
PR tree-optimization/57741
	* tree-vect-loop.c (vect_is_simple_iv_evolution): Disallow
	non-INTEGRAL_TYPE_P non-SCALAR_FLOAT_TYPE_P SSA_NAME step_exprs,
	or SCALAR_FLOAT_TYPE_P SSA_NAMEs if !flag_associative_math.
	Allow REAL_CST step_exprs if flag_associative_math.
	(get_initial_def_for_induction): Handle SCALAR_FLOAT_TYPE_P step_expr.

	* gcc.dg/vect/pr57741-1.c: New test.
	* gcc.dg/vect/pr57741-2.c: New test.
	* gcc.dg/vect/pr57741-3.c: New test.

From-SVN: r200600
2013-07-02 13:54:09 +02:00
Ian Bolton
f8411fcce9 AArch64 - Update insv tests for big endian
From-SVN: r200597
2013-07-02 11:02:17 +00:00
Ian Bolton
26366d2816 AArch64 Support abs standard pattern for DI mode
From-SVN: r200596
2013-07-02 10:59:59 +00:00
Ian Bolton
2879bb2b18 AArch64 Support BFXIL in backend
From-SVN: r200595
2013-07-02 10:57:30 +00:00
Kyrylo Tkachov
afc5e8a6a7 arm.md (arm_andsi3_insn): Add alternatives for 16-bit encoding.
2013-07-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (arm_andsi3_insn): Add alternatives for 16-bit
	encoding.
	(iorsi3_insn): Likewise.
	(arm_xorsi3): Likewise.

From-SVN: r200593
2013-07-02 10:21:36 +00:00
GCC Administrator
4bc21884b4 Daily bump.
From-SVN: r200588
2013-07-02 00:16:45 +00:00
Balaji V. Iyer
f6bc3427ac +2013-07-01 Balaji V.
+2013-07-01  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+	
+	PR c/57766
+       * c-c++-common/cilk-plus/AN/sec_implicit_ex.c (NUMBER): Changed
+       array sizes from 100 to 20.
+

From-SVN: r200581
2013-07-01 09:26:42 -07:00
Paolo Carlini
019fdb7923 stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take const_iterator(s).
2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (list<>::insert(iterator,
	size_type, const value_type&), list<>::insert(iterator,
	initializer_list<>), list<>::insert(iterator, _InputIterator,
	_InputIterator), list<>::splice(iterator, list&&),
	list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
	iterator), list<>::splice(iterator, list&, iterator),
	list<>::splice(iterator, list&&, iterator, iterator),
	list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
	signatures to take const_iterator(s).
	* include/bits/list.tcc (list<>::insert(const_iterator, size_type,
	const value_type&), list<>::insert(const_iterator, _InputIterator,
	_InputIterator)): Define.
	* include/ext/vstring.h (__versa_string<>::insert(iterator,
	size_type, _CharT), __versa_string<>::insert(iterator,
	_InputIterator, _InputIterator), __versa_string<>::insert(iterator,
	std::initializer_list<>), __versa_string<>::replace(iterator,
	iterator, _InputIterator, _InputIterator), __versa_string<>::
	replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
	signatures to take const_iterator(s).
	(__versa_string<>::_M_replace_dispatch): Take const_iterators.
	* include/ext/vstring.tcc: Likewise.
	* include/debug/list: Adjust.
	* include/profile/list: Likewise.
	* testsuite/23_containers/list/operations/splice/const_iterator.cc:
	New.
	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
	Extend.
	* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
	Likewise.
	* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
	Likewise.
	* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
	Likewise.
	* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
	Likewise.

	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r200580
2013-07-01 16:17:46 +00:00
Sofiane Naci
31f8442be7 arm.md (attribute "wtype"): Delete.
* arm.md (attribute "wtype"): Delete.  Move attribute values from here
	to ...
	(attribute "type"): ... here, and prefix with "wmmx_".
	(attribute "core_cycles"): Update for attribute changes.
	* iwmmxt.md (tbcstv8qi): Update for attribute changes.
	(tbcstv4hi): Likewise.
	(tbcstv2si): Likewise.
	(iwmmxt_iordi3): Likewise.
	(iwmmxt_xordi3): Likewise.
	(iwmmxt_anddi3): Likewise.
	(iwmmxt_nanddi3): Likewise.
	(iwmmxt_arm_movdi): Likewise.
	(iwmmxt_movsi_insn): Likewise.
	(mov<mode>_internal): Likewise.
	(and<mode>3_iwmmxt): Likewise.
	(ior<mode>3_iwmmxt): Likewise.
	(xor<mode>3_iwmmxt): Likewise.
	(add<mode>3_iwmmxt): Likewise.
	(ssaddv8qi3): Likewise.
	(ssaddv4hi3): Likewise.
	(ssaddv2si3): Likewise.
	(usaddv8qi3): Likewise.
	(usaddv4hi3): Likewise.
	(usaddv2si3): Likewise.
	(sub<mode>3_iwmmxt): Likewise.
	(sssubv8qi3): Likewise.
	(sssubv4hi3): Likewise.
	(sssubv2si3): Likewise.
	(ussubv8qi3): Likewise.
	(ussubv4hi3): Likewise.
	(ussubv2si3): Likewise.
	(mulv4hi3_iwmmxt): Likewise.
	(smulv4hi3_highpart): Likewise.
	(umulv4hi3_highpart): Likewise.
	(iwmmxt_wmacs): Likewise.
	(iwmmxt_wmacsz): Likewise.
	(iwmmxt_wmacu): Likewise.
	(iwmmxt_wmacuz): Likewise.
	(iwmmxt_clrdi): Likewise.
	(iwmmxt_clrv8qi): Likewise.
	(iwmmxt_clr4hi): Likewise.
	(iwmmxt_clr2si): Likewise.
	(iwmmxt_uavgrndv8qi3): Likewise.
	(iwmmxt_uavgrndv4hi3): Likewise.
	(iwmmxt_uavgv8qi3): Likewise.
	(iwmmxt_uavgv4hi3): Likewise.
	(iwmmxt_tinsrb): Likewise.
	(iwmmxt_tinsrh): Likewise.
	(iwmmxt_tinsrw): Likewise.
	(iwmmxt_textrmub): Likewise.
	(iwmmxt_textrmsb): Likewise.
	(iwmmxt_textrmuh): Likewise.
	(iwmmxt_textrmsh): Likewise.
	(iwmmxt_textrmw): Likewise.
	(iwmxxt_wshufh): Likewise.
	(eqv8qi3): Likewise.
	(eqv4hi3): Likewise.
	(eqv2si3): Likewise.
	(gtuv8qi3): Likewise.
	(gtuv4hi3): Likewise.
	(gtuv2si3): Likewise.
	(gtv8qi3): Likewise.
	(gtv4hi3): Likewise.
	(gtv2si3): Likewise.
	(smax<mode>3_iwmmxt): Likewise.
	(umax<mode>3_iwmmxt): Likewise.
	(smin<mode>3_iwmmxt): Likewise.
	(umin<mode>3_iwmmxt): Likewise.
	(iwmmxt_wpackhss): Likewise.
	(iwmmxt_wpackwss): Likewise.
	(iwmmxt_wpackdss): Likewise.
	(iwmmxt_wpackhus): Likewise.
	(iwmmxt_wpackwus): Likewise.
	(iwmmxt_wpackdus): Likewise.
	(iwmmxt_wunpckihb): Likewise.
	(iwmmxt_wunpckihh): Likewise.
	(iwmmxt_wunpckihw): Likewise.
	(iwmmxt_wunpckilb): Likewise.
	(iwmmxt_wunpckilh): Likewise.
	(iwmmxt_wunpckilw): Likewise.
	(iwmmxt_wunpckehub): Likewise.
	(iwmmxt_wunpckehuh): Likewise.
	(iwmmxt_wunpckehuw): Likewise.
	(iwmmxt_wunpckehsb): Likewise.
	(iwmmxt_wunpckehsh): Likewise.
	(iwmmxt_wunpckehsw): Likewise.
	(iwmmxt_wunpckelub): Likewise.
	(iwmmxt_wunpckeluh): Likewise.
	(iwmmxt_wunpckeluw): Likewise.
	(iwmmxt_wunpckelsb): Likewise.
	(iwmmxt_wunpckelsh): Likewise.
	(iwmmxt_wunpckelsw): Likewise.
	(ror<mode>3): Likewise.
	(ashr<mode>3_iwmmxt): Likewise.
	(lshr<mode>3_iwmmxt): Likewise.
	(ashl<mode>3_iwmmxt): Likewise.
	(ror<mode>3_di): Likewise.
	(ashr<mode>3_di): Likewise.
	(lshr<mode>3_di): Likewise.
	(ashl<mode>3_di): Likewise.
	(iwmmxt_wmadds): Likewise.
	(iwmmxt_wmaddu): Likewise.
	(iwmmxt_tmia): Likewise.
	(iwmmxt_tmiaph): Likewise.
	(iwmmxt_tmiabb): Likewise.
	(iwmmxt_tmiatb): Likewise.
	(iwmmxt_tmiabt): Likewise.
	(iwmmxt_tmiatt): Likewise.
	(iwmmxt_tmovmskb): Likewise.
	(iwmmxt_tmovmskh): Likewise.
	(iwmmxt_tmovmskw): Likewise.
	(iwmmxt_waccb): Likewise.
	(iwmmxt_wacch): Likewise.
	(iwmmxt_waccw): Likewise.
	(iwmmxt_waligni): Likewise.
	(iwmmxt_walignr): Likewise.
	(iwmmxt_walignr0): Likewise.
	(iwmmxt_walignr1): Likewise.
	(iwmmxt_walignr2): Likewise.
	(iwmmxt_walignr3): Likewise.
	(iwmmxt_wsadb): Likewise.
	(iwmmxt_wsadh): Likewise.
	(iwmmxt_wsadbz): Likewise.
	(iwmmxt_wsadhz): Likewise.
	* iwmmxt2.md (iwmmxt_wabs<mode>3): Update for attribute changes.
	(iwmmxt_wabsdiffb): Likewise.
	(iwmmxt_wabsdiffh): Likewise.
	(iwmmxt_wabsdiffw): Likewise.
	(iwmmxt_waddsubhx): Likewise
	(iwmmxt_wsubaddhx): Likewise.
	(addc<mode>3): Likewise.
	(iwmmxt_avg4): Likewise.
	(iwmmxt_avg4r): Likewise.
	(iwmmxt_wmaddsx): Likewise.
	(iwmmxt_wmaddux): Likewise.
	(iwmmxt_wmaddsn): Likewise.
	(iwmmxt_wmaddun): Likewise.
	(iwmmxt_wmulwsm): Likewise.
	(iwmmxt_wmulwum): Likewise.
	(iwmmxt_wmulsmr): Likewise.
	(iwmmxt_wmulumr): Likewise.
	(iwmmxt_wmulwsmr): Likewise.
	(iwmmxt_wmulwumr): Likewise.
	(iwmmxt_wmulwl): Likewise.
	(iwmmxt_wqmulm): Likewise.
	(iwmmxt_wqmulwm): Likewise.
	(iwmmxt_wqmulmr): Likewise.
	(iwmmxt_wqmulwmr): Likewise.
	(iwmmxt_waddbhusm): Likewise.
	(iwmmxt_waddbhusl): Likewise.
	(iwmmxt_wqmiabb): Likewise.
	(iwmmxt_wqmiabt): Likewise.
	(iwmmxt_wqmiatb): Likewise.
	(iwmmxt_wqmiatt): Likewise.
	(iwmmxt_wqmiabbn): Likewise.
	(iwmmxt_wqmiabtn): Likewise.
	(iwmmxt_wqmiatbn): Likewise.
	(iwmmxt_wqmiattn): Likewise.
	(iwmmxt_wmiabb): Likewise.
	(iwmmxt_wmiabt): Likewise.
	(iwmmxt_wmiatb): Likewise.
	(iwmmxt_wmiatt): Likewise.
	(iwmmxt_wmiabbn): Likewise.
	(iwmmxt_wmiabtn): Likewise.
	(iwmmxt_wmiatbn): Likewise.
	(iwmmxt_wmiattn): Likewise.
	(iwmmxt_wmiawbb): Likewise.
	(iwmmxt_wmiawbt): Likewise.
	(iwmmxt_wmiawtb): Likewise.
	(iwmmxt_wmiawtt): Likewise.
	(iwmmxt_wmiawbbn): Likewise.
	(iwmmxt_wmiawbtn): Likewise.
	(iwmmxt_wmiawtbn): Likewise.
	(iwmmxt_wmiawttn): Likewise.
	(iwmmxt_wmerge): Likewise.
	(iwmmxt_tandc<mode>3): Likewise.
	(iwmmxt_torc<mode>3): Likewise.
	(iwmmxt_torvsc<mode>3): Likewise.
	(iwmmxt_textrc<mode>3): Likewise.
	* marvell-f-iwmmxt.md (wmmxt_shift): Update for attribute changes.
	(wmmxt_pack): Likewise.
	(wmmxt_mult_c1): Likewise.
	(wmmxt_mult_c2): Likewise.
	(wmmxt_alu_c1): Likewise.
	(wmmxt_alu_c2): Likewise.
	(wmmxt_alu_c3): Likewise.
	(wmmxt_transfer_c1): Likewise.
	(wmmxt_transfer_c2): Likewise.
	(wmmxt_transfer_c3): Likewise.
	(marvell_f_iwmmxt_wstr): Likewise.
	(marvell_f_iwmmxt_wldr): Likewise.

From-SVN: r200576
2013-07-01 09:29:38 +00:00
Dominique d'Humieres
81bcd96bc7 re PR fortran/54788 (ICE on pointer-array element assignment)
2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/54788
        * array.c (spec_size): handle the case as==NULL.

2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/54788
        * gfortran.dg/pointer_remapping_8.f90: New.

From-SVN: r200575
2013-07-01 09:53:55 +02:00
GCC Administrator
9cd5e6c594 Daily bump.
From-SVN: r200574
2013-07-01 00:16:50 +00:00
Paolo Carlini
06eed9f588 stl_deque.h (deque<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (deque<>::insert(iterator,
	size_type, const value_type&), deque<>::insert(iterator,
	initializer_list<>), deque<>::insert(iterator, _InputIterator,
	_InputIterator)): Adjust C++11 signatures to take a const_iterator.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/debug/deque: Adjust.
	* include/debug/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/vector: Likewise.
	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
	Extend.
	* testsuite/23_containers/vector/bool/modifiers/insert/
	const_iterator.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
	Likewise.

	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r200571
2013-06-30 16:24:30 +00:00
Paolo Carlini
e8f24c86b8 *: Move inside testsuite/21_strings/basic_string/operations/data/.
2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/operations/*: Move inside
	testsuite/21_strings/basic_string/operations/data/.
	* testsuite/21_strings/basic_string/compare/*: Move inside
	testsuite/21_strings/basic_string/operations/.
	* testsuite/21_strings/basic_string/find/*: Likewise.
	* testsuite/21_strings/basic_string/rfind/*: Likewise.
	* testsuite/21_strings/basic_string/substr/*: Likewise.

From-SVN: r200570
2013-06-30 14:48:37 +00:00
GCC Administrator
0de64ae21c Daily bump.
From-SVN: r200568
2013-06-30 00:16:24 +00:00
Yufeng Zhang
bdb7bf8a4e Obvious fix in aarch64.c; remove junk added accidentally by previous commit.
From-SVN: r200565
2013-06-29 09:29:13 +00:00
François Dumont
41349aec29 hashtable_policy.h (_Insert_base): Consider hint in insert methods.
2013-06-29  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
	insert methods.
	* include/bits/hashtable.h: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
	* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
	New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.
	* doc/xml/manual/containers.xml: Document hinting in unordered
	containers.

From-SVN: r200564
2013-06-29 07:55:12 +00:00
Ed Smith-Rowland
c865f9238a lex.c (lex_raw_string(), [...]): Constrain suffixes treated as concatenated literal and macro to just the...
libcpp:

2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* lex.c (lex_raw_string(), lex_string()): Constrain suffixes treated
	as concatenated literal and macro to just the patterns found in
	inttypes.h; (is_macro()): New.


gcc/cp:

2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* cp-tree.h (UDLIT_OP_ANSI_PREFIX): Remove space.
	* parser.c (cp_parser_operator()): Parse user-defined string
	literal as literal operator.


gcc/testsuite:

2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* g++.dg/cpp0x/udlit-nospace-neg.C: Adjust.
	* g++.dg/cpp1y/udlit-enc-prefix-neg.C: New.
	* g++.dg/cpp1y/udlit-userdef-string.C: New.
	* g++.dg/cpp1y/complex_literals.h: New.

From-SVN: r200563
2013-06-29 03:41:58 +00:00
GCC Administrator
efc58ac548 Daily bump.
From-SVN: r200562
2013-06-29 00:16:32 +00:00
Paolo Carlini
a5e90b2af3 re PR c++/57645 (Explicitly-declared destructor with no exception specification is always noexcept(true))
/cp
2013-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57645
	* class.c (deduce_noexcept_on_destructors): Save, set, and restore
	TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) around the main loop over the
	destructors.

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

	PR c++/57645
	* g++.dg/cpp0x/noexcept21.C: New.

From-SVN: r200559
2013-06-29 00:11:03 +00:00
Vladimir Makarov
e6631d3801 revert: lra-constraints.c (need_for_split_p): Check call used hard regs living through calls.
2013-06-28  Vladimir Makarov  <vmakarov@redhat.com>

	Revert:
	2013-06-28  Vladimir Makarov  <vmakarov@redhat.com>
	* lra-constraints.c (need_for_split_p): Check call used hard regs
	living through calls.

	* lra-constraints.c (inherit_in_ebb): Reset live_hard_regs for
	call used regs for call insn.

From-SVN: r200558
2013-06-28 23:55:52 +00:00
Jakub Jelinek
53c1275b31 re PR target/57736 (ICE in emit_move_insn with __builtin_ia32_rdtsc)
PR target/57736
	* config/i386/i386.c (ix86_expand_builtin): If target == NULL
	and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
	into.

	* gcc.target/i386/pr57736.c: New test.

From-SVN: r200555
2013-06-28 22:25:35 +02:00
Balaji V. Iyer
1141ed3f71 Implemented Jason Merrill's suggestions on Array Notation C++.
gcc/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * builtins.def: Fixed the function type of CILKPLUS_BUILTIN.

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

        * c-parser.c (c_parser_array_notation): Removed rejection of array
        notations in an array of function pointers.

gcc/c-family/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * array-notation-common.c (length_mismatch_in_expr_p): Collapsed two
        if-statements and compared the trees directly using tree_int_cst_equal.
        (find_rank): Checked for array notations in function name to handle
        array notations in function pointers.
        (extract_array_notation_exprs): Likewise.
        (replace_array_notations): Likewise.
        (cilkplus_extract_an_triplets): Replaced safe_push with
        safe_grow_cleared.  Also removed an unnecessary check to see if the
        node is of type ARRAY_NOTATION_REF.
        (fix_sec_implicit_args): Removed an unnecessary check for ADDR_EXPR.
        Also switched two if-statements to remove an unnecessary comparison.


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

        * parser.c (cp_parser_array_notation): Removed rejection array notation
        of type function pointers. Added handling of array expressions when
        Cilk Plus is enabled.  Took out type-checking.
        (cp_parser_postfix_open_square_expression): Moved normal array expr.
        parsing into cp_parser_array_notation when cilkplus is enabled.
        (cp_parser_compound_statement): Removed expansion of array notations.
        (cp_parser_ctor_initializer_opt_and_function_body): Likewise.
        (cp_parser_function_definition_after_declarator): Likewise.
        (cp_parser_selection_statement): Removed error reporting.
        (cp_parser_iteration_statement): Likewise.
        (cp_parser_direct_declarator): Removed error checking/reporting if
        array notations are used in the declarator.
        * pt.c (instantiate_decl): Likewise.
        (type_unification_real): Removed a check for ARRAY_NOTATION_REF.
        (cxx_eval_constant_expression): Removed ARRAY_NOTATION_REF case.
        (potential_constant_expression_1): Returned false for ARRAY_NOTATION_REF
        case.
        * cp-gimplify.c (cp_genericize): Added expansion of array notation
        expressions here.
        * cp-array-notation.c (make_triplet_val_inv): Removed loc and cry 
        parameters.  Replaced build_decls with get_temp_regvar with type as
        ptrdiff.
        (create_array_refs): Made the type-casting to ptrdiff_type.
        (replace_invariant_var): Added a check for void return type before 
	creating new var.  Replaced build_decl and build_min_nt_loc with
        get_temp_regvar.
        (expand_an_in_modify_expr): Ditto.  Replaced body of redundant else with
        gcc_unreachable.  Removed few unwanted checks.  Made induction variable
        type as ptrdiff_type.  Removed loc and complain arguments passed into
        make_triplet_val_inv.  Replaced all modify expression's code from NOP
        EXPR to INIT EXPR.  Replaced all forceful appending into stmt. list
        with the non-forceful one.  Replaced some integer conversion and
        equality-checking to using tree_int_cst_equal.
        (expand_sec_reduce_builtin): All changes mentioned in above function
        expand_an_in_modify_expr.  Made the new variable type of
        SEC_REDUCE_ANY/ALL_{NON}ZERO intrinsic functions as bool.
        (expand_array_notation_exprs): Removed SWITCH_EXPR case.  Moved all
        the error reporting from parser to this function.  Removed unwanted
        statements and checks from SWITCH_STMT, WHILE_STMT, and DO_STMT cases.
        (cilkplus_an_triplet_types_ok_p): Removed rejection of array notation
        in function pointers.
        (cp_expand_cond_array_notations): Added a new if statements to check
        if condition has a zero rank.  If so, then just return.
        (expand_return_expr): Added a check for return expressions with a rank.
        Replaced get_tmp_regvar with a create_temporary_var.
        (build_array_notation_ref): Simplified and removed unwanted if-stmts.
        Moved common code outside if-statements.  Moved type-checking from
        parser to here.
        * semantics.c (finish_return_stmt): Removed a check for return exprs.
        with a rank.
        * call.c (convert_like_real): Removed a check for array notation
        expression in a function.
        (build_over_call): Likewise.
        (magic_varargs_p): Added a check for builtin array notation function.
        Made this function non-static and removed its prototype.
        * cp-tree.h (magic_varargs_p): New prototype.
        * typeck.c (cp_build_function_call_vec): Removed automatic setting of
        nargs to the param->length when builtin reduction function is used.
        (convert_arguments): Replaced check for a constant_p function with
        margic_varargs_p function call.
        (cp_build_binary_op): Removed calling of the function
        find_correct_array_notation_type.
        (cp_build_addr_expr_1): Removed an unwanted if-statement.
        (convert_for_assignment): Removed automatic return of rhs when array
        notation builtin function is used.

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

        * c-c++-common/cilk-plus/AN/decl-ptr-colon.c (main): Made this testcase
        c specific.
        * c-c++-common/cilk-plus/AN/decl-ptr-colon.c (main): Changed dg-error
        strings to match the fixed error messages.
        * c-c++-common/cilk-plus/AN/misc.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/rank_mismatch.c (main): Added a new error
        message check.

From-SVN: r200554
2013-06-28 13:04:36 -07:00
Vladimir Makarov
e32e4c4a88 lra-constraints.c (need_for_split_p): Check call used hard regs living through calls.
2013-06-28  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (need_for_split_p): Check call used hard regs
	living through calls.

From-SVN: r200553
2013-06-28 19:43:39 +00:00
Michael Meissner
f161bfd330 re PR target/57744 (Power8 support has problems with quad word atomic instructions)
[gcc]
2013-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/57744
	* config/rs6000/rs6000.h (MODES_TIEABLE_P): Do not allow PTImode
	to tie with any other modes.  Eliminate Altivec vector mode tests,
	since these are a subset of ALTIVEC or VSX vector modes.  Simplify
	code, to return 0 if testing MODE2 for a condition, if we've
	already tested MODE1 for the same condition.

[gcc/testsuite]
2013-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/57744
	* gcc.target/powerpc/pr57744.c: New test to make sure lqarx and
	stqcx. get even registers.

From-SVN: r200538
2013-06-28 16:15:17 +00:00
Paolo Carlini
7d9800e39a *: Move inside testsuite/21_strings/basic_string/operations/data/.
2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/operations/*: Move inside
	testsuite/21_strings/basic_string/operations/data/.
	* testsuite/21_strings/basic_string/compare/*: Move inside
	testsuite/21_strings/basic_string/operations/.
	* testsuite/21_strings/basic_string/find/*: Likewise.
	* testsuite/21_strings/basic_string/rfind/*: Likewise.
	* testsuite/21_strings/basic_string/substr/*: Likewise.

From-SVN: r200537
2013-06-28 16:01:08 +00:00
Marcus Shawcroft
7eda14e188 [AArch64] Fix layout of aarch64_cannot_force_const_mem.
From-SVN: r200532
2013-06-28 15:22:48 +00:00
Marcus Shawcroft
c822f852e9 [AArch64] Update comment w.r.t SYMBOL_TINY_ABSOLUTE address model.
From-SVN: r200531
2013-06-28 15:17:19 +00:00
Marcus Shawcroft
946c8f7bff Disable strassen.f90 test for aarch64 tiny memory.
This test case is too large to fit into the aarch64 tiny memory model.

From-SVN: r200521
2013-06-28 12:45:57 +00:00
Marcus Shawcroft
da4f13a4f9 [AArch64] Remove aarch64_symbolic_constant_p.
From-SVN: r200519
2013-06-28 12:26:20 +00:00
Kyrylo Tkachov
956a95a55f constraints.md (Ts): New constraint.
2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/constraints.md (Ts): New constraint.
	* config/arm/arm.md (arm_movqi_insn): Add alternatives for
	16-bit encodings.
	(compare_scc): Use "Ts" constraint for operand 0.
	(ior_scc_scc): Likewise.
	(and_scc_scc): Likewise.
	(and_scc_scc_nodom): Likewise.
	(ior_scc_scc_cmp): Likewise for operand 7.
	(and_scc_scc_cmp): Likewise.
	* config/arm/thumb2.md (thumb2_movsi_insn):
	Add alternatives for 16-bit encodings.
	(thumb2_movhi_insn): Likewise.
	(thumb2_movsicc_insn): Likewise.
	(thumb2_and_scc): Take 'and' outside cond_exec.  Use "Ts" constraint.
	(thumb2_negscc): Use "Ts" constraint.
	Move mvn instruction outside cond_exec block.
	* config/arm/vfp.md (thumb2_movsi_vfp): Add alternatives
	for 16-bit encodings.

From-SVN: r200515
2013-06-28 11:16:03 +00:00
Kyrylo Tkachov
31dfce1008 arm.md (arm_mulsi3_v6): Add alternative for 16-bit encoding.
2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (arm_mulsi3_v6): Add alternative for 16-bit
	encoding.
	(mulsi3addsi_v6): Disable predicable variant for arm_restrict_it.
	(mulsi3subsi): Likewise.
	(mulsidi3adddi): Likewise.
	(mulsidi3_v6): Likewise.
	(umulsidi3_v6): Likewise.
	(umulsidi3adddi_v6): Likewise.
	(smulsi3_highpart_v6): Likewise.
	(umulsi3_highpart_v6): Likewise.
	(mulhisi3tb): Likewise.
	(mulhisi3bt): Likewise.
	(mulhisi3tt): Likewise.
	(maddhisi4): Likewise.
	(maddhisi4tb): Likewise.
	(maddhisi4tt): Likewise.
	(maddhidi4): Likewise.
	(maddhidi4tb): Likewise.
	(maddhidi4tt): Likewise.
	(zeroextractsi_compare0_scratch): Likewise.
	(insv_zero): Likewise.
	(insv_t2): Likewise.
	(anddi_notzesidi_di): Likewise.
	(anddi_notsesidi_di): Likewise.
	(andsi_notsi_si): Likewise.
	(iordi_zesidi_di): Likewise.
	(xordi_zesidi_di): Likewise.
	(andsi_iorsi3_notsi): Likewise.
	(smax_0): Likewise.
	(smax_m1): Likewise.
	(smin_0): Likewise.
	(not_shiftsi): Likewise.
	(unaligned_loadsi): Likewise.
	(unaligned_loadhis): Likewise.
	(unaligned_loadhiu): Likewise.
	(unaligned_storesi): Likewise.
	(unaligned_storehi): Likewise.
	(extv_reg): Likewise.
	(extzv_t2): Likewise.
	(divsi3): Likewise.
	(udivsi3): Likewise.
	(arm_zero_extendhisi2addsi): Likewise.
	(arm_zero_extendqisi2addsi): Likewise.
	(compareqi_eq0): Likewise.
	(arm_extendhisi2_v6): Likewise.
	(arm_extendqisi2addsi): Likewise.
	(arm_movt): Likewise.
	(thumb2_ldrd): Likewise.
	(thumb2_ldrd_base): Likewise.
	(thumb2_ldrd_base_neg): Likewise.
	(thumb2_strd): Likewise.
	(thumb2_strd_base): Likewise.
	(thumb2_strd_base_neg): Likewise.
	(arm_negsi2): Add alternative for 16-bit encoding.
	(arm_one_cmplsi2): Likewise.

From-SVN: r200513
2013-06-28 10:56:27 +00:00
Marc Glisse
ee429bdfe0 re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
2013-06-28  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/57509
	* g++.dg/ext/pr57509.C: Pass vectors by reference to avoid warnings.

From-SVN: r200511
2013-06-28 10:31:39 +00:00
Kyrylo Tkachov
1572e697b7 predicates.md (arm_cond_move_operator): New predicate.
2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/predicates.md (arm_cond_move_operator): New predicate.
	* config/arm/arm.md (movsfcc): Use arm_cond_move_operator predicate.
	(movdfcc): Likewise.
	* config/arm/vfp.md (*thumb2_movsf_vfp):
	Disable predication for arm_restrict_it.
	(*thumb2_movsfcc_vfp): Disable for arm_restrict_it.
	(*thumb2_movdfcc_vfp): Likewise.
	(*abssf2_vfp, *absdf2_vfp, *negsf2_vfp, *negdf2_vfp,*addsf3_vfp,
	*adddf3_vfp, *subsf3_vfp, *subdf3_vfpc, *divsf3_vfp,*divdf3_vfp,
	*mulsf3_vfp, *muldf3_vfp, *mulsf3negsf_vfp, *muldf3negdf_vfp,
	*mulsf3addsf_vfp, *muldf3adddf_vfp, *mulsf3subsf_vfp,
	*muldf3subdf_vfp, *mulsf3negsfaddsf_vfp, *fmuldf3negdfadddf_vfp,
	*mulsf3negsfsubsf_vfp, *muldf3negdfsubdf_vfp, *fma<SDF:mode>4,
	*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4,
	*extendsfdf2_vfp, *truncdfsf2_vfp, *extendhfsf2, *truncsfhf2,
	*truncsisf2_vfp, *truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2,
	*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2, floatunssidf2,
	*sqrtsf2_vfp, *sqrtdf2_vfp, *cmpsf_vfp, *cmpsf_trap_vfp, *cmpdf_vfp,
	*cmpdf_trap_vfp, <vrint_pattern><SDF:mode>2):
	Disable predication for arm_restrict_it.

From-SVN: r200510
2013-06-28 10:05:27 +00:00
Jakub Jelinek
4ea3d77451 re PR middle-end/36041 (Speed up builtin_popcountll)
PR middle-end/36041
	* libgcc2.c (POPCOUNTCST2, POPCOUNTCST4, POPCOUNTCST8, POPCOUNTCST):
	Define.
	(__popcountSI2): For __SIZEOF_INT__ > 2 targets use arithmetics
	instead of table lookups.
	(__popcountDI2): Likewise.

From-SVN: r200506
2013-06-28 11:28:40 +02:00
Kirill Yukhin
ebf8f0eaeb bmiintrin.h (_bextr_u32): New.
ChangeLog:
* config/i386/bmiintrin.h (_bextr_u32): New.
(_bextr_u64): Ditto.

testsuite/ChangeLog:
* gcc.target/i386/bmi-1.c: Extend with new instrinsic.
Fix scan patterns.
* gcc.target/i386/bmi-1.c: Ditto.
* gcc.target/i386/bmi-bextr-4.c: New.
* gcc.target/i386/bmi-bextr-5.c: Ditto.

From-SVN: r200505
2013-06-28 09:02:46 +00:00
Paolo Carlini
7350faad6f re PR c++/57682 (Uniform initialization syntax rejected in function-try-block)
/cp
2013-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57682
	* parser.c (cp_parser_save_member_function_body): Handle correctly
	curly braces in function-try-block mem-initializers.

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

	PR c++/57682
	* g++.dg/cpp0x/initlist73.C: New.

From-SVN: r200504
2013-06-28 08:53:03 +00:00
Meador Inge
1c3429049a atomic-flag.c: Add dg-require-effective-target sync_*.
gcc/testsuite/

2013-06-27  Meador Inge  <meadori@codesourcery.com>

	* gcc.dg/atomic-flag.c: Add dg-require-effective-target sync_*.
	* g++.dg/simulate-thread/atomics-2.C: Likewise.
	* g++.dg/simulate-thread/atomics-1.C: Likewise.

From-SVN: r200501
2013-06-28 00:55:13 +00:00
GCC Administrator
a34eb0bdab Daily bump.
From-SVN: r200500
2013-06-28 00:16:29 +00:00
Richard Sandiford
a290fcda13 gcc/
* config.gcc (mips*-mti-elf*, mips*-sde-elf*, mips64r5900-*-elf*)
	(mips64r5900el-*-elf*): Include mips/n32-elf.h.
	* config/mips/sde.h (LOCAL_LABEL_PREFIX, NO_DOLLAR_IN_LABEL)
	(LONG_DOUBLE_TYPE_SIZE, LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move to...
	* config/mips/n32-elf.h: ...this new file.

From-SVN: r200496
2013-06-27 21:31:05 +00:00
Marc Glisse
bedc293e87 re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
2013-06-27  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/57509

gcc/c-family/
	* c-common.h (c_build_vec_perm_expr): New complain argument.
	* c-common.c (c_build_vec_perm_expr): Likewise.
	Use save_expr also in C++.

gcc/cp/
	* typeck.c (cp_build_vec_perm_expr): New function.
	* cp-tree.h: Declare it.
	* parser.c (cp_parser_postfix_expression): Call it.
	* pt.c (tsubst_copy): Handle VEC_PERM_EXPR.
	(tsubst_copy_and_build): Likewise.

gcc/testsuite/
	* g++.dg/ext/pr57509.C: New file.

From-SVN: r200495
2013-06-27 21:29:22 +00:00
Ian Lance Taylor
4a197d64cb compiler: structs inherit all methods from embedded pointer fields.
Previously if a struct S contained an embedded field *T,
a method with receiver *T would not be promoted to a method
with value receiver S.

From-SVN: r200493
2013-06-27 20:51:55 +00:00
Marc Glisse
ea16999619 re PR target/57224 (Remove __builtin_ia32_cmpngtss and __builtin_ia32_cmpngess)
2013-06-27  Marc Glisse  <marc.glisse@inria.fr>

	PR target/57224
	* config/i386/i386.c (enum ix86_builtins, bdesc_args): Remove
	IX86_BUILTIN_CMPNGTSS and IX86_BUILTIN_CMPNGESS.

From-SVN: r200492
2013-06-27 20:07:32 +00:00
Ian Lance Taylor
d4134e8598 compiler: more consistent error message for [...]T(x)
The message should be similar to the one for "var x [...]T",
not to the message for []T(x...).

From-SVN: r200490
2013-06-27 19:20:08 +00:00
Catherine Moore
8e932114ee mips-tables.opt: Regenerate.
2013-06-27  Catherine Moore <clm@codesourcery.com>

	* config/mips/mips-tables.opt: Regenerate.
	* config/mips/mips-cpus.def: Add m14ke and m14kec.
	* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): m14ke* implies
	-mdspr2.
	* doc/invoke.texi: Add -m14kc.

From-SVN: r200487
2013-06-27 14:56:00 -04:00
Jakub Jelinek
cd06d2a20c re PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to compile code))
PR target/57623
	* config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
	constraints of operand 1 and 2.

	* gcc.target/i386/bmi-bextr-3.c: New test.

From-SVN: r200479
2013-06-27 18:48:05 +02:00