platform/upstream/gcc.git
10 years agoDaily bump.
GCC Administrator [Mon, 18 Aug 2014 00:17:39 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r214083

10 years agoconstraints.md ("S"): Require TARGET_POWERPC64.
Segher Boessenkool [Sun, 17 Aug 2014 23:39:53 +0000 (01:39 +0200)]
constraints.md ("S"): Require TARGET_POWERPC64.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
* config/rs6000/htm.md (ttest): Remove clobber.
* config/rs6000/predicates.md (any_mask_operand): New predicate.
(and_operand): Reformat.
(and_2rld_operand): New predicate.
* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
parameter.
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
parameter.  Handle AND directly.
(rs6000_split_logical_di): Remove last parameter.
(rs6000_split_logical): Remove last parameter.  Remove obsolete
comment.
* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
and 5 anonymous splitters):  Delete.
(and<mode>3): New expander.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
(floatdisf2_internal1): Remove clobbers.
(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
(and<mode>3 for BOOL_128): Remove clobber.
(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
rs6000_split_logical.
(*bool<mode>3_internal for BOOL_128): Adjust call of
rs6000_split_logical.
(*boolc<mode>3_internal1 for BOOL_128,
*boolc<mode>3_internal2 for BOOL_128,
*boolcc<mode>3_internal1 for BOOL_128,
*boolcc<mode>3_internal2 for BOOL_128,
*eqv<mode>3_internal1 for BOOL_128,
*eqv<mode>3_internal2 for BOOL_128,
*one_cmpl<mode>3_internal for BOOL_128): Ditto.
* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
clobber.
(*vec_reload_and_reg_<mptrsize>): Delete.

From-SVN: r214080

10 years agors6000.md (*boolccsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:38:16 +0000 (01:38 +0200)]
rs6000.md (*boolccsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
and split, *boolccsi3_internal3 and split): Delete.
(*boolccdi3_internal1, *boolccdi3_internal2 and split,
*boolccdi3_internal3 and split): Delete.
(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.

From-SVN: r214079

10 years agors6000.md (*boolcsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:36:53 +0000 (01:36 +0200)]
rs6000.md (*boolcsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
and split, *boolcsi3_internal3 and split): Delete.
(*boolcdi3_internal1, *boolcdi3_internal2 and split,
*boolcdi3_internal3 and split): Delete.
(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.

From-SVN: r214078

10 years agors6000.c (print_operand): New.
Segher Boessenkool [Sun, 17 Aug 2014 23:35:30 +0000 (01:35 +0200)]
rs6000.c (print_operand): New.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (print_operand) <'e'>: New.
<'u'>: Also support printing the low-order 16 bits.
* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
*booldi3_internal3 and split): Delete.
(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
*bool<mode>3_dot2): New.
(two anonymous define_splits for non_logical_cint_operand): Merge.

From-SVN: r214077

10 years agoresolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.
Tobias Burnus [Sun, 17 Aug 2014 16:42:19 +0000 (18:42 +0200)]
resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.

From-SVN: r214076

10 years agotrans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.
Tobias Burnus [Sun, 17 Aug 2014 16:40:04 +0000 (18:40 +0200)]
trans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.

From-SVN: r214075

10 years agore PR c/62059 (signed integer overflow in diagnostic.c adjust_line)
Marek Polacek [Sun, 17 Aug 2014 16:19:43 +0000 (16:19 +0000)]
re PR c/62059 (signed integer overflow in diagnostic.c adjust_line)

PR c/62059
* diagnostic.c (adjust_line): Add gcc_checking_assert.
(diagnostic_show_locus): Don't print caret diagnostic
if a column is larger than the line_width.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r214074

10 years ago20140816-1.c: New testcase.
Andrew Pinski [Sun, 17 Aug 2014 05:20:42 +0000 (05:20 +0000)]
20140816-1.c: New testcase.

2014-08-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140816-1.c: New testcase.

From-SVN: r214073

10 years agoDaily bump.
GCC Administrator [Sun, 17 Aug 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r214072

10 years agocommon.opt: Make the ISL AST generator to be the main code generator of Graphite.
Roman Gareev [Sat, 16 Aug 2014 21:18:24 +0000 (21:18 +0000)]
common.opt: Make the ISL AST generator to be the main code generator of Graphite.

[gcc/]

* common.opt: Make the ISL AST generator to be the main code generator
of Graphite.

From-SVN: r214069

10 years ago* wide-int.h (generic_wide_int): Declare as class instead of struct.
Gerald Pfeifer [Sat, 16 Aug 2014 19:27:54 +0000 (19:27 +0000)]
* wide-int.h (generic_wide_int): Declare as class instead of struct.

From-SVN: r214068

10 years agore PR target/61641 (undefined label in jump_table_data)
John David Anglin [Sat, 16 Aug 2014 16:36:33 +0000 (16:36 +0000)]
re PR target/61641 (undefined label in jump_table_data)

PR target/61641
* config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
Declare.
* config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
(pa_output_addr_vec, pa_output_addr_diff_vec): New.
* config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
Define.
* config/pa/pa.md (begin_brtab): Delete insn.
(end_brtab): Likewise.

From-SVN: r214064

10 years agocppopts.texi (ftrack-macro-expansion): Add missing @code.
Manuel López-Ibáñez [Sat, 16 Aug 2014 14:19:38 +0000 (14:19 +0000)]
cppopts.texi (ftrack-macro-expansion): Add missing @code.

2014-08-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.

From-SVN: r214063

10 years agore PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structur...
Paolo Carlini [Sat, 16 Aug 2014 10:07:41 +0000 (10:07 +0000)]
re PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'nop_expr' in decl_linkage, at cp/tree.c:3136)

2014-08-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52819
* g++.dg/template/pr52819.C: New.

From-SVN: r214062

10 years agoipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
Jan Hubicka [Sat, 16 Aug 2014 09:10:23 +0000 (11:10 +0200)]
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.

* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.

From-SVN: r214060

10 years agocompiler: Pass initialization of frame temporary to backend.
Ian Lance Taylor [Sat, 16 Aug 2014 00:54:32 +0000 (00:54 +0000)]
compiler: Pass initialization of frame temporary to backend.

From-SVN: r214057

10 years agoDaily bump.
GCC Administrator [Sat, 16 Aug 2014 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r214056

10 years agoinvoke.texi (SH options): Document missing processor variant options.
Oleg Endo [Fri, 15 Aug 2014 22:55:47 +0000 (22:55 +0000)]
invoke.texi (SH options): Document missing processor variant options.

gcc/
* doc/invoke.texi (SH options): Document missing processor variant
options.  Remove references to Hitachi.  Undocument deprecated mspace
option.

From-SVN: r214050

10 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 22:27:06 +0000 (18:27 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (lookup_template_class_1): Revert recent change.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change.

From-SVN: r214049

10 years agoruntime: Don't get confused if m changes during runtime_gc.
Ian Lance Taylor [Fri, 15 Aug 2014 22:16:55 +0000 (22:16 +0000)]
runtime: Don't get confused if m changes during runtime_gc.

From-SVN: r214048

10 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 21:59:40 +0000 (17:59 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (instantiate_class_template_1): Ignore lambda on
CLASSTYPE_DECL_LIST.
(push_template_decl_real): A lambda is not primary.
(lookup_template_class_1): Don't look for a lambda partial
instantiation.
* lambda.c (maybe_add_lambda_conv_op): Distinguish between being
currently in a function and the lambda living in a function.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): False for lambda.

From-SVN: r214046

10 years agore PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor...
Thomas Koenig [Fri, 15 Aug 2014 21:19:33 +0000 (21:19 +0000)]
re PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor(X/L)))

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* trans-expr.c (is_runtime_conformable):  Add NULL pointer checks.

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* gfortran.dg/realloc_on_assign_24.f90:  New test.

From-SVN: r214043

10 years agore PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)
Jason Merrill [Fri, 15 Aug 2014 17:27:58 +0000 (13:27 -0400)]
re PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)

PR bootstrap/62077
gcc/
* tree.c (type_hash_canon): Uncomment assert.
gcc/cp/
* tree.c (build_min_array_type, set_array_type_canon): Split out...
(build_cplus_array_type): ...from here.  Only call build_array_type
for main variants.

From-SVN: r214030

10 years agoresolve.c (resolve_critical): Fix name mangling.
Tobias Burnus [Fri, 15 Aug 2014 16:33:08 +0000 (18:33 +0200)]
resolve.c (resolve_critical): Fix name mangling.

2014-08-15  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_critical): Fix name mangling.
        * trans-stmt.c (gfc_trans_critical): Fix lock call.

