platform/upstream/gcc.git
8 years agoFix leak in gcc/tree-ssa-reassoc.c.
Martin Liska [Thu, 19 May 2016 15:05:07 +0000 (17:05 +0200)]
Fix leak in gcc/tree-ssa-reassoc.c.

* tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
an auto_vec instead of re-creating it.

From-SVN: r236466

8 years agoFix leak in tree-ssa-loop-prefetch.c
Martin Liska [Thu, 19 May 2016 15:04:42 +0000 (17:04 +0200)]
Fix leak in tree-ssa-loop-prefetch.c

* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
auto_vec instead of vec.

From-SVN: r236465

8 years agoLTO: display file name if LTO version check fails
Martin Liska [Thu, 19 May 2016 15:02:30 +0000 (17:02 +0200)]
LTO: display file name if LTO version check fails

* lto-section-in.c (lto_get_section_data): Call
lto_check_version with additional argument.
* lto-streamer.c (lto_check_version): Add new argument.
* lto-streamer.h (lto_check_version): Likewise.

From-SVN: r236464

8 years ago[ARM] Fix costing of sign-extending load in rtx costs
Kyrylo Tkachov [Thu, 19 May 2016 13:54:31 +0000 (13:54 +0000)]
[ARM] Fix costing of sign-extending load in rtx costs

* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
Don't add cost of inner memory when handling sign-extended
loads.

From-SVN: r236461

8 years agocse.c (cse_main): Free dominance info.
Ilya Enkovich [Thu, 19 May 2016 13:50:22 +0000 (13:50 +0000)]
cse.c (cse_main): Free dominance info.

gcc/

* cse.c (cse_main): Free dominance info.
(rest_of_handle_cse): Don't free dominance info.
(rest_of_handle_cse2): Likewise.
(rest_of_handle_cse_after_global_opts): Likewise.

gcc/testsuite/

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

From-SVN: r236460

8 years ago[ARM] PR target/71056: Don't use vectorized builtins when NEON is not available
Kyrylo Tkachov [Thu, 19 May 2016 13:43:58 +0000 (13:43 +0000)]
[ARM] PR target/71056: Don't use vectorized builtins when NEON is not available

PR target/71056
* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
NULL_TREE early if NEON is not available.  Remove now redundant check
in ARM_CHECK_BUILTIN_MODE.

* gcc.target/arm/pr71056.c: New test.

From-SVN: r236459

8 years agodecl.c (finish_enum_value_list): Use the specified mode.
Bernd Edlinger [Thu, 19 May 2016 12:27:31 +0000 (12:27 +0000)]
decl.c (finish_enum_value_list): Use the specified mode.

2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * decl.c (finish_enum_value_list): Use the specified mode.

testsuite:
2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/pr69669.c: Check the used mode.

From-SVN: r236458

8 years agore PR sanitizer/64354 (no preprocessor symbol __SANITIZE_THREAD__)
Maxim Ostapenko [Thu, 19 May 2016 12:05:59 +0000 (12:05 +0000)]
re PR sanitizer/64354 (no preprocessor symbol __SANITIZE_THREAD__)

2016-05-19  Maxim Ostapenko  <m.ostapenko@samsung.com>

PR sanitizer/64354
* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add new
builtin __SANITIZE_THREAD__ macros for fsanitize=thread switch.
* doc/cpp.texi: Document new macros.

* c-c++-common/tsan/sanitize-thread-macro.c: New test.

From-SVN: r236457

8 years agoMove ChangeLog entry to the right file.
Jakub Jelinek [Thu, 19 May 2016 09:55:01 +0000 (11:55 +0200)]
Move ChangeLog entry to the right file.

PR other/61321
PR other/61233
* demangle.h (enum demangle_component_type)
<DEMANGLE_COMPONENT_CONVERSION>: New value.

From-SVN: r236449

8 years agoRemove libiberty/ path prefixes.
Jakub Jelinek [Thu, 19 May 2016 09:27:57 +0000 (11:27 +0200)]
Remove libiberty/ path prefixes.

From-SVN: r236448

8 years agore PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
Bin Cheng [Thu, 19 May 2016 09:03:36 +0000 (09:03 +0000)]
re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)

PR tree-optimization/69848
* tree-vect-loop.c (vectorizable_reduction): Don't factor
comparison expr out of VEC_COND_EXPR for COND_REDUCTION.

From-SVN: r236447

8 years agore PR c++/70498 (Libiberty Demangler segfaults (3))
Jakub Jelinek [Thu, 19 May 2016 08:49:30 +0000 (10:49 +0200)]
re PR c++/70498 (Libiberty Demangler segfaults (3))

PR c++/70498
* cp-demangle.c (d_expression_1): Formatting fix.

From-SVN: r236445

8 years agoFix up 2 ChangeLog entries.
Jakub Jelinek [Thu, 19 May 2016 08:34:39 +0000 (10:34 +0200)]
Fix up 2 ChangeLog entries.

From-SVN: r236443

8 years agofunction: A fix for my previous commit
Segher Boessenkool [Thu, 19 May 2016 07:51:48 +0000 (09:51 +0200)]
function: A fix for my previous commit

It failed for targets that have an eh_return pattern with a splitter
gated by epilogue_done.

        * function.c (thread_prologue_and_epilogue_insn): Move the
        "goto epilogue_done" one block later.

From-SVN: r236441

8 years agore PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized)
Richard Biener [Thu, 19 May 2016 07:39:52 +0000 (07:39 +0000)]
re PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized)

2016-05-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70729
* passes.def: Move LIM pass before PRE.  Remove no longer
required copyprop and move first DCE out of the loop pipeline.

* gcc.dg/autopar/outer-6.c: Adjust to avoid redundant store.
* gcc.dg/graphite/scop-18.c: Likewise.
* gcc.dg/pr41783.c: Disable LIM.
* gcc.dg/tree-ssa/loadpre10.c: Likewise.
* gcc.dg/tree-ssa/loadpre23.c: Likewise.
* gcc.dg/tree-ssa/loadpre24.c: Likewise.
* gcc.dg/tree-ssa/loadpre25.c: Likewise.
* gcc.dg/tree-ssa/loadpre4.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-18.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-20.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
* gfortran.dg/pr42108.f90: Likewise.

