1. 26 Jan, 2016 28 commits
    • PR other/69477 - attribute aligned documentation misleading · 2a4dfe66
      gcc/ChangeLog:
      2016-01-26  Martin Sebor  <msebor@redhat.com>
      
      	PR other/69477
      	* doc/extend.texi (Common Type Attributes): Move text that talks about
      	attribute packed from attribute aligned to the section discussing
      	the former attribute for clarity.
      
      From-SVN: r232840
      Martin Sebor committed
    • re PR middle-end/60908 (compiler bug related to trans-mem.c) · ffc445f4
      PR middle-end/60908
      
        * trans-mem.c (tm_region_init): Mark entry block as visited.
      testsuite/
        * gcc.dg/tm/pr60908.c: New test.
      
      From-SVN: r232839
      Richard Henderson committed
    • remove accidental empty commit · dcbc0879
      From-SVN: r232838
      Nathan Sidwell committed
    • PR other/69006: fix extra newlines after diagnostics · 01e1dea3
      gcc/c-family/ChangeLog:
      	PR other/69006
      	* c-opts.c (c_diagnostic_finalizer): Replace invocation of
      	pp_newline_and_flush with pp_flush.
      
      gcc/cp/ChangeLog:
      	PR other/69006
      	* error.c (print_instantiation_partial_context_line): Add missing
      	newlines from output for the t == NULL case.
      	(print_instantiation_partial_context): Remove call to pp_newline.
      
      gcc/ChangeLog:
      	PR other/69006
      	* diagnostic-show-locus.c (layout::print_source_line): Replace
      	call to pp_newline with call to layout::print_newline.
      	(layout::print_annotation_line): Likewise.
      	(layout::move_to_column): Likewise.
      	(layout::print_any_fixits): After printing any fixits, print a
      	trailing newline, if necessary.
      	(layout::print_newline): New method, resetting any colorization
      	before a newline.
      	(diagnostic_show_locus): Move the pp_newline to before the
      	early bailout.  Remove dummy block enclosing the layout instance.
      	* diagnostic.c (default_diagnostic_finalizer): Replace invocation
      	of pp_newline_and_flush with pp_flush.
      	(diagnostic_append_note): Delete use of pp_newline.
      	(diagnostic_append_note_at_rich_loc): Delete.
      	* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
      	* pretty-print.h (output_buffer_append_r): Reset buff->line_length
      	when newline characters are added to the buffer.
      
      gcc/fortran/ChangeLog:
      	PR other/69006
      	* error.c (gfc_diagnostic_starter): Delete use of pp_newline.
      
      gcc/testsuite/ChangeLog:
      	PR other/69006
      	* g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output
      	directive.
      	* gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update
      	expected multiline output to reflect the colorization being
      	disabled before newlines.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(custom_diagnostic_finalizer): Replace call to
      	pp_newline_and_flush with call to pp_flush.
      	* gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive.
      	* gfortran.dg/implicit_class_1.f90: Likewise.
      	* lib/gcc-dg.exp (allow_blank_lines): New global.
      	(dg-allow-blank-lines-in-output): New procedure.
      	(gcc-dg-prune): Complain about blank lines in the output, unless
      	dg-allow-blank-lines-in-output was called.
      	* lib/multiline.exp (_build_multiline_regex): Only support
      	arbitrary followup text for non-blank-lines, not for blank lines.
      
      From-SVN: r232837
      David Malcolm committed
    • configure.ac (ac_cv_std_swap_in_utility): New test. · 3dde4d65
      	* configure.ac (ac_cv_std_swap_in_utility): New test.
      	* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      From-SVN: r232836
      Michael Matz committed
    • Fix build failure when wide character support is not available · 8964d2a0
      	* include/c_compatibility/stdlib.h: Include wide character related
      	definitions only when they are available in cstdlib.
      
      From-SVN: r232835
      Andris Pavenis committed
    • [ARC] Fix arcset* pattern's predicate. · 2a42e339
      gcc/
      2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc.md (cstoresi4): Force operand into register.
              (arcset<code>): Fix predicate.
              (arcsetltu): Likewise.
              (arcsetgeu): Likewise.
              (arcsethi): Likewise.
              (arcsetls): Likewise.
      
      From-SVN: r232834
      Claudiu Zissulescu committed
    • re PR tree-optimization/69483 (gcc ICE on x86_64-linux-gnu with "expected class… · 13f92e8d
      re PR tree-optimization/69483 (gcc ICE on x86_64-linux-gnu with "expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p")
      
      	PR tree-optimization/69483
      	* gimple-fold.c (canonicalize_constructor_val): Return NULL
      	if base has error_mark_node type.
      
      	* c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
      
      	* gcc.dg/pr69483.c: New test.
      	* g++.dg/opt/pr69483.C: New test.
      
      From-SVN: r232833
      Jakub Jelinek committed
    • re PR target/68620 (ICE on gcc.target/arm/attr-neon-fp16.c) · 92422235
      2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/
      	PR target/68620
      	* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
      	* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
      	New helper macros.
      	(vget_lane_f16): Handle big-endian.
      	(vgetq_lane_f16): Likewise.
      	(vset_lane_f16): Likewise.
      	(vsetq_lane_f16): Likewise.
      	* config/arm/iterators.md (VQXMOV): Add V8HF.
      	(VDQ): Add V4HF and V8HF.
      	(V_reg): Handle V4HF and V8HF.
      	(Is_float_mode): Likewise.
      	* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
      	neon_vdup_nv8hf): New patterns.
      	(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
      	Use VD_LANE iterator.
      	(neon_vld1_dup<mode>): Use VQ2 iterator.
      
      	testsuite/
      	PR target/68620
      	* gcc.target/arm/pr68620.c: New test.
      
      From-SVN: r232832
      Christophe Lyon committed
    • Remove -m32 from gcc.target/i386/pr68986-2.c · 0bccf11b
      	* gcc.target/i386/pr68986-2.c: Remove -m32.
      
      From-SVN: r232831
      H.J. Lu committed
    • omp-low.h (oacc_fn_attrib_kernels_p): Declare. · f8393eb0
      	* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
      	(set_oacc_fn_attrib): Add IS_KERNEL arg.
      	* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
      	(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
      	(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
      	(oacc_validate_dims): Add LEVEL arg, don't return level.
      	(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
      	oacc_validate_dims.
      	(execute_oacc_device_lower): Adjust, add more dump output.
      	* tree-ssa-loop.c (gate_oacc_kernels): Use
      	oacc_fn_attrib_kernels_p.
      	* tree-parloops.c (create_parallel_loop): Adjust
      	set_oacc_fn_attrib call.
      
      From-SVN: r232830
      Nathan Sidwell committed
    • re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on… · b0b35f86
      re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only)
      
      	PR lto/69254
      	* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
      	(append_compiler_options): Handle -fcilkplus.
      	(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
      
      From-SVN: r232829
      Jakub Jelinek committed
    • re PR target/66655 (miscompilation due to ipa-ra on MinGW) · b8b025dc
      	PR target/66655
      	* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
      	been marked as DECL_ONE_ONLY but we do not the means to make it
      	so, then do not allow it to bind locally.
      
      From-SVN: r232828
      Nick Clifton committed
    • re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on… · b1b46af0
      re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only)
      
      	PR lto/69254
      	* opts.h (parse_sanitizer_options): New prototype.
      	* opts.c (sanitizer_opts): New array.
      	(parse_sanitizer_options): New function.
      	(common_handle_option): Use parse_sanitizer_options.
      
      From-SVN: r232826
      Jakub Jelinek committed
    • Update stack alignment in ix86_update_stack_boundary · 81cd202e
      Stack alignment adjustment for __tls_get_addr should be done in
      ix86_update_stack_boundary, not ix86_compute_frame_layout.  Also
      there is no need to over-align stack for __tls_get_addr and function
      with __tls_get_addr call isn't a leaf function.
      
      gcc/
      
      	PR target/68986
      	* config/i386/i386.c (ix86_compute_frame_layout): Move stack
      	alignment adjustment to ...
      	(ix86_update_stack_boundary): Here.  Don't over-align stack for
      	__tls_get_addr.
      	(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
      	if __tls_get_addr is called.
      
      gcc/testsuite/
      
      	PR target/68986
      	* gcc.target/i386/pr68986-1.c: New test.
      	* gcc.target/i386/pr68986-2.c: Likewise.
      	* gcc.target/i386/pr68986-3.c: Likewise.
      
      From-SVN: r232825
      H.J. Lu committed
    • remove arm_crypto_pragma test selector · 213a1c03
      From-SVN: r232824
      Christian Bruel committed
    • re PR tree-optimization/69467 (Pattern X * C1 CMP 0 to X CMP 0 causes… · bc6e9db4
      re PR tree-optimization/69467 (Pattern X * C1 CMP 0 to X CMP 0 causes performance drop on 32-bit x86.)
      
      2016-01-26  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/69467
      	* match.pd: Guard X * CST CMP 0 pattern with single_use.
      
      From-SVN: r232821
      Richard Biener committed
    • re PR tree-optimization/69452 (gcc ICE at -O3 on x86_64-linux-gnu in with verify_ssa failed) · 22a08dd1
      2016-01-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/69452
      	* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
      	(move_computations_dom_walker::before_dom_children): Rename
      	to ...
      	(move_computations_worker): This.
      	(move_computations): Perform an RPO rather than a DOM walk.
      
      	* gcc.dg/torture/pr69452.c: New testcase.
      
      From-SVN: r232820
      Richard Biener committed
    • re PR target/69442 (wrong code with -Og and 64bit modulo @ armv7a) · 6c06e0e8
      	PR target/69442
      	* combine.c (combine_instructions): For REG_EQUAL note with
      	SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
      	to the underlying register.
      	* doc/rtl.texi (REG_EQUAL): Document the behavior of
      	REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
      
      	* gcc.dg/pr69442.c: New test.
      
      From-SVN: r232819
      Jakub Jelinek committed
    • [PATCH] Do not set structural equality on polynomial types · b96824c4
      gcc/ChangeLog:
      
      	PR target/67896
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_init_simd_builtin_types): Do not set structural
      	equality to __Poly{8,16,64,128}_t types.
      
      gcc/testsuite/ChangeLog:
      
      	PR target/67896
      	* gcc.target/aarch64/simd/pr67896.C: New.
      
      From-SVN: r232818
      Roger Ferrer Ibáñez committed
    • PR 69400: Invalid 128-bit modulus result · 5ee31e57
      As described in the PR, wi::divmod_internal was sign- rather than
      zero-extending a modulus result in cases where the result has fewer
      HWIs than the precision and the upper bit of the upper HWI was set.
      
      This patch tries to make things more robust by getting wi_pack
      to handle the canonicalisation step itself.
      
      Tested on x86_64-linux-gnu.  I added tests to the wide-int
      plugin since that seemed more direct.
      
      gcc/
      	PR tree-optimization/69400
      	* wide-int.cc (wi_pack): Take the precision as argument and
      	perform canonicalization here rather than in the callers.
      	Use the main loop to handle all full-width HWIs.  Add a
      	zero HWI if in_len isn't a full result.
      	(wi::divmod_internal): Update accordingly.
      	(wi::mul_internal): Likewise.  Simplify.
      
      gcc/testsuite/
      	PR tree-optimization/69400
      	* gcc.dg/plugin/wide-int_plugin.c (test_wide_int_mod_trunc): New
      	function.
      	(plugin_init): Call it.
      	* gcc.dg/torture/pr69400.c: New test.
      
      From-SVN: r232817
      Richard Sandiford committed
    • pr68674.c: Check and use arm_fp effective target. · 7ddfb31d
      2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/pr68674.c: Check and use arm_fp effective target.
      
      From-SVN: r232816
      Christophe Lyon committed
    • Add missing includes in JIT frontend. · 1c652ccb
      gcc/jit/
      	* jit-playback.c: Include pthread.h.
      
      From-SVN: r232815
      Iain Buclaw committed
    • new scop schedule for isl-0.15 · adba512d
      Keep unchanged the implementation for isl-0.14.
      
      	* graphite-poly.c (apply_poly_transforms): Simplify.
      	(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
      	(print_isl_map): Same.
      	(print_isl_union_map): Same.
      	(print_isl_schedule): New.
      	(debug_isl_schedule): New.
      	* graphite-dependences.c (scop_get_reads): Do not call
      	isl_union_map_add_map that is undocumented isl functionality.
      	(scop_get_must_writes): Same.
      	(scop_get_may_writes): Same.
      	(scop_get_original_schedule): Remove.
      	(scop_get_dependences): Do not call isl_union_map_compute_flow that
      	is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
      	(compute_deps): Remove.
      	* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
      	(debug_schedule_ast): New.
      	(translate_isl_ast_to_gimple::scop_to_isl_ast): Call set_separate_option.
      	(graphite_regenerate_ast_isl): Add dump.
      	(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
      	from scop->transformed_schedule.
      	(graphite_regenerate_ast_isl): Add more dump.
      	* graphite-optimize-isl.c (optimize_isl): Set
      	scop->transformed_schedule.  Check whether schedules are equal.
      	(apply_poly_transforms): Move here.
      	* graphite-poly.c (apply_poly_transforms): ... from here.
      	(free_poly_bb): Static.
      	(free_scop): Static.
      	(pbb_number_of_iterations_at_time): Remove.
      	(print_isl_ast): New.
      	(debug_isl_ast): New.
      	(debug_scop_pbb): New.
      	* graphite-scop-detection.c (print_edge): Move.
      	(print_sese): Move.
      	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
      	(build_scop_scattering): Remove.
      	(create_pw_aff_from_tree): Assert instead of bailing out.
      	(add_condition_to_pbb): Remove unused code, do not fail.
      	(add_conditions_to_domain): Same.
      	(add_conditions_to_constraints): Remove.
      	(build_scop_context): New.
      	(add_iter_domain_dimension): New.
      	(build_iteration_domains): Initialize pbb->iterators.
      	Call add_conditions_to_domain.
      	(nested_in): New.
      	(loop_at): New.
      	(index_outermost_in_loop): New.
      	(index_pbb_in_loop): New.
      	(outermost_pbb_in): New.
      	(add_in_sequence): New.
      	(add_outer_projection): New.
      	(outer_projection_mupa): New.
      	(add_loop_schedule): New.
      	(build_schedule_pbb): New.
      	(build_schedule_loop): New.
      	(embed_in_surrounding_loops): New.
      	(build_schedule_loop_nest): New.
      	(build_original_schedule): New.
      	(build_poly_scop): Call build_original_schedule.
      	* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
      	(free_poly_dr): Remove.
      	(struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
      	(free_poly_bb): Remove.
      	(debug_loop_vec): Remove.
      	(print_isl_ast): Declare.
      	(debug_isl_ast): Declare.
      	(scop_do_interchange): Remove.
      	(scop_do_strip_mine): Remove.
      	(scop_do_block): Remove.
      	(flatten_all_loops): Remove.
      	(optimize_isl): Remove.
      	(pbb_number_of_iterations_at_time): Remove.
      	(debug_scop_pbb): Declare.
      	(print_schedule_ast): Declare.
      	(debug_schedule_ast): Declare.
      	(struct scop): Remove schedule.  Add original_schedule,
      	transformed_schedule.
      	(free_gimple_poly_bb): Remove.
      	(print_generated_program): Remove.
      	(debug_generated_program): Remove.
      	(unify_scattering_dimensions): Remove.
      	* sese.c (print_edge): ... here.
      	(print_sese): ... here.
      	(debug_edge): ... here.
      	(debug_sese): ... here.
      	* sese.h (print_edge): Declare.
      	(print_sese): Declare.
      	(dump_edge): Declare.
      	(dump_sese): Declare.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r232812
      Aditya Kumar committed
    • fix PR68343: disable fuse-*.c tests for isl 0.14 or earlier · 1e050c90
      The patch disables all fuse-*.c tests when configuring gcc with isl 0.14 or earlier.
      
      ChangeLog:
      
      	* Makefile.in: Regenerate.
      	* Makefile.tpl: Export ISLVER.
      	* configure: Regenerate.
      	* config/isl.m4: Detect isl-0.15.
      
      gcc/
      
      	* Makefile.in: Set ISLVER in site.exp.
      
      gcc/testsuite/
      
      	* gcc.dg/graphite/graphite.exp: Only run the fuse-*.c tests with isl-0.15.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r232811
      Aditya Kumar committed
    • add missing testcase · c8ee4bf5
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r232810
      Aditya Kumar committed
    • Daily bump. · 0a2ba2ef
      From-SVN: r232809
      GCC Administrator committed
  2. 25 Jan, 2016 12 commits
    • re PR target/69444 (recent changes broke x64_64 -> powerpc crosscompiler build) · 7d296953
      	PR target/69444
      	* config/rs6000/sfp-machine.h: Fix a typo in #ifndef - __NO_FPRS__
      	instead of ___NO_FPRS__.
      
      From-SVN: r232805
      Jakub Jelinek committed
    • omp-low.c (lower_omp_target): Set DECL_VALUE_EXPR of new_var even for the non-array case. · d902b330
      	* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
      	DECL_VALUE_EXPR of new_var even for the non-array case.  Look
      	through DECL_VALUE_EXPR for expansion.
      
      	* c-c++-common/goacc/use_device-1.c: New test.
      
      From-SVN: r232804
      Jakub Jelinek committed
    • mips.c (mips_compute_frame_info): Skip re-computing the frame info after reload completed. · a4ea1723
              * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
              the frame info after reload completed.
      
      From-SVN: r232803
      Bernd Edlinger committed
    • re PR tree-optimization/69196 (code size regression with jump threading at -O2) · 2c89b952
      	PR tree-optimization/69196
      	PR tree-optimization/68398
      	* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
      	tree-ssa-threadupdate.c.
      	(determine_bb_domination_status): Prototype
      	* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
      	(determine_bb_domination_status): No longer static.
      	(valid_jump_thread_path): Remove code to detect characteristics
      	of the jump thread path not associated with correctness.
      	* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
      	Correct test for thread path length.  Count PHIs for real operands as
      	statements that need to be copied.  Do not count ASSERT_EXPRs.
      	Look at all the blocks in the thread path.  Compute and selectively
      	filter thread paths based on threading through the latch, threading
      	a multiway branch or crossing a multiway branch.
      
      	PR tree-optimization/69196
      	PR tree-optimization/68398
      	* gcc.dg/tree-ssa/pr66752-3.c: Update expected output
      	* gcc.dg/tree-ssa/pr68198.c: Likewise.
      
      From-SVN: r232802
      Jeff Law committed
    • Avoid including all of <random> in <algorithm> · 2944621e
      	PR libstdc++/69464
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/bits/random.h (uniform_int_distribution): Move to
      	bits/uniform_int_dist.h.
      	* include/bits/random.tcc (uniform_int_distribution::operator(),
      	uniform_int_distribution::__generate_impl): Likewise.
      	* include/bits/uniform_int_dist.h: New header.
      	* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
      	<bits/uniform_int_dist.h> instead of <random>.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
      	move_iterators/1.cc: Include correct header for uninitialized_copy.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
      	move_iterators/1.cc: Likewise.
      	* testsuite/25_algorithms/nth_element/58800.cc: Include correct
      	header for vector.
      	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
      
      From-SVN: r232798
      Jonathan Wakely committed
    • re PR target/69469 (test case gcc.target/powerpc/vsx-vector-2.c fails on power… · 685c8785
      re PR target/69469 (test case gcc.target/powerpc/vsx-vector-2.c fails on power starting with r232632)
      
              PR target/69469
              * gcc.target/powerpc/vsx-vector-2.c: Adjust for Goldschmidt's
              Algorithm.
      
      From-SVN: r232796
      David Edelsohn committed
    • re PR testsuite/69380 (FAIL: g++.dg/tree-ssa/pr69336.C scan-tree-dump-not optimized "cmap") · 95cef0c1
      2016-01-25  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/69380
      	* g++.dg/tree-ssa/pr69336.C: Restrict to x86_64 and i?86.
      
      From-SVN: r232795
      Richard Biener committed
    • rs6000.c (rs6000_keep_leaf_when_profiled): Add decl with __attribute__ ((unused)) annotation. · bf1a8421
      2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
      	decl with __attribute__ ((unused)) annotation.
      
      From-SVN: r232793
      Bill Schmidt committed
    • re PR target/69421 (ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3) · 2947d3b2
      gcc/
      
      	PR target/69421
      	* tree-vect-stmts.c (vectorizable_condition): Check vectype
      	of operands is compatible with a statement vectype.
      
      gcc/testsuite/
      
      	PR target/69421
      	* gcc.dg/pr69421.c: New test.
      
      From-SVN: r232792
      Ilya Enkovich committed
    • extend.texi (scalar_storage_order type attribute): Fix typo and improve wording… · 1cf11fe6
      extend.texi (scalar_storage_order type attribute): Fix typo and improve wording for mixed storage order support.
      
      	* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
      	improve wording for mixed storage order support.
      
      From-SVN: r232791
      Eric Botcazou committed
    • [AARCH64][ACLE][NEON] Implement vcvt*_s64_f64 and vcvt*_u64_f64 NEON intrinsics. · ae19075a
      gcc/
      
      	* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
      	(vcvt_u64_f64): Likewise.
      	(vcvta_s64_f64): Likewise.
      	(vcvta_u64_f64): Likewise.
      	(vcvtm_s64_f64): Likewise.
      	(vcvtm_u64_f64): Likewise.
      	(vcvtn_s64_f64): Likewise.
      	(vcvtn_u64_f64): Likewise.
      	(vcvtp_s64_f64): Likewise.
      	(vcvtp_u64_f64): Likewise.
      
      gcc/testsuite/
      
      	* gcc.target/aarch64/simd/vcvt_s64_f64_1.c: New.
      	* gcc.target/aarch64/simd/vcvt_u64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvta_s64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvta_u64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtm_s64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtm_u64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtn_s64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtn_u64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtp_s64_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vcvtp_u64_f64_1.c: Likewise.
      
      From-SVN: r232789
      Bilyan Borisov committed
    • [ARC] Add basic support for double load and store instructions · d34a0fdc
      gcc/
      2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
      	(arc_init): Check validity mll64 option.
      	(arc_save_restore): Use double load/store instruction.
      	(arc_expand_movmem): Likewise.
      	(arc_split_move): Don't split if we have double load/store
      	instructions. Returns a boolean.
      	(arc_process_double_reg_moves): Change function to return boolean
      	instead of a sequence of instructions.
      	(arc_dwarf_register_span): New function.
      	* config/arc/arc-protos.h (arc_split_move): Change prototype.
      	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
      	* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
      	(*movdf_insn): Likewise.
      	* config/arc/arc.opt (mll64): New option.
      	* config/arc/predicates.md (even_register_operand): New predicate.
      	* doc/invoke.texi (ARC Options): Add mll64 documentation.
      
      From-SVN: r232788
      Claudiu Zissulescu committed