From-SVN: r214029

10 years agoinput.h (in_system_header_at): Add comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:27:38 +0000 (16:27 +0000)]
input.h (in_system_header_at): Add comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.h (in_system_header_at): Add comment.

From-SVN: r214028

10 years agore PR c++/62072 (No SFINAE performed for function type)
Paolo Carlini [Fri, 15 Aug 2014 16:23:47 +0000 (16:23 +0000)]
re PR c++/62072 (No SFINAE performed for function type)

/cp
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* pt.c (check_cv_quals_for_unify): Implement resolution, disregard
cv-qualifiers of function types.

/testsuite
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* g++.dg/template/pr57466.C: New.
* g++.dg/cpp0x/pr57466.C: Likewise.
* g++.dg/template/unify6.C: Update.

* g++.dg/cpp0x/sfinae52.C: New.

From-SVN: r214027

10 years agocall.c (build_conditional_expr_1): Use OPT_Wextra in warning.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:14:50 +0000 (16:14 +0000)]
call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

2014-08-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

gcc/cp/:
* call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

From-SVN: r214026

10 years agore PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)
Jonathan Wakely [Fri, 15 Aug 2014 15:22:44 +0000 (16:22 +0100)]
re PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)

PR libstdc++/62154
* libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
Rewrite to conform to C++11 requirements.
* testsuite/18_support/nested_exception/62154.cc: New.

From-SVN: r214025

10 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Fri, 15 Aug 2014 15:10:15 +0000 (15:10 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
gcc/
* diagnostic.c (build_message_string): Make it extern.
* diagnostic.h (build_message_string): Make it extern.
c-family/
* c-format.c: Handle Fortran flags.
fortran/
* gfortran.h: Define GCC_DIAG_STYLE.
(gfc_diagnostics_init,gfc_warning_cmdline): Declare.
* trans-array.c: Include gfortran.h before diagnostic-core.h.
* trans-expr.c: Likewise.
* trans-openmp.c: Likewise.
* trans-const.c: Likewise.
* trans.c: Likewise.
* trans-types.c: Likewise.
* f95-lang.c: Likewise.
* trans-decl.c: Likewise.
* trans-io.c: Likewise.
* trans-intrinsic.c: Likewise.
* error.c: Include diagnostic.h and diagnostic-color.h.
(gfc_diagnostic_build_prefix): New.
(gfc_diagnostic_starter): New.
(gfc_diagnostic_finalizer): New.
(gfc_warning_cmdline): New.
(gfc_diagnostics_init): New.
* gfc-diagnostic.def: New.
* options.c (gfc_init_options): Call gfc_diagnostics_init.
(gfc_post_options): Use gfc_warning_cmdline.

From-SVN: r214024

10 years agors6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class...
Vladimir Makarov [Fri, 15 Aug 2014 14:16:56 +0000 (14:16 +0000)]
rs6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class pseudo.

2014-08-15  Vladimir Makarov  <vmakarov@redhat.com>

* config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
load/store from/to non-floating class pseudo.

From-SVN: r214023

10 years agoinput.c (diagnostic_file_cache_fini): Fix typo in comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 14:07:19 +0000 (14:07 +0000)]
input.c (diagnostic_file_cache_fini): Fix typo in comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.c (diagnostic_file_cache_fini): Fix typo in comment.