From-SVN: r236440

8 years agoPR driver/69265: add hint for options with misspelled arguments
David Malcolm [Thu, 19 May 2016 00:52:08 +0000 (00:52 +0000)]
PR driver/69265: add hint for options with misspelled arguments

opts-common.c's cmdline_handle_error handles invalid arguments
for options with CL_ERR_ENUM_ARG by building a string listing the
valid arguments.  By also building a vec of valid arguments, we
can use find_closest_string and provide a hint if we see a close
misspelling.

gcc/ChangeLog:
PR driver/69265
* Makefile.in (GCC_OBJS): Move spellcheck.o to...
(OBJS-libcommon-target): ...here.
* opts-common.c: Include spellcheck.h.
(cmdline_handle_error): Build a vec of valid options and use it
to suggest provide hints for misspelled arguments.

gcc/testsuite/ChangeLog:
PR driver/69265
* gcc.dg/spellcheck-options-11.c: New test case.

From-SVN: r236439

8 years agoDaily bump.
GCC Administrator [Thu, 19 May 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236438

8 years agocplus-dem.c (enum type_kind_t): Add tk_rvalue_reference constant.
Artemiy Volkov [Wed, 18 May 2016 21:52:26 +0000 (21:52 +0000)]
cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference constant.

        * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
        constant.
        (demangle_template_value_parm): Handle tk_rvalue_reference
        type kind.
        (do_type): Support 'O' type id (rvalue references).

        * testsuite/demangle-expected: Add tests.

From-SVN: r236434

8 years agore PR c++/71100 (Internal compiler error while calling a pointer to member function...
Jakub Jelinek [Wed, 18 May 2016 21:23:07 +0000 (23:23 +0200)]
re PR c++/71100 (Internal compiler error while calling a pointer to member function that throws)

PR c++/71100
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
lhs if it has TREE_ADDRESSABLE type.

* g++.dg/opt/pr71100.C: New test.

From-SVN: r236430

8 years agore PR target/71145 (Alpha: Error: No lda !gpdisp!278 was found)
Uros Bizjak [Wed, 18 May 2016 19:15:22 +0000 (21:15 +0200)]
re PR target/71145 (Alpha: Error: No lda !gpdisp!278 was found)

PR target/71145
* config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
(*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.

From-SVN: r236423

8 years agopt.c (value_dependent_expression_p): Tweak new cases to better match the wording...
Jason Merrill [Wed, 18 May 2016 17:43:18 +0000 (13:43 -0400)]
pt.c (value_dependent_expression_p): Tweak new cases to better match the wording in the standard.

* pt.c (value_dependent_expression_p): Tweak new cases to better
match the wording in the standard.

From-SVN: r236421

8 years agoAllow constant global VAR_DECLs in constant jump functions
Martin Jambor [Wed, 18 May 2016 16:44:08 +0000 (18:44 +0200)]
Allow constant global VAR_DECLs in constant jump functions

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/69708
* ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant
input for NOP_EXPR pass-through functions.
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow
aggregate global constant VAR_DECLs in constant jump functions.

testsuite/
* gcc.dg/ipa/iinline-cstagg-2.c: New test.
* gcc.dg/ipa/ipcp-cstagg-5.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-6.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-7.c: Likewise.

From-SVN: r236418

8 years agoConst parameters are always unmodified
Martin Jambor [Wed, 18 May 2016 16:41:19 +0000 (18:41 +0200)]
Const parameters are always unmodified

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/69708
* ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads
from TREE_READONLY parameters.

From-SVN: r236417

8 years agoIndirect inlining of targets from references of global constants
Martin Jambor [Wed, 18 May 2016 16:38:56 +0000 (18:38 +0200)]
Indirect inlining of targets from references of global constants

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/69708
* cgraph.h (cgraph_indirect_call_info): New field
guaranteed_unmodified.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value
to ipa_find_agg_cst_for_param, check guaranteed_unmodified when
appropriate.
* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also
pass the parameter value to ipa_find_agg_cst_for_param.
* ipa-prop.c (ipa_load_from_parm_agg): New parameter
guaranteed_unmodified, store AA results there instead of bailing out
if present.
(ipa_note_param_call): Also initialize guaranteed_unmodified flag.
(ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag.
(find_constructor_constant_at_offset): New function.
(ipa_find_agg_cst_from_init): Likewise.
(ipa_find_agg_cst_for_param): Also seearch for aggregate values in
static initializers of contants, report back through a new paameter
from_global_constant if that was the case.
(try_make_edge_direct_simple_call): Also pass parameter value to
ipa_find_agg_cst_for_param, check guaranteed_unmodified when
appropriate.
(ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified.
(ipa_read_indirect_edge_info): Likewise.
* ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration.
(ipa_load_from_parm_agg): Likewise.

testsuite/
* gcc.dg/ipa/iinline-cstagg-1.c: New test.
* gcc.dg/ipa/ipcp-cstagg-1.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-2.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-3.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-4.c: Likewise.

From-SVN: r236416

8 years agore PR c++/69793 (ICE on invalid code in "cp_lexer_peek_nth_token")
Paolo Carlini [Wed, 18 May 2016 16:26:35 +0000 (16:26 +0000)]
re PR c++/69793 (ICE on invalid code in "cp_lexer_peek_nth_token")

/cp
2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69793
* parser.c (cp_parser_template_id): Don't call cp_lexer_peek_nth_token
when the previous cp_lexer_peek_token returns CPP_EOF.

/testsuite
2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69793
* g++.dg/template/crash122.C: New.

From-SVN: r236414

8 years agore PR target/71161 (Lots of ASAN and libgo runtime FAILs after r236090)
Uros Bizjak [Wed, 18 May 2016 14:40:54 +0000 (16:40 +0200)]
re PR target/71161 (Lots of ASAN and libgo runtime FAILs after r236090)

PR target/71161
* elf.c (phdr_callback) [__i386__]: Add
__attribute__((__force_align_arg_pointer__)).

From-SVN: r236397

8 years ago[Patch, lra] Guard in_class_p with REG_P check
Jiong Wang [Wed, 18 May 2016 14:37:28 +0000 (14:37 +0000)]
[Patch, lra] Guard in_class_p with REG_P check

gcc/

PR rtl-optimization/71150
* lra-constraint (process_addr_reg): Guard "in_class_p" with REG_P
check.

From-SVN: r236396

8 years agore PR c++/70466 ([ICE on invalid code in tree check: expected constructor, have parm_...
Paolo Carlini [Wed, 18 May 2016 14:18:06 +0000 (14:18 +0000)]
re PR c++/70466 ([ICE on invalid code in tree check: expected constructor, have parm_decl in convert_like_real, at cp/call.c:6371 with -std=c++11)

/cp
2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70466
* call.c (convert_like_real): Check that we are actually converting
from an init list.

/testsuite
2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70466
* g++.dg/template/pr70466-1.C: New.
* g++.dg/template/pr70466-2.C: Likewise.

From-SVN: r236395

8 years agore PR target/70915 (Improve loading 0/-1 in VSX registers on PowerPC)
Michael Meissner [Wed, 18 May 2016 14:04:32 +0000 (14:04 +0000)]
re PR target/70915 (Improve loading 0/-1 in VSX registers on PowerPC)

[gcc]
2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70915
* config/rs6000/constraints.md (wE constraint): New constraint
for a vector constant that can be loaded with XXSPLTIB.
(wM constraint): New constraint for a vector constant of a 1's.
(wS constraint): New constraint for a vector constant that can be
loaded with XXSPLTIB and a vector sign extend instruction.
* config/rs6000/predicates.md (xxspltib_constant_split): New
predicates for wE/wS constraints.
(xxspltib_constant_nosplit): Likewise.
(easy_vector_constant): Add support for constants that can be
loaded via XXSPLTIB.
(all_ones_constant): New predicate for vector constant with all
1's set.
(splat_input_operand): Add support for ISA 3.0 word splat
operations.
* config/rs6000/rs6000.c (xxspltib_constant_p): New function to
return if a constant can be loaded with the ISA 3.0 XXSPLTIB
instruction and possibly with a sign extension.
(output_vec_const_move): Add support for XXSPLTIB. If we are
loading up 0/-1 into Altivec registers, prefer using VSPLTISW
instead of XXLXOR/XXLORC.
(rs6000_expand_vector_init): Add support for ISA 3.0 word splat
operations.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_output_move_128bit): Use output_vec_const_move to emit
constants.
* config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
combine VSX_M and VSX_M2 into one iterator.
(VSX_M2): Likewise.
(VSINT_84): New iterators for loading constants with XXSPLTIB.
(VSINT_842): Likewise.
(UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
(xxspltib_v16qi): New insns to load up constants with the ISA 3.0
XXSPLTIB instruction.
(xxspltib_<mode>_nosplit): Likewise.
(xxspltib_<mode>_split): New insn to load up constants with
XXSPLTIB and a sign extend instruction.
(vsx_mov<mode>): Replace single move that handled all vector types
with separate 32-bit and 64-bit moves.  Combine the movti_<bit>
moves (when -mvsx-timode is in effect) into the main vector
moves.  Eliminate separate moves for <VSr> <VSa>, where the
preferred register class (<VSr>) is listed first, and the
secondary register class (<VSa>) is listed second with a '?' to
discourage use.  Prefer loading 0/-1 in any VSX register for ISA
3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
that if the register was involved in a slow operation, the
clear/set operation does not wait for the slow operation to
finish.  Adjust the length attributes for 32-bit mode.  Use
rs6000_output_move_128bit and drop the use of the string
instructions for 32-bit movti when -mvsx-timode is in effect.  Use
spacing so that the alternatives and attributes don't generate
long lines, and put things in columns, so that it is easier to
match up the operands and attributes with the insn alternatives.
(vsx_mov<mode>_64bit): Likewise.
(vsx_mov<mode>_32bit): Likewise.
(vsx_movti_64bit): Fold movti into normal vector moves.
(vsx_movti_32bit): Likewise.
(vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
spat instructions.
(vsx_splat_v4si_internal): Likewise.
(vsx_splat_v4sf_internal): Likewise.
(vector fusion peepholes): Use VSX_M instead of VSX_M2.
(vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
extend vector elements.
(vsx_sign_extend_hi_<mode>): Likewise.
(vsx_sign_extend_si_v2di): Likewise.
* config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
declaration.
* doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
constraints.  Add trailing period to wL documentation.

[gcc/testsuite]
2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-splat-1.c: New tests for ISA 3.0 word
splat operations and the XXSPLTIB instruction.
* gcc.target/powerpc/p9-splat-2.c: Likewise.
* gcc.target/powerpc/p9-splat-3.c: Likewise.
* gcc.target/powerpc/pr47755.c: Allow vspltisw in addition to
xxlxor to clear a register.

From-SVN: r236394

8 years agoTo...
Richard Sandiford [Wed, 18 May 2016 14:01:31 +0000 (14:01 +0000)]
To...

To: gcc-patches@gcc.gnu.org
Subject: PR 71020: Handle abnormal PHIs in tree-call-cdce.c
From: Richard Sandiford <richard.sandiford@arm.com>
Gcc: private.sent
--text follows this line--
The PR is about a case where tree-call-cdce.c causes two abnormal
PHIs for the same variable to be live at the same time, leading to
a coalescing failure.  It seemed like getting rid of these kinds of
input would be generally useful, so I added a utility to tree-dfa.c.

Tested on x86_64-linux-gnu.

gcc/
PR middle-end/71020
* tree-dfa.h (replace_abnormal_ssa_names): Declare.
* tree-dfa.c (replace_abnormal_ssa_names): New function.
* tree-call-cdce.c: Include tree-dfa.h.
(can_guard_call_p): New function, extracted from...
(can_use_internal_fn): ...here.
(shrink_wrap_one_built_in_call_with_conds): Remove failure path
and return void.
(shrink_wrap_one_built_in_call): Likewise.
(use_internal_fn): Likewise.
(shrink_wrap_conditional_dead_built_in_calls): Update accordingly
and return void.  Call replace_abnormal_ssa_names.
(pass_call_cdce::execute): Check can_guard_call_p during the
initial walk.  Assume shrink_wrap_conditional_dead_built_in_calls
will always change something.

gcc/testsuite/
* gcc.dg/torture/pr71020.c: New test.

From-SVN: r236393

8 years agoRespect --param ipa-max-agg-items=0
Martin Jambor [Wed, 18 May 2016 13:06:24 +0000 (15:06 +0200)]
Respect --param ipa-max-agg-items=0

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/70646
* ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.

From-SVN: r236390

8 years ago[PR 70646] Store size to inlining predicate conditions
Martin Jambor [Wed, 18 May 2016 13:04:23 +0000 (15:04 +0200)]
[PR 70646] Store size to inlining predicate conditions

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/70646
* ipa-inline.h (condition): New field size.
* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
for comaprison and store it into the new condition.
(evaluate_conditions_for_known_args): Use condition size to check
access sizes for all but CHANGED conditions.
(unmodified_parm_1): New parameter size_p, store access size into it.
(unmodified_parm): Likewise.
(unmodified_parm_or_parm_agg_item): Likewise.
(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
(set_cond_stmt_execution_predicate): Extract access sizes and store
them to conditions.
(set_switch_stmt_execution_predicate): Likewise.
(will_be_nonconstant_expr_predicate): Likewise.
(will_be_nonconstant_predicate): Likewise.
(inline_read_section): Stream condition size.
(inline_write_summary): Likewise.

testsuite/
* gcc.dg/ipa/pr70646.c: New test.

From-SVN: r236389

8 years agovget_lane.c: Add fp16 tests.
Christophe Lyon [Wed, 18 May 2016 12:57:53 +0000 (12:57 +0000)]
vget_lane.c: Add fp16 tests.

* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add fp16 tests.

From-SVN: r236388

8 years agovreinterpret.c: Add missing tests for vreinterpretq_p{8,16}.
Christophe Lyon [Wed, 18 May 2016 12:54:13 +0000 (12:54 +0000)]
vreinterpret.c: Add missing tests for vreinterpretq_p{8,16}.

* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add missing tests for vreinterpretq_p{8,16}.

From-SVN: r236387

8 years agovsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64.
Christophe Lyon [Wed, 18 May 2016 12:52:51 +0000 (12:52 +0000)]
vsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64.

* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64.

From-SVN: r236385

8 years agoarm-neon-ref.h (CHECK, [...]): Print which type was checked.
Christophe Lyon [Wed, 18 May 2016 12:50:34 +0000 (12:50 +0000)]
arm-neon-ref.h (CHECK, [...]): Print which type was checked.

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK,
CHECK_FP, CHECK_CUMULATIVE_SAT): Print which type was checked.

From-SVN: r236384

8 years agovmul.c: Remove useless #ifdef.
Christophe Lyon [Wed, 18 May 2016 12:48:47 +0000 (12:48 +0000)]
vmul.c: Remove useless #ifdef.

* gcc.target/aarch64/advsimd-intrinsics/vmul.c: Remove useless #ifdef.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vtst.c: Likewise.

From-SVN: r236383

8 years agovreinterpret.c: Fix typo in comment.
Christophe Lyon [Wed, 18 May 2016 12:46:23 +0000 (12:46 +0000)]
vreinterpret.c: Fix typo in comment.

* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Fix typo in comment.

From-SVN: r236382

8 years agoFix ChangeLog date.
Christophe Lyon [Wed, 18 May 2016 12:41:50 +0000 (14:41 +0200)]
Fix ChangeLog date.

From-SVN: r236381

8 years agonoplt_3.c: Scan for "br\t".
Christophe Lyon [Wed, 18 May 2016 12:33:36 +0000 (12:33 +0000)]
noplt_3.c: Scan for "br\t".

* gcc.target/aarch64/noplt_3.c: Scan for "br\t".
* gcc.target/aarch64/tail_indirect_call_1.c: Scan for "br\t",
"blr\t" and switch to scan-assembler-times.

From-SVN: r236377

8 years agotree-ssa-loop-im.c (determine_max_movement): Properly add condition cost to PHI cost...
Richard Biener [Wed, 18 May 2016 12:32:46 +0000 (12:32 +0000)]
tree-ssa-loop-im.c (determine_max_movement): Properly add condition cost to PHI cost instead of total_cost.

2016-05-18  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-im.c (determine_max_movement): Properly add
condition cost to PHI cost instead of total_cost.

From-SVN: r236376

8 years agoSet DECL_PT_UID for merged variables in IPA ICF (PR70856).
Martin Liska [Wed, 18 May 2016 11:48:50 +0000 (13:48 +0200)]
Set DECL_PT_UID for merged variables in IPA ICF (PR70856).

PR fortran/70856
* ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
merged variables.

From-SVN: r236375

8 years agolto-streamer.h (LTO_major_version): Bump to 6.
Richard Biener [Wed, 18 May 2016 11:21:33 +0000 (11:21 +0000)]
lto-streamer.h (LTO_major_version): Bump to 6.

2016-05-18  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_major_version): Bump to 6.

From-SVN: r236374

8 years agofunction: Factor out make_*logue_seq
Segher Boessenkool [Wed, 18 May 2016 11:07:20 +0000 (13:07 +0200)]
function: Factor out make_*logue_seq

Make new functions make_split_prologue_seq, make_prologue_seq, and
make_epilogue_seq.

* function.c (make_split_prologue_seq, make_prologue_seq,
make_epilogue_seq): New functions, factored out from...
(thread_prologue_and_epilogue_insns): Here.

From-SVN: r236373

8 years agofunction: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before
Segher Boessenkool [Wed, 18 May 2016 10:58:57 +0000 (12:58 +0200)]
function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink-
wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and
nothing runs CLEANUP_EXPENSIVE later.

* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead
of before.  Add a comment.

From-SVN: r236372

8 years agotree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv expression pointer, not...
Bin Cheng [Wed, 18 May 2016 10:41:28 +0000 (10:41 +0000)]
tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv expression pointer, not pointer to the pointer.

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv
expression pointer, not pointer to the pointer.

From-SVN: r236371

8 years ago[testsuite] Guard float64_t with __aarch64__
Jiong Wang [Wed, 18 May 2016 09:43:04 +0000 (09:43 +0000)]
[testsuite] Guard float64_t with __aarch64__

gcc/testsuite/
        * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Guard float64_t
        with __aarch64__.
        * gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: Guard variable
        declarations under __aarch64__ and __ARM_FEATURE_FMA.

From-SVN: r236370

8 years agosse.md (pbroadcast_evex_isa): New mode attr.
Jakub Jelinek [Wed, 18 May 2016 09:24:59 +0000 (11:24 +0200)]
sse.md (pbroadcast_evex_isa): New mode attr.

* config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
(avx2_pbroadcast<mode>): Add another alternative with v instead
of x constraints in it, using <pbroadcast_evex_isa> isa.
(avx2_pbroadcast<mode>_1): Similarly, add two such alternatives.

* gcc.target/i386/avx512bw-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-3.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-3.c: New test.

From-SVN: r236369

8 years agosse.md (<ssse3_avx2>_palignr<mode>): Use constraint x instead of v in second alternat...
Jakub Jelinek [Wed, 18 May 2016 09:24:15 +0000 (11:24 +0200)]
sse.md (<ssse3_avx2>_palignr<mode>): Use constraint x instead of v in second alternative, add avx512bw alternative.

* config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpalignr-3.c: New test.
* gcc.target/i386/avx512bw-vpalignr-3.c: New test.

From-SVN: r236368

8 years agosse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use constraint x instead of v in...
Jakub Jelinek [Wed, 18 May 2016 09:23:39 +0000 (11:23 +0200)]
sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use constraint x instead of v in second alternative, add avx512bw alternative.

* config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpshufb-3.c: New test.
* gcc.target/i386/avx512bw-vpshufb-3.c: New test.

From-SVN: r236367

8 years agosse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use constraint x instead of v...
Jakub Jelinek [Wed, 18 May 2016 09:23:03 +0000 (11:23 +0200)]
sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use constraint x instead of v in second alternative, add avx512bw alternative.

* config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpmulhrsw-3.c: New test.
* gcc.target/i386/avx512bw-vpmulhrsw-3.c: New test.

From-SVN: r236366

8 years agosse.md (avx2_pmaddubsw256, [...]): Add avx512bw alternative.
Jakub Jelinek [Wed, 18 May 2016 09:22:28 +0000 (11:22 +0200)]
sse.md (avx2_pmaddubsw256, [...]): Add avx512bw alternative.

* config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
avx512bw alternative.

* gcc.target/i386/avx512bw-vpmaddubsw-3.c: New test.

From-SVN: r236365

8 years agoi386. Extend static buffers. Fix SF mode operand constraint to `Yv' in storehpd pattern.
Kirill Yukhin [Wed, 18 May 2016 09:16:09 +0000 (09:16 +0000)]
i386. Extend static buffers. Fix SF mode operand constraint to `Yv' in storehpd pattern.

gcc/
        * gcc/config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static
array to 128 chars.
(define_insn "*andnottf3"): Ditto.
(define_insn "*<code><mode>3"/any_logic): Ditto.
(define_insn "*<code>tf3"/any_logic): Ditto.
(define_insn "sse2_storehpd"): Use Yv constraint for scalar
operand to block AVX-512VL insn variant emit when it is not enabled.

From-SVN: r236364

8 years agoAVX-512. Use `Yv' for SF mode operand in vec_concat pattern.
Kirill Yukhin [Wed, 18 May 2016 09:11:10 +0000 (09:11 +0000)]
AVX-512. Use `Yv' for SF mode operand in vec_concat pattern.

gcc/
* config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
constraint fot SF mode.

From-SVN: r236363

8 years agoFix patterns to enable sse-14.c to compile with -masm=intel.
Petr Murzin [Wed, 18 May 2016 09:06:11 +0000 (09:06 +0000)]
Fix patterns to enable sse-14.c to compile with -masm=intel.

gcc/
        * config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand
modifiers.
(define_insn "rsqrt14<mode>"): Ditto.
(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
(define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto.
(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
(define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"):
Ditto.
(define_insn "*avx512f_gatherdi<mode>"): Ditto.
(define_insn "*avx512f_scatterdi<mode>"): Ditto.
* config/i386/i386.c (ix86_print_operand): Expand check for size
override codes for Intel syntax.

Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
From-SVN: r236362

8 years agore PR tree-optimization/71168 (ICE in find_uses_to_rename_use (tree-ssa-loop-manip...
Richard Biener [Wed, 18 May 2016 08:10:20 +0000 (08:10 +0000)]
re PR tree-optimization/71168 (ICE in find_uses_to_rename_use (tree-ssa-loop-manip.c:379))

2016-05-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71168
* tree-loop-distribution.c (distribute_loop): Move *destroy_p
initialization earlier.

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

From-SVN: r236361

8 years ago[Patch AArch64] Simplify reduc_plus_scal_v2[sd]f sequence
James Greenhalgh [Wed, 18 May 2016 08:00:33 +0000 (08:00 +0000)]
[Patch AArch64] Simplify reduc_plus_scal_v2[sd]f sequence

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_reduc_plus_internal<mode>): Rename to...
(reduc_plus_scal): ...This, and remove previous implementation.

From-SVN: r236360

8 years agoAdding the testcase which was not addaed as part of r236356.
Kugan Vivekanandarajah [Wed, 18 May 2016 07:50:05 +0000 (07:50 +0000)]
Adding the testcase which was not addaed as part of r236356.

gcc/testsuite/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* gcc.dg/tree-ssa/pr63586-2.c: New test.
* gcc.dg/tree-ssa/pr63586.c: New test.

From-SVN: r236359

8 years agopasses.def: Put late dse and cd_dce in canonical order.
Richard Biener [Wed, 18 May 2016 07:41:09 +0000 (07:41 +0000)]
passes.def: Put late dse and cd_dce in canonical order.

2016-05-18  Richard Biener  <rguenther@suse.de>

* passes.def: Put late dse and cd_dce in canonical order.

From-SVN: r236358

8 years agoipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk clone.
Jan Hubicka [Wed, 18 May 2016 07:12:46 +0000 (09:12 +0200)]
ipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk clone.

* ipa-inline-transform.c (preserve_function_body_p): Look for
first non-thunk clone.
(save_function_body): Save into first non-thunk.
* lto-cgraph.c (lto_output_edge): When streaming thunk do not look
up call stmt id.
(lto_output_node): Inline thunks don't need body in every
partition.
* lto-streamer-in.c: Do not fixup thunk clones.
* cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
thunks.
* tree-inline.c (copy_bb): Be prepared for target node to be new after
folding suceeds.

From-SVN: r236357

8 years agore PR tree-optimization/63586 (x+x+x+x -> 4*x in gimple)
Kugan Vivekanandarajah [Wed, 18 May 2016 00:58:45 +0000 (00:58 +0000)]
re PR tree-optimization/63586 (x+x+x+x -> 4*x in gimple)

gcc/testsuite/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* gcc.dg/tree-ssa/pr63586-2.c: New test.
* gcc.dg/tree-ssa/pr63586.c: New test.
* gcc.dg/tree-ssa/reassoc-14.c: Adjust multiplication count.

gcc/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* tree-ssa-reassoc.c (transform_add_to_multiply): New.
(reassociate_bb): Call transform_add_to_multiply.

From-SVN: r236356

8 years agoaarch64.c (all_extensions): Removed unused static variable.
Kugan Vivekanandarajah [Wed, 18 May 2016 00:46:58 +0000 (00:46 +0000)]
aarch64.c (all_extensions): Removed unused static variable.

gcc/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/aarch64/aarch64.c (all_extensions): Removed unused static variable.

From-SVN: r236355

8 years agoDaily bump.
GCC Administrator [Wed, 18 May 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236354

8 years ago* da.po: Update.
Joseph Myers [Wed, 18 May 2016 00:13:34 +0000 (01:13 +0100)]
* da.po: Update.

From-SVN: r236349

8 years ago* da.po, sv.po: Update.
Joseph Myers [Wed, 18 May 2016 00:10:15 +0000 (01:10 +0100)]
* da.po, sv.po: Update.

From-SVN: r236347

8 years ago20030222-1.c: Skip on ptx.
Nathan Sidwell [Tue, 17 May 2016 21:28:11 +0000 (21:28 +0000)]
20030222-1.c: Skip on ptx.

* gcc.c-torture/execute/20030222-1.c: Skip on ptx.
* gcc.dg/pr68671.c: Fix ptx xfail-if.
* gcc.dg/torture/pr54261-1.c: Allocate atomic var statically.
* gcc.dg/torture/type-generic-1.c: Enable UNSAFE for ptx.

From-SVN: r236346

8 years agonvptx.c (nvptx_function_arg_boundary): New.
Nathan Sidwell [Tue, 17 May 2016 21:16:49 +0000 (21:16 +0000)]
nvptx.c (nvptx_function_arg_boundary): New.

* config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
(TARGET_FUNCTION_ARG_BOUNDARY): Override.

testsuite/
* gcc.target/nvptx/abi-vararg-3.c: New.

From-SVN: r236345

8 years agoFold bit_not through ASR and rotate
Mikhail Maltsev [Tue, 17 May 2016 20:50:22 +0000 (20:50 +0000)]
Fold bit_not through ASR and rotate

gcc/

PR tree-optimization/54579
PR middle-end/55299
* match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.

gcc/testsuite

PR tree-optimization/54579
PR middle-end/55299
* gcc.dg/fold-notrotate-1.c: New test.
* gcc.dg/fold-notshift-1.c: New test.
* gcc.dg/fold-notshift-2.c: New test.

From-SVN: r236344

8 years agore PR ipa/71146 (error: __builtin_unreachable or __builtin_trap call with arguments)
Marek Polacek [Tue, 17 May 2016 20:00:41 +0000 (20:00 +0000)]
re PR ipa/71146 (error: __builtin_unreachable or __builtin_trap call with arguments)

PR ipa/71146
* tree-inline.c (expand_call_inline): Call
maybe_remove_unused_call_args.

* g++.dg/ipa/pr71146.C: New test.

From-SVN: r236343

8 years agojit: gcc diagnostics are jit errors
David Malcolm [Tue, 17 May 2016 19:28:47 +0000 (19:28 +0000)]
jit: gcc diagnostics are jit errors

libgccjit performs numerous checks at the API boundary, but
if these succeed, it ignores errors and other diagnostics emitted
within the core of gcc, and treats the compile of a gcc_jit_context
as having succeeded.

This patch ensures that if any diagnostics are emitted, they
are visible from the libgccjit API, and that the the context is
flagged as having failed.

For now any kind of diagnostic is treated as a jit error,
so warnings and notes also count as errors.

gcc/jit/ChangeLog:
* dummy-frontend.c: Include diagnostic.h.
(jit_begin_diagnostic): New function.
(jit_end_diagnostic): New function.
(jit_langhook_init): Register jit_begin_diagnostic
and jit_end_diagnostic with the global_dc.
* jit-playback.c: Include diagnostic.h.
(gcc::jit::playback::context::add_diagnostic): New method.
* jit-playback.h (struct diagnostic_context): Add forward
declaration.
(gcc::jit::playback::context::add_diagnostic): New method.

gcc/testsuite/ChangeLog:
* jit.dg/test-error-array-bounds.c: New test case.

From-SVN: r236342

8 years agojit: document gcc_jit_context_new_call_through_ptr
David Malcolm [Tue, 17 May 2016 19:17:19 +0000 (19:17 +0000)]
jit: document gcc_jit_context_new_call_through_ptr

gcc/jit/ChangeLog:
* docs/topics/expressions.rst (Function calls): Document
gcc_jit_context_new_call_through_ptr.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r236341

8 years agoFix minor doc bugs, signalling typo, major version changes rare.
Jim Wilson [Tue, 17 May 2016 18:50:22 +0000 (18:50 +0000)]
Fix minor doc bugs, signalling typo, major version changes rare.

gcc/
* doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
* doc/invoke.texi (-mnan=2008): Change signalling to signaling.
* doc/md.texi (fmin@var{m}3): Likewise.

From-SVN: r236340

8 years agox & C -> x if we know that x & ~C == 0
Marc Glisse [Tue, 17 May 2016 17:57:27 +0000 (19:57 +0200)]
x & C -> x if we know that x & ~C == 0

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (X & C): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/and-1.c: New testcase.

From-SVN: r236338

8 years ago~X & Y to X ^ Y in some cases
Marc Glisse [Tue, 17 May 2016 17:54:28 +0000 (19:54 +0200)]
~X & Y to X ^ Y in some cases

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (~X & Y): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/andnot-1.c: New testcase.

From-SVN: r236337

8 years agoVRP: range info of new variables
Marc Glisse [Tue, 17 May 2016 17:50:55 +0000 (19:50 +0200)]
VRP: range info of new variables

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-vrp.c (simplify_truth_ops_using_ranges): Set range
information for new SSA_NAME.
(simplify_conversion_using_ranges): Get range through get_range_info
instead of get_value_range.

gcc/testsuite/
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/vrp99.c: New testcase.

From-SVN: r236336

8 years ago[AArch64, 4/4] Reimplement vmvn* intrinscis, remove inline assembly
Jiong Wang [Tue, 17 May 2016 16:41:18 +0000 (16:41 +0000)]
[AArch64, 4/4] Reimplement vmvn* intrinscis, remove inline assembly

gcc/
* config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
Remove inline assembly.
(vmvn_s16): Likewise.
(vmvn_s32): Likewise.
(vmvn_u8): Likewise.
(vmvn_u16): Likewise.
(vmvn_u32): Likewise.
(vmvnq_s8): Likewise.
(vmvnq_s16): Likewise.
(vmvnq_s32): Likewise.
(vmvnq_u8): Likewise.
(vmvnq_u16): Likewise.
(vmvnq_u32): Likewise.
(vmvn_p8): Likewise.
(vmvnq_p16): Likewise.

From-SVN: r236334

8 years ago[AArch64, 3/4] Reimplement multiply by element to get rid of inline assembly
Jiong Wang [Tue, 17 May 2016 16:39:39 +0000 (16:39 +0000)]
[AArch64, 3/4] Reimplement multiply by element to get rid of inline assembly

gcc/
* config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
Use builtin.
(vmul_n_s16): Likewise.
(vmul_n_s32): Likewise.
(vmul_n_u16): Likewise.
(vmul_n_u32): Likewise.
(vmulq_n_f32): Likewise.
(vmulq_n_f64): Likewise.
(vmulq_n_s16): Likewise.
(vmulq_n_s32): Likewise.
(vmulq_n_u16): Likewise.
(vmulq_n_u32): Likewise.

gcc/testsuite/
* gcc.target/aarch64/simd/vmul_elem_1.c: Use intrinsics.

From-SVN: r236333

8 years ago[AArch64, 2/4] Extend vector mutiply by element to all supported modes
Jiong Wang [Tue, 17 May 2016 16:37:19 +0000 (16:37 +0000)]
[AArch64, 2/4] Extend vector mutiply by element to all supported modes

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend to
all supported modes.  Rename to "*aarch64_mul3_elt_from_dup".

gcc/testsuite/
* gcc.target/aarch64/simd/vmul_elem_1.c: New.

From-SVN: r236332

8 years ago[AArch64, 1/4] Add the missing support of vfms_n_f32, vfmsq_n_f32, vfmsq_n_f64
Jiong Wang [Tue, 17 May 2016 16:34:46 +0000 (16:34 +0000)]
[AArch64, 1/4]  Add the missing support of vfms_n_f32, vfmsq_n_f32, vfmsq_n_f64

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
to *aarch64_fma4_elt_from_dup<mode>.
(*aarch64_fnma4_elt_to_128df): Rename to
*aarch64_fnma4_elt_from_dup<mode>.
* config/aarch64/arm_neon.h (vfma_n_f64): New.
(vfms_n_f32): Likewise.
(vfms_n_f64): Likewise.
(vfmsq_n_f32): Likewise.
(vfmsq_n_f64): Likewise.

gcc/testsuite/
* gcc.target/aarch64/fmla_intrinsic_1.c: Allow ".d[index]" besides
".2d[index]" when scan the assembly.
* gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: New entry for
float64x1.
* gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: New.

From-SVN: r236331

8 years ago* wide-int.h: Change fixed_wide_int_storage from class to struct.
Gerald Pfeifer [Tue, 17 May 2016 14:56:45 +0000 (14:56 +0000)]
* wide-int.h: Change fixed_wide_int_storage from class to struct.

From-SVN: r236324

8 years agore PR tree-optimization/71132 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with...
Richard Biener [Tue, 17 May 2016 12:53:30 +0000 (12:53 +0000)]
re PR tree-optimization/71132 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”)

2016-05-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71132
* tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
Only add control dependences for blocks in the loop.
(build_rdg): Adjust.
(generate_code_for_partition): Return whether loop should
be destroyed and delay that.
(distribute_loop): Likewise.
(pass_loop_distribution::execute): Record loops to be destroyed
and perform delayed destroying of loops.

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

From-SVN: r236320

8 years agothink1.C: Fix dg-do and dg-skip order.
Christophe Lyon [Tue, 17 May 2016 12:22:33 +0000 (12:22 +0000)]
think1.C: Fix dg-do and dg-skip order.

* g++.dg/inherit/think1.C: Fix dg-do and dg-skip order.

From-SVN: r236319

8 years ago[AArch64] PR target/70809: Delete aarch64_vmls<mode> pattern
Kyrylo Tkachov [Tue, 17 May 2016 12:15:05 +0000 (12:15 +0000)]
[AArch64] PR target/70809: Delete aarch64_vmls<mode> pattern

PR target/70809
* config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.

* gcc.target/aarch64/pr70809_1.c: New test.

From-SVN: r236318

8 years ago[Patch AArch64] Delete ASM_OUTPUT_DEF and fallback to default .set directive
James Greenhalgh [Tue, 17 May 2016 11:10:10 +0000 (11:10 +0000)]
[Patch AArch64] Delete ASM_OUTPUT_DEF and fallback to default .set directive

gcc/

* config/aarch64/aarch64-elf.h (ASM_OUTPUT_DEF): Delete.

From-SVN: r236317

8 years ago[AArch64][tests] Skip cpu-diagnostics tests when overriding -mcpu
Kyrylo Tkachov [Tue, 17 May 2016 10:22:07 +0000 (10:22 +0000)]
[AArch64][tests] Skip cpu-diagnostics tests when overriding -mcpu

* gcc.target/aarch64/cpu-diagnostics-1.c: Skip if -mcpu is overriden.
* gcc.target/aarch64/cpu-diagnostics-2.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-3.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-4.c: Likewise.

From-SVN: r236316

8 years agore PR target/71114 (Several test suite failures on x86_64-apple-darwin* after revisio...
Ilya Enkovich [Tue, 17 May 2016 09:28:15 +0000 (09:28 +0000)]
re PR target/71114 (Several test suite failures on x86_64-apple-darwin* after revision r236090)

gcc/

PR target/71114
* config/i386/i386.c (dimode_scalar_chain::convert_op): Fix
insertion point for instructions generated by validize_mem.

gcc/testsuite/

PR target/71114
* gcc.target/i386/pr70799-1.c: Fix scan for Darwin.

From-SVN: r236315

8 years agore PR sanitizer/71160 (libasan: Backport support for malloc within dlsym)
Jakub Jelinek [Tue, 17 May 2016 09:17:54 +0000 (11:17 +0200)]
re PR sanitizer/71160 (libasan: Backport support for malloc within dlsym)

PR sanitizer/71160
* asan/asan_malloc_linux.cc: Cherry pick upstream r254395
and r269633.

From-SVN: r236314

8 years ago[Patch onbious] Fix indentation in c-typeck.c parser_build_unary_op
James Greenhalgh [Tue, 17 May 2016 09:02:19 +0000 (09:02 +0000)]
[Patch onbious] Fix indentation in c-typeck.c parser_build_unary_op

gcc/c/

* c-typeck.c (parser_build_unary_op): Fix formatting.

From-SVN: r236313

8 years ago[Patch obvious AArch64] Wrap SHIFT_COUNT_TRUNCATED in brackets
James Greenhalgh [Tue, 17 May 2016 08:56:57 +0000 (08:56 +0000)]
[Patch obvious AArch64] Wrap SHIFT_COUNT_TRUNCATED in brackets

* config/aarch64/aarch64.c (SHIFT_COUNT_TRUNCATED): Wrap definition
in brackets.

From-SVN: r236312

8 years ago[AArch64 trivial] Don't define a macro when a variable will do
James Greenhalgh [Tue, 17 May 2016 08:54:19 +0000 (08:54 +0000)]
[AArch64 trivial] Don't define a macro when a variable will do

* config/aarch64/aarch64.c
(aarch64_output_simd_mov_immediate): Make "buf_size" a variable
rather than a macro.

From-SVN: r236311

8 years agooacc-init.c (acc_init): Remove !cached_base_dev condition on call to gomp_init_target...
Chung-Lin Tang [Tue, 17 May 2016 08:07:52 +0000 (08:07 +0000)]
oacc-init.c (acc_init): Remove !cached_base_dev condition on call to gomp_init_targets_once.

2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>

libgomp/
* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
to gomp_init_targets_once.
(acc_set_device_type): Remove !cached_base_dev condition on call to
gomp_init_targets_once, move call to before acc_device_lock acquire,
to avoid deadlock.
(acc_get_device_num): Remove !cached_base_dev condition on call to
gomp_init_targets_once.
(acc_set_device_num): Likewise.

From-SVN: r236310

8 years agoDaily bump.
GCC Administrator [Tue, 17 May 2016 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236305

8 years agoconfig.guess: Import version 2016-04-02 (newest).
Jakub Sejdak [Mon, 16 May 2016 22:13:37 +0000 (22:13 +0000)]
config.guess: Import version 2016-04-02 (newest).

* config.guess: Import version 2016-04-02 (newest).
* config.sub: Import version 2016-05-10 (newest).

From-SVN: r236301

8 years agoconfigure.ac: Add ARC support to libgloss.
Jeff Law [Mon, 16 May 2016 20:37:43 +0000 (14:37 -0600)]
configure.ac: Add ARC support to libgloss.

2016-05-13  Anton Kolesov  <anton.kolesov@synopsys.com>

* configure.ac: Add ARC support to libgloss.
* configure: Regenerate

From-SVN: r236300

8 years agoipa-inline-analysis.c (compute_inline_parameters): Disable inlinig into instrumentati...
Jan Hubicka [Mon, 16 May 2016 19:33:02 +0000 (21:33 +0200)]
ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig into instrumentation thunks.

* ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
into instrumentation thunks.
* cif-code.def (CIF_CHKP): New.

From-SVN: r236299

8 years agoxopintrin.h: Correct "unsinged" typo in the comments.
Uros Bizjak [Mon, 16 May 2016 18:56:33 +0000 (20:56 +0200)]
xopintrin.h: Correct "unsinged" typo in the comments.

* config/i386/xopintrin.h: Correct "unsinged" typo in the comments.

From-SVN: r236297

8 years ago[hsa] Increase hsa symbol alignment to natural one
Martin Jambor [Mon, 16 May 2016 17:49:44 +0000 (19:49 +0200)]
[hsa] Increase hsa symbol alignment to natural one

2016-05-16  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
(get_symbol_for_decl): Sorry if a global symbol in under-aligned.

libgomp/
        * testsuite/libgomp.hsa.c/complex-align-2.c: New test.

From-SVN: r236295

8 years agogimple.c (maybe_remove_unused_call_args): Fix typos in the commentary.
Marek Polacek [Mon, 16 May 2016 17:33:23 +0000 (17:33 +0000)]
gimple.c (maybe_remove_unused_call_args): Fix typos in the commentary.

* gimple.c (maybe_remove_unused_call_args): Fix typos in the
commentary.

From-SVN: r236294

8 years ago[PR 70857] Copy RESULT_DECL of HSA outlined kernel function
Martin Jambor [Mon, 16 May 2016 15:40:30 +0000 (17:40 +0200)]
[PR 70857] Copy RESULT_DECL of HSA outlined kernel function

2016-05-16  Martin Jambor  <mjambor@suse.cz>

PR hsa/70857
* omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
the outlined kernel function.

From-SVN: r236291

8 years agoUpdate documentation of AArch64 options for GCC6 to be more accurate,
Wilco Dijkstra [Mon, 16 May 2016 14:55:15 +0000 (14:55 +0000)]
Update documentation of AArch64 options for GCC6 to be more accurate,

fix a few minor mistakes and remove some duplication.

        * doc/invoke.texi (AArch64 Options): Various updates.

From-SVN: r236290