1. 09 Sep, 2015 13 commits
    • re PR c++/53184 (Unnecessary anonymous namespace warnings) · 273aa49e
      2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53184
      	* doc/invoke.texi ([Wsubobject-linkage]): Document.
      
      /c-family
      2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53184
      	* c.opt ([Wsubobject-linkage]): Add.
      
      /cp
      2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53184
      	* decl2.c (constrain_class_visibility): Use Wsubobject-linkage.
      
      /testsuite
      2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53184
      	* g++.dg/warn/Wsubobject-linkage-1.C: New.
      	* g++.dg/warn/Wsubobject-linkage-2.C: Likewise.
      	* g++.dg/warn/Wsubobject-linkage-3.C: Likewise.
      	* g++.dg/warn/Wsubobject-linkage-4.C: Likewise.
      
      From-SVN: r227593
      Paolo Carlini committed
    • Fix sanitizer/67258 by cherry picking upstream patch · 1842a04c
      	PR sanitizer/67258
      	* ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101.
      
      Upstraem patch:
      commit 1d2477faafda9ad2cc19927b3c31efd22747f013
      Author: Alexey Samsonov <vonosmas@gmail.com>
      Date:   Wed Aug 5 19:35:46 2015 +0000
      
          [UBSan] Fix UBSan-vptr false positive.
      
          Offset from vptr to the start of most-derived object can actually
          be positive in some virtual base class vtables.
      
          Patch by Stephan Bergmann!
      
          git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@244101 91177308-0d34-0410-b5e6-96231b3b80d8
      
      From-SVN: r227591
      Markus Trippelsdorf committed
    • Add copyright in gcc/params-list.h · 34bc1d22
      2015-09-09  Tom de Vries  <tom@codesourcery.com>
      
      	* params-list.h: Add missing copyright notice.
      
      From-SVN: r227590
      Tom de Vries committed
    • nvptx.md (atomic_compare_and_swap<mode>): Use sel_truesi, not andsi. · 41c3713a
      	* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
      	sel_truesi, not andsi.
      
      From-SVN: r227587
      Nathan Sidwell committed
    • [ARM][3/3] Expand mod by power of 2 · 956db28e
      	* config/arm/arm.md (*subsi3_compare0): Rename to...
      	(subsi3_compare0): ... This.
      	(modsi3): New define_expand.
      	* config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
      	when operand is power of 2.
      
      	* gcc.target/aarch64/mod_2.x: New file.
      	* gcc.target/aarch64/mod_256.x: Likewise.
      	* gcc.target/arm/mod_2.c: New test.
      	* gcc.target/arm/mod_256.c: Likewise.
      	* gcc.target/aarch64/mod_2.c: Likewise.
      	* gcc.target/aarch64/mod_256.c: Likewise.
      
      From-SVN: r227586
      Kyrylo Tkachov committed
    • [AArch64][1/3] Expand signed mod by power of 2 using CSNEG · 4f58fe36
      	* config/aarch64/aarch64.md (mod<mode>3): New define_expand.
      	(*neg<mode>2_compare0): Rename to...
      	(neg<mode>2_compare0): ... This.
      	* config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
      	Move check for speed inside the if-then-elses.  Reflect
      	CSNEG sequence in MOD by power of 2 case.
      
      From-SVN: r227585
      Kyrylo Tkachov committed
    • re PR c++/67504 (ICE with type dependent collapse argument) · 6cbf37c3
      	PR c++/67504
      	* parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
      	before INTEGRAL_TYPE_P test.
      
      	* g++.dg/gomp/pr67504.C: New test.
      
      From-SVN: r227579
      Jakub Jelinek committed
    • re PR c/67501 (Bad error recovery for invalid OpenMP clauses in C FE) · 0bb99c11
      	PR c/67501
      	* c-parser.c (c_parser_oacc_all_clauses,
      	c_parser_omp_all_clauses): Remove invalid clause from
      	list of clauses even if parser->error is set.
      
      	* c-c++-common/gomp/pr67501.c: New test.
      
      From-SVN: r227578
      Jakub Jelinek committed
    • re PR c/67500 (OpenMP ICE with invalid safelen/simdlen/alignment expressions) · fce5e5e3
      	PR c/67500
      	* c-parser.c (c_parser_omp_clause_aligned,
      	c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
      	test for errors.
      	* c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
      	error_mark_node.
      
      	* gcc.dg/gomp/pr67500.c: New test.
      
      From-SVN: r227577
      Jakub Jelinek committed
    • re PR c/67495 (#pragma omp atomic ICEs) · f4b189d5
      	PR c/67495
      	* c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
      	instead of c_parser_unary_expression.  If the result is !lvalue_p,
      	wrap the result of c_fully_fold into NON_LVALUE_EXPR.
      
      	* gcc.dg/gomp/pr67495.c: New test.
      
      From-SVN: r227576
      Jakub Jelinek committed
    • Fix PowerPC ICE due to secondary_reload ignoring reload replacements · 04e49571
      The reason for this PR is that insns emitted by secondary reload
      patterns are being generated without taking into account other reloads
      that may have occurred.  We run into this problem when an insn has a
      pseudo that doesn't get a hard reg, and the pseudo is used in a way
      that requires a secondary reload.  In this case the secondary reload
      is needed due to gcc generating a 64-bit gpr load from memory insn
      with an address offset not a multiple of 4.
      
      	PR target/67378
      	* config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
      	reload replacement for PRE_MODIFY address reg.
      
      From-SVN: r227573
      Alan Modra committed
    • fix PR53852: stop ISL after a given number of operations · 6b3ebcdd
      2015-09-02  Sebastian Pop  <s.pop@samsung.com>
      
                  * config.in: Regenerate.
                  * configure: Regenerate.
                  * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
                  * graphite-optimize-isl.c (optimize_isl): Stop computation when
                  PARAM_MAX_ISL_OPERATIONS is reached.
                  * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
      
                  * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
                  result equal to isl_stat_ok as the status now can be isl_error_quota.
                  (subtract_commutative_associative_deps): Same.
                  (compute_deps): Same.
      
      testsuite/
                  * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with
                  both isl-0.12 and isl-0.15.
                  * gcc.dg/graphite/uns-interchange-14.c: Same.
                  * gcc.dg/graphite/uns-interchange-15.c: Same.
                  * gcc.dg/graphite/uns-interchange-mvt.c: Same.
      
      From-SVN: r227572
      Sebastian Pop committed
    • Daily bump. · b81c3156
      From-SVN: r227571
      GCC Administrator committed
  2. 08 Sep, 2015 27 commits
    • * backtrace.c: #include <sys/types.h>. · 50809ff9
      From-SVN: r227568
      Hans-Peter Nilsson committed
    • Remove limit_scops · 74032f47
      This patch removes graphite-scop-detection.c:limit_scops function and fix
      related issues arising because of that. The functionality limit_scop was added
      as an intermediate step to discard the loops which graphite could not
      handle. Removing limit_scop required handling of different cases of loops and
      surrounding code.  The scop is now larger so most test cases required 'number of
      scops detected' to be fixed. By increasing the size of scop we can now optimize
      loops which are 'siblings' of each other. This could enable loop fusion on a
      number of loops. Since in the graphite framework we mostly want to opimize
      loop-nests/adjacent-loops, we now discard scops with less than 2 loops. We
      also discard scops without any data references.
      
      Essentially:
       - Remove limite_scops.
       - Only select scops when there are at least two loops (loop nest or, side by side).
       - Discard loops without data-refs.
       - Fix test cases.
      
      Passes bootstrap and reg-test.
      
      gcc/ChangeLog:
      
      2015-09-02  Aditya Kumar  <hiraditya@msn.com>
                  Sebastian Pop  <s.pop@samsung.com>
      
              * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
              Return the parameter if it was saved in corresponding
              parameter_rename_map of the region.
              (copy_def): Copy def from sese region to the newly created region.
              (copy_internal_parameters): Copy all the internal parameters defined
              within a region to the newly created region.
              (graphite_regenerate_ast_isl): Copy parameters to the new region before
              translating isl to gimple.
              * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
                the loop-nest does not have any data-references.
              (build_graphite_scops): Create a scop only when there is at least one
              loop inside it.
              (contains_only_close_phi_nodes): Deleted.
              (print_graphite_scop_statistics): Deleted
              (print_graphite_statistics): Deleted
              (limit_scops): Deleted.
              (build_scops): Removed call to limit_scops.
              * sese.c (new_sese): Construct.
              (free_sese): Destruct.
              (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
              added.
              (set_rename): Pass sese region so that parameters inside the region can
              be added to its parameter_rename_map.
              (rename_uses): Pass sese region.
              (graphite_copy_stmts_from_block): Do not copy parameters that have been
              generated in the header of the scop. For each SSA_NAME in the
              parameter_rename_map rename its usage.
              (invariant_in_sese_p_rec): Return false if tree t is defined outside
              sese region.
              (scalar_evolution_in_region): If the tree t is invariant just return t.
              * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
                struct sese to keep track of all the parameters which need renaming.
              * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
                any data-refs.
              * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
      
      gcc/testsuite/ChangeLog:
      
      2015-09-02  Aditya Kumar  <hiraditya@msn.com>
                  Sebastian Pop  <s.pop@samsung.com>
      
              * gcc.dg/graphite/block-0.c: Modifed test case to match current output.
              * gcc.dg/graphite/block-1.c: Same.
              * gcc.dg/graphite/block-5.c: Same.
              * gcc.dg/graphite/block-6.c: Same.
              * gcc.dg/graphite/interchange-1.c: Same.
              * gcc.dg/graphite/interchange-10.c: Same.
              * gcc.dg/graphite/interchange-11.c: Same.
              * gcc.dg/graphite/interchange-13.c: Same.
              * gcc.dg/graphite/interchange-14.c: Same.
              * gcc.dg/graphite/interchange-3.c: Same.
              * gcc.dg/graphite/interchange-4.c: Same.
              * gcc.dg/graphite/interchange-7.c: Same.
              * gcc.dg/graphite/interchange-8.c: Same.
              * gcc.dg/graphite/interchange-9.c: Same.
              * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same.
              * gcc.dg/graphite/pr35356-1.c (foo): Same.
              * gcc.dg/graphite/pr37485.c: Same.
              * gcc.dg/graphite/scop-0.c (int toto): Same.
              * gcc.dg/graphite/scop-1.c: Same.
              * gcc.dg/graphite/scop-10.c: Same.
              * gcc.dg/graphite/scop-11.c: Same.
              * gcc.dg/graphite/scop-12.c: Same.
              * gcc.dg/graphite/scop-13.c: Same.
              * gcc.dg/graphite/scop-16.c: Same.
              * gcc.dg/graphite/scop-17.c: Same.
              * gcc.dg/graphite/scop-18.c: Same.
              * gcc.dg/graphite/scop-2.c: Same.
              * gcc.dg/graphite/scop-21.c (int test): Same.
              * gcc.dg/graphite/scop-22.c (void foo): Same.
              * gcc.dg/graphite/scop-4.c: Same.
              * gcc.dg/graphite/scop-5.c: Same.
              * gcc.dg/graphite/scop-6.c: Same.
              * gcc.dg/graphite/scop-7.c: Same.
              * gcc.dg/graphite/scop-8.c: Same.
              * gcc.dg/graphite/scop-9.c: Same.
              * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that
                data-refs remain inside the inner loop.
              * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p.
              * gcc.dg/graphite/uns-interchange-14.c: Same.
              * gcc.dg/graphite/uns-interchange-9.c: Same.
              * gfortran.dg/graphite/interchange-3.f90
      
      libgomp/ChangeLog:
      
      2015-09-04  Aditya Kumar  <hiraditya@msn.com>
                  Sebastian Pop  <s.pop@samsung.com>
      
              * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
                match o/p.
              * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
              * testsuite/libgomp.graphite/force-parallel-4.c: Same.
              * testsuite/libgomp.graphite/force-parallel-5.c: Same.
              * testsuite/libgomp.graphite/force-parallel-7.c: Same.
              * testsuite/libgomp.graphite/force-parallel-8.c: Same.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r227567
      Aditya Kumar committed
    • Prevent unnecessary recompilation for trivial params.def changes · b71a6782
      2015-09-08  Tom de Vries  <tom@codesourcery.com>
      
      	* Makefile.in (generated_files): Add params.list.
      	(params.list, s-params.list): Add rule.
      	* params.h (enum compiler_param): Include params-list.h.  Move define
      	DEFPARAM, include params.def and undef DEFPARAM ...
      	* params-list.h: ... here.  New file.
      
      From-SVN: r227566
      Tom de Vries committed
    • Trivial typo fix in pretty-print.h · 2e808a78
      gcc/ChangeLog:
      	* pretty-print.h (printer_fn): Fix typo in comment.
      
      From-SVN: r227562
      David Malcolm committed
    • Re: [PATCH] Minor cleanup of const_and_copies stack · 465eeda4
      Re: [PATCH] Minor cleanup of const_and_copies stack
              * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
      
      From-SVN: r227559
      Jeff Law committed
    • correct ChangeLog dates+address · 04da74f9
      From-SVN: r227558
      Alan Lawrence committed
    • ARM/AArch64 Testsuite] Add float16 lane_f16_indices tests · 4cb4640c
      	PR target/63870
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New.
      
      From-SVN: r227557
      Alan Lawrence committed
    • [ARM] Update sourcebuild.texi with testsuite/effective-target hooks · 48c44783
      	* doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
      	(arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
      	(arm_neon_fp16_hw): New.
      
      From-SVN: r227556
      Alan Lawrence committed
    • [ARM/AArch64 Testsuite]Add test of vcvt{,_high}_i{f32_f16,f16_f32} · 946e211e
      	* gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New.
      	* lib/target-supports.exp
      	(check_effective_target_arm_neon_fp16_hw): New.
      
      From-SVN: r227555
      Alan Lawrence committed
    • [ARM/AArch64 Testsuite] Add float16 tests to advsimd-intrinsics testsuite · 1fa754dc
      	* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
      	Set additional_flags for neon-fp16 if supported, else fallback to neon.
      
      	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
      	(hfloat16_t): New.
      	(result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS,
      	DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases
      	if supported.
      	(CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED.
      	(CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16;
      	redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants
      	when those are supported.
      	(CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New.
      	(vdup_n_f16): New.
      
      	* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer,
      	buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t
      	cases if supported.
      
      	* gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl):
      	Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS.
      	* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov):
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane):
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise.
      
      	* gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected):
      	Add float16x8_t case.
      	(main, exec_vcombine): test float16x4_t -> float16x8_t, if supported.
      	* gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected,
      	main, exec_vcreate): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vget_high (expected,
      	 exec_vget_high): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected,
      	exec_vget_low): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1):
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected,
      	exec_vld1_dup): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected,
      	exec_vld1_lane): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX):
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected,
      	exec_vldX_dup): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected,
      	exec_vldX_lane): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected,
      	exec_vset_lane): Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected,
      	 exec_vst1_lane): Likewise.
      
      From-SVN: r227554
      Alan Lawrence committed
    • re PR c++/67041 ([C++14] Variable template initialized by call to lambda does not compile) · 97973457
      	PR c++/67041
      	* pt.c (tsubst_copy_and_build): Handle variables like functions.
      
      From-SVN: r227553
      Jason Merrill committed
    • [fold-const.c] Fix bigendian HFmode in native_interpret_real · 51aae43f
      	* fold-const.c (native_interpret_real): Fix HFmode for bigendian where
      	UNITS_PER_WORD >= 4.
      
      From-SVN: r227552
      Alan Lawrence committed
    • [AArch64] Add vcvt(_high)?_f32_f16 intrinsics, with BE RTL fix · 03873eb9
      gcc/:
      
      	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
      	aarch64_simd_vec_unpacks_hi_<mode>): New insn.
      	(vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
      	(vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
      	(aarch64_float_extend_lo_v2df): Rename to...
      	(aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
      
      	* config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
      	(float_extend_lo): Add v4sf.
      
      	* config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
      	* config/aarch64/iterators.md (VQ_HSF): New iterator.
      	(VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
      	(Vwide): New mode_attr.
      
      From-SVN: r227551
      Alan Lawrence committed
    • [AArch64] Improve code generation for float16 vector code · 862abc04
      gcc/:
      
      	* config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
      	aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
      	aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
      	vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
      	V4HF and V8HF variants to iterator.
      
      	* config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
      
      	* config/aarch64/iterators.md (VDQF_F16): New.
      	(VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
      
      From-SVN: r227550
      Alan Lawrence committed
    • [AArch64] vreinterpret(q?), vget_(low|high), vld1(q?)_dup · 7171dc86
      gcc/:
      
      	* config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
      	vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
      	vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
      	vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
      	vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
      	vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
      	vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
      	vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
      	vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
      	vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
      	vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
      	vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
      	vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
      	vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
      	vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
      	vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
      	vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
      	vld1q_dup_f16): New.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case.
      	* gcc.target/aarch64/vget_low_1.c: Likewise.
      
      From-SVN: r227546
      Alan Lawrence committed
    • [AArch64] Implement vcvt_{,high_}f16_f32 · 922f9c25
      	* config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
      	Reparameterize to...
      	(aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
      	(aarch64_float_truncate_hi_v4sf): Reparameterize to...
      	(aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
      
      	* config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
      	v8hf variant.
      	(float_truncate_lo_): Use BUILTIN_VDF iterator.
      
      	* config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
      
      	* config/aarch64/iterators.md (VDF, Vdtype): New.
      	(VWIDE, Vmwtype): Add cases for V4HF and V2SF.
      
      From-SVN: r227545
      Alan Lawrence committed
    • [AArch64] vld{2,3,4}{,_lane,_dup}, vcombine, vcreate · 7c369485
      gcc/:
      
      	* config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
      	* config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
      	(aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
      	Add __builtin_aarch64_simd_hf.
      	* config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
      	float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
      	vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
      	vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
      	vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
      	vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
      	vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
      	vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
      	vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
      
      	* config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
      	V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
      	(VDC, Vdbl): Add V4HF.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases.
      	* gcc.target/aarch64/vldN_dup_1.c: Likewise.
      	* gcc.target/aarch64/vldN_lane_1.c: Likewise.
      	(main): update orig_data to avoid float16 NaN on bigendian.
      
      From-SVN: r227543
      Alan Lawrence committed
    • [AArch64] Add support for float16x{4,8}_t vectors/builtins · 71a11456
      gcc/:
      
      	* config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
      	V4HFmode and V8HFmode.
      	(aarch64_split_simd_move): Add case for V8HFmode.
      	* config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
      	(aarch64_simd_builtin_std_type): Handle HFmode.
      	(aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
      
      	* config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
      	aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
      	(aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
      
      	* config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
      	Float16x8_t.
      
      	* config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
      	* config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
      	New typedefs.
      	(vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
      	vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
      	vst1q_lane_f16): New.
      	* config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
      	(VALLDI_F16, VALL_F16): New.
      	(Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
      	Add cases for V4HF and V8HF.
      	(VDBL, VRL2, VRL3, VRL4): Add V4HF case.
      
      gcc/testsuite/:
      
      	* g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and
      	float16x8_t.
      	* gcc.target/aarch64/vset_lane_1.c: Likewise.
      	* gcc.target/aarch64/vld1-vst1_1.c: Likewise.
      	* gcc.target/aarch64/vld1_lane.c: Likewise.
      
      From-SVN: r227542
      Alan Lawrence committed
    • [ARM] Remaining intrinsics · 4b644867
      	
      	* config/arm/arm-builtins.c (VAR11, VAR12): New.
      	* config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
      	vld4_dup): Add v4hf variant.
      	(vget_high, vget_low): Add v8hf variant.
      	(vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
      	vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
      	v4hf and v8hf variants.
      
      	* config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
      	(VDX): Add V4HF.
      	(V_DOUBLE): Add case for V4HF.
      	(VQX): Add V8HF.
      	(V_HALF): Add case for V8HF.
      	(VDQX): Add V4HF, V8HF.
      	(V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
      	V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
      
      	* config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
      	neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
      	vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
      	neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
      	neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
      	neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
      	vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
      	neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
      	neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
      
      	(neon_vcreate, neon_vreinterpretv8qi<mode>,
      	neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
      	neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
      	Change VDX to VD_RE.
      
      	(neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
      	neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
      	Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
      
      	* config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
      	float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
      	vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
      	vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
      	vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
      	vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
      	vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
      	vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
      	vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
      
      From-SVN: r227541
      Alan Lawrence committed
    • [ARM] float16x8_t intrinsics in arm_neon.h · 7fe08e71
      	
      	* config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
      	vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
      	vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
      	vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
      	vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
      	vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
      	vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
      	vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
      	vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
      	vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
      	New.
      
      From-SVN: r227538
      Alan Lawrence committed
    • fix ChangeLog whitespace · 5e433e97
      From-SVN: r227537
      Alan Lawrence committed
    • [ARM] Add V8HFmode and float16x8_t type · cd1c19a5
      	
      	* config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
      
      	* config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
      
      	* config/arm/arm-builtins.c (v8hf_UP): New.
      	(arm_init_simd_builtin_types): Initialise Float16x8_t.
      
      	* config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
      
      	* config/arm/arm_neon.h (float16x8_t): New typedef.
      
      From-SVN: r227536
      Alan Lawrence committed
    • [ARM] float16x4_t intrinsics in arm_neon.h · 61e33bff
      	* config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
      	vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
      	vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
      	vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
      	vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
      	vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
      	vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
      	vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
      	vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
      	vreinterpret_u16_f16, vreinterpret_u32_f16): New.
      
      From-SVN: r227535
      Alan Lawrence committed
    • fix ChangeLog entry for r227407 · 32dd8b86
      From-SVN: r227534
      Charles Baylis committed
    • re PR other/67457 (segfault in libbacktrace) · c478516b
      	PR other/67457
      	* backtrace.c: #include "internal.h".
      	(struct backtrace_data): Add can_alloc field.
      	(unwind): If can_alloc is false, don't try to get file/line
      	information.
      	(backtrace_full): Set can_alloc field in bdata.
      	* alloc.c (backtrace_alloc): Don't call error_callback if it is
      	NULL.
      	* mmap.c (backtrace_alloc): Likewise.
      	* internal.h: Update comments for backtrace_alloc and
      	backtrace_free.
      
      From-SVN: r227533
      Ian Lance Taylor committed
    • backport: Makefile.am (liboffloadmic_host_la_DEPENDENCIES): Remove libcoi_host and libmyo-client. · 2eab9666
      Merge liboffloadmic from upstream, version 20150803.
      
      liboffloadmic/
      	* Makefile.am (liboffloadmic_host_la_DEPENDENCIES): Remove libcoi_host
      	and libmyo-client.  liboffloadmic_host loads them dynamically.
      	* Makefile.in: Regenerate.
      	* doc/doxygen/header.tex: Merge from upstream, version 20150803
      	<https://openmprtl.org/sites/default/files/liboffload_oss_20150803.tgz>.
      	* runtime/cean_util.cpp: Likewise.
      	* runtime/cean_util.h: Likewise.
      	* runtime/coi/coi_client.cpp: Likewise.
      	* runtime/coi/coi_client.h: Likewise.
      	* runtime/coi/coi_server.cpp: Likewise.
      	* runtime/coi/coi_server.h: Likewise.
      	* runtime/compiler_if_host.cpp: Likewise.
      	* runtime/compiler_if_host.h: Likewise.
      	* runtime/compiler_if_target.cpp: Likewise.
      	* runtime/compiler_if_target.h: Likewise.
      	* runtime/dv_util.cpp: Likewise.
      	* runtime/dv_util.h: Likewise.
      	* runtime/liboffload_error.c: Likewise.
      	* runtime/liboffload_error_codes.h: Likewise.
      	* runtime/liboffload_msg.c: Likewise.
      	* runtime/liboffload_msg.h: Likewise.
      	* runtime/mic_lib.f90: Likewise.
      	* runtime/offload.h: Likewise.
      	* runtime/offload_common.cpp: Likewise.
      	* runtime/offload_common.h: Likewise.
      	* runtime/offload_engine.cpp: Likewise.
      	* runtime/offload_engine.h: Likewise.
      	* runtime/offload_env.cpp: Likewise.
      	* runtime/offload_env.h: Likewise.
      	* runtime/offload_host.cpp: Likewise.
      	* runtime/offload_host.h: Likewise.
      	* runtime/offload_iterator.h: Likewise.
      	* runtime/offload_myo_host.cpp: Likewise.
      	* runtime/offload_myo_host.h: Likewise.
      	* runtime/offload_myo_target.cpp: Likewise.
      	* runtime/offload_myo_target.h: Likewise.
      	* runtime/offload_omp_host.cpp: Likewise.
      	* runtime/offload_omp_target.cpp: Likewise.
      	* runtime/offload_orsl.cpp: Likewise.
      	* runtime/offload_orsl.h: Likewise.
      	* runtime/offload_table.cpp: Likewise.
      	* runtime/offload_table.h: Likewise.
      	* runtime/offload_target.cpp: Likewise.
      	* runtime/offload_target.h: Likewise.
      	* runtime/offload_target_main.cpp: Likewise.
      	* runtime/offload_timer.h: Likewise.
      	* runtime/offload_timer_host.cpp: Likewise.
      	* runtime/offload_timer_target.cpp: Likewise.
      	* runtime/offload_trace.cpp: Likewise.
      	* runtime/offload_trace.h: Likewise.
      	* runtime/offload_util.cpp: Likewise.
      	* runtime/offload_util.h: Likewise.
      	* runtime/ofldbegin.cpp: Likewise.
      	* runtime/ofldend.cpp: Likewise.
      	* runtime/orsl-lite/include/orsl-lite.h: Likewise.
      	* runtime/orsl-lite/lib/orsl-lite.c: Likewise.
      	* runtime/use_mpss2.txt: Likewise.
      	* include/coi/common/COIEngine_common.h: Merge from upstream, MPSS
      	version 3.5
      	<http://registrationcenter.intel.com/irc_nas/7445/mpss-src-3.5.tar>.
      	* include/coi/common/COIEvent_common.h: Likewise.
      	* include/coi/common/COIMacros_common.h: Likewise.
      	* include/coi/common/COIPerf_common.h: Likewise.
      	* include/coi/common/COIResult_common.h: Likewise.
      	* include/coi/common/COISysInfo_common.h: Likewise.
      	* include/coi/common/COITypes_common.h: Likewise.
      	* include/coi/sink/COIBuffer_sink.h: Likewise.
      	* include/coi/sink/COIPipeline_sink.h: Likewise.
      	* include/coi/sink/COIProcess_sink.h: Likewise.
      	* include/coi/source/COIBuffer_source.h: Likewise.
      	* include/coi/source/COIEngine_source.h: Likewise.
      	* include/coi/source/COIEvent_source.h: Likewise.
      	* include/coi/source/COIPipeline_source.h: Likewise.
      	* include/coi/source/COIProcess_source.h: Likewise.
      	* include/myo/myo.h: Likewise.
      	* include/myo/myoimpl.h: Likewise.
      	* include/myo/myotypes.h: Likewise.
      	* plugin/Makefile.am (myo_inc_dir): Remove.
      	(libgomp_plugin_intelmic_la_CPPFLAGS): Do not define MYO_SUPPORT.
      	(AM_CPPFLAGS): Likewise for offload_target_main.
      	* plugin/Makefile.in: Regenerate.
      	* runtime/emulator/coi_common.h: Update copyright years.
      	(OFFLOAD_EMUL_KNC_NUM_ENV): Replace with ...
      	(OFFLOAD_EMUL_NUM_ENV): ... this.
      	(enum cmd_t): Add CMD_CLOSE_LIBRARY.
      	* runtime/emulator/coi_device.cpp: Update copyright years.
      	(COIProcessWaitForShutdown): Add space between string constants.
      	Return handle to host in CMD_OPEN_LIBRARY.
      	Support CMD_CLOSE_LIBRARY.
      	* runtime/emulator/coi_device.h: Update copyright years.
      	* runtime/emulator/coi_host.cpp: Update copyright years.
      	(knc_engines_num): Replace with ...
      	(num_engines): ... this.
      	(init): Replace OFFLOAD_EMUL_KNC_NUM_ENV with OFFLOAD_EMUL_NUM_ENV.
      	(COIEngineGetCount): Replace COI_ISA_KNC with COI_ISA_MIC, and
      	knc_engines_num with num_engines.
      	(COIEngineGetHandle): Likewise.
      	(COIProcessCreateFromMemory): Add space between string constants.
      	(COIProcessCreateFromFile): New function.
      	(COIProcessLoadLibraryFromMemory): Rename arguments according to
      	COIProcess_source.h.  Return handle, received from target.
      	(COIProcessUnloadLibrary): New function.
      	(COIPipelineClearCPUMask): New function.
      	(COIPipelineSetCPUMask): New function.
      	(COIEngineGetInfo): New function.
      	* runtime/emulator/coi_host.h: Update copyright years.
      	* runtime/emulator/coi_version_asm.h: Regenerate.
      	* runtime/emulator/coi_version_linker_script.map: Regenerate.
      	* runtime/emulator/myo_client.cpp: Update copyright years.
      	* runtime/emulator/myo_service.cpp: Update copyright years.
      	(myoArenaRelease): New function.
      	(myoArenaAcquire): New function.
      	(myoArenaAlignedFree): New function.
      	(myoArenaAlignedMalloc): New function.
      	* runtime/emulator/myo_service.h: Update copyright years.
      	* runtime/emulator/myo_version_asm.h: Regenerate.
      	* runtime/emulator/myo_version_linker_script.map: Regenerate.
      
      From-SVN: r227532
      Ilya Verbin committed
    • re PR c++/67369 (ICE (in tsubst_decl, at cp/pt.c:11302) with -std=c++14) · 761f8e2f
      /cp
      2015-09-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67369
      	* pt.c (tsubst_copy, [case FUNCTION_DECL]): Do not call tsubst
      	if the first argument isn't a template.
      
      /testsuite
      2015-09-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67369
      	* g++.dg/cpp1y/lambda-generic-ice4.C: New.
      
      From-SVN: r227530
      Paolo Carlini committed