From-SVN: r214022

10 years agotree-ssa-structalias.c (readonly_id): Rename to string_id.
Richard Biener [Fri, 15 Aug 2014 12:54:28 +0000 (12:54 +0000)]
tree-ssa-structalias.c (readonly_id): Rename to string_id.

2014-08-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (readonly_id): Rename to string_id.
(get_constraint_for_ssa_var): Remove dead code.
(get_constraint_for_1): Adjust.
(find_what_var_points_to): Likewise.
(init_base_vars): Likewise.  STRING_CSTs do not contain pointers.

From-SVN: r214020

10 years agogcc/
Ilya Tocar [Fri, 15 Aug 2014 12:47:41 +0000 (16:47 +0400)]
gcc/

PR target/61878
* config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
(_mm512_mask_cmpge_epu32_mask): Ditto.
(_mm512_cmpge_epu32_mask): Ditto.
(_mm512_mask_cmpge_epi64_mask): Ditto.
(_mm512_cmpge_epi64_mask): Ditto.
(_mm512_mask_cmpge_epu64_mask): Ditto.
(_mm512_cmpge_epu64_mask): Ditto.
(_mm512_mask_cmple_epi32_mask): Ditto.
(_mm512_cmple_epi32_mask): Ditto.
(_mm512_mask_cmple_epu32_mask): Ditto.
(_mm512_cmple_epu32_mask): Ditto.
(_mm512_mask_cmple_epi64_mask): Ditto.
(_mm512_cmple_epi64_mask): Ditto.
(_mm512_mask_cmple_epu64_mask): Ditto.
(_mm512_cmple_epu64_mask): Ditto.
(_mm512_mask_cmplt_epi32_mask): Ditto.
(_mm512_cmplt_epi32_mask): Ditto.
(_mm512_mask_cmplt_epu32_mask): Ditto.
(_mm512_cmplt_epu32_mask): Ditto.
(_mm512_mask_cmplt_epi64_mask): Ditto.
(_mm512_cmplt_epi64_mask): Ditto.
(_mm512_mask_cmplt_epu64_mask): Ditto.
(_mm512_cmplt_epu64_mask): Ditto.
(_mm512_mask_cmpneq_epi32_mask): Ditto.
(_mm512_mask_cmpneq_epu32_mask): Ditto.
(_mm512_cmpneq_epu32_mask): Ditto.
(_mm512_mask_cmpneq_epi64_mask): Ditto.
(_mm512_cmpneq_epi64_mask): Ditto.
(_mm512_mask_cmpneq_epu64_mask): Ditto.
(_mm512_cmpneq_epu64_mask): Ditto.
(_mm512_castpd_ps): Ditto.
(_mm512_castpd_si512): Ditto.
(_mm512_castps_pd): Ditto.
(_mm512_castps_si512): Ditto.
(_mm512_castsi512_ps): Ditto.
(_mm512_castsi512_pd): Ditto.
(_mm512_castpd512_pd128): Ditto.
(_mm512_castps512_ps128): Ditto.
(_mm512_castsi512_si128): Ditto.
(_mm512_castpd512_pd256): Ditto.
(_mm512_castps512_ps256): Ditto.
(_mm512_castsi512_si256): Ditto.
(_mm512_castpd128_pd512): Ditto.
(_mm512_castps128_ps512): Ditto.
(_mm512_castsi128_si512): Ditto.
(_mm512_castpd256_pd512): Ditto.
(_mm512_castps256_ps512): Ditto.
(_mm512_castsi256_si512): Ditto.
(_mm512_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu64_mask): Ditto.
(_mm512_cmpeq_epu64_mask): Ditto.
(_mm512_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu64_mask): Ditto.
(_mm512_cmpgt_epu64_mask): Ditto.
* config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
(bdesc_args): Add __builtin_ia32_si512_256si,
__builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
__builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
__builtin_ia32_pd512_pd.
(ix86_expand_args_builtin): Handle new FTYPEs.
* config/i386/sse.md (castmode): Add 512-bit modes.
(AVX512MODE2P): New.
(avx512f_<castmode><avxsizesuffix>_<castmode): New.
(avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.

gcc/testsuite/

PR target/61878
* gcc.target/i386/avx512f-typecast-1.c: New test.
* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: Add new intrinsic.
* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtud-1.c: New test.
* gcc.target/i386/avx512f-vpcmpgtud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.

From-SVN: r214019

10 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Verbin [Fri, 15 Aug 2014 12:33:03 +0000 (12:33 +0000)]
MAINTAINERS (Write After Approval): Add myself.

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214017

10 years agofold-const.c (tree_swap_operands_p): Put all constants last...
Richard Biener [Fri, 15 Aug 2014 11:42:01 +0000 (11:42 +0000)]
fold-const.c (tree_swap_operands_p): Put all constants last...

2014-08-15  Richard Biener  <rguenther@suse.de>

* fold-const.c (tree_swap_operands_p): Put all constants
last, also strip sign-changing NOPs when considering further
canonicalization.  Canonicalize also when optimizing for size.

From-SVN: r214013

10 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Tocar [Fri, 15 Aug 2014 10:35:03 +0000 (14:35 +0400)]
MAINTAINERS (Write After Approval): Add myself.

         * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214012

10 years agore PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP...
Jakub Jelinek [Fri, 15 Aug 2014 10:23:13 +0000 (12:23 +0200)]
re PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP ATOMIC)

PR fortran/62131
* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
is allocatable, rather than whenever var->attr.allocatable.

* gfortran.dg/gomp/pr62131.f90: New test.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r214010

10 years ago[AArch64] Move one_match > zero_match case to just before simple_sequence.
Kyrylo Tkachov [Fri, 15 Aug 2014 09:02:27 +0000 (09:02 +0000)]
[AArch64] Move one_match > zero_match case to just before simple_sequence.

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
one_match > zero_match case to just before simple_sequence.

From-SVN: r214008

10 years agodata-streamer.h (streamer_string_index, [...]): Remove.
Richard Biener [Fri, 15 Aug 2014 07:51:35 +0000 (07:51 +0000)]
data-streamer.h (streamer_string_index, [...]): Remove.

2014-08-15  Richard Biener  <rguenther@suse.de>

* data-streamer.h (streamer_string_index, string_for_index):
Remove.
* data-streamer-out.c (streamer_string_index): Make static.
* data-streamer-in.c (string_for_index): Likewise.
* lto-streamer-out.c (lto_output_location): Use bp_pack_string.
* lto-streamer-in.c (lto_input_location): Use bp_unpack_string.

From-SVN: r214007

10 years agore PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commo...
Richard Biener [Fri, 15 Aug 2014 07:50:40 +0000 (07:50 +0000)]
re PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commoning)

2014-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr62031.c: New testcase.

From-SVN: r214006

10 years agore PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP...
Jakub Jelinek [Fri, 15 Aug 2014 07:41:06 +0000 (09:41 +0200)]
re PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP 4.0 offload target)

PR fortran/62107
* trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
or allocatable passed by reference.
(gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.

From-SVN: r214003

10 years agore PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4...
Jakub Jelinek [Fri, 15 Aug 2014 07:40:03 +0000 (09:40 +0200)]
re PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4.0 offload target)

PR middle-end/62092
* gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
OMP_CLAUSE_SHARED for global vars if the global var is mentioned
in OMP_CLAUSE_MAP in some outer target region.

From-SVN: r214001

10 years agorl78-real.md (addqi3_real): Allow adding global variables to the accumulator.
DJ Delorie [Fri, 15 Aug 2014 02:52:55 +0000 (22:52 -0400)]
rl78-real.md (addqi3_real): Allow adding global variables to the accumulator.

* config/rl78/rl78-real.md (addqi3_real): Allow adding global
variables to the accumulator.

From-SVN: r213999

10 years agopredicates.md (rl78_near_mem_operand): New.
DJ Delorie [Fri, 15 Aug 2014 02:48:03 +0000 (22:48 -0400)]
predicates.md (rl78_near_mem_operand): New.

* config/rl78/predicates.md (rl78_near_mem_operand): New.
* config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
(movhi_virt_mm): Split out near mem-mem moves to avoid problems
with far-far moves.

From-SVN: r213998

10 years agotree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.
Bin Cheng [Fri, 15 Aug 2014 02:42:33 +0000 (02:42 +0000)]
tree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.

* tree-ssa-loop-ivopts.c (ivopts_data): New field
name_expansion_cache.
(tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
(tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
(strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
(difference_cannot_overflow_p): New parameter.  Use affine
expansion for equality check.
(iv_elimination_compare_lt): Pass new argument.

testsuite/ChangeLog
* gcc.dg/tree-ssa/ivopts-lt-2.c: New test.

From-SVN: r213997

10 years agorl78-expand.md (umulqihi3): Disable for G10.
DJ Delorie [Fri, 15 Aug 2014 02:30:22 +0000 (22:30 -0400)]
rl78-expand.md (umulqihi3): Disable for G10.

* config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
* config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.

From-SVN: r213996

10 years ago* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
DJ Delorie [Fri, 15 Aug 2014 00:23:38 +0000 (20:23 -0400)]
* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.

From-SVN: r213995

10 years agoDaily bump.
GCC Administrator [Fri, 15 Aug 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213994

10 years agore PR tree-optimization/62091 (ice in before_dom_children)
Jan Hubicka [Thu, 14 Aug 2014 23:36:22 +0000 (01:36 +0200)]
re PR tree-optimization/62091 (ice in before_dom_children)

PR tree-optimization/62091
* g++.dg/ipa/devirt-38.C: New testcase.
* tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
function_entry_reached.
(walk_aliased_vdefs): Clear it here.
* ipa-devirt.c (check_stmt_for_type_change): Handle static storage.

From-SVN: r213991

10 years agoipa-utils.h (compare_virtual_tables): Declare.
Jan Hubicka [Thu, 14 Aug 2014 23:30:46 +0000 (01:30 +0200)]
ipa-utils.h (compare_virtual_tables): Declare.

* ipa-utils.h (compare_virtual_tables): Declare.
* ipa-devirt.c (odr_subtypes_equivalent_p): New function

* lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.

From-SVN: r213990

10 years agotypeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE...
Paolo Carlini [Thu, 14 Aug 2014 20:12:32 +0000 (20:12 +0000)]
typeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE, return error_mark_node.

2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (composite_pointer_type, cxx_sizeof_or_alignof_type,
cp_build_array_ref, cp_build_function_call_vec): When a
pedwarn is suppressed under SFINAE, return error_mark_node.

* typeck.c (cxx_sizeof_or_alignof_type): Fix complain &
tf_warning_or_error, where complain is a bool, glitch.

From-SVN: r213983

10 years agoDR 458
Marek Polacek [Thu, 14 Aug 2014 18:56:10 +0000 (18:56 +0000)]
DR 458

DR 458
* ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
(ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.

* gcc.dg/c11-stdatomic-2.c: New test.

From-SVN: r213981

10 years agore PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong...
Thomas Koenig [Thu, 14 Aug 2014 18:52:12 +0000 (18:52 +0000)]
re PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong result)

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.h (symbol_attribute):  Add fe_temp flag.
* frontend-passes.c (is_fe_temp):  New function.
(create_var):  Don't add a temporary for an already
created variable or for a constant.
(combine_ARRAY_constructor):  Remove special handling
for constants.

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.dg/array_constructor_49.f90:  New test.

From-SVN: r213980

10 years agogfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
Tobias Burnus [Thu, 14 Aug 2014 18:39:15 +0000 (20:39 +0200)]
gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.

gcc/fortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
        (_gfortran_caf_register): Update for locking/critical.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * resolve.c (resolve_critical): New.
        (gfc_resolve_code): Call it.
        * trans-decl.c (gfor_fndecl_caf_critical,
        gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
        (gfc_build_builtin_function_decls): Remove critical,
        assign locking declarations.
        (generate_coarray_sym_init): Handle locking and
        critical variables.
        * trans-stmt.c (gfc_trans_critical): Add calls to
        lock/unlock libcaf functions.
        * trans.h (gfc_coarray_type): Update locking, add
        critical enum values.
        (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.

libgfortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_register_t): Update for critical.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * caf/single.c (_gfortran_caf_register): Handle locking
        variables.
        (_gfortran_caf_sendget): Re-name args for consistency.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.

From-SVN: r213979

10 years agogfortran.texi (Coarray Programming): Add first ABI documentation.
Tobias Burnus [Thu, 14 Aug 2014 18:35:01 +0000 (20:35 +0200)]
gfortran.texi (Coarray Programming): Add first ABI documentation.

2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (Coarray Programming): Add first ABI
        documentation.

From-SVN: r213978

10 years agoFix ChangeLog entry
Tom de Vries [Thu, 14 Aug 2014 17:56:18 +0000 (17:56 +0000)]
Fix ChangeLog entry

From-SVN: r213976

10 years agoRemove duplicate declaration of mem_attrs_eq_p
Tom de Vries [Thu, 14 Aug 2014 17:41:44 +0000 (17:41 +0000)]
Remove duplicate declaration of mem_attrs_eq_p

2014-08-14  Tom de Vries  <tom@codesourcery.com>

* emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.

From-SVN: r213975

10 years agore PR c++/62101 (deleted definitions of friend functions are rejected)
Ville Voutilainen [Thu, 14 Aug 2014 17:11:26 +0000 (20:11 +0300)]
re PR c++/62101 (deleted definitions of friend functions are rejected)

PR c++/62101
* decl.c (grokdeclarator): Move the check for friend initializers..
* decl2.c (grokfield) ..here. Postpone early return for friends
until after the initializer check.

From-SVN: r213974

10 years agore PR c++/54377 (Consider default arguments in "wrong number of template arguments...
Paolo Carlini [Thu, 14 Aug 2014 17:00:45 +0000 (17:00 +0000)]
re PR c++/54377 (Consider default arguments in "wrong number of template arguments" diagnostic)

/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* pt.c (coerce_template_parms): Improve error message vs default
arguments.

/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* g++.dg/template/pr54377.C: New.
* g++.dg/cpp0x/pr54377.C: Likewise.
* g++.dg/cpp0x/alias-decl-2.C: Adjust.
* g++.dg/cpp0x/pr51226.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/parse/too-many-tmpl-args1.C: Likewise.
* g++.dg/template/dtor3.C: Likewise.
* g++.dg/template/qualttp4.C: Likewise.
* g++.dg/template/spec28.C: Likewise.
* g++.old-deja/g++.brendan/crash8.C: Likewise.
* g++.old-deja/g++.pt/ttp7.C: Likewise.

From-SVN: r213973

10 years agore PR fortran/62076 (testsuite failure in udr2.90)
Jakub Jelinek [Thu, 14 Aug 2014 16:39:07 +0000 (18:39 +0200)]
re PR fortran/62076 (testsuite failure in udr2.90)

PR fortran/62076
* openmp.c (gfc_match_omp_clauses): When failed to match
operator name, defined op name or name, set buffer to
empty string.  Don't call gfc_find_omp_udr if buffer is empty
string.
(gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
before calling gfc_free_omp_udr.

From-SVN: r213971

10 years agoFix if-conversion pass for dead type-unsafe code
Tom de Vries [Thu, 14 Aug 2014 16:13:59 +0000 (16:13 +0000)]
Fix if-conversion pass for dead type-unsafe code

2014-08-14  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/62004
PR rtl-optimization/62030
* ifcvt.c (rtx_interchangeable_p): New function.
(noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
* emit-rtl.h (mem_attrs_eq_p): Declare.

* gcc.dg/pr62004.c: New test.
* gcc.dg/pr62030.c: Same.
* gcc.target/mips/pr62030-octeon.c: Same.

From-SVN: r213970

10 years agographite-scop-detection.c: Add inclusion of cp-tree.h.
Roman Gareev [Thu, 14 Aug 2014 14:53:59 +0000 (14:53 +0000)]
graphite-scop-detection.c: Add inclusion of cp-tree.h.

[gcc/]

* graphite-scop-detection.c:
Add inclusion of cp-tree.h.
(graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
in case they are pointers to object types

From-SVN: r213969

10 years agoBASE-VER: Change to 5.0.0
Richard Biener [Thu, 14 Aug 2014 13:58:50 +0000 (13:58 +0000)]
BASE-VER: Change to 5.0.0

2014-08-14  Richard Biener  <rguenther@suse.de>

* BASE-VER: Change to 5.0.0

From-SVN: r213968

10 years agocrontab: Change trunk snapshots from 4.10 to 5.
Richard Biener [Thu, 14 Aug 2014 13:58:16 +0000 (13:58 +0000)]
crontab: Change trunk snapshots from 4.10 to 5.

2014-08-14  Richard Biener  <rguenther@suse.de>

* crontab: Change trunk snapshots from 4.10 to 5.

From-SVN: r213967

10 years agosse.md (define_mode_attr avx512): New.
Alexander Ivchenko [Thu, 14 Aug 2014 13:39:50 +0000 (13:39 +0000)]
sse.md (define_mode_attr avx512): New.

gcc/
        * config/i386/sse.md (define_mode_attr avx512): New.
(define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
V4DI modes.
(define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
(define_mode_attr ssse3_avx2): Ditto.
(define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
(define_mode_attr avx2_avx512bw): New.
(define_mode_attr ssedoublemodelower): New.
(define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
V32HI, V64QI modes.
(define_mode_attr ssebytemode): Allow V8DI modes.
(define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
(define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
(define_mode_attr ssePSmode2): New.
(define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
V16HI, V32HI modes.
(define_mode_attr dbpsadbwmode): New.
(define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
(vi8_sse4_1_avx2_avx512): New.
(define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
mode attribute.
(define_mode_attr blendbits): Move before its immediate use.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213966

10 years agosse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
Alexander Ivchenko [Thu, 14 Aug 2014 13:30:51 +0000 (13:30 +0000)]
sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.

gcc/
* config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
* config/i386/subst.md
(define_mode_iterator SUBST_V): Update.
(define_mode_iterator SUBST_A): Ditto.
(define_subst_attr "mask_operand7"): New.
(define_subst_attr "mask_operand10"): New.
(define_subst_attr "mask_operand_arg34") : New.
(define_subst_attr "mask_expand_op3"): New.
(define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
(define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
(define_subst_attr "mask_avx512vl_condition"): New.
(define_subst_attr "round_mask_operand4"): Ditto.
(define_subst_attr "round_mask_scalar_op3"): Delete.
(define_subst_attr "round_mask_op4"): New.
(define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
V16SImode.
(define_subst_attr "round_modev8sf_condition"): New.
(define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
<MODE>mode.
(define_subst_attr "round_saeonly_mask_operand4"): New.
(define_subst_attr "round_saeonly_mask_op4"): New.
(define_subst_attr "round_saeonly_mode512bit_condition"): Allow
V8DImode, V16SImode.
(define_subst_attr "round_saeonly_modev8sf_condition"): New.
(define_subst_attr "mask_expand4_name" "mask_expand4"): New.
(define_subst_attr "mask_expand4_args"): New.
(define_subst "mask_expand4"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213965

10 years agoi386.md (define_attr "isa"): Add avx512bw,noavx512bw.
Alexander Ivchenko [Thu, 14 Aug 2014 13:25:36 +0000 (13:25 +0000)]
i386.md (define_attr "isa"): Add avx512bw,noavx512bw.

gcc/
        * config/i386/i386.md
(define_attr "isa"): Add avx512bw,noavx512bw.
(define_attr "enabled"): Ditto.
(define_split): Add 32/64-bit mask logic.
(define_insn "*k<logic>qi"): New.
(define_insn "*k<logic>hi"): New.
(define_insn "*anddi_1"): Add mask version.
(define_insn "*andsi_1"): Ditto.
(define_insn "*<code><mode>_1"): Ditto.
(define_insn "*<code>hi_1"): Ditto.
(define_insn "kxnor<mode>"): New.
(define_insn "kunpcksi"): New.
(define_insn "kunpckdi"): New.
(define_insn "*one_cmpl<mode>2_1"): Add mask version.
(define_insn "*one_cmplhi2_1"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213964

10 years agoi386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.
Alexander Ivchenko [Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)]
i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.

gcc/
* config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
V32HImode.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213963

10 years agoi386.c (print_reg): Сorrectly print 64-bit mask registers.
Alexander Ivchenko [Thu, 14 Aug 2014 13:18:42 +0000 (13:18 +0000)]
i386.c (print_reg): Сorrectly print 64-bit mask registers.

gcc/
* config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
registers.
(inline_secondary_memory_needed): Allow 64 bit wide mask registers.
(ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
xmm/ymm16+ when availble.
* config/i386/i386.h
(HARD_REGNO_NREGS): Add mask regs.
(VALID_AVX512F_REG_MODE): Ditto.
(VALID_AVX512F_REG_MODE) : Define.
(VALID_MASK_AVX512BW_MODE): Ditto.
(reg_class) (MASK_REG_P(X)): Define.
* config/i386/i386.md: Do not split long moves with mask register,
use kmovb if avx512bw is availible.
(movdi_internal): Handle mask registers.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213962

10 years agore PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with...
Richard Biener [Thu, 14 Aug 2014 13:14:24 +0000 (13:14 +0000)]
re PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts -fno-tree-reassoc -fno-tree-sink)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62081
* tree-ssa-loop.c (pass_fix_loops): New pass.
(pass_tree_loop::gate):  Do not fixup loops here.
* tree-pass.h (make_pass_fix_loops): Declare.
* passes.def: Schedule pass_fix_loops before GIMPLE loop passes.

From-SVN: r213961

10 years agore PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)
Richard Biener [Thu, 14 Aug 2014 13:13:41 +0000 (13:13 +0000)]
re PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR lto/62067
* lto-lang.c (def_fn_type): Fix error handling wrt va_end.

From-SVN: r213960

10 years agorequirements: Remove empty directory.
Matthias Klose [Thu, 14 Aug 2014 11:37:20 +0000 (11:37 +0000)]
requirements: Remove empty directory.

2014-08-14  Matthias Klose  <doko@ubuntu.com>

        * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
        Remove empty directory.

From-SVN: r213958

10 years agotree.c (type_hash_lookup, [...]): Merge into ...
Richard Biener [Thu, 14 Aug 2014 11:15:41 +0000 (11:15 +0000)]
tree.c (type_hash_lookup, [...]): Merge into ...

2014-08-14  Richard Biener  <rguenther@suse.de>

* tree.c (type_hash_lookup, type_hash_add): Merge into ...
(type_hash_canon): ... this and avoid 2nd lookup for the add.

From-SVN: r213956

10 years agoparser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers-...
Paolo Carlini [Thu, 14 Aug 2014 09:15:11 +0000 (09:15 +0000)]
parser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers->type.

/gcc/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_init_declarator): Remove redundant check of
decl_specifiers->type.

/gcc/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/alias-decl-4.C: Adjust for parser change.
* g++.dg/cpp0x/decltype2.C: Likewise.
* g++.dg/cpp0x/decltype3.C: Likewise.
* g++.dg/cpp0x/pr60249.C: Likewise.
* g++.dg/cpp0x/variadic-ex10.C: Likewise.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/cpp0x/variadic74.C: Likewise.
* g++.dg/parse/error10.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/template/crash106.C: Likewise.
* g++.dg/template/crash89.C: Likewise.
* g++.dg/template/nontype7.C: Likewise.
* g++.dg/template/void3.C: Likewise.
* g++.dg/template/void7.C: Likewise.

/libstdc++-v3
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/26_numerics/random/linear_congruential_engine/
requirements/non_uint_neg.cc: Adjust for parser change.
* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
requirements/non_uint_neg.cc: Likewise.

From-SVN: r213952

10 years agore PR middle-end/62090 (ice in compute_may_aliases)
Richard Biener [Thu, 14 Aug 2014 09:02:18 +0000 (09:02 +0000)]
re PR middle-end/62090 (ice in compute_may_aliases)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62090
* builtins.c (fold_builtin_sprintf): Move to gimple-fold.c.
(fold_builtin_2): Do not fold sprintf.
(fold_builtin_3): Likewise.
* gimple-fold.c (gimple_fold_builtin_sprintf): New function
moved from builtins.c.
(gimple_fold_builtin): Fold sprintf.

* gcc.dg/pr62090.c: New testcase.

From-SVN: r213951

10 years agore PR tree-optimization/62079 (ICE: in calc_dfs_tree, at dominance.c:401 with -fnon...
Richard Biener [Thu, 14 Aug 2014 08:56:49 +0000 (08:56 +0000)]
re PR tree-optimization/62079 (ICE: in calc_dfs_tree, at dominance.c:401 with -fnon-call-exceptions)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/62079
* recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
run cleanup_cfg.

* g++.dg/pr62079.C: New testcase.

From-SVN: r213950

10 years agoipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of current_function_decl.
Ilya Enkovich [Thu, 14 Aug 2014 08:46:44 +0000 (08:46 +0000)]
ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of current_function_decl.

gcc/
* ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of
current_function_decl.

From-SVN: r213947

10 years agocgraph.c (cgraph_node::function_symbol): Fix wrong cgraph_function_node to cgraph_nod...
Ilya Enkovich [Thu, 14 Aug 2014 08:45:45 +0000 (08:45 +0000)]
cgraph.c (cgraph_node::function_symbol): Fix wrong cgraph_function_node to cgraph_node::function_symbol refactoring.

gcc/
* cgraph.c (cgraph_node::function_symbol): Fix wrong
cgraph_function_node to cgraph_node::function_symbol
refactoring.

From-SVN: r213946

10 years agoarm.c (arm_option_override): Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when...
Zhenqiang Chen [Thu, 14 Aug 2014 04:47:43 +0000 (04:47 +0000)]
arm.c (arm_option_override): Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.

ChangeLog:
2014-08-14  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c (arm_option_override): Set max_insns_skipped
to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.

testsuite/ChangeLog:
2014-08-14  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/max-insns-skipped.c: New test.

From-SVN: r213939

10 years agoaddrtmp.c: Add bind_pic_locally option.
Bin Cheng [Thu, 14 Aug 2014 02:10:05 +0000 (02:10 +0000)]
addrtmp.c: Add bind_pic_locally option.

testcases
* c-c++-common/addrtmp.c: Add bind_pic_locally option.

From-SVN: r213937

10 years agoDaily bump.
GCC Administrator [Thu, 14 Aug 2014 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213936

10 years agocompiler, runtime: Fix unexpected GC interfering with closure passing.
Ian Lance Taylor [Wed, 13 Aug 2014 22:31:44 +0000 (22:31 +0000)]
compiler, runtime: Fix unexpected GC interfering with closure passing.

The Go frontend passes closures through to functions using the
functions __go_set_closure and __go_get_closure.  The
expectation is that there are no function calls between
set_closure and get_closure.  However, it turns out that there
can be function calls if some of the function arguments
require type conversion to an interface type.  Converting to
an interface type can allocate memory, and that can in turn
trigger a garbage collection, and that can in turn call pool
cleanup functions that may call __go_set_closure.  So the
called function can see the wrong closure value, which is bad.

This patch fixes the problem in two different ways.  First, we
move all type conversions in function arguments into temporary
variables so that they can not appear before the call to
__go_set_closure.  (This required shifting the flatten phase
after the simplify_thunk phase, since the latter expects to
work with unconverted argument types.)  Second, we fix the
memory allocation function to preserve the closure value
across any possible garbage collection.

A test case is the libgo database/sql check run with the
environment variable GOGC set to 1.

From-SVN: r213932

10 years agocrtstuff.c: Undef caddr_t.
Steve Ellcey [Wed, 13 Aug 2014 22:23:16 +0000 (22:23 +0000)]
crtstuff.c: Undef caddr_t.

2014-08-13  Steve Ellcey  <sellcey@mips.com>

* crtstuff.c: Undef caddr_t.

From-SVN: r213931

10 years agore PR libstdc++/61841 (broken std::thread on Hurd)
Jonathan Wakely [Wed, 13 Aug 2014 18:40:10 +0000 (19:40 +0100)]
re PR libstdc++/61841 (broken std::thread on Hurd)

PR libstdc++/61841
* include/std/thread (thread::_M_start_thread): Declare new overload.
(thread::thread<_Callable, _Args...>): Call new overload with an
explicit reference to pthread_create.
* src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
* config/abi/pre/gnu.ver: Export new function.

From-SVN: r213922

10 years agocall.c (build_x_va_arg): Support passing non-POD through ....
Jason Merrill [Wed, 13 Aug 2014 18:25:06 +0000 (14:25 -0400)]
call.c (build_x_va_arg): Support passing non-POD through ....

* call.c (build_x_va_arg): Support passing non-POD through ....
(convert_arg_to_ellipsis): Likewise.

From-SVN: r213921

10 years ago9drpc.adb: Fix a typo
Sylvestre Ledru [Wed, 13 Aug 2014 16:59:05 +0000 (16:59 +0000)]
9drpc.adb: Fix a typo

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

        * 9drpc.adb: Fix a typo
        * s-interr.ads: Likewise
        * s-taskin.ads: Likewise
        * s-traces.ads: Likewise
        * sysdep.c: Likewise

From-SVN: r213917

10 years agoFix the date ...
Sylvestre Ledru [Wed, 13 Aug 2014 16:56:15 +0000 (16:56 +0000)]
Fix the date ...

From-SVN: r213916

10 years agoprofiler_hash_func.h: Fix a comment typo
Sylvestre Ledru [Wed, 13 Aug 2014 16:28:39 +0000 (16:28 +0000)]
profiler_hash_func.h: Fix a comment typo

2014-08-12  Sylvestre Ledru  <sylvestre@debian.org>

        * include/profile/impl/profiler_hash_func.h: Fix a comment typo

From-SVN: r213914

10 years agoRemove redundant '@' to avoid compiling warning
Chen Gang [Wed, 13 Aug 2014 16:00:44 +0000 (16:00 +0000)]
Remove redundant '@' to avoid compiling warning

2014-08-13  Chen Gang  gang.chen.5i5j@gmail.com

* microblaze/microblaze.md: Remove redundant '@' to avoid compiling
warning.

From-SVN: r213913

10 years agodemangler-fuzzer.c: New file.
Gary Benson [Wed, 13 Aug 2014 15:56:38 +0000 (15:56 +0000)]
demangler-fuzzer.c: New file.

libiberty/
* testsuite/demangler-fuzzer.c: New file.
* testsuite/Makefile.in (fuzz-demangler): New rule.
(demangler-fuzzer): Likewise.
(mostlyclean): Clean up demangler fuzzer.

From-SVN: r213912

10 years agopt.c (lookup_template_variable): Make dependent variable templates have unknown type.
Andrew Sutton [Wed, 13 Aug 2014 14:16:48 +0000 (14:16 +0000)]
pt.c (lookup_template_variable): Make dependent variable templates have unknown type.

2014-08-13  Andrew Sutton  <andrew.n.sutton@gmail.com>

        * pt.c (lookup_template_variable): Make dependent variable templates
        have unknown type.

From-SVN: r213910

10 years ago2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 13 Aug 2014 11:56:45 +0000 (11:56 +0000)]
2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix thinko in the last commit.

From-SVN: r213908

10 years agore PR libstdc++/62118 (cases under libstdc++-v3/testsuite/ext/ failed on aarch64...
Paolo Carlini [Wed, 13 Aug 2014 11:24:35 +0000 (11:24 +0000)]
re PR libstdc++/62118 (cases under libstdc++-v3/testsuite/ext/ failed on aarch64/arm)

2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/62118
* include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.

From-SVN: r213906

10 years agopr35356-2.c: Update according to the ISL code generator.
Roman Gareev [Wed, 13 Aug 2014 11:10:25 +0000 (11:10 +0000)]
pr35356-2.c: Update according to the ISL code generator.

[gcc/testsuite]

* gcc.dg/graphite/pr35356-2.c: Update according to the ISL code
generator.

From-SVN: r213905

10 years agoparser.c (cp_parser_elaborated_type_specifier): Handle specially cp_parser_template_i...
Paolo Carlini [Wed, 13 Aug 2014 08:47:40 +0000 (08:47 +0000)]
parser.c (cp_parser_elaborated_type_specifier): Handle specially cp_parser_template_id returning a BASELINK.

2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_elaborated_type_specifier): Handle
specially cp_parser_template_id returning a BASELINK.

2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_diagnose_invalid_type_name,
cp_parser_make_typename_type): Remove scope parameter.
(cp_parser_parse_and_diagnose_invalid_type_name,
cp_parser_elaborated_type_specifier): Adjust calls.

From-SVN: r213897

10 years agoDaily bump.
GCC Administrator [Wed, 13 Aug 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213896

10 years agore PR target/62025 (Miscompilation of openssl sha512.c)
Jakub Jelinek [Tue, 12 Aug 2014 21:24:40 +0000 (23:24 +0200)]
re PR target/62025 (Miscompilation of openssl sha512.c)

PR target/62025
* sched-deps.c (find_inc): Check if inc_insn doesn't clobber
any registers that are used in mem_insn.

From-SVN: r213887

10 years agosocket.c: For RTEMS, use correct prototype of gethostbyname_r().
Joel Sherrill [Tue, 12 Aug 2014 19:49:26 +0000 (19:49 +0000)]
socket.c: For RTEMS, use correct prototype of gethostbyname_r().

2014-08-12  Joel Sherrill <joel.sherrill@oarcorp.com>

* socket.c: For RTEMS, use correct prototype of gethostbyname_r().
* gsocket.h Add include of <unistd.h> on RTEMS.

From-SVN: r213884

10 years agoMakefile.in: Add CFLAGS_FOR_TARGET to GNATLIBCFLAGS_FOR_C.
Joel Sherrill [Tue, 12 Aug 2014 19:47:09 +0000 (19:47 +0000)]
Makefile.in: Add CFLAGS_FOR_TARGET to GNATLIBCFLAGS_FOR_C.

2014-08-12  Joel Sherrill <joel.sherrill@oarcorp.com>

* Makefile.in: Add CFLAGS_FOR_TARGET to GNATLIBCFLAGS_FOR_C.

From-SVN: r213880