Rotate ChangeLog files - part 1 - add ChangeLog-2020.
authorJakub Jelinek <jakub@redhat.com>
Fri, 1 Jan 2021 16:26:04 +0000 (17:26 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 1 Jan 2021 16:27:52 +0000 (17:27 +0100)
2021-01-01  Jakub Jelinek  <jakub@redhat.com>

gcc/
* ChangeLog-2020: Rotate ChangeLog.  New file.
gcc/ada/
* ChangeLog-2020: Rotate ChangeLog.  New file.
gcc/cp/
* ChangeLog-2020: Rotate ChangeLog.  New file.
gcc/d/
* ChangeLog-2020: Rotate ChangeLog.  New file.
gcc/fortran/
* ChangeLog-2020: Rotate ChangeLog.  New file.
gcc/testsuite/
* ChangeLog-2020: Rotate ChangeLog.  New file.
libgfortran/
* ChangeLog-2020: Rotate ChangeLog.  New file.
libstdc++-v3/
* ChangeLog-2020: Rotate ChangeLog.  New file.

gcc/ChangeLog-2020 [new file with mode: 0644]
gcc/ada/ChangeLog-2020 [new file with mode: 0644]
gcc/cp/ChangeLog-2020 [new file with mode: 0644]
gcc/d/ChangeLog-2020 [new file with mode: 0644]
gcc/fortran/ChangeLog-2020 [new file with mode: 0644]
gcc/testsuite/ChangeLog-2020 [new file with mode: 0644]
libgfortran/ChangeLog-2020 [new file with mode: 0644]
libstdc++-v3/ChangeLog-2020 [new file with mode: 0644]

diff --git a/gcc/ChangeLog-2020 b/gcc/ChangeLog-2020
new file mode 100644 (file)
index 0000000..6553720
--- /dev/null
@@ -0,0 +1,39860 @@
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98302
+       * tree-vect-patterns.c (vect_determine_precisions_from_users): Make
+       sure that the precision remains greater than the shift count.
+
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94994
+       * tree-vect-data-refs.c (vect_vfa_align): Use dr_alignment.
+
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98214
+       * genmodes.c (emit_insn_modes_h): Emit a definition of CONST_MODE_MASK.
+       (emit_mode_mask): Treat mode_mask_array as non-constant if adj_nunits.
+       (emit_mode_adjustments): Update GET_MODE_MASK when updating
+       GET_MODE_NUNITS.
+       * machmode.h (mode_mask_array): Use CONST_MODE_MASK.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94802
+       * match.pd (clz(X) == 0 -> (int)X < 0): New simplification.
+       (clz(X) == (prec-1) -> X == 1): Likewise.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94785
+       * match.pd ((-(X < 0) | 1) * X -> abs (X)): New simplification.
+       ((-(X < 0) | 1U) * X -> absu (X)): Likewise.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98474
+       * wide-int.cc (wi::to_mpz): If wide_int has MSB set, but type
+       is unsigned and excess negative, append set bits after len until
+       precision.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98206
+       * fold-const.c: Include asan.h.
+       (fold_unary_loc): Don't optimize (ptr_type) (((ptr_type2) x) p+ y)
+       into ((ptr_type) x) p+ y if sanitizing alignment in GENERIC and
+       ptr_type points to type with higher alignment than ptr_type2.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56719
+       * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
+       x < C && y < C && z < C when C is a power of two constant into
+       (x | y | z) < C.
+
+2020-12-30  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Remove unnecessary clobbers
+       from combine splitters.
+
+2020-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98461
+       * config/i386/sse.md (<sse2_avx2>_pmovmskb): Add splitters
+       for pmovmskb of NOT vector.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (maddsidi4_split): Skip macd gen, use mac insn
+       instead.
+       (macd): Update register letters.
+       (umaddsidi4_split): Skip macdu gen, use macu insn instead.
+       (macdu): Update register letters.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_secondary_reload): Flip if-condition
+       predicates.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.h (REGNO_OK_FOR_BASE_P): Check if defined
+       reg_renumber.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (prepare_move_operands): Use a temporary
+       registers when we have cached mem-to-uncached mem moves.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (movdi_insn): Update pattern, no predicated
+       vadd2 usage.
+       (movdf_insn): Likewise.
+       * config/arc/simdext.md (movVEC_insn): Likewise.
+
+2020-12-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_gen_TWO52): Use REAL_MODE_FORMAT
+       to determine number of mantissa bits.  Use real_2expN instead
+       of real_ldexp.
+       (ix86_expand_rint): Use copy_to_reg.
+       (ix86_expand_floorceildf_32): Ditto.
+       (ix86_expand_truncdf_32): Ditto.
+       (ix86_expand_rounddf_32): Ditto.
+       (ix86_expand_floorceil): Use copy_to_reg and int_mode_for_mode.
+       (ix86_expand_trunc): Ditto.
+       (ix86_expand_round): Ditto.
+
+2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/standards.texi (HSAIL): Remove section.
+
+2020-12-28  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * config/i386/i386-expand.c (ix86_expand_rint):
+       Remove the sign of the intermediate value for flag_rounding_math.
+
+2020-12-28  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_trunc): Use
+       existing temporary register to avoid a call to force_reg.
+
+2020-12-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386.md (optab): New code attr.
+       * config/i386/sse.md (<code>v32qiv32hi2): Rename to ...
+       (<optab>v32qiv32hi2) ... this.
+       (<code>v16qiv16hi2): Likewise.
+       (<code>v8qiv8hi2): Likewise.
+       (<code>v16qiv16si2): Likewise.
+       (<code>v8qiv8si2): Likewise.
+       (<code>v4qiv4si2): Likewise.
+       (<code>v16hiv16si2): Likewise.
+       (<code>v8hiv8si2): Likewise.
+       (<code>v4hiv4si2): Likewise.
+       (<code>v8qiv8di2): Likewise.
+       (<code>v4qiv4di2): Likewise.
+       (<code>v2qiv2di2): Likewise.
+       (<code>v8hiv8di2): Likewise.
+       (<code>v4hiv4di2): Likewise.
+       (<code>v2hiv2di2): Likewise.
+       (<code>v8siv8di2): Likewise.
+       (<code>v4siv4di2): Likewise.
+       (<code>v2siv2di2): Likewise.
+
+2020-12-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/analyzer.texi (Analyzer Internals): Find a new source for
+       the "A Memory Model for Static Analysis of C Programs" paper.
+
+2020-12-25  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (C++ Module Mapper): Fix reference to libcody.
+
+2020-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure.ac: Add gxx-libcxx-include-dir handled
+       in the same way as the regular cxx header directory.
+       * Makefile.in: Regenerated.
+       * config.in: Likewise.
+       * configure: Likewise.
+       * cppdefault.c: Pick up libc++ headers if the option
+       is enabled.
+       * cppdefault.h (struct default_include): Amend comments
+       to reflect the extended use of the cplusplus field.
+       * incpath.c (add_standard_paths): Allow for multiple
+       c++ header include path variants.
+       * doc/invoke.texi: Document the -stdlib= option.
+
+2020-12-24  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (arch_canonicalize): Call
+       decode for the subprocess return value.
+
+2020-12-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98160
+       * builtins.c (warn_dealloc_offset): Avoid assuming calls are made
+       through declared functions and not pointers.
+
+2020-12-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98413
+       * builtins.c (get_offset_range): Avoid non-integers/-pointers.
+
+2020-12-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-driver.c (validate_macosx_version_min): Allow
+       MACOSX_DEPLOYMENT_TARGET=11.
+       (darwin_default_min_version): Adjust warning spelling to avoid
+       an apostrophe.
+
+2020-12-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * config/i386/i386-expand.c (ix86_expand_truncdf_32):
+       Remove the sign of the intermediate value for flag_rounding_math.
+
+2020-12-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * config/arm/types.md (define_attr "autodetect_type"): New.
+       (define_attr "type"): Subdivide alu_shift_imm.
+       * config/arm/common.md: New file.
+       * config/aarch64/predicates.md:Include common.md.
+       * config/arm/predicates.md:Include common.md.
+       * config/aarch64/aarch64.md (*add_<shift>_<mode>): Set autodetect_type.
+       (*add_<shift>_si_uxtw): Likewise.
+       (*sub_<shift>_<mode>): Likewise.
+       (*sub_<shift>_si_uxtw): Likewise.
+       (*neg_<shift>_<mode>2): Likewise.
+       (*neg_<shift>_si2_uxtw): Likewise.
+       * config/arm/arm.md (*addsi3_carryin_shift): Likewise.
+       (add_not_shift_cin): Likewise.
+       (*subsi3_carryin_shift): Likewise.
+       (*subsi3_carryin_shift_alt): Likewise.
+       (*rsbsi3_carryin_shift): Likewise.
+       (*rsbsi3_carryin_shift_alt): Likewise.
+       (*arm_shiftsi3): Likewise.
+       (*<arith_shift_insn>_multsi): Likewise.
+       (*<arith_shift_insn>_shiftsi): Likewise.
+       (subsi3_carryin): Set new type.
+       (*if_arith_move): Set new type.
+       (*if_move_arith): Set new type.
+       (define_attr "core_cycles"): Use new type.
+       * config/arm/arm-fixed.md (arm_ssatsihi_shift): Set autodetect_type.
+       * config/arm/thumb2.md (*orsi_not_shiftsi_si): Likewise.
+       (*thumb2_shiftsi3_short): Set new type.
+       * config/aarch64/falkor.md (falkor_alu_1_xyz): Use new type.
+       * config/aarch64/saphira.md (saphira_alu_1_xyz): Likewise.
+       * config/aarch64/thunderx.md (thunderx_arith_shift): Likewise.
+       * config/aarch64/thunderx2t99.md (thunderx2t99_alu_shift): Likewise.
+       * config/aarch64/thunderx3t110.md (thunderx3t110_alu_shift): Likewise.
+       (thunderx3t110_alu_shift1): Likewise.
+       * config/aarch64/tsv110.md (tsv110_alu_shift): Likewise.
+       * config/arm/arm1020e.md (1020alu_shift_op): Likewise.
+       * config/arm/arm1026ejs.md (alu_shift_op): Likewise.
+       * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise.
+       * config/arm/arm926ejs.md (9_alu_op): Likewise.
+       * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise.
+       * config/arm/cortex-a17.md (cortex_a17_alu_shiftimm): Likewise.
+       * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise.
+       * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
+       * config/arm/cortex-a57.md (cortex_a57_alu_shift): Likewise.
+       * config/arm/cortex-a7.md (cortex_a7_alu_shift): Likewise.
+       * config/arm/cortex-a8.md (cortex_a8_alu_shift): Likewise.
+       * config/arm/cortex-a9.md (cortex_a9_dp_shift): Likewise.
+       * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
+       * config/arm/cortex-m7.md (cortex_m7_alu_shift): Likewise.
+       * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise.
+       * config/arm/exynos-m1.md (exynos_m1_alu_shift): Likewise.
+       * config/arm/fa526.md (526_alu_shift_op): Likewise.
+       * config/arm/fa606te.md (606te_alu_op): Likewise.
+       * config/arm/fa626te.md (626te_alu_shift_op): Likewise.
+       * config/arm/fa726te.md (726te_alu_shift_op): Likewise.
+       * config/arm/fmp626.md (mp626_alu_shift_op): Likewise.
+       * config/arm/marvell-pj4.md (pj4_shift): Likewise.
+       (pj4_shift_conds): Likewise.
+       (pj4_alu_shift): Likewise.
+       (pj4_alu_shift_conds): Likewise.
+       * config/arm/xgene1.md (xgene1_alu): Likewise.
+       * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
+
+2020-12-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * config/i386/i386-expand.c (ix86_expand_floorceil):
+       Remove the sign of the intermediate value for flag_rounding_math.
+       (ix86_expand_floorceildf_32): Ditto.
+
+2020-12-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md (*one_cmpl<mode>2_1): Fix typo, change
+       alternative from 2 to 1 in attr isa.
+
+2020-12-22  Ian Lance Taylor  <iant@golang.org>
+
+       * godump.c (go_output_typedef): If DECL_ORIGINAL_TYPE is NULL, use
+       TREE_TYPE.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98353
+       * gimplify.c (gimplify_init_ctor_eval_range): Gimplify value before
+       storing it into cref.
+
+2020-12-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-driver.c (darwin_find_version_from_kernel):
+       Compute the minor OS version from the minor kernel version.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98407
+       * fold-const.c (native_encode_initializer): When handling flexible
+       array members, fix up computation of length for memset.  Also remove
+       " - o" as o is always guaranteed to be 0 in this code path.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98383
+       * gimplify.c (struct gimplify_omp_ctx): Add in_for_exprs flag.
+       (gimple_add_tmp_var): For addressable temporaries appearing in
+       simd lb, b or incr expressions, don't add a private clause unless
+       it is seen also outside of those expressions in the simd body.
+       (omp_notice_variable): Likewise.
+       (gimplify_omp_for): Set and reset in_for_exprs around gimplification
+       of lb, b or incr expressions.
+
+2020-12-20  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.md (bswapsi2, bswapdi2): New patterns.
+
+2020-12-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/98400
+       * doc/invoke.texi (-mbackchain): Fix a typo - -mmo-backchain ->
+       -mno-backchain.
+
+2020-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98366
+       * fold-const.c (native_encode_initializer): Don't try to
+       memset more than total_bytes with off == -1 even if len is large.
+       Handle flexible array member initializers if off == -1 and mask is
+       NULL.
+       * expr.c (convert_to_bytes): Remove.
+       (constant_byte_string): Use native_encode_initializer instead of
+       convert_to_bytes.  Remove extraneous semicolon.  Punt on various
+       corner-cases the APIs don't handle, like sizes > INT_MAX,
+       BITS_PER_UNIT != 8, CHAR_BIT != 8.
+
+2020-12-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98067
+       * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Handle
+         CONST_DECL only if is_fortran, is_ada, or is_dlang.
+
+2020-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98378
+       * gimple-ssa-store-merging.c (find_bswap_or_nop): Punt if CONSTRUCTOR
+       has no elements.
+
+2020-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (struct gimplify_omp_ctx): Add has_depend member.
+       (gimplify_scan_omp_clauses): Set it to true if OMP_CLAUSE_DEPEND
+       appears on OMP_TASK.
+       (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Force
+       GOVD_WRITTEN on shared variables if task construct has depend clause.
+
+2020-12-18  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/98177
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use
+       get_same_sized_vectype to obtain index type.
+       (vectorizable_reduction): Likewise.
+
+2020-12-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * langhooks-def.h (lhd_get_decl_init): New.
+       (lhd_finish_decl_inits): New.
+       (LANG_HOOKS_GET_DECL_INIT): New.
+       (LANG_HOOKS_OMP_FINISH_DECL_INITS): New.
+       (LANG_HOOKS_DECLS): Add LANG_HOOKS_GET_DECL_INIT and
+       LANG_HOOKS_OMP_FINISH_DECL_INITS.
+       * langhooks.c (lhd_omp_get_decl_init): New.
+       (lhd_omp_finish_decl_inits): New.
+       * langhooks.h (struct lang_hooks_for_decls): Add omp_get_decl_init
+       and omp_finish_decl_inits.
+       * omp-offload.c (omp_discover_declare_target_var_r): Use
+       get_decl_init langhook in place of DECL_INITIAL.  Call
+       omp_finish_decl_inits langhook at end of function.
+
+2020-12-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Use
+       aarch64_full_sve_mode and aarch64_vq_mode directly, instead of
+       going via aarch64_simd_container_mode.
+
+2020-12-18  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/iterators.md (rot): Add UNSPEC_VCMUL, UNSPEC_VCMUL90,
+       UNSPEC_VCMUL180, UNSPEC_VCMUL270.
+
+2020-12-17  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-A78C core.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98347
+       * rtl-ssa/access-utils.h (full_register): Use regno_reg_rtx
+       instead of reg_raw_mode.
+
+2020-12-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       * targhooks.h (default_estimated_poly_value): Updated.
+
+2020-12-17  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/invoke.texi (C++ Modules): Document lack of std
+       library header units.
+
+2020-12-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * target.h (enum poly_value_estimate_kind): Define.
+       (estimated_poly_value): Take an estimate kind argument.
+       * target.def (estimated_poly_value): Update definition for the
+       above.
+       * doc/tm.texi: Regenerate.
+       * targhooks.c (estimated_poly_value): Update prototype.
+       * tree-vect-loop.c (vect_better_loop_vinfo_p): Use min, max and
+       likely estimates of VF to pick between vinfos.
+       * config/aarch64/aarch64.c (aarch64_cmp_autovec_modes): Use
+       estimated_poly_value instead of aarch64_estimated_poly_value.
+       (aarch64_estimated_poly_value): Take a kind argument and handle
+       it.
+
+2020-12-17  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon.h (vcreate_p64): Remove call to
+       '__builtin_neon_vcreatedi'.
+
+2020-12-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97750
+       * range-op.cc (operator_cast::op1_range): Handle pointers better.
+
+2020-12-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * rtl-ssa.h: Include memmodel.h before tm_p.h.
+
+2020-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98289
+       * shrink-wrap.c (can_get_prologue): Don't punt on EDGE_CROSSING
+       incoming edges.
+
+2020-12-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * configure.ac: Change --enable-s390-excess-float-precision
+       default behavior for cross compiles with target headers.
+       * configure: Regenerate.
+       * doc/install.texi: Adjust documentation.
+
+2020-12-17  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.md (*ashlsi3_1, *ashlsi3_3x, *ashrsi3_3x)
+       (*lshrsi3_3x): New patterns.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * fwprop.c: Rewrite to use the RTL SSA framework.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * configure.ac: Add rtl-ssa to the list of dependence directories.
+       * configure: Regenerate.
+       * Makefile.in (rtl-ssa-warn): New variable.
+       (OBJS): Add the rtl-ssa object files.
+       * emit-rtl.h (rtl_data::ssa): New field.
+       * rtl-ssa.h: New file.
+       * system.h: Include <functional> when INCLUDE_FUNCTIONAL is defined.
+       * rtl-ssa/access-utils.h: Likewise.
+       * rtl-ssa/accesses.h: New file.
+       * rtl-ssa/accesses.cc: Likewise.
+       * rtl-ssa/blocks.h: New file.
+       * rtl-ssa/blocks.cc: Likewise.
+       * rtl-ssa/change-utils.h: Likewise.
+       * rtl-ssa/changes.h: New file.
+       * rtl-ssa/changes.cc: Likewise.
+       * rtl-ssa/functions.h: New file.
+       * rtl-ssa/functions.cc: Likewise.
+       * rtl-ssa/insn-utils.h: Likewise.
+       * rtl-ssa/insns.h: New file.
+       * rtl-ssa/insns.cc: Likewise.
+       * rtl-ssa/internals.inl: Likewise.
+       * rtl-ssa/is-a.inl: Likewise.
+       * rtl-ssa/member-fns.inl: Likewise.
+       * rtl-ssa/movement.h: Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/rtl.texi (RTL SSA): New node.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl.h (simple_regno_set): Declare.
+       * rtlanal.c (simple_regno_set): New function.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtlanal.h: New file.
+       (MEM_REGNO): New constant.
+       (rtx_obj_flags): New namespace.
+       (rtx_obj_reference, rtx_properties): New classes.
+       (growing_rtx_properties, vec_rtx_properties_base): Likewise.
+       (vec_rtx_properties): New alias.
+       * rtlanal.c: Include it.
+       (rtx_properties::try_to_add_reg): New function.
+       (rtx_properties::try_to_add_dest): Likewise.
+       (rtx_properties::try_to_add_src): Likewise.
+       (rtx_properties::try_to_add_pattern): Likewise.
+       (rtx_properties::try_to_add_insn): Likewise.
+       (vec_rtx_properties_base::grow): Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_change_watermark): New class.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_propagation): New class.
+       * recog.c (insn_propagation::apply_to_mem_1): New function.
+       (insn_propagation::apply_to_rvalue_1): Likewise.
+       (insn_propagation::apply_to_lvalue_1): Likewise.
+       (insn_propagation::apply_to_pattern_1): Likewise.
+       (insn_propagation::apply_to_pattern): Likewise.
+       (insn_propagation::apply_to_rvalue): Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (temporarily_undo_changes, redo_changes): Declare.
+       * recog.c (temporarily_undone_changes): New variable.
+       (validate_change_1, confirm_change_group): Check that it's zero.
+       (cancel_changes): Likewise.
+       (swap_change, temporarily_undo_changes): New functions.
+       (redo_changes): Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (validate_change_xveclen): Declare.
+       * recog.c (change_t::old_len): New field.
+       (validate_change_1): Add a new_len parameter.  Conditionally
+       replace the XVECLEN of an rtx, avoiding single-element PARALLELs.
+       (validate_change_xveclen): New function.
+       (cancel_changes): Undo changes made by validate_change_xveclen.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl.h (simplify_context): New class.
+       (simplify_unary_operation, simplify_binary_operation): Use it.
+       (simplify_ternary_operation, simplify_relational_operation): Likewise.
+       (simplify_subreg, simplify_gen_unary, simplify_gen_binary): Likewise.
+       (simplify_gen_ternary, simplify_gen_relational): Likewise.
+       (simplify_gen_subreg, lowpart_subreg): Likewise.
+       * simplify-rtx.c (simplify_gen_binary): Turn into a member function
+       of simplify_context.
+       (simplify_gen_unary, simplify_gen_ternary, simplify_gen_relational)
+       (simplify_truncation, simplify_unary_operation): Likewise.
+       (simplify_unary_operation_1, simplify_byte_swapping_operation)
+       (simplify_associative_operation, simplify_logical_relational_operation)
+       (simplify_binary_operation, simplify_binary_operation_series)
+       (simplify_distributive_operation, simplify_plus_minus): Likewise.
+       (simplify_relational_operation, simplify_relational_operation_1)
+       (simplify_cond_clz_ctz, simplify_merge_mask): Likewise.
+       (simplify_ternary_operation, simplify_subreg, simplify_gen_subreg)
+       (lowpart_subreg): Likewise.
+       (simplify_binary_operation_1): Likewise.  Test mem_depth when
+       deciding whether the ASHIFT or MULT form is canonical.
+       (simplify_merge_mask): Use simplify_context.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl.h (register_asm_p): Declare.
+       * recog.c (verify_changes): Split out the test for whether
+       a hard register is a register asm to...
+       * rtlanal.c (register_asm_p): ...this new function.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * print-rtl.h (print_insn_with_notes): Declare.
+       * print-rtl.c (print_insn_with_notes): Make non-static
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * cfgrtl.h (update_cfg_for_uncondjump): Declare.
+       * combine.c (update_cfg_for_uncondjump): Move to...
+       * cfgrtl.c: ...here.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * vec.h (array_slice): New class.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * Makefile.in (OBJS): Add splay-tree-utils.o.
+       * system.h: Include <array> when INCLUDE_ARRAY is defined.
+       * selftest.h (splay_tree_cc_tests): Declare.
+       * selftest-run-tests.c (selftest::run_tests): Run splay_tree_cc_tests.
+       * splay-tree-utils.h: New file.
+       * splay-tree-utils.tcc: Likewise.
+       * splay-tree-utils.cc: Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * mux-utils.h: New file.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * obstack-utils.h: New file.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * iterator-utils.h (derived_iterator): New class.
+       (const_derived_container, wrapper_iterator): Likewise.
+       (list_iterator): Likewise.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * hard-reg-set.h (global_reg_set): Declare.
+       * reginfo.c (global_reg_set): New variable.
+       (init_reg_sets_1, globalize_reg): Update it when globalizing
+       registers.
+
+2020-12-16  Piotr Kubaj  <pkubaj@FreeBSD.org>
+
+       * config.gcc (powerpc*le-*-freebsd*): Add.
+       * configure.ac (powerpc*le-*-freebsd*): Ditto.
+       * configure: Regenerate.
+       * config/rs6000/freebsd64.h (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
+       (DEFAULT_ASM_ENDIAN): Add little endian support.
+       (LINK_OS_FREEBSD_SPEC64): Ditto.
+
+2020-12-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.c (xtensa_emit_move_sequence): Try to
+       replace 'l32r' with 'movi' + 'slli' when optimizing for size.
+       * config/xtensa/xtensa.md (movdi): Split loading DI mode constant
+       into register pair into two loads of SI mode constants.
+
+2020-12-16  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vcmulq_rot90_f16):
+       (__arm_vcmulq_rot270_f16, _arm_vcmulq_rot180_f16, __arm_vcmulq_f16,
+       __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32,
+       __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcmlaq_f16,
+       __arm_vcmlaq_rot180_f16, __arm_vcmlaq_rot270_f16,
+       __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32, __arm_vcmlaq_rot180_f32,
+       __arm_vcmlaq_rot270_f32, __arm_vcmlaq_rot90_f32): Update builtin calls.
+       * config/arm/arm_mve_builtins.def (vcmulq_f, vcmulq_rot90_f,
+       vcmulq_rot180_f, vcmulq_rot270_f, vcmlaq_f, vcmlaq_rot90_f,
+       vcmlaq_rot180_f, vcmlaq_rot270_f): Removed.
+       (vcmulq, vcmulq_rot90, vcmulq_rot180, vcmulq_rot270, vcmlaq,
+       vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270): New.
+       * config/arm/iterators.md (mve_rot): Add UNSPEC_VCMLA, UNSPEC_VCMLA90,
+       UNSPEC_VCMLA180, UNSPEC_VCMLA270, UNSPEC_VCMUL, UNSPEC_VCMUL90,
+       UNSPEC_VCMUL180, UNSPEC_VCMUL270.
+       (VCMUL): New.
+       * config/arm/mve.md (mve_vcmulq_f<mode, mve_vcmulq_rot180_f<mode>,
+       mve_vcmulq_rot270_f<mode>, mve_vcmulq_rot90_f<mode>, mve_vcmlaq_f<mode>,
+       mve_vcmlaq_rot180_f<mode>, mve_vcmlaq_rot270_f<mode>,
+       mve_vcmlaq_rot90_f<mode>): Removed.
+       (mve_vcmlaq<mve_rot><mode>, mve_vcmulq<mve_rot><mode>,
+       mve_vcaddq<mve_rot><mode>, cadd<rot><mode>3, mve_vcaddq<mve_rot><mode>):
+       New.
+       * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270, UNSPEC_VCMUL,
+       UNSPEC_VCMUL180): New.
+       (VCMULQ_F, VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F,
+       VCMLAQ_F, VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F): Removed.
+
+2020-12-16  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8,
+       __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8,
+       __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16,
+       __arm_vcaddq_rot90_s16, __arm_vcaddq_rot270_s16,
+       __arm_vcaddq_rot90_u32, __arm_vcaddq_rot270_u32,
+       __arm_vcaddq_rot90_s32, __arm_vcaddq_rot270_s32,
+       __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16,
+       __arm_vcaddq_rot90_f32, __arm_vcaddq_rot270_f32):  Update builtin calls.
+       * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u,
+       vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f):
+       Removed.
+       (vcaddq_rot90, vcaddq_rot270): New.
+       * config/arm/constraints.md (Dz): Include MVE.
+       * config/arm/iterators.md (mve_rot): New.
+       (supf): Remove VCADDQ_ROT270_S, VCADDQ_ROT270_U, VCADDQ_ROT90_S,
+       VCADDQ_ROT90_U.
+       (VCADDQ_ROT270, VCADDQ_ROT90): Removed.
+       * config/arm/mve.md (mve_vcaddq_rot270_<supf><mode,
+       mve_vcaddq_rot90_<supf><mode>, mve_vcaddq_rot270_f<mode>,
+       mve_vcaddq_rot90_f<mode>): Removed.
+       (mve_vcaddq<mve_rot><mode>, mve_vcaddq<mve_rot><mode>): New.
+       * config/arm/unspecs.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S,
+       VCADDQ_ROT270_U, VCADDQ_ROT90_U, VCADDQ_ROT270_F,
+       VCADDQ_ROT90_F): Removed.
+       * config/arm/vec-common.md (cadd<rot><mode>3): New.
+
+2020-12-16  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (cadd<rot><mode>3): New.
+       * config/aarch64/iterators.md (SVE2_INT_CADD_OP): New.
+       * config/aarch64/aarch64-sve.md (cadd<rot><mode>3): New.
+       * config/aarch64/aarch64-sve2.md (cadd<rot><mode>3): New.
+
+2020-12-16  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/mma.md (*movxo, mma_<vvi4i4i8>, mma_<avvi4i4i8>,
+       mma_<vvi4i4i2>, mma_<avvi4i4i2>, mma_<vvi4i4>, mma_<avvi4i4>,
+       mma_<pvi4i2>, mma_<apvi4i2>, mma_<vvi4i4i4>, mma_<avvi4i4i4>):
+       Remove explicit setting of length attribute.
+
+2020-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * varasm.c (default_elf_asm_named_section): Always force
+       section flags even for sections with SECTION_LINK_ORDER flag.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * defaults.h (SUPPORTS_SHF_GNU_RETAIN): New.
+       * varasm.c (get_section): Replace HAVE_GAS_SHF_GNU_RETAIN with
+       SUPPORTS_SHF_GNU_RETAIN.
+       (resolve_unique_section): Likewise.
+       (get_variable_section): Likewise.
+       (switch_to_section): Likewise.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * varasm.c (switch_to_section): Warn when a symbol without used
+       attribute and a symbol with used attribute are placed in the
+       section with the same name.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * output.h (switch_to_section): Add a tree argument, default to
+       nullptr.
+       * varasm.c (get_section): If the SECTION_RETAIN bit doesn't match,
+       return and switch to a new section later.
+       (assemble_start_function): Pass decl to switch_to_section.
+       (assemble_variable): Likewise.
+       (switch_to_section): If the SECTION_RETAIN bit doesn't match,
+       switch to a new section.
+
+2020-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96239
+       * gimple-ssa-store-merging.c (find_bswap_or_nop): Handle a vector
+       CONSTRUCTOR.
+       (bswap_replace): Likewise.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Remove usage of Report.
+       * config/aarch64/aarch64.opt: Ditto.
+       * config/alpha/alpha.opt: Ditto.
+       * config/arc/arc.opt: Ditto.
+       * config/arm/arm.opt: Ditto.
+       * config/avr/avr.opt: Ditto.
+       * config/bfin/bfin.opt: Ditto.
+       * config/bpf/bpf.opt: Ditto.
+       * config/c6x/c6x.opt: Ditto.
+       * config/cr16/cr16.opt: Ditto.
+       * config/cris/cris.opt: Ditto.
+       * config/cris/elf.opt: Ditto.
+       * config/csky/csky.opt: Ditto.
+       * config/darwin.opt: Ditto.
+       * config/fr30/fr30.opt: Ditto.
+       * config/frv/frv.opt: Ditto.
+       * config/ft32/ft32.opt: Ditto.
+       * config/gcn/gcn.opt: Ditto.
+       * config/i386/cygming.opt: Ditto.
+       * config/i386/i386.opt: Ditto.
+       * config/ia64/ia64.opt: Ditto.
+       * config/ia64/ilp32.opt: Ditto.
+       * config/linux-android.opt: Ditto.
+       * config/linux.opt: Ditto.
+       * config/lm32/lm32.opt: Ditto.
+       * config/m32r/m32r.opt: Ditto.
+       * config/m68k/m68k.opt: Ditto.
+       * config/mcore/mcore.opt: Ditto.
+       * config/microblaze/microblaze.opt: Ditto.
+       * config/mips/mips.opt: Ditto.
+       * config/mmix/mmix.opt: Ditto.
+       * config/mn10300/mn10300.opt: Ditto.
+       * config/moxie/moxie.opt: Ditto.
+       * config/msp430/msp430.opt: Ditto.
+       * config/nds32/nds32.opt: Ditto.
+       * config/nios2/elf.opt: Ditto.
+       * config/nios2/nios2.opt: Ditto.
+       * config/nvptx/nvptx.opt: Ditto.
+       * config/pa/pa.opt: Ditto.
+       * config/pdp11/pdp11.opt: Ditto.
+       * config/pru/pru.opt: Ditto.
+       * config/riscv/riscv.opt: Ditto.
+       * config/rl78/rl78.opt: Ditto.
+       * config/rs6000/aix64.opt: Ditto.
+       * config/rs6000/linux64.opt: Ditto.
+       * config/rs6000/rs6000.opt: Ditto.
+       * config/rs6000/sysv4.opt: Ditto.
+       * config/rx/elf.opt: Ditto.
+       * config/rx/rx.opt: Ditto.
+       * config/s390/s390.opt: Ditto.
+       * config/s390/tpf.opt: Ditto.
+       * config/sh/sh.opt: Ditto.
+       * config/sol2.opt: Ditto.
+       * config/sparc/long-double-switch.opt: Ditto.
+       * config/sparc/sparc.opt: Ditto.
+       * config/tilegx/tilegx.opt: Ditto.
+       * config/tilepro/tilepro.opt: Ditto.
+       * config/v850/v850.opt: Ditto.
+       * config/visium/visium.opt: Ditto.
+       * config/vms/vms.opt: Ditto.
+       * config/vxworks.opt: Ditto.
+       * config/xtensa/xtensa.opt: Ditto.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       * doc/options.texi: Remove Report keyword.
+       * opt-functions.awk: Print error when Report keyword
+       is used.
+       * optc-gen.awk: Do not handle Report keyword.
+       * opts.h (struct cl_option): Remove cl_report bitfield flag.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/97868
+       * common.opt: Add new warning -Wtsan.
+       * doc/invoke.texi: Likewise.
+       * tsan.c (instrument_builtin_call): Warn users about unsupported
+       std::atomic_thread_fence.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR rtl-optimization/98271
+       PR rtl-optimization/98276
+       PR tree-optimization/98279
+       * opts-common.c (set_option): Do not allow overflow for integer
+       arguments.
+
+2020-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/98272
+       * tree-switch-conversion.c (bit_test_cluster::emit): When finding
+       out whether the entry test can be merged in the bit test, do the
+       computation using the type of the index expression.
+
+2020-12-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
+       paradoxical subreg instead of zero_extend for QI/HI promotion.
+
+2020-12-16  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Replace calls to __builtin_vcgt* by
+       <, > operators in vclt and vcgt intrinsics respectively.
+       * config/arm/arm_neon_builtins.def: Remove entry for
+       vcgt and vcgtu.
+
+2020-12-16  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Replace calls to __builtin_vneg* by - operator
+       in vneg intrinsics.
+       * config/arm/arm_neon_builtins.def: Remove entry for vneg.
+
+2020-12-16  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Replace calls to __builtin_vcreate*
+       in vcreate intrinsics.
+       * config/arm/arm_neon_builtins.def: Remove entry for vcreate.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96094
+       * match.pd (X / bool_range_Y -> X): New simplification.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/cppopts.texi: Document new cpp opt.
+       * doc/invoke.texi: Add C++20 module option & documentation.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * Makefile.in (CODYINC, CODYLIB, CODYLIB_H): New. Use them.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98274
+       * config/i386/i386-options.c (ix86_option_override_internal): Set
+       ix86_tune_string to "generic" even when it wasn't specified and
+       ix86_arch_string is "x86-64-v2", "x86-64-v3" or "x86-64-v4".
+       Remove useless {}s around a single statement.
+
+2020-12-15  Martin Liska  <mliska@suse.cz>
+
+       PR lto/98275
+       * lto-wrapper.c: Do not use -j0 when we are unable to detect
+       number of cores.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386-options.c (ix86_option_override_internal): Don't
+       error on -march=x86-64-v[234] with -m32 or -mabi=ms.
+       * config.gcc: Don't reject --with-arch=x86-64-v[234] or
+       --with-arch_32=x86-64-v[234].
+       * doc/invoke.texi (-march=x86-64-v[234]): Document what the option
+       does for other ABIs.
+
+2020-12-15  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/98273
+       * gcov.c (output_json_intermediate_file): Use stack of nested
+       functions for lines in a source file.  Pop when a function ends.
+
+2020-12-15  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (Instrumentation Options): Update link to
+       KernelAddressSanitizer.
+
+2020-12-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/predicates.md (addsubx_operand): Change accepted
+       values from 2/4/8 to 1..3.
+       * config/xtensa/xtensa.md (*addx, *subx): Change RTL pattern
+       to use 'ashift' instead of 'mult'. Update operands[3] value.
+
+2020-12-14  Piotr Kubaj  <pkubaj@FreeBSD.org>
+           Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * config/rs6000/freebsd64.h (PROCESSOR_DEFAULT): Update
+       to PROCESSOR_PPC7450.
+       (PROCESSOR_DEFAULT64): Update to PROCESSOR_POWER8.
+
+2020-12-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98166
+       PR c++/57111
+       PR middle-end/98160
+       * builtins.c (check_access): Call tree_inlined_location
+       fndecl_alloc_p): Handle BUILT_IN_ALIGNED_ALLOC and
+       BUILT_IN_GOMP_ALLOC.
+       call_dealloc_p): Remove unused function.
+       (new_delete_mismatch_p): Call valid_new_delete_pair_p and rework.
+       (matching_alloc_calls_p): Handle built-in deallocation functions.
+       (warn_dealloc_offset): Corrct the handling of user-defined operators
+       delete.
+       (maybe_emit_free_warning): Avoid assuming expression is a decl.
+       Simplify.
+       * doc/extend.texi (attribute malloc): Update.
+       * tree-ssa-dce.c (valid_new_delete_pair_p): Factor code out into
+       valid_new_delete_pair_p in tree.c.
+       * tree.c (tree_inlined_location): Define new function.
+       (valid_new_delete_pair_p): Define.
+       * tree.h (tree_inlined_location): Declare.
+       (valid_new_delete_pair_p): Declare.
+
+2020-12-14  Sebastian Pop  <spop@amazon.com>
+
+       * config.gcc (aarch64*-*-*): Remove --with-{cpu,arch,tune}-32 flags.
+
+2020-12-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config.gcc (aarch64*-*-*): Add --with-tune. Support --with-cpu=native.
+       * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Add --with-tune.
+
+2020-12-14  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (output_json_intermediate_file): Update comments.
+
+2020-12-14  Tamar Christina  <tamar.christina@arm.com>
+
+       PR middle-end/98264
+       * tree-vect-slp-patterns.c (linear_loads_p): Exclude TOP permute.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vnegq_f): Use 'neg' instead of unspec.
+       (mve_vnegq_s): Likewise.
+       * config/arm/neon.md (neg<mode>2): Rename into neon_neg<mode>2.
+       (<absneg_str><mode>2): Rename into neon_<absneg_str><mode>2.
+       (neon_v<absneg_str><mode>): Call gen_neon_<absneg_str><mode>2.
+       (vashr<mode>3): Call gen_neon_neg<mode>2.
+       (vlshr<mode>3): Call gen_neon_neg<mode>2.
+       (neon_vneg<mode>): Call gen_neon_neg<mode>2.
+       * config/arm/unspecs.md (VNEGQ_F, VNEGQ_S): Remove.
+       * config/arm/vec-common.md (neg<mode>2): New expander.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (VDQNOTM2): New mode iterator.
+       (supf): Remove VMVNQ_S and VMVNQ_U.
+       (VMVNQ): Remove.
+       * config/arm/mve.md (mve_vmvnq_u<mode>): New entry for vmvn
+       instruction using expression not.
+       (mve_vmvnq_s<mode>): New expander.
+       * config/arm/neon.md (one_cmpl<mode>2): Renamed into
+       one_cmpl<mode>2_neon.
+       * config/arm/unspecs.md (VMVNQ_S, VMVNQ_U): Remove.
+       * config/arm/vec-common.md (one_cmpl<mode>2): New expander.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (supf): Remove VBICQ_S and VBICQ_U.
+       (VBICQ): Remove.
+       * config/arm/mve.md (mve_vbicq_u<mode>): New entry for vbic
+       instruction using expression and not.
+       (mve_vbicq_s<mode>): New expander.
+       (mve_vbicq_f<mode>): Replace use of unspec by 'and not'.
+       * config/arm/unspecs.md (VBICQ_S, VBICQ_U, VBICQ_F): Remove.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (supf): Remove VEORQ_S and VEORQ_U.
+       (VEORQ): Remove.
+       * config/arm/mve.md (mve_veorq_u<mode>): New entry for veor
+       instruction using expression xor.
+       (mve_veorq_s<mode>): New expander.
+       (mve_veorq_f<mode>): Use 'xor' code instead of unspec.
+       * config/arm/neon.md (xor<mode>3): Renamed into xor<mode>3_neon.
+       * config/arm/unspecs.md (VEORQ_S, VEORQ_U, VEORQ_F): Remove.
+       * config/arm/vec-common.md (xor<mode>3): New expander.
+
+2020-12-14  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A78C core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-12-14  Nikhil Benesch  <nikhil.benesch@gmail.com>
+
+       * godump.c (go_output_typedef): Suppress typedefs whose name
+       matches the tag of the underlying struct, union, or enum.
+       Output declarations for enums that do not appear in typedefs.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_output_int_move): Unify push operation
+       selection.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_output_int_move): Check the correct
+       operand for constant 0 push operation.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_expand_addsub_di_operands): Handle equal
+       input operands with subtraction.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_expand_addsub_di_operands): Handle the
+       addition or subtraction of 0.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_expand_addsub_di_operands): Remove
+       unused register allocation.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (casesi): Use `gen_int_mode' rather than
+       `GEN_INT' for the immediate used for lower bound adjustment.
+
+2020-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98256
+       * tree-ssa-math-opts.c (match_uaddsub_overflow): For BIT_NOT_EXPR,
+       only handle a single use, and insert .ADD_OVERFLOW before the
+       comparison rather than after the BIT_NOT_EXPR.  Return true iff
+       it is BIT_NOT_EXPR and it has been removed.
+       (math_opts_dom_walker::after_dom_children) <case BIT_NOT_EXPR>:
+       If match_uaddsub_overflow returned true, continue instead of break.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       Revert:
+       2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8,
+       , __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8,
+       __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16, __arm_vcaddq_rot90_s16,
+       __arm_vcaddq_rot270_s16, __arm_vcaddq_rot90_u32,
+       __arm_vcaddq_rot270_u32, __arm_vcaddq_rot90_s32,
+       __arm_vcaddq_rot270_s32, __arm_vcmulq_rot90_f16,
+       __arm_vcmulq_rot270_f16, __arm_vcmulq_rot180_f16,
+       __arm_vcmulq_f16, __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16,
+       __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32,
+       __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcaddq_rot90_f32,
+       __arm_vcaddq_rot270_f32, __arm_vcmlaq_f16, __arm_vcmlaq_rot180_f16,
+       __arm_vcmlaq_rot270_f16, __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32,
+       __arm_vcmlaq_rot180_f32, __arm_vcmlaq_rot270_f32,
+       __arm_vcmlaq_rot90_f32): Update builtin calls.
+       * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u,
+       vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f,
+       vcmulq_f, vcmulq_rot90_f, vcmulq_rot180_f, vcmulq_rot270_f,
+       vcmlaq_f, vcmlaq_rot90_f, vcmlaq_rot180_f, vcmlaq_rot270_f): Removed.
+       (vcaddq_rot90, vcaddq_rot270, vcmulq, vcmulq_rot90, vcmulq_rot180,
+       vcmulq_rot270, vcmlaq, vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270):
+       New.
+       * config/arm/constraints.md (Dz): Include MVE.
+       * config/arm/iterators.md (mve_rotsplit1, mve_rotsplit2): New.
+       (rot): Add UNSPEC_VCMLS, UNSPEC_VCMUL and UNSPEC_VCMUL180.
+       (rot_op, rotsplit1, rotsplit2, fcmac1, VCMLA_OP, VCMUL_OP): New.
+       * config/arm/mve.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S, VCADDQ_ROT270_U,
+       VCADDQ_ROT90_U, VCADDQ_ROT270_F, VCADDQ_ROT90_F, VCMULQ_F,
+       VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F, VCMLAQ_F,
+       VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F, VCADDQ_ROT270_S,
+       VCADDQ_ROT270, VCADDQ_ROT90): Removed.
+       (mve_rot, VCMUL): New.
+       (mve_vcaddq_rot270_<supf><mode, mve_vcaddq_rot90_<supf><mode>,
+       mve_vcaddq_rot270_f<mode>, mve_vcaddq_rot90_f<mode>, mve_vcmulq_f<mode,
+       mve_vcmulq_rot180_f<mode>, mve_vcmulq_rot270_f<mode>,
+       mve_vcmulq_rot90_f<mode>, mve_vcmlaq_f<mode>, mve_vcmlaq_rot180_f<mode>,
+       mve_vcmlaq_rot270_f<mode>, mve_vcmlaq_rot90_f<mode>): Removed.
+       (mve_vcmlaq<mve_rot><mode>, mve_vcmulq<mve_rot><mode>,
+       mve_vcaddq<mve_rot><mode>, cadd<rot><mode>3, mve_vcaddq<mve_rot><mode>):
+       New.
+       (cmul<rot_op><mode>3): Exclude MVE types.
+       * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270): New.
+       * config/arm/vec-common.md (cadd<rot><mode>3, cmul<rot_op><mode>3,
+       arm_vcmla<rot><mode>, cml<fcmac1><rot_op><mode>4): New.
+       * config/arm/unspecs.md (UNSPEC_VCMUL, UNSPEC_VCMUL180, UNSPEC_VCMLS,
+       UNSPEC_VCMLS180): New.
+       * config/arm/neon.md (cmul<rot_op><mode>3): New.
+
+2020-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/92469
+       * varasm.c (eliminable_regno_p): New function.
+       (make_decl_rtl): Reject asm vars for frame and argp
+       if they are different from hard frame pointer.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8,
+       , __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8,
+       __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16, __arm_vcaddq_rot90_s16,
+       __arm_vcaddq_rot270_s16, __arm_vcaddq_rot90_u32,
+       __arm_vcaddq_rot270_u32, __arm_vcaddq_rot90_s32,
+       __arm_vcaddq_rot270_s32, __arm_vcmulq_rot90_f16,
+       __arm_vcmulq_rot270_f16, __arm_vcmulq_rot180_f16,
+       __arm_vcmulq_f16, __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16,
+       __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32,
+       __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcaddq_rot90_f32,
+       __arm_vcaddq_rot270_f32, __arm_vcmlaq_f16, __arm_vcmlaq_rot180_f16,
+       __arm_vcmlaq_rot270_f16, __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32,
+       __arm_vcmlaq_rot180_f32, __arm_vcmlaq_rot270_f32,
+       __arm_vcmlaq_rot90_f32): Update builtin calls.
+       * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u,
+       vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f,
+       vcmulq_f, vcmulq_rot90_f, vcmulq_rot180_f, vcmulq_rot270_f,
+       vcmlaq_f, vcmlaq_rot90_f, vcmlaq_rot180_f, vcmlaq_rot270_f): Removed.
+       (vcaddq_rot90, vcaddq_rot270, vcmulq, vcmulq_rot90, vcmulq_rot180,
+       vcmulq_rot270, vcmlaq, vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270):
+       New.
+       * config/arm/constraints.md (Dz): Include MVE.
+       * config/arm/iterators.md (mve_rotsplit1, mve_rotsplit2): New.
+       (rot): Add UNSPEC_VCMLS, UNSPEC_VCMUL and UNSPEC_VCMUL180.
+       (rot_op, rotsplit1, rotsplit2, fcmac1, VCMLA_OP, VCMUL_OP): New.
+       * config/arm/mve.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S, VCADDQ_ROT270_U,
+       VCADDQ_ROT90_U, VCADDQ_ROT270_F, VCADDQ_ROT90_F, VCMULQ_F,
+       VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F, VCMLAQ_F,
+       VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F, VCADDQ_ROT270_S,
+       VCADDQ_ROT270, VCADDQ_ROT90): Removed.
+       (mve_rot, VCMUL): New.
+       (mve_vcaddq_rot270_<supf><mode, mve_vcaddq_rot90_<supf><mode>,
+       mve_vcaddq_rot270_f<mode>, mve_vcaddq_rot90_f<mode>, mve_vcmulq_f<mode,
+       mve_vcmulq_rot180_f<mode>, mve_vcmulq_rot270_f<mode>,
+       mve_vcmulq_rot90_f<mode>, mve_vcmlaq_f<mode>, mve_vcmlaq_rot180_f<mode>,
+       mve_vcmlaq_rot270_f<mode>, mve_vcmlaq_rot90_f<mode>): Removed.
+       (mve_vcmlaq<mve_rot><mode>, mve_vcmulq<mve_rot><mode>,
+       mve_vcaddq<mve_rot><mode>, cadd<rot><mode>3, mve_vcaddq<mve_rot><mode>):
+       New.
+       (cmul<rot_op><mode>3): Exclude MVE types.
+       * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270): New.
+       * config/arm/vec-common.md (cadd<rot><mode>3, cmul<rot_op><mode>3,
+       arm_vcmla<rot><mode>, cml<fcmac1><rot_op><mode>4): New.
+       * config/arm/unspecs.md (UNSPEC_VCMUL, UNSPEC_VCMUL180, UNSPEC_VCMLS,
+       UNSPEC_VCMLS180): New.
+       * config/arm/neon.md (cmul<rot_op><mode>3): New.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Add E_HFmode.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c: New file.
+       * Makefile.in: Add it.
+       * doc/passes.texi: Document it.
+       * internal-fn.def (COMPLEX_ADD_ROT90, COMPLEX_ADD_ROT270): New.
+       * optabs.def (cadd90_optab, cadd270_optab): New.
+       * doc/md.texi: Document them.
+       * tree-vect-loop.c (vect_analyze_loop_2): Add dissolve code.
+       * tree-vect-slp.c:
+       (vect_free_slp_instance, vect_create_new_slp_node): Export.
+       (vect_match_slp_patterns_2, vect_match_slp_patterns): New.
+       (vect_analyze_slp): Use it.
+       * tree-vectorizer.h (vect_free_slp_tree): Export.
+       (enum _complex_operation): Forward declare.
+       (class vect_pattern): New
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-patterns.c (vect_mark_pattern_stmts): Remove static inline.
+       * tree-vect-slp.c (vect_create_new_slp_node): Remove static and only
+       set smts if valid.
+       * tree-vectorizer.c (vec_info::add_pattern_stmt): New.
+       (vec_info::set_vinfo_for_stmt): Optionally enforce read-only.
+       * tree-vectorizer.h (struct _slp_tree): Use new types.
+       (lane_permutation_t, lane_permutation_t): New.
+       (vect_create_new_slp_node, vect_mark_pattern_stmts): New.
+
+2020-12-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Commands for use in dg-final, Scan the
+       assembly output, scan-assembler-symbol-section): Document.
+       (scan-symbol-section): Document.
+
+2020-12-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * is-a.h (reinterpret_is_a_helper): New class.
+       (static_is_a_helper): Likewise.
+       (is_a_helper): Inherit from reinterpret_is_a_helper.
+       (is_a_helper<const T *>): New specialization.
+
+2020-12-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * coretypes.h (iterator_range): Move to...
+       * iterator-utils.h: ...this new file.
+
+2020-12-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtlanal.c (noop_move_p): Don't check for REG_EQUAL notes.
+
+2020-12-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * vec.h (vnull::operator vec<T, A, L>): Make const.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96685
+       * match.pd (~(X - Y) -> ~X + Y): New optimization.
+       (~X + Y -> (Y - X) - 1): Likewise.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96272
+       * tree-ssa-math-opts.c (uaddsub_overflow_check_p): Add OTHER argument.
+       Handle BIT_NOT_EXPR.
+       (match_uaddsub_overflow): Optimize unsigned a > ~b into
+       __imag__ .ADD_OVERFLOW (a, b).
+       (math_opts_dom_walker::after_dom_children): Call match_uaddsub_overflow
+       even for BIT_NOT_EXPR.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98183
+       * omp-low.c (lower_omp_target): Don't add OMP_RETURN for
+       data regions.
+       * omp-expand.c (expand_omp_target): Don't try to remove
+       OMP_RETURN for data regions.
+       (build_omp_regions_1, omp_make_gimple_edges): Don't expect
+       OMP_RETURN for data regions.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * gcc.c (cpp_unique_options): Add Mmodules, Mno-modules.
+       * tree-core.h (enum tree_index): Add TI_MODULE_HWM.
+
+2020-12-11  Jim Wilson  <jimw@sifive.com>
+
+       * varasm.c (get_section): Add DECL_P check before DECL_PRESERVE_P.
+
+2020-12-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (VDQ): Remove TARGET_HAVE_MVE
+       conditions.
+       * config/arm/vec-common.md (and<mode>3): Use
+       ARM_HAVE_<MODE>_ARITH.
+       (ior<mode>3): Likewise.
+
+2020-12-11  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_active_insn): Ignore all non essential
+       instructions when getting the next active instruction.
+       (check_store_cacheline_hazard): Update.
+       (workaround_arc_anomaly): Remove obsolete cache hazard code.
+
+2020-12-11  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_reorg): Avoid limm in BRcc.
+
+2020-12-11  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove
+       it.
+       (arc_sets_cc_p): Likewise.
+       (arc_need_delay): Likewise.
+       * config/arc/arc.c (arc_sets_cc_p): Likewise.
+       (arc_need_delay): Likewise.
+       (arc_scheduling_not_expected): Likewise.
+       * config/arc/arc.md: Convert adc/sbc patterns to simple
+       instruction definitions.
+
+2020-12-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (supf): Remove VORRQ_S and VORRQ_U.
+       (VORRQ): Remove.
+       * config/arm/mve.md (mve_vorrq_s<mode>): New entry for vorr
+       instruction using expression ior.
+       (mve_vorrq_u<mode>): New expander.
+       (mve_vorrq_f<mode>): Use ior code instead of unspec.
+       * config/arm/neon.md (ior<mode>3): Renamed into ior<mode>3_neon.
+       * config/arm/predicates.md (imm_for_neon_logic_operand): Enable
+       for MVE.
+       * config/arm/unspecs.md (VORRQ_S, VORRQ_U, VORRQ_F): Remove.
+       * config/arm/vec-common.md (ior<mode>3): New expander.
+
+2020-12-11  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (mpyd<su_optab>_arcv2hs): New template
+       pattern.
+       (*pmpyd<su_optab>_arcv2hs): Likewise.
+       (*pmpyd<su_optab>_imm_arcv2hs): Likewise.
+       (mpyd_arcv2hs): Moved into above template.
+       (mpyd_imm_arcv2hs): Moved into above template.
+       (mpydu_arcv2hs): Likewise.
+       (mpydu_imm_arcv2hs): Likewise.
+       (su_optab): New optab prefix for sign/zero-extending operations.
+
+2020-12-11  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98219
+       * config/i386/uintrintrin.h (__uintr_frame): Remove uirrv.
+
+2020-12-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * doc/sourcebuild.texi (arm_softfloat): Improve documentation.
+
+2020-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98229
+       * optabs.c (expand_doubleword_mod): Canonicalize op1 and
+       1 - INTVAL (op1) as word_mode constants when used in
+       word_mode arithmetics.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98235
+       * tree-vect-slp.c (vect_build_slp_tree): Exchange npermutes
+       for limit.  Decrement that for each cache miss and fail
+       discovery when it reaches zero.
+       (vect_build_slp_tree_2): Remove npermutes handling and
+       simply pass down limit.
+       (vect_build_slp_instance): Use pass down limit.
+       (vect_analyze_slp_instance): Likewise.
+       (vect_analyze_slp): Base the SLP discovery limit on
+       max_tree_size and pass it down.
+
+2020-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98190
+       * expr.c (expand_assignment): If to_rtx is a promoted SUBREG,
+       ensure sign or zero extension either through use of store_expr
+       or by extending manually.
+
+2020-12-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR rtl-optimization/97092
+       * ira-color.c (update_costs_from_allocno): Do not carry over mode
+       between subsequent iterations.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95582
+       * tree-vect-patterns.c (vect_recog_bool_pattern): Check
+       for VECT_SCALAR_BOOLEAN_TYPE_P, not just precision one.
+
+2020-12-11  Hongyu  <hongyu.wang@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Move check for HRESET/AVX_VNNI/UINTR out of avx512_usable.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98212
+       * dojump.c (do_compare_rtx_and_jump): Change computation of
+       first_prob for and_them.  Add comment explaining and_them case.
+
+2020-12-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/98174
+       * gimple-range-cache.cc (ranger_cache::ssa_range_in_bb): Only push
+       poor values to be examined if it isn't a pure global.
+       (ranger_cache::block_range): Don't process pure globals.
+       (ranger_cache::fill_block_cache): Adjust has_edge_range call.
+       * gimple-range-gori.cc (gori_map::all_outgoing): New bitmap.
+       (gori_map::gori_map): Allocate all_outgoing.
+       (gori_map::is_export_p): No specified BB returns global context.
+       (gori_map::calculate_gori): Accumulate each block into global.
+       (gori_compute::gori_compute): Preprocess each block for exports.
+       (gori_compute::has_edge_range_p): No edge returns global context.
+       * gimple-range-gori.h (has_edge_range_p): Provide default parameter.
+
+2020-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (loc_list_from_tree_1) <PLACEHOLDER_EXPR>: Deal with
+       a nested context type
+
+2020-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * cfgexpand.c (expand_gimple_basic_block): Remove special handling
+       of debug_inline_entries without block info.
+       * tree-inline.c (remap_gimple_stmt): Drop debug_nonbind_markers when
+       the call statement has no block info.
+       (copy_debug_stmt): Remove debug_nonbind_markers when inlining
+       and the block info is mapped to NULL.
+       * tree-ssa-live.c (clear_unused_block_pointer): Remove
+       debug_nonbind_markers originating from removed inline functions.
+
+2020-12-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_assignment): Remove special
+       allowance of VECTOR_BOOLEAN_TYPE_P conversions.
+
+2020-12-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (supf): Remove VANDQ_S and VANDQ_U.
+       (VANQ): Remove.
+       (VDQ): Add TARGET_HAVE_MVE condition where relevant.
+       * config/arm/mve.md (mve_vandq_u<mode>): New entry for vand
+       instruction using expression 'and'.
+       (mve_vandq_s<mode>): New expander.
+       (mve_vaddq_n_f<mode>): Use 'and' code instead of unspec.
+       * config/arm/neon.md (and<mode>3): Rename into and<mode>3_neon.
+       * config/arm/predicates.md (imm_for_neon_inv_logic_operand):
+       Enable for MVE.
+       * config/arm/unspecs.md (VANDQ_S, VANDQ_U, VANDQ_F): Remove.
+       * config/arm/vec-common.md (and<mode>3): New expander.
+
+2020-12-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98069
+       * tree-data-ref.c (compute_distributive_range): New function.
+       (nop_conversion_for_offset_p): Likewise.
+       (split_constant_offset): In the internal overload, treat integer
+       expressions as having an implicit cast to sizetype and express
+       them accordingly.  Pass back the range of the original (uncast)
+       expression in a new range parameter.
+       (split_constant_offset_1): Likewise.  Rework the handling of
+       conversions to account for the implicit sizetype casts.
+
+2020-12-10  Joel Hutton  <joel.hutton@arm.com>
+
+       PR tree-optimization/97929
+       * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Add
+       WIDEN_PLUS/WIDEN_MINUS case.
+
+2020-12-10  Joel Hutton  <joel.hutton@arm.com>
+
+       * tree-pretty-print.c (dump_generic_node): Add case for
+       VEC_WIDEN_(PLUS/MINUS)_(HI/LO)_EXPR and WIDEN_(PLUS/MINUS)_EXPR.
+
+2020-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98211
+       * tree-vect-stmts.c (vectorizable_assignment): Disallow
+       invalid conversions to bool vector types.
+
+2020-12-10  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree.c (build_common_builtin_nodes): Drop __builtin_ from
+       __clear_cache libname.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98212
+       * dojump.c (do_compare_rtx_and_jump): When splitting NE and backend
+       can do UNEQ, prefer splitting x != y into x unord y || !(x uneq y)
+       instead of into x unord y || x ltgt y.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98169
+       * dojump.c (do_compare_rtx_and_jump): Don't split self-EQ/NE
+       comparisons, just use ORDERED or UNORDERED.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98205
+       * omp-expand.c (expand_omp_for_generic): Fix up broken_loop handling.
+
+2020-12-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Do
+       not mark the defs to occur in a pattern if it is the
+       pattern root and record the original stmt defs in that
+       case.
+
+2020-12-10  Simon Cook  <simon.cook@embecosm.com>
+
+       * config/riscv/multilib-generator (arch_canonicalize): Invoke
+       python interpreter when calling arch-canonicalize script.
+
+2020-12-10  Nikhil Benesch  <nikhil.benesch@gmail.com>
+
+       * godump.c (go_format_type): Don't consider whether a type has
+       been seen when determining whether to output a type by name.
+       Consider only the use_type_name parameter.
+       (go_output_typedef): When outputting a typedef, format the
+       declaration's original type, which contains the name of the
+       underlying type rather than the name of the typedef.
+
+2020-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/98188
+       * tree-ssa-phiopt.c (two_value_replacement): Don't special case
+       BOOLEAN_TYPEs for ranges, instead if get_range_info doesn't return
+       VR_RANGE, set min/max to wi::min/max_value.
+
+2020-12-09  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-option-extensions.def
+       (AARCH64_OPT_EXTENSION): New +pauth option in -march for AArch64.
+       * config/aarch64/aarch64.h (AARCH64_FL_PAUTH): New pauth extension bitmask.
+       (AARCH64_ISA_PUATH): New ISA bitmask for PAUTH.
+       (AARCH64_FL_FOR_ARCH8_3): Add PAUTH to Armv8.3-A.
+       (TARGET_PAUTH): New target mask to isolate PAUTH instructions.
+       * config/aarch64/aarch64.md (do_return): Condition set to TARGET_PAUTH.
+       * doc/invoke.texi: Update docs for +flagm and +pauth.
+
+2020-12-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (REG_ALLOC_ORDER): Remove
+
+2020-12-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98213
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Cache successfully
+       processed PHIs.
+       (hoist_memory_references): Adjust.
+
+2020-12-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-protos.h (cpu_vector_cost): Move simd
+       fields to...
+       (simd_vec_cost): ... Here.  Define.
+       (advsimd_vec_cost): Define.
+       (sve_vec_cost): Define.
+       * config/aarch64/aarch64.c (generic_advsimd_vector_cost):
+       Define.
+       (generic_sve_vector_cost): Likewise.
+       (generic_vector_cost): Update.
+       (qdf24xx_advsimd_vector_cost): Define.
+       (qdf24xx_vector_cost): Update.
+       (thunderx_advsimd_vector_cost): Define.
+       (thunderx_vector_cost): Update.
+       (tsv110_advsimd_vector_cost): Define.
+       (tsv110_vector_cost): Likewise.
+       (cortexa57_advsimd_vector_cost): Define.
+       (cortexa57_vector_cost): Update.
+       (exynosm1_advsimd_vector_cost): Define.
+       (exynosm1_vector_cost): Update.
+       (xgene1_advsimd_vector_cost): Define.
+       (xgene1_vector_cost): Update.
+       (thunderx2t99_advsimd_vector_cost): Define.
+       (thunderx2t99_vector_cost): Update.
+       (thunderx3t110_advsimd_vector_cost): Define.
+       (thunderx3t110_vector_cost): Update.
+       (aarch64_builtin_vectorization_cost): Handle sve and advsimd
+       vector cost fields.
+
+2020-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98199
+       * fold-const.c (native_encode_initializer): Fix handling bit-fields
+       when off > 0.
+
+2020-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98193
+       * fold-const.c (native_encode_initializer): Set pos to field's
+       byte position if iterating over a field with missing initializer.
+
+2020-12-08  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98182
+       * gimple-if-to-switch.cc (pass_if_to_switch::execute): Request
+       chain linkage through false edges only.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.h (DECL_ALIGN_RAW): New.
+       (DECL_ALIGN): Use it.
+       (DECL_WARN_IF_NOT_ALIGN_RAW): New.
+       (DECL_WARN_IF_NOT_ALIGN): Use it.
+       (SET_DECL_WARN_IF_NOT_ALIGN): Likewise.
+
+2020-12-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Replace calls to __builtin_vmvn* by ~
+       in vmvn intrinsics.
+       * config/arm/arm_neon_builtins.def: Remove entry for vmvn.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94440
+       * config/i386/i386.opt (ix86_excess_precision,
+       ix86_unsafe_math_optimizations): New TargetVariables.
+       * config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): Use
+       ix86_unsafe_math_optimizations instead of
+       flag_unsafe_math_optimizations and ix86_excess_precision instead of
+       flag_excess_precision.
+       * config/i386/i386.c (ix86_excess_precision): Rename to ...
+       (ix86_get_excess_precision): ... this.
+       (TARGET_C_EXCESS_PRECISION): Define to ix86_get_excess_precision.
+       * config/i386/i386-options.c (ix86_valid_target_attribute_tree,
+       ix86_option_override_internal): Update ix86_unsafe_math_optimization
+       from flag_unsafe_math_optimizations and ix86_excess_precision
+       from flag_excess_precision when constructing target option nodes.
+       (ix86_set_current_function): If flag_unsafe_math_optimizations
+       or flag_excess_precision is different from the one recorded
+       in TARGET_OPTION_NODE, create a new target option node for the
+       current function and switch to that.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98192
+       * tree-vect-slp.c (vect_build_slp_instance): Get scalar_stmts
+       by reference.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98191
+       * tree-vect-slp.c (vect_slp_check_for_constructors): Do not
+       follow a non-SSA def chain.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97559
+       * tree-ssa-sink.c (statement_sink_location): Never ignore
+       PHIs on sink paths in irreducible regions.
+
+2020-12-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/97872
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Try to fold
+       x CMP y ? -1 : 0 to x CMP y.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98180
+       * tree-vect-slp.c (vect_slp_check_for_constructors): Check the
+       first inserted value has a def.
+
+2020-12-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/96344
+       * tree-switch-conversion.c (bit_test_cluster::emit): Compute the
+       range only if an entry test is necessary.  Merge the entry test in
+       the bit test when possible.  Use PREC local variable consistently.
+       When there is only one test, do a single gimplification at the end.
+
+2020-12-08  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/98152
+       * config.gcc (riscv*-*-*): Checking python, python3 or python2
+       is available, and skip doing with_arch canonicalize if no python
+       available.
+
+2020-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98147
+       * builtins.c (default_emit_call_builtin___clear_cache): Call
+       convert_memory_address to ptr_mode on both begin and end.
+
+2020-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::modify_call_stmt): Set location info.
+
+2020-12-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/extend.texi (used function attribute): Document saving
+       the declaration from linker garbage collection.
+       (used variable attribute): Likewise.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98113
+       * tree-vectorizer.h (struct slp_root): New.
+       (_bb_vec_info::roots): New member.
+       * tree-vect-slp.c (vect_analyze_slp): Also walk BB info
+       roots.
+       (_bb_vec_info::_bb_vec_info): Adjust.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vld_cmp): New.
+       (vect_slp_is_lane_insert): Likewise.
+       (vect_slp_check_for_constructors): Match a series of
+       BIT_INSERT_EXPRs as vector constructor.
+       (vect_slp_analyze_bb_1): Continue if BB info roots is
+       not empty.
+       (vect_slp_analyze_bb_1): Mark the whole BIT_INSERT_EXPR root
+       sequence as pure_slp.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98117
+       * tree-vect-loop-manip.c (vect_gen_vector_loop_niters):
+       Properly handle degenerate niter when setting the vector
+       loop IV range.
+
+2020-12-07  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_emit_stack_probe): Change Pmode to
+       word_mode.
+
+2020-12-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/97816
+       * ipa-cp.c (safe_add): Removed.
+       (good_cloning_opportunity_p): Remove special handling of INT_MAX.
+       (value_topo_info<valtype>::propagate_effects): Take care not to
+       propagate from size one value to another through more sources.  Scale
+       propagated times with edge frequencies.  Include local time and size
+       in propagates ones here.  Take care not to overflow size.
+       (decide_about_value): Do not add local and propagated effects when
+       passing them to good_cloning_opportunity_p.
+
+2020-12-07  Matthias Klose  <doko@ubuntu.com>
+
+       * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING
+       and ENABLE_RTL_FLAG_CHECKING.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98137
+       * tree-data-ref.c (split_constant_offset_1): Use
+       determine_value_range instead of get_range_info to handle
+       arbitrary expressions.
+
+2020-12-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98162
+       * doc/extend.texi: Remove -mcet.
+
+2020-12-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98161
+       * config/i386/i386-features.c (pseudo_reg_set): Check mode of
+       pseudo register push.
+
+2020-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96232
+       * tree-ssa-phiopt.c (two_value_replacement): Optimize even boolean lhs
+       cases as long as arg0 has wider precision and conditional_replacement
+       doesn't handle that case.
+       (tree_ssa_phiopt_worker): Don't call two_value_replacement during
+       early phiopt.
+
+2020-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96232
+       * match.pd (-(type)!A -> (type)A - 1): New optimization.
+
+2020-12-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+           David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Reference macro arguments.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       PR target/95294
+       * config/vax/elf.h (REGISTER_NAMES): Append `%psl'.
+       * config/vax/vax-modes.def (CCN, CCNZ, CCZ): New modes.
+       * config/vax/vax-protos.h (vax_select_cc_mode): New prototype.
+       (vax_maybe_split_dimode_move): Likewise.
+       (vax_notice_update_cc): Remove prototype.
+       * config/vax/vax.c (TARGET_FLAGS_REGNUM): New macro.
+       (TARGET_CC_MODES_COMPATIBLE): Likewise.
+       (TARGET_MD_ASM_ADJUST): Likewise.
+       (vax_select_cc_mode): New function
+       (vax_cc_modes_compatible): Likewise.
+       (vax_md_asm_adjust): Likewise.
+       (vax_notice_update_cc): Remove function.
+       (vax_output_int_move): Factor out code checking if a DImode move
+       may have to be split...
+       (vax_maybe_split_dimode_move): ... into this new function.
+       * config/vax/vax.h (FIRST_PSEUDO_REGISTER): Bump up.
+       (FIXED_REGISTERS): Append an entry for PSL.
+       (CALL_USED_REGISTERS): Likewise.
+       (NOTICE_UPDATE_CC, OUTPUT_JUMP): Remove macros.
+       (SELECT_CC_MODE): New macro.
+       (REGISTER_NAMES): Append `psl'.
+       * config/vax/predicates.md (const_zero_operand)
+       (vax_cc_comparison_operator, vax_ccn_comparison_operator)
+       (vax_ccnz_comparison_operator, vax_ccz_comparison_operator):
+       New predicates.
+       * config/vax/builtins.md: Rewrite for MODE_CC representation.
+       * config/vax/vax.md: Likewise.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/elf.h (VAX_CC1_SPEC, VAX_CC1PLUS_SPEC): New macros.
+       * config/vax/netbsd-elf.h (CC1_SPEC): Use VAX_CC1_SPEC rather
+       than VAX_CC1_AND_CC1PLUS_SPEC.
+       (CC1PLUS_SPEC): Use VAX_CC1PLUS_SPEC rather than
+       VAX_CC1_AND_CC1PLUS_SPEC.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/pdp11/pdp11.md (fcc_cc, fcc_ccnz): Use
+       `const_double_zero' to express double zero constant.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * read-rtl.c (rtx_reader::read_rtx_code): Handle syntactic
+       `const_double_zero' rtx.
+       * doc/rtl.texi (Constant Expression Types): Document it.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (divmoddisi4, *amulsi4): Make the comment
+       notation consistent with the rest of the file.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (movti): Fix output predicate.  Emit `movo'
+       rather than `movh'.
+       (divmoddisi4): Fix output predicates, correct RTL.
+       (*amulsi4): Name insn.  Fix output predicate.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (mulsidi3): Fix the multiplicand predicates.
+       (*maddsidi4, *maddsidi4_const): Likewise.  Name insns.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (*cmpv_2): Name insn.
+       (*cmpv, *cmpzv, *cmpzv_2): Likewise.  Fix location predicate and
+       constraint.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (extv): Rename insn to...
+       (*extv): ... this.
+       (extv): New expander.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+       (*extv_aligned): Also make sure the memory address of a bit-field
+       location can be adjusted in the PIC mode.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+       (*extv_aligned): Reject register bit-field locations that are not
+       aligned to the least significant bit; update output statement
+       accordingly.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+       (*extv_aligned, *extv_non_const, *extzv_non_const): Name insns.
+       Fix location predicate.
+       (*extzv): Name insn.
+       (*insv): Likewise.  Fix location constraint.
+       (*insv_2): Likewise, and the predicate.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (cpymemhi1): Rename insn to...
+       (movmemhi1): ... this.
+       (cpymemhi): Update accordingly.  Remove constraints.
+       (movmemhi): New expander.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md: Add a peephole2 for QImode and HImode
+       `ctz' operations.
+       (any_extend): New code iterator.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md (width): New mode attribute.
+       (ffssi2): Rework expander into...
+       (ffs<mode>2): ... this.
+       (ctzsi2): Rework insn into...
+       (ctz<mode>2): ... this.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md (ffssi2_internal): Rename insn to...
+       (ctzsi2): ... this.  Update the RTL operation.
+       (ffssi2): Update accordingly.
+       * config/vax/vax.c (vax_notice_update_cc): Handle CTZ.
+       * config/vax/vax.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md: Include `builtins.md'.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/predicates.md (volatile_mem_operand)
+       (any_memory_operand): New predicates.
+       * config/vax/builtins.md (VUNSPEC_UNLOCK): Remove constant.
+       (sync_lock_test_and_set<mode>): Remove `set' and `unspec'
+       operations, match operands only.  Reformat.
+       (sync_lock_release<mode>): Likewise.  Remove cruft.
+       (jbb<ccss>i<mode>): Wrap into `unspec_volatile', use
+       `any_memory_operand' predicate.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md (bit): New int iterator.
+       (ccss): New int attribute.
+       (jbbssi<mode>, jbbcci<mode>): Fold insns into...
+       (jbb<ccss>i<mode>): ... this.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md (bb_mem): New mode attribute.
+       (jbbssiqi, jbbssihi, jbbssisi): Fold insns into...
+       (jbbssi<mode>): ... this.
+       (jbbcciqi, jbbccihi, jbbccisi): Likewise...
+       (jbbcci<mode>): ... this.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * jump.c (pc_set): Also accept a jump wrapped in UNSPEC or
+       UNSPEC_VOLATILE.
+       (any_uncondjump_p, any_condjump_p): Update comment accordingly.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * loop-doloop.c (add_test): Only remove the jump if `onlyjump_p'.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * cfgrtl.c (rtl_block_empty_p): Return false if `!onlyjump_p'
+       too.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Only try to remove a
+       conditional jump if `onlyjump_p'.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * loop-iv.c (simplify_using_initial_values): Only process jumps
+       that match `onlyjump_p'.
+       (check_simple_exit): Likewise.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Bail out
+       if `!onlyjump_p'.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * read-rtl.c: Add a page-feed separator at the start of iterator
+       code.
+       (struct iterator_group): Change the return type to HOST_WIDE_INT
+       for the `find_builtin' member.  Likewise the second parameter
+       type for the `apply_iterator' member.
+       (atoll) [!HAVE_ATOQ]: Reorder.
+       (find_mode, find_code): Change the return type to HOST_WIDE_INT.
+       (apply_mode_iterator, apply_code_iterator)
+       (apply_subst_iterator): Change the second parameter type to
+       HOST_WIDE_INT.
+       (find_int): Handle input suitable for HOST_WIDE_INT output.
+       (apply_int_iterator): Rewrite in terms of explicit format
+       interpretation.
+       (rtx_reader::read_rtx_operand) <'w'>: Fold into...
+       <'i', 'n', 'p'>: ... this.
+       * doc/md.texi (Int Iterators): Document 'w' rtx format support.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/builtins.md (ffssi2): Make preparation statements
+       actually buildable.
+       (ffssi2_internal): Fix input constraints; make the RTL pattern
+       match reality for `cc0'.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_address_cost): Express the cost in terms
+       of COSTS_N_INSNS.
+       (vax_rtx_costs): Likewise.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/constraints.md (A): New constraint.
+       * config/vax/predicates.md (external_symbolic_operand)
+       (external_const_operand): Remove predicates.
+       (local_symbolic_operand): Rename to...
+       (pic_symbolic_operand): ... this, and rework.
+       (external_memory_operand): Rename to...
+       (non_pic_external_memory_operand): ... this, and rework.
+       (illegal_blk_memory_operand, illegal_addsub_di_memory_operand):
+       Update accordingly.
+       * config/vax/vax-protos.h (vax_acceptable_pic_operand_p): New
+       prototype.
+       * config/vax/vax.c (vax_acceptable_pic_operand_p): New function.
+       (vax_output_int_add): Update according to predicate rework.
+       * config/vax/vax.h (LEGITIMATE_PIC_OPERAND_P): New macro.
+       * config/vax/vax.md (pushlclsymreg, pushextsymreg): Fold
+       together, and rename to...
+       (*pushsymreg): ... this.  Use the `pic_symbolic_operand'
+       predicate and the `A' constraint for the displacement operand.
+       (movlclsymreg, movextsymreg): Fold together, and rename to...
+       (*movsymreg): ... this.  Use the `pic_symbolic_operand'
+       predicate and the `A' constraint for the displacement operand.
+       (pushextsym, pushlclsym): Fold together, and rename to...
+       (*pushsym): ... this.  Use the `pic_symbolic_operand' predicate
+       and the `A' constraint for the displacement operand.
+       (movextsym, movlclsym): Fold together, and rename to...
+       (*movsym): ... this.  Use the `pic_symbolic_operand' predicate
+       and the `A' constraint for the displacement operand.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (print_operand): Replace `c' and `C' with
+       `k' and `K' respectively.
+       * config/vax/vax.md (*branch, *branch_reversed): Update
+       accordingly.
+
+2020-12-05  Matt Thomas  <matt@3am-software.com>
+           Maciej W. Rozycki  <macro@linux-mips.org>
+
+       PR target/58901
+       * reload.c (push_reload): Also reload the inner expression of a
+       SUBREG for pseudos associated with a mode-dependent memory
+       reference.
+       (find_reloads): Force a reload likewise.
+
+2020-12-05  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/97421
+       * modulo-sched.c (generate_prolog_epilog): Remove forward
+       declaration, adjust last argument name and type.
+       (const_iteration_count): Add bool pointer parameter to return
+       whether count register is read in pre-header after its
+       initialization.
+       (sms_schedule): Fix count register initialization adjustment
+       procedure according to what const_iteration_count said.
+
+2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/97865
+       * configure: Regenerate.
+
+2020-12-05  Venkataramanan Kumar  <Venkataramanan.Kumar@amd.com>
+           Sharavan Kumar  <Shravan.Kumar@amd.com>
+
+       * common/config/i386/cpuinfo.h (get_amd_cpu) recognize znver3.
+       * common/config/i386/i386-common.c (processor_names): Add
+       znver3.
+       (processor_alias_table): Add znver3 and AMDFAM19H entry.
+       * common/config/i386/i386-cpuinfo.h (processor_types): Add
+       AMDFAM19H.
+       (processor_subtypes): AMDFAM19H_ZNVER3.
+       * config.gcc (i[34567]86-*-linux* | ...): Likewise.
+       * config/i386/driver-i386.c: (host_detect_local_cpu): Let
+       -march=native recognize znver3 processors.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Add
+       znver3.
+       * config/i386/i386-options.c (m_znver3): New definition.
+       (m_ZNVER): Include m_znver3.
+       (processor_cost_table): Add znver3.
+       * config/i386/i386.c (ix86_reassociation_width): Likewise.
+       * config/i386/i386.h (TARGET_znver3): New definition.
+       (enum processor_type): Add PROCESSOR_ZNVER3.
+       * config/i386/i386.md (define_attr "cpu"): Add znver3.
+       * config/i386/x86-tune-sched.c: (ix86_issue_rate): Likewise.
+       (ix86_adjust_cost): Likewise.
+       * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS:
+       Likewise.
+       * config/i386/znver1.md: Add new reservations for znver3.
+       * doc/extend.texi: Add details about znver3.
+       * doc/invoke.texi: Likewise.
+
+2020-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96226
+       * config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask,
+       splitter after *<rotate_insn><mode>3_mask_1): Drop the masking from
+       the patterns to split into.
+
+2020-12-04  Jason Merrill  <jason@redhat.com>
+
+       * vec.h (begin, end): Add overloads for vec*.
+       * tree.c (build_constructor_from_vec): Remove *.
+
+2020-12-04  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Change PTR_SIZE to POINTER_SIZE_UNITS.
+
+2020-12-04  Hans-Peter Nilsson  <hp@axis.com>
+           Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94600
+       * doc/implement-c.texi (Qualifiers implementation): Add blurb
+       about access to the whole of a volatile aggregate object, only for
+       same-size as a scalar object.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98130
+       * gimple.c (gimple_call_fnspec): Only return ".co " for replaceable
+       operator delete or ".mC" for replaceable operator new called from
+       new/delete.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96226
+       * config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask,
+       splitter after *<rotate_insn><mode>3_mask_1): New combine splitters.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * fold-const.c (native_encode_initializer): Use build_zero_cst
+       instead of build_constructor.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98100
+       * cfgexpand.c (expand_gimple_basic_block): For vars with
+       vector type, use TYPE_MODE rather than DECL_MODE.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * common.opt (-gdwarf32, -gdwarf64): New options.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Default
+       dwarf_offset_size to 8 if not overridden from the command line.
+       * dwarf2out.c: Change all occurrences of DWARF_OFFSET_SIZE to
+       dwarf_offset_size.
+       * doc/invoke.texi (-gdwarf32, -gdwarf64): Document.
+
+2020-12-04  Martin Liska  <mliska@suse.cz>
+
+       * doc/tm.texi: Change argument of the record_gcc_switches
+       hook and remove SWITCH_TYPE_* enum values.
+       * dwarf2out.c (gen_producer_string): Move to opts.c and remove
+       handling of the dwarf_record_gcc_switches option.
+       (dwarf2out_early_finish): Use moved gen_producer_string
+       function.
+       * opts.c (gen_producer_string): New.
+       * opts.h (gen_producer_string): New.
+       * target.def: Change type of record_gcc_switches.
+       * target.h (enum print_switch_type): Remove.
+       (elf_record_gcc_switches): Change first argument.
+       * toplev.c (MAX_LINE): Remove.
+       (print_to_asm_out_file):  Likewise.
+       (print_to_stderr): Likewise.
+       (print_single_switch): Likewise.
+       (print_switch_values): Likewise.
+       (init_asm_output): Use new gen_producer_string function.
+       (process_options): Likewise.
+       * varasm.c (elf_record_gcc_switches): Just save the string argument
+       to the ELF container.
+
+2020-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ipa-sra.c (verify_access_tree_1): Relax assertion on the size.
+
+2020-12-04  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Add missing params.
+
+2020-12-03  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/90629
+       PR middle-end/94527
+       * builtins.c (access_ref::access_ref): Initialize new member.
+       (compute_objsize): Use access_ref::deref.  Handle simple pointer
+       assignment.
+       (expand_builtin): Remove handling of the free built-in.
+       (call_dealloc_argno): Same.
+       (find_assignment_location): New function.
+       (fndecl_alloc_p): Same.
+       (gimple_call_alloc_p): Same.
+       (call_dealloc_p): Same.
+       (matching_alloc_calls_p): Same.
+       (warn_dealloc_offset): Same.
+       (maybe_emit_free_warning): Same.
+       * builtins.h (struct access_ref): Declare new member.
+       (maybe_emit_free_warning): Make extern.  Make use of access_ref.
+       Handle -Wmismatched-new-delete.
+       * calls.c (initialize_argument_information): Call
+       maybe_emit_free_warning.
+       * doc/extend.texi (attribute malloc): Update.
+       * doc/invoke.texi (-Wfree-nonheap-object): Expand documentation.
+       (-Wmismatched-new-delete): Document new option.
+       (-Wmismatched-dealloc): Document new option.
+
+2020-12-03  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree.c (build_common_builtin_nodes): Declare
+       __builtin___clear_cache for all languages.
+       * builtins.c (maybe_emit_call_builtin___clear_cache): Accept
+       Pmode arguments.
+
+2020-12-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/arm/t-rtems: Add "-mthumb -mcpu=cortex-r52
+       -mfloat-abi=hard" multilib.
+
+2020-12-03  Uroš Bizjak  <ubizjak@gmail.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98086
+       * config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite
+       zero-extension part to use convert_to_mode.
+
+2020-12-03  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.md ("@probe_stack2<mode>"): Change mode
+       iterator to W.
+
+2020-12-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins-base.cc (svundef_impl::fold):
+       Delete.
+
+2020-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/98099
+       * expmed.c (flip_storage_order): In the case of a non-integer mode,
+       sorry out if the integer mode to be used instead is not supported.
+
+2020-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/98082
+       * function.c (use_register_for_decl): Also return true for a result
+       if cfun->tail_call_marked is true.
+
+2020-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * fold-const.h (native_encode_initializer): Add mask argument
+       defaulted to nullptr.
+       (find_bitfield_repr_type): Declare.
+       (native_interpret_aggregate): Declare.
+       * fold-const.c (find_bitfield_repr_type): New function.
+       (native_encode_initializer): Add mask argument and support for
+       filling it.  Handle also some bitfields without integral
+       DECL_BIT_FIELD_REPRESENTATIVE.
+       (native_interpret_aggregate): New function.
+       * gimple-fold.h (clear_type_padding_in_mask): Declare.
+       * gimple-fold.c (struct clear_padding_struct): Add clear_in_mask
+       member.
+       (clear_padding_flush): Handle buf->clear_in_mask.
+       (clear_padding_union): Copy clear_in_mask.  Don't error if
+       buf->clear_in_mask is set.
+       (clear_padding_type): Don't error if buf->clear_in_mask is set.
+       (clear_type_padding_in_mask): New function.
+       (gimple_fold_builtin_clear_padding): Set buf.clear_in_mask to false.
+       * doc/extend.texi (__builtin_bit_cast): Document.
+
+2020-12-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest):
+       Do not allow __builtin_constant_p on a threading path.
+
+2020-12-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * tree-ssa-strlen.c (printf_strlen_execute): Avoid division by
+       0.
+
+2020-12-03  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (arch_canonicalize): Move
+       code to arch-canonicalize, and call that script to canonicalize arch
+       string.
+       (canonical_order): Move code to arch-canonicalize.
+       (LONG_EXT_PREFIXES): Ditto.
+       (IMPLIED_EXT): Ditto.
+       * config/riscv/arch-canonicalize: New.
+       * config.gcc (riscv*-*-*): Canonicalize --with-arch.
+
+2020-12-03  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-option-extensions.def
+       (AARCH64_OPT_EXTENSION): New +flagm option in -march for AArch64.
+       * config/aarch64/aarch64.h (AARCH64_FL_FLAGM): Add new flagm extension bit
+       mask.
+       (AARCH64_FL_FOR_ARCH8_4): Add flagm to Armv8.4-A.
+       * doc/invoke.texi: Update docs with +flagm.
+
+2020-12-03  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96906
+       * config/i386/sse.md
+       (<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Add a new
+       define_split after this insn.
+
+2020-12-03  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97642
+       * config/i386/i386-expand.c
+       (ix86_expand_special_args_builtin): Don't move all-ones mask
+       operands into register.
+       * config/i386/sse.md (UNSPEC_MASKLOAD): New unspec.
+       (*<avx512>_load<mode>_mask): New define_insns for masked load
+       instructions.
+       (<avx512>_load<mode>_mask): Changed to define_expands which
+       specifically handle memory or all-ones mask operands.
+       (<avx512>_blendm<mode>): Changed to define_insns which are same
+       as original <avx512>_load<mode>_mask with adjustment of
+       operands order.
+       (*<avx512>_load<mode>): New define_insn_and_split which is
+       used to optimize for masked load with all one mask.
+
+2020-12-03  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/97770
+       * config/i386/sse.md (popcount<mode>2): New expander
+       for SI/DI vector modes.
+       (popcount<mode>2): Likewise for QI/HI vector modes.
+
+2020-12-03  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (default_emit_call_builtin___clear_cache): New.
+       (maybe_emit_call_builtin___clear_cache): New.
+       (expand_builtin___clear_cache): Split into the above.
+       (expand_builtin): Do not issue clear_cache call any more.
+       * builtins.h (maybe_emit_call_builtin___clear_cache): Declare.
+       * config/aarch64/aarch64.c (aarch64_trampoline_init): Use
+       maybe_emit_call_builtin___clear_cache.
+       * config/arc/arc.c (arc_trampoline_init): Likewise.
+       * config/arm/arm.c (arm_trampoline_init): Likewise.
+       * config/c6x/c6x.c (c6x_initialize_trampoline): Likewise.
+       * config/csky/csky.c (csky_trampoline_init): Likewise.
+       * config/m68k/linux.h (FInALIZE_TRAMPOLINE): Likewise.
+       * config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise.
+       * config/tilepro/tilepro.c (tilepro_trampoline_init): Ditto.
+       * config/vxworks.c: Include rtl.h, memmodel.h, and optabs.h.
+       (vxworks_emit_call_builtin___clear_cache): New.
+       * config/vxworks.h (CLEAR_INSN_CACHE): Drop.
+       (TARGET_EMIT_CALL_BUILTIN___CLEAR_CACHE): Define.
+       * target.def (trampoline_init): In the documentation, refer to
+       maybe_emit_call_builtin___clear_cache.
+       (emit_call_builtin___clear_cache): New.
+       * doc/tm.texi.in: Add new hook point.
+       (CLEAR_CACHE_INSN): Remove duplicate 'both'.
+       * doc/tm.texi: Rebuilt.
+       * targhooks.h (default_meit_call_builtin___clear_cache):
+       Declare.
+       * tree.h (BUILTIN_ASM_NAME_PTR): New.
+
+2020-12-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path):
+       Do not allow __builtin_constant_p on a threading path.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit
+       constants and only in dwarf-5 or later, where DW_FORM_data16 is
+       available.  Otherwise use DW_FORM_block*/DW_FORM_exprloc with
+       DW_OP_implicit_value to describe the constant.
+
+2020-12-02  qing zhao  <qinzhao@gcc.gnu.org>
+
+       PR rtl-optimization/97777
+       * reg-stack.c (rest_of_handle_stack_regs): call
+       df_insn_rescan_all if reg_to_stack return true.
+
+2020-12-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-protos.h (s390_const_int_pool_entry_p): New
+       function.
+       * config/s390/s390.c (s390_const_int_pool_entry_p): New
+       function.
+       * config/s390/s390.md: Add define_peephole2 that produces llihf
+       and oilf.
+
+2020-12-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97630
+       * tree-vectorizer.h (_slp_tree::next_node,
+       _slp_tree::prev_node): New.
+       (vect_slp_init): Declare.
+       (vect_slp_fini): Likewise.
+       * tree-vectorizer.c (vectorize_loops): Call vect_slp_init/fini.
+       (pass_slp_vectorize::execute): Likewise.
+       * tree-vect-slp.c (vect_slp_init): New.
+       (vect_slp_fini): Likewise.
+       (slp_first_node): New global.
+       (_slp_tree::_slp_tree): Link node into the SLP tree list.
+       (_slp_tree::~_slp_tree): Delink node from the SLP tree list.
+
+2020-12-02  Scott Snyder  <sss@li-snyder.org>
+
+       PR plugins/98059
+       * vec.h (auto_delete_vec): Use
+       DISABLE_COPY_AND_ASSIGN(auto_delete_vec) instead of
+       DISABLE_COPY_AND_ASSIGN(auto_delete_vec<T>) to make it valid C++20
+       after DR2237.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98075
+       * cgraph.c (cgraph_node::dump): Dump decl_is_malloc flag.
+       * ipa-pure-const.c (propagate_malloc): Do not set malloc
+       attribute for void functions.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/93195
+       PR middle-end/93197
+       * configure.ac (HAVE_GAS_SECTION_LINK_ORDER): New.  Define 1 if
+       the assembler supports the section flag 'o' for specifying
+       section with link-order.
+       * output.h (SECTION_LINK_ORDER): New.  Defined to 0x8000000.
+       (SECTION_MACH_DEP): Changed from 0x8000000 to 0x10000000.
+       * targhooks.c (default_print_patchable_function_entry): Pass
+       SECTION_LINK_ORDER to switch_to_section if the section flag 'o'
+       works.  Pass current_function_decl to switch_to_section.
+       * varasm.c (default_elf_asm_named_section): Use 'o' flag for
+       SECTION_LINK_ORDER if assembler supports it.
+       * config.in: Regenerated.
+       * configure: Likewise.
+       * doc/sourcebuild.texi: Document o_flag_in_section.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386.opt: Add the missing '.' for -mneeded.
+
+2020-12-02  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_transform_loop_stmt): Return whether
+       we vectorized a stmt.
+       (vect_transform_loop): Only call maybe_set_vectorized_backedge_value
+       when we vectorized the stmt.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * expmed.h (expand_divmod): Only declare if GCC_OPTABS_H is defined.
+       Add enum optabs_method argument defaulted to OPTAB_LIB_WIDEN.
+       * expmed.c: Include expmed.h after optabs.h.
+       (expand_divmod): Add methods argument, if it is not OPTAB_{,LIB_}WIDEN,
+       don't choose a wider mode, and pass it to other calls instead of
+       hardcoded OPTAB_LIB_WIDEN.  Avoid emitting libcalls if not
+       OPTAB_LIB or OPTAB_LIB_WIDEN.
+       * optabs.c: Include expmed.h after optabs.h.
+       (expand_doubleword_mod, expand_doubleword_divmod): Pass OPTAB_DIRECT
+       as last argument to expand_divmod.
+       (expand_binop): Punt if {s,u}divmod_optab has handler for double-word
+       int_mode.
+       * expr.c: Include expmed.h after optabs.h.
+       * explow.c: Include expmed.h after optabs.h.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97459
+       * optabs.h (expand_doubleword_divmod): Declare.
+       * optabs.c (expand_doubleword_divmod): New function.
+       (expand_binop): Use it.
+       * internal-fn.c (expand_DIVMOD): Likewise.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR c/98087
+       * gimple-fold.c (clear_padding_type): Do not divide by zero.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       * gdbinit.in: Write what each command calls
+       for a debugging function.
+
+2020-12-02  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Use OPTION_MASK_DIRECT_MOVE for Power8 target_enable instead
+       of OPTION_MASK_HTM.
+       * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER):
+       Remove OPTION_MASK_HTM.
+       (RS6000_CPU): Add OPTION_MASK_HTM to power8, power9 and
+       powerpc64le entries.
+
+2020-12-02  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98079
+       * config/i386/i386.md (abs<mode>2): Enable QImode
+       only for !TARGET_PARTIAL_REG_STALL.
+       (*abs<mode>2_1): Ditto.
+       (<maxmin:code><mode>3): Ditto.
+       (*<maxmin:code><mode>3_1): Ditto.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       * diagnostic.c (diagnostic_report_diagnostic): ICE causes to
+       terminate compiler immediately, so I guess it should be printed
+       always.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/88702
+       * gimple-if-to-switch.cc (pass_if_to_switch::execute):
+       Require at least 2 BBs.
+       * gimple-if-to-switch.cc (find_conditions): Require
+       equal precision for low and high of a range.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98084
+       * gimple-if-to-switch.cc (find_conditions): Consider only
+       integral types.
+
+2020-12-02  Jeff Law  <law@redhat.com>
+
+       * config/h8300/addsub.md (addqi3_clobber_flags): Rename to
+       addqi3_flags and annotate with a <cczn> for define_subst.
+       (addhi3_h8sx_clobber_flags): Likewise.
+       (subqi3_clobber_flags, sub<mode>3_clobber_flags): Likewise.
+       (neg<mode2>_clobber_flags): Similarly.
+       (addsi3_clobber_flags): Similarly.  Update last argument to
+       output_plussi to distinguish when we need flags or do not need
+       flags.
+       (addhi3_clobber_flags): Similarly.  Twiddle code for cases
+       +-1, +-2 and +-4.
+       * config/h8300/h8300.md: Define iterators, mode attributes and
+       substitutions for use in compare/test elimination.
+       * config/h8300/jumpcall.md (branch, branch_1): Use H8cc mode
+       iterator to cover the different modes for the CC register.
+       (branch_1_false): Likewise.
+
+2020-12-02  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * loop-iv.c: Fix a typo, s/bu/by/, in the `iv_analyze_expr'
+       description in the introduction.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * configure.ac (HAVE_GAS_SHF_GNU_RETAIN): New.  Define 1 if
+       the assembler supports marking sections with SHF_GNU_RETAIN flag.
+       * output.h (SECTION_RETAIN): New.  Defined as 0x4000000.
+       (SECTION_MACH_DEP): Changed from 0x4000000 to 0x8000000.
+       (default_unique_section): Add a bool argument.
+       * varasm.c (get_section): Set SECTION_RETAIN for the preserved
+       symbol with HAVE_GAS_SHF_GNU_RETAIN.
+       (resolve_unique_section): Used named section for the preserved
+       symbol if assembler supports SHF_GNU_RETAIN.
+       (get_variable_section): Handle the preserved common symbol with
+       HAVE_GAS_SHF_GNU_RETAIN.
+       (default_elf_asm_named_section): Require the full declaration and
+       use the 'R' flag for SECTION_RETAIN.
+       * config.in: Regenerated.
+       * configure: Likewise.
+       * doc/sourcebuild.texi: Document R_flag_in_section.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config.gcc: Replace cet.o with gnu-property.o.  Replace
+       i386/t-cet with i386/t-gnu-property.
+       * config/i386/cet.c: Renamed to ...
+       * config/i386/gnu-property.c: This.
+       (emit_gnu_property): New function.
+       (file_end_indicate_exec_stack_and_cet): Renamed to ...
+       (file_end_indicate_exec_stack_and_gnu_property): This.  Call
+       emit_gnu_property to generate GNU_PROPERTY_X86_FEATURE_1_AND and
+       GNU_PROPERTY_X86_ISA_1_NEEDED properties.
+       * config/i386/i386.opt (mneeded): New.
+       * config/i386/linux-common.h (file_end_indicate_exec_stack_and_cet):
+       Renamed to ...
+       (file_end_indicate_exec_stack_and_gnu_property): This.
+       (TARGET_ASM_FILE_END): Updated.
+       * config/i386/t-cet: Renamed to ...
+       * config/i386/t-gnu-property: This.
+       (cet.o): Renamed to ...
+       (gnu-property.o): This.
+       * doc/invoke.texi: Document -mneeded.
+
+2020-12-01  Eugene Rozenfeld  <Eugene.Rozenfeld@microsoft.com>
+
+       PR tree-optimization/96708
+       * match.pd: New pattern for comparing X with MAX (X, Y)
+       or MIN (X, y).
+
+2020-12-01  Jeff Law  <law@redhat.com>
+
+       * config/mcore/t-mcore (MULTILIB_EXCEPTIONS): Define.
+
+2020-12-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97595
+       * tree.c (component_ref_size): Fail when DECL_SIZE != TYPE_SIZE.
+       * tree.h (DECL_SIZE, TYPE_SIZE): Update comment.
+
+2020-12-01  JeanHeyd Meneide  <phdofthehouse@gmail.com>
+
+       * doc/cpp.texi: Document new macros.
+
+2020-12-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97373
+       * builtins.c (compute_objsize): Rename...
+       (compute_objsize_r): to this.  Change order and types of arguments.
+       Use new argument.  Adjust calls to self.
+       (access_ref::get_ref): New member function.
+       (pointer_query::pointer_query): New member function.
+       (pointer_query::get_ref): Same.
+       (pointer_query::put_ref): Same.
+       (handle_min_max_size): Change order and types of arguments.
+       (maybe_emit_free_warning): Add a test.
+       * builtins.h (class pointer_query): New class.
+       (compute_objsize): Declare an overload.
+       * gimple-ssa-sprintf.c (get_destination_size): Add argument.
+       (handle_printf_call): Change argument type.
+       * tree-ssa-strlen.c (adjust_last_stmt): Add an argument and use it.
+       (maybe_warn_overflow): Same.
+       (handle_builtin_strcpy): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+       (handle_builtin_memcpy): Change argument type.  Adjust calls.
+       (handle_builtin_strcat): Same.
+       (handle_builtin_memset): Same.
+       (handle_store): Same.
+       (strlen_check_and_optimize_call): Same.
+       (check_and_optimize_stmt): Same.
+       (strlen_dom_walker): Add new data members.
+       (strlen_dom_walker::before_dom_children): Use new member.
+       (printf_strlen_execute): Dump cache performance counters.  Remove
+       objsize pass cleanup.
+       * tree-ssa-strlen.h (maybe_diag_stxncpy_trunc): Add argument.
+       (handle_printf_call): Change argument type.
+
+2020-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (gen_call_used_regs_seq): In a function subject to the
+       leaf register optimization, skip registers that are not present.
+       * config/sparc/sparc.c (TARGET_ZERO_CALL_USED_REGS): Define to...
+       (sparc_zero_call_used_regs): ...this.  New function.
+
+2020-12-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h: Remove unused 'X' specs in the link spec
+       rather than driver self-specs.
+
+2020-12-01  Nathan Sidwell  <nathan@acm.org>
+
+       * params.opt (lazy-modules): New.
+       * timevar.def (TV_MODULE_IMPORT, TV_MODULE_EXPORT)
+       (TV_MODULE_MAPPER): New.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97459
+       * optabs.c (expand_doubleword_mod): Punt early for even op1.
+       (expand_binop): Don't require lshr_optab double-word handler.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97954
+       * loop-invariant.c (find_invariant_insn): Punt on JUMP_P insns.
+
+2020-12-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure.ac (check leb128 support): Check that assemblers both
+       accept the LEB128 directives and also give the expected output.
+       Add a test for uleb128 with the MSB set for a 64 bit value.
+       * configure: Regenerated.
+
+2020-12-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure: Regnerated.
+
+2020-12-01  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * optabs-tree.c (vec_cmp_icode_p): New function.
+       (vec_cmp_eq_icode_p): New function.
+       (expand_vec_cmp_expr_p): Use vec_cmp_icode_p and
+       vec_cmp_eq_icode_p.
+       (vcond_icode_p): Use get_rtx_code_1, just to be uniform with
+       vec_cmp_icode_p.
+       * optabs.c (unsigned_optab_p): New function.
+       (insn_predicate_matches_p): New function.
+       (can_vec_cmp_compare_p): New function.
+       (can_vcond_compare_p): Use unsigned_optab_p and
+       insn_predicate_matches_p.
+       (get_rtx_code): Use get_rtx_code_1.
+       (get_rtx_code_1): Version of get_rtx_code that returns UNKNOWN
+       instead of asserting.
+       * optabs.h (can_vec_cmp_compare_p): New function.
+       (get_rtx_code_1): New function.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/14799
+       PR ipa/88702
+       * Makefile.in: Add gimple-if-to-switch.o.
+       * dbgcnt.def (DEBUG_COUNTER): Add new debug counter.
+       * passes.def: Include new pass_if_to_switch pass.
+       * timevar.def (TV_TREE_IF_TO_SWITCH): New timevar.
+       * tree-pass.h (make_pass_if_to_switch): New.
+       * tree-ssa-reassoc.c (struct operand_entry): Move to the header.
+       (dump_range_entry): Move to header file.
+       (debug_range_entry): Likewise.
+       (no_side_effect_bb): Make it global.
+       * tree-switch-conversion.h (simple_cluster::simple_cluster):
+       Add inline for couple of functions in order to prevent error
+       about multiple defined symbols.
+       * gimple-if-to-switch.cc: New file.
+       * tree-ssa-reassoc.h: New file.
+
+2020-12-01  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * configure.ac: Add configure option
+       --enable-s390-excess-float-precision and check to derive default
+       from glibc.
+       * config/s390/s390.c: Guard s390_excess_precision with an ifdef
+       for ENABLE_S390_EXCESS_FLOAT_PRECISION.
+       * doc/install.texi: Document --enable-s390-excess-float-precision.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98057
+       * symtab.c (symtab_node::set_section_for_node): Drop
+       implicit_section if x_section is NULL.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98063
+       * config/i386/i386-expand.c (ix86_expand_call): Handle non-plt
+       CM_LARGE_PIC calls.
+
+2020-12-01  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98070
+       * builtins.c (builtin_fnspec): realloc is ".Cw ".
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (gen_compile_unit_die): Treat GNU C++20
+       like C++14 for -gdwarf-5.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/97989
+       * gcc.c (cpp_unique_options): Add -dD if %:debug-level-gt(2)
+       rather than g3|ggdb3|gstabs3|gxcoff3|gvms3.
+
+2020-12-01  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config.gcc (riscv*-*-*): Drop some commited accidentally code.
+
+2020-11-30  Jeff Law  <law@redhat.com>
+
+       * symtab.c (set_section_for_node): Add function comment.
+       (set_section_from_node): Likewise.
+
+2020-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/plugins.texi (Plugin callbacks): Add PLUGIN_ANALYZER_INIT.
+       * plugin.c (register_callback): Likewise.
+       (invoke_plugin_callbacks_full): Likewise.
+       * plugin.def (PLUGIN_ANALYZER_INIT): New event.
+
+2020-11-30  Jeff Law  <law@redhat.com>
+
+       * config/h8300/bitfield.md: Remove "cc" attribute on any
+       insns where it remained.
+       * config/h8300/combiner.md: Likewise.
+       * config/h8300/jumpcall.md: Likewise.
+       * config/h8300/logical.md: Likewise.
+       * config/h8300/testcompare.md: Likewise.
+       * config/h8300/h8300.md (old_cc attr): Renamed from cc attr.
+       * config/h8300/h8300.c (notice_update_cc): Remove.
+       (compute_plussi_cc): Change references to CC_* to OLD_CC_.
+       (compute_logical_op_cc): Likewise.
+       (shift_one, shift_two): Likewise.
+       (compute_a_shift_cc): Likewise.
+       (get_shift_alg): Likewise.
+       (struct shift_insn): Change type of cc_valid field.
+       (struct shift_info): Likewise.
+       * config/h8300/save.md: Remove accidentially created file.
+
+2020-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98037
+       * dse.c (find_shift_sequence): Iterate over all integers and
+       skip modes that are too small.
+
+2020-11-30  Eugene Rozenfeld  <Eugene.Rozenfeld@microsoft.com>
+
+       PR tree-optimization/96679
+       * match.pd (((b | c) & a) | b -> (a & c) | b): New pattern.
+
+2020-11-30  Martin Liska  <mliska@suse.cz>
+
+       * passes.c (emergency_dump_function): Dump symtab when
+       we are in an IPA pass.
+
+2020-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98064
+       * tree-vect-loop.c (vectorizable_live_operation): Avoid
+       breaking LC SSA for BB vectorization.
+
+2020-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/sourcebuild.texi (Directives): Fix description of
+       dg-require-effective-target to include "target" in selector.
+
+2020-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98048
+       * tree-vect-generic.c (expand_vector_operations_1): Use the
+       correct type for the scalar LHS replacement.
+
+2020-11-30  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98066
+       * gimple-isel.cc (gimple_expand_vec_exprs): Return when
+       gimple_expand_vec_exprs replaces last stmt.
+
+2020-11-30  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * cfgrtl.c (rtl_bb_info_initialized_p): New function.
+       (rtl_dump_bb): Use rtl_bb_info_initialized_p before accessing bb
+       insns.
+
+2020-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/87818
+       * config.gcc (*-*-freebsd*): Add freebsd-d.o and t-freebsd.
+       * config/freebsd-d.c: New file.
+       * config/t-freebsd: New file.
+
+2020-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97459
+       * internal-fn.h (expand_addsub_overflow): Declare.
+       * internal-fn.c (expand_addsub_overflow): No longer static.
+       * optabs.c (expand_doubleword_mod): New function.
+       (expand_binop): Optimize double-word mod with constant divisor.
+
+2020-11-30  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config.gcc (riscv*-*-*): Add TARGET_RISCV_DEFAULT_ABI and
+       TARGET_RISCV_DEFAULT_ARCH to tm_defines.
+       Remove including riscv/withmultilib.h for --with-multilib-list.
+       * config/riscv/riscv.h (STRINGIZING): New.
+       (__STRINGIZING): Ditto.
+       (MULTILIB_DEFAULTS): Ditto.
+       * config/riscv/withmultilib.h: Remove.
+
+2020-11-30  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.c (print_multilib_info): Check default arguments not
+       appeared in multi-lib option list with '!'
+
+2020-11-30  Jeff Law  <law@redhat.com>
+
+       * config/ft32/ft32.md (umulsidi3): Do not allow constants as
+       arguments.
+
+2020-11-29  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix
+       handling of ignore_stores.
+
+2020-11-29  Jan Hubicka  <jh@suse.cz>
+
+       PR jit/97867
+       * symtab-thunks.h (thunk_info::release): Use ggc_delete.
+
+2020-11-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92936
+       PR middle-end/92940
+       PR middle-end/89428
+       * builtins.c (access_ref::access_ref): Initialize member.
+       (access_ref::phi): New function.
+       (access_ref::get_ref): New function.
+       (access_ref::add_offset): Remove duplicate assignment.
+       (maybe_warn_for_bound): Add "maybe" kind of warning messages.
+       (warn_for_access): Same.
+       (inform_access): Rename...
+       (access_ref::inform_access): ...to this.  Print PHI arguments.  Format
+       offset the same as size and simplify.  Improve printing of allocation
+       functions and VLAs.
+       (check_access): Adjust to the above.
+       (gimple_parm_array_size): Change argument.
+       (handle_min_max_size): New function.
+       * builtins.h (class ssa_name_limit_t): Move class here from
+       tree-ssa-strlen.c.
+       (struct access_ref): Declare new members.
+       (gimple_parm_array_size): Change argument.
+       * tree-ssa-strlen.c (maybe_warn_overflow): Use access_ref and simplify.
+       (handle_builtin_memcpy): Correct argument passed to maybe_warn_overflow.
+       (handle_builtin_memset): Same.
+       (class ssa_name_limit_t): Move class to builtins.{h,c}.
+
+2020-11-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config.gcc (*-*-darwin*): Set d_target_objs and target_has_targetdm.
+       * config/elfos.h (TARGET_D_MINFO_SECTION): New macro.
+       (TARGET_D_MINFO_START_NAME): New macro.
+       (TARGET_D_MINFO_END_NAME): New macro.
+       * config/t-darwin: Add darwin-d.o.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (D language and ABI): Add @hook for
+       TARGET_D_MINFO_SECTION, TARGET_D_MINFO_START_NAME, and
+       TARGET_D_MINFO_END_NAME.
+       * config/darwin-d.c: New file.
+
+2020-11-29  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-structalias.c (handle_pure_call): Skip EAF_UNUSED
+        parameters.
+
+2020-11-29  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_lattice::merge): Do nothing if F is EAF_UNUSED.
+       (analyze_parms): Detect unused params.
+       (modref_merge_call_site_flags): Merge correct EAF_UNUSED.
+
+2020-11-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/97939
+       * config/sparc/predicates.md (arith_double_add_operand): Comment.
+       * config/sparc/sparc.md (uaddvdi4): Use arith_double_operand.
+       (addvdi4): Use arith_double_add_operand.
+       (addsi3): Remove useless attributes.
+       (addvsi4): Use arith_add_operand.
+       (*cmp_ccv_plus): Likewise and add second alternative accordingly.
+       (*cmp_ccxv_plus): Likewise.
+       (*cmp_ccv_plus_set): Likewise.
+       (*cmp_ccxv_plus_set): Likewise.
+       (*cmp_ccv_plus_sltu_set): Likewise.
+       (usubvdi4): Use arith_double_operand.
+       (subvdi4): Use arith_double_add_operand.
+       (subsi3): Remove useless attributes.
+       (subvsi4): Use arith_add_operand.
+       (*cmp_ccv_minus): Likewise and add second alternative accordingly.
+       (*cmp_ccxv_minus): Likewise.
+       (*cmp_ccv_minus_set): Likewise.
+       (*cmp_ccxv_minus_set): Likewise.
+       (*cmp_ccv_minus_sltu_set): Likewise.
+       (negsi2): Use register_operand.
+       (unegvsi3): Likewise.
+       (negvsi3) Likewise.
+       (*cmp_ccnz_neg): Likewise.
+       (*cmp_ccxnz_neg): Likewise.
+       (*cmp_ccnz_neg_set): Likewise.
+       (*cmp_ccxnz_neg_set): Likewise.
+       (*cmp_ccc_neg_set): Likewise.
+       (*cmp_ccxc_neg_set): Likewise.
+       (*cmp_ccc_neg_sltu_set): Likewise.
+       (*cmp_ccv_neg): Likewise.
+       (*cmp_ccxv_neg): Likewise.
+       (*cmp_ccv_neg_set): Likewise.
+       (*cmp_ccxv_neg_set): Likewise.
+       (*cmp_ccv_neg_sltu_set): Likewise.
+
+2020-11-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR other/98027
+       * doc/install.texi: Default to --enable-cet=auto.
+
+2020-11-27  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-kernels-decompose.cc (flatten_binds): Don't choke on
+       empty GIMPLE sequence, and examine all statements contained in
+       inner 'GIMPLE_BIND'.
+
+2020-11-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98024
+       * tree-ssa-pre.c (insert): Fix successor RPO order check.
+       (do_pre_regular_insertion): When inserting an assignment
+       in place of an all-same-value PHI still record that into
+       PHI_GEN.
+
+2020-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssanames.c (get_range_info): Handle INTEGER_CST by returning
+       VR_RANGE with both *min and *max set to the wide_int value of the
+       INTEGER_CST.  Return VR_VARYING for non-SSA_NAMEs.
+       * match.pd ((t * 2) / 2) -> t): Handle also @0 being INTEGER_CST.
+       Simplify by calling get_range_info on everything.
+       * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Simplify by calling
+       get_range_info on everything.
+       * tree-scalar-evolution.c (iv_can_overflow_p): Likewise.
+
+2020-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/88101
+       * gimple-fold.c (clear_padding_type): Ignore fields with is_empty_type
+       types.
+
+2020-11-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/97880
+       * omp-expand.c (expand_oacc_collapse_init, expand_oacc_collapse_vars):
+       Use now passed diff_type.
+       (expand_oacc_for): Take largest type for diff_type, taking tiling
+       and collapsing into account.
+
+2020-11-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.opt
+       (-param=aarch64-autovec-preference): Define.
+       * config/aarch64/aarch64.c (aarch64_override_options_internal):
+       Set aarch64_sve_compare_costs to 0 when preferring only Advanced
+       SIMD.
+       (aarch64_cmp_autovec_modes): Define.
+       (aarch64_preferred_simd_mode): Adjust to use the above.
+       (aarch64_autovectorize_vector_modes): Likewise.
+       * doc/invoke.texi: Document aarch64-autovec-preference param.
+
+2020-11-27  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (altivec_expand_vec_set_builtin):
+       Change call param 2 from type int to rtx.
+       * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init):
+       Change call param 2 from type int to rtx.
+       (rs6000_expand_vector_set): Likewise.
+       * config/rs6000/vector.md (vec_set<mode>): Support both constant
+       and variable index vec_set.
+
+2020-11-27  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * config/rs6000/rs6000-protos.h (rs6000_output_addr_vec_elt): Declare.
+       * config/rs6000/rs6000.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC):
+       Define.
+       (rs6000_gen_pic_addr_diff_vec, rs6000_output_addr_vec_elt): Implement.
+       * config/rs6000/rs6000.h (CASE_VECTOR_PC_RELATIVE,
+       CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Define.
+       * config/rs6000/rs6000.md (tablejump<mode>_absolute,
+       tablejump<mode>_absolute_nospec): New expanders.
+       * config/rs6000/rs6000.opt (mrelative-jumptables): New.
+
+2020-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/96607
+       * config/sparc/sparc-protos.h (eligible_for_call_delay): Delete.
+       * config/sparc/sparc.c (eligible_for_call_delay): Likewise.
+       * config/sparc/sparc.md (in_call_delay): Likewise.
+       (tls_delay_slot): New attribute.
+       (define_delay [call]): Use in_branch_delay.
+       (tgd_call<P:mode>): Set type to call_no_delay_slot when
+       tls_delay_slot is false.
+       (tldm_call<P:mode>): Likewise.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97997
+       * match.pd ((t * 2) / 2) -> t): Optimize even for defined
+       overflow if ranges prove there is no overflow.
+
+2020-11-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97953
+       * gimple-ssa-evrp-analyze.c
+       (evrp_range_analyzer::record_ranges_from_incoming_edge): Make
+       sure the condition post-dominates the SSA definition before
+       recording into SSA_NAME_RANGE_INFO.
+
+2020-11-26  Richard Biener  <rguenther@suse.de>
+
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Only
+       lower VECTOR_BOOLEAN_TYPE_P VEC_COND_EXPRs.
+
+2020-11-26  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c (copy_early_debug_info): Don't wipe
+       relocation symbols.
+
+2020-11-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_multi_arg_builtin):
+       Remove args array of structs, declare rtx xops array instead.
+       Update all uses.
+       (ix86_expand_args_builtin): Ditto.
+       (ix86_expand_round_builtin): Ditto.
+       (ix86_expand_special_args_builtin): Ditto.
+
+2020-11-26  Martin Liska  <mliska@suse.cz>
+
+       * dwarf2out.c (gen_compile_unit_die): Fix missing == 0 in a
+       strcmp.
+
+2020-11-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.h (TIME_LIBRARY): Remove.
+
+2020-11-26  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set param_vect_partial_vector_usage as 1 for Power10 and up
+       by default.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-fold.c (clear_padding_union): Ignore DECL_PADDING_P
+       fields.
+       (clear_padding_type): Ignore DECL_PADDING_P fields, rather than
+       DECL_BIT_FIELD with NULL DECL_NAME.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97979
+       * match.pd ((X {&,^,|} C2) << C1 into (X << C1) {&,^,|} (C2 << C1)):
+       Only optimize if int_const_binop returned non-NULL.
+
+2020-11-26  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-expand.c
+       (ix86_expand_special_args_builtin): Delete last_arg_constant
+       and match.
+
+2020-11-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * config/i386/i386.md (abs<mode>2): Use SDWIM mode iterator.
+       (*abs<mode>2_1): Use SWI mode iterator.
+       (<maxmin:code><mode>3): Use SDWIM mode iterator.
+       (*<maxmin:code><mode>3_1): Use SWI mode iterator.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96906
+       * config/i386/sse.md (VI12_AVX2): Remove V64QI/V32HI modes.
+       (VI12_AVX2_AVX512BW): New mode iterator.
+       (<sse2_avx2>_<plusminus_insn><mode>3<mask_name>,
+       uavg<mode>3_ceil, <sse2_avx2>_uavg<mode>3<mask_name>): Use
+       VI12_AVX2_AVX512BW iterator instead of VI12_AVX2.
+       (*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>): Likewise.
+       (*<sse2_avx2>_uavg<mode>3<mask_name>): Likewise.
+       (*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>): Add a new
+       define_split after this insn.
+
+2020-11-26  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/65455
+       PR c/92935
+       * ginclude/stdatomic.h: Use comma operator to drop qualifiers.
+
+2020-11-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR bootstrap/97983
+       * lra.c (lra_process_new_insns): Use emit_insn_before_noloc or
+       emit_insn_after_noloc with the destination BB.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/97622
+       PR bootstrap/94982
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+       Avoid -Wformat-diag.
+       * digraph.cc (struct test_edge): Same.
+       * dumpfile.c (dump_loc): Same.
+       (dump_context::begin_scope): Same.
+       * edit-context.c (edited_file::print_diff): Same.
+       (edited_file::print_diff_hunk): Same.
+       * json.cc (object::print): Same.
+       * lto-wrapper.c (merge_and_complain): Same.
+       * reload.c (find_reloads): Same.
+       * tree-diagnostic-path.cc (print_path_summary_as_text): Same.
+       * ubsan.c (ubsan_type_descriptor): Same.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gimple_call_arg_flags): Also imply EAF_NODIRECTESCAPE.
+       * tree-core.h (EAF_NODRECTESCAPE): New flag.
+       * tree-ssa-structalias.c (make_indirect_escape_constraint): New
+       function.
+       (handle_rhs_call): Hanlde EAF_NODIRECTESCAPE.
+       * ipa-modref.c (dump_eaf_flags): Print EAF_NODIRECTESCAPE.
+       (deref_flags): Dereference is always EAF_NODIRECTESCAPE.
+       (modref_lattice::init): Also set EAF_NODIRECTESCAPE.
+       (analyze_ssa_name_flags): Pure functions do not affect
+       EAF_NODIRECTESCAPE.
+       (analyze_params): Likewise.
+       (ipa_merge_modref_summary_after_inlining): Likewise.
+       (modref_merge_call_site_flags): Likewise.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summaries::duplicate,
+       modref_summaries_lto::duplicate): Copy arg_flags.
+       (remap_arg_flags): Fix remapping of arg_flags.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97956
+       * gimple-fold.c (gimple_fold_builtin_memchr): Use sizetype for pointer
+       offsets.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * asan.c (asan_instrument_reads): New.
+       (asan_instrument_writes): New.
+       (asan_memintrin): New.
+       (handle_builtin_stack_restore): Account for HWASAN.
+       (handle_builtin_alloca): Account for HWASAN.
+       (get_mem_refs_of_builtin_call): Special case strlen for HWASAN.
+       (hwasan_instrument_reads): New.
+       (hwasan_instrument_writes): New.
+       (hwasan_memintrin): New.
+       (report_error_func): Assert not HWASAN.
+       (build_check_stmt): Make HWASAN_CHECK instead of ASAN_CHECK.
+       (instrument_derefs): HWASAN does not tag globals.
+       (instrument_builtin_call): Use new helper functions.
+       (maybe_instrument_call): Don't instrument `noreturn` functions.
+       (initialize_sanitizer_builtins): Add new type.
+       (asan_expand_mark_ifn): Account for HWASAN.
+       (asan_expand_check_ifn): Assert never called by HWASAN.
+       (asan_expand_poison_ifn): Account for HWASAN.
+       (asan_instrument): Branch based on whether using HWASAN or ASAN.
+       (pass_asan::gate): Return true if sanitizing HWASAN.
+       (pass_asan_O0::gate): Return true if sanitizing HWASAN.
+       (hwasan_check_func): New.
+       (hwasan_expand_check_ifn): New.
+       (hwasan_expand_mark_ifn): New.
+       (gate_hwasan): New.
+       * asan.h (hwasan_expand_check_ifn): New decl.
+       (hwasan_expand_mark_ifn): New decl.
+       (gate_hwasan): New decl.
+       (asan_intercepted_p): Always false for hwasan.
+       (asan_sanitize_use_after_scope): Account for HWASAN.
+       * builtin-types.def (BT_FN_PTR_CONST_PTR_UINT8): New.
+       * gimple-fold.c (gimple_build): New overload for building function
+       calls without arguments.
+       (gimple_build_round_up): New.
+       * gimple-fold.h (gimple_build): New decl.
+       (gimple_build): New inline function.
+       (gimple_build_round_up): New decl.
+       (gimple_build_round_up): New inline function.
+       * gimple-pretty-print.c (dump_gimple_call_args): Account for
+       HWASAN.
+       * gimplify.c (asan_poison_variable): Account for HWASAN.
+       (gimplify_function_tree): Remove requirement of
+       SANITIZE_ADDRESS, requiring asan or hwasan is accounted for in
+       `asan_sanitize_use_after_scope`.
+       * internal-fn.c (expand_HWASAN_CHECK): New.
+       (expand_HWASAN_ALLOCA_UNPOISON): New.
+       (expand_HWASAN_CHOOSE_TAG): New.
+       (expand_HWASAN_MARK): New.
+       (expand_HWASAN_SET_TAG): New.
+       * internal-fn.def (HWASAN_ALLOCA_UNPOISON): New.
+       (HWASAN_CHOOSE_TAG): New.
+       (HWASAN_CHECK): New.
+       (HWASAN_MARK): New.
+       (HWASAN_SET_TAG): New.
+       * sanitizer.def (BUILT_IN_HWASAN_LOAD1): New.
+       (BUILT_IN_HWASAN_LOAD2): New.
+       (BUILT_IN_HWASAN_LOAD4): New.
+       (BUILT_IN_HWASAN_LOAD8): New.
+       (BUILT_IN_HWASAN_LOAD16): New.
+       (BUILT_IN_HWASAN_LOADN): New.
+       (BUILT_IN_HWASAN_STORE1): New.
+       (BUILT_IN_HWASAN_STORE2): New.
+       (BUILT_IN_HWASAN_STORE4): New.
+       (BUILT_IN_HWASAN_STORE8): New.
+       (BUILT_IN_HWASAN_STORE16): New.
+       (BUILT_IN_HWASAN_STOREN): New.
+       (BUILT_IN_HWASAN_LOAD1_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD2_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD4_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD8_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD16_NOABORT): New.
+       (BUILT_IN_HWASAN_LOADN_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE1_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE2_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE4_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE8_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE16_NOABORT): New.
+       (BUILT_IN_HWASAN_STOREN_NOABORT): New.
+       (BUILT_IN_HWASAN_TAG_MISMATCH4): New.
+       (BUILT_IN_HWASAN_HANDLE_LONGJMP): New.
+       (BUILT_IN_HWASAN_TAG_PTR): New.
+       * sanopt.c (sanopt_optimize_walker): Act for hwasan.
+       (pass_sanopt::execute): Act for hwasan.
+       * toplev.c (compile_file): Use `gate_hwasan` function.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * asan.c (struct hwasan_stack_var): New.
+       (hwasan_sanitize_p): New.
+       (hwasan_sanitize_stack_p): New.
+       (hwasan_sanitize_allocas_p): New.
+       (initialize_sanitizer_builtins): Define new builtins.
+       (ATTR_NOTHROW_LIST): New macro.
+       (hwasan_current_frame_tag): New.
+       (hwasan_frame_base): New.
+       (stack_vars_base_reg_p): New.
+       (hwasan_maybe_init_frame_base_init): New.
+       (hwasan_record_stack_var): New.
+       (hwasan_get_frame_extent): New.
+       (hwasan_increment_frame_tag): New.
+       (hwasan_record_frame_init): New.
+       (hwasan_emit_prologue): New.
+       (hwasan_emit_untag_frame): New.
+       (hwasan_finish_file): New.
+       (hwasan_truncate_to_tag_size): New.
+       * asan.h (hwasan_record_frame_init): New declaration.
+       (hwasan_record_stack_var): New declaration.
+       (hwasan_emit_prologue): New declaration.
+       (hwasan_emit_untag_frame): New declaration.
+       (hwasan_get_frame_extent): New declaration.
+       (hwasan_maybe_enit_frame_base_init): New declaration.
+       (hwasan_frame_base): New declaration.
+       (stack_vars_base_reg_p): New declaration.
+       (hwasan_current_frame_tag): New declaration.
+       (hwasan_increment_frame_tag): New declaration.
+       (hwasan_truncate_to_tag_size): New declaration.
+       (hwasan_finish_file): New declaration.
+       (hwasan_sanitize_p): New declaration.
+       (hwasan_sanitize_stack_p): New declaration.
+       (hwasan_sanitize_allocas_p): New declaration.
+       (HWASAN_TAG_SIZE): New macro.
+       (HWASAN_TAG_GRANULE_SIZE): New macro.
+       (HWASAN_STACK_BACKGROUND): New macro.
+       * builtin-types.def (BT_FN_VOID_PTR_UINT8_PTRMODE): New.
+       * builtins.def (DEF_SANITIZER_BUILTIN): Enable for HWASAN.
+       * cfgexpand.c (align_local_variable): When using hwasan ensure
+       alignment to tag granule.
+       (align_frame_offset): New.
+       (expand_one_stack_var_at): For hwasan use tag offset.
+       (expand_stack_vars): Record stack objects for hwasan.
+       (expand_one_stack_var_1): Record stack objects for hwasan.
+       (init_vars_expansion): Initialise hwasan state.
+       (expand_used_vars): Emit hwasan prologue and generate hwasan epilogue.
+       (pass_expand::execute): Emit hwasan base initialization if needed.
+       * doc/tm.texi (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE,
+       TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG,
+       TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG,
+       TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks.
+       * doc/tm.texi.in (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE,
+       TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG,
+       TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG,
+       TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks.
+       * explow.c (get_dynamic_stack_base): Take new `base` argument.
+       * explow.h (get_dynamic_stack_base): Take new `base` argument.
+       * sanitizer.def (BUILT_IN_HWASAN_INIT): New.
+       (BUILT_IN_HWASAN_TAG_MEM): New.
+       * target.def (target_memtag_tag_size,target_memtag_granule_size,
+       target_memtag_insert_random_tag,target_memtag_add_tag,
+       target_memtag_set_tag,target_memtag_extract_tag,
+       target_memtag_untagged_pointer): New hooks.
+       * targhooks.c (HWASAN_SHIFT): New.
+       (HWASAN_SHIFT_RTX): New.
+       (default_memtag_tag_size): New default hook.
+       (default_memtag_granule_size): New default hook.
+       (default_memtag_insert_random_tag): New default hook.
+       (default_memtag_add_tag): New default hook.
+       (default_memtag_set_tag): New default hook.
+       (default_memtag_extract_tag): New default hook.
+       (default_memtag_untagged_pointer): New default hook.
+       * targhooks.h (default_memtag_tag_size): New default hook.
+       (default_memtag_granule_size): New default hook.
+       (default_memtag_insert_random_tag): New default hook.
+       (default_memtag_add_tag): New default hook.
+       (default_memtag_set_tag): New default hook.
+       (default_memtag_extract_tag): New default hook.
+       (default_memtag_untagged_pointer): New default hook.
+       * toplev.c (compile_file): Call hwasan_finish_file when finished.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * common.opt (flag_sanitize_recover): Default for kernel
+       hwaddress.
+       (static-libhwasan): New cli option.
+       * config/aarch64/aarch64.c (aarch64_can_tag_addresses): New.
+       (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New.
+       * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): hwasan equivalent of
+       asan command line flags.
+       * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+       Add hwasan equivalent of __SANITIZE_ADDRESS__.
+       * doc/invoke.texi: Document hwasan command line flags.
+       * doc/tm.texi: Document new hook.
+       * doc/tm.texi.in: Document new hook.
+       * flag-types.h (enum sanitize_code): New sanitizer values.
+       * gcc.c (STATIC_LIBHWASAN_LIBS): New macro.
+       (LIBHWASAN_SPEC): New macro.
+       (LIBHWASAN_EARLY_SPEC): New macro.
+       (SANITIZER_EARLY_SPEC): Update to include hwasan.
+       (SANITIZER_SPEC): Update to include hwasan.
+       (sanitize_spec_function): Use hwasan options.
+       * opts.c (finish_options): Describe conflicts between address
+       sanitizers.
+       (find_sanitizer_argument): New.
+       (report_conflicting_sanitizer_options): New.
+       (sanitizer_opts): Introduce new sanitizer flags.
+       (common_handle_option): Add defaults for kernel sanitizer.
+       * params.opt (hwasan--instrument-stack): New
+       (hwasan-random-frame-tag): New
+       (hwasan-instrument-allocas): New
+       (hwasan-instrument-reads): New
+       (hwasan-instrument-writes): New
+       (hwasan-instrument-mem-intrinsics): New
+       * target.def (HOOK_PREFIX): Add new hook.
+       (can_tag_addresses): Add new hook under memtag prefix.
+       * targhooks.c (default_memtag_can_tag_addresses): New.
+       * targhooks.h (default_memtag_can_tag_addresses): New decl.
+       * toplev.c (process_options): Ensure hwasan only on
+       architectures that advertise the possibility.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * doc/install.texi: Document new option.
+
+2020-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_maybe_expand_sve_subreg_move):
+       Do not optimize LRA subregs.
+       * config/aarch64/aarch64-sve.md
+       (@aarch64_pred_<SVE_INT_UNARY:optab><mode>): Tie the input to the
+       output.
+       (@aarch64_sve_revbhw_<SVE_ALL:mode><PRED_HSD:mode>): Likewise.
+       (*<ANY_EXTEND:optab><SVE_PARTIAL_I:mode><SVE_HSDI:mode>2): Likewise.
+       (@aarch64_pred_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Likewise.
+       (*cnot<mode>): Likewise.
+       (@aarch64_pred_<SVE_COND_FP_UNARY:optab><mode>): Likewise.
+       (@aarch64_sve_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_extend<VNx4SI_ONLY:mode><VNx2DF_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<SVE_FULL_SDF:mode><SVE_FULL_HSF:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_nontrunc<SVE_FULL_HSF:mode><SVE_FULL_SDF:mode>):
+       Likewise.
+       * config/aarch64/aarch64-sve2.md
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_U32_UNARY:sve_int_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): Likewise.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * internal-fn.c (get_min_precision): For narrowing conversion, recurse
+       on the operand and if the operand precision is smaller than the
+       current one, return that smaller precision.
+       (expand_mul_overflow): For s1 * u2 -> ur and s1 * s2 -> ur cases
+       if the sum of minimum precisions of both operands is smaller or equal
+       to the result precision, just perform normal multiplication and
+       set overflow to the sign bit of the multiplication result.  For
+       u1 * u2 -> sr if both arguments have the MSB known zero, use
+       normal s1 * s2 -> sr expansion.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (free_block): New function.
+       (clear_edges): Rename to ....
+       (free_cfg): ... this one; also free BBs and vectors.
+       (expunge_block): Update comment.
+       * cfg.h (clear_edges): Rename to ...
+       (free_cfg): ... this one.
+       * cgraph.c (release_function_body): Use free_cfg.
+
+2020-11-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97579
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Lower
+       VECTOR_BOOLEAN_TYPE_P, non-vector mode VEC_COND_EXPRs.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97943
+       * gimple-fold.c (clear_padding_union, clear_padding_type): Error on and
+       ignore flexible array member fields.  Ignore fields with
+       error_mark_node type.
+
+2020-11-24  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
+
+       Revert:
+       2020-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * doc/invoke.texi (-ffast-math): Remove mention of -fno-signaling-nans.
+       Clarify conditions when __FAST_MATH__ preprocessor macro is defined.
+       * opts.c (common_handle_option): Pass OPTS_SET to set_fast_math_flags
+       and set_unsafe_math_optimizations_flags.
+       (set_fast_math_flags): Add OPTS_SET argument, and use it to avoid
+       setting flags already explicitly set on the command line.  In the !set
+       case, also reset x_flag_cx_limited_range and x_flag_excess_precision.
+       Never reset x_flag_signaling_nans or x_flag_rounding_math.
+       (set_unsafe_math_optimizations_flags): Add OPTS_SET argument, and use
+       it to avoid setting flags already explicitly set on the command line.
+       (fast_math_flags_set_p): Also test x_flag_cx_limited_range,
+       x_flag_associative_math, x_flag_reciprocal_math, and
+       x_flag_rounding_math.
+
+2020-11-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR bootstrap/97933
+       * lra.c (lra_process_new_insns): Stop on the first real insn after
+       head of e->dest.
+
+2020-11-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/97534
+       * config/arm/arm.c (arm_split_atomic_op): Use gen_int_mode when
+       negating a const_int.
+
+2020-11-24  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/vector.md: Use vcond_comparison_operator
+       predicate.
+
+2020-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * doc/invoke.texi (-ffast-math): Remove mention of -fno-signaling-nans.
+       Clarify conditions when __FAST_MATH__ preprocessor macro is defined.
+       * opts.c (common_handle_option): Pass OPTS_SET to set_fast_math_flags
+       and set_unsafe_math_optimizations_flags.
+       (set_fast_math_flags): Add OPTS_SET argument, and use it to avoid
+       setting flags already explicitly set on the command line.  In the !set
+       case, also reset x_flag_cx_limited_range and x_flag_excess_precision.
+       Never reset x_flag_signaling_nans or x_flag_rounding_math.
+       (set_unsafe_math_optimizations_flags): Add OPTS_SET argument, and use
+       it to avoid setting flags already explicitly set on the command line.
+       (fast_math_flags_set_p): Also test x_flag_cx_limited_range,
+       x_flag_associative_math, x_flag_reciprocal_math, and
+       x_flag_rounding_math.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97950
+       * config/i386/i386.md (*setcc_si_1_and): Macroize into...
+       (*setcc_<mode>_1_and): New define_insn_and_split with SWI24 iterator.
+       (*setcc_si_1_movzbl): Macroize into...
+       (*setcc_<mode>_1_movzbl): New define_insn_and_split with SWI24
+       iterator.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-fold.c (clear_padding_flush): If a word contains only 0
+       or 0xff bytes of padding other than all set, all clear, all set
+       followed by all clear or all clear followed by all set, don't emit
+       a RMW operation on the whole word or parts of it, but instead
+       clear the individual bytes of padding.  For paddings of one byte
+       size, don't use char[1] and {}, but instead just char and 0.
+
+2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-expand.c (expand_oacc_for): More explicit checking of which
+       OMP constructs we're expecting.
+
+2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/install.texi (Prerequisites) <Tcl>: Add comment.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96929
+       * fold-const.c (wide_int_binop) <case LSHIFT_EXPR, case RSHIFT_EXPR>:
+       Return false on negative second argument rather than trying to handle
+       it as shift in the other direction.
+       * tree-ssa-ccp.c (bit_value_binop) <case LSHIFT_EXPR,
+       case RSHIFT_EXPR>: Punt on negative shift count rather than trying
+       to handle it as shift in the other direction.
+       * match.pd (-1 >> x to -1): Remove tree_expr_nonnegative_p check.
+
+2020-11-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR tree-optimization/97849
+       * tree-if-conv.c (tree_if_conversion): Move ssa_name
+       replacement code from ifcvt_local_dce to this function
+       before calling do_rpo_vn.
+
+2020-11-24  Martin Sebor  <msebor@redhat.com>
+
+       * tree-cfg.c (dump_function_to_file): Print type attributes
+       and return type.
+
+2020-11-23  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (ipa_pass_through_data): Expand comment describing
+       operation.
+       * ipa-prop.c (analyze_agg_content_value): Detect new special case and
+       encode it as ASSERT_EXPR.
+       * ipa-cp.c (values_equal_for_ipcp_p): Move before
+       ipa_get_jf_arith_result.
+       (ipa_get_jf_arith_result): Special case ASSERT_EXPR.
+
+2020-11-23  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.c (h8300_rtx_costs): Handle the various
+       comparison rtx codes too.
+
+2020-11-23  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (build_agg_jump_func_from_list,
+       ipa_read_jump_function): Reserve agg.items precisely.
+       * ipa-prop.h (ipa_node_params::~ipa_node_params): Release descriptors
+       (ipa_edge_args::~ipa_edge_args): Release agg.items.
+
+2020-11-23  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-in.c (input_cfg): Do not init ssa operands.
+       (input_function): Do not init tree_ssa and set in_ssa_p.
+       (input_ssa_names): Do it here.
+       * tree-ssa.c (init_tree_ssa): Add additional SIZE parameter, default
+       to 0
+       * tree-ssanames.c (init_ssanames): Do not round size up to 50, allocate
+       precisely.
+       * tree-ssa.h (init_tree_ssa): Update prototype.
+
+2020-11-23  Nathan Sidwell  <nathan@acm.org>
+
+       * diagnostic.c (diagnostic_report_current_module): Adjust for C++
+       module importation.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_section_attr): Don't warn for "lower"
+       attribute used with "noinit" or "persistent" attributes.
+       (msp430_persist_attr): Remove.
+       (attr_lower_exclusions): Remove ATTR_PERSIST exclusion.
+       (attr_upper_exclusions): Likewise.
+       (attr_either_exclusions): Likewise.
+       (attr_persist_exclusions): Remove.
+       (msp430_attribute_table): Remove ATTR_PERSIST handling.
+       (msp430_handle_generic_attribute): Remove ATTR_PERSIST section conflict
+       handling.
+       (TARGET_ASM_INIT_SECTIONS): Remove.
+       (msp430_init_sections): Remove.
+       (msp430_select_section): Use default_elf_select_section for decls with
+       the "persistent" attribute.
+       (msp430_section_type_flags): Remove ".persistent" section handling.
+       * doc/extend.texi (MSP430 Variable Attributes): Remove "noinit" and
+       "persistent" documentation.
+
+2020-11-23  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (maybe_push_to_hybrid_worklist): Skip
+       debug stmts.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/extend.texi (Common Variable Attributes): Document the
+       "persistent" variable attribute.
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       the "persistent" effective target keyword.
+       * tree.h (DECL_PERSISTENT_P): Define.
+       * varasm.c (bss_initializer_p): Return false for a
+       DECL_PERSISTENT_P decl initialized to zero.
+       (default_section_type_flags): Handle the ".persistent" section.
+       (default_elf_select_section): Likewise.
+       (default_unique_section): Likewise.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * tree.h (DECL_NOINIT_P): Define.
+       * varasm.c (DECL_NOINIT_P): Check DECL_NOINIT_P before using
+       unnamed bss/lcomm sections for bss_initializer variables.
+       (default_elf_select_section): Use DECL_NOINIT_P instead of
+       looking up attribute for .noinit section selection.
+       (default_unique_section): Check DECL_NOINIT_P for .noinit
+       section selection.
+
+2020-11-23  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * doc/install.texi: Document bootstrap-asan option.
+
+2020-11-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * config/i386/i386.md (abs<mode>2): Use SWI48DWI mode iterator.
+       (*abs<dwi>2_doubleword): Use DWIH mode iterator.
+       (<maxmin:code><mode>3): Use SWI48DWI mode iterator.
+       (*<maxmin:code><dwi>3_doubleword): Use DWIH mode iterator.
+
+2020-11-22  Austin Law  <austinklaw@gmail.com>
+
+       * config/h8300/addsub.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       (add<mod>3_incdec): Remove pattern
+       (adds/subs splitter): Only run before reload.
+       * config/h8300/bitfield.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output
+       of the splitters.
+       (cstoreqi4, cstorehi4, cstoresi4): Comment out
+       (*bstzhireg, *cmpstz, *bstz, *bistz, *cmpcondset): Likewise
+       (*condbset, *cmpcondbclr, *condbclr): Likewise.
+       (*cmpcondbsetreg, *condbsetreg, *cmpcondbclrreg): Likewise.
+       (*condbclrreg): Likewise.
+       * config/h8300/combiner.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.  Add appropriate CC register clobbers to
+       existing splitters.
+       (*addsi3_and_r_1): Disable for now.
+       (*addsi3_and_not_r_1, bit-test branches): Likewise.
+       * config/h8300/divmod.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/extensions.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/genmova.sh: Drop "cc" attribute from patterns.
+       * config/h8300/mova.md: Drop "cc" attribute from patterns.
+       * config/h8300/h8300-modes.def: Add CCZN and CCZNV modes.
+       * config/h8300/h8300-protos.h (output_plussi): Update prototype.
+       (compute_plussi_length): Likewise.
+       (h8300_select_cc_mode): Add prototype.
+       (compute_a_shift_cc): Remove prototype
+       (cmpute_logical_op_cc): Likewise.
+       * config/h8300/h8300.c (names_big): Add "cc" register.
+       (names_extended, names_upper_extended): Likewise.
+       (h8300_emit_stack_adjustment): Be more selective about setting
+       RTX_FRAME_RELATED_P.
+       (h8300_print_operand): Handle CCZN mode
+       (h8300_select_cc_mode): New function.
+       (notice_update_cc): if-0 out.  Only kept for reference purposes.
+       (h8300_expand_store): Likewise.
+       (h8300_binary_length): Handle new insn forms.
+       (output_plussi): Add argument for NEED_FLAGS and handle that case.
+       (compute_plussi_length): Likewise.
+       (compute_logical_op_cc): Return integer.
+       (TARGET_FLAGS_REGNUM): Define.
+       * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Bump for cc register.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Handle cc register.
+       (REG_ALLOC_ORDER, REGISTER_NAMES): Likewise.
+       (SELECT_CC_MODE): Define.
+       * config/h8300/h8300.md: Add CC_REG.
+       Do not include peepholes.md for now.
+       * config/h8300/jumpcall.md (cbranchqi4): Consolidate into
+       cbranch<mode>4.
+       (cbranchhi4, cbranchsi4): Likewise.
+       (cbranch<mode>4): New expander.
+       (branch): New define_insn_and_split for use before reload.
+       (branch_1, branch_1_false): New patterns to match splitter output.
+       Remove code to manage cc_status.flags.
+       * config/h8300/logical.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.  Move various peepholes into this file.
+       * config/h8300/movepush.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/multiply.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/other.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/peepholes.md: Remove peepholes that were moved
+       elsewhere.
+       * config/h8300/predicates.md (simple_memory_operand): New.
+       * config/h8300/proepi.md: Drop "cc" attribute setting.
+       * config/h8300/shiftrotate.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.
+       * config/h8300/testcompare.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add _clobber_flags patterns to match output of
+       the splitters.  Disable various patterns for now.
+       Move some peepholes that were previously in peepholes.md here.
+       * config/h8300/save.md: New file.
+
+2020-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95853
+       * tree-ssa-math-opts.c (uaddsub_overflow_check_p): Add maxval
+       argument, if non-NULL, instead look for r > maxval or r <= maxval
+       comparisons.
+       (match_uaddsub_overflow): Pattern recognize even other forms of
+       __builtin_add_overflow, in particular when addition is performed
+       in a wider type and result compared to maximum of the narrower
+       type.
+
+2020-11-22  Jeff Law  <law@redhat.com>
+
+       * config/h8300/jumpcall.md (branch_true, branch_false): Revert
+       recent change.  Ensure operand[0] is always the target label.
+
+2020-11-22  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-c.c (struct f_align_stack): Rename
+       to type from align_stack to f_align_stack.
+       (push_field_alignment): Likewise.
+       (pop_field_alignment): Likewise.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * doc/invoke.texi: Update the -Wrange-loop-construct description.
+
+2020-11-21  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ao_compare::compare_ao_refs,
+       ao_compare::hash_ao_ref): Use OEP_MATCH_SIDE_EFFECTS.
+
+2020-11-21  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf.c (sem_function::equals_wpa): Do not compare ODR type with
+       -fno-devirtualize.
+       (sem_item_optimizer::update_hash_by_addr_refs): Hash anonymous ODR
+       types by TYPE_UID of their main variant.
+
+2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Enable vector pair memcpy/memmove expansion.
+
+2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/mma.md (unspec): Add assemble/extract UNSPECs.
+       (movoi): Change to movoo.
+       (*movpoi): Change to *movoo.
+       (movxi): Change to movxo.
+       (*movpxi): Change to *movxo.
+       (mma_assemble_pair): Change to OO mode.
+       (*mma_assemble_pair): New define_insn_and_split.
+       (mma_disassemble_pair): New define_expand.
+       (*mma_disassemble_pair): New define_insn_and_split.
+       (mma_assemble_acc): Change to XO mode.
+       (*mma_assemble_acc): Change to XO mode.
+       (mma_disassemble_acc): New define_expand.
+       (*mma_disassemble_acc): New define_insn_and_split.
+       (mma_<acc>): Change to XO mode.
+       (mma_<vv>): Change to XO mode.
+       (mma_<avv>): Change to XO mode.
+       (mma_<pv>): Change to OO mode.
+       (mma_<apv>): Change to XO/OO mode.
+       (mma_<vvi4i4i8>): Change to XO mode.
+       (mma_<avvi4i4i8>): Change to XO mode.
+       (mma_<vvi4i4i2>): Change to XO mode.
+       (mma_<avvi4i4i2>): Change to XO mode.
+       (mma_<vvi4i4>): Change to XO mode.
+       (mma_<avvi4i4>): Change to XO mode.
+       (mma_<pvi4i2>): Change to XO/OO mode.
+       (mma_<apvi4i2>): Change to XO/OO mode.
+       (mma_<vvi4i4i4>): Change to XO mode.
+       (mma_<avvi4i4i4>): Change to XO mode.
+       * config/rs6000/predicates.md (input_operand): Allow opaque.
+       (mma_disassemble_output_operand): New predicate.
+       * config/rs6000/rs6000-builtin.def:
+       Changes to disassemble builtins.
+       * config/rs6000/rs6000-call.c (rs6000_return_in_memory):
+       Disallow __vector_pair/__vector_quad as return types.
+       (rs6000_promote_function_mode): Remove function return type
+       check because we can't test it here any more.
+       (rs6000_function_arg): Do not allow __vector_pair/__vector_quad
+       as as function arguments.
+       (rs6000_gimple_fold_mma_builtin):
+       Handle mma_disassemble_* builtins.
+       (rs6000_init_builtins): Create types for XO/OO modes.
+       * config/rs6000/rs6000-modes.def: DElete OI, XI,
+       POI, and PXI modes, and create XO and OO modes.
+       * config/rs6000/rs6000-string.c (expand_block_move):
+       Update to OO mode.
+       * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_uncached):
+       Update for XO/OO modes.
+       (rs6000_rtx_costs): Make UNSPEC_MMA_XXSETACCZ cost 0.
+       (rs6000_modes_tieable_p): Update for XO/OO modes.
+       (rs6000_debug_reg_global): Update for XO/OO modes.
+       (rs6000_setup_reg_addr_masks): Update for XO/OO modes.
+       (rs6000_init_hard_regno_mode_ok): Update for XO/OO modes.
+       (reg_offset_addressing_ok_p): Update for XO/OO modes.
+       (rs6000_emit_move): Update for XO/OO modes.
+       (rs6000_preferred_reload_class): Update for XO/OO modes.
+       (rs6000_split_multireg_move): Update for XO/OO modes.
+       (rs6000_mangle_type): Update for opaque types.
+       (rs6000_invalid_conversion): Update for XO/OO modes.
+       * config/rs6000/rs6000.h (VECTOR_ALIGNMENT_P):
+       Update for XO/OO modes.
+       * config/rs6000/rs6000.md (RELOAD): Update for XO/OO modes.
+
+2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * typeclass.h: Add opaque_type_class.
+       * builtins.c (type_to_class): Identify opaque type class.
+       * dwarf2out.c (is_base_type): Handle opaque types.
+       (gen_type_die_with_usage): Handle opaque types.
+       * expr.c (count_type_elements): Opaque types should
+       never have initializers.
+       * ipa-devirt.c (odr_types_equivalent_p): No type-specific handling
+       for opaque types is needed as it eventually checks the underlying
+       mode which is what is important.
+       * tree-streamer.c (record_common_node): Handle opaque types.
+       * tree.c (type_contains_placeholder_1): Handle opaque types.
+       (type_cache_hasher::equal): No additional comparison needed for
+       opaque types.
+
+2020-11-20  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Add missing
+       XSCMP* cases for IEEE 128-bit long double.
+
+2020-11-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97918
+       * dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list
+       after gen_scheduled_generic_parms_dies.
+
+2020-11-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97879
+       * tree-core.h (enum attribute_flags): Add ATTR_FLAG_INTERNAL.
+
+2020-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c (func_checker::hash_operand): Improve hashing of
+       decls.
+
+2020-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c (func_checker::compare_decl): Do not compare types
+       of local variables.
+
+2020-11-20  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/invoke.texi: Replace a couple of @code with @command
+
+2020-11-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp.c (vectorizable_slp_permutation): Update types on nodes
+       when needed.
+
+2020-11-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (maybe_push_to_hybrid_worklist): New function.
+       (vect_detect_hybrid_slp): Use it.  Perform a backward walk
+       over the IL.
+
+2020-11-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_print_slp_tree): Also dump
+       SLP_TREE_REPRESENTATIVE.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/88101
+       * builtins.def (BUILT_IN_CLEAR_PADDING): New built-in function.
+       * gimplify.c (gimplify_call_expr): Rewrite single argument
+       BUILT_IN_CLEAR_PADDING into two-argument variant.
+       * gimple-fold.c (clear_padding_unit, clear_padding_buf_size): New
+       const variables.
+       (struct clear_padding_struct): New type.
+       (clear_padding_flush, clear_padding_add_padding,
+       clear_padding_emit_loop, clear_padding_type,
+       clear_padding_union, clear_padding_real_needs_padding_p,
+       clear_padding_type_may_have_padding_p,
+       gimple_fold_builtin_clear_padding): New functions.
+       (gimple_fold_builtin): Handle BUILT_IN_CLEAR_PADDING.
+       * doc/extend.texi (__builtin_clear_padding): Document.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97528
+       * config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require
+       first POST_MODIFY operand is a REG and is equal to the first operand
+       of PLUS.
+
+2020-11-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-ssa-store-merging.c (struct merged_store_group): Add
+       new 'consecutive' field.
+       (merged_store_group): Set it to true.
+       (do_merge): Set it to false if the store is not consecutive and
+       set string_concatenation to false in this case.
+       (merge_into): Call do_merge on entry.
+       (merge_overlapping): Likewise.
+
+2020-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c (func_checker::operand_equal_p): Fix comment.
+
+2020-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c (func_checker::hash_operand): Hash gimple clobber.
+       (func_checker::operand_equal_p): Special case gimple clobber.
+
+2020-11-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * config/i386/i386.md (*neg<mode>2_2): Rename from
+       "*neg<mode>2_cmpz".  Use CCGOCmode instead of CCZmode.
+       (*negsi2_zext): Rename from *negsi2_cmpz_zext.
+       Use CCGOCmode instead of CCZmode.
+       (*neg<mode>_ccc_1): New insn pattern.
+       (*neg<dwi>2_doubleword): Use *neg<mode>_ccc_1.
+       (abs<mode>2): Add FLAGS_REG clobber.
+       Use TARGET_CMOVE insn predicate.
+       (*abs<mode>2_1): New insn_and_split pattern.
+       (*absdi2_doubleword): Ditto.
+       (<maxmin:code><mode>3): Use SWI48x mode iterator.
+       (*<maxmin:code><mode>3): Use SWI48 mode iterator.
+       * config/i386/i386-features.c
+       (general_scalar_chain::compute_convert_gain): Handle ABS code.
+       (general_scalar_chain::convert_insn): Ditto.
+       (general_scalar_to_vector_candidate_p): Ditto.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/97911
+       * configure.ac: In SERIAL_LIST use lang words without .serial
+       suffix.  Change $lang.prev from a target to variable and instead
+       of depending on *.serial expand to the *.serial variable if
+       the word is in the SERIAL_LIST at all, otherwise to nothing.
+       * configure: Regenerated.
+
+2020-11-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (p8_mtvsrd_df): Fix insn type.
+
+2020-11-20  Martin Uecker  <muecker@gwdg.de>
+
+       * gimplify.c (gimplify_modify_expr_rhs): Optimizie
+       NOP_EXPRs that contain compound literals.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/91029
+       * range-op.cc (operator_trunc_mod::op1_range): Don't require signed
+       types, nor require that op2 >= 0.  Implement (a % b) >= x && x > 0
+       implies a >= x and (a % b) <= x && x < 0 implies a <= x.
+       (operator_trunc_mod::op2_range): New method.
+
+2020-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/93781
+       * range-op.cc (get_shift_range): Rename from
+       undefined_shift_range_check and now return valid shift ranges.
+       (operator_lshift::fold_range): Use result from get_shift_range.
+       (operator_rshift::fold_range): Ditto.
+
+2020-11-19  Jan Hubicka  <jh@suse.cz>
+
+       * fold-const.c (operand_compare::operand_equal_p): Fix thinko in
+       COMPONENT_REF handling and guard types_same_for_odr by
+       virtual_method_call_p.
+       (operand_compare::hash_operand): Likewise.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/97860
+       * tree.c (array_type_nelts): For complete arrays with zero min
+       and NULL max and zero size return -1.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+       * configure.ac: Add tests for fstatat, sighandler_t, O_CLOEXEC,
+       unix-domain and ipv6 sockets.
+       * config.in: Rebuilt.
+       * configure: Rebuilt.
+
+2020-11-19  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/alu-zext.md: Add lmbd patterns for zero_extend
+       variants.
+       * config/pru/pru.c (enum pru_builtin): Add HALT and LMBD.
+       (pru_init_builtins): Ditto.
+       (pru_builtin_decl): Ditto.
+       (pru_expand_builtin): Ditto.
+       * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Define PRU
+       value for CLZ with zero value parameter.
+       * config/pru/pru.md: Add halt, lmbd and clz patterns.
+       * doc/extend.texi: Document PRU builtins.
+
+2020-11-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi (-fvect-cost-model): Add a very-cheap model.
+       * common.opt (fvect-cost-model=): Add very-cheap as a possible option.
+       (fsimd-cost-model=): Likewise.
+       (vect_cost_model): Add very-cheap.
+       * flag-types.h (vect_cost_model): Add VECT_COST_MODEL_VERY_CHEAP.
+       Put the values in order of increasing aggressiveness.
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use
+       range checks when comparing against VECT_COST_MODEL_CHEAP.
+       (vect_prune_runtime_alias_test_list): Do not allow any alias
+       checks for the very-cheap cost model.
+       * tree-vect-loop.c (vect_analyze_loop_costing): Do not allow
+       any peeling for the very-cheap cost model.  Also require one
+       iteration of the vector loop to pay for itself.
+
+2020-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (neoversen1_tunings): Use new
+       cortexa76_extra_costs.
+       (neoversev1_tunings): Likewise.
+       (neoversen2_tunines): Likewise.
+       * config/arm/aarch-cost-tables.h (cortexa76_extra_costs):
+       add new costs.
+
+2020-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_cpymem): Cleanup code and
+       comments, tweak expansion decisions and improve tail expansion.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       * fold-const.c (operand_compare::hash_operand): Fix typo.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-reassoc.c (get_rank): Refactor to consistently
+       use the cache and dump ranks assigned.
+
+2020-11-19  Jan Hubicka  <jh@suse.cz>
+
+       * fold-const.c (operand_compare::operand_equal_p): More OBJ_TYPE_REF
+       matching to correct place; drop OEP_ADDRESS_OF for TOKEN, OBJECT and
+       class.
+       (operand_compare::hash_operand): Hash ODR type for OBJ_TYPE_REF.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+       * config/aarch64/aarch64-simd.md: Add vec_widen_lshift_hi/lo<mode>
+       patterns.
+       * tree-vect-stmts.c (vectorizable_conversion): Fix for widen_lshift
+       case.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+       * doc/generic.texi: Document new widen_plus/minus_lo/hi tree codes.
+       * doc/md.texi: Document new widenening add/subtract hi/lo optabs.
+       * expr.c (expand_expr_real_2): Add widen_add, widen_subtract cases.
+       * optabs-tree.c (optab_for_tree_code): Add case for widening optabs.
+       * optabs.def (OPTAB_D): Define vectorized widen add, subtracts.
+       * tree-cfg.c (verify_gimple_assign_binary): Add case for widening adds,
+       subtracts.
+       * tree-inline.c (estimate_operator_cost): Add case for widening adds,
+       subtracts.
+       * tree-vect-generic.c (expand_vector_operations_1): Add case for
+       widening adds, subtracts
+       * tree-vect-patterns.c (vect_recog_widen_add_pattern): New recog
+       pattern.
+       (vect_recog_widen_sub_pattern): New recog pattern.
+       (vect_recog_average_pattern): Update widened add code.
+       (vect_recog_average_pattern): Update widened add code.
+       * tree-vect-stmts.c (vectorizable_conversion): Add case for widened add,
+       subtract.
+       (supportable_widening_operation): Add case for widened add, subtract.
+       * tree.def
+       (WIDEN_PLUS_EXPR): New tree code.
+       (WIDEN_MINUS_EXPR): New tree code.
+       (VEC_WIDEN_ADD_HI_EXPR): New tree code.
+       (VEC_WIDEN_PLUS_LO_EXPR): New tree code.
+       (VEC_WIDEN_MINUS_HI_EXPR): New tree code.
+       (VEC_WIDEN_MINUS_LO_EXPR): New tree code.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+       * config/aarch64/aarch64-simd.md: New patterns
+       vec_widen_saddl_lo/hi_<mode>.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97901
+       * tree-ssa-propagate.c (clean_up_loop_closed_phi): Compute
+       dominators and use replace_uses_by.
+
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.h (struct fixed_point_type_info) <scale_factor>: Turn
+       numerator and denominator into a tree.
+       * dwarf2out.c (base_type_die): In the case of a fixed-point type
+       with arbitrary scale factor, call add_scalar_info on numerator and
+       denominator to emit the appropriate attributes.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97897
+       * tree-complex.c (complex_propagate::visit_stmt): Make sure
+       abnormally used SSA names are VARYING.
+       (complex_propagate::visit_phi): Likewise.
+       * tree-ssa.c (verify_phi_args): Verify PHI arguments on abnormal
+       edges are SSA names.
+
+2020-11-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*<absneg:code><mode>2_i387_1):
+       Disable for TARGET_SSE_MATH modes.
+
+2020-11-19  Jeff Law  <law@redhat.com>
+
+       * config/h8300/constraints.md (R constraint): Add argument to call
+       to h8300_shift_needs_scratch_p.
+       (S and T constraints): Similary.
+       * config/h8300/h8300-protos.h: Update h8300_shift_needs_scratch_p
+       prototype.
+       * config/h8300/h8300.c (expand_a_shift): Emit a different pattern
+       if the shift does not require a scratch register.
+       (h8300_shift_needs_scratch_p): Refine to be more accurate.
+       * config/h8300/shiftrotate.md (shiftqi_noscratch): New pattern.
+       (shifthi_noscratch, shiftsi_noscratch): Similarly.
+
+2020-11-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/85811
+       * fold-const.c (tree_expr_finite_p): New function to test whether
+       a tree expression must be finite, i.e. not a FP NaN or infinity.
+       (tree_expr_infinite_p):  New function to test whether a tree
+       expression must be infinite, i.e. a FP infinity.
+       (tree_expr_maybe_infinite_p): New function to test whether a tree
+       expression may be infinite, i.e. a FP infinity.
+       (tree_expr_signaling_nan_p): New function to test whether a tree
+       expression must evaluate to a signaling NaN (sNaN).
+       (tree_expr_maybe_signaling_nan_p): New function to test whether a
+       tree expression may be a signaling NaN (sNaN).
+       (tree_expr_nan_p): New function to test whether a tree expression
+       must evaluate to a (quiet or signaling) NaN.
+       (tree_expr_maybe_nan_p): New function to test whether a tree
+       expression me be a (quiet or signaling) NaN.
+       (tree_binary_nonnegative_warnv_p) [MAX_EXPR]: In the presence
+       of NaNs, MAX_EXPR is only guaranteed to be non-negative, if both
+       operands are non-negative.
+       (tree_call_nonnegative_warnv_p) [CASE_CFN_FMAX,CASE_CFN_FMAX_FN]:
+       In the presence of signaling NaNs, fmax is only guaranteed to be
+       non-negative if both operands are negative.  In the presence of
+       quiet NaNs, fmax is non-negative if either operand is non-negative
+       and not a qNaN, or both operands are non-negative.
+       * fold-const.h (tree_expr_finite_p, tree_expr_infinite_p,
+       tree_expr_maybe_infinite_p, tree_expr_signaling_nan_p,
+       tree_expr_maybe_signaling_nan_p, tree_expr_nan_p,
+       tree_expr_maybe_nan_p): Prototype new functions here.
+       * builtins.c (fold_builtin_classify) [BUILT_IN_ISINF]: Fold to
+       a constant if argument is known to be (or not to be) an Infinity.
+       [BUILT_IN_ISFINITE]: Fold to a constant if argument is known to
+       be (or not to be) finite.
+       [BUILT_IN_ISNAN]: Fold to a constant if argument is known to be
+       (or not to be) a NaN.
+       (fold_builtin_fpclassify): Check tree_expr_maybe_infinite_p and
+       tree_expr_maybe_nan_p instead of HONOR_INFINITIES and HONOR_NANS
+       respectively.
+       (fold_builtin_unordered_cmp): Fold UNORDERED_EXPR to a constant
+       when its arguments are known to be (or not be) NaNs.  Check
+       tree_expr_maybe_nan_p instead of HONOR_NANS when choosing between
+       unordered and regular forms of comparison operators.
+       * match.pd (ordered(x,y)->true/false): Constant fold ORDERED_EXPR
+       if its operands are known to be (or not to be) NaNs.
+       (unordered(x,y)->true/false): Constant fold UNORDERED_EXPR if its
+       operands are known to be (or not to be) NaNs.
+       (sqrt(x)*sqrt(x)->x): Check tree_expr_maybe_signaling_nan_p instead
+       of HONOR_SNANS.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/91029
+       PR tree-optimization/97888
+       * range-op.cc (operator_trunc_mod::op1_range): Only set op1
+       range to >= 0 if lhs is > 0, rather than >= 0.  Fix up comments.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * opts.h (struct cl_var): New type.
+       (cl_vars): Declare.
+       * optc-gen.awk: Generate cl_vars array.
+
+2020-11-18  Eugene Rozenfeld  <Eugene.Rozenfeld@microsoft.com>
+
+       PR tree-optimization/96671
+       * match.pd (three xor patterns): New patterns.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * optc-save-gen.awk: Initialize var_opt_init.  In
+       cl_optimization_stream_out for params with default values larger than
+       10, xor the default value with the actual parameter value.  In
+       cl_optimization_stream_in repeat the above xor.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Add $lang.prev rules, INDEX.$lang and SERIAL_LIST and
+       SERIAL_COUNT variables to Make-hooks.
+       (--enable-link-serialization): New configure option.
+       * Makefile.in (DO_LINK_SERIALIZATION, LINK_PROGRESS): New variables.
+       * doc/install.texi (--enable-link-serialization): Document.
+       * configure: Regenerated.
+
+2020-11-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/97870
+       * lra-constraints.c (curr_insn_transform): Do not delete asm goto
+       with wrong constraints.  Nullify it saving CFG.
+
+2020-11-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md (mulhi3): New.
+       (mulsi3): New.
+       (mulsidi3): Rename to *mulsidi3_inline.
+       (umulsidi3): Rename to *umulsidi3_inline.
+       (mulsidi3): New define_expand.
+       (umulsidi3): New define_expand.
+
+2020-11-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97886
+       * tree-vect-loop.c (vectorizable_lc_phi): Properly assign
+       vector types to invariants for SLP.
+
+2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config.gcc (*-*-dragonfly*): Add dragonfly-d.o and t-dragonfly.
+       * config/dragonfly-d.c: New file.
+       * config/t-dragonfly: New file.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97862
+       * omp-expand.c (expand_omp_for_init_vars): Don't use the sqrt path
+       if number of iterations is constant 0.
+
+2020-11-18  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_ext_version): New.
+       (riscv_ext_version_table): Ditto.
+       (get_default_version): Ditto.
+       (riscv_subset_t::implied_p): New field.
+       (riscv_subset_t::riscv_subset_t): Init implied_p.
+       (riscv_subset_list::add): New.
+       (riscv_subset_list::handle_implied_ext): Pass riscv_subset_t
+       instead of separated argument.
+       (riscv_subset_list::to_string): Handle zifencei and zicsr, and
+       omit version if version is unknown.
+       (riscv_subset_list::parsing_subset_version): New argument `ext`,
+       remove default_major_version and default_minor_version, get
+       default version info via get_default_version.
+       (riscv_subset_list::parse_std_ext): Update argument for
+       parsing_subset_version calls.
+       Handle 2.2 ISA spec, always enable zicsr and zifencei, they are
+       included in baseline ISA in that time.
+       (riscv_subset_list::parse_multiletter_ext): Update argument for
+       `parsing_subset_version` and `add` calls.
+       (riscv_subset_list::parse): Adjust argument for
+       riscv_subset_list::handle_implied_ext call.
+       * config.gcc (riscv*-*-*): Handle --with-isa-spec=.
+       * config.in (HAVE_AS_MISA_SPEC): New.
+       (HAVE_AS_MARCH_ZIFENCEI): Ditto.
+       * config/riscv/riscv-opts.h (riscv_isa_spec_class): New.
+       (riscv_isa_spec): Ditto.
+       * config/riscv/riscv.h (HAVE_AS_MISA_SPEC): New.
+       (ASM_SPEC): Pass -misa-spec if gas supported.
+       * config/riscv/riscv.opt (riscv_isa_spec_class) New.
+       * configure.ac (HAVE_AS_MARCH_ZIFENCEI): New test.
+       (HAVE_AS_MISA_SPEC): Ditto.
+       * configure: Regen.
+
+2020-11-18  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_implied_info):
+       d and f implied zicsr.
+       (riscv_ext_flag_table): Handle zicsr and zifencei.
+       * config/riscv/riscv-opts.h (MASK_ZICSR): New.
+       (MASK_ZIFENCEI): Ditto.
+       (TARGET_ZICSR): Ditto.
+       (TARGET_ZIFENCEI): Ditto.
+       * config/riscv/riscv.md (clear_cache): Check TARGET_ZIFENCEI.
+       (fence_i): Ditto.
+       * config/riscv/riscv.opt (riscv_zi_subext): New.
+
+2020-11-18  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (single_letter_subset_rank): New.
+       (multi_letter_subset_rank): Ditto.
+       (subset_cmp): Ditto.
+       (riscv_subset_list::add): Insert subext in canonical ordering.
+       (riscv_subset_list::parse_std_ext): Move handle_implied_ext to ...
+       (riscv_subset_list::parse): ... here.
+
+2020-11-18  Jiufu Guo   <guojiufu@linux.ibm.com>
+
+       * cfgloop.h (loop_optimizer_finalize): Add flag argument.
+       * loop-init.c (loop_optimizer_finalize): Call clean_up_loop_closed_phi.
+       * tree-cfgcleanup.h (clean_up_loop_closed_phi): New declare.
+       * tree-ssa-loop.c (tree_ssa_loop_done): Call loop_optimizer_finalize
+       with flag argument.
+       * tree-ssa-propagate.c (clean_up_loop_closed_phi): New function.
+
+2020-11-17  Sebastian Pop  <spop@amazon.com>
+
+       * config.gcc: add configure flags --with-{cpu,arch,tune}-{32,64}
+       as alias flags for --with-{cpu,arch,tune} on AArch64.
+       * doc/install.texi: Document new flags for aarch64.
+
+2020-11-17  Sebastian Pop  <spop@amazon.com>
+
+       * config.gcc: Add --with-tune to AArch64 configure flags.
+
+2020-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/91029
+       * range-op.cc (operator_trunc_mod::op1_range): New.
+
+2020-11-17  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf.c (sem_function::hash_stmt): Fix conditional on
+       variably_modified_type_p.
+
+2020-11-17  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.h (cache_integer_cst): Add defaulted might_duplicate parm.
+       * tree.c (cache_integer_cst): Return the integer cst, add
+       might_duplicate parm to permit finding a small duplicate.
+
+2020-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/83072
+       * range-op.cc (wi_optimize_and_or): Remove zero from IOR range when
+       mask is non-zero.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * ginclude/float.h (CR_DECIMAL_DIG): Also define for
+       [__STDC_WANT_IEC_60559_EXT__].
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * ginclude/float.h [__STDC_VERSION__ > 201710L] (FLT_IS_IEC_60559,
+       DBL_IS_IEC_60559, LDBL_IS_IEC_60559): New macros.
+
+2020-11-17  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/96791
+       * mode-classes.def: Add MODE_OPAQUE.
+       * machmode.def: Add OPAQUE_MODE.
+       * tree.def: Add OPAQUE_TYPE for types that will use
+       MODE_OPAQUE.
+       * doc/generic.texi: Document OPAQUE_TYPE.
+       * doc/rtl.texi: Document MODE_OPAQUE.
+       * machmode.h: Add OPAQUE_MODE_P().
+       * genmodes.c (complete_mode): Add MODE_OPAQUE.
+       (opaque_mode): New function.
+       * tree.c (tree_code_size): Add OPAQUE_TYPE.
+       * tree.h: Add OPAQUE_TYPE_P().
+       * stor-layout.c (int_mode_for_mode): Treat MODE_OPAQUE modes
+       like BLKmode.
+       * ira.c (find_moveable_pseudos): Treat MODE_OPAQUE modes more
+       like integer/float modes here.
+       * dbxout.c (dbxout_type): Treat OPAQUE_TYPE like VOID_TYPE.
+       * tree-pretty-print.c (dump_generic_node): Treat OPAQUE_TYPE
+       like like other types.
+
+2020-11-17  Jan Hubicka  <hubicka@ucw.cz>
+           Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.c: Include data-streamer.h and alias.h.
+       (sem_function::sem_function): Initialize memory_access_types
+       and m_alias_sets_hash.
+       (sem_function::hash_stmt): For memory accesses and when going to
+       do lto streaming add base and ref types into memory_access_types.
+       (sem_item_optimizer::write_summary): Stream memory access types.
+       (sem_item_optimizer::read_section): Likewise and also iniitalize
+       m_alias_sets_hash.
+       (sem_item_optimizer::execute): Call
+       sem_item_optimizer::update_hash_by_memory_access_type.
+       (sem_item_optimizer::update_hash_by_memory_access_type): Updat.
+       * ipa-icf.h (sem_function): Add memory_access_types and
+       m_alias_sets_hash.
+
+2020-11-17  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/97857
+       * ipa-devirt.c (odr_based_tbaa_p): Do not ICE when
+       odr_hash is not initialized
+       * ipa-utils.h (type_with_linkage_p): Do not sanity check
+       CXX_ODR_P.
+       * tree-streamer-out.c (pack_ts_type_common_value_fields): Set
+       CXX_ODR_P according to the canonical type.
+
+2020-11-17  Nathan Sidwell  <nathan@acm.org>
+
+       * langhooks-def.h (LANG_HOOKS_PREPROCESS_MAIN_FILE)
+       (LANG_HOOKS_PREPROCESS_OPTIONS, LANG_HOOKS_PREPROCESS_UNDEF)
+       (LANG_HOOKS_PREPROCESS_TOKEN): New.
+       (LANG_HOOKS_INITIALIZER): Add them.
+       * langhooks.h (struct lang_hooks): Add preprocess_main_file,
+       preprocess_options, preprocess_undef, preprocess_token hooks.  Add
+       enum PT_flags.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/97693
+       * tree-vect-stmts.c (vectorizable_call): Pass the required vectype
+       to vect_get_vec_defs_for_operand.
+
+2020-11-17  Liu Hao  <lh_mouse@126.com>
+
+       * config/i386/msformat-c.c: Add more length modifiers.
+
+2020-11-17  Tamar Christina  <tamar.christina@arm.com>
+
+       PR driver/97574
+       * gcc.c (convert_filename): Don't add suffix to things that are
+       not files.
+       (not_actual_file_p): Use supplied argument.
+
+2020-11-17  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * final.c (final_scan_insn_1): Set jump table relocatable as the
+       second argument of targetm.asm_out.function_rodata_section.
+       * output.h (default_function_rodata_section,
+       default_no_function_rodata_section): Add the second argument to the
+       declarations.
+       * target.def (function_rodata_section): Change the doc and add
+       the second argument.
+       * doc/tm.texi: Regenerate.
+       * varasm.c (jumptable_relocatable): Implement.
+       (default_function_rodata_section): Add the second argument
+       and the support for relocatable read only sections.
+       (default_no_function_rodata_section): Add the second argument.
+       (function_mergeable_rodata_prefix): Set the second argument to false.
+       * config/mips/mips.c (mips_function_rodata_section): Add the second
+       arugment and set it to false.
+       * config/s390/s390.c (targetm.asm_out.function_rodata_section): Set
+       the second argument to false.
+       * config/s390/s390.md: Likewise.
+
+2020-11-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97194
+       * config/i386/i386-expand.c (ix86_expand_vector_set_var): New function.
+       * config/i386/i386-protos.h (ix86_expand_vector_set_var): New Decl.
+       * config/i386/predicates.md (vec_setm_operand): New predicate,
+       true for const_int_operand or register_operand under TARGET_AVX2.
+       * config/i386/sse.md (vec_set<mode>): Support both constant
+       and variable index vec_set.
+
+2020-11-17  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-uninit.c (maybe_warn_operand): Call is_empty_type.
+       * tree.c (default_is_empty_type): Rename...
+       (is_empty_type): ...to this.
+       * tree.h (is_empty_type): Declare.
+
+2020-11-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95673
+       * tree-ssa-strlen.c (used_only_for_zero_equality): Rename...
+       (use_in_zero_equality): ...to this.  Add a default argument.
+       (handle_builtin_memcmp): Adjust to the name change above.
+       (handle_builtin_string_cmp): Same.
+       (maybe_warn_pointless_strcmp): Same.  Pass in an explicit argument.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * ginclude/float.h (DEC32_SNAN, DEC64_SNAN, DEC128_SNAN): New C2x
+       macros.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * ginclude/float.h (INFINITY, NAN, FLT_SNAN, DBL_SNAN, LDBL_SNAN)
+       (FLT16_SNAN, FLT32_SNAN, FLT64_SNAN, FLT128_SNAN, FLT32X_SNAN)
+       (FLT64X_SNAN, FLT128X_SNAN, DEC_INFINITY, DEC_NAN): New C2x
+       macros.
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document inff.
+
+2020-11-17  Armin Brauns via Gcc-patches  <gcc-patches@gcc.gnu.org>
+
+       * gcc.c: Document %T spec file directive.
+       * doc/invoke.texi: Remove %p, %P spec file directives.
+       Add %M, %R, %V, %nSTR, %>S, %<S*, %{%:function(args):X}, %@{...} spec
+       file directives add sanitize, version-compare, include, gt and
+       debug-level-gt spec functions.
+
+2020-11-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/92180
+       * config/i386/i386.c (ix86_hardreg_mov_ok): New function to
+       determine whether (set DST SRC) should be allowed at this point.
+       * config/i386/i386-protos.h (ix86_hardreg_mov_ok): Prototype here.
+       * config/i386/i386-expand.c (ix86_expand_move): Check whether
+       this is a complex set of a likely spilled hard register, and if
+       so place the value in a pseudo, and load the hard reg from it.
+       * config/i386/i386.md (*movdi_internal, *movsi_internal)
+       (*movhi_internal, *movqi_internal): Make these instructions
+       conditional on ix86_hardreg_mov_ok.
+       (*lea<mode>): Make this define_insn_and_split conditional on
+       ix86_hardreg_mov_ok.
+
+2020-11-16  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: Add missing dot.
+
+2020-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (escape_point): New type.
+       (modref_lattice): New type.
+       (escape_entry): New type.
+       (escape_summary): New type.
+       (escape_summaries_t): New type.
+       (escape_summaries): New static variable.
+       (eaf_flags_useful_p): New function.
+       (modref_summary::useful_p): Add new check_flags
+       attribute; check eaf_flags for usefulness.
+       (modref_summary_lto): Add arg_flags.
+       (modref_summary_lto::useful_p): Add new check_flags
+       attribute; check eaf_flags for usefulness.
+       (dump_modref_edge_summaries): New function.
+       (remove_modref_edge_summaries): New function.
+       (ignore_retval_p): New predicate.
+       (ignore_stores_p): Also ignore for const.
+       (remove_summary): Call remove_modref_edge_summaries.
+       (modref_lattice::init): New member function.
+       (modref_lattice::release): New member unction.
+       (modref_lattice::dump): New member function.
+       (modref_lattice::add_escape_point): New member function.
+       (modref_lattice::merge): Two new member functions.
+       (modref_lattice::merge_deref): New member functions.
+       (modref_lattice::merge_direct_load): New member function.
+       (modref_lattice::merge_direct_store): New member function.
+       (call_lhs_flags): Rename to ...
+       (merge_call_lhs_flags): ... this one; reimplement using
+       modreflattice.
+       (analyze_ssa_name_flags): Replace KNOWN_FLAGS param by LATTICE;
+       add IPA parametr; use modref_lattice.
+       (analyze_parms): New parameter IPA and SUMMARY_LTO; update for
+       modref_lattice; initialize escape_summary.
+       (analyze_function): Allocate escape_summaries; update uses of useful_p.
+       (modref_write_escape_summary): New function.
+       (modref_read_escape_summary): New function.
+       (modref_write): Write escape summary.
+       (read_section): Read escape summary.
+       (modref_read): Initialie escape_summaries.
+       (remap_arg_flags): New function.
+       (update_signature): Use it.
+       (escape_map): New structure.
+       (update_escape_summary_1, update_escape_summary): New functions.
+       (ipa_merge_modref_summary_after_inlining): Merge escape summaries.
+       (propagate_unknown_call): Do not remove useless summaries.
+       (remove_useless_summaries): Remove them here.
+       (modref_propagate_in_scc): Update; do not dump scc.
+       (modref_propagate_dump_scc): New function.
+       (modref_merge_call_site_flags): New function.
+       (modref_propagate_flags_in_scc): New function.
+       (pass_ipa_modref::execute): Use modref_propagate_flags_in_scc
+       and modref_propagate_dump_scc; delete escape_summaries.
+       (ipa_modref_c_finalize):  Remove escape_summaries.
+       * ipa-modref.h (modref_summary): Update prototype of useful_p.
+       * params.opt (param=modref-max-escape-points): New param.
+       * doc/invoke.texi (modref-max-escape-points): Document.
+
+2020-11-16  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/97840
+       * ipa-modref.c (analyze_ssa_name_flags): Skip clobbers if inlining
+       is done.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Make stmt gcall;
+       skip const calls and unused arguments.
+       (warn_uninitialized_vars): Update prototype.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_gather_slp_loads): Declare.
+       * tree-vect-loop.c (vect_analyze_loop_2): Call
+       vect_gather_slp_loads.
+       * tree-vect-slp.c (vect_build_slp_instance): Do not gather
+       SLP loads here.
+       (vect_gather_slp_loads): Remove wrapper, new function.
+       (vect_slp_analyze_bb_1): Call it.
+
+2020-11-16   Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (analyze_memory_references): Add
+       store_motion parameter and elide unnecessary work.
+       (tree_ssa_lim_initialize): Likewise.
+       (loop_invariant_motion_in_fun): Pass down store_motion.
+
+2020-11-16  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: All modref parameters miss Optimization and Param
+       keyword as seen in testsuite failure.
+
+2020-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * params.opt (-param=modref-max-depth=): Add missing full stop.
+
+2020-11-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * common.opt (fprofile-info-section): New.
+       * coverage.c (build_gcov_info_var_registration): New.
+       (coverage_obj_init): Evaluate profile_info_section and use
+       build_gcov_info_var_registration().
+       * doc/invoke.texi (fprofile-info-section): Document.
+       * opts.c (common_handle_option): Process fprofile-info-section
+       option.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97838
+       * tree-vect-slp.c (vect_slp_build_vertices): Properly handle
+       not backwards reachable cycles.
+       (vect_optimize_slp): Check a node is leaf before marking it
+       visited.
+
+2020-11-16  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/97736
+       * tree-switch-conversion.c (switch_decision_tree::analyze_switch_statement):
+       Prefer bit tests.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97835
+       * tree-vect-loop.c (vectorizable_induction): Convert step
+       scalars rather than step vector.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97830
+       * tree-ssa-sccvn.c (vn_reference_eq): Check for incomplete
+       types before comparing TYPE_SIZE.
+
+2020-11-16  Cui,Lili  <lili.cui@intel.com>
+
+       * config/i386/i386.h: Add PREFETCHW to march=broadwell.
+       * doc/invoke.texi: Put PREFETCHW back to relation arch.
+
+2020-11-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_output_labelref): Don't process mspabi
+       hwmult library function names into GCC-style names.
+
+2020-11-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_use_16bit_hwmult): New.
+       (use_32bit_hwmult): Rename to..
+       (msp430_use_32bit_hwmult): ..this.
+       (msp430_muldiv_costs): Use msp430_use_16bit_hwmult and
+       msp430_use_32bit_hwmult.
+       (msp430_expand_helper): Use msp430_use_16bit_hwmult and
+       msp430_use_32bit_hwmult.
+       (msp430_output_labelref): Use msp430_use_32bit_hwmult.
+
+2020-11-15  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_rtx_costs): Use `rtx_code' rather than
+       `int' for `code'.
+
+2020-11-15  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_output_int_add) <E_DImode>: Fix a typo
+       in NO_EXTERNAL_INDIRECT_ADDRESS.
+
+2020-11-15  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.c (vax_output_int_add) <E_SImode>: Also check
+       `operands[2]' for being symbolic with PIC rather than checking
+       `operands[1]' twice.
+
+2020-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (vr_values::extract_range_builtin): Rename to...
+       (vr_values::extract_range_from_ubsan_builtin): ...this.
+       Remove everything but UBSAN code.
+       (vr_values::extract_range_basic): Call ranger version for
+       everything except UBSAN built-ins.
+       * vr-values.h (class vr_values): Rename extract_range_builtin to
+       extract_range_from_ubsan_builtin.
+
+2020-11-15  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * lra.c (lra_process_new_insns): Don't put reload insns in the
+       last empty BB.
+
+2020-11-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (analyze_ssa_name_flags): Make return to clear
+       EAF_UNUSED flag.
+
+2020-11-14  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c: Include ipa-modref-tree.h and ipa-modref.h.
+       (gimple_call_arg_flags): Use modref to determine flags.
+       * ipa-modref.c: Include gimple-ssa.h, tree-phinodes.h,
+       tree-ssa-operands.h, stringpool.h and tree-ssanames.h.
+       (analyze_ssa_name_flags): Declare.
+       (modref_summary::useful_p): Summary is also useful if arg flags are
+       known.
+       (dump_eaf_flags): New function.
+       (modref_summary::dump): Use it.
+       (get_modref_function_summary): Be read for current_function_decl
+       being NULL.
+       (memory_access_to): New function.
+       (deref_flags): New function.
+       (call_lhs_flags): New function.
+       (analyze_parms): New function.
+       (analyze_function): Use it.
+       * ipa-modref.h (struct modref_summary): Add arg_flags.
+       * doc/invoke.texi (ipa-modref-max-depth): Document.
+       * params.opt (ipa-modref-max-depth): New param.
+
+2020-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/97599
+       * dwarf2out.c (gen_subprogram_die): Call
+       gen_unspecified_parameters_die even if not early dwarf, but only
+       if subr_die is a newly created DIE.
+
+2020-11-14  Monk Chiang  <monk.chiang@sifive.com>
+
+       PR target/97682
+       * config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Change register
+       to t0.
+       (RISCV_CALL_ADDRESS_TEMP_REGNUM): New Marco, define t1 register.
+       (RISCV_CALL_ADDRESS_TEMP): Use it for call instructions.
+       * config/riscv/riscv.c (riscv_legitimize_call_address): Use
+       RISCV_CALL_ADDRESS_TEMP.
+       (riscv_compute_frame_info): Change temporary register to t0 form t1.
+       (riscv_trampoline_init): Adjust comment.
+
+2020-11-14  Jim Wilson  <jimw@sifive.com>
+           cooper.joshua  <cooper.joshua@linux.alibaba.com>
+
+       * config/riscv/riscv.c (riscv_asan_shadow_offset): New.
+       (TARGET_ASAN_SHADOW_OFFSET): New.
+       * doc/tm.texi: Regenerated.
+       * target.def (asan_shadow_offset); Mention that it can return zero.
+       * toplev.c (process_options): Check for and handle zero return from
+       targetm.asan_shadow_offset call.
+
+2020-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_for): Add OMP_CLAUSE_ALLOCATE_ALLOCATOR
+       decls as firstprivate on task clauses even when allocate clause
+       decl is not lastprivate.
+       * omp-low.c (install_var_field): Don't dereference omp_is_reference
+       types if mask is 33 rather than 1.
+       (scan_sharing_clauses): Populate allocate_map even for task
+       constructs.  For now remove it back for variables mentioned in
+       reduction and in_reduction clauses on task/taskloop constructs
+       or on VLA task firstprivates.  For firstprivate on task construct,
+       install the var field into field_map with by_ref and 33 instead
+       of false and 1 if mentioned in allocate clause.
+       (lower_private_allocate): Set TREE_THIS_NOTRAP on the created
+       MEM_REF.
+       (lower_rec_input_clauses): Handle allocate for task firstprivatized
+       non-VLA variables.
+       (create_task_copyfn): Likewise.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ao_ref_base_alias_ptr_type): Remove accidental
+       commit.
+       (ao_ref_alias_ptr_type): Remove accidental commit.
+
+2020-11-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
+       Use langhook instead of accessing language-specific decl
+       information.
+
+2020-11-13  Gergö Barany  <gergo@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-kernels-decompose.cc: New.
+       * Makefile.in (OBJS): Add it.
+       * passes.def: Instantiate it.
+       * tree-pass.h (make_pass_omp_oacc_kernels_decompose): Declare.
+       * flag-types.h (enum openacc_kernels): Add.
+       * doc/invoke.texi (-fopenacc-kernels): Document.
+       * gimple.h (enum gf_mask): Add
+       'GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_PARALLELIZED',
+       'GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_GANG_SINGLE',
+       'GF_OMP_TARGET_KIND_OACC_DATA_KERNELS'.
+       (is_gimple_omp_oacc, is_gimple_omp_offloaded): Handle these.
+       * gimple-pretty-print.c (dump_gimple_omp_target): Likewise.
+       * omp-expand.c (expand_omp_target, build_omp_regions_1)
+       (omp_make_gimple_edges): Likewise.
+       * omp-low.c (scan_sharing_clauses, scan_omp_for)
+       (check_omp_nesting_restrictions, lower_oacc_reductions)
+       (lower_oacc_head_mark, lower_omp_target): Likewise.
+       * omp-offload.c (execute_oacc_device_lower): Likewise.
+
+2020-11-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-low.c (scan_sharing_clauses, scan_omp_for)
+       (lower_oacc_reductions, lower_omp_target): More explicit checking
+       of which OMP constructs we're expecting.
+
+2020-11-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-expand.c (expand_omp_target): Attach an attribute to all
+       outlined OpenACC compute regions.
+       * omp-offload.c (execute_oacc_device_lower): Adjust.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summaries::insert,
+       modref_summaries_lto::insert): Remove summary if ipa-modref is disabled.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h (attr_fnspec::arg_readonly_p): Accept '1'...'9'.
+
+2020-11-13  Peter Jones  <pjones@redhat.com>
+
+       * doc/extend.texi: Clarify the documentation for the ms_abi
+       function attribute.
+
+2020-11-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.h (gimple_range_handler): Cast to gimple stmt
+       kinds before asking for code and type.
+       * gimple.h (gimple_expr_code): Call gassign and gcond routines
+       to get their expr_code.
+
+2020-11-13  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (gen_enumeration_type_die): Call
+       equate_decl_number_to_die for enumerators.
+       (gen_member_die): Don't move enumerators to their
+       enclosing class.
+       (dwarf2out_imported_module_or_decl_1): Allow importing
+       individual enumerators.
+       (force_decl_die): Handle CONST_DECL.
+
+2020-11-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * cfgexpand.c (expand_asm_stmt): Output asm goto with outputs too.
+       Place insns after asm goto on edges.
+       * doc/extend.texi: Reflect the changes in asm goto documentation.
+       * gimple.c (gimple_build_asm_1): Remove an assert checking output
+       absence for asm goto.
+       * gimple.h (gimple_asm_label_op, gimple_asm_set_label_op): Take
+       possible asm goto outputs into account.
+       * ira.c (ira): Remove critical edges for potential asm goto output
+       reloads.
+       (ira_nullify_asm_goto): New function.
+       * ira.h (ira_nullify_asm_goto): New prototype.
+       * lra-assigns.c (lra_split_hard_reg_for): Use ira_nullify_asm_goto.
+       Check that splitting is done inside a basic block.
+       * lra-constraints.c (curr_insn_transform): Permit output reloads
+       for any jump insn.
+       * lra-spills.c (lra_final_code_change): Remove USEs added in ira
+       for asm gotos.
+       * lra.c (lra_process_new_insns): Place output reload insns after
+       jumps in the beginning of destination BBs.
+       * reload.c (find_reloads): Report error for asm gotos with
+       outputs.  Modify them to keep CFG consistency to avoid crashes.
+       * tree-into-ssa.c (rewrite_stmt): Don't put debug stmt after asm
+       goto.
+
+2020-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (scan_sharing_clauses): For now remove for reduction
+       clauses with inscan or task modifiers decl from allocate_map.
+       (lower_private_allocate): Handle TYPE_P (new_var).
+       (lower_rec_input_clauses): Handle allocate clause for C/C++ array
+       reductions.
+
+2020-11-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/97816
+       * ipa-cp.c (value_topo_info<valtype>::propagate_effects): Use
+       safe_add instead of a simple addition.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (TARGET_INSN_COST): Define.
+       (msp430_insn_cost): New function.
+       * config/msp430/msp430.h (BRANCH_COST): Define.
+       (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430-protos.h (msp430x_extendhisi): Return int
+       instead of char *.
+       (msp430_output_asm_shift_insns): Likewise.
+       Add new return_length argument.
+       (msp430x_insn_required): Add prototype.
+       * config/msp430/msp430.c (msp430_output_asm_shift_insns): Return the
+       total length, in bytes, of the emitted instructions.
+       (msp430x_insn_required): New function.
+       (msp430x_extendhisi): Return the total length, in bytes, of the
+       emitted instructions.
+       * config/msp430/msp430.h (ADJUST_INSN_LENGTH): Define.
+       * config/msp430/msp430.md: New define_attr "type".
+       New define_attr "extension".
+       New define_attr "length_multiplier".
+       New define_attr "extra_length".
+       Rewrite define_attr "length".
+       Set type, extension, length, length_multiplier or extra_length insn
+       attributes on all insns, as appropriate.
+       (andneghi3): Rewrite using constraints instead of C code to decide
+       output insns.
+       * config/msp430/predicates.md (msp430_cheap_operand): New predicate.
+       (msp430_high_memory_operand): New predicate.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (use_helper_for_const_shift): Add forward
+       declaration.
+       Remove unused argument.
+       (struct msp430_multlib_costs): New struct.
+       (msp430_is_mem_indirect): New function.
+       (msp430_costs): Likewise.
+       (msp430_shift_costs): Likewise.
+       (msp430_muldiv_costs): Likewise.
+       (msp430_get_inner_dest_code): Likewise.
+       (msp430_single_op_cost): Likewise.
+       (msp430_rtx_costs): Rewrite from scratch.
+       (msp430_expand_shift): Adjust use_helper_for_const_shift call.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (struct single_op_cost): New struct.
+       (struct double_op_cost): Likewise.
+       (TARGET_REGISTER_MOVE_COST): Don't define but add comment.
+       (TARGET_MEMORY_MOVE_COST): Define to...
+       (msp430_memory_move_cost): New function.
+       (BRANCH_COST): Don't define but add comment.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c: Include tree-ssa-alias-compare.h.
+       (find_checker::func_checker): Initialize m_tbaa.
+       (func_checker::hash_operand): Use hash_ao_ref for memory accesses.
+       (func_checker::compare_operand): Use compare_ao_refs for memory
+       accesses.
+       (func_checker::cmopare_gimple_assign): Do not check LHS types
+       of memory stores.
+       * ipa-icf-gimple.h (func_checker): Derive from ao_compare;
+       add m_tbaa.
+       * ipa-icf.c: Include tree-ssa-alias-compare.h.
+       (sem_function::equals_private): Update call of
+       func_checker::func_checker.
+       * ipa-utils.h (lto_streaming_expected_p): New inline
+       predicate.
+       * tree-ssa-alias-compare.h: New file.
+       * tree-ssa-alias.c: Include tree-ssa-alias-compare.h
+       and bultins.h
+       (view_converted_memref_p): New function.
+       (types_equal_for_same_type_for_tbaa_p): New function.
+       (ao_ref_alias_ptr_type, ao_ref_base_alias_ptr_type): New functions.
+       (ao_compare::compare_ao_refs): New member function.
+       (ao_compare::hash_ao_ref): New function
+       * tree-ssa-alias.h (ao_ref_base_alias_ptr_type,
+       ao_ref_alias_ptr_type): Declare.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-icf-gimple.c: Include gimple-walk.h.
+       (func_checker::compare_ssa_name): Update call of compare_operand.
+       (func_checker::hash_operand): Fix comment and add variant taking
+       operand_access_type parameter.
+       (func_checker::compare_operand): Add operand_access_type parameter.
+       (func_checker::compare_asm_inputs_outputs): Add
+       operand_access_type_map parameter; update use of
+       func_checker::compare_operand.
+       (func_checker::compare_gimple_call): Update use of
+       func_checker::compare_operand.
+       (func_checker::compare_gimple_assign): Likewise.
+       (func_checker::compare_gimple_cond): Likewise.
+       (func_checker::compare_gimple_switch): Likewise.
+       (func_checker::compare_gimple_return): Likewise.
+       (func_checker::compare_gimple_goto): Likewise.
+       (func_checker::compare_gimple_asm): Likewise.
+       (visit_load_store): New static functio.
+       (func_checker::classify_operands): New member function.
+       (func_checker::get_operand_access_type): New member function.
+       * ipa-icf-gimple.h (func_checker::operand_access_type): New enum
+       (func_checker::operand_access_type_map): New typedef.
+       (func_checker::compare_operand): Update prototype.
+       (func_checker::compare_asm_inputs_outputs): Likewise.
+       (func_checker::cleassify_operands): Declare.
+       (func_checker::get_operand_access_type): Declare.
+       (func_checker::hash_operand): New variant with operand_access_type.
+       * ipa-icf.c (sem_function::hash_stmt): Update uses of hash_operand.
+       (sem_function::compare_phi_node): Update use of compare_operand.
+
+2020-11-13  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/aarch-common.c (aarch_accumulator_forwarding): Use
+       RTL predicates where possible.
+       * config/arm/arm.c (legitimate_pic_operand_p)
+       (legitimize_pic_address, arm_is_segment_info_known)
+       (can_avoid_literal_pool_for_label_p)
+       (thumb1_legitimate_address_p, arm_legitimize_address)
+       (arm_tls_referenced_p, thumb_legitimate_constant_p)
+       (REG_OR_SUBREG_REG, thumb1_rtx_costs, thumb1_size_rtx_costs)
+       (arm_adjust_cost, arm_coproc_mem_operand_wb)
+       (neon_vector_mem_operand, neon_struct_mem_operand)
+       (symbol_mentioned_p, label_mentioned_p, )
+       (load_multiple_sequence, store_multiple_sequence)
+       (arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi)
+       (mem_ok_for_ldrd_strd, arm_emit_call_insn, output_move_neon)
+       (arm_attr_length_move_neon, arm_assemble_integer)
+       (arm_emit_coreregs_64bit_shift, arm_valid_symbolic_address_p)
+       (extract_base_offset_in_addr, fusion_load_store): Likewise.
+
+2020-11-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc: (gimple_ranger::range_of_range_op): Check for
+       ADDR_EXPR and call range_of_address.
+       (gimple_ranger::range_of_address): Rename from
+       range_of_non_trivial_assignment and match vrp_stmt_computes_nonzero.
+       * gimple-range.h: (range_of_address): Renamed.
+       * range-op.cc: (pointer_table): Add INTEGER_CST handler.
+
+2020-11-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/94406
+       * tree-ssa-loop-im.c (tree_ssa_lim): Renamed to
+       loop_invariant_motion_in_fun, added a parameter to control store
+       motion.
+       (pass_lim::execute): Adjust call to tree_ssa_lim, now
+       loop_invariant_motion_in_fun.
+       * tree-ssa-loop-manip.h (loop_invariant_motion_in_fun): Declare.
+       * gimple-loop-interchange.cc (pass_linterchange::execute): Call
+       loop_invariant_motion_in_fun if any interchange has been done.
+
+2020-11-13  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_phi_compute_hash): Always hash the
+       number of predecessors.  Hash the block number also for
+       loop header PHIs.
+       (expressions_equal_p): Short-cut SSA name compares, remove
+       test for NULL operands.
+       (vn_phi_eq): Cache number of predecessors, change inlined
+       test from expressions_equal_p.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * doc/extend.texi: Don't try to line-wrap an @r command.
+
+2020-11-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97812
+       * tree-vrp.c (register_edge_assert_for_2): Extend the range
+       according to its sign before seeing whether it fits.
+
+2020-11-13  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64.c (tls_symbolic_operand_type)
+       (aarch64_load_symref_appropriately, aarch64_mov128_immediate)
+       (aarch64_expand_mov_immediate)
+       (aarch64_maybe_expand_sve_subreg_move)
+       (aarch64_tls_referenced_p, aarch64_cannot_force_const_mem)
+       (aarch64_base_register_rtx_p, aarch64_classify_index)
+       (aarch64_classify_address, aarch64_symbolic_address_p)
+       (aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p)
+       (aarch64_can_const_movi_rtx_p, aarch64_select_cc_mode)
+       (aarch64_print_operand, aarch64_label_mentioned_p)
+       (aarch64_secondary_reload, aarch64_preferred_reload_class)
+       (aarch64_address_cost, aarch64_tls_symbol_p)
+       (aarch64_classify_symbol, aarch64_legitimate_pic_operand_p)
+       (aarch64_legitimate_constant_p)
+       (aarch64_sve_float_arith_immediate_p)
+       (aarch64_sve_float_mul_immediate_p, aarch64_mov_operand_p)
+       (fusion_load_store): Use RTL operands where possible.
+
+2020-11-13  Sudakshina Das  <sudi.das@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_expand_setmem): New
+       declaration.
+       * config/aarch64/aarch64.c (aarch64_gen_store_pair): Add case for
+       E_V16QImode.
+       (aarch64_set_one_block_and_progress_pointer): New helper for
+       aarch64_expand_setmem.
+       (aarch64_expand_setmem): Define the expansion for memset.
+       * config/aarch64/aarch64.h (CLEAR_RATIO): Tweak to favor
+       aarch64_expand_setmem when allowed and profitable.
+       (SET_RATIO): Likewise.
+       * config/aarch64/aarch64.md: Define pattern for setmemdi.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/90707
+       * doc/extend.texi: Document the objc_nullability attribute.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/77404
+       * doc/extend.texi: Document the objc_root_class attribute.
+       * doc/invoke.texi: Document -Wobjc-root-class.
+
+2020-11-13  Richard Biener  <rguenther@suse.de>
+
+       * cfgexpand.c (gimple_assign_rhs_to_tree): Use
+       gimple_assign_rhs_class.
+       (expand_gimple_stmt_1): Likewise.
+       * gimplify-me.c (gimple_regimplify_operands): Use
+       gimple_assign_single_p.
+       * ipa-icf-gimple.c (func_checker::compare_gimple_assign):
+       Remove redundant compare.
+       (func_checker::compare_gimple_cond): Use gimple_cond_code.
+       * tree-ssa-tail-merge.c (gimple_equal_p): Likewise.
+       * predict.c (predict_loops): Use gimple_assign_rhs_code.
+
+2020-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_folder): Make visit_stmt, visit_phi,
+       and m_vr_values private.
+       (vrp_folder::vrp_evaluate_conditional): Remove.
+       (vrp_folder::vrp_simplify_stmt_using_ranges): Remove.
+       (vrp_folder::fold_predicate_in): Inline
+       vrp_evaluate_conditional and vrp_simplify_stmt_using_ranges.
+       (vrp_folder::fold_stmt): Same.
+
+2020-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_prop): Rename vr_values to m_vr_values.
+       (vrp_prop::vrp_prop): New.
+       (vrp_prop::initialize): Rename vr_values to m_vr_values.
+       (vrp_prop::visit_stmt): Same.
+       (vrp_prop::visit_phi): Same.
+       (vrp_prop::finalize): Same.
+       (execute_vrp): Instantiate vrp_vr_values and pass it to folder
+       and propagator.
+
+2020-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_prop): Move entire class...
+       (class vrp_folder): ...before here.
+
+2020-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (identify_jump_threads): Refactor to..
+       (vrp_jump_threader::vrp_jump_threader): ...here
+       (vrp_jump_threader::~vrp_jump_threader): ...and here.
+       (vrp_jump_threader::after_dom_children): Rename vr_values to
+       m_vr_values.
+       (execute_vrp): Use vrp_jump_threader.
+
+2020-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (struct assert_locus): Move.
+       (class vrp_insert): Rename to vrp_asserts.
+       (vrp_insert::build_assert_expr_for): Move to vrp_asserts.
+       (fp_predicate): Same.
+       (vrp_insert::dump): Same.
+       (vrp_insert::register_new_assert_for): Same.
+       (extract_code_and_val_from_cond_with_ops): Move.
+       (vrp_insert::finish_register_edge_assert_for): Move to vrp_asserts.
+       (maybe_set_nonzero_bits): Move.
+       (vrp_insert::find_conditional_asserts): Move to vrp_asserts.
+       (stmt_interesting_for_vrp): Move.
+       (struct case_info): Move.
+       (compare_case_labels): Move.
+       (lhs_of_dominating_assert): Move.
+       (find_case_label_index): Move.
+       (find_case_label_range): Move.
+       (class vrp_asserts): New.
+       (vrp_asserts::build_assert_expr_for): Rename from vrp_insert.
+       (vrp_asserts::dump): Same.
+       (vrp_asserts::register_new_assert_for): Same.
+       (vrp_asserts::finish_register_edge_assert_for): Same.
+       (vrp_asserts::find_conditional_asserts): Same.
+       (vrp_asserts::compare_case_labels): Same.
+       (vrp_asserts::find_switch_asserts): Same.
+       (vrp_asserts::find_assert_locations_in_bb): Same.
+       (vrp_asserts::find_assert_locations): Same.
+       (vrp_asserts::process_assert_insertions_for): Same.
+       (vrp_asserts::compare_assert_loc): Same.
+       (vrp_asserts::process_assert_insertions): Same.
+       (vrp_asserts::insert_range_assertions): Same.
+       (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Same.
+       (vrp_asserts::remove_range_assertions): Same.
+       (class vrp_prop): Move.
+       (all_imm_uses_in_stmt_or_feed_cond): Move.
+       (vrp_prop::vrp_initialize): Move.
+       (class vrp_folder): Move.
+       (vrp_folder::fold_predicate_in): Move.
+       (vrp_folder::fold_stmt): Move.
+       (vrp_prop::initialize): Move.
+       (vrp_prop::visit_stmt): Move.
+       (enum ssa_prop_result): Move.
+       (vrp_prop::visit_phi): Move.
+       (vrp_prop::finalize): Move.
+       (class vrp_dom_walker): Rename to...
+       (class vrp_jump_threader): ...this.
+       (vrp_jump_threader::before_dom_children): Rename from
+       vrp_dom_walker.
+       (simplify_stmt_for_jump_threading): Rename to...
+       (vrp_jump_threader::simplify_stmt): ...here.
+       (vrp_jump_threader::after_dom_children): Same.
+       (identify_jump_threads): Move.
+       (vrp_prop::vrp_finalize): Move array bounds setup code to...
+       (execute_vrp): ...here.
+
+2020-11-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.h (gimple_range_handler): Use gimple_assign and
+       gimple_cond routines to get type and code.
+       * range-op.cc (range_op_handler): Check for integral types.
+
+2020-11-12  Nelson Chu  <nelson.chu@sifive.com>
+
+       * configure: Regenerated.
+       * configure.ac: If ifunc was supported in the binutils for
+       linux toolchain, then set enable_gnu_indirect_function to yes.
+
+2020-11-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/cpp.texi (__has_attribute): Document when scopes are allowed
+       for C.
+       (__has_c_attribute): New.
+
+2020-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtin-types.def (BT_FN_PTR_SIZE_SIZE_PTRMODE): New function type.
+       * omp-builtins.def (BUILT_IN_GOACC_DECLARE): Move earlier.
+       (BUILT_IN_GOMP_ALLOC, BUILT_IN_GOMP_FREE): New builtins.
+       * gimplify.c (gimplify_scan_omp_clauses): Force allocator into a
+       decl if it is not NULL, INTEGER_CST or decl.
+       (gimplify_adjust_omp_clauses): Clear GOVD_EXPLICIT on explicit clauses
+       which are being removed.  Remove allocate clauses for variables not seen
+       if they are private, firstprivate or linear too.  Call
+       omp_notice_variable on the allocator otherwise.
+       (gimplify_omp_for): Handle iterator vars mentioned in allocate clauses
+       similarly to non-is_gimple_reg iterators.
+       * omp-low.c (struct omp_context): Add allocate_map field.
+       (delete_omp_context): Delete it.
+       (scan_sharing_clauses): Fill it from allocate clauses.  Remove it
+       if mentioned also in shared clause.
+       (lower_private_allocate): New function.
+       (lower_rec_input_clauses): Handle allocate clause for privatized
+       variables, except for task/taskloop, C/C++ array reductions for now
+       and task/inscan variables.
+       (lower_send_shared_vars): Don't consider variables in allocate_map
+       as shared.
+       * omp-expand.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
+       expand_omp_for_static_chunk): Use expand_omp_build_assign instead of
+       gimple_build_assign + gsi_insert_after.
+       * builtins.c (builtin_fnspec): Handle BUILTIN_GOMP_ALLOC and
+       BUILTIN_GOMP_FREE.
+       * tree-ssa-ccp.c (evaluate_stmt): Handle BUILTIN_GOMP_ALLOC.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Handle
+       BUILTIN_GOMP_ALLOC.
+       (mark_all_reaching_defs_necessary_1): Handle BUILTIN_GOMP_ALLOC
+       and BUILTIN_GOMP_FREE.
+       (propagate_necessity): Likewise.
+
+2020-11-12  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraphclones.c (cgraph_node::materialize_clone): Check that clone
+       info is not NULL before attempting to dump it.
+
+2020-11-12  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (class ipcp_value_base): Change the type of
+       local_time_benefit and prop_time_benefit to sreal.  Adjust the
+       constructor initializer.
+       (ipcp_lattice::print): Dump sreals.
+       (struct caller_statistics): Change the type of freq_sum to sreal.
+       (gather_caller_stats): Work with sreal freq_sum.
+       (incorporate_penalties): Work with sreal evaluation.
+       (good_cloning_opportunity_p): Adjusted for sreal sreal time_benefit
+       and freq_sum.  Bail out if size_cost is INT_MAX.
+       (perform_estimation_of_a_value): Work with sreal time_benefit.  Avoid
+       unnecessary capping.
+       (estimate_local_effects): Pass sreal time benefit to
+       good_cloning_opportunity_p without capping it.  Adjust dumping.
+       (safe_add): If there can be overflow, return INT_MAX.
+       (propagate_effects): Work with sreal times.
+       (get_info_about_necessary_edges): Work with sreal frequencies.
+       (decide_about_value): Likewise and with sreal time benefits.
+
+2020-11-12  Marek Polacek  <polacek@redhat.com>
+
+       * system.h (WARN_UNUSED_RESULT): Define for GCC >= 3.4.
+       * tree.h (maybe_wrap_with_location): Add WARN_UNUSED_RESULT.
+
+2020-11-12  Jan Hubicka  <jh@suse.cz>
+
+       * fold-const.c (operand_compare::operand_equal_p): Compare field
+       offsets in operand_equal_p and OEP_ADDRESS_OF.
+       (operand_compare::hash_operand): Update.
+
+2020-11-12  Richard Biener  <rguenther@suse.de>
+
+       * bitmap.c (bitmap_list_view): Restore head->current.
+       * tree-ssa-pre.c (pre_expr_DFS): Elide expr_visited bitmap.
+       Special-case value expression bitmaps with one element.
+       (bitmap_find_leader): Likewise.
+       (sorted_array_from_bitmap_set): Elide expr_visited bitmap.
+
+2020-11-12  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h: Update topleve comment.
+       (attr_fnspec::arg_direct_p): Accept 1...9.
+       (attr_fnspec::arg_maybe_written_p): Reject 1...9.
+       (attr_fnspec::arg_copied_to_arg_p): New member function.
+       * builtins.c (builtin_fnspec): Update fnspec of block copy.
+       * tree-ssa-alias.c (attr_fnspec::verify): Update.
+
+2020-11-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (bitmap_value_replace_in_set): Return
+       whether we have changed anything.
+       (do_pre_regular_insertion): Get topologically sorted array
+       of expressions from caller.
+       (do_pre_partial_partial_insertion): Likewise.
+       (insert): Compute topologically sorted arrays of expressions
+       here and locally iterate actual insertion.  Iterate only
+       when AVAIL_OUT of an already visited block source changed.
+
+2020-11-12  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/97730
+       * config/aarch64/aarch64-sve2.md (@aarch64_sve2_bcax<mode>):
+       Change to define_expand, add missing (trivially-predicated) not
+       rtx to fix wrong code bug.
+       (*aarch64_sve2_bcax<mode>): New.
+
+2020-11-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97806
+       * tree-ssa-pre.c (pre_expr_DFS): New overload for visiting
+       values, visiting all leaders for a value.  Use a bitmap
+       for visited values.
+       (sorted_array_from_bitmap_set): Walk over values and adjust.
+
+2020-11-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/97326
+       * config/s390/vector.md: Support vector floating point modes in
+       vec_cmp.
+
+2020-11-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/vector.md: Rename tointvec to TOINTVEC.
+       * config/s390/vx-builtins.md: Likewise.
+
+2020-11-12  Jason Merrill  <jason@redhat.com>
+
+       PR debug/97060
+       * dwarf2out.c (gen_subprogram_die): It's a declaration
+       if DECL_INITIAL isn't set.
+
+2020-11-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR tree-optimization/97424
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -Wno-analyzer-shift-count-negative and
+       -Wno-analyzer-shift-count-overflow.
+       (-Wno-analyzer-shift-count-negative): New.
+       (-Wno-analyzer-shift-count-overflow): New.
+
+2020-11-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-protos.h (darwin_make_eh_symbol_indirect): New.
+       * config/darwin.c (darwin_make_eh_symbol_indirect): New. Use
+       Mach-O semantics for personality and ldsa indirections.
+       * config/darwin.h (TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT): New.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in: Add TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT hook.
+       * dwarf2out.c (dwarf2out_do_cfi_startproc): If the target defines
+       a hook for indirecting personality and ldsa references, use that
+       otherwise default to ELF semantics.
+       * target.def (make_eh_symbol_indirect): New target hook.
+
+2020-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * common.opt (-fabi-version): Document =15.
+       * doc/invoke.texi (C++ Dialect Options): Likewise.
+
+2020-11-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97518
+       * tree.c (maybe_wrap_with_location): Don't add a location
+       wrapper around an artificial and ignored decl.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * tree-ssa-pre.c (create_expression_by_pieces): Guard
+       NEW_SETS access.
+       (insert_into_preds_of_block): Likewise.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (pre_expr_DFS): New function.
+       (sorted_array_from_bitmap_set): Use it to properly
+       topologically sort the expression set.
+       (clean): Verify we've cleaned everything we should.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * params.opt (-param=max-pre-hoist-insert-iterations): Remove
+       again.
+       * doc/invoke.texi (max-pre-hoist-insert-iterations): Likewise.
+       * tree-ssa-pre.c (insert): Move hoist insertion after PRE
+       insertion iteration and do not iterate it.
+
+2020-11-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (@vcond_mask_<mode><vpred>): Extend
+       from SVE_FULL to SVE_ALL.
+       (*vcond_mask_<mode><vpred>): Likewise.
+       (@aarch64_sel_dup<mode>): Likewise.
+       (vcond<SVE_FULL:mode><v_int_equiv>): Extend to...
+       (vcond<SVE_ALL:mode><SVE_I:mode>): ...this, but requiring the
+       sizes of the container modes to match.
+       (vcondu<SVE_FULL:mode><v_int_equiv>): Extend to...
+       (vcondu<SVE_ALL:mode><SVE_I:mode>): ...this.
+       (vec_cmp<SVE_FULL_I:mode><vpred>): Extend to...
+       (vec_cmp<SVE_I:mode><vpred>): ...this.
+       (vec_cmpu<SVE_FULL_I:mode><vpred>): Extend to...
+       (vec_cmpu<SVE_I:mode><vpred>): ...this.
+       (@aarch64_pred_cmp<cmp_op><SVE_FULL_I:mode>): Extend to...
+       (@aarch64_pred_cmp<cmp_op><SVE_I:mode>): ...this.
+       (*cmp<cmp_op><SVE_FULL_I:mode>_cc): Extend to...
+       (*cmp<cmp_op><SVE_I:mode>_cc): ...this.
+       (*cmp<cmp_op><SVE_FULL_I:mode>_ptest): Extend to...
+       (*cmp<cmp_op><SVE_I:mode>_ptest): ...this.
+       (*cmp<cmp_op><SVE_FULL_I:mode>_and): Extend to...
+       (*cmp<cmp_op><SVE_I:mode>_and): ...this.
+
+2020-11-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * optabs-tree.c (expand_vec_cond_expr_p): Allow the compared values
+       and the selected values to have different mode sizes.
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Likewise.
+
+2020-11-11  Hongtao Liu  <hongtao.liu@intel.com>
+           Hongyu Wang  <hongyu.wang@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect AVXVNNI.
+       * common/config/i386/i386-common.c
+       (OPTION_MASK_ISA2_AVXVNNI_SET,
+       OPTION_MASK_ISA2_AVXVNNI_UNSET): New.
+       (OPTION_MASK_ISA2_AVX2_UNSET): Add AVXVNNI.
+       (ix86_hanlde_option): Handle -mavxvnni, unset avxvnni when
+       avx2 is disabled.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_AVXVNNI.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for avxvnni.
+       * config.gcc: Add avxvnniintrin.h.
+       * config/i386/avx512vnnivlintrin.h: Reimplement 128/256 bit non-mask
+       intrinsics with macros to support unified interface.
+       * config/i386/avxvnniintrin.h: New header file.
+       * config/i386/cpuid.h (bit_AVXVNNI): New.
+       * config/i386/i386-builtins.c (def_builtin): Handle AVXVNNI mask
+       for unified builtin.
+       * config/i386/i386-builtin.def (BDESC): Adjust AVX512VNNI
+       builtins for AVXVNNI.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __AVXVNNI__.
+       * config/i386/i386-expand.c (ix86_expand_builtin): Handle bisa
+       for AVXVNNI to support unified intrinsic name, since there is no
+       dependency between AVX512VNNI and AVXVNNI.
+       * config/i386/i386-options.c (isa2_opts): Add -mavxvnni.
+       (ix86_valid_target_attribute_inner_p): Handle avxnnni.
+       (ix86_option_override_internal): Ditto.
+       * config/i386/i386.h (TARGET_AVXVNNI, TARGET_AVXVNNI_P,
+       TARGET_AVXVNNI_P, PTA_AVXVNNI): New.
+       (PTA_SAPPHIRERAPIDS): Add AVX_VNNI.
+       (PTA_ALDERLAKE): Likewise.
+       * config/i386/i386.md ("isa"): Add avxvnni, avx512vnnivl.
+       ("enabled"): Adjust for avxvnni and avx512vnnivl.
+       * config/i386/i386.opt: Add option -mavxvnni.
+       * config/i386/immintrin.h: Include avxvnniintrin.h.
+       * config/i386/sse.md (vpdpbusd_<mode>): Adjust for AVXVNNI.
+       (vpdpbusds_<mode>): Likewise.
+       (vpdpwssd_<mode>): Likewise.
+       (vpdpwssds_<mode>): Likewise.
+       (vpdpbusd_v16si): New.
+       (vpdpbusds_v16si): Likewise.
+       (vpdpwssd_v16si): Likewise.
+       (vpdpwssds_v16si): Likewise.
+       * doc/invoke.texi: Document -mavxvnni.
+       * doc/extend.texi: Document avxvnni.
+       * doc/sourcebuild.texi: Document target avxvnni.
+
+2020-11-11  Martin Liska  <mliska@suse.cz>
+
+       * tree.c (copy_node): Fix spelling.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (phi_translate_set): Do not sort the
+       expression set topologically.
+
+2020-11-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::set): Early exit on VR_VARYING.
+
+2020-11-11  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for arithmetic operation intrinsics.
+
+2020-11-11  Strager Neds  <strager.nds@gmail.com>
+
+       * cgraph.h (symtab_node::set_section_for_node): Declare new
+       overload.
+       (symtab_node::set_section_from_string): Rename from set_section.
+       (symtab_node::set_section_from_node): Declare.
+       * symtab.c (symtab_node::set_section_for_node): Define new
+       overload.
+       (symtab_node::set_section_from_string): Rename from set_section.
+       (symtab_node::set_section_from_node): Define.
+       (symtab_node::set_section): Call renamed set_section_from_string.
+       (symtab_node::set_section): Call new set_section_from_node.
+
+2020-11-11  Strager Neds  <strager.nds@gmail.com>
+
+       * symtab.c (symtab_node::set_section_for_node): Extract reference
+       counting logic into ...
+       (retain_section_hash_entry): ... here (new function) and ...
+       (release_section_hash_entry): ... here (new function).
+
+2020-11-11  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.h (PTA_MOVDIRI, PTA_MOVDIR64B,
+       PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16, PTA_HRESET):
+       Formatting.
+
+2020-11-11  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.h (HAVE_TF): Use opaque value when
+       GENERATOR_FILE is defined.
+
+2020-11-10  Strager Neds  <strager.nds@gmail.com>
+
+       * cgraph.h (symtab_node::get_section): Constify.
+       (symtab_node::set_section): Declare new overload.
+       * symtab.c (symtab_node::set_section): Define new overload.
+       (symtab_node::copy_visibility_from): Use new overload of
+       symtab_node::set_section.
+       (symtab_node::resolve_alias): Same.
+       * tree.h (set_decl_section_name): Declare new overload.
+       * tree.c (set_decl_section_name): Define new overload.
+       * tree-emutls.c (get_emutls_init_templ_addr): Same.
+       * cgraphclones.c (cgraph_node::create_virtual_clone): Use new
+       overload of symtab_node::set_section.
+       (cgraph_node::create_version_clone_with_body): Same.
+       * trans-mem.c (ipa_tm_create_version): Same.
+
+2020-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::set): Early exit for poly ints.
+
+2020-11-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses, gimplify_omp_loop): Use 'do'
+       instead of 'for' in error messages for Fortran.
+       * omp-low.c (check_omp_nesting_restrictions): Likewise
+
+2020-11-10  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * opts.c (control_options_for_live_patching): Reform 'is incompatible
+       with' error messages to use a standard message with differing format
+       arguments.
+       (finish_options): Likewise.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97769
+       * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+       Remove assert.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97780
+       * tree-ssa-pre.c (fini_pre): Deal with added basic blocks
+       when freeing PHI_TRANS_TABLE.
+
+2020-11-10  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for tbl/tbx intrinsics.
+
+2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * gimplify.c (is_or_contains_p): New static helper function.
+       (omp_target_reorder_clauses): New function.
+       (gimplify_scan_omp_clauses): Add use of omp_target_reorder_clauses to
+       reorder clause list according to OpenMP 5.0 rules. Add handling of
+       GOMP_MAP_ATTACH_DETACH for OpenMP cases.
+       * omp-low.c (is_omp_target): New static helper function.
+       (scan_sharing_clauses): Add scan phase handling of GOMP_MAP_ATTACH/DETACH
+       for OpenMP cases.
+       (lower_omp_target): Add lowering handling of GOMP_MAP_ATTACH/DETACH for
+       OpenMP cases.
+
+2020-11-10  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-modes.def (FPRX2): New mode.
+       * config/s390/s390-protos.h (s390_fma_allowed_p): New function.
+       * config/s390/s390.c (s390_fma_allowed_p): Likewise.
+       (s390_build_signbit_mask): Support 128-bit masks.
+       (print_operand): Support printing the second word of a TFmode
+       operand as vector register.
+       (constant_modes): Add FPRX2mode.
+       (s390_class_max_nregs): Return 1 for TFmode on z14+.
+       (s390_is_fpr128): New function.
+       (s390_is_vr128): Likewise.
+       (s390_can_change_mode_class): Use s390_is_fpr128 and
+       s390_is_vr128 in order to determine whether mode refers to a FPR
+       pair or to a VR.
+       (s390_emit_compare): Force TFmode operands into registers on
+       z14+.
+       * config/s390/s390.h (HAVE_TF): New macro.
+       (EXPAND_MOVTF): New macro.
+       (EXPAND_TF): Likewise.
+       * config/s390/s390.md (PFPO_OP_TYPE_FPRX2): PFPO_OP_TYPE_TF
+       alias.
+       (ALL): Add FPRX2.
+       (FP_ALL): Add FPRX2 for z14+, restrict TFmode to z13-.
+       (FP): Likewise.
+       (FP_ANYTF): New mode iterator.
+       (BFP): Add FPRX2 for z14+, restrict TFmode to z13-.
+       (TD_TF): Likewise.
+       (xde): Add FPRX2.
+       (nBFP): Likewise.
+       (nDFP): Likewise.
+       (DSF): Likewise.
+       (DFDI): Likewise.
+       (SFSI): Likewise.
+       (DF): Likewise.
+       (SF): Likewise.
+       (fT0): Likewise.
+       (bt): Likewise.
+       (_d): Likewise.
+       (HALF_TMODE): Likewise.
+       (tf_fpr): New mode_attr.
+       (type): New mode_attr.
+       (*cmp<mode>_ccz_0): Use type instead of mode with fsimp.
+       (*cmp<mode>_ccs_0_fastmath): Likewise.
+       (*cmptf_ccs): New pattern for wfcxb.
+       (*cmptf_ccsfps): New pattern for wfkxb.
+       (mov<mode>): Rename to mov<mode><tf_fpr>.
+       (signbit<mode>2): Rename to signbit<mode>2<tf_fpr>.
+       (isinf<mode>2): Renamed to isinf<mode>2<tf_fpr>.
+       (*TDC_insn_<mode>): Use type instead of mode with fsimp.
+       (fixuns_trunc<FP:mode><GPR:mode>2): Rename to
+       fixuns_trunc<FP:mode><GPR:mode>2<FP:tf_fpr>.
+       (fix_trunctf<mode>2): Rename to fix_trunctf<mode>2_fpr.
+       (floatdi<mode>2): Rename to floatdi<mode>2<tf_fpr>, use type
+       instead of mode with itof.
+       (floatsi<mode>2): Rename to floatsi<mode>2<tf_fpr>, use type
+       instead of mode with itof.
+       (*floatuns<GPR:mode><FP:mode>2): Use type instead of mode for
+       itof.
+       (floatuns<GPR:mode><FP:mode>2): Rename to
+       floatuns<GPR:mode><FP:mode>2<tf_fpr>.
+       (trunctf<mode>2): Rename to trunctf<mode>2_fpr, use type instead
+       of mode with fsimp.
+       (extend<DSF:mode><BFP:mode>2): Rename to
+       extend<DSF:mode><BFP:mode>2<BFP:tf_fpr>.
+       (<FPINT:fpint_name><BFP:mode>2): Rename to
+       <FPINT:fpint_name><BFP:mode>2<BFP:tf_fpr>, use type instead of
+       mode with fsimp.
+       (rint<BFP:mode>2): Rename to rint<BFP:mode>2<BFP:tf_fpr>, use
+       type instead of mode with fsimp.
+       (<FPINT:fpint_name><DFP:mode>2): Use type instead of mode for
+       fsimp.
+       (rint<DFP:mode>2): Likewise.
+       (trunc<BFP:mode><DFP_ALL:mode>2): Rename to
+       trunc<BFP:mode><DFP_ALL:mode>2<BFP:tf_fpr>.
+       (trunc<DFP_ALL:mode><BFP:mode>2): Rename to
+       trunc<DFP_ALL:mode><BFP:mode>2<BFP:tf_fpr>.
+       (extend<BFP:mode><DFP_ALL:mode>2): Rename to
+       extend<BFP:mode><DFP_ALL:mode>2<BFP:tf_fpr>.
+       (extend<DFP_ALL:mode><BFP:mode>2): Rename to
+       extend<DFP_ALL:mode><BFP:mode>2<BFP:tf_fpr>.
+       (add<mode>3): Rename to add<mode>3<tf_fpr>, use type instead of
+       mode with fsimp.
+       (*add<mode>3_cc): Use type instead of mode with fsimp.
+       (*add<mode>3_cconly): Likewise.
+       (sub<mode>3): Rename to sub<mode>3<tf_fpr>, use type instead of
+       mode with fsimp.
+       (*sub<mode>3_cc): Use type instead of mode with fsimp.
+       (*sub<mode>3_cconly): Likewise.
+       (mul<mode>3): Rename to mul<mode>3<tf_fpr>, use type instead of
+       mode with fsimp.
+       (fma<mode>4): Restrict using s390_fma_allowed_p.
+       (fms<mode>4): Restrict using s390_fma_allowed_p.
+       (div<mode>3): Rename to div<mode>3<tf_fpr>, use type instead of
+       mode with fdiv.
+       (neg<mode>2): Rename to neg<mode>2<tf_fpr>.
+       (*neg<mode>2_cc): Use type instead of mode with fsimp.
+       (*neg<mode>2_cconly): Likewise.
+       (*neg<mode>2_nocc): Likewise.
+       (*neg<mode>2): Likeiwse.
+       (abs<mode>2): Rename to abs<mode>2<tf_fpr>, use type instead of
+       mode with fdiv.
+       (*abs<mode>2_cc): Use type instead of mode with fsimp.
+       (*abs<mode>2_cconly): Likewise.
+       (*abs<mode>2_nocc): Likewise.
+       (*abs<mode>2): Likewise.
+       (*negabs<mode>2_cc): Likewise.
+       (*negabs<mode>2_cconly): Likewise.
+       (*negabs<mode>2_nocc): Likewise.
+       (*negabs<mode>2): Likewise.
+       (sqrt<mode>2): Rename to sqrt<mode>2<tf_fpr>, use type instead
+       of mode with fsqrt.
+       (cbranch<mode>4): Use FP_ANYTF instead of FP.
+       (copysign<mode>3): Rename to copysign<mode>3<tf_fpr>, use type
+       instead of mode with fsimp.
+       * config/s390/s390.opt (flag_vx_long_double_fma): New
+       undocumented option.
+       * config/s390/vector.md (V_HW): Add TF for z14+.
+       (V_HW2): Likewise.
+       (VFT): Likewise.
+       (VF_HW): Likewise.
+       (V_128): Likewise.
+       (tf_vr): New mode_attr.
+       (tointvec): Add TF.
+       (mov<mode>): Rename to mov<mode><tf_vr>.
+       (movetf): New dispatcher.
+       (*vec_tf_to_v1tf): Rename to *vec_tf_to_v1tf_fpr, restrict to
+       z13-.
+       (*vec_tf_to_v1tf_vr): New pattern for z14+.
+       (*fprx2_to_tf): Likewise.
+       (*mov_tf_to_fprx2_0): Likewise.
+       (*mov_tf_to_fprx2_1): Likewise.
+       (add<mode>3): Rename to add<mode>3<tf_vr>.
+       (addtf3): New dispatcher.
+       (sub<mode>3): Rename to sub<mode>3<tf_vr>.
+       (subtf3): New dispatcher.
+       (mul<mode>3): Rename to mul<mode>3<tf_vr>.
+       (multf3): New dispatcher.
+       (div<mode>3): Rename to div<mode>3<tf_vr>.
+       (divtf3): New dispatcher.
+       (sqrt<mode>2): Rename to sqrt<mode>2<tf_vr>.
+       (sqrttf2): New dispatcher.
+       (fma<mode>4): Restrict using s390_fma_allowed_p.
+       (fms<mode>4): Likewise.
+       (neg_fma<mode>4): Likewise.
+       (neg_fms<mode>4): Likewise.
+       (neg<mode>2): Rename to neg<mode>2<tf_vr>.
+       (negtf2): New dispatcher.
+       (abs<mode>2): Rename to abs<mode>2<tf_vr>.
+       (abstf2): New dispatcher.
+       (float<mode>tf2_vr): New forwarder.
+       (float<mode>tf2): New dispatcher.
+       (floatuns<mode>tf2_vr): New forwarder.
+       (floatuns<mode>tf2): New dispatcher.
+       (fix_trunctf<mode>2_vr): New forwarder.
+       (fix_trunctf<mode>2): New dispatcher.
+       (fixuns_trunctf<mode>2_vr): New forwarder.
+       (fixuns_trunctf<mode>2): New dispatcher.
+       (<FPINT:fpint_name><VF_HW:mode>2<VF_HW:tf_vr>): New pattern.
+       (<FPINT:fpint_name>tf2): New forwarder.
+       (rint<mode>2<tf_vr>): New pattern.
+       (rinttf2): New forwarder.
+       (*trunctfdf2_vr): New pattern.
+       (trunctfdf2_vr): New forwarder.
+       (trunctfdf2): New dispatcher.
+       (trunctfsf2_vr): New forwarder.
+       (trunctfsf2): New dispatcher.
+       (extenddftf2_vr): New pattern.
+       (extenddftf2): New dispatcher.
+       (extendsftf2_vr): New forwarder.
+       (extendsftf2): New dispatcher.
+       (signbittf2_vr): New forwarder.
+       (signbittf2): New dispatchers.
+       (isinftf2_vr): New forwarder.
+       (isinftf2): New dispatcher.
+       * config/s390/vx-builtins.md (*vftci<mode>_cconly): Use VF_HW
+       instead of VECF_HW, add missing constraint, add vw support.
+       (vftci<mode>_intcconly): Use VF_HW instead of VECF_HW.
+       (*vftci<mode>): Rename to vftci<mode>, use VF_HW instead of
+       VECF_HW, and vw support.
+       (vftci<mode>_intcc): Use VF_HW instead of VECF_HW.
+
+2020-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * range-op.cc (operator_logical_not::fold_range): Tidy up.
+       (operator_logical_not::op1_range): Call above method.
+       (operator_bitwise_not::fold_range): If the type is compatible
+       with boolean, call op_logical_not.fold_range.
+       (operator_bitwise_not::op1_range): If the type is compatible
+       with boolean, call op_logical_not.op1_range.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (pre_expr_d::value_id): Add.
+       (constant_value_expressions): Turn into an array of pre_expr.
+       (get_or_alloc_expr_for_nary): New function.
+       (get_or_alloc_expr_for_reference): Likewise.
+       (add_to_value): For constant values only ever add a single
+       CONSTANT.
+       (get_expr_value_id): Return the new value_id member.
+       (vn_valnum_from_value_id): Split out and simplify constant
+       value id handling.
+       (get_or_alloc_expr_for_constant): Set the value_id member.
+       (phi_translate_1): Use get_or_alloc_expr_for_*.
+       (compute_avail): Likewise.
+       (bitmap_find_leader): Simplify constant value id handling.
+
+2020-11-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * doc/md.texi (Modifiers): Fix grammar in description of
+       earlyclobber constraint modifier.
+
+2020-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97764
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): For
+       little-endian stores with negative pd.offset, subtract
+       BITS_PER_UNIT - amnt from size if amnt is non-zero.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97760
+       * tree-vect-loop.c (check_reduction_path): Reject
+       reduction paths we do not handle in epilogue generation.
+
+2020-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97767
+       * value-range.cc (dump_bound_with_infinite_markers): Use
+       wi::min_value and wi::max_value.
+       (range_tests_strict_enum): New.
+       (range_tests): Call range_tests_strict_enum.
+       * value-range.h (irange::varying_p): Use wi::min_value
+       and wi::max_value.
+       (irange::set_varying): Same.
+       (irange::normalize_min_max): Remove comment.
+
+2020-11-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97567
+       * gimple-range-gori.cc: (gori_compute::logical_combine): False
+       OR operations should intersect the 2 results.
+       (gori_compute::compute_logical_operands_in_chain): If def chains
+       are outside the current basic block, don't follow them.
+
+2020-11-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_split_move): Recognize vadd2 instructions.
+       * config/arc/arc.md (movdi_insn): Update pattern to use vadd2
+       instructions.
+       (movdf_insn): Likewise.
+       (maddhisi4): New pattern.
+       (umaddhisi4): Likewise.
+       * config/arc/simdext.md (mov<mode>_int): Update pattern to use
+       vadd2.
+       (sdot_prodv4hi): New pattern.
+       (udot_prodv4hi): Likewise.
+       (arc_vec_<V_US>mac_hi_v4hi): Update/renamed to
+       arc_vec_<V_US>mac_v2hiv2si.
+       (arc_vec_<V_US>mac_v2hiv2si_zero): New pattern.
+       * config/arc/constraints.md (Ral): Accumulator register
+       constraint.
+
+2020-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function-tests.c (test_ranges): Call range_op_tests.
+       * range-op.cc (build_range3): Move to value-range.cc.
+       (range3_tests): Same.
+       (int_range_max_tests): Same.
+       (multi_precision_range_tests): Same.
+       (range_tests): Same.
+       (operator_tests): Split up...
+       (range_op_tests): Split up...
+       (range_op_cast_tests): ...here.
+       (range_op_lshift_tests): ...here.
+       (range_op_rshift_tests): ...here.
+       (range_op_bitwise_and_tests): ...here.
+       * selftest.h (range_op_tests): New.
+       * value-range.cc (build_range3): New.
+       (range_tests_irange3): New.
+       (range_tests_int_range_max): New.
+       (range_tests_legacy): New.
+       (range_tests_misc): New.
+       (range_tests): New.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97761
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Remove
+       premature end of DFS walk.
+
+2020-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::swap_out_of_order_endpoints): Rewrite
+       into static function.
+       (irange::set): Cleanup redundant manipulations.
+       * value-range.h (irange::normalize_min_max): Modify object
+       in-place instead of modifying arguments.
+
+2020-11-09  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_expand_fcmla_builtin): Do not alter force_reg returned
+       register.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97753
+       * tree-vect-loop.c (vectorizable_induction): Fill vec_steps
+       when CSEing inside the group.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97746
+       * tree-vect-patterns.c (vect_determine_precisions): First walk PHIs.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (get_representative_for): CSE VN_INFO calls.
+       (create_expression_by_pieces): Likewise.
+       (insert_into_preds_of_block): Likewsie.
+       (do_pre_regular_insertion): Likewsie.
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_insert):
+       Likewise.
+       (eliminate_dom_walker::eliminate_stmt): Likewise.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97765
+       * tree-ssa-pre.c (bb_bitmap_sets::phi_translate_table): Add.
+       (PHI_TRANS_TABLE): New macro.
+       (phi_translate_table): Remove.
+       (expr_pred_trans_d::pred): Remove.
+       (expr_pred_trans_d::hash): Simplify.
+       (expr_pred_trans_d::equal): Likewise.
+       (phi_trans_add): Adjust.
+       (phi_translate): Likewise.  Remove hash-table expansion
+       detection and optimization.
+       (phi_translate_set): Allocate PHI_TRANS_TABLE here.
+       (init_pre): Adjsust.
+       (fini_pre): Free PHI_TRANS_TABLE.
+
+2020-11-09  Lili Cui  <lili.cui@intel.com>
+
+       PR target/97685
+       * config/i386/i386.h:
+       (PTA_BROADWELL): Delete PTA_PRFCHW.
+       (PTA_SILVERMONT): Add PTA_PRFCHW.
+       (PTA_KNL): Add PTA_PREFETCHWT1.
+       (PTA_TREMONT): Add PTA_MOVDIRI, PTA_MOVDIR64B, PTA_CLDEMOTE and PTA_WAITPKG.
+       * doc/invoke.texi: Delete PREFETCHW for broadwell, skylake, knl, knm,
+       skylake-avx512, cannonlake, icelake-client, icelake-server, cascadelake,
+       cooperlake, tigerlake and sapphirerapids.
+       Add PREFETCHW for silvermont, goldmont, goldmont-plus and tremont.
+       Add XSAVEC and XSAVES for goldmont, goldmont-plus and tremont.
+       Add MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG for tremont.
+       Add KEYLOCKER and HREST for alderlake.
+       Add AMX-BF16, AMX-TILE, AMX-INT8 and UINTR for sapphirerapids.
+       Add KEYLOCKER for tigerlake.
+
+2020-11-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR rtl-optimization/97705
+       * ira.c (ira): Refactor some regstat free/init/compute invocation
+       into lambda function regstat_recompute_for_max_regno, and call it
+       when max_regno increases as remove_scratches succeeds.
+
+2020-11-08  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Change
+       DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN.
+
+2020-11-07  Martin Uecker  <muecker@gwdg.de>
+
+       * doc/extend.texi: Document mixing labels and code.
+       * doc/invoke.texi: Likewise.
+
+2020-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (@tablejump<mode>_normal): Don't abuse
+       operands[].
+       (@tablejump<mode>_nospec): Ditto.
+
+2020-11-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000.h (BIGGEST_ALIGNMENT): Revert previous commit
+       so as not to break the ABI.
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Set the ABI
+       mandated alignment for __vector_pair and __vector_quad types.
+
+2020-11-06  Jeff Law  <law@torsion.usersys.redhat.com>
+
+       PR target/91489
+       * config/i386/i386.md (simple_return): Also check
+       for ms_hook_prologue function attribute.
+       * config/i386/i386.c (ix86_can_use_return_insn_p):
+       Also check for ms_hook_prologue function attribute.
+       * config/i386/i386-protos.h (ix86_function_ms_hook_prologue): Declare.
+
+2020-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/96933
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
+       TARGET_POWERPC64 instead of TARGET_64BIT.
+
+2020-11-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * builtins.def (BUILT_IN_NANSD32, BUILT_IN_NANSD64)
+       (BUILT_IN_NANSD128): New built-in functions.
+       * fold-const-call.c (fold_const_call): Handle the new built-in
+       functions.
+       * doc/extend.texi (__builtin_nansd32, __builtin_nansd64)
+       (__builtin_nansd128): Document.
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       fenv_exceptions_dfp.
+
+2020-11-06  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * tree-ssa-uninit.c (find_var_cmp_const): New function.
+       (use_pred_not_overlap_with_undef_path_pred): Call above.
+
+2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-c.c: Allow for Darwin20 to correspond to macOS 11.
+       * config/darwin-driver.c: Likewise.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (expr_pred_trans_d): Modify so elements
+       are embedded rather than allocated.  Remove hashval member,
+       make all members integers.
+       (phi_trans_add): Adjust accordingly.
+       (phi_translate): Likewise.  Deal with re-allocation
+       of the table.
+
+2020-11-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97737
+       PR tree-optimization/97741
+       * gimple-range.cc: (gimple_ranger::range_of_stmt): Intersect newly
+       calculated ranges with the existing known global range.
+
+2020-11-06  Darius Galis  <darius.galis@cyberthorstudios.com>
+
+       * config/rx/rx.md (CTRLREG_PC): Add.
+       * config/rx/rx.c (CTRLREG_PC): Add
+       (rx_expand_builtin_mvtc): Add warning: PC register cannot
+       be used as dest.
+
+2020-11-06  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.h (DECL_IS_BUILTIN): Rename to ...
+       (DECL_IS_UNDECLARED_BUILTIN): ... here.  No need to use SOURCE_LOCUS.
+       * calls.c (maybe_warn_alloc_args_overflow): Adjust for rename.
+       * cfgexpand.c (pass_expand::execute): Likewise.
+       * dwarf2out.c (base_type_die, is_naming_typedef_decl): Likewise.
+       * godump.c (go_decl, go_type_decl): Likewise.
+       * print-tree.c (print_decl_identifier): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Likewise.
+       * xcoffout.c (xcoff_assign_fundamental_type_number): Likewise.
+
+2020-11-06  David Candler  <david.candler@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (TYPES_SHIFT2IMM): Add define.
+       (TYPES_SHIFT2IMM_UUSS): Add define.
+       (TYPES_USHIFT2IMM): Add define.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<sur>q<r>shr<u>n2_n<mode>): Add new insn for upper saturating shift right.
+       * config/aarch64/aarch64-simd-builtins.def: Add intrinsics.
+       * config/aarch64/arm_neon.h:
+       (vqrshrn_high_n_s16): Expand using intrinsic rather than inline asm.
+       (vqrshrn_high_n_s32): Likewise.
+       (vqrshrn_high_n_s64): Likewise.
+       (vqrshrn_high_n_u16): Likewise.
+       (vqrshrn_high_n_u32): Likewise.
+       (vqrshrn_high_n_u64): Likewise.
+       (vqrshrun_high_n_s16): Likewise.
+       (vqrshrun_high_n_s32): Likewise.
+       (vqrshrun_high_n_s64): Likewise.
+       (vqshrn_high_n_s16): Likewise.
+       (vqshrn_high_n_s32): Likewise.
+       (vqshrn_high_n_s64): Likewise.
+       (vqshrn_high_n_u16): Likewise.
+       (vqshrn_high_n_u32): Likewise.
+       (vqshrn_high_n_u64): Likewise.
+       (vqshrun_high_n_s16): Likewise.
+       (vqshrun_high_n_s32): Likewise.
+       (vqshrun_high_n_s64): Likewise.
+
+2020-11-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-modes.def (VNx2BF, VNx4BF): Adjust nunits
+       and alignment based on the current VG.
+       * config/aarch64/iterators.md (SVE_ALL, SVE_24, SVE_2, SVE_4): Add
+       partial SVE BF modes.
+       (UNSPEC_REVBHW): New unspec.
+       (Vetype, Vesize, Vctype, VEL, Vel, vwcore, V_INT_CONTAINER)
+       (v_int_container, VPRED, vpred): Handle partial SVE BF modes.
+       (container_bits, Vcwtype): New mode attributes.
+       * config/aarch64/aarch64-sve.md
+       (@aarch64_sve_revbhw_<SVE_ALL:mode><PRED_HSD:mode>): New pattern.
+       (@aarch64_sve_dup_lane<mode>): Extended from SVE_FULL to SVE_ALL.
+       (@aarch64_sve_rev<mode>, @aarch64_sve_<perm_insn><mode>): Likewise.
+       (@aarch64_sve_ext<mode>): Likewise.
+       * config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle
+       E_VNx2BFmode and E_VNx4BFmode.
+       (aarch64_evpc_rev_local): Base the analysis on the container size
+       instead of the element size.  Use the new aarch64_sve_revbhw
+       patterns for SVE.
+       (aarch64_evpc_dup): Handle partial SVE data modes.  Use the
+       container size instead of the element size when applying the
+       SVE immediate limit.  Fix a previously incorrect bounds check.
+       (aarch64_expand_vec_perm_const_1): Handle partial SVE data modes.
+
+2020-11-06  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Add new -fbit-tests option.
+       * doc/invoke.texi: Document the option.
+       * tree-switch-conversion.c (bit_test_cluster::find_bit_tests):
+       Use the option.
+       * tree-switch-conversion.h (is_enabled): New function.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.h (get_max_constant_value_id): Declare.
+       (get_next_constant_value_id): Likewise.
+       (value_id_constant_p): Inline and simplify.
+       * tree-ssa-sccvn.c (constant_value_ids): Remove.
+       (next_constant_value_id): Add.
+       (get_or_alloc_constant_value_id): Adjust.
+       (value_id_constant_p): Remove definition.
+       (get_max_constant_value_id): Define.
+       (get_next_value_id): Add assert for overflow.
+       (get_next_constant_value_id): Define.
+       (run_rpo_vn): Adjust.
+       (free_rpo_vn): Likewise.
+       (do_rpo_vn): Initialize next_constant_value_id.
+       * tree-ssa-pre.c (constant_value_expressions): New.
+       (add_to_value): Split into constant/non-constant value
+       handling.  Avoid exact re-allocation.
+       (vn_valnum_from_value_id): Adjust.
+       (phi_translate_1): Remove spurious exact re-allocation.
+       (bitmap_find_leader): Adjust.  Make sure we return
+       a CONSTANT value for a constant value id.
+       (do_pre_regular_insertion): Use 2 auto-elements for avail.
+       (do_pre_partial_partial_insertion): Likewise.
+       (init_pre): Allocate constant_value_expressions.
+       (fini_pre): Release constant_value_expressions.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97706
+       * tree-vect-patterns.c (possible_vector_mask_operation_p):
+       PHIs are possible mask operations.
+       (vect_determine_mask_precision): Handle PHIs.
+       (vect_determine_precisions): Walk PHIs in BB analysis.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp): Pass down the
+       SLP graph entry kind.
+       (vect_analyze_slp_instance): Simplify.
+       (vect_build_slp_instance): Adjust.
+       (vect_slp_check_for_constructors): Perform more
+       eligibility checks here.
+
+2020-11-06  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-ref.h (enum ipa_ref_use): Remove GTY marker.
+       (struct ipa_ref): Remove GTY marker; reorder for better packing.
+       (struct ipa_ref_list): Remove GTY marker; turn references
+       nad referring to va_heap, vl_ptr vectors; update accesors.
+       * cgraph.h (symtab_node::iterate_reference): Update.
+       * ipa-ref.c (ipa_ref::remove_reference): Update.
+       * symtab.c (symtab_node::create_reference): Update.
+       (symtab_node::remove_all_references): Update.
+       (symtab_node::resolve_alias): Update.
+
+2020-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * ipa-modref-tree.h: Fix comment typos.
+       * ipa-modref.c: Likewise.
+
+2020-11-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_option_override_internal): Remove
+       override of inline params.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97706
+       * tree-vect-patterns.c (vect_determine_mask_precision):
+       Remove worklist operation.
+       (vect_determine_stmt_precisions): Do not call
+       vect_determine_mask_precision here.
+       (vect_determine_precisions): Compute mask precision
+       in a forward walk.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97732
+       * tree-vect-loop.c (vectorizable_induction): Convert the
+       init elements to the vector component type.
+       * gimple-fold.c (gimple_build_vector): Use CONSTANT_CLASS_P
+       rather than TREE_CONSTANT to determine if elements are
+       eligible for VECTOR_CSTs.
+
+2020-11-06  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h (attr_fnspec::get_str): New accessor
+       * ipa-fnsummary.c (read_ipa_call_summary): Store also parm info
+       for builtins.
+       * ipa-modref.c (class fnspec_summary): New type.
+       (class fnspec_summaries_t): New type.
+       (modref_summary::modref_summary): Initialize writes_errno.
+       (struct modref_summary_lto): Add writes_errno.
+       (modref_summary_lto::modref_summary_lto): Initialize writes_errno.
+       (modref_summary::dump): Check for NULL pointers.
+       (modref_summary_lto::dump): Dump writes_errno.
+       (collapse_loads): Move up in source file.
+       (collapse_stores): New function.
+       (process_fnspec): Handle also internal calls.
+       (analyze_call): Likewise.
+       (analyze_stmt): Store fnspec string if needed.
+       (analyze_function): Initialize fnspec_sumarries.
+       (modref_summaries_lto::duplicate): Copy writes_errno.
+       (modref_write): Store writes_errno and fnspec summaries.
+       (read_section): Read writes_errno and fnspec summaries.
+       (modref_read): Initialize fnspec summaries.
+       (update_signature): Fix formating.
+       (compute_parm_map): Return true if sucessful.
+       (get_parm_type): New function.
+       (get_access_for_fnspec): New function.
+       (propagate_unknown_call): New function.
+       (modref_propagate_in_scc): Use it.
+       (pass_ipa_modref::execute): Delete fnspec_summaries.
+       (ipa_modref_c_finalize): Delete fnspec_summaries.
+       * ipa-prop.c: Include attr-fnspec.h.
+       (ipa_compute_jump_functions_for_bb):  Also compute jump functions
+       for functions with fnspecs.
+       (ipa_read_edge_info): Read jump functions for builtins.
+
+2020-11-06  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.h (class size_time_entry): Do not GTY annotate.
+       (class ipa_fnsummary): Turn size_time_table to auto_vec and
+       call_size_time_table to effecient vec; update constructors.
+       * ipa-fnsummary.c (ipa_fn_summary::account_size_time): Update.
+       (ipa_fn_summary::~ipa_fn_summary): Update.
+       (ipa_fn_summary_t::duplicate): Update.
+       (ipa_dump_fn_summary): Update.
+       (set_switch_stmt_execution_predicate): Update.
+       (analyze_function_body): Update.
+       (estimate_calls_size_and_time): Update.
+       (ipa_call_context::estimate_size_and_time): Update.
+       (ipa_merge_fn_summary_after_inlining): Update.
+       (ipa_update_overall_fn_summary): Update.
+       (inline_read_section): Update.
+       (ipa_fn_summary_write): Update.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97733
+       * tree-vect-slp.c (vect_analyze_slp_instance): If less
+       than two reductions were relevant or live do nothing.
+
+2020-11-06  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/97223
+       * match.pd (overflow detection and optimization): Handle conversions.
+
+2020-11-06  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * match.pd (x >> x): New pattern.
+
+2020-11-06  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_implied_info):
+       Add static and const.
+       (riscv_subset_list::handle_implied_ext): Add const due to
+       riscv_implied_info changed to const.
+
+2020-11-06  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96307
+       * toplev.c (process_options): Remove param_asan_stack checking for kasan
+       option checking.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97675
+       * doc/invoke.texi: Document -Wexceptions.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/25814
+       * doc/invoke.texi: Document -Wvexing-parse.
+
+2020-11-05  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97725
+       * range-op.cc (operator_equal::fold_range): Use new tmp value.
+       (operator_not_equal::fold_range): Ditto.
+       * value-query.cc (range_query::value_of_expr): Use int_range_max
+       not a value_range.
+       (range_query::value_on_edge): Ditto.
+       (range_query::value_of_stmt): Ditto.
+
+2020-11-05  Olivier Hainque  <hainque@adacore.com>
+
+       * config/aarch64/aarch64-vxworks.h (TARGET_OS_USES_R18):
+       Remove definition.
+       (STATIC_CHAIN_REGNUM): Redefine to 9.
+
+2020-11-05  Olivier Hainque  <hainque@adacore.com>
+
+       * config/aarch64/aarch64.md: Define PROBE_STACK_FIRST_REGNUM
+       and PROBE_STACK_SECOND_REGNUM constants, designating r10/r11.
+       Replacements for the PROBE_STACK_FIRST/SECOND_REG constants in
+       aarch64.c.
+       * config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG): Remove.
+       (PROBE_STACK_SECOND_REG): Remove.
+       (aarch64_emit_probe_stack_range): Adjust to the _REG -> _REGNUM
+       suffix update for PROBE_STACK register numbers.
+
+2020-11-05  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gimple_call_fnspec): Handle C++ new and delete.
+       * gimple.h (gimple_call_from_new_or_delete): Constify parameter.
+
+2020-11-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97721
+       * gimple-range.cc (get_tree_range): Drop overflow from constants.
+
+2020-11-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * tree-diagnostic-path.cc (struct path_summary::event_range): Move
+       out of path_summary to...
+       (struct event_range): ...here.
+       (class path_summary): Convert to...
+       (struct path_summary): ...this.
+       (path_summary::m_ranges): Drop "private".
+       (path_summary::print): Convert to...
+       (print_path_summary_as_text): ...this, passing in the path_summary
+       explicitly.
+       (default_tree_diagnostic_path_printer): Update for above change.
+       (selftest::test_empty_path): Likewise.
+       (selftest::test_intraprocedural_path): Likewise.
+       (selftest::test_interprocedural_path_1): Likewise.
+       (selftest::test_interprocedural_path_2): Likewise.
+       (selftest::test_recursion): Likewise.
+
+2020-11-05  qing zhao  <qinzhao@gcc.gnu.org>
+
+       PR target/97715
+       * config/i386/i386.c (zero_all_st_registers): Return
+       earlier when the FPU is disabled.
+
+2020-11-05  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (parm_map_for_arg): Initialize parm_offset and
+       parm_offset_knonw.
+       (read_section): Set writes_errno to false.
+
+2020-11-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
+       Use the original stmts.
+       (vect_slp_analyze_node_alignment): Use the pattern stmt.
+       * tree-vect-slp.c (vect_fixup_store_groups_with_patterns):
+       New function.
+       (vect_slp_analyze_bb_1): Call it.
+
+2020-11-05  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp.c (vect_slp_tree_permute_noop_p): New.
+       (vect_optimize_slp): Optimize permutes.
+       (vectorizable_slp_permutation): Fix typo.
+
+2020-11-05  Richard Biener  <rguenther@suse.de>
+
+       PR debug/97718
+       * dwarf2out.c (add_abstract_origin_attribute): Make sure to
+       point to the abstract instance.
+
+2020-11-05  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-loop.c (vect_analyze_loop_2): Check kind.
+       * tree-vect-slp.c (vect_build_slp_instance): New.
+       (enum slp_instance_kind): Move to...
+       * tree-vectorizer.h (enum slp_instance_kind): .. Here
+       (SLP_INSTANCE_KIND): New.
+
+2020-11-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/96933
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use direct move
+       instructions for vector construction with char/short types.
+       * config/rs6000/rs6000.md (p8_mtvsrwz_v16qisi2): New define_insn.
+       (p8_mtvsrd_v16qidi2): Likewise.
+
+2020-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Moved load/store lanes
+       check to ...
+       * tree-vect-loop.c (vect_analyze_loop_2): ..Here
+
+2020-11-04  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.c (NR_C_MODES): Unhardcode.
+       (s390_alloc_pool): Use size_t for iterating from 0 to
+       NR_C_MODES.
+       (s390_add_constant): Likewise.
+       (s390_find_constant): Likewise.
+       (s390_dump_pool): Likewise.
+       (s390_free_pool): Likewise.
+
+2020-11-04  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.md (RRe): Remove.
+       (RXe): Remove.
+
+2020-11-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97515
+       * gimple-range-cache.h (class ranger_cache): New prototypes plus
+       temporal cache pointer.
+       * gimple-range-cache.cc (struct range_timestamp): New.
+       (class temporal_cache): New.
+       (temporal_cache::temporal_cache): New.
+       (temporal_cache::~temporal_cache): New.
+       (temporal_cache::get_timestamp): New.
+       (temporal_cache::set_dependency): New.
+       (temporal_cache::temporal_value): New.
+       (temporal_cache::current_p): New.
+       (temporal_cache::set_timestamp): New.
+       (temporal_cache::set_always_current): New.
+       (ranger_cache::ranger_cache): Allocate the temporal cache.
+       (ranger_cache::~ranger_cache): Free temporal cache.
+       (ranger_cache::get_non_stale_global_range): New.
+       (ranger_cache::set_global_range): Add a timestamp.
+       (ranger_cache::register_dependency): New.  Add timestamp dependency.
+       * gimple-range.cc (gimple_ranger::range_of_range_op): Add operand
+       dependencies.
+       (gimple_ranger::range_of_phi): Ditto.
+       (gimple_ranger::range_of_stmt): Check if global range is stale, and
+       recalculate if so.
+
+2020-11-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * targhooks.c (default_zero_call_used_regs): Fix flag-name typo
+       in sorry.
+
+2020-11-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vectorizable_phi): Adjust prototype.
+       * tree-vect-stmts.c (vect_transform_stmt): Adjust.
+       (vect_analyze_stmt): Pass cost_vec to vectorizable_phi.
+       * tree-vect-loop.c (vectorizable_phi): Do costing.
+
+2020-11-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97709
+       * tree-vect-loop.c (vectorizable_live_operation): Set
+       SSA_NAME_OCCURS_IN_ABNORMAL_PHI when necessary.
+
+2020-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97690
+       * tree-ssa-phiopt.c (conditional_replacement): Also optimize
+       cond ? pow2p_cst : 0 as ((type) cond) << cst.
+
+2020-11-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_induction): Re-instantiate
+       previously removed CSE of SLP IVs.
+
+2020-11-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-options.c (ix86_recompute_optlev_based_flags):
+       Fix Intel MCU psABI comment w.r.t DEFAULT_PCC_STRUCT_RETURN.
+
+2020-11-04  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/97666
+       * tree-vect-slp.c (vect_build_slp_tree_2): Revert previous
+       fix and instead adjust the memset.
+
+2020-11-04  Pat Bernardi  <bernardi@adacore.com>
+
+       * config/i386/i386elf.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
+       (ASM_OUTPUT_ASCII): Likewise.
+       (DEFAULT_PCC_STRUCT_RETURN): Define.
+       * config/i386/i386.c (ix86_return_in_memory): Remove
+       SUBTARGET_RETURN_IN_MEMORY.
+
+2020-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97540
+       * ira.c: (ira_setup_alts): Extract memory from operand only
+       for special memory constraint.
+       * recog.c (asm_operand_ok): Ditto.
+       * lra-constraints.c (process_alt_operands): MEM_P is
+       required for normal memory constraint.
+
+2020-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97532
+       * lra-constraints.c (valid_address_p): Handle operand of
+       special memory constraint.
+       (process_address_1): Ditto.
+
+2020-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97695
+       * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Fix ICE with
+       in dumping code.
+       (cgraph_node::remove): Save clone info before releasing it and pass it
+       to unregister.
+       * cgraph.h (symtab_node::unregister): Add clone_info parameter.
+       (cgraph_clone::unregister): Likewise.
+       * cgraphclones.c (cgraph_node::find_replacement): Copy clone info
+       * symtab-clones.cc (clone_infos_t::duplicate): Remove.
+       (clone_info::get_create): Simplify.
+       * symtab.c (symtab_node::unregister): Pass around clone info.
+       * varpool.c (varpool_node::remove): Update.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-low.c (scan_omp_for) <OpenACC>: Use proper location to
+       'inform' of enclosing parent compute construct.
+
+2020-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97698
+       * cgraphclones.c (duplicate_thunk_for_node): Check that info is
+       non-NULL.
+
+2020-11-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_function_arg_regno_p): Use up to
+       SSE_REGPARM_MAX registers to pass function parameters
+       for 32bit Mach-O targets.
+       * config/i386/i386.h (X86_32_MMX_REGPARM_MAX): New macro.
+       (MMX_REGPARM_MAX): Use it.
+
+2020-11-03  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (vget_lo_half): New entry.
+       (vget_hi_half): Likewise.
+       * config/aarch64/aarch64-simd.md (aarch64_vget_lo_halfv8bf): New entry.
+       (aarch64_vget_hi_halfv8bf): Likewise.
+       * config/aarch64/arm_neon.h (vget_low_bf16): New intrinsic.
+       (vget_high_bf16): Likewise.
+
+2020-11-03  Yang Yang  <yangyang305@huawei.com>
+
+       * cgraph.h (struct cgraph_simd_clone): Change field "simdlen" of
+       struct cgraph_simd_clone from unsigned int to poly_uint64.
+       * config/aarch64/aarch64.c
+       (aarch64_simd_clone_compute_vecsize_and_simdlen): adaptation of
+       operations on "simdlen".
+       * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
+       Printf formats update.
+       * gengtype.c (main): Handle poly_uint64.
+       * omp-simd-clone.c (simd_clone_mangle): Likewise.Re
+       (simd_clone_adjust_return_type): Likewise.
+       (create_tmp_simd_array): Likewise.
+       (simd_clone_adjust_argument_types): Likewise.
+       (simd_clone_init_simd_arrays): Likewise.
+       (ipa_simd_modify_function_body): Likewise.
+       (simd_clone_adjust): Likewise.
+       (expand_simd_clones): Likewise.
+       * poly-int-types.h (vector_unroll_factor): New macro.
+       * poly-int.h (constant_multiple_p): Add two-argument versions.
+       * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * params.opt (-param=max-pre-hoist-insert-iterations): New.
+       * doc/invoke.texi (max-pre-hoist-insert-iterations): Document.
+       * tree-ssa-pre.c (insert): Do at most max-pre-hoist-insert-iterations
+       hoist insert iterations.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97579
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Use
+       the correct types for the vcond_mask/vec_cmp optab queries.
+
+2020-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ssa_global_cache::get_global_range): Return
+       true if there was a previous range set.
+       (ranger_cache::ranger_cache): Take a gimple_ranger parameter.
+       (ranger_cache::set_global_range): Propagate the value if updating.
+       (ranger_cache::propagate_cache): Renamed from iterative_cache_update.
+       (ranger_cache::propagate_updated_value): New.  Split from:
+       (ranger_cache::fill_block_cache): Split out value propagator.
+       * gimple-range-cache.h (ssa_global_cache): Update prototypes.
+       (ranger_cache): Update prototypes.
+
+2020-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.h (block_range_cache): Add new entry point.
+       (ranger_cache): Privatize global abnd block cache members.
+       * gimple-range-cache.cc (ssa_block_ranges::set_bb_range): Add bounds
+       check.
+       (ssa_block_ranges::set_bb_varying): Ditto.
+       (ssa_block_ranges::get_bb_range): Ditto.
+       (ssa_block_ranges::bb_range_p): Ditto.
+       (block_range_cache::get_block_ranges): Fix formatting.
+       (block_range_cache::query_block_ranges): New.
+       (block_range_cache::get_bb_range): Use Query_block_ranges.
+       (block_range_cache::bb_range_p): Ditto.
+       (ranger_cache::dump): New.
+       (ranger_cache::get_global_range): New.
+       (ranger_cache::set_global_range): New.
+       * gimple-range.cc (gimple_ranger::range_of_expr): Use new API.
+       (gimple_ranger::range_of_stmt): Ditto.
+       (gimple_ranger::export_global_ranges): Ditto.
+       (gimple_ranger::dump): Ditto.
+
+2020-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * fold-const.c (getbyterep): Remove duplicated statement.
+
+2020-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR target/97205
+       * cfgexpand.c (align_local_variable): Make SSA_NAMEs
+       at least MODE_ALIGNED.
+       (expand_one_stack_var_at): Increase MEM_ALIGN for SSA_NAMEs.
+
+2020-11-03  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for AES/SHA/SM3/SM4 intrinsics.
+
+2020-11-03  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for compare intrinsics.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       * dwarf2out.c (maybe_create_die_with_external_ref): Remove
+       hashtable entry.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon.h (vst2_lane_bf16, vst2q_lane_bf16)
+       (vst3_lane_bf16, vst3q_lane_bf16, vst4_lane_bf16)
+       (vst4q_lane_bf16): New intrinsics.
+       * config/arm/arm_neon_builtins.def: Touch it for:
+       __builtin_neon_vst2_lanev4bf, __builtin_neon_vst2_lanev8bf,
+       __builtin_neon_vst3_lanev4bf, __builtin_neon_vst3_lanev8bf,
+       __builtin_neon_vst4_lanev4bf,__builtin_neon_vst4_lanev8bf.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon.h (vld2_lane_bf16, vld2q_lane_bf16)
+       (vld3_lane_bf16, vld3q_lane_bf16, vld4_lane_bf16)
+       (vld4q_lane_bf16): Add intrinsics.
+       * config/arm/arm_neon_builtins.def: Touch for:
+       __builtin_neon_vld2_lanev4bf, __builtin_neon_vld2_lanev8bf,
+       __builtin_neon_vld3_lanev4bf, __builtin_neon_vld3_lanev8bf,
+       __builtin_neon_vld4_lanev4bf, __builtin_neon_vld4_lanev8bf.
+       * config/arm/iterators.md (VQ_HS): Add V8BF to the iterator.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon.h (vst1_bf16, vst1q_bf16): Add intrinsics.
+       * config/arm/arm_neon_builtins.def : Touch for:
+       __builtin_neon_vst1v4bf, __builtin_neon_vst1v8bf.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm-builtins.c (VAR14): Define macro.
+       * config/arm/arm_neon_builtins.def: Touch for:
+       __builtin_neon_vld1v4bf, __builtin_neon_vld1v8bf.
+       * config/arm/arm_neon.h (vld1_bf16, vld1q_bf16): Add intrinsics.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon.h (vst1_lane_bf16, vst1q_lane_bf16): Add
+       intrinsics.
+       * config/arm/arm_neon_builtins.def (STORE1LANE): Add v4bf, v8bf.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm_neon_builtins.def: Add to LOAD1LANE v4bf, v8bf.
+       * config/arm/arm_neon.h (vld1_lane_bf16, vld1q_lane_bf16): Add
+       intrinsics.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/97666
+       * tree-vect-slp.c (vect_build_slp_tree_2): Scale
+       allocation of skip_args by sizeof (bool).
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/80928
+       * tree-vect-loop.c (vectorizable_induction): SLP vectorize
+       nested inductions.
+
+2020-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97578
+       * ipa-inline-transform.c (maybe_materialize_called_clones): New
+       function.
+       (inline_transform): Use it.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97678
+       * tree-vect-slp.c (vect_build_slp_tree_2): Do not track
+       the initial values of inductions when not nested.
+       * tree-vect-loop.c (vectorizable_induction): Look at
+       PHI node initial values again for SLP and not nested
+       inductions.  Handle LOOP_VINFO_MASK_SKIP_NITERS and cost
+       invariants.
+
+2020-11-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (aes<aeswideklvariant>u8):
+       Do not use xmm_regs array.  Fix whitespace.
+
+2020-11-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_builtin): Fix comment.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-low.c (scan_omp_for) <OpenACC>: Move earlier inconsistent
+       nested 'reduction' clauses checking.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-low.c (scan_omp_for) <OpenACC>: More precise diagnostics for
+       'gang', 'worker', 'vector' clauses with arguments only allowed in
+       'kernels' regions.
+
+2020-11-03  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/96789
+       * function.h (struct function): New member unsigned pending_TODOs.
+       * passes.c (class pass_pre_slp_scalar_cleanup): New class.
+       (make_pass_pre_slp_scalar_cleanup): New function.
+       (pass_data_pre_slp_scalar_cleanup): New pass data.
+       * passes.def: (pass_pre_slp_scalar_cleanup): New pass, add
+       pass_fre and pass_dse as its children.
+       * timevar.def (TV_SCALAR_CLEANUP): New timevar.
+       * tree-pass.h (PENDING_TODO_force_next_scalar_cleanup): New
+       pending TODO flag.
+       (make_pass_pre_slp_scalar_cleanup): New declare.
+       * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1):
+       Once any outermost loop gets unrolled, flag cfun pending_TODOs
+       PENDING_TODO_force_next_scalar_cleanup on.
+
+2020-11-02  Alan Modra  <amodra@gmail.com>
+
+       PR middle-end/97267
+       * calls.h (maybe_complain_about_tail_call): Declare.
+       * calls.c (maybe_complain_about_tail_call): Make global.
+       (can_implement_as_sibling_call_p): Delete reg_parm_stack_space
+       param.  Adjust caller.  Move REG_PARM_STACK_SPACE check to..
+       * config/i386/i386.c (ix86_function_ok_for_sibcall): ..here.
+
+2020-11-02  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * ira.c (ira_remove_scratches): Rename to remove_scratches.  Make
+       it static and returning flag of any change.
+       (ira.c): Call ira_expand_reg_equiv in case of removing scratches.
+
+2020-11-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97140
+       * config/i386/i386-expand.c (ix86_expand_builtin): Require MMX
+       for __builtin_ia32_maskmovq.
+
+2020-11-02  Martin Sebor  <msebor@redhat.com>
+
+       * doc/invoke.texi (-Wstringop-overflow): Correct default setting.
+       (-Wstringop-overread): Move past -Wstringop-overflow.
+
+2020-11-02  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR bootstrap/57076
+       * Makefile.in (gcc-vers.texi): Quote @, { and }.
+
+2020-11-02  Carl Love  <cel@us.ibm.com>
+
+       PR target/93449
+       * config/rs6000/altivec.h (__builtin_bcdadd, __builtin_bcdadd_lt,
+       __builtin_bcdadd_eq, __builtin_bcdadd_gt, __builtin_bcdadd_ofl,
+       __builtin_bcdadd_ov, __builtin_bcdsub, __builtin_bcdsub_lt,
+       __builtin_bcdsub_eq, __builtin_bcdsub_gt, __builtin_bcdsub_ofl,
+       __builtin_bcdsub_ov, __builtin_bcdinvalid, __builtin_bcdmul10,
+       __builtin_bcddiv10, __builtin_bcd2dfp, __builtin_bcdcmpeq,
+       __builtin_bcdcmpgt, __builtin_bcdcmplt, __builtin_bcdcmpge,
+       __builtin_bcdcmple): Add defines.
+       * config/rs6000/altivec.md: Add UNSPEC_BCDSHIFT.
+       (BCD_TEST): Add le, ge to code iterator.
+       Add VBCD mode iterator.
+       (bcd<bcd_add_sub>_test, *bcd<bcd_add_sub>_test2,
+       bcd<bcd_add_sub>_<code>, bcd<bcd_add_sub>_<code>): Add mode to name.
+       Change iterator from V1TI to VBCD.
+       (*bcdinvalid_<mode>, bcdshift_v16qi): New define_insn.
+       (bcdinvalid_<mode>, bcdmul10_v16qi, bcddiv10_v16qi): New define.
+       * config/rs6000/dfp.md (dfp_denbcd_v16qi_inst): New define_insn.
+       (dfp_denbcd_v16qi): New define_expand.
+       * config/rs6000/rs6000-builtin.def (BU_P8V_MISC_1): New define.
+       (BCDADD): Replaced with BCDADD_V1TI and BCDADD_V16QI.
+       (BCDADD_LT): Replaced with BCDADD_LT_V1TI and BCDADD_LT_V16QI.
+       (BCDADD_EQ): Replaced with BCDADD_EQ_V1TI and BCDADD_EQ_V16QI.
+       (BCDADD_GT): Replaced with BCDADD_GT_V1TI and BCDADD_GT_V16QI.
+       (BCDADD_OV): Replaced with BCDADD_OV_V1TI and BCDADD_OV_V16QI.
+       (BCDSUB_V1TI, BCDSUB_V16QI, BCDSUB_LT_V1TI, BCDSUB_LT_V16QI,
+       BCDSUB_LE_V1TI, BCDSUB_LE_V16QI, BCDSUB_EQ_V1TI, BCDSUB_EQ_V16QI,
+       BCDSUB_GT_V1TI, BCDSUB_GT_V16QI, BCDSUB_GE_V1TI, BCDSUB_GE_V16QI,
+       BCDSUB_OV_V1TI, BCDSUB_OV_V16QI, BCDINVALID_V1TI, BCDINVALID_V16QI,
+       BCDMUL10_V16QI, BCDDIV10_V16QI, DENBCD_V16QI): New builtin definitions.
+       (BCDADD, BCDADD_LT, BCDADD_EQ, BCDADD_GT, BCDADD_OV, BCDSUB, BCDSUB_LT,
+       BCDSUB_LE, BCDSUB_EQ, BCDSUB_GT, BCDSUB_GE, BCDSUB_OV, BCDINVALID,
+       BCDMUL10, BCDDIV10, DENBCD): New overload definitions.
+       * config/rs6000/rs6000-call.c (P8V_BUILTIN_VEC_BCDADD, P8V_BUILTIN_VEC_BCDADD_LT,
+       P8V_BUILTIN_VEC_BCDADD_EQ, P8V_BUILTIN_VEC_BCDADD_GT, P8V_BUILTIN_VEC_BCDADD_OV,
+       P8V_BUILTIN_VEC_BCDINVALID, P9V_BUILTIN_VEC_BCDMUL10, P8V_BUILTIN_VEC_DENBCD.
+       P8V_BUILTIN_VEC_BCDSUB, P8V_BUILTIN_VEC_BCDSUB_LT, P8V_BUILTIN_VEC_BCDSUB_LE,
+       P8V_BUILTIN_VEC_BCDSUB_EQ, P8V_BUILTIN_VEC_BCDSUB_GT, P8V_BUILTIN_VEC_BCDSUB_GE,
+       P8V_BUILTIN_VEC_BCDSUB_OV): New overloaded specifications.
+       (CODE_FOR_bcdadd): Replaced with CODE_FOR_bcdadd_v16qi and CODE_FOR_bcdadd_v1ti.
+       (CODE_FOR_bcdadd_lt): Replaced with CODE_FOR_bcdadd_lt_v16qi and CODE_FOR_bcdadd_lt_v1ti.
+       (CODE_FOR_bcdadd_eq): Replaced with CODE_FOR_bcdadd_eq_v16qi and CODE_FOR_bcdadd_eq_v1ti.
+       (CODE_FOR_bcdadd_gt): Replaced with CODE_FOR_bcdadd_gt_v16qi and CODE_FOR_bcdadd_gt_v1ti.
+       (CODE_FOR_bcdsub): Replaced with CODE_FOR_bcdsub_v16qi and CODE_FOR_bcdsub_v1ti.
+       (CODE_FOR_bcdsub_lt): Replaced with CODE_FOR_bcdsub_lt_v16qi and CODE_FOR_bcdsub_lt_v1ti.
+       (CODE_FOR_bcdsub_eq): Replaced with CODE_FOR_bcdsub_eq_v16qi and CODE_FOR_bcdsub_eq_v1ti.
+       (CODE_FOR_bcdsub_gt): Replaced with CODE_FOR_bcdsub_gt_v16qi and CODE_FOR_bcdsub_gt_v1ti.
+       (rs6000_expand_ternop_builtin):  Add CODE_FOR_dfp_denbcd_v16qi to else if.
+       * doc/extend.texi: Add documentation for new builtins.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.c (cache_integer_cst): Fixup pointer caching to match
+       wide_int_to_type_1's expectations.  Add comment.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.h (id_equal): Call the symetric predicate with swapped
+       arguments.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * print-tree.c (print_node): Display all the operands of a call
+       expr.
+
+2020-11-02  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * config/rs6000/vsx.md (*vsx_extract_<mode>_store_p9): Add hint *
+       to 2nd alternative of the 1st scratch.
+
+2020-11-02  Sudakshina Das  <sudi.das@arm.com>
+
+       PR target/97638
+       * config/aarch64/aarch64-bti-insert.c (aarch64_pac_insn_p): Update
+       return value on INSN_P check.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       * tree.h (build_real_from_wide): Declare.
+       * tree.c (build_real_from_wide): New function.
+       * tree-vect-slp.c (vect_build_slp_tree_2): Remove
+       restriction on induction vectorization, represent
+       the initial value.
+       * tree-vect-loop.c (vect_model_induction_cost): Inline ...
+       (vectorizable_induction): ... here.  Rewrite SLP
+       code generation.
+
+2020-11-02  Martin Jambor  <mjambor@suse.cz>
+
+       * dbgcnt.def (ipa_cp_values): New counter.
+       (ipa_cp_vr): Likewise.
+       * ipa-cp.c (decide_about_value): Check and bump ipa_cp_values debug
+       counter.
+       (decide_whether_version_node): Likewise.
+       (ipcp_store_vr_results):Check and bump ipa_cp_vr debug counter.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (arm_thumb1_mi_thunk): Build mi_delta in r3 and
+       do not emit function address and delta when -mpure-code is used.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/thumb1.md (thumb1_movsi_insn): Call
+       thumb1_gen_const_int_print.
+       * config/arm/arm-protos.h (thumb1_gen_const_int_print): Add
+       prototype.
+       * config/arm/arm.c (thumb1_gen_const_int_print): New.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (thumb1_const_rtl, thumb1_const_print): New
+       classes.
+       (thumb1_gen_const_int): Rename to ...
+       (thumb1_gen_const_int_1): ... New helper function. Add capability
+       to emit either RTL or asm, improve generated code.
+       (thumb1_gen_const_int_rtl): New function.
+       * config/arm/arm-protos.h (thumb1_gen_const_int): Rename to
+       thumb1_gen_const_int_rtl.
+       * config/arm/thumb1.md: Call thumb1_gen_const_int_rtl instead
+       of thumb1_gen_const_int.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97558
+       * tree-vect-loop.c (vectorizable_reduction): For nested SLP
+       cycles compute invariant operands vector type.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97558
+       * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns):
+       Check for any mismatch in pattern vs. non-pattern and dissolve
+       the group if there is one.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Avoid
+       analyzing not relevant reductions.
+       (vect_analyze_slp): Avoid analyzing not relevant reduction
+       groups.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97650
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Check
+       for SSA_NAME before checking SSA_NAME_IS_DEFAULT_DEF.
+
+2020-11-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c
+       (riscv_subset_list::parse_multiletter_ext): Checking multiletter
+       extension has more than 1 letter.
+
+2020-11-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config.gcc (riscv*-*-*): Handle --with-multilib-generator.
+       * configure: Regen.
+       * configure.ac: Add --with-multilib-generator.
+       * config/riscv/multilib-generator: Exit when parsing arch string error.
+       * config/riscv/t-withmultilib-generator: New.
+       * doc/install.texi: Document --with-multilib-generator.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96770
+       * config/arm/arm.c (thumb_legitimate_constant_p): Accept
+       (symbol_ref + addend) when literal pool is disabled.
+       (arm_valid_symbolic_address_p): Add support for thumb-1 without
+       MOVT/MOVW.
+       * config/arm/thumb1.md (*thumb1_movsi_insn): Accept (symbol_ref +
+       addend) in the pure-code alternative.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96967
+       * config/arm/arm.c (thumb_legitimate_constant_p): Add support for
+       disabled literal pool in thumb-1.
+       * config/arm/thumb1.md (thumb1_movsi_symbol_ref): Remove.
+       (*thumb1_movsi_insn): Add support for SYMBOL_REF with -mpure-code.
+
+2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/host-darwin.c: Align pch_address_space to 16384.
+
+2020-11-01  Pat Bernardi  <bernardi@adacore.com>
+
+       * config/i386/i386.c (ix86_expand_prologue): Set the stack usage to 0
+       for naked functions.
+
+2020-11-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR ipa/97660
+       * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't call
+       clone_info::get when cgraph_node::get returns NULL.
+
+2020-10-31  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in: (OBJS): Add symtab-clones.o
+       (GTFILES): Add symtab-clones.h
+       * cgraph.c: Include symtab-clones.h.
+       (cgraph_edge::resolve_speculation): Fix formating
+       (cgraph_edge::redirect_call_stmt_to_callee): Update.
+       (cgraph_update_edges_for_call_stmt): Update
+       (release_function_body): Fix formating.
+       (cgraph_node::remove): Fix formating.
+       (cgraph_node::dump): Fix formating.
+       (cgraph_node::get_availability): Fix formating.
+       (cgraph_node::call_for_symbol_thunks_and_aliases): Fix formating.
+       (set_const_flag_1): Fix formating.
+       (set_pure_flag_1): Fix formating.
+       (cgraph_node::can_remove_if_no_direct_calls_p): Fix formating.
+       (collect_callers_of_node_1): Fix formating.
+       (clone_of_p): Update.
+       (cgraph_node::verify_node): Update.
+       (cgraph_c_finalize): Call clone_info::release ().
+       * cgraph.h (struct cgraph_clone_info): Move to symtab-clones.h.
+       (cgraph_node): Remove clone_info.
+       (symbol_table): Add m_clones.
+       * cgraphclones.c: Include symtab-clone.h.
+       (duplicate_thunk_for_node): Update.
+       (cgraph_node::create_clone): Update.
+       (cgraph_node::create_virtual_clone): Update.
+       (cgraph_node::find_replacement): Update.
+       (cgraph_node::materialize_clone): Update.
+       * gengtype.c (open_base_files): Include symtab-clones.h.
+       * ipa-cp.c: Include symtab-clones.h.
+       (initialize_node_lattices): Update.
+       (want_remove_some_param_p): Update.
+       (create_specialized_node): Update.
+       * ipa-fnsummary.c: Include symtab-clones.h.
+       (ipa_fn_summary_t::duplicate): Update.
+       * ipa-modref.c: Include symtab-clones.h.
+       (update_signature): Update.
+       * ipa-param-manipulation.c: Include symtab-clones.h.
+       (ipa_param_body_adjustments::common_initialization): Update.
+       * ipa-prop.c: Include symtab-clones.h.
+       (adjust_agg_replacement_values): Update.
+       (ipcp_get_parm_bits): Update.
+       (ipcp_update_bits): Update.
+       (ipcp_update_vr): Update.
+       * ipa-sra.c: Include symtab-clones.h.
+       (process_isra_node_results): Update.
+       (disable_unavailable_parameters): Update.
+       * lto-cgraph.c: Include symtab-clone.h.
+       (output_cgraph_opt_summary_p): Update.
+       (output_node_opt_summary): Update.
+       (input_node_opt_summary): Update.
+       * symtab-clones.cc: New file.
+       * symtab-clones.h: New file.
+       * tree-inline.c (expand_call_inline): Update.
+       (update_clone_info): Update.
+       (tree_function_versioning): Update.
+
+2020-10-31  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summary::dump): Dump writes_errno.
+       (parm_map_for_arg): Break out from ...
+       (merge_call_side_effects): ... here.
+       (get_access_for_fnspec): New function.
+       (process_fnspec): New function.
+       (analyze_call): Use it.
+       (analyze_stmt): Update.
+       (analyze_function): Initialize writes_errno.
+       (modref_summaries::duplicate): Duplicate writes_errno.
+       * ipa-modref.h (struct modref_summary): Add writes_errno.
+       * tree-ssa-alias.c (call_may_clobber_ref_p_1): Check errno.
+
+2020-10-30  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (glibc_supports_ieee_128bit): New helper
+       function.
+       (rs6000_option_override_internal): Call it.
+
+2020-10-30  Qing Zhao  <qing.zhao@oracle.com>
+           H.J.Lu  <hjl.tools@gmail.com>
+
+       * common.opt: Add new option -fzero-call-used-regs
+       * config/i386/i386.c (zero_call_used_regno_p): New function.
+       (zero_call_used_regno_mode): Likewise.
+       (zero_all_vector_registers): Likewise.
+       (zero_all_st_registers): Likewise.
+       (zero_all_mm_registers): Likewise.
+       (ix86_zero_call_used_regs): Likewise.
+       (TARGET_ZERO_CALL_USED_REGS): Define.
+       * df-scan.c (df_epilogue_uses_p): New function.
+       (df_get_exit_block_use_set): Replace EPILOGUE_USES with
+       df_epilogue_uses_p.
+       * df.h (df_epilogue_uses_p): Declare.
+       * doc/extend.texi: Document the new zero_call_used_regs attribute.
+       * doc/invoke.texi: Document the new -fzero-call-used-regs option.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (TARGET_ZERO_CALL_USED_REGS): New hook.
+       * emit-rtl.h (struct rtl_data): New field must_be_zero_on_return.
+       * flag-types.h (namespace zero_regs_flags): New namespace.
+       * function.c (gen_call_used_regs_seq): New function.
+       (class pass_zero_call_used_regs): New class.
+       (pass_zero_call_used_regs::execute): New function.
+       (make_pass_zero_call_used_regs): New function.
+       * optabs.c (expand_asm_reg_clobber_mem_blockage): New function.
+       * optabs.h (expand_asm_reg_clobber_mem_blockage): Declare.
+       * opts.c (zero_call_used_regs_opts): New structure array
+       initialization.
+       (parse_zero_call_used_regs_options): New function.
+       (common_handle_option): Handle -fzero-call-used-regs.
+       * opts.h (zero_call_used_regs_opts): New structure array.
+       * passes.def: Add new pass pass_zero_call_used_regs.
+       * recog.c (valid_insn_p): New function.
+       * recog.h (valid_insn_p): Declare.
+       * resource.c (init_resource_info): Replace EPILOGUE_USES with
+       df_epilogue_uses_p.
+       * target.def (zero_call_used_regs): New hook.
+       * targhooks.c (default_zero_call_used_regs): New function.
+       * targhooks.h (default_zero_call_used_regs): Declare.
+       * tree-pass.h (make_pass_zero_call_used_regs): Declare.
+
+2020-10-30  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * lra.c (get_scratch_reg): New function.
+       (remove_scratches_1): Rename remove_insn_scratches.  Use
+       ira_remove_insn_scratches and get_scratch_reg.
+       (remove_scratches): Do not
+       initialize scratches, scratch_bitmap, and scratch_operand_bitmap.
+       (lra): Call ira_restore_scratches instead of restore_scratches.
+       (struct sloc, sloc_t, scratches, scratch_bitmap)
+       (scratch_operand_bitmap, lra_former_scratch_p)
+       (lra_former_scratch_operand_p, lra_register_new_scratch_op)
+       (restore_scratches): Move them to ...
+       * ira.c: ... here.
+       (former_scratch_p, former_scratch_operand_p): Rename to
+       ira_former_scratch_p and ira_former_scratch_operand_p.
+       (contains_X_constraint_p): New function.
+       (register_new_scratch_op): Rename to ira_register_new_scratch_op.
+       Change it to work for IRA and LRA.
+       (restore_scratches): Rename to ira_restore_scratches.
+       (get_scratch_reg, ira_remove_insn_scratches): New functions.
+       (ira): Call ira_remove_scratches if we use LRA.
+       * ira.h (ira_former_scratch_p, ira_former_scratch_operand_p): New
+       prototypes.
+       (ira_register_new_scratch_op, ira_restore_scratches): New prototypes.
+       (ira_remove_insn_scratches): New prototype.
+       * lra-int.h (lra_former_scratch_p, lra_former_scratch_operand_p):
+       Remove prototypes.
+       (lra_register_new_scratch_op): Ditto.
+       * lra-constraints.c: Rename lra_former_scratch_p and
+       lra_former_scratch_p to ira_former_scratch_p and to
+       ira_former_scratch_p.
+       * lra-remat.c: Ditto.
+       * lra-spills.c: Rename lra_former_scratch_p to ira_former_scratch_p.
+
+2020-10-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97556
+       * builtins.c (access_ref::add_offset): Cap offset lower bound
+       to at most the the upper bound.
+
+2020-10-30  Jan Hubicka  <jh@suse.cz>
+
+       PR pch/97593
+       * cgraph.c (cgraph_node::create_thunk): Register thunk as early during
+       parsing.
+       * cgraphunit.c (analyze_functions): Call
+       thunk_info::process_early_thunks.
+       * symtab-thunks.cc (struct unprocessed_thunk): New struct.
+       (thunks): New static variable.
+       (thunk_info::register_early): New member function.
+       (thunk_info::process_early_thunks): New member function.
+       * symtab-thunks.h (thunk_info::register_early): Declare.
+       (thunk_info::process_early_thunks): Declare.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * tree-ssa-pre.c (insert): First do hoist insertion in
+       a backward walk.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97626
+       * tree-vect-slp.c (vect_slp_analyze_node_operations):
+       Exchange the lvisited hash-set for a vector, roll back
+       recursive adds to visited when analysis failed.
+       (vect_slp_analyze_operations): Likewise.
+
+2020-10-30  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for conversion intrinsics.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97633
+       * tree-vect-slp.c (): Update backedges in single-node cycles.
+       Optimize processing of externals.
+
+2020-10-30  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/96998
+       * combine.c (make_extraction): Also handle shifts written as
+       (mult x 2^n), avoid creating an extract rtx for these.
+       * config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Delete.
+       (aarch64_classify_index): Remove extract-based address handling.
+       (aarch64_strip_extend): Likewise.
+       (aarch64_rtx_arith_op_extract_p): Likewise, remove now-unused parameter.
+       Update callers...
+       (aarch64_rtx_costs): ... here.
+
+2020-10-30  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Also
+       builtin_define __ppc and __ppc__ for VxWorks 7.
+
+2020-10-30  Olivier Hainque  <hainque@adacore.com>
+           Douglas Rupp  <rupp@adacore.com>
+           Pat Bernardi  <bernardi@adacore.com>
+
+       * config.gcc: Adjust the ix86/x86_64-wrs-vxworks filters
+       to apply to VxWorks 7 as well.
+       * config/i386/t-vxworks (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
+       Remove the fPIC multilib and add one for the large code model
+       on x86_64.
+       * config/i386/vxworks.h: Separate sections for TARGET_VXWORKS7,
+       other variants and common bits.
+       (TARGET_OS_CPP_BUILTINS): Augment to support a range of CPU
+       families. Leverage VX_CPU_PREFIX.
+       (CC1_SPEC): Add definition.
+       (STACK_CHECK_PROTECT): Use conditional expression instead of
+       heavier to read conditioned macro definitions.
+
+2020-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Force
+       OMP_CLAUSE_ALLOCATE_ALLOCATOR into a temporary if it is non-NULL and
+       non-constant.
+       (gimplify_omp_for): Only put allocate on inner taskloop if lastprivate
+       for the same variable is going to be put there, and in that case
+       if the OMP_CLAUSE_ALLOCATE_ALLOCATOR is non-NULL non-constant, make
+       the allocator firstprivate on task.
+
+2020-10-30  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Allow
+       long double type to be changed for C/C++ if glibc 2.32 or newer.
+       (rs6000_invalid_binary_op): Update error messages about mixing IBM
+       long double and IEEE 128-bit.
+
+2020-10-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (compute_avail): Free operands consistently.
+       * tree-vect-loop.c (vectorizable_phi): Make sure all operand
+       defs vectors are released.
+
+2020-10-29  Jan Hubicka  <jh@suse.cz>
+
+       * vec.h (vec<T, va_heap, vl_ptr>::copy): Pass mem stat info.
+
+2020-10-29  Jan Hubicka  <jh@suse.cz>
+
+       * wide-int.h (trailing_wide_ints <N>): Turn len to array of structures
+       so it does not imply typeless storage.
+       (trailing_wide_ints <N>::operator): update
+       (trailing_wide_ints <N>::operator []): Update.
+
+2020-10-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * ginclude/stdbool.h [__STDC_VERSION__ > 201710L] (true, false):
+       Define with type _Bool.
+
+2020-10-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97505
+       * vr-values.c (vr_values::extract_range_basic): Enable
+       trap again for everything except UBSAN builtins.
+
+2020-10-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vect_transform_slp_perm_load): Take an
+       optional extra parameter.
+       * tree-vect-slp.c (vect_transform_slp_perm_load): Calculate
+       the number of loads as well as the number of permutes, taking
+       the counting loop from...
+       * tree-vect-stmts.c (vect_model_load_cost): ...here.  Use the
+       value computed by vect_transform_slp_perm_load for ncopies.
+
+2020-10-29  Martin Liska  <mliska@suse.cz>
+
+       PR lto/97508
+       * langhooks.c (lhd_begin_section): Call get_section with
+       not_existing = true.
+       * output.h (get_section): Add new argument.
+       * varasm.c (get_section): Fail when NOT_EXISTING is true
+       and a section already exists.
+       * ipa-cp.c (ipcp_write_summary): Remove.
+       (ipcp_read_summary): Likewise.
+       * ipa-fnsummary.c (ipa_fn_summary_read): Always read jump
+       functions summary.
+       (ipa_fn_summary_write): Always stream it.
+
+2020-10-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Pass
+       SLP_TREE_VECTYPE to record_stmt_cost.
+
+2020-10-29  Martin Liska  <mliska@suse.cz>
+
+       * optc-gen.awk: Check that params start with -param=.
+       * params.opt: Fix ipa-jump-function-lookups.
+
+2020-10-29  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-ssa-math-opts.c (sincos_stats): Add conv_removed.
+       (execute_cse_conv_1): New.
+       (execute_cse_sincos_1): Call it.  Fix return within
+       FOR_EACH_IMM_USE_STMT.
+       (pass_cse_sincos::execute): Report conv_inserted.
+
+2020-10-29  Xuepeng Guo  <xuepeng.guo@intel.com>
+           Hongyu Wang  <hongyu.wang@intel.com>
+           Hongtao Liu  <hongtao.liu@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect KL, AESKLE and WIDEKL features.
+       * common/config/i386/i386-common.c
+       (OPTION_MASK_ISA_KL_SET): New.
+       (OPTION_MASK_ISA_WIDEKL_SET): Likewise.
+       (OPTION_MASK_ISA_KL_UNSET): Likewise.
+       (OPTION_MASK_ISA_WIDEKL_UNSET): Likewise.
+       (OPTION_MASK_ISA2_AVX2_UNSET): Likewise.
+       (OPTION_MASK_ISA2_AVX_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE4_2_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE4_1_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE4_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSSE3_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE3_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE2_UNSET): Likewise.
+       (OPTION_MASK_ISA2_SSE_UNSET): Likewise.
+       (ix86_handle_option): Handle kl and widekl, add dependency chain
+       for KL and SSE2.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       (FEATURE_KL, FEATURE_AESKLE, FEATURE_WIDEKL): New.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for KL, AESKLE and WIDEKL.
+       * config.gcc: Add keylockerintrin.h.
+       * doc/invoke.texi: Document new option -mkl and -mwidekl.
+       * doc/extend.texi: Document kl and widekl.
+       * config/i386/cpuid.h (bit_KL, bit_AESKLE, bit_WIDEKL): New.
+       * config/i386/i386-builtin-types.def ((UINT, UINT, V2DI, V2DI, PVOID),
+       (UINT, UINT, V2DI, PVOID), (VOID, V2DI, V2DI, V2DI, UINT),
+       (UINT8, PV2DI, V2DI, PCVOID), (UINT8, PV2DI, PCV2DI, PCVOID)): New
+       function types.
+       * config/i386/i386-builtin.def: Add
+       __builtin_ia32_loadiwkey,
+       __builtin_ia32_aesdec128kl_u8,
+       __builtin_ia32_aesdec256kl_u8,
+       __builtin_ia32_aesenc128kl_u8,
+       __builtin_ia32_aesenc256kl_u8,
+       __builtin_ia32_aesdecwide128kl_u8,
+       __builtin_ia32_aesdecwide256kl_u8,
+       __builtin_ia32_aesencwide128kl_u8,
+       __builtin_ia32_aesencwide256kl_u8,
+       __builtin_ia32_encodekey128_u32,
+       __builtin_ia32_encodekey256_u32.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Handle
+       kl and widekl.
+       * config/i386/i386-options.c (isa2_opts): Add -mkl and -mwidekl.
+       (ix86_option_override_internal): Handle KL and WIDEKL.
+       (ix86_valid_target_attribute_inner_p): Add attribute for kl and widekl.
+       * config/i386/i386-expand.c
+       (ix86_expand_builtin): Expand Keylocker Builtins.
+       * config/i386/i386.h (TARGET_KL): New.
+       (TARGET_KL_P): Likewise.
+       (TARGET_WIDEKL): Likewise.
+       (TARGET_WIDEKL_P): Likewise.
+       (PTA_KL): Likewise.
+       (PTA_WIDEKL): Likewise.
+       (PTA_TIGERLAKE): Add PTA_KL, PTA_WIDEKL.
+       (PTA_ALDERLAKE): Likewise.
+       * config/i386/i386.opt: Add new option mkl and mwidekl.
+       * config/i386/keylockerintrin.h: New header file for Keylocker.
+       * config/i386/immintrin.h: Include keylockerintrin.h.
+       * config/i386/predicates.md (encodekey128_operation): New
+       predicate.
+       (encodekey256_operation): Likewise.
+       (aeswidekl_operation): Likewise.
+       * config/i386/sse.md (UNSPECV_LOADIWKEY): New.
+       (UNSPECV_AESDEC128KLU8): Likewise.
+       (UNSPECV_AESENC128KLU8): Likewise.
+       (UNSPECV_AESDEC256KLU8): Likewise.
+       (UNSPECV_AESENC256KLU8): Likewise.
+       (UNSPECV_AESDECWIDE128KLU8): Likewise.
+       (UNSPECV_AESENCWIDE128KLU8): Likewise.
+       (UNSPECV_AESDECWIDE256KLU8): Likewise.
+       (UNSPECV_AESENCWIDE256KLU8): Likewise.
+       (UNSPECV_ENCODEKEY128U32): Likewise.
+       (UNSPECV_ENCODEKEY256U32): Likewise.
+       (encodekey128u32): New expander.
+       (encodekey256u32): Likewise.
+       (aes<aeswideklvariant>u8): Likewise.
+       (loadiwkey): New insn pattern.
+       (*encodekey128u32): Likewise.
+       (*encodekey256u32): Likewise.
+       (aes<aesklvariant>u8): Likewise.
+       (*aes<aeswideklvariant>u8): Likewise.
+
+2020-10-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_2): Allow splatting
+       not vectorizable loads.
+       (vect_build_slp_instance): Amend dumping with address.
+       (vect_slp_convert_to_external): Likewise.
+
+2020-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97609
+       * gimple-range-cache.cc (non_null_ref::process_name): Call
+       infer_nonnull_range directly instead of infer_value_range.
+
+2020-10-29  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/complexity.o.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * doc/invoke.texi: Document -Wdeprecated-enum-enum-conversion
+       and -Wdeprecated-enum-float-conversion.  -Wenum-conversion is
+       no longer C/ObjC only.
+
+2020-10-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/97457
+       * value-range.cc (irange::set): Don't decay POLY_INT_CST ranges
+       to integer ranges.
+
+2020-10-28  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/vsx.md(xxgenpcvm_<mode>_internal): Remove TARGET_64BIT.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_analyze_node_operations_1): Dump
+       when shared vectype update fails.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): For skipped
+       args just push NULLs and vect_uninitialized_def.
+       (vect_build_slp_tree_2): Allocate skip_args for all ops
+       and pass it down to vect_get_and_check_slp_defs.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97615
+       * tree-vect-slp.c (vect_build_slp_tree_2): Do not build
+       an external from pattern defs.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_optimize_slp): Fix iteration over
+       all loads.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_instance): Split the store
+       group at the failure boundary and also re-analyze a large enough
+       matching rest.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_slp_analyze_node_alignment):
+       Dump when vect_update_shared_vectype fails.
+
+2020-10-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/arm_neon.h (__ST2_LANE_FUNC, __ST3_LANE_FUNC)
+       (__ST4_LANE_FUNC): Rename the macro generating the 'q' variants
+       into __ST2Q_LANE_FUNC, __ST2Q_LANE_FUNC, __ST2Q_LANE_FUNC so they
+       all can be undefed at the and of the file.
+       (vst2_lane_bf16, vst2q_lane_bf16, vst3_lane_bf16, vst3q_lane_bf16)
+       (vst4_lane_bf16, vst4q_lane_bf16): Add new intrinsics.
+
+2020-10-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/arm_neon.h (__LD2_LANE_FUNC, __LD3_LANE_FUNC)
+       (__LD4_LANE_FUNC): Rename the macro generating the 'q' variants
+       into __LD2Q_LANE_FUNC, __LD2Q_LANE_FUNC, __LD2Q_LANE_FUNC so they
+       all can be undefed at the and of the file.
+       (vld2_lane_bf16, vld2q_lane_bf16, vld3_lane_bf16, vld3q_lane_bf16)
+       (vld4_lane_bf16, vld4q_lane_bf16): Add new intrinsics.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_ALLOCATE.
+       * tree.h (OMP_CLAUSE_ALLOCATE_ALLOCATOR,
+       OMP_CLAUSE_ALLOCATE_COMBINED): Define.
+       * tree.c (omp_clause_num_ops, omp_clause_code_name): Add allocate
+       clause.
+       (walk_tree_1): Handle OMP_CLAUSE_ALLOCATE.
+       * tree-pretty-print.c (dump_omp_clause): Likewise.
+       * gimplify.c (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses,
+       gimplify_omp_for): Likewise.
+       * tree-nested.c (convert_nonlocal_omp_clauses,
+       convert_local_omp_clauses): Likewise.
+       * omp-low.c (scan_sharing_clauses): Likewise.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-offload.c (omp_declare_target_tgt_fn_r): Handle direct calls to
+       declare variant base functions.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/96680
+       * lto-streamer.h (omp_lto_output_declare_variant_alt,
+       omp_lto_input_declare_variant_alt): Declare variant.
+       * symtab.c (symtab_node::get_partitioning_class): Return
+       SYMBOL_DUPLICATE for declare_variant_alt nodes.
+       * passes.c (ipa_write_summaries): Add declare_variant_alt to
+       partition.
+       * lto-cgraph.c (output_refs): Call omp_lto_output_declare_variant_alt
+       on declare_variant_alt nodes.
+       (input_refs): Call omp_lto_input_declare_variant_alt on
+       declare_variant_alt nodes.
+       * lto-streamer-out.c (output_function): Don't call
+       collect_block_tree_leafs if DECL_INITIAL is error_mark_node.
+       (lto_output): Call output_function even for declare_variant_alt
+       nodes.
+       * omp-general.c (omp_lto_output_declare_variant_alt,
+       omp_lto_input_declare_variant_alt): New functions.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * wide-int.cc (wi::set_bit_large): Call canonize unless setting
+       msb bit and clearing bits above it.
+
+2020-10-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute_cache::cache_stmt): Accumulate
+       return values and only set cache when everything returned true.
+       * gimple-range.cc (get_tree_range): Set the return range to UNDEFINED
+       when the range isn't supported.
+       (gimple_ranger::calc_stmt): Return varying if the type is supported,
+       even if the stmt processing failed.  False otherwise.
+       (range_of_builtin_ubsan_call): Don't use gcc_assert.
+       (range_of_builtin_call): Ditto.
+       (gimple_ranger::range_of_cond_expr): Ditto.
+       (gimple_ranger::range_of_expr): Ditto
+       (gimple_ranger::range_on_entry): Ditto.
+       (gimple_ranger::range_on_exit): Ditto.
+       (gimple_ranger::range_on_edge): DItto.
+       (gimple_ranger::range_of_stmt): Don't use gcc_assert, and initialize
+       return value to UNDEFINED.
+
+2020-10-27  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR rtl-optimization/97497
+       * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Do not
+       return true for r12 when -fpic is used.
+
+2020-10-27  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/97535
+       * config/aarch64/aarch64.c (aarch64_expand_cpymem): Use unsigned
+       arithmetic in check.
+
+2020-10-27  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/arm_neon.h (vcopy_lane_bf16, vcopyq_lane_bf16)
+       (vcopyq_laneq_bf16, vcopy_laneq_bf16): New intrinsics.
+
+2020-10-27  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VX_CPU_PREFIX): #define here.
+       * config/rs6000/vxworks.h: Remove #definition.
+
+2020-10-27  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/vxworks.h (CPP_SPEC): Fix macro definition
+       for -mcpu=e6500.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_instance): Use ceil_log2
+       to compute maximum group-size.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97586
+       * ipa-modref-tree.h (modref_tree::remap_params): New member function.
+       * ipa-modref.c (modref_summaries_lto::duplicate): Check that
+       optimization summaries are not duplicated.
+       (remap_arguments): Remove.
+       (modref_transform): Rename to ...
+       (update_signature): ... this one; handle also lto summary.
+       (pass_ipa_modref::execute): Update signatures here rather
+       than in transform hook.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_bbs): Remove no-op
+       slp-max-insns-in-bb check.
+       (vect_slp_function): Dump when splitting the function.
+       Adjust the split condition for control altering stmts.
+       * params.opt (-param=slp-max-insns-in-bb): Remove.
+       * doc/invoke.texi (-param=slp-max-insns-in-bb): Likewise.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * gimple.h (gimple_expr_type): For PHIs return the type
+       of the result.
+       * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
+       Make sure edge order into copied loop headers line up with the
+       originals.
+       * tree-vect-loop.c (vect_transform_cycle_phi): Handle nested
+       loops with SLP.
+       (vectorizable_phi): New function.
+       (vectorizable_live_operation): For BB vectorization compute insert
+       location here.
+       * tree-vect-slp.c (vect_free_slp_tree): Deal with NULL
+       SLP_TREE_CHILDREN entries.
+       (vect_create_new_slp_node): Add overloads with pre-existing node
+       argument.
+       (vect_print_slp_graph): Likewise.
+       (vect_mark_slp_stmts): Likewise.
+       (vect_mark_slp_stmts_relevant): Likewise.
+       (vect_gather_slp_loads): Likewise.
+       (vect_optimize_slp): Likewise.
+       (vect_slp_analyze_node_operations): Likewise.
+       (vect_bb_slp_scalar_cost): Likewise.
+       (vect_remove_slp_scalar_calls): Likewise.
+       (vect_get_and_check_slp_defs): Handle PHIs.
+       (vect_build_slp_tree_1): Handle PHIs.
+       (vect_build_slp_tree_2): Continue SLP build, following PHI
+       arguments.  Fix memory leak.
+       (vect_build_slp_tree): Put stub node into the hash-map so
+       we can discover cycles directly.
+       (vect_build_slp_instance): Set the backedge SLP def for
+       reduction chains.
+       (vect_analyze_slp_backedges): Remove.
+       (vect_analyze_slp): Do not call it.
+       (vect_slp_convert_to_external): Release SLP_TREE_LOAD_PERMUTATION.
+       (vect_slp_analyze_node_operations): Handle stray failed
+       backedge defs by failing.
+       (vect_slp_build_vertices): Adjust leaf condition.
+       (vect_bb_slp_mark_live_stmts): Handle PHIs, use visited
+       hash-set to handle cycles.
+       (vect_slp_analyze_operations): Adjust.
+       (vect_bb_partition_graph_r): Likewise.
+       (vect_slp_function): Adjust split condition to allow CFG
+       merges.
+       (vect_schedule_slp_instance): Rename to ...
+       (vect_schedule_slp_node): ... this.  Move DFS walk to ...
+       (vect_schedule_scc): ... this new function.
+       (vect_schedule_slp): Call it.  Remove ad-hoc vectorized
+       backedge fill code.
+       * tree-vect-stmts.c (vect_analyze_stmt): Call
+       vectorizable_phi.
+       (vect_transform_stmt): Likewise.
+       (vect_is_simple_use): Handle vect_backedge_def.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Only
+       set loop header PHIs to vect_unknown_def_type for loop
+       vectorization.
+       * tree-vectorizer.h (enum vect_def_type): Add vect_backedge_def.
+       (enum stmt_vec_info_type): Add phi_info_type.
+       (vectorizable_phi): Declare.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_2): When vectorizing
+       BBs splat uniform operands and stop SLP discovery.
+
+2020-10-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
+       Remove.
+       * config/glibc-d.c (glibc_d_critsec_size): Likewise.
+       (TARGET_D_CRITSEC_SIZE): Likewise.
+       * config/i386/linux-common.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
+       Likewise.
+       * config/sol2-d.c (solaris_d_critsec_size): Likewise.
+       (TARGET_D_CRITSEC_SIZE):  Likewise.
+       * doc/tm.texi.in (TARGET_D_CRITSEC_SIZE): Likewise.
+       * doc/tm.texi: Regenerate.
+
+2020-10-27  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97461
+       * gcov-io.h (GCOV_PREALLOCATED_KVP): Pre-allocate 64
+       static counters.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (attr_fnspec::verify): Re-enabl checking.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       * builtin-attrs.def (STRERRNOC): New macro.
+       (STRERRNOP): New macro.
+       (ATTR_ERRNOCONST_NOTHROW_LEAF_LIST): New attr list.
+       (ATTR_ERRNOPURE_NOTHROW_LEAF_LIST): New attr list.
+       * builtins.def (ATTR_MATHFN_ERRNO): Use
+       ATTR_ERRNOCONST_NOTHROW_LEAF_LIST.
+       (ATTR_MATHFN_FPROUNDING_ERRNO): Use ATTR_ERRNOCONST_NOTHROW_LEAF_LIST
+       or ATTR_ERRNOPURE_NOTHROW_LEAF_LIST.
+
+2020-10-27  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (opt_var_ref_t): New.
+       (riscv_ext_flag_table_t): New.
+       (riscv_ext_flag_table): New.
+       (riscv_parse_arch_string): Pass gcc_options* instead of
+       &opts->x_target_flags only, and using riscv_arch_option_table to
+       setup flags.
+       (riscv_handle_option): Update argument for riscv_parse_arch_string.
+       (riscv_expand_arch): Ditto.
+       (riscv_expand_arch_from_cpu): Ditto.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-ccp.c (evaluate_stmt): Use EAF_RETURN_ARG; do not handle
+       string buitings specially.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (set_call_expr_flags): Fix string for ECF_RET1.
+       (build_common_builtin_nodes): Do not set ECF_RET1 for memcpy, memmove,
+       and memset. They are handled by builtin_fnspec.
+
+2020-10-27  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (builtin_fnspec): Add bzero, memcmp, memcmp_eq, bcmp,
+       strncmp, strncmp_eq, strncasecmp, rindex, strlen, strlnen, strcasecmp,
+       strcspn, strspn, strcmp, strcmp_eq.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (slp_tree_pool): Declare.
+       (_slp_tree::operator new): Likewise.
+       (_slp_tree::operator delete): Likewise.
+       * tree-vectorizer.c (vectorize_loops): Allocate and free the
+       slp_tree_pool.
+       (pass_slp_vectorize::execute): Likewise.
+       * tree-vect-slp.c (slp_tree_pool): Define.
+       (_slp_tree::operator new): Likewise.
+       (_slp_tree::operator delete): Likewise.
+
+2020-10-27  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (run_gcc): Do not use sub-make when jobserver is
+       not detected properly.
+
+2020-10-27  Martin Liska  <mliska@suse.cz>
+
+       * symbol-summary.h (call_summary_base): Pass symtab hooks to
+       base and register (or unregister) hooks directly.
+
+2020-10-27  Martin Liska  <mliska@suse.cz>
+
+       * symbol-summary.h (function_summary_base::unregister_hooks):
+       Call disable_insertion_hook and disable_duplication_hook.
+       (function_summary_base::symtab_insertion): New field.
+       (function_summary_base::symtab_removal): Likewise.
+       (function_summary_base::symtab_duplication): Likewise.
+       Register hooks in function_summary_base and directly register
+       (or unregister) hooks.
+
+2020-10-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97567
+       * gimple-range-gori.cc (gori_compute::logical_combine): Union the
+       ranges of operand1 and operand2, not intersect.
+
+2020-10-26  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h: Update toplevel comment.
+       (attr_fnspec::attr_fnspec): New constructor.
+       (attr_fnspec::arg_read_p,
+       attr_fnspec::arg_written_p,
+       attr_fnspec::arg_access_size_given_by_arg_p,
+       attr_fnspec::arg_single_access_p
+       attr_fnspec::loads_known_p
+       attr_fnspec::stores_known_p,
+       attr_fnspec::clobbers_errno_p): New member functions.
+       (gimple_call_fnspec): Declare.
+       (builtin_fnspec): Declare.
+       * builtins.c: Include attr-fnspec.h
+       (builtin_fnspec): New function.
+       * builtins.def (BUILT_IN_MEMCPY): Do not specify RET1 fnspec.
+       (BUILT_IN_MEMMOVE): Do not specify RET1 fnspec.
+       (BUILT_IN_MEMSET): Do not specify RET1 fnspec.
+       (BUILT_IN_STRCAT): Do not specify RET1 fnspec.
+       (BUILT_IN_STRCPY): Do not specify RET1 fnspec.
+       (BUILT_IN_STRNCAT): Do not specify RET1 fnspec.
+       (BUILT_IN_STRNCPY): Do not specify RET1 fnspec.
+       (BUILT_IN_MEMCPY_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_MEMMOVE_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_MEMSET_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_STRCAT_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_STRCPY_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_STRNCAT_CHK): Do not specify RET1 fnspec.
+       (BUILT_IN_STRNCPY_CHK): Do not specify RET1 fnspec.
+       * gimple.c (gimple_call_fnspec): Return attr_fnspec.
+       (gimple_call_arg_flags): Update.
+       (gimple_call_return_flags): Update.
+       * tree-ssa-alias.c (check_fnspec): New function.
+       (ref_maybe_used_by_call_p_1): Use fnspec for builtin handling.
+       (call_may_clobber_ref_p_1): Likewise.
+       (attr_fnspec::verify): Update verifier.
+       * calls.c (decl_fnspec): New function.
+       (decl_return_flags): Use it.
+
+2020-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97555
+       * range-op.cc (range_tests): Test 1-bit signed invert.
+       * value-range.cc (subtract_one): Adjust comment.
+       (add_one): New.
+       (irange::invert): Call add_one.
+
+2020-10-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (cgraph_node::optimize_for_size_p): Return
+       optimize_size_level.
+       (cgraph_node::optimize_for_size_p): Update.
+       * coretypes.h (enum optimize_size_level): New enum.
+       * predict.c (unlikely_executed_edge_p): Microoptimize.
+       (optimize_function_for_size_p): Return optimize_size_level.
+       (optimize_bb_for_size_p): Likewise.
+       (optimize_edge_for_size_p): Likewise.
+       (optimize_insn_for_size_p): Likewise.
+       (optimize_loop_nest_for_size_p): Likewise.
+       * predict.h (optimize_function_for_size_p): Update declaration.
+       (optimize_bb_for_size_p): Update declaration.
+       (optimize_edge_for_size_p): Update declaration.
+       (optimize_insn_for_size_p): Update declaration.
+       (optimize_loop_for_size_p): Update declaration.
+       (optimize_loop_nest_for_size_p): Update declaration.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (enum slp_instance_kind): New.
+       (vect_build_slp_instance): Split out from...
+       (vect_analyze_slp_instance): ... this.
+
+2020-10-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (range_of_builtin_call): Initialize zerov to 0.
+
+2020-10-26  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97576
+       * cgraphclones.c (cgraph_node::materialize_clone): Clear stmt
+       references.
+       * cgraphunit.c (mark_functions_to_output): Do not clear them here.
+       * ipa-inline-transform.c (inline_transform): Clear stmt references.
+       * symtab.c (symtab_node::clear_stmts_in_references): Make recursive
+       for clones.
+       * tree-ssa-structalias.c (ipa_pta_execute): Do not clear references.
+
+2020-10-26  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c: Add FLAG STORE.
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for store intrinsics.
+
+2020-10-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/97546
+       * gimple-ssa-store-merging.c (find_bswap_or_nop): Return NULL if
+       type is not INTEGER_CST.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * expr.c (const_scalar_mask_from_tree): Remove.
+       (expand_expr_real_1): Always VIEW_CONVERT integer mode
+       vector constants to an integer type.
+       * tree.c (build_truth_vector_type_for_mode): Use a single-bit
+       boolean component type for non-vector-mode mask_mode.
+
+2020-10-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95458
+       * config/i386/i386-expand.c (ix86_expand_cmpstrn_or_cmpmem):
+       Return false for -mno-inline-all-stringops.
+
+2020-10-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95151
+       * config/i386/i386-expand.c (ix86_expand_cmpstrn_or_cmpmem): New
+       function.
+       * config/i386/i386-protos.h (ix86_expand_cmpstrn_or_cmpmem): New
+       prototype.
+       * config/i386/i386.md (cmpmemsi): New pattern.
+
+2020-10-26  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/vector.md ("vcond_mask_<mode><mode>"): New expander.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       * sbitmap.c (sbitmap_vector_alloc): Use size_t for byte
+       quantities to avoid overflow.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97539
+       * tree-vect-loop-manip.c (vect_do_peeling): Reset out-of-loop
+       debug uses before peeling.
+
+2020-10-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.h (struct cgraph_node): Make ipa_transforms_to_apply vl_ptr.
+       * ipa-inline-analysis.c (initialize_growth_caches): Disable insertion
+       and duplication hooks.
+       * ipa-inline-transform.c (clone_inlined_nodes): Clear
+       ipa_transforms_to_apply.
+       (save_inline_function_body): Disable insertion hoook for
+       ipa_saved_clone_sources.
+       * ipa-prop.c (ipcp_transformation_initialize): Disable insertion hook.
+       * ipa-prop.h (ipa_node_params_t): Disable insertion hook.
+       * ipa-reference.c (propagate): Disable insertion hoook.
+       * ipa-sra.c (ipa_sra_summarize_function): Move out of anonymous
+       namespace.
+       (ipa_sra_function_summaries::insert): New virtual function.
+       * passes.c (execute_one_pass): Do not add transforms to inline clones.
+       * symbol-summary.h (function_summary_base): Make insert and duplicate
+       hooks fail instead of silently producing empty summaries; add way to
+       disable duplication hooks
+       (call_summary_base): Likewise.
+       * tree-nested.c (nested_function_info::get_create): Disable insertion
+       hooks
+       (maybe_record_nested_function): Likewise.
+
+2020-10-26  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * cfg.c (debug_bb): New overloaded function.
+       (debug_bb_n): New overloaded function.
+       * cfg.h (debug_bb): New declaration.
+       (debug_bb_n): New declaration.
+       * print-rtl.c (debug_bb_slim): Call debug_bb with flags.
+
+2020-10-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/97451
+       * configure.ac (HAVE_AS_WORKING_DWARF_4_FLAG): Renamed to ...
+       (HAVE_AS_WORKING_DWARF_N_FLAG): This.  Don't define if there is
+       an extra assembly input file in debug info.  Replace success
+       with dwarf4_success in the 32-bit --gdwarf-4 check.
+       * dwarf2out.c (asm_outputs_debug_line_str): Check
+       HAVE_AS_WORKING_DWARF_N_FLAG instead of
+       HAVE_AS_WORKING_DWARF_4_FLAG.
+       * gcc.c (ASM_DEBUG_SPEC): Likewise.
+       (ASM_DEBUG_OPTION_SPEC): Likewise.
+       * config.in: Regenerated.
+       * configure: Likewise.
+
+2020-10-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97538
+       * calls.c (get_size_range): Handle undefined ranges.
+
+2020-10-24  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::former_thunk_p): Move out of CHECKING_P
+       macro.
+
+2020-10-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Limit
+       AND addressing to just lvx/stvx style addresses.
+
+2020-10-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (cstore<mode>4): Don't call
+       rs6000_emit_int_cmove for power10 when -mno-isel.
+
+2020-10-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * Makefile.in: Add symtab-thunks.o
+       (GTFILES): Add symtab-thunks.h and symtab-thunks.cc; remove cgraphunit.c
+       * cgraph.c: Include symtab-thunks.h.
+       (cgraph_node::create_thunk): Update
+       (symbol_table::create_edge): Update
+       (cgraph_node::dump): Update
+       (cgraph_node::call_for_symbol_thunks_and_aliases): Update
+       (set_nothrow_flag_1): Update
+       (set_malloc_flag_1): Update
+       (set_const_flag_1): Update
+       (collect_callers_of_node_1): Update
+       (clone_of_p): Update
+       (cgraph_node::verify_node): Update
+       (cgraph_node::function_symbol): Update
+       (cgraph_c_finalize): Call thunk_info::release.
+       (cgraph_node::has_thunk_p): Update
+       (cgraph_node::former_thunk_p): Move here from cgraph.h; reimplement.
+       * cgraph.h (struct cgraph_thunk_info): Rename to symtab-thunks.h.
+       (cgraph_node): Remove thunk field; add thunk bitfield.
+       (cgraph_node::expand_thunk): Move to symtab-thunks.h
+       (symtab_thunks_cc_finalize): Declare.
+       (cgraph_node::has_gimple_body_p): Update.
+       (cgraph_node::former_thunk_p): Update.
+       * cgraphclones.c: Include symtab-thunks.h.
+       (duplicate_thunk_for_node): Update.
+       (cgraph_edge::redirect_callee_duplicating_thunks): Update.
+       (cgraph_node::expand_all_artificial_thunks): Update.
+       (cgraph_node::create_edge_including_clones): Update.
+       * cgraphunit.c: Include symtab-thunks.h.
+       (vtable_entry_type): Move to symtab-thunks.c.
+       (cgraph_node::analyze): Update.
+       (analyze_functions): Update.
+       (mark_functions_to_output): Update.
+       (thunk_adjust): Move to symtab-thunks.c
+       (cgraph_node::expand_thunk): Move to symtab-thunks.c
+       (cgraph_node::assemble_thunks_and_aliases): Update.
+       (output_in_order): Update.
+       (cgraphunit_c_finalize): Do not clear vtable_entry_type.
+       (cgraph_node::create_wrapper): Update.
+       * gengtype.c (open_base_files): Add symtab-thunks.h
+       * ipa-comdats.c (propagate_comdat_group): UPdate.
+       (ipa_comdats): Update.
+       * ipa-cp.c (determine_versionability): UPdate.
+       (gather_caller_stats): Update.
+       (count_callers): Update
+       (set_single_call_flag): Update
+       (initialize_node_lattices): Update
+       (call_passes_through_thunk_p): Update
+       (call_passes_through_thunk): Update
+       (propagate_constants_across_call): Update
+       (find_more_scalar_values_for_callers_subset): Update
+       (has_undead_caller_from_outside_scc_p): Update
+       * ipa-fnsummary.c (evaluate_properties_for_edge): Update.
+       (compute_fn_summary): Update.
+       (inline_analyze_function): Update.
+       * ipa-icf.c: Include symtab-thunks.h.
+       (sem_function::equals_wpa): Update.
+       (redirect_all_callers): Update.
+       (sem_function::init): Update.
+       (sem_function::parse): Update.
+       * ipa-inline-transform.c: Include symtab-thunks.h.
+       (inline_call): Update.
+       (save_inline_function_body): Update.
+       (preserve_function_body_p): Update.
+       * ipa-inline.c (inline_small_functions): Update.
+       * ipa-polymorphic-call.c: Include alloc-pool.h, symbol-summary.h,
+       symtab-thunks.h
+       (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Update.
+       * ipa-pure-const.c: Include symtab-thunks.h.
+       (analyze_function): Update.
+       * ipa-sra.c (check_for_caller_issues): Update.
+       * ipa-utils.c (ipa_reverse_postorder): Update.
+       (ipa_merge_profiles): Update.
+       * ipa-visibility.c (non_local_p): Update.
+       (cgraph_node::local_p): Update.
+       (function_and_variable_visibility): Update.
+       * ipa.c (symbol_table::remove_unreachable_nodes): Update.
+       * lto-cgraph.c: Include alloc-pool.h, symbol-summary.h and
+       symtab-thunks.h
+       (lto_output_edge): Update.
+       (lto_output_node): Update.
+       (compute_ltrans_boundary): Update.
+       (output_symtab): Update.
+       (verify_node_partition): Update.
+       (input_overwrite_node): Update.
+       (input_node): Update.
+       * lto-streamer-in.c (fixup_call_stmt_edges): Update.
+       * symtab-thunks.cc: New file.
+       * symtab-thunks.h: New file.
+       * toplev.c (toplev::finalize): Call symtab_thunks_cc_finalize.
+       * trans-mem.c (ipa_tm_mayenterirr_function): Update.
+       (ipa_tm_execute): Update.
+       * tree-inline.c (expand_call_inline): Update.
+       * tree-nested.c (create_nesting_tree): Update.
+       (convert_all_function_calls): Update.
+       (gimplify_all_functions): Update.
+       * tree-profile.c (tree_profiling): Update.
+       * tree-ssa-structalias.c (associate_varinfo_to_alias): Update.
+       * tree.c (free_lang_data_in_decl): Update.
+       * value-prof.c (init_node_map): Update.
+
+2020-10-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91741
+       * doc/invoke.texi: Document -Wsizeof-array-div.
+
+2020-10-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97552
+       * attribs.c (init_attr_rdwr_indices): Handle static VLA parameters.
+
+2020-10-23  Douglas Rupp  <rupp@adacore.com>
+
+       * config/vxworks.h (VXWORKS_NET_LIBS_RTP): Use -lrtnet if
+       rtnetStackLib.h is available,fallback to -lnet otherwise.
+
+2020-10-23  Douglas Rupp  <rupp@adacore.com>
+
+       * gcc.c (if-exists-then-else): New built-in spec function.
+       * doc/invoke.texi: Document it.
+
+2020-10-23  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
+
+       * doc/extend.texi (PowerPC Built-in Functions): Replace
+       extraneous characters with whitespace.
+
+2020-10-23  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (read_count_file): Never call gcov_sync with a negative
+       value.
+
+2020-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (PLUGIN_HEADERS): Add gomp-constants.h and $(EXPR_H).
+       (s-header-vars): Accept not just spaces but also tabs between *_H name
+       and =.  Handle common/config/ headers similarly to config.  Don't
+       throw away everything from first ... to last / on the remaining
+       string, instead skip just ... to corresponding last / without
+       intervening spaces and tabs.
+       (install-plugin): Treat common/config headers like config headers.
+       * config/i386/t-i386 (TM_H): Add
+       $(srcdir)/common/config/i386/i386-cpuinfo.h.
+
+2020-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97164
+       * stor-layout.c (layout_type): Also reject arrays where element size
+       is constant, but not a multiple of element alignment.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-loop-ivopts.c (analyze_and_mark_doloop_use): Bail out if
+       the loop is subject to a pragma Unroll with no specific count.
+
+2020-10-23  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vsubq<mode>): New entry for vsub instruction
+       using expression 'minus'.
+       (mve_vsubq_f<mode>): Use minus instead of VSUBQ_F unspec.
+       * config/arm/neon.md (sub<mode>3, sub<mode>3_fp16): Removed.
+       (neon_vsub<mode>): Use gen_sub<mode>3 instead of gen_sub<mode>3_fp16.
+       * config/arm/vec-common.md (sub<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use iterator VDQ instead of VALL.
+
+2020-10-23  Martin Liska  <mliska@suse.cz>
+
+       PR lto/97524
+       * lto-wrapper.c (make_exists): New function.
+       (run_gcc): Use it to check that make is present and working
+       for parallel execution.
+
+2020-10-23  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * expr.c (expand_expr_real_1): Be more careful when
+       expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs.
+
+2020-10-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_transform_loop): Remove the redundant
+       LOOP_VINFO_FULLY_MASKED_P check.
+
+2020-10-23  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vsubq<mode>): New entry for vsub instruction
+       using expression 'minus'.
+       (mve_vsubq_f<mode>): Use minus instead of VSUBQ_F unspec.
+       * config/arm/neon.md (sub<mode>3, sub<mode>3_fp16): Removed.
+       (neon_vsub<mode>): Use gen_sub<mode>3 instead of gen_sub<mode>3_fp16.
+       * config/arm/vec-common.md (sub<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use iterator VDQ instead of VALL.
+
+2020-10-22  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_xxspltidp_v2df): Delete
+       debug printf.  Remove trailing ".\n" from inform message.
+       Break long line.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (is_gimple_logical_p): Use types_compatible_p
+       for logical compatibility.
+       (logical_stmt_cache::cacheable_p): Ditto.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (cgraph_node::get_untransformed_body): Perform lazy
+       clone materialization.
+       * cgraph.h (cgraph_node::materialize_clone): Declare.
+       (symbol_table::materialize_all_clones): Remove.
+       * cgraphclones.c (cgraph_materialize_clone): Turn to ...
+       (cgraph_node::materialize_clone): .. this one; move here
+       dumping from symbol_table::materialize_all_clones.
+       (symbol_table::materialize_all_clones): Remove.
+       * cgraphunit.c (mark_functions_to_output): Clear stmt references.
+       (cgraph_node::expand): Initialize bitmaps early;
+       do not call execute_all_ipa_transforms if there are no transforms.
+       * ipa-inline-transform.c (save_inline_function_body): Fix formating.
+       (inline_transform): Materialize all clones before function is modified.
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call):
+       Materialize clone if needed.
+       * ipa.c (class pass_materialize_all_clones): Remove.
+       (make_pass_materialize_all_clones): Remove.
+       * passes.c (execute_all_ipa_transforms): Materialize all clones.
+       * passes.def: Remove pass_materialize_all_clones.
+       * tree-pass.h (make_pass_materialize_all_clones): Remove.
+       * tree-ssa-structalias.c (ipa_pta_execute): Clear refs.
+
+2020-10-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_xl_zext, vec_xl_sext, vec_xst_trunc):
+       New defines.
+       * config/rs6000/rs6000-builtin.def (BU_P10V_OVERLOAD_X): New builtin
+       macro.
+       (BU_P10V_AV_X): New builtin macro.
+       (se_lxvrhbx, se_lxrbhx, se_lxvrwx, se_lxvrdx): Define internal names
+       for load and sign extend vector element.
+       (ze_lxvrbx, ze_lxvrhx, ze_lxvrwx, ze_lxvrdx): Define internal names
+       for load and zero extend vector element.
+       (tr_stxvrbx, tr_stxvrhx, tr_stxvrwx, tr_stxvrdx): Define internal names
+       for truncate and store vector element.
+       (se_lxvrx, ze_lxvrx, tr_stxvrx): Define internal names for overloaded
+       load/store rightmost element.
+       * config/rs6000/rs6000-call.c (altivec_builtin_types): Define the
+       internal monomorphs P10_BUILTIN_SE_LXVRBX, P10_BUILTIN_SE_LXVRHX,
+       P10_BUILTIN_SE_LXVRWX, P10_BUILTIN_SE_LXVRDX,
+       P10_BUILTIN_ZE_LXVRBX, P10_BUILTIN_ZE_LXVRHX, P10_BUILTIN_ZE_LXVRWX,
+       P10_BUILTIN_ZE_LXVRDX,
+       P10_BUILTIN_TR_STXVRBX, P10_BUILTIN_TR_STXVRHX, P10_BUILTIN_TR_STXVRWX,
+       P10_BUILTIN_TR_STXVRDX,
+       (altivec_expand_lxvr_builtin): New expansion for load element builtins.
+       (altivec_expand_stv_builtin): Update to for truncate and store builtins.
+       (altivec_expand_builtin): Add clases for load/store rightmost builtins.
+       (altivec_init_builtins): Add def_builtin entries for
+       __builtin_altivec_se_lxvrbx, __builtin_altivec_se_lxvrhx,
+       __builtin_altivec_se_lxvrwx, __builtin_altivec_se_lxvrdx,
+       __builtin_altivec_ze_lxvrbx, __builtin_altivec_ze_lxvrhx,
+       __builtin_altivec_ze_lxvrwx, __builtin_altivec_ze_lxvrdx,
+       __builtin_altivec_tr_stxvrbx, __builtin_altivec_tr_stxvrhx,
+       __builtin_altivec_tr_stxvrwx, __builtin_altivec_tr_stxvrdx,
+       __builtin_vec_se_lxvrx, __builtin_vec_ze_lxvrx, __builtin_vec_tr_stxvrx.
+       * config/rs6000/vsx.md (vsx_lxvr<wd>x, vsx_stxvr<wd>x, vsx_stxvr<wd>x):
+       New define_insn entries.
+       * doc/extend.texi:  Add documentation for vsx_xl_sext, vsx_xl_zext,
+       and vec_xst_trunc.
+
+2020-10-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/vsx.md (enum unspec): Add
+       UNSPEC_EXTENDDITI2 and UNSPEC_MTVSRD_DITI_W1 entries.
+       (mtvsrdd_diti_w1, extendditi2_vector): New define_insns.
+       (extendditi2): New define_expand.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/mingw-w64.h (TARGET_LIBC_HAS_FUNCTION): Enable
+       sincos optimization.
+
+2020-10-22  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/vsx.md (vec_cntmb_<mode>, vec_extract_<mode>),
+       (vec_expand_<mode>): Replace <VSX_MM_SUFFIX> with <wd>.
+
+2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Refactor so
+       computing a vector type early is not needed, for store group
+       splitting compute a new vector type based on the desired
+       group size.
+
+2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * expr.c (expand_expr_real_1): Be more careful when
+       expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs.
+
+2020-10-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * ipa-modref-tree.c (selftest::test_insert_search_collapse): Fix
+       leak.
+       (selftest::test_merge): Fix leaks.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/97502
+       * config/s390/vector.md ("vec_cmp<VI_HW:mode><VI_HW:mode>")
+       ("vec_cmpu<VI_HW:mode><VI_HW:mode>"): New expanders.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR rtl-optimization/97439
+       * dfp.c (decimal_real_maxval): Set the sign flag in the
+       generated number.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       PR c/94722
+       * cfgexpand.c (stack_protect_decl_phase):
+       Guard with lookup_attribute("no_stack_protector") at
+       various places.
+       (expand_used_vars): Likewise here.
+       * doc/extend.texi: Document no_stack_protector attribute.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       * cfgexpand.c: Move the enum to ...
+       * coretypes.h (enum stack_protector): ... here.
+       * function.c (assign_parm_adjust_stack_rtl): Use the stack_protector
+       enum.
+
+2020-10-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator: Add TODO, import itertools
+       and functools.reduce.
+       Handle expantion operator.
+       (LONG_EXT_PREFIXES): New.
+       (arch_canonicalize): Update comment and improve python3
+       debuggability/compatibility.
+       (add_underline_prefix): New.
+       (_expand_combination): Ditto.
+       (unique): Ditto.
+       (expand_combination): Ditto.
+
+2020-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-phiopt.c (cond_removal_in_popcount_clz_ctz_pattern):
+       For CLZ and CTZ tests, use type temporary instead of mode.
+
+2020-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * config.gcc (x86_archs): Add samuel-2, nehemiah, c7 and esther.
+       (x86_64_archs): Add eden-x2, nano, nano-1000, nano-2000, nano-3000,
+       nano-x2, eden-x4, nano-x4, x86-64-v2, x86-64-v3 and x86-64-v4.
+       (i[34567]86-*-* | x86_64-*-*): Only allow x86-64-v* as argument
+       to --with-arch_64=.
+
+2020-10-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (funct_state_summary_t::insert): Free stale
+       summaries.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c: Include tree-nested.h
+       (cgraph_node::create): Call maybe_record_nested_function.
+       (cgraph_node::remove): Do not remove function from nested function
+       infos.
+       (cgraph_node::dump): Update.
+       (cgraph_node::unnest): Move to tree-nested.c
+       (cgraph_node::verify_node): Update.
+       (cgraph_c_finalize): Call nested_function_info::release.
+       * cgraph.h (struct symtab_node): Remove nested function info.
+       * cgraphclones.c (cgraph_node::create_clone): Do not clone nested
+       function info.
+       * cgraphunit.c (cgraph_node::analyze): Update.
+       (cgraph_node::expand): Do not worry about nested functions; they are
+       lowered.
+       (symbol_table::finalize_compilation_unit): Call
+       nested_function_info::release.
+       * gimplify.c: Include tree-nested.h
+       (unshare_body): Update.
+       (unvisit_body): Update.
+       * omp-offload.c (omp_discover_implicit_declare_target): Update.
+       * tree-nested.c: Include alloc-pool.h, tree-nested.h, symbol-summary.h
+       (nested_function_sum): New static variable.
+       (nested_function_info::get): New member function.
+       (nested_function_info::get_create): New member function.
+       (unnest_function): New function.
+       (nested_function_info::~nested_function_info): New member function.
+       (nested_function_info::release): New function.
+       (maybe_record_nested_function): New function.
+       (lookup_element_for_decl): Update.
+       (check_for_nested_with_variably_modified): Update.
+       (create_nesting_tree): Update.
+       (unnest_nesting_tree_1): Update.
+       (gimplify_all_functions): Update.
+       (lower_nested_functions): Update.
+       * tree-nested.h (class nested_function_info): New class.
+       (maybe_record_nested_function): Declare.
+       (unnest_function): Declare.
+       (first_nested_function): New inline function.
+       (next_nested_function): New inline function.
+       (nested_function_origin): New inline function.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR rtl-optimization/97249
+       * simplify-rtx.c (simplify_binary_operation_1): Simplify
+       vec_select of a subreg of X to a vec_select of X.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * config/i386/constraints.md ("Br"): New special memory
+       constraint.
+       * config/i386/i386-expand.c (ix86_binary_operator_ok): Both
+       source operand cannot be in memory or bcst_memory_operand.
+       * config/i386/i386.c (ix86_print_operand): Print bcst_mem_operand.
+       * config/i386/i386.h (VALID_BCST_MODE_P): New.
+       * config/i386/predicates.md (bcst_mem_operand): New predicate
+       for AVX512 embedding broadcast memory operand.
+       (bcst_vector_operand): New predicate, vector_operand or
+       bcst_mem_operand.
+       * config/i386/sse.md
+       (*<plusminus_insn><mode>3<mask_name><round_name>): Extend
+       predicate and constraints to handle bcst_mem_operand.
+       (*mul<mode>3<mask_name><round_name>): Ditto.
+       (<sse>_div<mode>3<mask_name><round_name>): Ditto.
+       (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<plusminus_insn><mode>3): Ditto.
+       (avx512dq_mul<mode>3<mask_name>): Ditto.
+       (*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto.
+       (*andnot<mode>3): Ditto.
+       (<mask_codefor><code><mode>3<mask_name>): Ditto.
+       (*sub<mode>3<mask_name>_bcst): Removed.
+       (*add<mode>3<mask_name>_bcst): Ditto.
+       (*mul<mode>3<mask_name>_bcst): Ditto.
+       (*<avx512>_div<mode>3<mask_name>_bcst): Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*sub<mode>3_bcst): Ditto.
+       (*add<mode>3_bcst): Ditto.
+       (*avx512dq_mul<mode>3<mask_name>_bcst): Ditto.
+       (*avx512f_mul<mode>3<mask_name>_bcst): Ditto.
+       (*andnot<mode>3_bcst): Ditto.
+       (*<code><mode>3_bcst): Ditto.
+       * config/i386/subst.md (bcst_round_constraint): New subst
+       attribute.
+       (bcst_round_nimm_predicate): Ditto.
+       (bcst_mask_prefix3): Ditto.
+       (bcst_mask_prefix4): Ditto.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * ira-costs.c (record_operand_costs): Extract memory operand
+       from recog_data.operand[i] for record_address_regs.
+       (record_reg_classes): Extract memory operand from OP for
+       conditional judgement MEM_P.
+       * ira.c (ira_setup_alts): Ditto.
+       * lra-constraints.c (extract_mem_from_operand): New function.
+       (satisfies_memory_constraint_p): Extract memory operand from
+       OP for decompose_mem_address, return false when there's no
+       memory operand inside OP.
+       (process_alt_operands): Remove MEM_P (op) since it would be
+       judged in satisfies_memory_constraint_p.
+       * recog.c (asm_operand_ok): Extract memory operand from OP for
+       judgement of memory_operand (OP, VOIDmode).
+       (constrain_operands): Don't unwrapper unary operator when
+       there's memory operand inside.
+       * rtl.h (extract_mem_from_operand): New decl.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmaxq_<supf><mode>): Replace with ...
+       (mve_vmaxq_s<mode>, mve_vmaxq_u<mode>): ... these new insns to
+       use smax/umax instead of VMAXQ.
+       (mve_vminq_<supf><mode>): Replace with ...
+       (mve_vminq_s<mode>, mve_vminq_u<mode>): ... these new insns to
+       use smin/umin instead of VMINQ.
+       (mve_vmaxnmq_f<mode>): Use smax instead of VMAXNMQ_F.
+       (mve_vminnmq_f<mode>): Use smin instead of VMINNMQ_F.
+       * config/arm/vec-common.md (smin<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH.
+       (umin<mode>3, smax<mode>3, umax<mode>3): Likewise.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97520
+       * gimple-range.cc (range_of_non_trivial_assignment): Handle x = &a
+       by returning a non-zero range.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmulq<mode>): New entry for vmul instruction
+       using expression 'mult'.
+       (mve_vmulq_f<mode>): Use mult instead of VMULQ_F.
+       * config/arm/neon.md (mul<mode>3): Removed.
+       * config/arm/vec-common.md (mul<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use mode iterator VDQWH instead of VALLW.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97515
+       * value-query.cc (range_query::value_of_expr): If the result is
+       UNDEFINED, check to see if the global value is a constant.
+       (range_query::value_on_edge): Ditto.
+
+2020-10-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97445
+       * ipa-inline.c (inline_insns_single): Add hint2 parameter.
+       (inline_insns_auto): Add hint2 parameter.
+       (can_inline_edge_by_limits_p): Update.
+       (want_inline_small_function_p): Update.
+       (wrapper_heuristics_may_apply): Update.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+           Andrew MacLeod  <amacleod@redhat.com>
+           Martin Liska  <mliska@suse.cz>
+
+       PR target/97360
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove call to
+       build_distinct_type_copy().
+
+2020-10-21  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97445
+       * ipa-fnsummary.c (ipa_dump_hints): Add INLINE_HINT_builtin_constant_p.
+       (ipa_fn_summary::~ipa_fn_summary): Free builtin_constant_p_parms.
+       (ipa_fn_summary_t::duplicate): Duplicate builtin_constant_p_parms.
+       (ipa_dump_fn_summary): Dump builtin_constant_p_parms.
+       (add_builtin_constant_p_parm): New function
+       (set_cond_stmt_execution_predicate): Update builtin_constant_p_parms.
+       (ipa_call_context::estimate_size_and_time): Set
+       INLINE_HINT_builtin_constant_p..
+       (ipa_merge_fn_summary_after_inlining): Merge builtin_constant_p_parms.
+       (inline_read_section): Read builtin_constant_p_parms.
+       (ipa_fn_summary_write): Write builtin_constant_p_parms.
+       * ipa-fnsummary.h (enum ipa_hints_vals): Add
+       INLINE_HINT_builtin_constant_p.
+       * ipa-inline.c (want_inline_small_function_p): Use
+       INLINE_HINT_builtin_constant_p.
+       (edge_badness): Use INLINE_HINT_builtin_constant_p.
+
+2020-10-21  Douglas Rupp  <rupp@adacore.com>
+
+       * config/vx-common.h (LINK_SPEC, LIB_SPEC): Remove #undef.
+
+2020-10-21  Douglas Rupp  <rupp@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * config.gcc (powerpc*-wrs-vxworks7r*): New case.
+       * config/rs6000/vxworks.h: Rework to handle VxWorks7.
+       Refactor as common bits + vx6 vs vx7 ones. For the
+       latter, rely essentially on the Linux configuration
+       and adjust CPU to _VX_CPU in CPP_SPEC. Add a case
+       for e6500. Use SUB3TARGET_OVERRIDE_OPTIONS for specifics
+       to preserve the Linux SUBSUBTARGET_OVERRIDE_OPTIONS
+       for vx7.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97500
+       * tree-vect-slp.c (vect_analyze_slp_backedges): Do not
+       fill backedges for inductions.
+
+2020-10-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97506
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc): Move
+       op_true to dest directly when op_true equals op_false.
+
+2020-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97503
+       * tree-ssa-phiopt.c: Include internal-fn.h.
+       (cond_removal_in_popcount_pattern): Rename to ...
+       (cond_removal_in_popcount_clz_ctz_pattern): ... this.  Handle not just
+       popcount, but also clz and ctz if it has C?Z_DEFINED_VALUE_AT_ZERO 2.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       * cfg.c (htab_bb_copy_original_entry): Remove.
+       (bb_copy_hasher): Likewise.
+       (bb_original, bb_copy, loop_copy): Use
+       hash_map<int_hash<int, -1, -2>, int>.
+       (original_copy_bb_pool): Remove.
+       (initialize_original_copy_tables): Adjust.
+       (reset_original_copy_tables): Likewise.
+       (free_original_copy_tables): Likewise.
+       (original_copy_tables_initialized_p): Likewise.
+       (copy_original_table_clear): Simplify.
+       (copy_original_table_set): Likewise.
+       (get_bb_original): Likewise.
+       (get_bb_copy): Likewise.
+       (get_loop_copy): Likewise.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       * cfghooks.c (copy_bbs): Split out loop computing new_edges.
+
+2020-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info):
+       Remove TREE_OVERFLOW special case.
+       * vr-values.c (bounds_of_var_in_loop): Adjust overflow for
+       invariants.
+
+2020-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.h: Remove simplify_cond_using_ranges_2.
+       (range_fits_type_p): New.
+       * vr-values.c (range_fits_type_p): Remove static qualifier.
+       (vrp_simplify_cond_using_ranges): Move...
+       * tree-vrp.c (vrp_simplify_cond_using_ranges): ...to here.
+
+2020-10-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97505
+       * vr-values.c (vr_values::extract_range_basic): Trap if
+       vr_values version disagrees with range_of_builtin_call.
+
+2020-10-20  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Don't implcitly enable Altivec ABI if set on the command line.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * calls.c (get_size_range): Adjust to work with ranger.
+       * calls.h (get_size_range): Add ranger argument to prototype.
+       * gimple-ssa-warn-restrict.c (class wrestrict_dom_walker): Remove.
+       (check_call): Pull out of wrestrict_dom_walker into a
+       static function.
+       (wrestrict_dom_walker::before_dom_children): Rename to...
+       (wrestrict_walk): ...this.
+       (pass_wrestrict::execute): Instantiate ranger.
+       (class builtin_memref): Add stmt and query fields.
+       (builtin_access::builtin_access): Add range_query field.
+       (builtin_memref::builtin_memref): Same.
+       (builtin_memref::extend_offset_range): Same.
+       (builtin_access::builtin_access): Make work with ranger.
+       (wrestrict_dom_walker::check_call): Pull out into...
+       (check_call): ...here.
+       (check_bounds_or_overlap): Add range_query argument.
+       * gimple-ssa-warn-restrict.h (check_bounds_or_overlap):
+       Add range_query and gimple stmt arguments.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-warn-alloca.c (enum alloca_type): Remove
+       ALLOCA_BOUND_UNKNOWN and ALLOCA_CAST_FROM_SIGNED.
+       (warn_limit_specified_p): New.
+       (alloca_call_type_by_arg): Remove.
+       (cast_from_signed_p): Remove.
+       (is_max): Remove.
+       (alloca_call_type): Remove heuristics and replace with call into
+       ranger.
+       (pass_walloca::execute): Instantiate ranger.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (run_gcc): Use proper variable for
+       %u.ltrans_args dump suffix.
+
+2020-10-20  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for get/set reg intrinsics.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_of_builtin_ubsan_call):
+       Make externally visble...
+       (range_of_builtin_ubsan_call): ...here.  Add range_query argument.
+       (gimple_ranger::range_of_builtin_call): Make externally visible...
+       (range_of_builtin_call): ...here.  Add range_query argument.
+       * gimple-range.h (range_of_builtin_call): Move out from class and
+       make externally visible.
+       * vr-values.c (vr_values::extract_range_basic): Abstract out
+       builtin handling to...
+       (vr_values::range_of_expr): Handle non SSAs.
+       (vr_values::extract_range_builtin): ...here.
+       * vr-values.h (class vr_values): Add extract_range_builtin.
+       (range_of_expr): Rename NAME to EXPR.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97501
+       * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info):
+       Saturate overflows returned from SCEV.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::operator=): Split up call to
+       copy_legacy_range into...
+       (irange::copy_to_legacy): ...this.
+       (irange::copy_legacy_to_multi_range): ...and this.
+       (irange::copy_legacy_range): Remove.
+       * value-range.h: Remove copoy_legacy_range.
+       Add copy_legacy_to_multi_range and copy_to_legacy.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (NVPTX options): Use @item not @itemx.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (reinstall_phi_args): Remove.
+       (gimple_split_edge): Remove PHIs around the edge redirection
+       to avoid touching them at all.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_reduction): Use the correct
+       loops latch edge for the PHI arg lookup.
+
+2020-10-20  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md (andneghi3): Allow general operand for
+       op1 and update output assembler template.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * collect-utils.c (collect_execute, fork_execute): Add at-file suffix
+       argument.
+       * collect-utils.h (collect_execute, fork_execute): Update prototype.
+       * collect2.c (maybe_run_lto_and_relink, do_link, main, do_dsymutil):
+       Update calls by passing NULL.
+       * config/i386/intelmic-mkoffload.c (compile_for_target,
+       generate_host_descr_file, prepare_target_image, main): Likewise.
+       * config/gcn/mkoffload.c (compile_native, main): Pass at-file suffix.
+       * config/nvptx/mkoffload.c (compile_native, main): Likewise.
+       * lto-wrapper.c (compile_offload_image): Likewise.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_rshift::op1_range): Special case
+       shifting by zero.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97496
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Guard extern
+       promotion with not in pattern.
+
+2020-10-20  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.c (s390_expand_vec_strlen): Add alignment
+       for memory access inside loop.
+
+2020-10-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97360
+       * gimple-range.h (range_compatible_p): New.
+       * gimple-range-gori.cc (is_gimple_logical_p): Use range_compatible_p.
+       (range_is_either_true_or_false): Ditto.
+       (gori_compute::outgoing_edge_range_p): Cast result to the correct
+       type if necessary.
+       (logical_stmt_cache::cacheable_p): Use range_compatible_p.
+       * gimple-range.cc (gimple_ranger::calc_stmt): Check range_compatible_p
+       before casting the range.
+       (gimple_ranger::range_on_exit): Use range_compatible_p.
+       (gimple_ranger::range_on_edge): Ditto.
+
+2020-10-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/97456
+       * tree-complex.c (set_component_ssa_name): Do not replace ignored decl
+       default definitions with new component vars.  Reorder if conditions.
+
+2020-10-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/vsx.md (vextract_fp_from_shorth):  Fix vals_be.
+       (vextract_fp_from_shortl) Same.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97488
+       * range-op.cc (operator_lshift::op1_range): Handle large right shifts.
+
+2020-10-19  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Clear vector.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97486
+       * tree-vect-slp.c (vect_slp_function): Split after stmts
+       ending a BB.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (OPptimize Options): Add missing closing
+       parenthesis.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97467
+       * range-op.cc (operator_lshift::op1_range): Handle shifts by 0.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97466
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
+       spurious assert, re-indent.
+
+2020-10-19  Li Jia He  <helijia@gcc.gnu.org>
+
+       PR tree-optimization/66552
+       * match.pd (x << (n % C) -> x << (n & C-1)): New simplification.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_comparison): Drop special-case
+       for pointer comparison.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * vr-values.c (dump_all_value_ranges): Only dump names which are
+       still active.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (pointer_plus_operator::wi_fold): Make pointer_plus
+       [0, 0] + const return a [const, const] range.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-ssa-evrp.c (hybrid_folder::value_on_edge): Call
+       evrp_folder::value_of_expr directly.
+       (hybrid_folder::value_of_stmt): Ditto.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97462
+       * range-op.cc (operator_lshift::op1_range): Don't trap on negative
+       shifts.
+
+2020-10-16  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise.
+
+2020-10-16  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks/_vxworks-versions.h: Only include
+       version.h if _WRS_VXWORKS_MAJOR is not defined.
+       Provide a default _WRS_VXWORKS_MINOR (0).
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97327
+       * config/arm/arm.c (fp_bitlist): Add isa_bit_mve_float to FP bits array.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): For BB
+       vectorization swap operands only if it helps, demote mismatches to
+       external.
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97291
+       * config/arm/arm-builtins.c (arm_strsbwbs_qualifiers): Modify array.
+       (arm_strsbwbu_qualifiers): Likewise.
+       (arm_strsbwbs_p_qualifiers): Likewise.
+       (arm_strsbwbu_p_qualifiers): Likewise.
+       * config/arm/arm_mve.h (__arm_vstrdq_scatter_base_wb_s64): Modify
+       function definition.
+       (__arm_vstrdq_scatter_base_wb_u64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_s64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_u64): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_u32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_u32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_f32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_f32): Likewise.
+       * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_add_u): Remove
+       expansion for the builtin.
+       (vstrwq_scatter_base_wb_add_s): Likewise.
+       (vstrwq_scatter_base_wb_add_f): Likewise.
+       (vstrdq_scatter_base_wb_add_u): Likewise.
+       (vstrdq_scatter_base_wb_add_s): Likewise.
+       (vstrwq_scatter_base_wb_p_add_u): Likewise.
+       (vstrwq_scatter_base_wb_p_add_s): Likewise.
+       (vstrwq_scatter_base_wb_p_add_f): Likewise.
+       (vstrdq_scatter_base_wb_p_add_u): Likewise.
+       (vstrdq_scatter_base_wb_p_add_s): Likewise.
+       * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Remove
+       expand.
+       (mve_vstrwq_scatter_base_wb_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_<supf>v4si_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_<supf>v4si): This.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Remove expand.
+       (mve_vstrwq_scatter_base_wb_p_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si): This.
+       (mve_vstrwq_scatter_base_wb_fv4sf): Remove expand.
+       (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_fv4sf_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_fv4sf): This.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf): Remove expand.
+       (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_p_fv4sf): This.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di): Remove expand.
+       (mve_vstrdq_scatter_base_wb_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di_insn): Rename pattern to ...
+       (mve_vstrdq_scatter_base_wb_<supf>v2di): This.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Remove expand.
+       (mve_vstrdq_scatter_base_wb_p_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di_insn): Rename pattern to ...
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di): This.
+
+2020-10-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (IMPLIED_EXT): New.
+       (arch_canonicalize): Update comment and handle implied extensions.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): First analyze
+       all operands and fill in the def_stmts and ops entries.
+       (vect_def_types_match): New helper.
+
+2020-10-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/97404
+       * ipa-prop.c (struct ipa_vr_ggc_hash_traits):
+       Compare types of VRP as we can merge ranges of different types.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97428
+       * tree-vect-slp.c (vect_analyze_slp_instance): Split store
+       groups also for loop vectorization.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97436
+       * config/nvptx/nvptx.opt (m32): Comment out.
+       * doc/invoke.texi (NVPTX options): Remove -m32.
+
+2020-10-15  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * attr-fnspec.h: Fix toplevel comment.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_mem_ref): Print constant offset
+       also for TARGET_MEM_REF.
+
+2020-10-15  Jan Hubicka  <jh@suse.cz>
+
+       * symtab.c (symtab_node::binds_to_current_def_p): Also accept symbols
+       defined in other partition.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_live_operation): Adjust
+       dominance query.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97482
+       * tree-data-ref.c (split_constant_offset_1): Handle
+       trivial conversions better.
+       * fold-const.c (convert_to_ptrofftype_loc): Elide conversion
+       if the offset is already ptrofftype_p.
+
+2020-10-15  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/97295
+       * profile-count.c (profile_count::to_frequency): Move part of
+       gcc_assert to STATIC_ASSERT.
+       * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
+       a function that does not have count_max initialized.
+
+2020-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * params.opt (-param-ipa-jump-function-lookups=): Add full stop at
+       the end of the parameter description.
+
+2020-10-15  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_cpu_tables): New.
+       (riscv_arch_str): Return empty string if current_subset_list
+       is NULL.
+       (riscv_find_cpu): New.
+       (riscv_handle_option): Verify option value of -mcpu.
+       (riscv_expand_arch): Using std::string.
+       (riscv_default_mtune): New.
+       (riscv_expand_arch_from_cpu): Ditto.
+       * config/riscv/riscv-cores.def: New.
+       * config/riscv/riscv-protos.h (riscv_find_cpu): New.
+       (riscv_cpu_info): New.
+       * config/riscv/riscv.c (riscv_tune_info): Rename ...
+       (riscv_tune_param): ... to this.
+       (riscv_cpu_info): Rename ...
+       (riscv_tune_info): ... to this.
+       (tune_info): Rename ...
+       (tune_param): ... to this.
+       (rocket_tune_info): Update data type name.
+       (sifive_7_tune_info): Ditto.
+       (optimize_size_tune_info): Ditto.
+       (riscv_cpu_info_table): Rename ...
+       (riscv_tune_info_table): ... to this.
+       (riscv_parse_cpu): Rename ...
+       (riscv_parse_tune): ... to this, and translate valid -mcpu option to
+       -mtune option.
+       (riscv_rtx_costs): Rename tune_info to tune_param.
+       (riscv_class_max_nregs): Ditto.
+       (riscv_memory_move_cost): Ditto.
+       (riscv_init_machine_status): Use value of -mcpu if -mtune is not
+       given, and rename tune_info to tune_param.
+       * config/riscv/riscv.h (riscv_expand_arch_from_cpu): New.
+       (riscv_default_mtune): Ditto.
+       (EXTRA_SPEC_FUNCTIONS): Add riscv_expand_arch_from_cpu and
+       riscv_default_mtune.
+       (OPTION_DEFAULT_SPECS): Handle default value of -march/-mabi.
+       (DRIVER_SELF_SPECS): Expand -march from -mcpu if -march is not
+       given.
+       * config/riscv/riscv.opt (-mcpu): New option.
+       * config/riscv/t-riscv ($(common_out_file)): Add
+       riscv-cores.def to dependency.
+       * doc/invoke.texi (RISC-V Option): Add -mcpu, and update the
+       description of default value for -mtune and -march.
+
+2020-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect HRESET.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_HRESET_SET,
+       OPTION_MASK_ISA2_HRESET_UNSET): New macros.
+       (ix86_handle_option): Handle -mhreset.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_HRESET.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for hreset.
+       * config.gcc: Add hresetintrin.h
+       * config/i386/hresetintrin.h: New header file.
+       * config/i386/x86gprintrin.h: Include hresetintrin.h.
+       * config/i386/cpuid.h (bit_HRESET): New.
+       * config/i386/i386-builtin.def: Add new builtin.
+       * config/i386/i386-expand.c (ix86_expand_builtin):
+       Handle new builtin.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __HRESET__.
+       * config/i386/i386-options.c (isa2_opts): Add -mhreset.
+       (ix86_valid_target_attribute_inner_p): Handle hreset.
+       * config/i386/i386.h (TARGET_HRESET, TARGET_HRESET_P,
+       PTA_HRESET): New.
+       (PTA_ALDERLAKE): Add PTA_HRESET.
+       * config/i386/i386.opt: Add option -mhreset.
+       * config/i386/i386.md (UNSPECV_HRESET): New unspec.
+       (hreset): New define_insn.
+       * doc/invoke.texi: Document -mhreset.
+       * doc/extend.texi: Document hreset.
+
+2020-10-15  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect UINTR.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_UINTR_SET
+       OPTION_MASK_ISA2_UINTR_UNSET): New.
+       (ix86_handle_option): Handle -muintr.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_UINTR.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for uintr.
+       * config.gcc: Add uintrintrin.h to extra_headers.
+       * config/i386/uintrintrin.h: New.
+       * config/i386/cpuid.h (bit_UINTR): New.
+       * config/i386/i386-builtin-types.def: Add new types.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Add
+       __builtin_ia32_testui.
+       * config/i386/i386-builtins.h (ix86_builtins): Add
+       IX86_BUILTIN_TESTUI.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __UINTR__.
+       * config/i386/i386-expand.c (ix86_expand_special_args_builtin):
+       Handle UINT8_FTYPE_VOID.
+       (ix86_expand_builtin): Handle IX86_BUILTIN_TESTUI.
+       * config/i386/i386-options.c (isa2_opts): Add -muintr.
+       (ix86_valid_target_attribute_inner_p): Handle UINTR.
+       (ix86_option_override_internal): Add TARGET_64BIT check for UINTR.
+       * config/i386/i386.h (TARGET_UINTR, TARGET_UINTR_P, PTA_UINTR): New.
+       (PTA_SAPPHIRRAPIDS): Add PTA_UINTR.
+       * config/i386/i386.opt: Add -muintr.
+       * config/i386/i386.md
+       (define_int_iterator UINTR_UNSPECV): New.
+       (define_int_attr uintr_unspecv): New.
+       (uintr_<uintr_unspecv>, uintr_senduipi, testui):
+       New define_insn patterns.
+       * config/i386/x86gprintrin.h: Include uintrintrin.h
+       * doc/invoke.texi: Document -muintr.
+       * doc/extend.texi: Document uintr.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97391
+       * builtins.c (gimple_parm_array_size): Peel off one less layer
+       of array types.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97413
+       * attribs.c (init_attr_rdwr_indices): Unwrap extra list layer.
+
+2020-10-14  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95483
+       * config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New intrinsics.
+       (_mm_broadcastsd_pd): Ditto.
+       * config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New intrinsics.
+       (_mm512_storeu_epi16): Ditto.
+       (_mm512_loadu_epi8): Ditto.
+       (_mm512_storeu_epi8): Ditto.
+       * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New intrinsics.
+       (_mm_mask_reduce_round_sd): Ditto.
+       (_mm_maskz_reduce_round_sd): Ditto.
+       (_mm_reduce_round_ss): Ditto.
+       (_mm_mask_reduce_round_ss): Ditto.
+       (_mm_maskz_reduce_round_ss): Ditto.
+       (_mm512_reduce_round_pd): Ditto.
+       (_mm512_mask_reduce_round_pd): Ditto.
+       (_mm512_maskz_reduce_round_pd): Ditto.
+       (_mm512_reduce_round_ps): Ditto.
+       (_mm512_mask_reduce_round_ps): Ditto.
+       (_mm512_maskz_reduce_round_ps): Ditto.
+       * config/i386/avx512erintrin.h
+       (_mm_mask_rcp28_round_sd): New intrinsics.
+       (_mm_maskz_rcp28_round_sd): Ditto.
+       (_mm_mask_rcp28_round_ss): Ditto.
+       (_mm_maskz_rcp28_round_ss): Ditto.
+       (_mm_mask_rsqrt28_round_sd): Ditto.
+       (_mm_maskz_rsqrt28_round_sd): Ditto.
+       (_mm_mask_rsqrt28_round_ss): Ditto.
+       (_mm_maskz_rsqrt28_round_ss): Ditto.
+       (_mm_mask_rcp28_sd): Ditto.
+       (_mm_maskz_rcp28_sd): Ditto.
+       (_mm_mask_rcp28_ss): Ditto.
+       (_mm_maskz_rcp28_ss): Ditto.
+       (_mm_mask_rsqrt28_sd): Ditto.
+       (_mm_maskz_rsqrt28_sd): Ditto.
+       (_mm_mask_rsqrt28_ss): Ditto.
+       (_mm_maskz_rsqrt28_ss): Ditto.
+       * config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics.
+       (_mm_maskz_sqrt_sd): Ditto.
+       (_mm_mask_sqrt_ss): Ditto.
+       (_mm_maskz_sqrt_ss): Ditto.
+       (_mm_mask_scalef_sd): Ditto.
+       (_mm_maskz_scalef_sd): Ditto.
+       (_mm_mask_scalef_ss): Ditto.
+       (_mm_maskz_scalef_ss): Ditto.
+       (_mm_mask_cvt_roundsd_ss): Ditto.
+       (_mm_maskz_cvt_roundsd_ss): Ditto.
+       (_mm_mask_cvt_roundss_sd): Ditto.
+       (_mm_maskz_cvt_roundss_sd): Ditto.
+       (_mm_mask_cvtss_sd): Ditto.
+       (_mm_maskz_cvtss_sd): Ditto.
+       (_mm_mask_cvtsd_ss): Ditto.
+       (_mm_maskz_cvtsd_ss): Ditto.
+       (_mm512_cvtsi512_si32): Ditto.
+       (_mm_cvtsd_i32): Ditto.
+       (_mm_cvtss_i32): Ditto.
+       (_mm_cvti32_sd): Ditto.
+       (_mm_cvti32_ss): Ditto.
+       (_mm_cvtsd_i64): Ditto.
+       (_mm_cvtss_i64): Ditto.
+       (_mm_cvti64_sd): Ditto.
+       (_mm_cvti64_ss): Ditto.
+       * config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New intrinsics.
+       (_mm_storeu_epi8): Ditto.
+       (_mm256_loadu_epi16): Ditto.
+       (_mm_loadu_epi16): Ditto.
+       (_mm256_loadu_epi8): Ditto.
+       (_mm_loadu_epi8): Ditto.
+       (_mm256_storeu_epi16): Ditto.
+       (_mm_storeu_epi16): Ditto.
+       * config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics.
+       (_mm_load_epi64): Ditto.
+       (_mm256_load_epi32): Ditto.
+       (_mm_load_epi32): Ditto.
+       (_mm256_store_epi32): Ditto.
+       (_mm_store_epi32): Ditto.
+       (_mm256_loadu_epi64): Ditto.
+       (_mm_loadu_epi64): Ditto.
+       (_mm256_loadu_epi32): Ditto.
+       (_mm_loadu_epi32): Ditto.
+       (_mm256_mask_cvt_roundps_ph): Ditto.
+       (_mm256_maskz_cvt_roundps_ph): Ditto.
+       (_mm_mask_cvt_roundps_ph): Ditto.
+       (_mm_maskz_cvt_roundps_ph): Ditto.
+       * config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics.
+       * config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics.
+       (_mm_loadu_si16): Ditto.
+       (_mm_storeu_si32): Ditto.
+       (_mm_storeu_si16): Ditto.
+       * config/i386/i386-builtin-types.def
+       (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type.
+       (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto.
+       (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto.
+       (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto.
+       * config/i386/i386-builtin.def
+       (__builtin_ia32_cvtsd2ss_mask_round): New builtin.
+       (__builtin_ia32_cvtss2sd_mask_round): Ditto.
+       (__builtin_ia32_rcp28sd_mask_round): Ditto.
+       (__builtin_ia32_rcp28ss_mask_round): Ditto.
+       (__builtin_ia32_rsqrt28sd_mask_round): Ditto.
+       (__builtin_ia32_rsqrt28ss_mask_round): Ditto.
+       (__builtin_ia32_reducepd512_mask_round): Ditto.
+       (__builtin_ia32_reduceps512_mask_round): Ditto.
+       (__builtin_ia32_reducesd_mask_round): Ditto.
+       (__builtin_ia32_reducess_mask_round): Ditto.
+       * config/i386/i386-expand.c
+       (ix86_expand_round_builtin): Expand round builtin for new type.
+       (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT)
+       (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT)
+       (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT)
+       (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT)
+       * config/i386/mmintrin.h ()
+       Define datatype __m32 and __m16.
+       Define datatype __m32_u and __m16_u.
+       * config/i386/sse.md: Adjust pattern.
+       (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): Adjust.
+       (reduces<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto.
+       (sse2_cvtsd2ss<mask_name><round_name>): Ditto.
+       (sse2_cvtss2sd<mask_name><round_saeonly_name>): Ditto.
+       (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto.
+       (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix
+       the VX_CPU selection for -mcpu=xscale on arm-vxworks.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate
+       expectations from different versions of VxWorks, for 32 or 64bit
+       configurations.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h: #undef CPLUSPLUS_CPP_SPEC.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/t-vxworks: Adjust the VxWorks alternative LIMITS_H guard
+       for glimits.h, make it both closer to the previous one and easier to
+       search for.
+
+2020-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97387
+       * config/i386/i386.md (CC_CCC): New mode iterator.
+       (*setcc_qi_addqi3_cconly_overflow_1_<mode>): New
+       define_insn_and_split.
+       * config/i386/i386.c (ix86_cc_mode): Return CCCmode
+       for *setcc_qi_addqi3_cconly_overflow_1_<mode> pattern operands.
+       (ix86_rtx_costs): Return true and *total = 0;
+       for *setcc_qi_addqi3_cconly_overflow_1_<mode> pattern.  Use op0 and
+       op1 temporaries to simplify COMPARE checks.
+
+2020-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97396
+       * gimple-range.cc (gimple_ranger::range_of_phi): Do not call
+       range_of_ssa_name_with_loop_info with the loop tree root.
+
+2020-10-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Split out
+       test for compatible operand types.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.c (vxworks_override_options): Guard pic checks with
+       flag_pic > 0 instead of just flag_pic.
+
+2020-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-fnsummary.c (remap_edge_summaries): Make offset_map HOST_WIDE_INT.
+       (remap_freqcounting_predicate): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       * ipa-predicate.c (predicate::remap_after_inlining): Likewise
+       * ipa-predicate.h (remap_after_inlining): Update.
+
+2020-10-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Handle POINTER_PLUS_EXPR in
+       PASSTHROUGH.
+
+2020-10-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Move
+       check for duplicate/interleave of variable size constants
+       to a place done once and early.
+       (vect_build_slp_tree_2): Adjust heuristics when to build
+       a BB SLP node from scalars.
+
+2020-10-14  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (cached_can_duplicate_bb_p, analyze_bb): Use
+       can_duplicate_block_p.
+       (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p)
+       (can_duplicate_bb_p): Move and merge ...
+       * tree-cfg.c (gimple_can_duplicate_bb_p): ... here.
+
+2020-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi: (ipa-jump-function-lookups): Document param.
+       * ipa-modref.c (merge_call_side_effects): Use
+       unadjusted_ptr_and_unit_offset.
+       * ipa-prop.c (unadjusted_ptr_and_unit_offset): New function.
+       * ipa-prop.h (unadjusted_ptr_and_unit_offset): Declare.
+       * params.opt: (-param-ipa-jump-function-lookups): New.
+
+2020-10-14  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/97350
+       * ipa-modref.c (ignore_edge): Do not ignore inlined edes.
+       (ipa_merge_modref_summary_after_inlining): Improve debug output and
+       fix parameter of ignore_stores_p.
+
+2020-10-14  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96759
+       * expr.c (expand_assignment): Handle misaligned stores with PARALLEL
+       value.
+
+2020-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97386
+       * combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if
+       they have different modes.
+
+2020-10-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97379
+       * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Do
+       not save hash slot across calls to hash_table<>::get_or_insert.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (find_crtoffloadtable): Fix last commit
+       by adding NULL as last argument to concat.
+
+2020-10-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (neoversen2_tunings): Define.
+       * config/aarch64/aarch64-cores.def (neoverse-n2): Use it.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (find_crtoffloadtable): With -save-temps,
+       use non-temp file name utilizing the dump prefix.
+       (run_gcc): Update call.
+
+2020-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97382
+       * tree-vectorizer.h (_stmt_vec_info::same_align_refs): Remove.
+       (STMT_VINFO_SAME_ALIGN_REFS): Likewise.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Do not
+       allocate STMT_VINFO_SAME_ALIGN_REFS.
+       (vec_info::free_stmt_vec_info): Do not release
+       STMT_VINFO_SAME_ALIGN_REFS.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
+       Do not compute self and read-read dependences.
+       (vect_dr_aligned_if_related_peeled_dr_is): New helper.
+       (vect_dr_aligned_if_peeled_dr_is): Likewise.
+       (vect_update_misalignment_for_peel): Use it instead of
+       iterating over STMT_VINFO_SAME_ALIGN_REFS.
+       (dr_align_group_sort_cmp): New function.
+       (vect_enhance_data_refs_alignment): Count the number of
+       same aligned refs here and elide uses of STMT_VINFO_SAME_ALIGN_REFS.
+       (vect_find_same_alignment_drs): Remove.
+       (vect_analyze_data_refs_alignment): Do not call it.
+       * vec.h (auto_vec<T, 0>::auto_vec): Adjust CTOR to take
+       a vec<>&&, assert it isn't using auto storage.
+       (auto_vec& operator=): Apply a similar change.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/nvptx/mkoffload.c (main): Add missing fclose (in).
+
+2020-10-13  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for mul/mla/mls intrinsics.
+
+2020-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (add_taskreg_looptemp_clauses): For triangular loops
+       with non-constant number of iterations add another 4 _looptemp_
+       clauses before the (optional) one for lastprivate.
+       (lower_omp_for_lastprivate): Skip those clauses when looking for
+       the lastprivate clause.
+       (lower_omp_for): For triangular loops with non-constant number of
+       iterations add another 4 _looptemp_ clauses.
+       * omp-expand.c (expand_omp_for_init_counts): For triangular loops
+       with non-constant number of iterations set counts[0],
+       fd->first_inner_iterations, fd->factor and fd->adjn1 from the newly
+       added _looptemp_ clauses.
+       (expand_omp_for_init_vars): Initialize the newly added _looptemp_
+       clauses.
+       (find_lastprivate_looptemp): New function.
+       (expand_omp_for_static_nochunk, expand_omp_for_static_chunk,
+       expand_omp_taskloop_for_outer): Use it instead of manually skipping
+       _looptemp_ clauses.
+
+2020-10-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97389
+       * ipa-modref.c (dump_lto_records): Fix formating of dump file.
+       (modref_summary::dump): Do not check loads to be non-null.
+       (modref_summary_lto::dump): Do not check loads to be non-null.
+       (merge_call_side_effects): Improve debug output.
+       (analyze_call): Crash when cur_summary->loads is NULL.
+       (analyze_function): Update.
+       (modref_summaries::insert): Insert only into summaries, not
+       optimization_summaries.
+       (modref_summaries::duplicate): Likewise; crash when load or sotres
+       are NULL.
+       (modref_summaries_lto::duplicate): Crash when loads or stores are NULL.
+       (write_modref_records): param_index is signed.
+       (read_modref_records): param_index is signed.
+       (modref_write): Crash when loads or stores are NULL.
+       (read_section): Compensate previous change.
+       (pass_modref::execute): Do not check optimization_summaries t be
+       non-NULL.
+       (ignore_edge): Fix.
+       (compute_parm_map): Fix formating.
+       (modref_propagate_in_scc): Do not expect loads/stores to be NULL.
+
+2020-10-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (mathfn_built_in_type): Use CFN_ enumerators.
+
+2020-10-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97381
+       * gimple-range-gori.cc (gori_compute::compute_operand2_range): If a range cannot be
+       calculated through operand 2, return false.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97378
+       * range-op.cc (operator_trunc_mod::wi_fold): Return VARYING for mod by zero.
+
+2020-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi: Document -Wanalyzer-write-to-const and
+       -Wanalyzer-write-to-string-literal.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97342
+       PR middle-end/97023
+       PR middle-end/96384
+       * builtins.c (access_ref::access_ref): Initialize new member.  Use
+       new enum.
+       (access_ref::size_remaining): Define new member function.
+       (inform_access): Handle expressions referencing objects.
+       (gimple_call_alloc_size): Call get_size_range instead of get_range.
+       (gimple_call_return_array): New function.
+       (get_range): Rename...
+       (get_offset_range): ...to this.  Improve detection of ranges from
+       types of expressions.
+       (gimple_call_return_array): Adjust calls to get_range per above.
+       (compute_objsize): Same.  Set maximum size or offset instead of
+       failing for unknown objects and handle more kinds of expressions.
+       (compute_objsize): Call access_ref::size_remaining.
+       (compute_objsize): Have transitional wrapper fail for pointers
+       into unknown objects.
+       (expand_builtin_strncmp): Call access_ref::size_remaining and
+       handle new cases.
+       * builtins.h (access_ref::size_remaining): Declare new member function.
+       (access_ref::set_max_size_range): Define new member function.
+       (access_ref::add_ofset, access_ref::add_max_ofset): Same.
+       (access_ref::add_base0): New data member.
+       * calls.c (get_size_range): Change argument type.  Handle new
+       condition.
+       * calls.h (get_size_range): Adjust signature.
+       (enum size_range_flags): Define new type.
+       * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Correct
+       argument to get_size_range.
+       * tree-ssa-strlen.c (get_range): Handle anti-ranges.
+       (maybe_warn_overflow): Check DECL_P before assuming it's one.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96511
+       PR middle-end/96384
+       * builtins.c (get_range): Return full range of type when neither
+       value nor its range is available.  Fail for ranges inverted due
+       to the signedness of offsets.
+       (compute_objsize): Handle more special array members.  Handle
+       POINTER_PLUS_EXPR and VIEW_CONVERT_EXPR that come up in front end
+       code.
+       (access_ref::offset_bounded): Define new member function.
+       * builtins.h (access_ref::eval): New data member.
+       (access_ref::offset_bounded): New member function.
+       (access_ref::offset_zero): New member function.
+       (compute_objsize): Declare a new overload.
+       * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Use
+       enum special_array_member.
+       * tree.c (component_ref_size): Use special_array_member.
+       * tree.h (special_array_member): Define a new type.
+       (component_ref_size): Change signature.
+
+2020-10-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summaries): Remove field IPA.
+       (class modref_summary_lto): New global variable.
+       (class modref_summaries_lto): New.
+       (modref_summary::modref_summary): Remove loads_lto and stores_lto.
+       (modref_summary::~modref_summary): Remove loads_lto and stores_lto.
+       (modref_summary::useful_p): Do not use lto_useful.
+       (modref_records_lto): New typedef.
+       (struct modref_summary_lto): New type.
+       (modref_summary_lto::modref_summary_lto): New member function.
+       (modref_summary_lto::~modref_summary_lto): New member function.
+       (modref_summary_lto::useful_p): New member function.
+       (modref_summary::dump): Do not handle lto.
+       (modref_summary_lto::dump): New member function.
+       (get_modref_function_summary): Use optimization_summary.
+       (merge_call_side_effects): Use optimization_summary.
+       (analyze_call): Use optimization_summary.
+       (struct summary_ptrs): New struture.
+       (analyze_load): Update to handle separate lto and non-lto summaries.
+       (analyze_store): Likewise.
+       (analyze_stmt): Likewise.
+       (remove_summary): Break out from ...
+       (analyze_function): ... here; update to handle seprated summaries.
+       (modref_summaries::insert): Do not handle lto summary.
+       (modref_summaries_lto::insert): New member function.
+       (modref_summaries::duplicate): Do not handle lto summary.
+       (modref_summaries_lto::duplicate): New member function.
+       (read_modref_records): Expect nolto_ret or lto_ret to be NULL>
+       (modref_write): Write lto summary.
+       (read_section): Handle separated summaries.
+       (modref_read): Initialize separated summaries.
+       (modref_transform): Handle separated summaries.
+       (pass_modref::execute): Turn summary to optimization_summary; handle
+       separate summaries.
+       (ignore_edge): Handle separate summaries.
+       (ipa_merge_modref_summary_after_inlining): Likewise.
+       (collapse_loads): Likewise.
+       (modref_propagate_in_scc): Likewise.
+       (pass_ipa_modref::execute): Likewise.
+       (ipa_modref_c_finalize): Likewise.
+       * ipa-modref.h (modref_records_lto): Remove typedef.
+       (struct modref_summary): Remove stores_lto, loads_lto and finished
+       fields; remove lto_useful_p member function.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence):
+       Use SLP_TREE_REPRESENTATIVE.
+       * tree-vectorizer.h (_slp_tree::vertex): New member used
+       for graphds interfacing.
+       * tree-vect-slp.c (vect_build_slp_tree_2): Allocate space
+       for PHI SLP children.
+       (vect_analyze_slp_backedges): New function filling in SLP
+       node children for PHIs that correspond to backedge values.
+       (vect_analyze_slp): Call vect_analyze_slp_backedges for the
+       graph.
+       (vect_slp_analyze_node_operations): Deal with a cyclic graph.
+       (vect_schedule_slp_instance): Likewise.
+       (vect_schedule_slp): Likewise.
+       (slp_copy_subtree): Remove.
+       (vect_slp_rearrange_stmts): Likewise.
+       (vect_attempt_slp_rearrange_stmts): Likewise.
+       (vect_slp_build_vertices): New functions.
+       (vect_slp_permute): Likewise.
+       (vect_slp_perms_eq): Likewise.
+       (vect_optimize_slp): Remove special code to elide
+       permutations with SLP reductions.  Implement generic
+       permute optimization.
+
+2020-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Use E_FOOmode
+       instead of FOOmode.
+
+2020-10-12  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/97079
+       * internal-fn.c (internal_fn_stored_value_index): Handle also
+       .MASK_STORE_LANES.
+       * tree-vect-patterns.c (vect_recog_over_widening_pattern): Bail
+       out for unsupported TREE_TYPE.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_partition_graph_r): Use visited
+       hash-map.
+       (vect_bb_partition_graph): Likewise.
+
+2020-10-12  Duan bo  <duanbo3@huawei.com>
+
+       PR target/96757
+       * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Add
+       the identification and handling of the dropped situation in the
+       cond expression processing phase.
+
+2020-10-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (nvptx's -misa): Update default to sm_35.
+
+2020-10-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97349
+       * config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16,
+       vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16):
+       Fix argument type.
+
+2020-10-12  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-protos.h (s390_build_signbit_mask): New
+       function.
+       * config/s390/s390.c (s390_contiguous_bitmask_vector_p):
+       Bitcast the argument to an integral mode.
+       (s390_expand_vec_init): Do not call
+       s390_contiguous_bitmask_vector_p with a scalar argument.
+       (s390_build_signbit_mask): New function.
+       * config/s390/vector.md (copysign<mode>3): Use bitwise
+       operations.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97371
+       * range-op.cc (operator_rshift::op1_range): Ignore shifts larger than
+       or equal to type precision.
+
+2020-10-12  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (merge_call_side_effects): Clear modref_parm_map
+       fields in the vector.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Set matches to true
+       after successful discovery but forced split.
+
+2020-10-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.opt (-msoft-stack-reserve-local): Rename to ...
+       (-msoft-stack-reserve-local=): ... this.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97357
+       * tree-ssa-loop-split.c (ssa_semi_invariant_p): Abnormal
+       SSA names are not semi invariant.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_globalize_label): Make a subset of
+       metadate symbols global.
+       (darwin_label_is_anonymous_local_objc_name): Make a subset of
+       metadata symbols linker-visible.
+       (darwin_override_options): Track more target OS versions, make
+       the next_runtime version track this (unless it's set to 0 for
+       GNU runtime).
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_globalize_label): Add protocol
+       meta-data labels to the set that are global.
+       (darwin_label_is_anonymous_local_objc_name): Arrange for meta-
+       data start labels to be linker-visible.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_objc2_section): Allow for
+       values > 1 to represent the next runtime.
+       (darwin_objc1_section): Likewise.
+       * config/darwin.h (NEXT_OBJC_RUNTIME): Set the default
+       next runtime value to be 10.5.8.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Fix parameter map computation.
+
+2020-10-10  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97318
+       * config/nvptx/nvptx.c (nvptx_replace_dot): New function.
+       (write_fn_proto, write_fn_proto_from_insn, nvptx_output_call_insn):
+       Use nvptx_replace_dot.
+
+2020-10-10  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (write_fn_proto_1): New function, factored out
+       of ...
+       (write_fn_proto): ... here.  Return void.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (remap_arguments): Check range in map access.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Use reserve instead of safe_grow.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Check that summaries are allocated.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.h (struct modref_tree): Revert prevoius change.
+       * ipa-modref.c (analyze_function): Dump original summary.
+       (modref_read): Only set IPA if streaming summary (not optimization
+       summary).
+       (remap_arguments): New function.
+       (modref_transform): New function.
+       (compute_parm_map): Fix offset calculation.
+       (ipa_merge_modref_summary_after_inlining): Do not merge stores when
+       they can be ignored.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Improve debug dumps.
+       (call_may_clobber_ref_p_1): Improve debug dumps.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (output_objc_section_asm_op): Avoid extra
+       objective-c section switches unless the linker needs them.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-sections.def (objc2_data_section): New.
+       (objc2_ivar_section): New.
+       * config/darwin.c (darwin_objc2_section): Act on Protocol and
+       ivar refs.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-sections.def (objc2_class_names_section,
+       objc2_method_names_section, objc2_method_types_section): New
+       * config/darwin.c (output_objc_section_asm_op): Output new
+       sections.  (darwin_objc2_section): Select new sections where
+       used.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_emit_local_bss): Amend section names to
+       match system tools. (darwin_output_aligned_bss): Likewise.
+
+2020-10-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97359
+       * gimple-range-gori.cc (logical_stmt_cache::cacheable_p): Only
+       handle ANDs and ORs.
+       (gori_compute_cache::cache_stmt): Adjust comment.
+
+2020-10-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97313
+       * lra-constraints.c (match_reload): Don't keep strict_low_part in
+       reloads for non-registers.
+
+2020-10-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97148
+       * config.gcc (extra_headers): Add x86gprintrin.h.
+       * config/i386/adxintrin.h: Check _X86GPRINTRIN_H_INCLUDED for
+       <x86gprintrin.h>.
+       * config/i386/bmi2intrin.h: Likewise.
+       * config/i386/bmiintrin.h: Likewise.
+       * config/i386/cetintrin.h: Likewise.
+       * config/i386/cldemoteintrin.h: Likewise.
+       * config/i386/clflushoptintrin.h: Likewise.
+       * config/i386/clwbintrin.h: Likewise.
+       * config/i386/enqcmdintrin.h: Likewise.
+       * config/i386/fxsrintrin.h: Likewise.
+       * config/i386/ia32intrin.h: Likewise.
+       * config/i386/lwpintrin.h: Likewise.
+       * config/i386/lzcntintrin.h: Likewise.
+       * config/i386/movdirintrin.h: Likewise.
+       * config/i386/pconfigintrin.h: Likewise.
+       * config/i386/pkuintrin.h: Likewise.
+       * config/i386/rdseedintrin.h: Likewise.
+       * config/i386/rtmintrin.h: Likewise.
+       * config/i386/serializeintrin.h: Likewise.
+       * config/i386/tbmintrin.h: Likewise.
+       * config/i386/tsxldtrkintrin.h: Likewise.
+       * config/i386/waitpkgintrin.h: Likewise.
+       * config/i386/wbnoinvdintrin.h: Likewise.
+       * config/i386/xsavecintrin.h: Likewise.
+       * config/i386/xsaveintrin.h: Likewise.
+       * config/i386/xsaveoptintrin.h: Likewise.
+       * config/i386/xsavesintrin.h: Likewise.
+       * config/i386/xtestintrin.h: Likewise.
+       * config/i386/immintrin.h: Include <x86gprintrin.h> instead of
+       <fxsrintrin.h>, <xsaveintrin.h>, <xsaveoptintrin.h>,
+       <xsavesintrin.h>, <xsavecintrin.h>, <lzcntintrin.h>,
+       <bmiintrin.h>, <bmi2intrin.h>, <xtestintrin.h>, <cetintrin.h>,
+       <movdirintrin.h>, <sgxintrin.h, <pconfigintrin.h>,
+       <waitpkgintrin.h>, <cldemoteintrin.h>, <enqcmdintrin.h>,
+       <serializeintrin.h>, <tsxldtrkintrin.h>, <adxintrin.h>,
+       <clwbintrin.h>, <clflushoptintrin.h>, <wbnoinvdintrin.h> and
+       <pkuintrin.h>.
+       (_wbinvd): Moved to config/i386/x86gprintrin.h.
+       (_rdrand16_step): Likewise.
+       (_rdrand32_step): Likewise.
+       (_rdpid_u32): Likewise.
+       (_readfsbase_u32): Likewise.
+       (_readfsbase_u64): Likewise.
+       (_readgsbase_u32): Likewise.
+       (_readgsbase_u64): Likewise.
+       (_writefsbase_u32): Likewise.
+       (_writefsbase_u64): Likewise.
+       (_writegsbase_u32): Likewise.
+       (_writegsbase_u64): Likewise.
+       (_rdrand64_step): Likewise.
+       (_ptwrite64): Likewise.
+       (_ptwrite32): Likewise.
+       * config/i386/x86gprintrin.h: New file.
+       * config/i386/x86intrin.h: Include <x86gprintrin.h>.  Don't
+       include <ia32intrin.h>, <lwpintrin.h>, <tbmintrin.h>,
+       <popcntintrin.h>, <mwaitxintrin.h> and <clzerointrin.h>.
+
+2020-10-09  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97348
+       * config/nvptx/nvptx.h (ASM_SPEC): Also pass -m to nvptx-as if
+       default is used.
+       * config/nvptx/nvptx.opt (misa): Init with PTX_ISA_SM35.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * doc/sourcebuild.texi (vect_masked_load): Document.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97334
+       * tree-vect-slp.c (vect_build_slp_tree_1): Do not fatally
+       fail lanes other than zero when BB vectorizing.
+
+2020-10-09  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97292
+       PR ipa/97335
+       * ipa-modref-tree.h (copy_from): Drop summary in a
+       clone.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97347
+       * tree-vect-slp.c (vect_create_constant_vectors): Use
+       edge insertion when inserting on the fallthru edge,
+       appropriately insert at the start of BBs when inserting
+       after PHIs.
+
+2020-10-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97317
+       * range-op.cc (operator_cast::op1_range): Handle casts where the precision
+       of the RHS is only 1 greater than the precision of the LHS.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * cgraphunit.c (expand_all_functions): Free tp_first_run_order.
+       * ipa-modref.c (pass_ipa_modref::execute): Free order.
+       * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Free
+       loop body.
+       * tree-vect-data-refs.c (vect_find_stmt_data_reference): Free
+       data references upon failure.
+       * tree-vect-loop.c (update_epilogue_loop_vinfo): Free BBs
+       array of the original loop.
+       * tree-vect-slp.c (vect_slp_bbs): Use an auto_vec for
+       dataref_groups to release its memory.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94801
+       PR target/97312
+       * vr-values.c (vr_values::extract_range_basic) <CASE_CFN_CLZ,
+       CASE_CFN_CTZ>: When stmt is not an internal-fn call or
+       C?Z_DEFINED_VALUE_AT_ZERO is not 2, assume argument is not zero
+       and thus use [0, prec-1] range unless it can be further improved.
+       For CTZ, don't update maxi from upper bound if it was previously prec.
+       * gimple-range.cc (gimple_ranger::range_of_builtin_call) <CASE_CFN_CLZ,
+       CASE_CFN_CTZ>: Likewise.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97325
+       * match.pd (FFS(nonzero) -> CTZ(nonzero) + 1): Cast argument to
+       corresponding unsigned type.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_create_constant_vectors): Properly insert
+       after PHIs.
+
+2020-10-08  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (mathfn_built_in_type): New.
+       * builtins.h (mathfn_built_in_type): Declare.
+       * tree-ssa-math-opts.c (execute_cse_sincos_1): Use it to
+       obtain the type expected by the intrinsic.
+
+2020-10-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_P10_MISC_2): Rename
+       to BU_P10_POWERPC64_MISC_2.
+       CFUGED, CNTLZDM, CNTTZDM, PDEPD, PEXTD): Call renamed macro.
+
+2020-10-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree-nrv.c (dest_safe_for_nrv_p): Disable tbaa in
+       call_may_clobber_ref_p and ref_maybe_used_by_stmt_p.
+       * tree-tailcall.c (find_tail_calls): Likewise.
+       * tree-ssa-alias.c (call_may_clobber_ref_p): Add tbaa_p parameter.
+       * tree-ssa-alias.h (call_may_clobber_ref_p): Update prototype.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass data->tbaa_p
+       to call_may_clobber_ref_p_1.
+
+2020-10-08  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2out.c (dwarf2out_finish): Emit .file 0 entry when
+       generating DWARF5 .debug_line table through gas.
+
+2020-10-08  John Henning  <john.henning@oracle.com>
+
+       PR other/97309
+       * doc/invoke.texi: Improve documentation of
+       -fallow-store-data-races.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (__arm_vcvtnq_u32_f32): New.
+
+2020-10-08  Martin Liska  <mliska@suse.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_bb_vec_info::const_iterator): Remove.
+       (_bb_vec_info::const_reverse_iterator): Likewise.
+       (_bb_vec_info::region_stmts): Likewise.
+       (_bb_vec_info::reverse_region_stmts): Likewise.
+       (_bb_vec_info::_bb_vec_info): Adjust.
+       (_bb_vec_info::bb): Remove.
+       (_bb_vec_info::region_begin): Remove.
+       (_bb_vec_info::region_end): Remove.
+       (_bb_vec_info::bbs): New vector of BBs.
+       (vect_slp_function): Declare.
+       * tree-vect-patterns.c (vect_determine_precisions): Use
+       regular stmt iteration.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c: Include cfganal.h, tree-eh.h and tree-cfg.h.
+       (vect_build_slp_tree_1): Properly refuse to vectorize
+       volatile and throwing stmts.
+       (vect_build_slp_tree_2): Pass group-size down to
+       get_vectype_for_scalar_type.
+       (_bb_vec_info::_bb_vec_info): Use regular stmt iteration,
+       adjust for changed region specification.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vect_slp_check_for_constructors): Likewise.
+       (vect_slp_region): Likewise.
+       (vect_slp_bbs): New worker operating on a vector of BBs.
+       (vect_slp_bb): Wrap it.
+       (vect_slp_function): New function splitting the function
+       into multi-BB regions.
+       (vect_create_constant_vectors): Handle the case of inserting
+       after a throwing def.
+       (vect_schedule_slp_instance): Adjust.
+       * tree-vectorizer.c (vec_info::remove_stmt): Simplify again.
+       (vec_info::insert_seq_on_entry): Adjust.
+       (pass_slp_vectorize::execute): Also init PHIs.  Call
+       vect_slp_function.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97330
+       * tree-ssa-sink.c (statement_sink_location): Avoid skipping
+       PHIs when they dominate the insert location.
+
+2020-10-08  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (get_access): Fix handling of offsets.
+       * tree-ssa-alias.c (modref_may_conflict): Watch for overflows.
+
+2020-10-08  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.def (DEBUG_COUNTER): Add ipa_mod_ref debug counter.
+       * tree-ssa-alias.c (modref_may_conflict): Handle the counter.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.c (try_vectorize_loop_1): Do not dump
+       "basic block vectorized".
+       (pass_slp_vectorize::execute): Likewise.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Avoid
+       re-analyzing split single stmts.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (vqrdmlashq_n_u8, vqrdmlashq_n_u16)
+       (vqrdmlashq_n_u32, vqrdmlahq_n_u8, vqrdmlahq_n_u16)
+       (vqrdmlahq_n_u32, vqdmlahq_n_u8, vqdmlahq_n_u16, vqdmlahq_n_u32)
+       (vmlaldavaxq_p_u16, vmlaldavaxq_p_u32): Remove.
+       * config/arm/arm_mve_builtins.def (vqrdmlashq_n_u, vqrdmlahq_n_u)
+       (vqdmlahq_n_u, vmlaldavaxq_p_u): Remove.
+       * config/arm/unspecs.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
+       (VQRDMLASHQ_N_U)
+       (VMLALDAVAXQ_P_U): Remove unspecs.
+       * config/arm/iterators.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
+       (VQRDMLASHQ_N_U, VMLALDAVAXQ_P_U): Remove attributes.
+       (VQDMLAHQ_N, VQRDMLAHQ_N, VQRDMLASHQ_N, VMLALDAVAXQ_P): Remove
+       unsigned variants from iterators.
+       * config/arm/mve.md (mve_vqdmlahq_n_<supf><mode>)
+       (mve_vqrdmlahq_n_<supf><mode>)
+       (mve_vqrdmlashq_n_<supf><mode>, mve_vmlaldavaxq_p_<supf><mode>):
+       Update comment.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (vqdmlashq, vqdmlashq_m): Define.
+       * config/arm/arm_mve_builtins.def (vqdmlashq_n_s)
+       (vqdmlashq_m_n_s,): New.
+       * config/arm/unspecs.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
+       unspecs.
+       * config/arm/iterators.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
+       attributes.
+       (VQDMLASHQ_N): New iterator.
+       * config/arm/mve.md (mve_vqdmlashq_n_, mve_vqdmlashq_m_n_s): New
+       patterns.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97322
+       * config/arm/arm.c (arm_expand_divmod_libfunc): Pass mode instead of
+       GET_MODE (op0) or GET_MODE (op1) to emit_library_call_value.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97325
+       * gimple-range.cc (gimple_ranger::range_of_builtin_call): Handle
+       negative numbers in __builtin_ffs and __builtin_popcount.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97315
+       * range-op.cc (value_range_with_overflow): Change any
+       non-overflow calculation in which both bounds are
+       overflow/underflow to be undefined.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97315
+       * gimple-ssa-evrp.c (hybrid_folder::choose_value): Removes the
+       trap and instead annotates the listing.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/97294
+       * tree-cfg.c (move_block_to_fn): Call notice_special_calls on
+       call stmts being moved into dest_cfun.
+       * omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when
+       adding __builtin_alloca_with_align call without gimplification.
+
+2020-10-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * common.opt (-fevrp-mode): Rename and move...
+       * params.opt (--param=evrp-mode): ...here.
+       * gimple-range.h (DEBUG_RANGE_CACHE): Use param_evrp_mode instead
+       of flag_evrp_mode.
+       * gimple-ssa-evrp.c (rvrp_folder): Same.
+       (hybrid_folder): Same.
+       (execute_early_vrp): Same.
+
+2020-10-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97307
+       * tree-ssa-sink.c (statement_sink_location): Change heuristic
+       for not skipping stores to look for virtual definitions
+       rather than uses.
+
+2020-10-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-range.h (irange_allocator::allocate): Allocate in two hunks
+       instead of using the variably-sized trailing array approach.
+
+2020-10-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdiagnostics-plain-output): Add
+       -fdiagnostics-path-format=separate-events to list of
+       options injected by -fdiagnostics-plain-output.
+       * opts-common.c (decode_cmdline_options_to_array): Likewise.
+
+2020-10-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96394
+       * ipa-prop.c (update_indirect_edges_after_inlining): Do not add
+       resolved speculation edges to vector of new direct edges even in
+       presence of multiple speculative direct edges for a single call.
+
+2020-10-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md (unspec): Add UNSPEC_ADDPTR.
+       (addptrdi3): Add SGPR alternative.
+
+2020-10-07  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2out.c (add_filepath_AT_string): New function.
+       (asm_outputs_debug_line_str): Likewise.
+       (add_filename_attribute): Likewise.
+       (add_comp_dir_attribute): Call add_filepath_AT_string.
+       (gen_compile_unit_die): Call add_filename_attribute for name.
+       (init_sections_and_labels): Init debug_line_str_section when
+       asm_outputs_debug_line_str return true.
+       (dwarf2out_early_finish): Remove DW_AT_name and DW_AT_comp_dir
+       hack and call add_filename_attribute for the remap_debug_filename.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG,
+       HAVE_AS_WORKING_DWARF_4_FLAG): New tests.
+       * gcc.c (ASM_DEBUG_DWARF_OPTION): Define.
+       (ASM_DEBUG_SPEC): Use ASM_DEBUG_DWARF_OPTION instead of
+       "--gdwarf2".  Use %{cond:opt1;:opt2} style.
+       (ASM_DEBUG_OPTION_DWARF_OPT): Define.
+       (ASM_DEBUG_OPTION_SPEC): Define.
+       (asm_debug_option): New variable.
+       (asm_options): Add "%(asm_debug_option)".
+       (static_specs): Add asm_debug_option entry.
+       (static_spec_functions): Add dwarf-version-gt.
+       (debug_level_greater_than_spec_func): New function.
+       * config/darwin.h (ASM_DEBUG_OPTION_SPEC): Define.
+       * config/darwin9.h (ASM_DEBUG_OPTION_SPEC): Redefine.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/97305
+       * optc-save-gen.awk: Don't declare mask variable if explicit_mask
+       array is not present.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_simd): Don't emit MIN_EXPR and PLUS_EXPR
+       at the end of entry_bb and innermost init_bb, instead force arguments
+       for MIN_EXPR into temporaries in both cases and jump to a new bb that
+       performs MIN_EXPR and PLUS_EXPR.
+
+2020-10-07  Tom de Vries  <tdevries@suse.de>
+
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Add missing NULL test
+       for dump_file.
+
+2020-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * flag-types.h (enum evrp_mode): New enumerated type EVRP_MODE_*.
+       * common.opt (fevrp-mode): New undocumented flag.
+       * gimple-ssa-evrp.c: Include gimple-range.h
+       (class rvrp_folder): EVRP folding using ranger exclusively.
+       (rvrp_folder::rvrp_folder): New.
+       (rvrp_folder::~rvrp_folder): New.
+       (rvrp_folder::value_of_expr): New.  Use rangers value_of_expr.
+       (rvrp_folder::value_on_edge): New.  Use rangers value_on_edge.
+       (rvrp_folder::value_of_Stmt): New.  Use rangers value_of_stmt.
+       (rvrp_folder::fold_stmt): New.  Call the simplifier.
+       (class hybrid_folder): EVRP folding using both engines.
+       (hybrid_folder::hybrid_folder): New.
+       (hybrid_folder::~hybrid_folder): New.
+       (hybrid_folder::fold_stmt): New.  Simplify with one engne, then the
+       other.
+       (hybrid_folder::value_of_expr): New.  Use both value routines.
+       (hybrid_folder::value_on_edge): New.  Use both value routines.
+       (hybrid_folder::value_of_stmt): New.  Use both value routines.
+       (hybrid_folder::choose_value): New.  Choose between range_analzyer and
+       rangers values.
+       (execute_early_vrp): Choose a folder based on flag_evrp_mode.
+       * vr-values.c (simplify_using_ranges::fold_cond): Try range_of_stmt
+       first to see if it returns a value.
+       (simplify_using_ranges::simplify_switch_using_ranges): Return true if
+       any changes were made to the switch.
+
+2020-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-range*.o.
+       * gimple-range.h: New file.
+       * gimple-range.cc: New file.
+       * gimple-range-cache.h: New file.
+       * gimple-range-cache.cc: New file.
+       * gimple-range-edge.h: New file.
+       * gimple-range-edge.cc: New file.
+       * gimple-range-gori.h: New file.
+       * gimple-range-gori.cc: New file.
+
+2020-10-06  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Enable MVE SIMD modes.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       PR middle-end/90861
+       * gimplify.c (gimplify_bind_expr): Handle lookup in
+       oacc_declare_returns using key with decl-expr.
+
+2020-10-06  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/iterators.md (MVE_types): Move mode iterator from mve.md to
+       iterators.md.
+       (MVE_VLD_ST): Likewise.
+       (MVE_0): Likewise.
+       (MVE_1): Likewise.
+       (MVE_3): Likewise.
+       (MVE_2): Likewise.
+       (MVE_5): Likewise.
+       (MVE_6): Likewise.
+       (MVE_CNVT): Move mode attribute iterator from mve.md to iterators.md.
+       (MVE_LANES): Likewise.
+       (MVE_constraint): Likewise.
+       (MVE_constraint1): Likewise.
+       (MVE_constraint2): Likewise.
+       (MVE_constraint3): Likewise.
+       (MVE_pred): Likewise.
+       (MVE_pred1): Likewise.
+       (MVE_pred2): Likewise.
+       (MVE_pred3): Likewise.
+       (MVE_B_ELEM): Likewise.
+       (MVE_H_ELEM): Likewise.
+       (V_sz_elem1): Likewise.
+       (V_extr_elem): Likewise.
+       (earlyclobber_32): Likewise.
+       (supf): Move int attribute from mve.md to iterators.md.
+       (mode1): Likewise.
+       (VCVTQ_TO_F): Move int iterator from mve.md to iterators.md.
+       (VMVNQ_N): Likewise.
+       (VREV64Q): Likewise.
+       (VCVTQ_FROM_F): Likewise.
+       (VREV16Q): Likewise.
+       (VCVTAQ): Likewise.
+       (VMVNQ): Likewise.
+       (VDUPQ_N): Likewise.
+       (VCLZQ): Likewise.
+       (VADDVQ): Likewise.
+       (VREV32Q): Likewise.
+       (VMOVLBQ): Likewise.
+       (VMOVLTQ): Likewise.
+       (VCVTPQ): Likewise.
+       (VCVTNQ): Likewise.
+       (VCVTMQ): Likewise.
+       (VADDLVQ): Likewise.
+       (VCTPQ): Likewise.
+       (VCTPQ_M): Likewise.
+       (VCVTQ_N_TO_F): Likewise.
+       (VCREATEQ): Likewise.
+       (VSHRQ_N): Likewise.
+       (VCVTQ_N_FROM_F): Likewise.
+       (VADDLVQ_P): Likewise.
+       (VCMPNEQ): Likewise.
+       (VSHLQ): Likewise.
+       (VABDQ): Likewise.
+       (VADDQ_N): Likewise.
+       (VADDVAQ): Likewise.
+       (VADDVQ_P): Likewise.
+       (VANDQ): Likewise.
+       (VBICQ): Likewise.
+       (VBRSRQ_N): Likewise.
+       (VCADDQ_ROT270): Likewise.
+       (VCADDQ_ROT90): Likewise.
+       (VCMPEQQ): Likewise.
+       (VCMPEQQ_N): Likewise.
+       (VCMPNEQ_N): Likewise.
+       (VEORQ): Likewise.
+       (VHADDQ): Likewise.
+       (VHADDQ_N): Likewise.
+       (VHSUBQ): Likewise.
+       (VHSUBQ_N): Likewise.
+       (VMAXQ): Likewise.
+       (VMAXVQ): Likewise.
+       (VMINQ): Likewise.
+       (VMINVQ): Likewise.
+       (VMLADAVQ): Likewise.
+       (VMULHQ): Likewise.
+       (VMULLBQ_INT): Likewise.
+       (VMULLTQ_INT): Likewise.
+       (VMULQ): Likewise.
+       (VMULQ_N): Likewise.
+       (VORNQ): Likewise.
+       (VORRQ): Likewise.
+       (VQADDQ): Likewise.
+       (VQADDQ_N): Likewise.
+       (VQRSHLQ): Likewise.
+       (VQRSHLQ_N): Likewise.
+       (VQSHLQ): Likewise.
+       (VQSHLQ_N): Likewise.
+       (VQSHLQ_R): Likewise.
+       (VQSUBQ): Likewise.
+       (VQSUBQ_N): Likewise.
+       (VRHADDQ): Likewise.
+       (VRMULHQ): Likewise.
+       (VRSHLQ): Likewise.
+       (VRSHLQ_N): Likewise.
+       (VRSHRQ_N): Likewise.
+       (VSHLQ_N): Likewise.
+       (VSHLQ_R): Likewise.
+       (VSUBQ): Likewise.
+       (VSUBQ_N): Likewise.
+       (VADDLVAQ): Likewise.
+       (VBICQ_N): Likewise.
+       (VMLALDAVQ): Likewise.
+       (VMLALDAVXQ): Likewise.
+       (VMOVNBQ): Likewise.
+       (VMOVNTQ): Likewise.
+       (VORRQ_N): Likewise.
+       (VQMOVNBQ): Likewise.
+       (VQMOVNTQ): Likewise.
+       (VSHLLBQ_N): Likewise.
+       (VSHLLTQ_N): Likewise.
+       (VRMLALDAVHQ): Likewise.
+       (VBICQ_M_N): Likewise.
+       (VCVTAQ_M): Likewise.
+       (VCVTQ_M_TO_F): Likewise.
+       (VQRSHRNBQ_N): Likewise.
+       (VABAVQ): Likewise.
+       (VSHLCQ): Likewise.
+       (VRMLALDAVHAQ): Likewise.
+       (VADDVAQ_P): Likewise.
+       (VCLZQ_M): Likewise.
+       (VCMPEQQ_M_N): Likewise.
+       (VCMPEQQ_M): Likewise.
+       (VCMPNEQ_M_N): Likewise.
+       (VCMPNEQ_M): Likewise.
+       (VDUPQ_M_N): Likewise.
+       (VMAXVQ_P): Likewise.
+       (VMINVQ_P): Likewise.
+       (VMLADAVAQ): Likewise.
+       (VMLADAVQ_P): Likewise.
+       (VMLAQ_N): Likewise.
+       (VMLASQ_N): Likewise.
+       (VMVNQ_M): Likewise.
+       (VPSELQ): Likewise.
+       (VQDMLAHQ_N): Likewise.
+       (VQRDMLAHQ_N): Likewise.
+       (VQRDMLASHQ_N): Likewise.
+       (VQRSHLQ_M_N): Likewise.
+       (VQSHLQ_M_R): Likewise.
+       (VREV64Q_M): Likewise.
+       (VRSHLQ_M_N): Likewise.
+       (VSHLQ_M_R): Likewise.
+       (VSLIQ_N): Likewise.
+       (VSRIQ_N): Likewise.
+       (VMLALDAVQ_P): Likewise.
+       (VQMOVNBQ_M): Likewise.
+       (VMOVLTQ_M): Likewise.
+       (VMOVNBQ_M): Likewise.
+       (VRSHRNTQ_N): Likewise.
+       (VORRQ_M_N): Likewise.
+       (VREV32Q_M): Likewise.
+       (VREV16Q_M): Likewise.
+       (VQRSHRNTQ_N): Likewise.
+       (VMOVNTQ_M): Likewise.
+       (VMOVLBQ_M): Likewise.
+       (VMLALDAVAQ): Likewise.
+       (VQSHRNBQ_N): Likewise.
+       (VSHRNBQ_N): Likewise.
+       (VRSHRNBQ_N): Likewise.
+       (VMLALDAVXQ_P): Likewise.
+       (VQMOVNTQ_M): Likewise.
+       (VMVNQ_M_N): Likewise.
+       (VQSHRNTQ_N): Likewise.
+       (VMLALDAVAXQ): Likewise.
+       (VSHRNTQ_N): Likewise.
+       (VCVTMQ_M): Likewise.
+       (VCVTNQ_M): Likewise.
+       (VCVTPQ_M): Likewise.
+       (VCVTQ_M_N_FROM_F): Likewise.
+       (VCVTQ_M_FROM_F): Likewise.
+       (VRMLALDAVHQ_P): Likewise.
+       (VADDLVAQ_P): Likewise.
+       (VABAVQ_P): Likewise.
+       (VSHLQ_M): Likewise.
+       (VSRIQ_M_N): Likewise.
+       (VSUBQ_M): Likewise.
+       (VCVTQ_M_N_TO_F): Likewise.
+       (VHSUBQ_M): Likewise.
+       (VSLIQ_M_N): Likewise.
+       (VRSHLQ_M): Likewise.
+       (VMINQ_M): Likewise.
+       (VMULLBQ_INT_M): Likewise.
+       (VMULHQ_M): Likewise.
+       (VMULQ_M): Likewise.
+       (VHSUBQ_M_N): Likewise.
+       (VHADDQ_M_N): Likewise.
+       (VORRQ_M): Likewise.
+       (VRMULHQ_M): Likewise.
+       (VQADDQ_M): Likewise.
+       (VRSHRQ_M_N): Likewise.
+       (VQSUBQ_M_N): Likewise.
+       (VADDQ_M): Likewise.
+       (VORNQ_M): Likewise.
+       (VRHADDQ_M): Likewise.
+       (VQSHLQ_M): Likewise.
+       (VANDQ_M): Likewise.
+       (VBICQ_M): Likewise.
+       (VSHLQ_M_N): Likewise.
+       (VCADDQ_ROT270_M): Likewise.
+       (VQRSHLQ_M): Likewise.
+       (VQADDQ_M_N): Likewise.
+       (VADDQ_M_N): Likewise.
+       (VMAXQ_M): Likewise.
+       (VQSUBQ_M): Likewise.
+       (VMLASQ_M_N): Likewise.
+       (VMLADAVAQ_P): Likewise.
+       (VBRSRQ_M_N): Likewise.
+       (VMULQ_M_N): Likewise.
+       (VCADDQ_ROT90_M): Likewise.
+       (VMULLTQ_INT_M): Likewise.
+       (VEORQ_M): Likewise.
+       (VSHRQ_M_N): Likewise.
+       (VSUBQ_M_N): Likewise.
+       (VHADDQ_M): Likewise.
+       (VABDQ_M): Likewise.
+       (VMLAQ_M_N): Likewise.
+       (VQSHLQ_M_N): Likewise.
+       (VMLALDAVAQ_P): Likewise.
+       (VMLALDAVAXQ_P): Likewise.
+       (VQRSHRNBQ_M_N): Likewise.
+       (VQRSHRNTQ_M_N): Likewise.
+       (VQSHRNBQ_M_N): Likewise.
+       (VQSHRNTQ_M_N): Likewise.
+       (VRSHRNBQ_M_N): Likewise.
+       (VRSHRNTQ_M_N): Likewise.
+       (VSHLLBQ_M_N): Likewise.
+       (VSHLLTQ_M_N): Likewise.
+       (VSHRNBQ_M_N): Likewise.
+       (VSHRNTQ_M_N): Likewise.
+       (VSTRWSBQ): Likewise.
+       (VSTRBSOQ): Likewise.
+       (VSTRBQ): Likewise.
+       (VLDRBGOQ): Likewise.
+       (VLDRBQ): Likewise.
+       (VLDRWGBQ): Likewise.
+       (VLD1Q): Likewise.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (VLDRDGBQ): Likewise.
+       (VLDRDGOQ): Likewise.
+       (VLDRDGSOQ): Likewise.
+       (VLDRWGOQ): Likewise.
+       (VLDRWGSOQ): Likewise.
+       (VST1Q): Likewise.
+       (VSTRHSOQ): Likewise.
+       (VSTRHSSOQ): Likewise.
+       (VSTRHQ): Likewise.
+       (VSTRWQ): Likewise.
+       (VSTRDSBQ): Likewise.
+       (VSTRDSOQ): Likewise.
+       (VSTRDSSOQ): Likewise.
+       (VSTRWSOQ): Likewise.
+       (VSTRWSSOQ): Likewise.
+       (VSTRWSBWBQ): Likewise.
+       (VLDRWGBWBQ): Likewise.
+       (VSTRDSBWBQ): Likewise.
+       (VLDRDGBWBQ): Likewise.
+       (VADCIQ): Likewise.
+       (VADCIQ_M): Likewise.
+       (VSBCQ): Likewise.
+       (VSBCQ_M): Likewise.
+       (VSBCIQ): Likewise.
+       (VSBCIQ_M): Likewise.
+       (VADCQ): Likewise.
+       (VADCQ_M): Likewise.
+       (UQRSHLLQ): Likewise.
+       (SQRSHRLQ): Likewise.
+       (VSHLCQ_M): Likewise.
+       * config/arm/mve.md (MVE_types): Move mode iterator to iterators.md from mve.md.
+       (MVE_VLD_ST): Likewise.
+       (MVE_0): Likewise.
+       (MVE_1): Likewise.
+       (MVE_3): Likewise.
+       (MVE_2): Likewise.
+       (MVE_5): Likewise.
+       (MVE_6): Likewise.
+       (MVE_CNVT): Move mode attribute iterator to iterators.md from mve.md.
+       (MVE_LANES): Likewise.
+       (MVE_constraint): Likewise.
+       (MVE_constraint1): Likewise.
+       (MVE_constraint2): Likewise.
+       (MVE_constraint3): Likewise.
+       (MVE_pred): Likewise.
+       (MVE_pred1): Likewise.
+       (MVE_pred2): Likewise.
+       (MVE_pred3): Likewise.
+       (MVE_B_ELEM): Likewise.
+       (MVE_H_ELEM): Likewise.
+       (V_sz_elem1): Likewise.
+       (V_extr_elem): Likewise.
+       (earlyclobber_32): Likewise.
+       (supf): Move int attribute to iterators.md from mve.md.
+       (mode1): Likewise.
+       (VCVTQ_TO_F): Move int iterator to iterators.md from mve.md.
+       (VMVNQ_N): Likewise.
+       (VREV64Q): Likewise.
+       (VCVTQ_FROM_F): Likewise.
+       (VREV16Q): Likewise.
+       (VCVTAQ): Likewise.
+       (VMVNQ): Likewise.
+       (VDUPQ_N): Likewise.
+       (VCLZQ): Likewise.
+       (VADDVQ): Likewise.
+       (VREV32Q): Likewise.
+       (VMOVLBQ): Likewise.
+       (VMOVLTQ): Likewise.
+       (VCVTPQ): Likewise.
+       (VCVTNQ): Likewise.
+       (VCVTMQ): Likewise.
+       (VADDLVQ): Likewise.
+       (VCTPQ): Likewise.
+       (VCTPQ_M): Likewise.
+       (VCVTQ_N_TO_F): Likewise.
+       (VCREATEQ): Likewise.
+       (VSHRQ_N): Likewise.
+       (VCVTQ_N_FROM_F): Likewise.
+       (VADDLVQ_P): Likewise.
+       (VCMPNEQ): Likewise.
+       (VSHLQ): Likewise.
+       (VABDQ): Likewise.
+       (VADDQ_N): Likewise.
+       (VADDVAQ): Likewise.
+       (VADDVQ_P): Likewise.
+       (VANDQ): Likewise.
+       (VBICQ): Likewise.
+       (VBRSRQ_N): Likewise.
+       (VCADDQ_ROT270): Likewise.
+       (VCADDQ_ROT90): Likewise.
+       (VCMPEQQ): Likewise.
+       (VCMPEQQ_N): Likewise.
+       (VCMPNEQ_N): Likewise.
+       (VEORQ): Likewise.
+       (VHADDQ): Likewise.
+       (VHADDQ_N): Likewise.
+       (VHSUBQ): Likewise.
+       (VHSUBQ_N): Likewise.
+       (VMAXQ): Likewise.
+       (VMAXVQ): Likewise.
+       (VMINQ): Likewise.
+       (VMINVQ): Likewise.
+       (VMLADAVQ): Likewise.
+       (VMULHQ): Likewise.
+       (VMULLBQ_INT): Likewise.
+       (VMULLTQ_INT): Likewise.
+       (VMULQ): Likewise.
+       (VMULQ_N): Likewise.
+       (VORNQ): Likewise.
+       (VORRQ): Likewise.
+       (VQADDQ): Likewise.
+       (VQADDQ_N): Likewise.
+       (VQRSHLQ): Likewise.
+       (VQRSHLQ_N): Likewise.
+       (VQSHLQ): Likewise.
+       (VQSHLQ_N): Likewise.
+       (VQSHLQ_R): Likewise.
+       (VQSUBQ): Likewise.
+       (VQSUBQ_N): Likewise.
+       (VRHADDQ): Likewise.
+       (VRMULHQ): Likewise.
+       (VRSHLQ): Likewise.
+       (VRSHLQ_N): Likewise.
+       (VRSHRQ_N): Likewise.
+       (VSHLQ_N): Likewise.
+       (VSHLQ_R): Likewise.
+       (VSUBQ): Likewise.
+       (VSUBQ_N): Likewise.
+       (VADDLVAQ): Likewise.
+       (VBICQ_N): Likewise.
+       (VMLALDAVQ): Likewise.
+       (VMLALDAVXQ): Likewise.
+       (VMOVNBQ): Likewise.
+       (VMOVNTQ): Likewise.
+       (VORRQ_N): Likewise.
+       (VQMOVNBQ): Likewise.
+       (VQMOVNTQ): Likewise.
+       (VSHLLBQ_N): Likewise.
+       (VSHLLTQ_N): Likewise.
+       (VRMLALDAVHQ): Likewise.
+       (VBICQ_M_N): Likewise.
+       (VCVTAQ_M): Likewise.
+       (VCVTQ_M_TO_F): Likewise.
+       (VQRSHRNBQ_N): Likewise.
+       (VABAVQ): Likewise.
+       (VSHLCQ): Likewise.
+       (VRMLALDAVHAQ): Likewise.
+       (VADDVAQ_P): Likewise.
+       (VCLZQ_M): Likewise.
+       (VCMPEQQ_M_N): Likewise.
+       (VCMPEQQ_M): Likewise.
+       (VCMPNEQ_M_N): Likewise.
+       (VCMPNEQ_M): Likewise.
+       (VDUPQ_M_N): Likewise.
+       (VMAXVQ_P): Likewise.
+       (VMINVQ_P): Likewise.
+       (VMLADAVAQ): Likewise.
+       (VMLADAVQ_P): Likewise.
+       (VMLAQ_N): Likewise.
+       (VMLASQ_N): Likewise.
+       (VMVNQ_M): Likewise.
+       (VPSELQ): Likewise.
+       (VQDMLAHQ_N): Likewise.
+       (VQRDMLAHQ_N): Likewise.
+       (VQRDMLASHQ_N): Likewise.
+       (VQRSHLQ_M_N): Likewise.
+       (VQSHLQ_M_R): Likewise.
+       (VREV64Q_M): Likewise.
+       (VRSHLQ_M_N): Likewise.
+       (VSHLQ_M_R): Likewise.
+       (VSLIQ_N): Likewise.
+       (VSRIQ_N): Likewise.
+       (VMLALDAVQ_P): Likewise.
+       (VQMOVNBQ_M): Likewise.
+       (VMOVLTQ_M): Likewise.
+       (VMOVNBQ_M): Likewise.
+       (VRSHRNTQ_N): Likewise.
+       (VORRQ_M_N): Likewise.
+       (VREV32Q_M): Likewise.
+       (VREV16Q_M): Likewise.
+       (VQRSHRNTQ_N): Likewise.
+       (VMOVNTQ_M): Likewise.
+       (VMOVLBQ_M): Likewise.
+       (VMLALDAVAQ): Likewise.
+       (VQSHRNBQ_N): Likewise.
+       (VSHRNBQ_N): Likewise.
+       (VRSHRNBQ_N): Likewise.
+       (VMLALDAVXQ_P): Likewise.
+       (VQMOVNTQ_M): Likewise.
+       (VMVNQ_M_N): Likewise.
+       (VQSHRNTQ_N): Likewise.
+       (VMLALDAVAXQ): Likewise.
+       (VSHRNTQ_N): Likewise.
+       (VCVTMQ_M): Likewise.
+       (VCVTNQ_M): Likewise.
+       (VCVTPQ_M): Likewise.
+       (VCVTQ_M_N_FROM_F): Likewise.
+       (VCVTQ_M_FROM_F): Likewise.
+       (VRMLALDAVHQ_P): Likewise.
+       (VADDLVAQ_P): Likewise.
+       (VABAVQ_P): Likewise.
+       (VSHLQ_M): Likewise.
+       (VSRIQ_M_N): Likewise.
+       (VSUBQ_M): Likewise.
+       (VCVTQ_M_N_TO_F): Likewise.
+       (VHSUBQ_M): Likewise.
+       (VSLIQ_M_N): Likewise.
+       (VRSHLQ_M): Likewise.
+       (VMINQ_M): Likewise.
+       (VMULLBQ_INT_M): Likewise.
+       (VMULHQ_M): Likewise.
+       (VMULQ_M): Likewise.
+       (VHSUBQ_M_N): Likewise.
+       (VHADDQ_M_N): Likewise.
+       (VORRQ_M): Likewise.
+       (VRMULHQ_M): Likewise.
+       (VQADDQ_M): Likewise.
+       (VRSHRQ_M_N): Likewise.
+       (VQSUBQ_M_N): Likewise.
+       (VADDQ_M): Likewise.
+       (VORNQ_M): Likewise.
+       (VRHADDQ_M): Likewise.
+       (VQSHLQ_M): Likewise.
+       (VANDQ_M): Likewise.
+       (VBICQ_M): Likewise.
+       (VSHLQ_M_N): Likewise.
+       (VCADDQ_ROT270_M): Likewise.
+       (VQRSHLQ_M): Likewise.
+       (VQADDQ_M_N): Likewise.
+       (VADDQ_M_N): Likewise.
+       (VMAXQ_M): Likewise.
+       (VQSUBQ_M): Likewise.
+       (VMLASQ_M_N): Likewise.
+       (VMLADAVAQ_P): Likewise.
+       (VBRSRQ_M_N): Likewise.
+       (VMULQ_M_N): Likewise.
+       (VCADDQ_ROT90_M): Likewise.
+       (VMULLTQ_INT_M): Likewise.
+       (VEORQ_M): Likewise.
+       (VSHRQ_M_N): Likewise.
+       (VSUBQ_M_N): Likewise.
+       (VHADDQ_M): Likewise.
+       (VABDQ_M): Likewise.
+       (VMLAQ_M_N): Likewise.
+       (VQSHLQ_M_N): Likewise.
+       (VMLALDAVAQ_P): Likewise.
+       (VMLALDAVAXQ_P): Likewise.
+       (VQRSHRNBQ_M_N): Likewise.
+       (VQRSHRNTQ_M_N): Likewise.
+       (VQSHRNBQ_M_N): Likewise.
+       (VQSHRNTQ_M_N): Likewise.
+       (VRSHRNBQ_M_N): Likewise.
+       (VRSHRNTQ_M_N): Likewise.
+       (VSHLLBQ_M_N): Likewise.
+       (VSHLLTQ_M_N): Likewise.
+       (VSHRNBQ_M_N): Likewise.
+       (VSHRNTQ_M_N): Likewise.
+       (VSTRWSBQ): Likewise.
+       (VSTRBSOQ): Likewise.
+       (VSTRBQ): Likewise.
+       (VLDRBGOQ): Likewise.
+       (VLDRBQ): Likewise.
+       (VLDRWGBQ): Likewise.
+       (VLD1Q): Likewise.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (VLDRDGBQ): Likewise.
+       (VLDRDGOQ): Likewise.
+       (VLDRDGSOQ): Likewise.
+       (VLDRWGOQ): Likewise.
+       (VLDRWGSOQ): Likewise.
+       (VST1Q): Likewise.
+       (VSTRHSOQ): Likewise.
+       (VSTRHSSOQ): Likewise.
+       (VSTRHQ): Likewise.
+       (VSTRWQ): Likewise.
+       (VSTRDSBQ): Likewise.
+       (VSTRDSOQ): Likewise.
+       (VSTRDSSOQ): Likewise.
+       (VSTRWSOQ): Likewise.
+       (VSTRWSSOQ): Likewise.
+       (VSTRWSBWBQ): Likewise.
+       (VLDRWGBWBQ): Likewise.
+       (VSTRDSBWBQ): Likewise.
+       (VLDRDGBWBQ): Likewise.
+       (VADCIQ): Likewise.
+       (VADCIQ_M): Likewise.
+       (VSBCQ): Likewise.
+       (VSBCQ_M): Likewise.
+       (VSBCIQ): Likewise.
+       (VSBCIQ_M): Likewise.
+       (VADCQ): Likewise.
+       (VADCQ_M): Likewise.
+       (UQRSHLLQ): Likewise.
+       (SQRSHRLQ): Likewise.
+       (VSHLCQ_M): Likewise.
+       (define_c_enum "unspec"): Move MVE enumerator to unspecs.md from mve.md.
+       * config/arm/unspecs.md (define_c_enum "unspec"): Move MVE enumerator from
+       mve.md to unspecs.md.
+
+2020-10-06  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Remove -fdbg-cnt-list from deferred options.
+       * dbgcnt.c (dbg_cnt_set_limit_by_index): Make a copy
+       to original_limits.
+       (dbg_cnt_list_all_counters): Print also current counter value
+       and print to stderr.
+       * opts-global.c (handle_common_deferred_options): Do not handle
+       -fdbg-cnt-list.
+       * opts.c (common_handle_option): Likewise.
+       * toplev.c (finalize): Handle it after compilation here.
+
+2020-10-06  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.c (dbg_cnt): Report also upper limit.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (count_insns): Rename to ...
+       (analyze_bb): ... this.
+       (cache_can_duplicate_bb_p, cached_can_duplicate_bb_p): New function.
+       (ignore_bb_p): Use cached_can_duplicate_bb_p.
+       (tail_duplicate): Call cache_can_duplicate_bb_p.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p)
+       (can_duplicate_bb_p): New function, factored out of ...
+       (ignore_bb_p): ... here.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97282
+       * tree-ssa-math-opts.c (divmod_candidate_p): Don't return false for
+       constant op2 if it is not a power of two and the type has precision
+       larger than HOST_BITS_PER_WIDE_INT or BITS_PER_WORD.
+       * internal-fn.c (contains_call_div_mod): New function.
+       (expand_DIVMOD): If last argument is a constant, try to expand it as
+       TRUNC_DIV_EXPR followed by TRUNC_MOD_EXPR, but if the sequence
+       contains any calls or {,U}{DIV,MOD} rtxes, throw it away and use
+       divmod optab or divmod libfunc.
+
+2020-10-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (irange_allocator::allocate): Increase
+       newir storage by one.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97289
+       * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Only follow
+       node->alias_target if it is a FUNCTION_DECL.
+
+2020-10-06  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm-cpus.in:
+       (ALL_FPU_INTERNAL): Remove vfp_base.
+       (VFPv2): Remove vfp_base.
+       (MVE): Remove vfp_base.
+       (vfp_base): Redefine as implied bit dependent on MVE or FP
+       (cortex-m55): Add flags to disable MVE, MVE FP, FP and DSP extensions.
+       * config/arm/arm.c (arm_configure_build_target): Add implied bits to ISA.
+       * config/arm/parsecpu.awk:
+       (gen_isa): Print implied bits and their dependencies to ISA header.
+       (gen_data): Add parsing for implied feature bits.
+
+2020-10-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * doc/invoke.texi: Add z15/arch13 to the list of documented
+       -march/-mtune options.
+
+2020-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::legacy_intersect): Only handle
+       legacy ranges.
+       (irange::legacy_union): Same.
+       (irange::union_): When unioning legacy with non-legacy,
+       first convert to legacy and do everything in legacy mode.
+       (irange::intersect): Same, but for intersect.
+       * range-op.cc (range_tests): Adjust for above changes.
+
+2020-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_div::wi_fold): Return varying for
+       division by zero.
+       (class operator_rshift): Move class up.
+       (operator_abs::wi_fold): Return [-MIN,-MIN] for ABS([-MIN,-MIN]).
+       (operator_tests): Adjust tests.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_XCHG_*.
+
+2020-10-05  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and
+       part numbers.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (ignore_bb_p): Remove incorrect suggestion.
+
+2020-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * opth-gen.awk: Don't emit explicit_mask array if n_target_explicit
+       is equal to n_target_explicit_mask.
+       * optc-save-gen.awk: Compute has_target_explicit_mask and if false,
+       don't emit code iterating over explicit_mask array elements.  Stream
+       also explicit_mask_* target members.
+
+2020-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-ssa-store-merging.c
+       (imm_store_chain_info::output_merged_store): Use ~0U instead of ~0 in
+       unsigned int array initializer.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       PR fortran/95654
+       * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_ENTER_ALLOC,
+       GOMP_SIMT_VOTE_ANY and GOMP_SIMT_EXIT.
+
+2020-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * opth-gen.awk: For variables referenced in Mask and InverseMask,
+       don't use the explicit_mask bitmask array, but add separate
+       explicit_mask_* members with the same types as the variables.
+       * optc-save-gen.awk: Save, restore, compare and hash the separate
+       explicit_mask_* members.
+
+2020-10-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (test_insert_search_collapse): Update andling
+       of accesses.
+       (test_merge): Likewise.
+       * ipa-modref-tree.h (struct modref_access_node): Add offset, size,
+       max_size, parm_offset and parm_offset_known.
+       (modref_access_node::useful_p): Constify.
+       (modref_access_node::range_info_useful_p): New predicate.
+       (modref_access_node::operator==): New.
+       (struct modref_parm_map): New structure.
+       (modref_tree::merge): Update for racking parameters)
+       * ipa-modref.c (dump_access): Dump new fields.
+       (get_access): Fill in new fields.
+       (merge_call_side_effects): Update handling of parm map.
+       (write_modref_records): Stream new fields.
+       (read_modref_records): Stream new fields.
+       (compute_parm_map): Update for new parm map.
+       (ipa_merge_modref_summary_after_inlining): Update.
+       (modref_propagate_in_scc): Update.
+       * tree-ssa-alias.c (modref_may_conflict): Handle known ranges.
+
+2020-10-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR other/97280
+       * doc/extend.texi: Replace roudnevenl with roundevenl
+
+2020-10-02  David Edelsohn  <dje.gcc@gmail.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * config/rs6000/rs6000.c: Include ssa.h. Reorder some headers.
+       * config/rs6000/rs6000-call.c: Same.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (ipa-cp-large-unit-insns): New parameter.
+       * ipa-cp.c (get_max_overall_size): Use the new parameter.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (estimate_local_effects): Add overeall_size to dumped
+       string.
+       (decide_about_value): Add dumping new overall_size.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-fnsummary.h (ipa_freqcounting_predicate): New type.
+       (ipa_fn_summary): Change the type of loop_iterations and loop_strides
+       to vectors of ipa_freqcounting_predicate.
+       (ipa_fn_summary::ipa_fn_summary): Construct the new vectors.
+       (ipa_call_estimates): New fields loops_with_known_iterations and
+       loops_with_known_strides.
+       * ipa-cp.c (hint_time_bonus): Multiply param_ipa_cp_loop_hint_bonus
+       with the expected frequencies of loops with known iteration count or
+       stride.
+       * ipa-fnsummary.c (add_freqcounting_predicate): New function.
+       (ipa_fn_summary::~ipa_fn_summary): Release the new vectors instead of
+       just two predicates.
+       (remap_hint_predicate_after_duplication): Replace with function
+       remap_freqcounting_preds_after_dup.
+       (ipa_fn_summary_t::duplicate): Use it or duplicate new vectors.
+       (ipa_dump_fn_summary): Dump the new vectors.
+       (analyze_function_body): Compute the loop property vectors.
+       (ipa_call_context::estimate_size_and_time): Calculate also
+       loops_with_known_iterations and loops_with_known_strides.  Adjusted
+       dumping accordinly.
+       (remap_hint_predicate): Replace with function
+       remap_freqcounting_predicate.
+       (ipa_merge_fn_summary_after_inlining): Use it.
+       (inline_read_section): Stream loopcounting vectors instead of two
+       simple predicates.
+       (ipa_fn_summary_write): Likewise.
+       * params.opt (ipa-max-loop-predicates): New parameter.
+       * doc/invoke.texi (ipa-max-loop-predicates): Document new param.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to use
+       ipa_call_estimates.
+       (do_estimate_edge_size): Likewise.
+       (do_estimate_edge_hints): Likewise.
+       * ipa-fnsummary.h (struct ipa_call_estimates): New type.
+       (ipa_call_context::estimate_size_and_time): Adjusted declaration.
+       (estimate_ipcp_clone_size_and_time): Likewise.
+       * ipa-cp.c (hint_time_bonus): Changed the type of the second argument
+       to ipa_call_estimates.
+       (perform_estimation_of_a_value): Adjusted to use ipa_call_estimates.
+       (estimate_local_effects): Likewise.
+       * ipa-fnsummary.c (ipa_call_context::estimate_size_and_time): Adjusted
+       to return estimates in a single ipa_call_estimates parameter.
+       (estimate_ipcp_clone_size_and_time): Likewise.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-fnsummary.h (ipa_cached_call_context): New forward declaration
+       and class.
+       (class ipa_call_context): Make friend ipa_cached_call_context.  Moved
+       methods duplicate_from and release to it too.
+       * ipa-fnsummary.c (ipa_call_context::duplicate_from): Moved to class
+       ipa_cached_call_context.
+       (ipa_call_context::release): Likewise, removed the parameter.
+       * ipa-inline-analysis.c (node_context_cache_entry): Change the type of
+       ctx to ipa_cached_call_context.
+       (do_estimate_edge_time): Remove parameter from the call to
+       ipa_cached_call_context::release.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (ipa_auto_call_arg_values): New type.
+       (class ipa_call_arg_values): Likewise.
+       (ipa_get_indirect_edge_target): Replaced vector arguments with
+       ipa_call_arg_values in declaration.  Added an overload for
+       ipa_auto_call_arg_values.
+       * ipa-fnsummary.h (ipa_call_context): Removed members m_known_vals,
+       m_known_contexts, m_known_aggs, duplicate_from, release and equal_to,
+       new members m_avals, store_to_cache and equivalent_to_p.  Adjusted
+       construcotr arguments.
+       (estimate_ipcp_clone_size_and_time): Replaced vector arguments
+       with ipa_auto_call_arg_values in declaration.
+       (evaluate_properties_for_edge): Likewise.
+       * ipa-cp.c (ipa_get_indirect_edge_target): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.  Added an
+       overload for ipa_auto_call_arg_values.
+       (devirtualization_time_bonus): Adjusted to work on
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (gather_context_independent_values): Adjusted to work on
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (perform_estimation_of_a_value): Likewise.
+       (estimate_local_effects): Likewise.
+       (modify_known_vectors_with_val): Adjusted both variants to work on
+       ipa_auto_call_arg_values and rename them to
+       copy_known_vectors_add_val.
+       (decide_about_value): Adjusted to work on ipa_call_arg_values rather
+       than on separate vectors.
+       (decide_whether_version_node): Likewise.
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Likewise.
+       (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (estimate_edge_devirt_benefit): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (estimate_edge_size_and_time): Likewise.
+       (estimate_calls_size_and_time_1): Likewise.
+       (summarize_calls_size_and_time): Adjusted calls to
+       estimate_edge_size_and_time.
+       (estimate_calls_size_and_time): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (ipa_call_context::ipa_call_context): Construct from a pointer to
+       ipa_auto_call_arg_values instead of inividual vectors.
+       (ipa_call_context::duplicate_from): Adjusted to access vectors within
+       m_avals.
+       (ipa_call_context::release): Likewise.
+       (ipa_call_context::equal_to): Likewise.
+       (ipa_call_context::estimate_size_and_time): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (estimate_ipcp_clone_size_and_time): Adjusted to work with
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (ipa_merge_fn_summary_after_inlining): Likewise.  Adjusted call to
+       estimate_edge_size_and_time.
+       (ipa_update_overall_fn_summary): Adjusted call to
+       estimate_edge_size_and_time.
+       * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to work with
+       ipa_auto_call_arg_values rather than with separate vectors.
+       (do_estimate_edge_size): Likewise.
+       (do_estimate_edge_hints): Likewise.
+       * ipa-prop.c (ipa_auto_call_arg_values::~ipa_auto_call_arg_values):
+       New destructor.
+
+2020-10-02  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vmaxnmavq): Remove coercion of scalar
+       argument.
+       (__arm_vmaxnmvq): Likewise.
+       (__arm_vminnmavq): Likewise.
+       (__arm_vminnmvq): Likewise.
+       (__arm_vmaxnmavq_p): Likewise.
+       (__arm_vmaxnmvq_p): Likewise (and delete duplicate definition).
+       (__arm_vminnmavq_p): Likewise.
+       (__arm_vminnmvq_p): Likewise.
+       (__arm_vmaxavq): Likewise.
+       (__arm_vmaxavq_p): Likewise.
+       (__arm_vmaxvq): Likewise.
+       (__arm_vmaxvq_p): Likewise.
+       (__arm_vminavq): Likewise.
+       (__arm_vminavq_p): Likewise.
+       (__arm_vminvq): Likewise.
+       (__arm_vminvq_p): Likewise.
+
+2020-10-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (neoversev1_tunings): Define.
+       * config/aarch64/aarch64-cores.def (zeus): Use it.
+       (neoverse-v1): Likewise.
+
+2020-10-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * attr-fnspec.h: Update documentation.
+       (attr_fnsec::return_desc_size): Set to 2
+       (attr_fnsec::arg_desc_size): Set to 2
+       * builtin-attrs.def (STR1): Update fnspec.
+       * internal-fn.def (UBSAN_NULL): Update fnspec.
+       (UBSAN_VPTR): Update fnspec.
+       (UBSAN_PTR): Update fnspec.
+       (ASAN_CHECK): Update fnspec.
+       (GOACC_DIM_SIZE): Remove fnspec.
+       (GOACC_DIM_POS): Remove fnspec.
+       * tree-ssa-alias.c (attr_fnspec::verify): Update verification.
+
+2020-10-02  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h: New file.
+       * calls.c (decl_return_flags): Use attr_fnspec.
+       * gimple.c (gimple_call_arg_flags): Use attr_fnspec.
+       (gimple_call_return_flags): Use attr_fnspec.
+       * tree-into-ssa.c (pass_build_ssa::execute): Use attr_fnspec.
+       * tree-ssa-alias.c (attr_fnspec::verify): New member fuction.
+
+2020-10-02  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Break out from ...
+       (ao_ref_init_from_ptr_and_size): ... here.
+
+2020-10-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * data-streamer-in.c (streamer_read_poly_int64): New function.
+       * data-streamer-out.c (streamer_write_poly_int64): New function.
+       * data-streamer.h (streamer_write_poly_int64): Declare.
+       (streamer_read_poly_int64): Declare.
+
+2020-10-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sve_pred_dominates_p):
+       Delete.
+       * config/aarch64/aarch64.c (aarch64_sve_pred_dominates_p): Likewise.
+       * config/aarch64/aarch64-sve.md: Add banner comment describing
+       how merging predicated FP operations are represented.
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const): Split into...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const): Split into...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const_strict): ...this.
+       (*cond_add<mode>_2_const): Split into...
+       (*cond_add<mode>_2_const_relaxed): ...this and...
+       (*cond_add<mode>_2_const_strict): ...this.
+       (*cond_add<mode>_any_const): Split into...
+       (*cond_add<mode>_any_const_relaxed): ...this and...
+       (*cond_add<mode>_any_const_strict): ...this.
+       (*cond_<SVE_COND_FCADD:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FCADD:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FCADD:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FCADD:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FCADD:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FCADD:optab><mode>_any_strict): ...this.
+       (*cond_sub<mode>_3_const): Split into...
+       (*cond_sub<mode>_3_const_relaxed): ...this and...
+       (*cond_sub<mode>_3_const_strict): ...this.
+       (*aarch64_pred_abd<mode>): Split into...
+       (*aarch64_pred_abd<mode>_relaxed): ...this and...
+       (*aarch64_pred_abd<mode>_strict): ...this.
+       (*aarch64_cond_abd<mode>_2): Split into...
+       (*aarch64_cond_abd<mode>_2_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_2_strict): ...this.
+       (*aarch64_cond_abd<mode>_3): Split into...
+       (*aarch64_cond_abd<mode>_3_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_3_strict): ...this.
+       (*aarch64_cond_abd<mode>_any): Split into...
+       (*aarch64_cond_abd<mode>_any_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4): Split into...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4_relaxed): ...this and...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4_strict): ...this.
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any_strict): ...this.
+       (*aarch64_pred_fac<cmp_op><mode>): Split into...
+       (*aarch64_pred_fac<cmp_op><mode>_relaxed): ...this and...
+       (*aarch64_pred_fac<cmp_op><mode>_strict): ...this.
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>): Split
+       into...
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>_relaxed):
+       ...this and...
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>_strict):
+       ...this.
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>): Split
+       into...
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>_relaxed):
+       ...this and...
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>_strict):
+       ...this.
+       * config/aarch64/aarch64-sve2.md
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>): Split into...
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>_relaxed): ...this and...
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>_strict): ...this.
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any): Split into...
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any_relaxed): ...this
+       and...
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any_strict): ...this.
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>): Split into...
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>_relaxed): ...this and...
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>_strict): ...this.
+
+2020-10-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/neon.md (*sub<VDQ:mode>3_neon): Use the new mode macros
+       for the insn condition.
+       (sub<VH:mode>3, *mul<VDQW:mode>3_neon): Likewise.
+       (mul<VDQW:mode>3add<VDQW:mode>_neon): Likewise.
+       (mul<VH:mode>3add<VH:mode>_neon): Likewise.
+       (mul<VDQW:mode>3neg<VDQW:mode>add<VDQW:mode>_neon): Likewise.
+       (fma<VCVTF:mode>4, fma<VH:mode>4, *fmsub<VCVTF:mode>4): Likewise.
+       (quad_halves_<code>v4sf, reduc_plus_scal_<VD:mode>): Likewise.
+       (reduc_plus_scal_<VQ:mode>, reduc_smin_scal_<VD:mode>): Likewise.
+       (reduc_smin_scal_<VQ:mode>, reduc_smax_scal_<VD:mode>): Likewise.
+       (reduc_smax_scal_<VQ:mode>, mul<VH:mode>3): Likewise.
+       (neon_vabd<VF:mode>_2, neon_vabd<VF:mode>_3): Likewise.
+       (fma<VH:mode>4_intrinsic): Delete.
+       (neon_vadd<VCVTF:mode>): Use the new mode macros to decide which
+       form of instruction to generate.
+       (neon_vmla<VDQW:mode>, neon_vmls<VDQW:mode>): Likewise.
+       (neon_vsub<VCVTF:mode>): Likewise.
+       (neon_vfma<VH:mode>): Generate the main fma<mode>4 form instead
+       of using fma<mode>4_intrinsic.
+
+2020-10-02  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97193
+       * coverage.c (coverage_init): GCDA note files should not be
+       mangled and should end in output directory.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * gimple.h (gimple_call_operator_delete_p): Rename from
+       gimple_call_replaceable_operator_delete_p.
+       * gimple.c (gimple_call_operator_delete_p): Likewise.
+       * tree.h (DECL_IS_REPLACEABLE_OPERATOR_DELETE_P): Remove.
+       * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Adjust.
+       (propagate_necessity): Likewise.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise.
+
+2020-10-02  Richard Biener  <rguenther@suse.de>
+
+       * gimple.h (GF_CALL_FROM_NEW_OR_DELETE): New call flag.
+       (gimple_call_set_from_new_or_delete): New.
+       (gimple_call_from_new_or_delete): Likewise.
+       * gimple.c (gimple_build_call_from_tree): Set
+       GF_CALL_FROM_NEW_OR_DELETE appropriately.
+       * ipa-icf-gimple.c (func_checker::compare_gimple_call):
+       Compare gimple_call_from_new_or_delete.
+       * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Make
+       sure to only consider new/delete calls from new or delete
+       expressions.
+       (propagate_necessity): Likewise.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_call):
+       Likewise.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * tree.h (CALL_FROM_NEW_OR_DELETE_P): Move from cp-tree.h.
+       * tree-core.h: Document new usage of protected_flag.
+
+2020-10-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (irange::fits_p): New.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_address): Use
+       gen_int_mode for high part of address constant.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_linux64_override_options):
+       Formatting.  Correct setting of TARGET_NO_FP_IN_TOC and
+       TARGET_NO_SUM_IN_TOC.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/freebsd64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+       rs6000_linux64_override_options.
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Break
+       out to..
+       * config/rs6000/rs6000.c (rs6000_linux64_override_options): ..this,
+       new function.  Tweak non-biarch test and clearing of
+       profile_kernel to work with freebsd64.h.
+
+2020-10-01  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000-call.c: Include value-range.h.
+       * config/rs6000/rs6000.c: Likewise.
+
+2020-10-01  Tom de Vries  <tdevries@suse.de>
+
+       PR target/80845
+       * config/nvptx/nvptx.md (define_insn "truncsi<QHIM>2"): Emit mov.u32
+       instead of cvt.u32.u32.
+
+2020-10-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96528
+       PR target/97288
+       * config/arm/arm-protos.h (arm_expand_vector_compare): Declare.
+       (arm_expand_vcond): Likewise.
+       * config/arm/arm.c (arm_expand_vector_compare): New function.
+       (arm_expand_vcond): Likewise.
+       * config/arm/neon.md (vec_cmp<VDQW:mode><v_cmp_result>): New pattern.
+       (vec_cmpu<VDQW:mode><VDQW:mode>): Likewise.
+       (vcond<VDQW:mode><VDQW:mode>): Require operand 5 to be a register
+       or zero.  Use arm_expand_vcond.
+       (vcond<V_cvtto><V32:mode>): New pattern.
+       (vcondu<VDQIW:mode><VDQIW:mode>): Generalize to...
+       (vcondu<VDQW:mode><v_cmp_result): ...this.  Require operand 5
+       to be a register or zero.  Use arm_expand_vcond.
+       (vcond_mask_<VDQW:mode><v_cmp_result>): New pattern.
+       (neon_vc<cmp_op><mode>, neon_vc<cmp_op><mode>_insn): Add "@" marker.
+       (neon_vbsl<mode>): Likewise.
+       (neon_vc<cmp_op>u<mode>): Reexpress as...
+       (@neon_vc<code><mode>): ...this.
+
+2020-10-01  Michael Davidsaver  <mdavidsaver@gmail.com>
+
+       * config/i386/t-rtems: Change from mtune to march when building
+       multilibs.  The mtune argument tunes or optimizes for a specific
+       CPU model but does not ensure the generated code is appropriate
+       for the CPU model. Prior to this patch, i386 compatible code
+       was always generated but tuned for later models.
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * builtins.c (compute_objsize): Replace vr_values with range_query.
+       (get_range): Same.
+       (gimple_call_alloc_size): Same.
+       * builtins.h (class vr_values):  Remove.
+       (gimple_call_alloc_size): Replace vr_values with range_query.
+       * gimple-ssa-sprintf.c (get_int_range): Same.
+       (struct directive): Pass gimple context to fmtfunc callback.
+       (directive::set_width): Replace inline with out-of-line version.
+       (directive::set_precision): Same.
+       (format_none): New gimple argument.
+       (format_percent): New gimple argument.
+       (format_integer): New gimple argument.
+       (format_floating): New gimple argument.
+       (get_string_length): Use range_query API.
+       (format_character): New gimple argument.
+       (format_string): New gimple argument.
+       (format_plain): New gimple argument.
+       (format_directive): New gimple argument.
+       (parse_directive): Replace vr_values with range_query.
+       (compute_format_length): Same.
+       (handle_printf_call): Same.  Adjust for range_query API.
+       * tree-ssa-strlen.c (get_range): Same.
+       (compare_nonzero_chars): Same.
+       (get_addr_stridx) Replace vr_values with range_query.
+       (get_stridx): Same.
+       (dump_strlen_info): Same.
+       (get_range_strlen_dynamic): Adjust for range_query API.
+       (set_strlen_range): Same
+       (maybe_warn_overflow): Replace vr_values with range_query.
+       (handle_builtin_strcpy): Same.
+       (maybe_diag_stxncpy_trunc): Add FIXME comment.
+       (handle_builtin_memcpy): Replace vr_values with range_query.
+       (handle_builtin_memset): Same.
+       (get_len_or_size): Same.
+       (strxcmp_eqz_result): Same.
+       (handle_builtin_string_cmp): Same.
+       (count_nonzero_bytes_addr): Same, plus adjust for range_query API.
+       (count_nonzero_bytes): Replace vr_values with range_query.
+       (handle_store): Same.
+       (strlen_check_and_optimize_call): Same.
+       (handle_integral_assign): Same.
+       (check_and_optimize_stmt): Same.
+       * tree-ssa-strlen.h (class vr_values): Remove.
+       (get_range): Replace vr_values with range_query.
+       (get_range_strlen_dynamic): Same.
+       (handle_printf_call): Same.
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (lv_dom_walker::before_dom_children):
+       Pass m_range_analyzer instead of get_vr_values.
+       (loop_versioning::name_prop::get_value): Rename to...
+       (loop_versioning::name_prop::value_of_expr): ...this.
+       * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer):
+       Adjust for evrp_range_analyzer
+       inheriting from vr_values.
+       (evrp_range_analyzer::try_find_new_range): Same.
+       (evrp_range_analyzer::record_ranges_from_incoming_edge): Same.
+       (evrp_range_analyzer::record_ranges_from_phis): Same.
+       (evrp_range_analyzer::record_ranges_from_stmt): Same.
+       (evrp_range_analyzer::push_value_range): Same.
+       (evrp_range_analyzer::pop_value_range): Same.
+       * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Inherit from
+       vr_values.  Adjust accordingly.
+       * gimple-ssa-evrp.c: Adjust for evrp_range_analyzer inheriting from
+       vr_values.
+       (evrp_folder::value_of_evrp): Rename from get_value.
+       * tree-ssa-ccp.c (class ccp_folder): Rename get_value to
+       value_of_expr.
+       (ccp_folder::get_value): Rename to...
+       (ccp_folder::value_of_expr): ...this.
+       * tree-ssa-copy.c (class copy_folder): Rename get_value to
+       value_of_expr.
+       (copy_folder::get_value): Rename to...
+       (copy_folder::value_of_expr): ...this.
+       * tree-ssa-dom.c (dom_opt_dom_walker::after_dom_children): Adjust
+       for evrp_range_analyzer inheriting from vr_values.
+       (dom_opt_dom_walker::optimize_stmt): Same.
+       * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+       Call value_of_* instead of get_value.
+       (substitute_and_fold_engine::replace_phi_args_in): Same.
+       (substitute_and_fold_engine::propagate_into_phi_args): Same.
+       (substitute_and_fold_dom_walker::before_dom_children): Same.
+       * tree-ssa-propagate.h: Include value-query.h.
+       (class substitute_and_fold_engine): Inherit from value_query.
+       * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children):
+       Adjust for evrp_range_analyzer inheriting from vr_values.
+       * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
+       Same.
+       * tree-vrp.c (class vrp_folder): Same.
+       (vrp_folder::get_value): Rename to value_of_expr.
+       * vr-values.c (vr_values::get_lattice_entry): Adjust for
+       vr_values inheriting from range_query.
+       (vr_values::range_of_expr): New.
+       (vr_values::value_of_expr): New.
+       (vr_values::value_on_edge): New.
+       (vr_values::value_of_stmt): New.
+       (simplify_using_ranges::op_with_boolean_value_range_p): Call
+       get_value_range through query.
+       (check_for_binary_op_overflow): Rename store to query.
+       (vr_values::vr_values): Remove vrp_value_range_pool.
+       (vr_values::~vr_values): Same.
+       (simplify_using_ranges::get_vr_for_comparison): Call get_value_range
+       through query.
+       (simplify_using_ranges::compare_names): Same.
+       (simplify_using_ranges::vrp_evaluate_conditional): Same.
+       (simplify_using_ranges::vrp_visit_cond_stmt): Same.
+       (simplify_using_ranges::simplify_abs_using_ranges): Same.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Same.
+       (simplify_cond_using_ranges_2): Same.
+       (simplify_using_ranges::simplify_switch_using_ranges): Same.
+       (simplify_using_ranges::two_valued_val_range_p): Same.
+       (simplify_using_ranges::simplify_using_ranges): Rename store to query.
+       (simplify_using_ranges::simplify): Assert that we have a query.
+       * vr-values.h (class range_query): Remove.
+       (class simplify_using_ranges): Remove inheritance of range_query.
+       (class vr_values): Add virtuals for range_of_expr, value_of_expr,
+       value_on_edge, value_of_stmt, and get_value_range.
+       Call range_query allocator instead of using vrp_value_range_pool.
+       Remove vrp_value_range_pool.
+       (simplify_using_ranges::get_value_range): Remove.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97236
+       * tree-vect-stmts.c (get_group_load_store_type): Keep
+       VMAT_ELEMENTWISE for single-element vectors.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Be ready for callee_pi to be NULL.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97244
+       * ipa-fnsummary.c (pass_free_fnsummary::execute): Free
+       also indirect inlining datastructure.
+       * ipa-modref.c (pass_ipa_modref::execute): Do not free them here.
+       * ipa-prop.c (ipa_free_all_node_params): Do not crash when info does
+       not exist.
+       (ipa_unregister_cgraph_hooks): Likewise.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       * internal-fn.c (DEF_INTERNAL_FN): Fix handling of fnspec
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in: Add value-query.o.
+       * value-query.cc: New file.
+       * value-query.h: New file.
+
+2020-10-01  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in: Fix ordering, move Neoverse N2 down.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
+       fenv_var and old_fpc.  Formatting fixes.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
+       VIEW_CONVERT_EXPR.
+
+2020-10-01  Florian Weimer  <fweimer@redhat.com>
+
+       PR target/97250
+       * config/i386/i386.h (PTA_NO_TUNE, PTA_X86_64_BASELINE)
+       (PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4): New.
+       * common/config/i386/i386-common.c (processor_alias_table):
+       Add "x86-64-v2", "x86-64-v3", "x86-64-v4".
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Handle new PTA_NO_TUNE processor table entries.
+       * doc/invoke.texi (x86 Options): Document new -march values.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/ppc-asm.h: Support __PCREL__ code.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't
+       set -mcmodel=small for -mno-minimal-toc when pcrel.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97189
+       * attribs.c (attr_access::array_as_string): Avoid assuming a VLA
+       access specification string contains a closing bracket.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97206
+       * attribs.c (attr_access::array_as_string): Avoid modifying a shared
+       type in place and use build_type_attribute_qual_variant instead.
+
+2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-A78 and Cortex-A78AE cores.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-A78 and Cortex-A78AE cores.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add -mtune=cortex-a78 and -mtune=cortex-a78ae.
+
+2020-09-30  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/96795
+       * config/arm/arm_mve.h (__ARM_mve_coerce2): Define.
+       (__arm_vaddq): Correct the scalar argument.
+       (__arm_vaddq_m): Likewise.
+       (__arm_vaddq_x): Likewise.
+       (__arm_vcmpeqq_m): Likewise.
+       (__arm_vcmpeqq): Likewise.
+       (__arm_vcmpgeq_m): Likewise.
+       (__arm_vcmpgeq): Likewise.
+       (__arm_vcmpgtq_m): Likewise.
+       (__arm_vcmpgtq): Likewise.
+       (__arm_vcmpleq_m): Likewise.
+       (__arm_vcmpleq): Likewise.
+       (__arm_vcmpltq_m): Likewise.
+       (__arm_vcmpltq): Likewise.
+       (__arm_vcmpneq_m): Likewise.
+       (__arm_vcmpneq): Likewise.
+       (__arm_vfmaq_m): Likewise.
+       (__arm_vfmaq): Likewise.
+       (__arm_vfmasq_m): Likewise.
+       (__arm_vfmasq): Likewise.
+       (__arm_vmaxnmavq): Likewise.
+       (__arm_vmaxnmavq_p): Likewise.
+       (__arm_vmaxnmvq): Likewise.
+       (__arm_vmaxnmvq_p): Likewise.
+       (__arm_vminnmavq): Likewise.
+       (__arm_vminnmavq_p): Likewise.
+       (__arm_vminnmvq): Likewise.
+       (__arm_vminnmvq_p): Likewise.
+       (__arm_vmulq_m): Likewise.
+       (__arm_vmulq): Likewise.
+       (__arm_vmulq_x): Likewise.
+       (__arm_vsetq_lane): Likewise.
+       (__arm_vsubq_m): Likewise.
+       (__arm_vsubq): Likewise.
+       (__arm_vsubq_x): Likewise.
+
+2020-09-30  Joel Hutton  <joel.hutton@arm.com>
+
+       PR target/96837
+       * tree-vect-slp.c (vect_analyze_slp): Do not call
+       vect_attempt_slp_rearrange_stmts for vector constructors.
+
+2020-09-30  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vectorizer.h (SLP_TREE_REF_COUNT): New.
+       * tree-vect-slp.c (_slp_tree::_slp_tree, _slp_tree::~_slp_tree,
+       vect_free_slp_tree, vect_build_slp_tree, vect_print_slp_tree,
+       slp_copy_subtree, vect_attempt_slp_rearrange_stmts): Use it.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-offload.c (omp_discover_implicit_declare_target): Also
+       handled nested functions.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * builtins.c (expand_builtin_cexpi, fold_builtin_sincos): Update
+       targetm.libc_has_function call.
+       * builtins.def (DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C11_BUILTIN):
+       (DEF_C2X_BUILTIN, DEF_C99_COMPL_BUILTIN, DEF_C99_C90RES_BUILTIN):
+       Same.
+       * config/darwin-protos.h (darwin_libc_has_function): Update prototype.
+       * config/darwin.c (darwin_libc_has_function): Add arg.
+       * config/linux-protos.h (linux_libc_has_function): Update prototype.
+       * config/linux.c (linux_libc_has_function): Add arg.
+       * config/i386/i386.c (ix86_libc_has_function): Update
+       targetm.libc_has_function call.
+       * config/nvptx/nvptx.c (nvptx_libc_has_function): New function.
+       (TARGET_LIBC_HAS_FUNCTION): Redefine to nvptx_libc_has_function.
+       * convert.c (convert_to_integer_1): Update targetm.libc_has_function
+       call.
+       * match.pd: Same.
+       * target.def (libc_has_function): Add arg.
+       * doc/tm.texi: Regenerate.
+       * targhooks.c (default_libc_has_function, gnu_libc_has_function)
+       (no_c99_libc_has_function): Add arg.
+       * targhooks.h (default_libc_has_function, no_c99_libc_has_function)
+       (gnu_libc_has_function): Update prototype.
+       * tree-ssa-math-opts.c (pass_cse_sincos::execute): Update
+       targetm.libc_has_function call.
+
+2020-09-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97184
+       * config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ...
+       (UNSPEC_MOVDIRI): This.
+       (UNSPECV_MOVDIR64B): Renamed to ...
+       (UNSPEC_MOVDIR64B): This.
+       (movdiri<mode>): Use SET operation.
+       (@movdir64b_<mode>): Likewise.
+
+2020-09-30  Florian Weimer  <fweimer@redhat.com>
+
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __LAHF_SAHF__ and __MOVBE__ based on ISA flags.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97150
+       * config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
+       signed.
+       (vqrshlh_u16): Likewise.
+       (vqrshls_u32): Likewise.
+       (vqrshld_u64): Likewise.
+       (vqshlb_u8): Likewise.
+       (vqshlh_u16): Likewise.
+       (vqshls_u32): Likewise.
+       (vqshld_u64): Likewise.
+       (vshld_u64): Likewise.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/96313
+       * config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
+       qualifiers.
+       * config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
+       Remove unnecessary result cast.
+       (vqmovun_s32): Likewise.
+       (vqmovun_s64): Likewise.
+       (vqmovunh_s16): Likewise.  Fix return type.
+       (vqmovuns_s32): Likewise.
+       (vqmovund_s64): Likewise.
+
+2020-09-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_split_128bit_move_p): Add a
+       function comment.  Tighten check for FP moves.
+       * config/aarch64/aarch64.md (*movti_aarch64): Add a w<-Z alternative.
+       (*movtf_aarch64): Handle r<-Y like r<-r.  Remove unnecessary
+       earlyclobber.  Change splitter predicate from aarch64_reg_or_imm
+       to nonmemory_operand.
+
+2020-09-30  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/97251
+       * config/arm/arm.md (movsf): Relax TARGET_HARD_FLOAT to
+       TARGET_VFP_BASE.
+       (movdf): Likewise.
+       * config/arm/vfp.md (no_literal_pool_df_immediate): Likewise.
+       (no_literal_pool_sf_immediate): Likewise.
+
+2020-09-30  Alan Modra  <amodra@gmail.com>
+
+       * configure.ac (--with-long-double-format): Typo fix.
+       * configure: Regenerate.
+
+2020-09-30  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (@tablejump<mode>_normal): Don't use
+       non-existent operands[].
+       (@tablejump<mode>_nospec): Likewise.
+
+2020-09-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (tablejump): Simplify.
+       (tablejumpsi): Merge this ...
+       (tablejumpdi): ... and this ...
+       (@tablejump<mode>_normal): ... into this.
+       (tablejumpsi_nospec): Merge this ...
+       (tablejumpdi_nospec): ... and this ...
+       (@tablejump<mode>_nospec): ... into this.
+       (*tablejump<mode>_internal1): Delete, rename to ...
+       (@tablejump<mode>_insn_normal): ... this.
+       (*tablejump<mode>_internal1_nospec): Delete, rename to ...
+       (@tablejump<mode>_insn_nospec): ... this.
+
+2020-09-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97188
+       * calls.c (maybe_warn_rdwr_sizes): Simplify warning messages.
+       Correct handling of VLA argumments.
+
+2020-09-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * doc/invoke.texi: Document -Wrange-loop-construct.
+
+2020-09-29  Jim Wilson  <jimw@sifive.com>
+
+       PR bootstrap/97183
+       * configure.ac (gcc_cv_header_zstd_h): Check ZSTD_VERISON_NUMBER.
+       * configure: Regenerated.
+
+2020-09-29  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-X1 core.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-09-29  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-X1 Arm core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add -mtune=cortex-x1 docs.
+
+2020-09-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97247
+       * config/i386/enqcmdintrin.h: Replace <enqcmdntrin.h> with
+       <enqcmdintrin.h>.  Replace _ENQCMDNTRIN_H_INCLUDED with
+       _ENQCMDINTRIN_H_INCLUDED.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97241
+       * tree-vect-loop.c (vectorizable_reduction): Move finding
+       the SLP node for the reduction stmt to a better place.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp): Move SLP reduction
+       re-arrangement and SLP graph load gathering...
+       (vect_optimize_slp): ... here.
+       * tree-vectorizer.h (vec_info::slp_loads): Remove.
+
+2020-09-29  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/97231
+       * config/i386/amxbf16intrin.h: Add FSF copyright notes.
+       * config/i386/amxint8intrin.h: Ditto.
+       * config/i386/amxtileintrin.h: Ditto.
+       * config/i386/avx512vp2intersectintrin.h: Ditto.
+       * config/i386/avx512vp2intersectvlintrin.h: Ditto.
+       * config/i386/pconfigintrin.h: Ditto.
+       * config/i386/tsxldtrkintrin.h: Ditto.
+       * config/i386/wbnoinvdintrin.h: Ditto.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97238
+       * tree-ssa-reassoc.c (ovce_extract_ops): Fix typo.
+
+2020-09-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm.h (ARM_HAVE_NEON_V8QI_ARITH, ARM_HAVE_NEON_V4HI_ARITH)
+       (ARM_HAVE_NEON_V2SI_ARITH, ARM_HAVE_NEON_V16QI_ARITH): New macros.
+       (ARM_HAVE_NEON_V8HI_ARITH, ARM_HAVE_NEON_V4SI_ARITH): Likewise.
+       (ARM_HAVE_NEON_V2DI_ARITH, ARM_HAVE_NEON_V4HF_ARITH): Likewise.
+       (ARM_HAVE_NEON_V8HF_ARITH, ARM_HAVE_NEON_V2SF_ARITH): Likewise.
+       (ARM_HAVE_NEON_V4SF_ARITH, ARM_HAVE_V8QI_ARITH, ARM_HAVE_V4HI_ARITH)
+       (ARM_HAVE_V2SI_ARITH, ARM_HAVE_V16QI_ARITH, ARM_HAVE_V8HI_ARITH)
+       (ARM_HAVE_V4SI_ARITH, ARM_HAVE_V2DI_ARITH, ARM_HAVE_V4HF_ARITH)
+       (ARM_HAVE_V2SF_ARITH, ARM_HAVE_V8HF_ARITH, ARM_HAVE_V4SF_ARITH):
+       Likewise.
+       * config/arm/iterators.md (VNIM, VNINOTM): Delete.
+       * config/arm/vec-common.md (add<VNIM:mode>3, addv8hf3)
+       (add<VNINOTM:mode>3): Replace with...
+       (add<VDQ:mode>3): ...this new expander.
+       * config/arm/neon.md (*add<VDQ:mode>3_neon): Use the new
+       ARM_HAVE_NEON_<MODE>_ARITH macros as the C condition.
+       (addv8hf3_neon, addv4hf3, add<VFH:mode>3_fp16): Delete in
+       favor of the above.
+       (neon_vadd<VH:mode>): Use gen_add<mode>3 instead of
+       gen_add<mode>3_fp16.
+
+2020-09-29  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define
+       __riscv_cmodel_medany when PIC mode.
+
+2020-09-29  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Move neoverse-n2 after saphira.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * tree-switch-conversion.c (jump_table_cluster::can_be_handled):
+       Make a fast bail out.
+       (bit_test_cluster::can_be_handled): Likewise here.
+       * tree-switch-conversion.h (get_range): Use wi::to_wide instead
+       of a folding.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2020-09-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * doc/invoke.texi: Document new param max-switch-clustering-attempts.
+       * params.opt: Add new parameter.
+       * tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
+       Limit number of attempts.
+       (bit_test_cluster::find_bit_tests): Likewise.
+
+2020-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (class irange): Add irange_allocator friend.
+       (class irange_allocator): New.
+
+2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/96390
+       * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Handle
+       alias nodes.
+
+2020-09-28  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_insert_epi8): New.
+       (_mm_insert_epi32): New.
+       (_mm_insert_epi64): New.
+
+2020-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_AMX_TILE_SET,
+       OPTION_MASK_ISA2_AMX_INT8_SET, OPTION_MASK_ISA2_AMX_BF16_SET,
+       OPTION_MASK_ISA2_AMX_TILE_UNSET, OPTION_MASK_ISA2_AMX_INT8_UNSET,
+       OPTION_MASK_ISA2_AMX_BF16_UNSET, OPTION_MASK_ISA2_XSAVE_UNSET):
+       New marcos.
+       (ix86_handle_option): Hanlde -mamx-tile, -mamx-int8, -mamx-bf16.
+       * common/config/i386/i386-cpuinfo.h (processor_types): Add
+       FEATURE_AMX_TILE, FEATURE_AMX_INT8, FEATURE_AMX_BF16.
+       * common/config/i386/cpuinfo.h (XSTATE_TILECFG,
+       XSTATE_TILEDATA, XCR_AMX_ENABLED_MASK): New macro.
+       (get_available_features): Enable AMX features only if
+       their states are suoorited by OSXSAVE.
+       * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
+       for amx-tile, amx-int8, amx-bf16.
+       * config.gcc: Add amxtileintrin.h, amxint8intrin.h,
+       amxbf16intrin.h to extra headers.
+       * config/i386/amxbf16intrin.h: New file.
+       * config/i386/amxint8intrin.h: Ditto.
+       * config/i386/amxtileintrin.h: Ditto.
+       * config/i386/cpuid.h (bit_AMX_BF16, bit_AMX_TILE, bit_AMX_INT8):
+       New macro.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __AMX_TILE__, __AMX_INT8__, AMX_BF16__.
+       * config/i386/i386-options.c (ix86_target_string): Add
+       -mamx-tile, -mamx-int8, -mamx-bf16.
+       (ix86_option_override_internal): Handle AMX-TILE,
+       AMX-INT8, AMX-BF16.
+       * config/i386/i386.h (TARGET_AMX_TILE, TARGET_AMX_TILE_P,
+       TARGET_AMX_INT8, TARGET_AMX_INT8_P, TARGET_AMX_BF16_P,
+       PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16): New macros.
+       * config/i386/i386.opt: Add -mamx-tile, -mamx-int8, -mamx-bf16.
+       * config/i386/immintrin.h: Include amxtileintrin.h,
+       amxint8intrin.h, amxbf16intrin.h.
+       * doc/invoke.texi: Document -mamx-tile, -mamx-int8, -mamx-bf16.
+       * doc/extend.texi: Document amx-tile, amx-int8, amx-bf16.
+       * doc/sourcebuild.texi ((Effective-Target Keywords, Other
+       hardware attributes): Document amx_int8, amx_tile, amx_bf16.
+
+2020-09-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_expand_builtin): Do not alter value on a
+       force_reg returned rtx.
+
+2020-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-eh.c (lower_try_finally_dup_block): Revert latest change.
+
+2020-09-27  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summary::useful_p): Fix testing of stores.
+
+2020-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97073
+       * optabs.c (expand_binop, expand_absneg_bit, expand_unop,
+       expand_copysign_bit): Check reg_overlap_mentioned_p between target
+       and operand(s) and if it returns true, force a pseudo as target.
+
+2020-09-27  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gimple-isel.cc (gimple_expand_vec_set_expr): New function.
+       (gimple_expand_vec_cond_exprs): Rename to ...
+       (gimple_expand_vec_exprs): ... this and call
+       gimple_expand_vec_set_expr.
+       * internal-fn.c (vec_set_direct): New define.
+       (expand_vec_set_optab_fn): New function.
+       (direct_vec_set_optab_supported_p): New define.
+       * internal-fn.def (VEC_SET): New DEF_INTERNAL_OPTAB_FN.
+       * optabs.c (can_vec_set_var_idx_p): New function.
+       * optabs.h (can_vec_set_var_idx_p): New declaration.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (analyze_stmt): Do not skip clobbers in early pass.
+       * ipa-pure-const.c (analyze_stmt): Update comment.
+
+2020-09-26  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.com>
+
+       * collect2.c (visibility_flag): New.
+       (main): Detect -fvisibility.
+       (write_c_file_stat): Push and pop default visibility.
+
+2020-09-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-inline-transform.c: Include ipa-modref-tree.h and ipa-modref.h.
+       (inline_call): Call ipa_merge_modref_summary_after_inlining.
+       * ipa-inline.c (ipa_inline): Do not free summaries.
+       * ipa-modref.c (dump_records): Fix formating.
+       (merge_call_side_effects): Break out from ...
+       (analyze_call): ... here; record recursive calls.
+       (analyze_stmt): Add new parameter RECURSIVE_CALLS.
+       (analyze_function): Do iterative dataflow on recursive calls.
+       (compute_parm_map): New function.
+       (ipa_merge_modref_summary_after_inlining): New function.
+       (collapse_loads): New function.
+       (modref_propagate_in_scc): Break out from ...
+       (pass_ipa_modref::execute): ... here; Do iterative dataflow.
+       * ipa-modref.h (ipa_merge_modref_summary_after_inlining): Declare.
+
+2020-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_simd): Help vectorizer for the collapse == 1
+       and non-composite collapse > 1 case with non-constant innermost loop
+       step by precomputing number of iterations before loop and using an
+       alternate IV from 0 to number of iterations - 1 with step of 1.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (dump_ipa_call_summary): Dump
+       points_to_local_or_readonly_memory flag.
+       (analyze_function_body): Compute points_to_local_or_readonly_memory
+       flag.
+       (remap_edge_change_prob): Rename to ...
+       (remap_edge_params): ... this one; update
+       points_to_local_or_readonly_memory.
+       (remap_edge_summaries): Update.
+       (read_ipa_call_summary): Stream the new flag.
+       (write_ipa_call_summary): Likewise.
+       * ipa-predicate.h (struct inline_param_summary): Add
+       points_to_local_or_readonly_memory.
+       (inline_param_summary::equal_to): Update.
+       (inline_param_summary::useless_p): Update.
+
+2020-09-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_ref_node::insert_access): Track if something
+       changed.
+       (modref_base_node::insert_ref): Likewise (and add a new optional
+       argument)
+       (modref_tree::insert): Likewise.
+       (modref_tree::merge): Rewrite
+
+2020-09-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi: Add -fno-ipa-modref to flags disabled by
+       -flive-patching.
+       * opts.c (control_options_for_live_patching): Disable ipa-modref.
+
+2020-09-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_stmt): Fix return value for gimple_clobber.
+
+2020-09-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-option-extensions.def (rng): Add
+       cpuinfo string.
+
+2020-09-25  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): Add FP16.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/64636
+       * value-prof.c (stream_out_histogram_value): Allow negative
+       values for HIST_TYPE_IOR.
+
+2020-09-25  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_integer, nvptx_print_operand):
+       Use gcc_fallthrough ().
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96814
+       * expr.c (store_constructor): Handle VECTOR_BOOLEAN_TYPE_P
+       CTORs correctly.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97207
+       * vec.h (auto_vec<T>::operator=(auto_vec<T>&&)): Implement.
+
+2020-09-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm-protos.h (arm_mve_mode_and_operands_type_check):
+       Delete.
+       * config/arm/arm.c (arm_coproc_mem_operand_wb): Use a scale factor
+       of 2 rather than 4 for 16-bit modes.
+       (arm_mve_mode_and_operands_type_check): Delete.
+       * config/arm/constraints.md (Uj): Allow writeback for Neon,
+       but continue to disallow it for MVE.
+       * config/arm/arm.md (*arm32_mov<HFBF:mode>): Add !TARGET_HAVE_MVE.
+       * config/arm/vfp.md (*mov_load_vfp_hf16, *mov_store_vfp_hf16): Fold
+       back into...
+       (*mov<mode>_vfp_<mode>16): ...here but use Uj for the FPR memory
+       constraints.  Use for base MVE too.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97199
+       * tree-if-conv.c (combine_blocks): Remove edges only
+       after looking at virtual PHI args.
+
+2020-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (scan_omp_1_stmt): Don't call scan_omp_simd for
+       collapse > 1 loops as simt doesn't support collapsed loops yet.
+       * omp-expand.c (expand_omp_for_init_counts, expand_omp_for_init_vars):
+       Small tweaks to function comment.
+       (expand_omp_simd): Rewritten collapse > 1 support to only attempt
+       to vectorize the innermost loop and emit set of outer loops around it.
+       For non-composite simd with collapse > 1 without broken loop don't
+       even try to compute number of iterations first.  Add support for
+       non-rectangular simd loops.
+       (expand_omp_for): Don't sorry_at on non-rectangular simd loops.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_edge::debug): New.
+       * cgraph.h (cgraph_edge::debug): New.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Always print space at the end
+       of a message.  Remove one extra space.
+
+2020-09-24  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-n2): New.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse N2.
+
+2020-09-24  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Neoverse N2.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Document AArch64 support for Neoverse N2.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       * vec.h (auto_vec<T, 0>::auto_vec (auto_vec &&)): New move CTOR.
+       (auto_vec<T, 0>::operator=(auto_vec &&)): Delete.
+       * hash-table.h (hash_table::expand): Use std::move when expanding.
+       * cfgloop.h (get_loop_exit_edges): Return auto_vec<edge>.
+       * cfgloop.c (get_loop_exit_edges): Adjust.
+       * cfgloopmanip.c (fix_loop_placement): Likewise.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * ira-build.c (create_loop_tree_nodes): Likewise.
+       (create_loop_tree_node_allocnos): Likewise.
+       (loop_with_complex_edge_p): Likewise.
+       * ira-color.c (ira_loop_edge_freq): Likewise.
+       * loop-unroll.c (analyze_insns_in_loop): Likewise.
+       * predict.c (predict_loops): Likewise.
+       * tree-predcom.c (last_always_executed_block): Likewise.
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise.
+       * tree-ssa-loop-im.c (store_motion_loop): Likewise.
+       * tree-ssa-loop-ivcanon.c (loop_edge_to_cancel): Likewise.
+       (canonicalize_loop_induction_variables): Likewise.
+       * tree-ssa-loop-manip.c (get_loops_exits): Likewise.
+       * tree-ssa-loop-niter.c (find_loop_niter): Likewise.
+       (finite_loop_p): Likewise.
+       (find_loop_niter_by_eval): Likewise.
+       (estimate_numbers_of_iterations): Likewise.
+       * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
+       (may_use_storent_in_loop_p): Likewise.
+
+2020-09-24  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi: Document -fipa-modref, ipa-modref-max-bases,
+       ipa-modref-max-refs, ipa-modref-max-accesses, ipa-modref-max-tests.
+       * ipa-modref-tree.c (test_insert_search_collapse): Update.
+       (test_merge): Update.
+       (gt_ggc_mx): New function.
+       * ipa-modref-tree.h (struct modref_access_node): New structure.
+       (struct modref_ref_node): Add every_access and accesses array.
+       (modref_ref_node::modref_ref_node): Update ctor.
+       (modref_ref_node::search): New member function.
+       (modref_ref_node::collapse): New member function.
+       (modref_ref_node::insert_access): New member function.
+       (modref_base_node::insert_ref): Do not collapse base if ref is 0.
+       (modref_base_node::collapse): Copllapse also refs.
+       (modref_tree): Add accesses.
+       (modref_tree::modref_tree): Initialize max_accesses.
+       (modref_tree::insert): Add access parameter.
+       (modref_tree::cleanup): New member function.
+       (modref_tree::merge): Add parm_map; merge accesses.
+       (modref_tree::copy_from): New member function.
+       (modref_tree::create_ggc): Add max_accesses.
+       * ipa-modref.c (dump_access): New function.
+       (dump_records): Dump accesses.
+       (dump_lto_records): Dump accesses.
+       (get_access): New function.
+       (record_access): Record access.
+       (record_access_lto): Record access.
+       (analyze_call): Compute parm_map.
+       (analyze_function): Update construction of modref records.
+       (modref_summaries::duplicate): Likewise; use copy_from.
+       (write_modref_records): Stream accesses.
+       (read_modref_records): Sream accesses.
+       (pass_ipa_modref::execute): Update call of merge.
+       * params.opt (-param=modref-max-accesses): New.
+       * tree-ssa-alias.c (alias_stats): Add modref_baseptr_tests.
+       (dump_alias_stats): Update.
+       (base_may_alias_with_dereference_p): New function.
+       (modref_may_conflict): Check accesses.
+       (ref_maybe_used_by_call_p_1): Update call to modref_may_conflict.
+       (call_may_clobber_ref_p_1): Update call to modref_may_conflict.
+
+2020-09-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm.md (*stack_protect_combined_set_insn): For non-PIC,
+       load the address of the canary rather than the address of the
+       constant pool entry that points to it.
+       (*stack_protect_combined_test_insn): Likewise.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97085
+       * match.pd (mask ? { false,..} : { true, ..} -> ~mask): New.
+
+2020-09-24  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_base::collapse): Release memory.
+       (modref_tree::create_ggc): New member function.
+       (modref_tree::colapse): Release memory.
+       (modref_tree::~modref_tree): New destructor.
+       * ipa-modref.c (modref_summaries::create_ggc): New function.
+       (analyze_function): Use create_ggc.
+       (modref_summaries::duplicate): Likewise.
+       (read_modref_records): Likewise.
+       (modref_read): Likewise.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Pass mode to
+       reg_or_add_cint_operand and reg_or_sub_cint_operand.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR target/93012
+       * config/rs6000/rs6000.c (num_insns_constant_gpr): Count rldimi
+       constants correctly.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
+       Conditionally define __PCREL__.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR target/97107
+       * config/rs6000/rs6000-internal.h (struct rs6000_stack): Improve
+       calls_p comment.
+       * config/rs6000/rs6000-logue.c (rs6000_stack_info): Likewise.
+       (rs6000_expand_split_stack_prologue): Emit the prologue for
+       functions that make a sibling call.
+
+2020-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Analyzer Paths): Add note about
+       -fno-analyzer-feasibility.
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -fno-analyzer-feasibility.
+
+2020-09-24  Paul A. Clarke  <pc@us.ibm.com>
+
+       * doc/extend.texi: Add 'd' for doubleword variant of
+       vector insert instruction.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-array-bounds.cc (build_zero_elt_array_type): New function.
+       (array_bounds_checker::check_mem_ref): Call it.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97175
+       * builtins.c (maybe_warn_for_bound): Handle both DECLs and EXPRESSIONs
+       in pad->dst.ref, same is pad->src.ref.
+
+2020-09-23  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (refs_local_or_readonly_memory_p): New function.
+       (points_to_local_or_readonly_memory_p): New function.
+       * ipa-fnsummary.h (refs_local_or_readonly_memory_p): Declare.
+       (points_to_local_or_readonly_memory_p): Declare.
+       * ipa-modref.c (record_access_p): Use refs_local_or_readonly_memory_p.
+       * ipa-pure-const.c (check_op): Likewise.
+
+2020-09-23  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md: Don't allow operand containing sum of
+       function ref and const.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_salt_type): New enum.
+       (aarch64_stack_protect_canary_mem): Declare.
+       * config/aarch64/aarch64.md (UNSPEC_SALT_ADDR): New unspec.
+       (stack_protect_set): Forward to stack_protect_combined_set.
+       (stack_protect_combined_set): New pattern.  Use
+       aarch64_stack_protect_canary_mem.
+       (reg_stack_protect_address_<mode>): Add a salt operand.
+       (stack_protect_test): Forward to stack_protect_combined_test.
+       (stack_protect_combined_test): New pattern.  Use
+       aarch64_stack_protect_canary_mem.
+       * config/aarch64/aarch64.c (strip_salt): New function.
+       (strip_offset_and_salt): Likewise.
+       (tls_symbolic_operand_type): Use strip_offset_and_salt.
+       (aarch64_stack_protect_canary_mem): New function.
+       (aarch64_cannot_force_const_mem): Use strip_offset_and_salt.
+       (aarch64_classify_address): Likewise.
+       (aarch64_symbolic_address_p): Likewise.
+       (aarch64_print_operand): Likewise.
+       (aarch64_output_addr_const_extra): New function.
+       (aarch64_tls_symbol_p): Use strip_salt.
+       (aarch64_classify_symbol): Likewise.
+       (aarch64_legitimate_pic_operand_p): Use strip_offset_and_salt.
+       (aarch64_legitimate_constant_p): Likewise.
+       (aarch64_mov_operand_p): Use strip_salt.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Override.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vreinterpretq_f64_p128,
+       vreinterpretq_p128_f64): Define.
+
+2020-09-23  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): New.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse V1.
+
+2020-09-23  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Neoverse V1.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse V1.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96453
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove
+       LT_EXPR -> NE_EXPR verification and also apply it for
+       non-constant masks.
+
+2020-09-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summary::lto_useful_p): New member function.
+       (modref_summary::useful_p): New member function.
+       (analyze_function): Drop useless summaries.
+       (modref_write): Skip useless summaries.
+       (pass_ipa_modref::execute): Drop useless summaries.
+       * ipa-modref.h (struct GTY): Declare useful_p and lto_useful_p.
+       * tree-ssa-alias.c (dump_alias_stats): Fix.
+       (modref_may_conflict): Fix stats.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96466
+       * internal-fn.c (expand_vect_cond_mask_optab_fn): Use
+       appropriate mode for force_reg.
+       * tree.c (build_truth_vector_type_for): Pass VOIDmode to
+       make_vector_type.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (determine_peel_for_niter): Delete in favor of...
+       (vect_determine_partial_vectors_and_peeling): ...this new function.
+       * tree-vect-loop-manip.c (vect_update_epilogue_niters): New function.
+       Reject using vector epilogue loops for single iterations.  Install
+       the constant number of epilogue loop iterations in the associated
+       loop_vinfo.  Rely on vect_determine_partial_vectors_and_peeling
+       to do the main part of the test.
+       (vect_do_peeling): Use vect_update_epilogue_niters to handle
+       epilogue loops with a known number of iterations.  Skip recomputing
+       the number of iterations later in that case.  Otherwise, use
+       vect_determine_partial_vectors_and_peeling to decide whether the
+       epilogue loop needs to use partial vectors or peeling.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Set the
+       default can_use_partial_vectors_p to false if partial-vector-usage=0.
+       (determine_peel_for_niter): Remove in favor of...
+       (vect_determine_partial_vectors_and_peeling): ...this new function,
+       split out from...
+       (vect_analyze_loop_2): ...here.  Reflect the vect_verify_full_masking
+       and vect_verify_loop_lens results in CAN_USE_PARTIAL_VECTORS_P
+       rather than USING_PARTIAL_VECTORS_P.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF
+       for modes.  Remove explicit hf instantiation.
+       * config/aarch64/arm_neon.h (vrndns_f32): Define.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97173
+       * tree-vect-loop.c (vectorizable_live_operation): Extend
+       assert to also conver element conversions.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64,
+       vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vldrq_p128): Define.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vstrq_p128): Define.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97151
+       * tree-ssa-structalias.c (find_func_aliases_for_call):
+       DECL_IS_REPLACEABLE_OPERATOR_DELETE_P has no effect on
+       arguments.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97162
+       * alias.c (compare_base_decls): Use DECL_HARD_REGISTER
+       and guard with VAR_P.
+
+2020-09-23  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97069
+       * profile.c (branch_prob): Line number must be at least 1.
+
+2020-09-23  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97158
+       * config/nvptx/nvptx.c (nvptx_output_mov_insn): Handle move from
+       DF subreg to DF reg.
+
+2020-09-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in: Add $(ZLIBINC) to CFLAGS-analyzer/engine.o.
+
+2020-09-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (analyze_stmt): Ignore gimple clobber.
+
+2020-09-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.c: Add namespace selftest.
+       (modref_tree_c_tests): Rename to ...
+       (ipa_modref_tree_c_tests): ... this.
+       * ipa-modref.c (pass_modref): Remove destructor.
+       (ipa_modref_c_finalize): New function.
+       * ipa-modref.h (ipa_modref_c_finalize): Declare.
+       * selftest-run-tests.c (selftest::run_tests): Call
+       ipa_modref_c_finalize.
+       * selftest.h (ipa_modref_tree_c_tests): Declare.
+       * toplev.c: Include ipa-modref-tree.h and ipa-modref.h
+       (toplev::finalize): Call ipa_modref_c_finalize.
+
+2020-09-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Other Debugging Techniques): Mention
+       -fdump-analyzer-json.
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -fdump-analyzer-json.
+
+2020-09-22  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.md: Add defines for signed div and mod operators.
+
+2020-09-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * doc/invoke.texi: Document new param max-switch-clustering-attempts.
+       * params.opt: Add new parameter.
+       * tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
+       Limit number of attempts.
+       (bit_test_cluster::find_bit_tests): Likewise.
+
+2020-09-22  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.md ("*cmp<mode>_ccs_0", "*cmp<mode>_ccz_0",
+       "*cmp<mode>_ccs_0_fastmath"): Basically change "*cmp<mode>_ccs_0" into
+       "*cmp<mode>_ccz_0" and for fast math add "*cmp<mode>_ccs_0_fastmath".
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32,
+       vclsq_u8, vclsq_u16, vclsq_u32): Define.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8,
+       vaddq_p16, vaddq_p64, vaddq_p128): Define.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * params.opt (--param=modref-max-tests=): Fix typo in help text:
+       perofmed -> performed.
+       * common.opt: Fix typo: incrmeental -> incremental.
+       * ipa-modref.c: Fix typos: recroding -> recording, becaue -> because,
+       analsis -> analysis.
+       (class modref_summaries): Fix typo: betweehn -> between.
+       (analyze_call): Fix typo: calle -> callee.
+       (read_modref_records): Fix typo: expcted -> expected.
+       (pass_ipa_modref::execute): Fix typo: calle -> callee.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * common.opt (-fipa-modref): Add dot at the end of option help.
+       * params.opt (--param=modref-max-tests=): Likewise.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       * doc/invoke.texi: Document -Wctad-maybe-unsupported.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97139
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Only mark the
+       pattern root, track visited vectorized stmts.
+
+2020-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Use mallinfo mallinfo2 as first operand of
+       gcc_AC_CHECK_DECLS rather than [mallinfo, mallinfo2].
+       * configure: Regenerated.
+       * config.in: Regenerated.
+
+2020-09-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_expand_builtin): Use expand machinery not to
+       alter the value of an rtx returned by force_reg.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97135
+       * tree-ssa-loop-im.c (sm_seq_push_down): Do not ignore
+       self-dependences.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96915
+       * tree-switch-conversion.c (switch_conversion::expand): Accept
+       also integer constants.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * print-tree.c (print_node): Remove extra space.
+
+2020-09-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96968
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_expand_fpsr_fpcr_setter): Fix comment nit.
+       (aarch64_expand_fpsr_fpcr_getter): New function, expand these
+       getters using expand_insn machinery.
+       (aarch64_general_expand_builtin): Make use of.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * ggc-common.c (ggc_rlimit_bound): Use ONE_? macro.
+       (ggc_min_expand_heuristic): Likewise.
+       (ggc_min_heapsize_heuristic): Likewise.
+       * ggc-page.c (ggc_collect): Likewise.
+       * system.h (ONE_G): Likewise.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * ggc-common.c (ggc_prune_overhead_list): Use SIZE_AMOUNT.
+       * ggc-page.c (release_pages): Likewise.
+       (ggc_collect): Likewise.
+       (ggc_trim): Likewise.
+       (ggc_grow): Likewise.
+       * timevar.c (timer::print): Likewise.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * config.in: Regenerate.
+       * configure: Likewise.
+       * configure.ac: Detect for mallinfo2.
+       * ggc-common.c (defined): Use it.
+       * system.h: Handle also HAVE_MALLINFO2.
+
+2020-09-20  John David Anglin  < danglin@gcc.gnu.org>
+
+       * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Delete.
+       * config/pa/pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+       (ENDFILE_SPEC): Link with libgcc_stub.a and mill.a.
+       * config/pa/pa32-linux.h (ENDFILE_SPEC): Link with libgcc.a.
+
+2020-09-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (dump_lto_records): Fix ICE.
+
+2020-09-20  David Cepelik  <d@dcepelik.cz>
+           Jan Hubicka  <hubicka@ucw.cz>
+
+       * Makefile.in: Add ipa-modref.c and ipa-modref-tree.c.
+       * alias.c: (reference_alias_ptr_type_1): Export.
+       * alias.h (reference_alias_ptr_type_1): Declare.
+       * common.opt (fipa-modref): New.
+       * gengtype.c (open_base_files): Add ipa-modref-tree.h and ipa-modref.h
+       * ipa-modref-tree.c: New file.
+       * ipa-modref-tree.h: New file.
+       * ipa-modref.c: New file.
+       * ipa-modref.h: New file.
+       * lto-section-in.c (lto_section_name): Add ipa_modref.
+       * lto-streamer.h (enum lto_section_type): Add LTO_section_ipa_modref.
+       * opts.c (default_options_table): Enable ipa-modref at -O1+.
+       * params.opt (-param=modref-max-bases, -param=modref-max-refs,
+       -param=modref-max-tests): New params.
+       * passes.def: Schedule pass_modref and pass_ipa_modref.
+       * timevar.def (TV_IPA_MODREF): New timevar.
+       (TV_TREE_MODREF): New timevar.
+       * tree-pass.h (make_pass_modref): Declare.
+       (make_pass_ipa_modref): Declare.
+       * tree-ssa-alias.c (dump_alias_stats): Include ipa-modref-tree.h
+       and ipa-modref.h
+       (alias_stats): Add modref_use_may_alias, modref_use_no_alias,
+       modref_clobber_may_alias, modref_clobber_no_alias, modref_tests.
+       (dump_alias_stats): Dump new stats.
+       (nonoverlapping_array_refs_p): Fix formating.
+       (modref_may_conflict): New function.
+       (ref_maybe_used_by_call_p_1): Use it.
+       (call_may_clobber_ref_p_1): Use it.
+       (call_may_clobber_ref_p): Update.
+       (stmt_may_clobber_ref_p_1): Update.
+       * tree-ssa-alias.h (call_may_clobber_ref_p_1): Update.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/82608
+       PR middle-end/94195
+       PR c/50584
+       PR middle-end/84051
+       * gimple-array-bounds.cc (get_base_decl): New function.
+       (get_ref_size): New function.
+       (trailing_array): New function.
+       (array_bounds_checker::check_array_ref): Call them.  Handle arrays
+       declared in function parameters.
+       (array_bounds_checker::check_mem_ref):  Same.  Handle references to
+       dynamically allocated arrays.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * builtins.c (warn_for_access): Add argument.  Distinguish between
+       reads and writes.
+       (check_access): Add argument.  Distinguish between reads and writes.
+       (gimple_call_alloc_size): Set range even on failure.
+       (gimple_parm_array_size): New function.
+       (compute_objsize): Call it.
+       (check_memop_access): Pass check_access an additional argument.
+       (expand_builtin_memchr, expand_builtin_strcat): Same.
+       (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same.
+       (expand_builtin_stpncpy, check_strncat_sizes): Same.
+       (expand_builtin_strncat, expand_builtin_strncpy): Same.
+       (expand_builtin_memcmp): Same.
+       * builtins.h (compute_objsize): Declare a new overload.
+       (gimple_parm_array_size): Declare.
+       (check_access): Add argument.
+       * calls.c (append_attrname): Simplify.
+       (maybe_warn_rdwr_sizes): Handle internal attribute access.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid adding
+       quotes.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Handle attribute
+       access internal representation of arrays.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * attribs.c (decl_attributes): Also pass decl along with type
+       attributes to handlers.
+       (init_attr_rdwr_indices): Change second argument to attribute chain.
+       Handle internal attribute representation in addition to external.
+       (get_parm_access): New function.
+       (attr_access::to_internal_string): Define new member function.
+       (attr_access::to_external_string): Define new member function.
+       (attr_access::vla_bounds): Define new member function.
+       * attribs.h (struct attr_access): Declare new members.
+       (attr_access::from_mode_char): Define new member function.
+       (get_parm_access): Declare new function.
+       * calls.c (initialize_argument_information): Pass function type
+       attributes to init_attr_rdwr_indices.
+       * doc/invoke.texi (-Warray-parameter, -Wvla-parameter): Document.
+       * tree-pretty-print.c (dump_generic_node): Correct handling of
+       qualifiers.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Same.
+       * tree.h (access_mode): Add new enumerator.
+
+2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/generic.texi (Basic Statements): Document SWITCH_EXPR here,
+       not SWITCH_STMT.
+       (Statements for C and C++): Rename node to reflect what
+       the introduction already says about sharing between C and C++
+       front ends.  Copy-edit and correct documentation for structured
+       loops and switch.
+
+2020-09-19  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96861
+       * config/i386/x86-tune-costs.h (skylake_cost): increase rtx
+       cost of sse_to_integer from 2 to 6.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/thumb2.md (*thumb2_csneg): New.
+       (*thumb2_negscc): Don't match if TARGET_COND_ARITH.
+       * config/arm/arm.md (*if_neg_move): Don't match if TARGET_COND_ARITH.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/thumb2.md (*thumb2_csinc): New.
+       (*thumb2_cond_arith): Generate CINC where possible.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/arm.h (TARGET_COND_ARITH): New macro.
+       * config/arm/arm.c (arm_have_conditional_execution): Return false if
+       TARGET_COND_ARITH before reload.
+       * config/arm/predicates.md (arm_comparison_operation): Returns true if
+       comparing CC_REGNUM with constant zero.
+       * config/arm/thumb2.md (*thumb2_csinv): New.
+       (*thumb2_movcond): Don't match if TARGET_COND_ARITH.
+
+2020-09-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/91957
+       * ira.c (ira_setup_eliminable_regset): Skip the special elimination
+       handling of the hard frame pointer if the hard frame pointer is fixed.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97081
+       * tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
+       precision of the shifted operand to determine the mask.
+
+2020-09-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_print_operand): Update comment.
+       Cast to long when printing values formatted as long.
+       Support 'd', 'e', 'f' and 'g' modifiers.
+       Extract operand value with a single operation for all modifiers.
+       * doc/extend.texi (msp430Operandmodifiers): New.
+
+2020-09-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (increment_stack): Mark insns which increment
+       the stack as frame_related.
+       (msp430_expand_prologue): Add comments.
+       (msp430_expand_epilogue): Mark insns which decrement
+       the stack as frame_related.
+       Add reg_note to stack pop insns describing position of register
+       variables on the stack.
+
+2020-09-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-tree.c (execute_omp_gcn): Delete.
+       (make_pass_omp_gcn): Delete.
+       * config/gcn/t-gcn-hsa (PASSES_EXTRA): Delete.
+       * config/gcn/gcn-passes.def: Removed.
+
+2020-09-18  Alex Coplan  <alex.coplan@arm.com>
+
+       * cfgloop.h (nb_iter_bound): Reword comment describing is_exit.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97095
+       * tree-vect-loop.c (vectorizable_live_operation): Get
+       the SLP vector type from the correct object.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97089
+       * tree-ssa-sccvn.c (visit_nary_op): Do not replace unsigned
+       divisions.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97098
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Do not
+       recurse to children when all stmts were already visited.
+
+2020-09-17  Sergei Trofimovich  <siarheit@google.com>
+
+       * profile.c (sort_hist_values): Clarify hist format:
+       start with a value, not counter.
+
+2020-09-17  Yeting Kuo  <fakepaper56@gmail.com>
+
+       * config/riscv/riscv.h (CSW_MAX_OFFSET): Fix typo.
+
+2020-09-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c/80076
+       * gensupport.c (alter_attrs_for_subst_insn) <case SET_ATTR>:
+       Reduce indentation of misleadingly indented code fragment.
+       * lra-constraints.c (multi_block_pseudo_p): Likewise.
+       * sel-sched-ir.c (merge_fences): Likewise.
+
+2020-09-17  Martin Sebor  <msebor@redhat.com>
+
+       * doc/invoke.texi (-Wuninitialized): Document -Wuninitialized for
+       allocated objects.
+        (-Wmaybe-uninitialized): Same.
+
+2020-09-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (visit_nary_op): Value-number multiplications
+       and divisions to negates of available negated forms.
+
+2020-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/97078
+       * function.c (use_register_for_decl): Test cfun->tail_call_marked
+       for a parameter here instead of...
+       (assign_parm_setup_reg): ...here.
+
+2020-09-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (multi_precision_range_tests): Normalize symbolics when copying to a
+       multi-range.
+       * value-range.cc (irange::copy_legacy_range): Add test.
+
+2020-09-17  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_node::get_availability): Fix availability of
+       functions in other partitions
+       * varpool.c (varpool_node::get_availability): Likewise.
+
+2020-09-17  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky.opt (msim): New.
+       * doc/invoke.texi (C-SKY Options): Document -msim.
+       * config/csky/csky-elf.h (LIB_SPEC): Add simulator runtime.
+
+2020-09-17  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/cppenv.texi: Use @code{} instead of @samp{@command{}}
+       around 'date %s'.
+
+2020-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c
+       (OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET.
+       (OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET.
+
+2020-09-16  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/rs6000/rs6000.c (have_compare_and_set_mask): Use
+       E_*mode in cases.
+
+2020-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/predicates.md (current_file_function_operand):
+       Remove argument from rs6000_pcrel_p call.
+       * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
+       Likewise.
+       (rs6000_global_entry_point_prologue_needed_p): Likewise.
+       (rs6000_output_function_prologue): Likewise.
+       * config/rs6000/rs6000-protos.h (rs6000_function_pcrel_p): New
+       prototype.
+       (rs6000_pcrel_p): Remove argument.
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
+       argument from rs6000_pcrel_p call.
+       (rs6000_call_template_1): Likewise.
+       (rs6000_indirect_call_template_1): Likewise.
+       (rs6000_longcall_ref): Likewise.
+       (rs6000_call_aix): Likewise.
+       (rs6000_sibcall_aix): Likewise.
+       (rs6000_function_pcrel_p): Rename from rs6000_pcrel_p.
+       (rs6000_pcrel_p): Rewrite.
+       * config/rs6000/rs6000.md (*pltseq_plt_pcrel<mode>): Remove
+       argument from rs6000_pcrel_p call.
+       (*call_local<mode>): Likewise.
+       (*call_value_local<mode>): Likewise.
+       (*call_nonlocal_aix<mode>): Likewise.
+       (*call_value_nonlocal_aix<mode>): Likewise.
+       (*call_indirect_pcrel<mode>): Likewise.
+       (*call_value_indirect_pcrel<mode>): Likewise.
+
+2020-09-16  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/96935
+       * input.c (get_substring_ranges_for_loc): Return if start.column
+       is less than 1.
+
+2020-09-16  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96295
+       * tree-ssa-uninit.c (maybe_warn_operand): Work harder to avoid
+       warning for objects of empty structs
+
+2020-09-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-eh.c (lower_try_finally_dup_block): Backward propagate slocs
+       to stack restore builtin calls.
+       (cleanup_all_empty_eh): Do again a post-order traversal of the EH
+       region tree.
+
+2020-09-16  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_need_peeling_or_partial_vectors_p): New
+       function.
+       (vect_analyze_loop_2): Make use of it not to select partial
+       vectors if no peel is required.
+       (determine_peel_for_niter): Move out some logic into
+       'vect_need_peeling_or_partial_vectors_p'.
+
+2020-09-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97032
+       * cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
+       to true if the stack pointer is clobbered by asm statement.
+       * emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
+       * config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
+       if the stack pointer is clobbered by asm statement.
+
+2020-09-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/vector.md(*vec_tf_to_v1tf): Use "f" instead of "v"
+         for the source operand.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config.gcc (C-SKY): Set use_gcc_stdint=wrap for elf target.
+
+2020-09-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_stmt_vec_info::num_slp_uses): Remove.
+       (STMT_VINFO_NUM_SLP_USES): Likewise.
+       (vect_free_slp_instance): Adjust.
+       (vect_update_shared_vectype): Declare.
+       * tree-vectorizer.c (vec_info::~vec_info): Adjust.
+       * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+       (vectorizable_live_operation): Use vector type from
+       SLP_TREE_REPRESENTATIVE.
+       (vect_transform_loop): Adjust.
+       * tree-vect-data-refs.c (vect_slp_analyze_node_alignment):
+       Set the shared vector type.
+       * tree-vect-slp.c (vect_free_slp_tree): Remove final_p
+       parameter, remove STMT_VINFO_NUM_SLP_USES updating.
+       (vect_free_slp_instance): Adjust.
+       (vect_create_new_slp_node): Remove STMT_VINFO_NUM_SLP_USES
+       updating.
+       (vect_update_shared_vectype): Always compare with the
+       present vector type, update if NULL.
+       (vect_build_slp_tree_1): Do not update the shared vector
+       type here.
+       (vect_build_slp_tree_2): Adjust.
+       (slp_copy_subtree): Likewise.
+       (vect_attempt_slp_rearrange_stmts): Likewise.
+       (vect_analyze_slp_instance): Likewise.
+       (vect_analyze_slp): Likewise.
+       (vect_slp_analyze_node_operations_1): Update the shared
+       vector type.
+       (vect_slp_analyze_operations): Adjust.
+       (vect_slp_analyze_bb_1): Likewise.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/t-csky-linux (CSKY_MULTILIB_OSDIRNAMES): Use mfloat-abi.
+       (MULTILIB_OPTIONS): Likewise.
+       * config/csky/t-csky-elf (MULTILIB_OPTIONS): Likewise.
+       (MULTILIB_EXCEPTIONS): Likewise.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.c (arm_option_restore): Comment out opts argument
+       name to avoid unused parameter warnings.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * optc-save-gen.awk: In cl_optimization_stream_out use
+       bp_pack_var_len_{int,unsigned} instead of bp_pack_value.  In
+       cl_optimization_stream_in use bp_unpack_var_len_{int,unsigned}
+       instead of bp_unpack_value.  Formatting fix.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97053
+       * gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER,
+       START, FIRST_EARLIER and LAST_EARLIER arguments.  Return false if
+       any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive
+       has order in between FIRST_ORDER and LAST_ORDER and overlaps the to
+       be merged store.
+       (imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument.
+       Adjust check_no_overlap caller.
+       (imm_store_chain_info::coalesce_immediate_stores): Add first_earlier
+       and last_earlier variables, adjust them during iterations.  Adjust
+       check_no_overlap callers, call check_no_overlap even when extending
+       overlapping stores by extra INTEGER_CST stores.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky-linux-elf.h (GLIBC_DYNAMIC_LINKER): Use mfloat-abi.
+
+2020-09-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/97019
+       * config/rs6000/rs6000-p8swap.c (find_alignment_op): Adjust to
+       support multiple defintions which are all AND operations with
+       the mask -16B.
+       (recombine_lvx_pattern): Adjust to handle multiple AND operations
+       from find_alignment_op.
+       (recombine_stvx_pattern): Likewise.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky.md (CSKY_NPARM_FREGS): New.
+       (call_value_internal_vs/d): New.
+       (untyped_call): New.
+       * config/csky/csky.h (TARGET_SINGLE_FPU): New.
+       (TARGET_DOUBLE_FPU): New.
+       (FUNCTION_VARG_REGNO_P): New.
+       (CSKY_VREG_MODE_P): New.
+       (FUNCTION_VARG_MODE_P): New.
+       (CUMULATIVE_ARGS): Add extra regs info.
+       (INIT_CUMULATIVE_ARGS): Use csky_init_cumulative_args.
+       (FUNCTION_ARG_REGNO_P): Use FUNCTION_VARG_REGNO_P.
+       * config/csky/csky-protos.h (csky_init_cumulative_args): Extern.
+       * config/csky/csky.c (csky_cpu_cpp_builtins): Support TARGET_HARD_FLOAT_ABI.
+       (csky_function_arg): Likewise.
+       (csky_num_arg_regs): Likewise.
+       (csky_function_arg_advance): Likewise.
+       (csky_function_value): Likewise.
+       (csky_libcall_value): Likewise.
+       (csky_function_value_regno_p): Likewise.
+       (csky_arg_partial_bytes): Likewise.
+       (csky_setup_incoming_varargs): Likewise.
+       (csky_init_cumulative_args): New.
+
+2020-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (altivec_init_builtins): Fix name
+       of __builtin_altivec_xst_len_r.
+
+2020-09-15  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * rtlanal.c (set_noop_p): Treat subregs of registers in
+       different modes conservatively.
+
+2020-09-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Make swap
+       argument by-value and do not change it.
+       (vect_build_slp_tree_2): Adjust, set swap to NULL after last
+       use.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * match.pd (T)(A) +- (T)(B) -> (T)(A +- B): New simplification.
+
+2020-09-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/96475
+       * bb-reorder.c (duplicate_computed_gotos): If we did anything, run
+       cleanup_cfg.
+
+2020-09-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_2): Also consider
+       building an operand from scalars when building it did not
+       fail fatally but avoid messing with the upcall splitting
+       of groups.
+
+2020-09-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Do not
+       check +D32 for CMSE if -mfloat-abi=soft
+
+2020-09-15  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96744
+       * config/i386/x86-tune-costs.h (struct processor_costs):
+       Increase mask <-> integer cost for non AVX512 target to avoid
+       spill gpr to mask. Also retune mask <-> integer and
+       mask_load/store for skylake_cost.
+
+2020-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97028
+       * config/i386/sse.md (mul<mode>3<mask_name>_bcs,
+       <avx512>_div<mode>3<mask_name>_bcst): Use <avx512bcst> instead of
+       <<avx512bcst>>.
+
+2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96668
+       * gimplify.c (gimplify_omp_for): Add 'bool openacc' argument;
+       update omp_finish_clause calls.
+       (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses,
+       gimplify_expr, gimplify_omp_loop): Update omp_finish_clause
+       and/or gimplify_for calls.
+       * langhooks-def.h (lhd_omp_finish_clause): Add bool openacc arg.
+       * langhooks.c (lhd_omp_finish_clause): Likewise.
+       * langhooks.h (lhd_omp_finish_clause): Likewise.
+       * omp-low.c (scan_sharing_clauses): Keep GOMP_MAP_TO_PSET cause for
+       'declare target' vars.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * genmatch.c (dt_simplify::gen_1): Emit check on final simplification
+       result when "!" is specified on toplevel output expr.
+       * match.pd ((A * C) +- (B * C) -> (A +- B) * C): Allow folding on expr
+       with multi-use operands if final result is a simple gimple value.
+
+2020-09-14  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/invoke.texi: fix '-fprofile-reproducibility' option
+       spelling in manual.
+
+2020-09-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.md ("nop"): Re-define as `ja 0'.
+
+2020-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cgraphunit.c (cgraph_node::expand_thunk): Make sure to set
+       cfun->tail_call_marked when forcing a tail call.
+       * function.c (assign_parm_setup_reg): Always use a register to
+       load a parameter passed by reference if cfun->tail_call_marked.
+
+2020-09-14  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/power10.md (power10-mffgpr, power10-mftgpr): Rename to
+       power10-mtvsr/power10-mfvsr.
+       * config/rs6000/power6.md (X2F_power6, power6-mftgpr, power6-mffgpr):
+       Remove.
+       * config/rs6000/power8.md (power8-mffgpr, power8-mftgpr): Rename to
+       power8-mtvsr/power8-mfvsr.
+       * config/rs6000/power9.md (power9-mffgpr, power9-mftgpr): Rename to
+       power9-mtvsr/power9-mfvsr.
+       * config/rs6000/rs6000.c (rs6000_adjust_cost): Remove Power6
+       TYPE_MFFGPR cases.
+       * config/rs6000/rs6000.md (mffgpr, mftgpr, zero_extendsi<mode>2,
+       extendsi<mode>2, @signbit<mode>2_dm, lfiwax, lfiwzx, *movsi_internal1,
+       movsi_from_sf, *movdi_from_sf_zero_ext, *mov<mode>_internal,
+       movsd_hardfloat, movsf_from_si, *mov<mode>_hardfloat64, p8_mtvsrwz,
+       p8_mtvsrd_df, p8_mtvsrd_sf, p8_mfvsrd_3_<mode>, *movdi_internal64,
+       unpack<mode>_dm): Rename mffgpr/mftgpr to mtvsr/mfvsr.
+       * config/rs6000/vsx.md (vsx_mov<mode>_64bit, vsx_extract_<mode>,
+       vsx_extract_si, *vsx_extract_<mode>_p8): Likewise.
+
+2020-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.opt (x_arm_arch_string, x_arm_cpu_string,
+       x_arm_tune_string): Remove TargetSave entries.
+       (march=, mcpu=, mtune=): Add Save keyword.
+       * config/arm/arm.c (arm_option_save): Remove.
+       (TARGET_OPTION_SAVE): Don't redefine.
+       (arm_option_restore): Don't restore x_arm_*_string here.
+
+2020-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * opt-read.awk: Also initialize extra_target_var_types array.
+       * opth-gen.awk: Emit explicit_mask arrays to struct cl_optimization
+       and cl_target_option.  Adjust cl_optimization_save,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore declarations.
+       * optc-save-gen.awk: Add opts_set argument to cl_optimization_save,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore functions and save or restore opts_set
+       next to the opts values into or from explicit_mask arrays.
+       In cl_target_option_eq and cl_optimization_option_eq compare
+       explicit_mask arrays, in cl_target_option_hash and cl_optimization_hash
+       hash them and in cl_target_option_stream_out,
+       cl_target_option_stream_in, cl_optimization_stream_out and
+       cl_optimization_stream_in stream them.
+       * tree.h (build_optimization_node, build_target_option_node): Add
+       opts_set argument.
+       * tree.c (build_optimization_node): Add opts_set argument, pass it
+       to cl_optimization_save.
+       (build_target_option_node): Add opts_set argument, pass it to
+       cl_target_option_save.
+       * function.c (invoke_set_current_function_hook): Adjust
+       cl_optimization_restore caller.
+       * ipa-inline-transform.c (inline_call): Adjust cl_optimization_restore
+       and build_optimization_node callers.
+       * target.def (TARGET_OPTION_SAVE, TARGET_OPTION_RESTORE): Add opts_set
+       argument.
+       * target-globals.c (save_target_globals_default_opts): Adjust
+       cl_optimization_restore callers.
+       * toplev.c (process_options): Adjust build_optimization_node and
+       cl_optimization_restore callers.
+       (target_reinit): Adjust cl_optimization_restore caller.
+       * tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
+       Adjust build_optimization_node and cl_optimization_restore callers.
+       * doc/tm.texi: Updated.
+       * config/aarch64/aarch64.c (aarch64_override_options): Adjust
+       build_target_option_node caller.
+       (aarch64_option_save, aarch64_option_restore): Add opts_set argument.
+       (aarch64_set_current_function): Adjust cl_target_option_restore
+       caller.
+       (aarch64_option_valid_attribute_p): Adjust cl_target_option_save,
+       cl_target_option_restore, cl_optimization_restore,
+       build_optimization_node and build_target_option_node callers.
+       * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Adjust
+       cl_target_option_restore and build_target_option_node callers.
+       * config/arm/arm.c (arm_option_save, arm_option_restore): Add
+       opts_set argument.
+       (arm_option_override): Adjust cl_target_option_save,
+       build_optimization_node and build_target_option_node callers.
+       (arm_set_current_function): Adjust cl_target_option_restore caller.
+       (arm_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (add_attribute): Formatting fix.
+       (arm_valid_target_attribute_p): Adjust cl_optimization_restore,
+       cl_target_option_restore, arm_valid_target_attribute_tree and
+       build_optimization_node callers.
+       * config/arm/arm-c.c (arm_pragma_target_parse): Adjust
+       cl_target_option_restore callers.
+       * config/csky/csky.c (csky_option_override): Adjust
+       build_target_option_node and cl_target_option_save callers.
+       * config/gcn/gcn.c (gcn_fixup_accel_lto_options): Adjust
+       build_optimization_node and cl_optimization_restore callers.
+       * config/i386/i386-builtins.c (get_builtin_code_for_version):
+       Adjust cl_target_option_save and cl_target_option_restore
+       callers.
+       * config/i386/i386-c.c (ix86_pragma_target_parse): Adjust
+       build_target_option_node and cl_target_option_restore callers.
+       * config/i386/i386-options.c (ix86_function_specific_save,
+       ix86_function_specific_restore): Add opts_set arguments.
+       (ix86_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (ix86_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_restore,
+       ix86_valid_target_attribute_tree and build_optimization_node callers.
+       (ix86_option_override_internal): Adjust build_target_option_node
+       caller.
+       (ix86_reset_previous_fndecl, ix86_set_current_function): Adjust
+       cl_target_option_restore callers.
+       * config/i386/i386-options.h (ix86_function_specific_save,
+       ix86_function_specific_restore): Add opts_set argument.
+       * config/nios2/nios2.c (nios2_option_override): Adjust
+       build_target_option_node caller.
+       (nios2_option_save, nios2_option_restore): Add opts_set argument.
+       (nios2_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (nios2_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore callers.
+       (nios2_set_current_function, nios2_pragma_target_parse): Adjust
+       cl_target_option_restore callers.
+       * config/pru/pru.c (pru_option_override): Adjust
+       build_target_option_node caller.
+       (pru_set_current_function): Adjust cl_target_option_restore
+       callers.
+       * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust
+       cl_target_option_save caller.
+       (rs6000_option_override_internal): Adjust build_target_option_node
+       caller.
+       (rs6000_valid_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_save,
+       cl_target_option_restore and build_target_option_node callers.
+       (rs6000_pragma_target_parse): Adjust cl_target_option_restore and
+       build_target_option_node callers.
+       (rs6000_activate_target_options): Adjust cl_target_option_restore
+       callers.
+       (rs6000_function_specific_save, rs6000_function_specific_restore):
+       Add opts_set argument.
+       * config/s390/s390.c (s390_function_specific_restore): Likewise.
+       (s390_option_override_internal): Adjust s390_function_specific_restore
+       caller.
+       (s390_option_override, s390_valid_target_attribute_tree): Adjust
+       build_target_option_node caller.
+       (s390_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore and cl_target_option_restore callers.
+       (s390_activate_target_options): Adjust cl_target_option_restore
+       caller.
+       * config/s390/s390-c.c (s390_cpu_cpp_builtins): Adjust
+       cl_target_option_save caller.
+       (s390_pragma_target_parse): Adjust build_target_option_node and
+       cl_target_option_restore callers.
+
+2020-09-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
+       Provide accurate costs for DImode shifts of integer constants.
+
+2020-09-12  Roger Sayle  <roger@nextmovesoftware.com>
+           John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md (shrpsi4_1, shrpsi4_2): New define_insns split
+       out from previous shrpsi4 providing two commutitive variants using
+       plus_xor_ior_operator as a predicate.
+       (shrpdi4_1, shrpdi4_2, shrpdi_3, shrpdi_4): Likewise DImode versions
+       where _1 and _2 take register shifts, and _3 and _4 for integers.
+       (rotlsi3_internal): Name this anonymous instruction.
+       (rotrdi3): New DImode insn copied from rotrsi3.
+       (rotldi3): New DImode expander copied from rotlsi3.
+       (rotldi4_internal): New DImode insn copied from rotsi3_internal.
+
+2020-09-11  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_maybe_emit_maxc_minc): Rename
+       from rs6000_emit_p9_fp_minmax.  Change return type to bool.  Add
+       comments to document NaN/signed zero behavior.
+       (rs6000_maybe_emit_fp_cmove): Rename from rs6000_emit_p9_fp_cmove.
+       (have_compare_and_set_mask): New helper function.
+       (rs6000_emit_cmove): Update calls to new names and the new helper
+       function.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * config/i386/sse.md (mov<mode>): Fix operand indices.
+
+2020-09-11  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96903
+       * builtins.c (compute_objsize): Remove incorrect offset adjustment.
+       (compute_objsize): Adjust offset range here instead.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97020
+       * tree-vect-slp.c (vect_slp_analyze_operations): Apply
+       SLP costs when doing loop vectorization.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96964
+       * config/nvptx/nvptx.md (define_expand "atomic_test_and_set"): New
+       expansion.
+
+2020-09-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align TImode registers.
+       * config/gcn/gcn.md: Assert that TImode registers do not early clobber.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_instance::location): New method.
+       (vect_schedule_slp): Adjust prototype.
+       * tree-vectorizer.c (vec_info::remove_stmt): Adjust
+       the BB region begin if we removed the stmt it points to.
+       * tree-vect-loop.c (vect_transform_loop): Adjust.
+       * tree-vect-slp.c (_slp_instance::location): Implement.
+       (vect_analyze_slp_instance): For BB vectorization set
+       vect_location to that of the instance.
+       (vect_slp_analyze_operations): Likewise.
+       (vect_bb_vectorization_profitable_p): Remove wrapper.
+       (vect_slp_analyze_bb_1): Remove cost check here.
+       (vect_slp_region): Cost check and code generate subgraphs separately,
+       report optimized locations and missed optimizations due to
+       profitability for each of them.
+       (vect_schedule_slp): Get the vector of SLP graph entries to
+       vectorize as argument.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97013
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove duplicate dumping.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Check vector
+       types for all lanes are compatible.
+       (vect_analyze_slp_instance): Appropriately check for stores.
+       (vect_schedule_slp): Likewise.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Fix undefined
+       behaviour.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Handle negative
+       __int128.
+
+2020-09-11  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Change default.
+
+2020-09-10  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000-protos.h (rs6000_emit_cmove): Change return
+       type to bool.
+       (rs6000_emit_int_cmove): Change return type to bool.
+       * config/rs6000/rs6000.c (rs6000_emit_cmove): Change return type
+       to bool.
+       (rs6000_emit_int_cmove): Change return type to bool.
+
+2020-09-10  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97004
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Handle shift by
+       number of bits in shift operand.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer-out.c (collect_block_tree_leafs): Recurse on
+       root rather than BLOCK_SUBBLOCKS (root).
+
+2020-09-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-R82.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add entry for Cortex-R82.
+
+2020-09-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * common/config/aarch64/aarch64-common.c
+       (aarch64_get_extension_string_for_isa_flags): Don't force +crc for
+       Armv8-R.
+       * config/aarch64/aarch64-arches.def: Add entry for Armv8-R.
+       * config/aarch64/aarch64-c.c (aarch64_define_unconditional_macros): Set
+       __ARM_ARCH_PROFILE correctly for Armv8-R.
+       * config/aarch64/aarch64.h (AARCH64_FL_V8_R): New.
+       (AARCH64_FL_FOR_ARCH8_R): New.
+       (AARCH64_ISA_V8_R): New.
+       * doc/invoke.texi: Add Armv8-R to architecture table.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.c (arm_override_options_after_change_1): Add opts_set
+       argument, test opts_set->x_str_align_functions rather than
+       opts->x_str_align_functions.
+       (arm_override_options_after_change, arm_option_override_internal,
+       arm_set_current_function): Adjust callers.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96939
+       * config/arm/arm.c (arm_override_options_after_change): Don't call
+       arm_configure_build_target here.
+       (arm_set_current_function): Call arm_override_options_after_change_1
+       at the end.
+
+2020-09-10  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.md
+       (lfiwzx, floatunssi<mode>2_lfiwzx, p8_mtvsrwz, p8_mtvsrd_sf): Fix insn
+       type.
+       * config/rs6000/vsx.md
+       (vsx_concat_<mode>, vsx_splat_<mode>_reg, vsx_splat_v4sf): Likewise.
+
+2020-09-10  Jonathan Yong  <10walls@gmail.com>
+
+       * config.host: Adjust plugin name for Windows.
+
+2020-09-10  Tom de Vries  <tdevries@suse.de>
+
+       PR tree-optimization/97000
+       * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): Don't clear
+       flag for IFN_UNIQUE.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/93865
+       * lto-streamer.h (struct output_block): Add emit_pwd member.
+       * lto-streamer-out.c: Include toplev.h.
+       (clear_line_info): Set emit_pwd.
+       (lto_output_location_1): Encode the ob->current_file != xloc.file
+       bit directly into the location number.  If changing file, emit
+       additionally a bit whether pwd is emitted and emit it before the
+       first relative pathname since clear_line_info.
+       (output_function, output_constructor): Don't call clear_line_info
+       here.
+       * lto-streamer-in.c (struct string_pair_map): New type.
+       (struct string_pair_map_hasher): New type.
+       (string_pair_map_hasher::hash): New method.
+       (string_pair_map_hasher::equal): New method.
+       (path_name_pair_hash_table, string_pair_map_allocator): New variables.
+       (relative_path_prefix, canon_relative_path_prefix,
+       canon_relative_file_name): New functions.
+       (canon_file_name): Add relative_prefix argument, if non-NULL
+       and string is a relative path, return canon_relative_file_name.
+       (lto_location_cache::input_location_and_block): Decode file change
+       bit from the location number.  If changing file, unpack bit whether
+       pwd is streamed and stream in pwd.  Adjust canon_file_name caller.
+       (lto_free_file_name_hash): Delete path_name_pair_hash_table
+       and string_pair_map_allocator.
+
+2020-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96043
+       * tree-vectorizer.h (_slp_instance::cost_vec): New.
+       (_slp_instance::subgraph_entries): Likewise.
+       (BB_VINFO_TARGET_COST_DATA): Remove.
+       * tree-vect-slp.c (vect_free_slp_instance): Free
+       cost_vec and subgraph_entries.
+       (vect_analyze_slp_instance): Initialize them.
+       (vect_slp_analyze_operations): Defer passing costs to
+       the target, instead record them in the SLP graph entry.
+       (get_ultimate_leader): New helper for graph partitioning.
+       (vect_bb_partition_graph_r): Likewise.
+       (vect_bb_partition_graph): New function to partition the
+       SLP graph into independently costable parts.
+       (vect_bb_vectorization_profitable_p): Adjust to work on
+       a subgraph.
+       (vect_bb_vectorization_profitable_p): New wrapper,
+       discarding non-profitable vectorization of subgraphs.
+       (vect_slp_analyze_bb_1): Call vect_bb_partition_graph before
+       costing.
+
+2020-09-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94355
+       * doc/invoke.texi: Document -Wanalyzer-mismatching-deallocation.
+
+2020-09-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/96475
+       * bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p
+       micro-optimization.
+
+2020-09-09  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Fix Wformat
+       warning.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Do
+       nothing when the permutation doesn't permute.
+
+2020-09-09  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96991
+       * config/nvptx/nvptx.c (write_fn_proto): Fix boolean type check.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_comparison): Allow
+       STMT_VINFO_LIVE_P stmts.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_condition): Allow
+       STMT_VINFO_LIVE_P stmts.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96978
+       * tree-vect-stmts.c (vectorizable_condition): Do not
+       look at STMT_VINFO_LIVE_P for BB vectorization.
+       (vectorizable_comparison): Likewise.
+
+2020-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96955
+       * config/i386/i386.md (get_thread_pointer<mode>): New
+       expander.
+
+2020-09-08  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (scatter<mode>_insn_1offset_ds<exec_scatter>):
+       Add waitcnt.
+       * config/gcn/gcn.md (*mov<mode>_insn, *movti_insn): Add waitcnt to
+       ds_write alternatives.
+
+2020-09-08  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/mkoffload.c (process_asm): Initialise regcount.  Update
+       scanning for SGPR/VGPR usage for HSACO v3.
+
+2020-09-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96967
+       * tree-vrp.c (find_case_label_range): Cast label range to
+       type of switch operand.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_file_end): Fix jumbled
+       HAVE_AS_MSPABI_ATTRIBUTE and HAVE_AS_GNU_ATTRIBUTE checks.
+       * configure: Regenerate.
+       * configure.ac: Use ".mspabi_attribute 4,2" to check for assembler
+       support for this object attribute directive.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * common/config/msp430/msp430-common.c (msp430_handle_option): Remove
+       OPT_mcpu_ handling.
+       Set target_cpu value to new enum values when parsing certain -mmcu=
+       values.
+       * config/msp430/msp430-opts.h (enum msp430_cpu_types): New.
+       * config/msp430/msp430.c (msp430_option_override): Handle new
+       target_cpu enum values.
+       Set target_cpu using extracted value for given MCU when -mcpu=
+       option is not passed by the user.
+       * config/msp430/msp430.opt: Handle -mcpu= values using enums.
+
+2020-09-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/96796
+       * lra-constraints.c (in_class_p): Add a default-false
+       allow_all_reload_class_changes_p parameter.  Do not treat
+       reload moves specially when the parameter is true.
+       (get_reload_reg): Try to narrow the class of an existing OP_OUT
+       reload if we're reloading a reload pseudo in a reload instruction.
+
+2020-09-07  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Revert
+       dead-code removal introduced by 09fa6acd8d9 + add a comment to
+       clarify.
+
+2020-09-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/rtl.texi (subreg): Fix documentation to state there is a known
+       number of undefined bits in regs and subregs of MODE_PARTIAL_INT modes.
+
+2020-09-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_option_override): Don't set the
+       ISA to 430 when the MCU is unrecognized.
+
+2020-09-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_libc_has_function): Report sincos
+       available from 10.9.
+
+2020-09-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.md (*adds_mul_imm_<mode>): Delete.
+       (*subs_mul_imm_<mode>): Delete.
+       (*adds_<optab><mode>_multp2): Delete.
+       (*subs_<optab><mode>_multp2): Delete.
+       (*add_mul_imm_<mode>): Delete.
+       (*add_<optab><ALLX:mode>_mult_<GPI:mode>): Delete.
+       (*add_<optab><SHORT:mode>_mult_si_uxtw): Delete.
+       (*add_<optab><mode>_multp2): Delete.
+       (*add_<optab>si_multp2_uxtw): Delete.
+       (*add_uxt<mode>_multp2): Delete.
+       (*add_uxtsi_multp2_uxtw): Delete.
+       (*sub_mul_imm_<mode>): Delete.
+       (*sub_mul_imm_si_uxtw): Delete.
+       (*sub_<optab><mode>_multp2): Delete.
+       (*sub_<optab>si_multp2_uxtw): Delete.
+       (*sub_uxt<mode>_multp2): Delete.
+       (*sub_uxtsi_multp2_uxtw): Delete.
+       (*neg_mul_imm_<mode>2): Delete.
+       (*neg_mul_imm_si2_uxtw): Delete.
+       * config/aarch64/predicates.md (aarch64_pwr_imm3): Delete.
+       (aarch64_pwr_2_si): Delete.
+       (aarch64_pwr_2_di): Delete.
+
+2020-09-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.md
+       (*adds_<optab><ALLX:mode>_<GPI:mode>): Ensure extended operand
+       agrees with width of extension specifier.
+       (*subs_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+       (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+       (*add_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*add_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+       (*add_uxt<mode>_shift2): Likewise.
+       (*sub_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*sub_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+       (*sub_uxt<mode>_shift2): Likewise.
+       (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>): Likewise.
+       (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+
+2020-09-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Dump
+       stmts we start SLP analysis from, failure and splitting.
+       (vect_schedule_slp): Dump SLP graph entry and root stmt
+       we are about to emit code for.
+
+2020-09-07  Martin Storsjö  <martin@martin.st>
+
+       * dwarf2out.c (file_name_acquire): Make a strchr return value
+       pointer to const.
+
+2020-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94235
+       * lto-streamer-out.c (output_cfg): Also stream goto_locus for edges.
+       Use bp_pack_var_len_unsigned instead of streamer_write_uhwi to stream
+       e->dest->index and e->flags.
+       (output_function): Call output_cfg before output_ssa_name, rather than
+       after streaming all bbs.
+       * lto-streamer-in.c (input_cfg): Stream in goto_locus for edges.
+       Use bp_unpack_var_len_unsigned instead of streamer_read_uhwi to stream
+       in dest_index and edge_flags.
+
+2020-09-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vectorizable_live_operation): Adjust.
+       * tree-vect-loop.c (vectorizable_live_operation): Vectorize
+       live lanes out of basic-block vectorization nodes.
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): New function.
+       (vect_slp_analyze_operations): Analyze live lanes and their
+       vectorization possibility after the whole SLP graph is final.
+       (vect_bb_slp_scalar_cost): Adjust for vectorized live lanes.
+       * tree-vect-stmts.c (can_vectorize_live_stmts): Adjust.
+       (vect_transform_stmt): Call can_vectorize_live_stmts also for
+       basic-block vectorization.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       PR tree-optimization/96920
+       * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): Remove.
+       (loop_vec_info::reduc_latch_slp_defs): Likewise.
+       * tree-vect-stmts.c (vect_transform_stmt): Remove vectorized
+       cycle PHI latch code.
+       * tree-vect-loop.c (maybe_set_vectorized_backedge_value): New
+       helper to set vectorized cycle PHI latch values.
+       (vect_transform_loop): Walk over all PHIs again after
+       vectorizing them, calling maybe_set_vectorized_backedge_value.
+       Call maybe_set_vectorized_backedge_value for each vectorized
+       stmt.  Remove delayed update code.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Initialize
+       SLP instance reduc_phis member.
+       (vect_schedule_slp): Set vectorized cycle PHI latch values.
+
+2020-09-04  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Remove
+       dead code as LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) is
+       always verified.
+
+2020-09-04  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96769
+       * config/arm/thumb1.md: Move movsi splitter for
+       arm_disable_literal_pool after the other movsi splitters.
+
+2020-09-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (range_operator::fold_range): Rename widest_irange
+       to int_range_max.
+       (operator_div::wi_fold): Same.
+       (operator_lshift::op1_range): Same.
+       (operator_rshift::op1_range): Same.
+       (operator_cast::fold_range): Same.
+       (operator_cast::op1_range): Same.
+       (operator_bitwise_and::remove_impossible_ranges): Same.
+       (operator_bitwise_and::op1_range): Same.
+       (operator_abs::op1_range): Same.
+       (range_cast): Same.
+       (widest_irange_tests): Same.
+       (range3_tests): Rename irange3 to int_range3.
+       (int_range_max_tests): Rename from widest_irange_tests.
+       Rename widest_irange to int_range_max.
+       (operator_tests): Rename widest_irange to int_range_max.
+       (range_tests): Same.
+       * tree-vrp.c (find_case_label_range): Same.
+       * value-range.cc (irange::irange_intersect): Same.
+       (irange::invert): Same.
+       * value-range.h: Same.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96931
+       * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): If
+       there's a fallthru edge and no abnormal edge the call is
+       no longer control-altering.
+       (cleanup_control_flow_bb): Pass down the BB to
+       cleanup_call_ctrl_altering_flag.
+
+2020-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer.h (stream_input_location_now): Remove declaration.
+       * lto-streamer-in.c (stream_input_location_now): Remove.
+       (input_eh_region, input_struct_function_base): Use
+       stream_input_location instead of stream_input_location_now.
+
+2020-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer.h (struct output_block): Add reset_locus member.
+       * lto-streamer-out.c (clear_line_info): Set reset_locus to true.
+       (lto_output_location_1): If reset_locus, clear it and ensure
+       current_{file,line,col} is different from xloc members.
+
+2020-09-04  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.h (ASM_SPEC): Pass -mxbpf to gas, if specified.
+       * config/bpf/bpf.c (bpf_output_call): Support indirect calls in xBPF.
+
+2020-09-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96820
+       * tree-sra.c (create_access): Disqualify candidates with accesses
+       beyond the end of the original aggregate.
+       (maybe_add_sra_candidate): Check that candidate type size fits
+       signed uhwi for the sake of consistency.
+
+2020-09-03  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtin): Update V2DI_type_node
+       and unsigned_V2DI_type_node definitions.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96901
+       * tree.h (struct decl_tree_traits): New type.
+       (decl_tree_map): New typedef.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/94311
+       * gimple.h (gimple_location_ptr, gimple_phi_arg_location_ptr): New
+       functions.
+       * streamer-hooks.h (struct streamer_hooks): Add
+       output_location_and_block callback.  Fix up formatting for
+       output_location.
+       (stream_output_location_and_block): Define.
+       * lto-streamer.h (class lto_location_cache): Fix comment typo.  Add
+       current_block member.
+       (lto_location_cache::input_location_and_block): New method.
+       (lto_location_cache::lto_location_cache): Initialize current_block.
+       (lto_location_cache::cached_location): Add block member.
+       (struct output_block): Add current_block member.
+       (lto_output_location): Formatting fix.
+       (lto_output_location_and_block): Declare.
+       * lto-streamer.c (lto_streamer_hooks_init): Initialize
+       streamer_hooks.output_location_and_block.
+       * lto-streamer-in.c (lto_location_cache::cmp_loc): Also compare
+       block members.
+       (lto_location_cache::apply_location_cache): Handle blocks.
+       (lto_location_cache::accept_location_cache,
+       lto_location_cache::revert_location_cache): Fix up function comments.
+       (lto_location_cache::input_location_and_block): New method.
+       (lto_location_cache::input_location): Implement using
+       input_location_and_block.
+       (input_function): Invoke apply_location_cache after streaming in all
+       bbs.
+       * lto-streamer-out.c (clear_line_info): Set current_block.
+       (lto_output_location_1): New function, moved from lto_output_location,
+       added block handling.
+       (lto_output_location): Implement using lto_output_location_1.
+       (lto_output_location_and_block): New function.
+       * gimple-streamer-in.c (input_phi): Use input_location_and_block
+       to input and cache both location and block.
+       (input_gimple_stmt): Likewise.
+       * gimple-streamer-out.c (output_phi): Use
+       stream_output_location_and_block.
+       (output_gimple_stmt): Likewise.
+
+2020-09-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-generic.c (tree_vec_extract): Remove odd
+       special-casing of boolean vectors.
+       * fold-const.c (fold_ternary_loc): Handle boolean vector
+       type BIT_FIELD_REFs.
+
+2020-09-03  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * config/i386/i386-features.c
+       (replace_constant_pool_with_broadcast): New function.
+       (constant_pool_broadcast): Ditto.
+       (class pass_constant_pool_broadcast): New pass.
+       (make_pass_constant_pool_broadcast): Ditto.
+       (remove_partial_avx_dependency): Call
+       replace_constant_pool_with_broadcast under TARGET_AVX512F, it
+       would save compile time when both pass rpad and cpb are
+       available.
+       (remove_partial_avx_dependency_gate): New function.
+       (class pass_remove_partial_avx_dependency::gate): Call
+       remove_partial_avx_dependency_gate.
+       * config/i386/i386-passes.def: Insert new pass after combine.
+       * config/i386/i386-protos.h
+       (make_pass_constant_pool_broadcast): Declare.
+       * config/i386/sse.md (*avx512dq_mul<mode>3<mask_name>_bcst):
+       New define_insn.
+       (*avx512f_mul<mode>3<mask_name>_bcst): Ditto.
+       * config/i386/avx512fintrin.h (_mm512_set1_ps,
+       _mm512_set1_pd,_mm512_set1_epi32, _mm512_set1_epi64): Adjusted.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/60304
+       * ginclude/stdbool.h (bool, false, true): Never define for C++.
+
+2020-09-02  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/invoke.texi (MSP430 options): Fix -mlarge description to
+       indicate size_t is a 20-bit type.
+
+2020-09-02  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
+       Provide accurate costs for shifts of integer constants.
+
+2020-09-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.c (bpf_asm_named_section): Delete.
+       (TARGET_ASM_NAMED_SECTION): Likewise.
+
+2020-09-02  Jose E. Marchesi  <jemarch@gnu.org>
+
+       * config.gcc: Use elfos.h in bpf-*-* targets.
+       * config/bpf/bpf.h (MAX_OFILE_ALIGNMENT): Remove definition.
+       (COMMON_ASM_OP): Likewise.
+       (INIT_SECTION_ASM_OP): Likewise.
+       (FINI_SECTION_ASM_OP): Likewise.
+       (ASM_OUTPUT_SKIP): Likewise.
+       (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+       (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+
+2020-09-01  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (compute_objsize):  Only replace the upper bound
+       of a POINTER_PLUS offset when it's less than the lower bound.
+
+2020-09-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96808
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Do not
+       reuse accumulator memory reference for source and destination accesses.
+
+2020-09-01  Martin Liska  <mliska@suse.cz>
+
+       * cfgrtl.c (rtl_create_basic_block): Use default value for
+       growth vector function.
+       * gimple.c (gimple_set_bb): Likewise.
+       * symbol-summary.h: Likewise.
+       * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+       (build_gimple_cfg): Likewise.
+       (create_bb): Likewise.
+       (move_block_to_fn): Likewise.
+
+2020-09-01  Martin Liska  <mliska@suse.cz>
+
+       * vec.h (vec_safe_grow): Change default of exact to false.
+       (vec_safe_grow_cleared): Likewise.
+
+2020-09-01  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/90597
+       * targhooks.c (default_vector_alignment): Return at least the
+       GET_MODE_ALIGNMENT for the type's mode.
+
+2020-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/96812
+       * tree-ssa-address.c (copy_ref_info): Also copy dependence info.
+       * cfgrtl.h (duplicate_insn_chain): Adjust prototype.
+       * cfgrtl.c (duplicate_insn_chain): Remap dependence info
+       if requested.
+       (cfg_layout_duplicate_bb): Make sure we remap dependence info.
+       * modulo-sched.c (duplicate_insns_of_cycles): Remap dependence
+       info.
+       (generate_prolog_epilog): Adjust.
+       * config/c6x/c6x.c (hwloop_optimize): Remap dependence info.
+
+2020-09-01  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * doc/sourcebuild.texi (has_arch_pwr5, has_arch_pwr6, has_arch_pwr7,
+       has_arch_pwr8, has_arch_pwr9): Document.
+
+2020-08-31  Carl Love  <cel@us.ibm.com>
+
+       PR target/85830
+       * config/rs6000/altivec.h (vec_popcntb, vec_popcnth, vec_popcntw,
+       vec_popcntd): Remove defines.
+
+2020-08-31  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/93529
+       * tree.c (build_constructor_from_vec): New.
+       * tree.h (build_constructor_from_vec): Declare.
+
+2020-08-31  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96818
+       * tree-vrp.c (find_case_label_range): Cast label range to
+       type of switch operand.
+
+2020-08-31  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96551
+       * config/i386/sse.md (vec_unpacku_float_hi_v16si): For vector
+       compare to integer mask, don't use gen_rtx_LT, use
+       ix86_expand_mask_vec_cmp instead.
+       (vec_unpacku_float_hi_v16si): Ditto.
+
+2020-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-cfg.c (verify_gimple_switch): If the first non-default case
+       label has CASE_HIGH, verify it has the same type as CASE_LOW.
+
+2020-08-31  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/96806
+       * ipa-cp.c (decide_about_value): Use safe_add to avoid cost addition
+       overflow.
+
+2020-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/54201
+       * varasm.c: Include alloc-pool.h.
+       (output_constant_pool_contents): Emit desc->mark < 0 entries as
+       aliases.
+       (struct constant_descriptor_rtx_data): New type.
+       (constant_descriptor_rtx_data_cmp): New function.
+       (struct const_rtx_data_hasher): New type.
+       (const_rtx_data_hasher::hash, const_rtx_data_hasher::equal): New
+       methods.
+       (optimize_constant_pool): New function.
+       (output_shared_constant_pool): Call it if TARGET_SUPPORTS_ALIASES.
+
+2020-08-31  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * doc/sourcebuild.texi (vect_len_load_store,
+       vect_partial_vectors_usage_1, vect_partial_vectors_usage_2,
+       vect_partial_vectors): Document.
+
+2020-08-30  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (access_ref::access_ref): Call get_size_range instead
+       of get_range.
+
+2020-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (ssse3_pshufbv8qi): Use gen_int_mode instead of
+       GEN_INT, and ix86_build_const_vector instead of gen_rtvec and
+       gen_rtx_CONT_VECTOR.
+
+2020-08-29  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (MASK_FOR_STORE): Remove.
+       * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Remove
+       all logic for ALTIVEC_BUILTIN_MASK_FOR_STORE.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       * attribs.c (init_attr_rdwr_indices): Use global access_mode.
+       * attribs.h (struct attr_access): Same.
+       * builtins.c (fold_builtin_strlen): Add argument.
+       (compute_objsize): Declare.
+       (get_range): Declare.
+       (check_read_access): New function.
+       (access_ref::access_ref): Define ctor.
+       (warn_string_no_nul): Add arguments.  Handle -Wstrintop-overread.
+       (check_nul_terminated_array): Handle source strings of different
+       ranges of sizes.
+       (expand_builtin_strlen): Remove warning code, call check_read_access
+       instead.  Declare locals closer to their initialization.
+       (expand_builtin_strnlen): Same.
+       (maybe_warn_for_bound): New function.
+       (warn_for_access): Remove argument.  Handle -Wstrintop-overread.
+       (inform_access): Change argument type.
+       (get_size_range): New function.
+       (check_access): Remove unused arguments.  Add new arguments.  Handle
+       -Wstrintop-overread.  Move warning code to helpers and call them.
+       Call check_nul_terminated_array.
+       (check_memop_access): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_memchr): Call check_read_access.
+       (expand_builtin_strcat): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_strcpy): Same.
+       (expand_builtin_strcpy_args): Same.  Avoid testing no-warning bit.
+       (expand_builtin_stpcpy_1): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_stpncpy): Same.
+       (check_strncat_sizes): Same.
+       (expand_builtin_strncat): Remove unnecessary and provide additional
+       arguments in calls.  Adjust comments.
+       (expand_builtin_strncpy): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_memcmp): Remove warning code.  Call check_access.
+       (expand_builtin_strcmp): Call check_access instead of
+       check_nul_terminated_array.
+       (expand_builtin_strncmp): Handle -Wstrintop-overread.
+       (expand_builtin_fork_or_exec): Call check_access instead of
+       check_nul_terminated_array.
+       (expand_builtin): Same.
+       (fold_builtin_1): Pass additional argument.
+       (fold_builtin_n): Same.
+       (fold_builtin_strpbrk): Remove calls to check_nul_terminated_array.
+       (expand_builtin_memory_chk): Add comments.
+       (maybe_emit_chk_warning): Remove unnecessary and provide additional
+       arguments in calls.
+       (maybe_emit_sprintf_chk_warning): Same.  Adjust comments.
+       * builtins.h (warn_string_no_nul): Add arguments.
+       (struct access_ref): Add member and ctor argument.
+       (struct access_data): Add members and ctor.
+       (check_access): Adjust signature.
+       * calls.c (maybe_warn_nonstring_arg): Return an indication of
+       whether a warning was issued.  Issue -Wstrintop-overread instead
+       of -Wstringop-overflow.
+       (append_attrname): Adjust to naming changes.
+       (maybe_warn_rdwr_sizes): Same.  Remove unnecessary and provide
+       additional arguments in calls.
+       * calls.h (maybe_warn_nonstring_arg): Return bool.
+       * doc/invoke.texi (-Wstringop-overread): Document new option.
+       * gimple-fold.c (gimple_fold_builtin_strcpy): Provide an additional
+       argument in call.
+       (gimple_fold_builtin_stpcpy): Same.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Adjust to naming
+       changes.
+       * tree.h (enum access_mode): New type.
+
+2020-08-28  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_call_aix): Remove test for r12.
+       (rs6000_sibcall_aix): Likewise.
+
+2020-08-28  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Add "true"
+       parameter to vec_safe_grow_cleared.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       * ggc-common.c (gt_pch_save): Add argument to a call.
+
+2020-08-28  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/96357
+       * config/aarch64/aarch64-sve.md
+       (cond_sub<mode>_relaxed_const): Updated and renamed from
+       cond_sub<mode>_any_const pattern.
+       (cond_sub<mode>_strict_const): New pattern.
+
+2020-08-28  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/rtl.texi: Fix typo.
+
+2020-08-28  Uros Bizjak    <ubizjak@gmail.com>
+
+       PR target/96744
+       * config/i386/i386-expand.c (split_double_mode): Also handle
+       E_P2HImode and E_P2QImode.
+       * config/i386/sse.md (MASK_DWI): New define_mode_iterator.
+       (mov<mode>): New expander for P2HI,P2QI.
+       (*mov<mode>_internal): New define_insn_and_split to split
+       movement of P2QI/P2HI to 2 movqi/movhi patterns after reload.
+
+2020-08-28  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c (ix86_handle_option): Set
+       AVX512DQ when AVX512VP2INTERSECT exists.
+
+2020-08-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/65146
+       * config/i386/i386.c (iamcu_alignment): Don't decrease alignment
+       for TYPE_ATOMIC types.
+       (ix86_local_alignment): Likewise.
+       (ix86_minimum_alignment): Likewise.
+       (x86_field_alignment): Likewise, and emit a -Wpsabi diagnostic
+       for it.
+
+2020-08-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/96787
+       * config/rs6000/rs6000.c (rs6000_sibcall_aix): Support
+       indirect call for ELFv2.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96522
+       * tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
+       info of the copied points-to.  Transfer bigger alignment
+       via the access type.
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+       Reset all flow-sensitive info.
+
+2020-08-27  Martin Liska  <mliska@suse.cz>
+
+       * alias.c (init_alias_analysis): Set exact argument of a vector
+       growth function to true.
+       * calls.c (internal_arg_pointer_based_exp_scan): Likewise.
+       * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
+       * cfgexpand.c (expand_asm_stmt): Likewise.
+       * cfgrtl.c (rtl_create_basic_block): Likewise.
+       * combine.c (combine_split_insns): Likewise.
+       (combine_instructions): Likewise.
+       * config/aarch64/aarch64-sve-builtins.cc (function_expander::add_output_operand): Likewise.
+       (function_expander::add_input_operand): Likewise.
+       (function_expander::add_integer_operand): Likewise.
+       (function_expander::add_address_operand): Likewise.
+       (function_expander::add_fixed_operand): Likewise.
+       * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
+       * dwarf2cfi.c (update_row_reg_save): Likewise.
+       * early-remat.c (early_remat::init_block_info): Likewise.
+       (early_remat::finalize_candidate_indices): Likewise.
+       * except.c (sjlj_build_landing_pads): Likewise.
+       * final.c (compute_alignments): Likewise.
+       (grow_label_align): Likewise.
+       * function.c (temp_slots_at_level): Likewise.
+       * fwprop.c (build_single_def_use_links): Likewise.
+       (update_uses): Likewise.
+       * gcc.c (insert_wrapper): Likewise.
+       * genautomata.c (create_state_ainsn_table): Likewise.
+       (add_vect): Likewise.
+       (output_dead_lock_vect): Likewise.
+       * genmatch.c (capture_info::capture_info): Likewise.
+       (parser::finish_match_operand): Likewise.
+       * genrecog.c (optimize_subroutine_group): Likewise.
+       (merge_pattern_info::merge_pattern_info): Likewise.
+       (merge_into_decision): Likewise.
+       (print_subroutine_start): Likewise.
+       (main): Likewise.
+       * gimple-loop-versioning.cc (loop_versioning::loop_versioning): Likewise.
+       * gimple.c (gimple_set_bb): Likewise.
+       * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Likewise.
+       * haifa-sched.c (sched_extend_luids): Likewise.
+       (extend_h_i_d): Likewise.
+       * insn-addr.h (insn_addresses_new): Likewise.
+       * ipa-cp.c (gather_context_independent_values): Likewise.
+       (find_more_contexts_for_caller_subset): Likewise.
+       * ipa-devirt.c (final_warning_record::grow_type_warnings): Likewise.
+       (ipa_odr_read_section): Likewise.
+       * ipa-fnsummary.c (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (analyze_function_body): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       (read_ipa_call_summary): Likewise.
+       * ipa-icf.c (sem_function::bb_dict_test): Likewise.
+       * ipa-prop.c (ipa_alloc_node_params): Likewise.
+       (parm_bb_aa_status_for_bb): Likewise.
+       (ipa_compute_jump_functions_for_edge): Likewise.
+       (ipa_analyze_node): Likewise.
+       (update_jump_functions_after_inlining): Likewise.
+       (ipa_read_edge_info): Likewise.
+       (read_ipcp_transformation_info): Likewise.
+       (ipcp_transform_function): Likewise.
+       * ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
+       * ipa-split.c (execute_split_functions): Likewise.
+       * ira.c (find_moveable_pseudos): Likewise.
+       * lower-subreg.c (decompose_multiword_subregs): Likewise.
+       * lto-streamer-in.c (input_eh_regions): Likewise.
+       (input_cfg): Likewise.
+       (input_struct_function_base): Likewise.
+       (input_function): Likewise.
+       * modulo-sched.c (set_node_sched_params): Likewise.
+       (extend_node_sched_params): Likewise.
+       (schedule_reg_moves): Likewise.
+       * omp-general.c (omp_construct_simd_compare): Likewise.
+       * passes.c (pass_manager::create_pass_tab): Likewise.
+       (enable_disable_pass): Likewise.
+       * predict.c (determine_unlikely_bbs): Likewise.
+       * profile.c (compute_branch_probabilities): Likewise.
+       * read-rtl-function.c (function_reader::parse_block): Likewise.
+       * read-rtl.c (rtx_reader::read_rtx_code): Likewise.
+       * reg-stack.c (stack_regs_mentioned): Likewise.
+       * regrename.c (regrename_init): Likewise.
+       * rtlanal.c (T>::add_single_to_queue): Likewise.
+       * sched-deps.c (init_deps_data_vector): Likewise.
+       * sel-sched-ir.c (sel_extend_global_bb_info): Likewise.
+       (extend_region_bb_info): Likewise.
+       (extend_insn_data): Likewise.
+       * symtab.c (symtab_node::create_reference): Likewise.
+       * tracer.c (tail_duplicate): Likewise.
+       * trans-mem.c (tm_region_init): Likewise.
+       (get_bb_regions_instrumented): Likewise.
+       * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+       (build_gimple_cfg): Likewise.
+       (create_bb): Likewise.
+       (move_block_to_fn): Likewise.
+       * tree-complex.c (tree_lower_complex): Likewise.
+       * tree-if-conv.c (predicate_rhs_code): Likewise.
+       * tree-inline.c (copy_bb): Likewise.
+       * tree-into-ssa.c (get_ssa_name_ann): Likewise.
+       (mark_phi_for_rewrite): Likewise.
+       * tree-object-size.c (compute_builtin_object_size): Likewise.
+       (init_object_sizes): Likewise.
+       * tree-predcom.c (initialize_root_vars_store_elim_1): Likewise.
+       (initialize_root_vars_store_elim_2): Likewise.
+       (prepare_initializers_chain_store_elim): Likewise.
+       * tree-ssa-address.c (addr_for_mem_ref): Likewise.
+       (multiplier_allowed_in_address_p): Likewise.
+       * tree-ssa-coalesce.c (ssa_conflicts_new): Likewise.
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
+       * tree-ssa-loop-ivopts.c (addr_offset_valid_p): Likewise.
+       (get_address_cost_ainc): Likewise.
+       * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise.
+       * tree-ssa-pre.c (add_to_value): Likewise.
+       (phi_translate_1): Likewise.
+       (do_pre_regular_insertion): Likewise.
+       (do_pre_partial_partial_insertion): Likewise.
+       (init_pre): Likewise.
+       * tree-ssa-propagate.c (ssa_prop_init): Likewise.
+       (update_call_from_tree): Likewise.
+       * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Likewise.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
+       (vn_reference_lookup_pieces): Likewise.
+       (eliminate_dom_walker::eliminate_push_avail): Likewise.
+       * tree-ssa-strlen.c (set_strinfo): Likewise.
+       (get_stridx_plus_constant): Likewise.
+       (zero_length_string): Likewise.
+       (find_equal_ptrs): Likewise.
+       (printf_strlen_execute): Likewise.
+       * tree-ssa-threadedge.c (set_ssa_name_value): Likewise.
+       * tree-ssanames.c (make_ssa_name_fn): Likewise.
+       * tree-streamer-in.c (streamer_read_tree_bitfields): Likewise.
+       * tree-vect-loop.c (vect_record_loop_mask): Likewise.
+       (vect_get_loop_mask): Likewise.
+       (vect_record_loop_len): Likewise.
+       (vect_get_loop_len): Likewise.
+       * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Likewise.
+       * tree-vect-slp.c (vect_slp_convert_to_external): Likewise.
+       (vect_bb_slp_scalar_cost): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       (vectorizable_slp_permutation): Likewise.
+       * tree-vect-stmts.c (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (scan_store_can_perm_p): Likewise.
+       (vectorizable_store): Likewise.
+       * expr.c: Likewise.
+       * vec.c (test_safe_grow_cleared): Likewise.
+       * vec.h (vec_safe_grow): Likewise.
+       (vec_safe_grow_cleared): Likewise.
+       (vl_ptr>::safe_grow): Likewise.
+       (vl_ptr>::safe_grow_cleared): Likewise.
+       * config/c6x/c6x.c (insn_set_clock): Likewise.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_mem_ref): Handle TARGET_MEM_REFs.
+       (dump_generic_node): Use dump_mem_ref also for TARGET_MEM_REF.
+
+2020-08-27  Alex Coplan  <alex.coplan@arm.com>
+
+       * lra-constraints.c (canonicalize_reload_addr): New.
+       (curr_insn_transform): Use canonicalize_reload_addr to ensure we
+       generate canonical RTL for an address reload.
+
+2020-08-27  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for rounding intrinsics.
+
+2020-08-27  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for min/max intrinsics.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96579
+       * tree-ssa-reassoc.c (linearize_expr_tree): If we expand
+       rhs via special ops make sure to swap operands.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96565
+       * tree-ssa-dse.c (dse_classify_store): Remove defs with
+       no uses from further processing.
+
+2020-08-26  Göran Uddeborg  <goeran@uddeborg.se>
+
+       PR gcov-profile/96285
+       * common.opt, doc/invoke.texi: Clarify wording of
+       -fprofile-exclude-files and adjust -fprofile-filter-files to
+       match.
+
+2020-08-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96802
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+       Reject target("no-general-regs-only").
+
+2020-08-26  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/constraints.md (K): Change unused constraint to
+       constraint to a const_int between 1 and 19.
+       (P): New constraint.
+       * config/msp430/msp430-protos.h (msp430x_logical_shift_right): Remove.
+       (msp430_expand_shift): New.
+       (msp430_output_asm_shift_insns): New.
+       * config/msp430/msp430.c (msp430_rtx_costs): Remove shift costs.
+       (CSH): Remove.
+       (msp430_expand_helper): Remove hard-coded generation of some inline
+       shift insns.
+       (use_helper_for_const_shift): New.
+       (msp430_expand_shift): New.
+       (msp430_output_asm_shift_insns): New.
+       (msp430_print_operand): Add new 'W' operand selector.
+       (msp430x_logical_shift_right): Remove.
+       * config/msp430/msp430.md (HPSI): New define_mode_iterator.
+       (HDI): Likewise.
+       (any_shift): New define_code_iterator.
+       (shift_insn): New define_code_attr.
+       Adjust unnamed insn patterns searched for by combine.
+       (ashlhi3): Remove.
+       (slli_1): Remove.
+       (430x_shift_left): Remove.
+       (slll_1): Remove.
+       (slll_2): Remove.
+       (ashlsi3): Remove.
+       (ashldi3): Remove.
+       (ashrhi3): Remove.
+       (srai_1): Remove.
+       (430x_arithmetic_shift_right): Remove.
+       (srap_1): Remove.
+       (srap_2): Remove.
+       (sral_1): Remove.
+       (sral_2): Remove.
+       (ashrsi3): Remove.
+       (ashrdi3): Remove.
+       (lshrhi3): Remove.
+       (srli_1): Remove.
+       (430x_logical_shift_right): Remove.
+       (srlp_1): Remove.
+       (srll_1): Remove.
+       (srll_2x): Remove.
+       (lshrsi3): Remove.
+       (lshrdi3): Remove.
+       (<shift_insn><mode>3): New define_expand.
+       (<shift_insn>hi3_430): New define_insn.
+       (<shift_insn>si3_const): Likewise.
+       (ashl<mode>3_430x): Likewise.
+       (ashr<mode>3_430x): Likewise.
+       (lshr<mode>3_430x): Likewise.
+       (*bitbranch<mode>4_z): Replace renamed predicate msp430_bitpos with
+       const_0_to_15_operand.
+       * config/msp430/msp430.opt: New option -mmax-inline-shift=.
+       * config/msp430/predicates.md (const_1_to_8_operand): New predicate.
+       (const_0_to_15_operand): Rename msp430_bitpos predicate.
+       (const_1_to_19_operand): New predicate.
+       * doc/invoke.texi: Document -mmax-inline-shift=.
+
+2020-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Abstract code out to...
+       * tree-vrp.c (find_case_label_range): ...here.  Rewrite for to use irange
+       API.
+       (simplify_stmt_for_jump_threading): Call find_case_label_range instead of
+       duplicating the code in simplify_stmt_for_jump_threading.
+       * tree-vrp.h (find_case_label_range): New prototype.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): New.
+       (loop_vec_info::reduc_latch_slp_defs): Likewise.
+       * tree-vect-stmts.c (vect_transform_stmt): Only record
+       stmts to update PHI latches from, perform the update ...
+       * tree-vect-loop.c (vect_transform_loop): ... here after
+       vectorizing those PHIs.
+       (info_for_reduction): Properly handle non-reduction PHIs.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Match only symver
+       TREE_PURPOSE.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96783
+       * tree-vect-stmts.c (get_group_load_store_type): Use
+       VMAT_ELEMENTWISE for negative strides when we cannot
+       use VMAT_STRIDED_SLP.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document how are pie and pic options merged.
+
+2020-08-26  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for add/sub arithmetic intrinsics.
+
+2020-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/96729
+       * dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment.
+       (dwarf2out_var_location): Look for next_note only if next_real is
+       non-NULL, in that case look for the first non-deleted
+       NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/tilepro/gen-mul-tables.cc (main): Define IN_TARGET_CODE to 1
+       in the target file.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Allow multiple
+       symver attributes for one symbol.
+       * doc/extend.texi: Document the change.
+
+2020-08-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95863
+       * config/i386/i386.h (CTZ_DEFINED_VALUE_AT_ZERO): Return 0/2.
+       (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/87256
+       * config/pa/pa.c (hppa_rtx_costs_shadd_p): New helper function
+       to check for coefficients supported by shNadd and shladd,l.
+       (hppa_rtx_costs):  Rewrite to avoid using estimates based upon
+       FACTOR and enable recursing deeper into RTL expressions.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.md (ashldi3): Additionally, on !TARGET_64BIT
+       generate a two instruction shd/zdep sequence when shifting
+       registers by suitable constants.
+       (shd_internal): New define_expand to provide gen_shd_internal.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Rename
+       __ARM_FEATURE_SVE_VECTOR_OPERATIONS to
+       __ARM_FEATURE_SVE_VECTOR_OPERATORS.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute):
+       Take the ACLE name of the type as a parameter and add it as fourth
+       argument to the "SVE type" attribute.
+       (register_builtin_types): Update call accordingly.
+       (register_tuple_type): Likewise.  Construct the name of the type
+       earlier in order to do this.
+       (get_arm_sve_vector_bits_attributes): New function.
+       (handle_arm_sve_vector_bits_attribute): Report a more sensible
+       error message if the attribute is applied to an SVE tuple type.
+       Don't allow the attribute to be applied to an existing fixed-length
+       SVE type.  Mangle the new type as __SVE_VLS<type, vector-bits>.
+       Add a dummy TYPE_DECL to the new type.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (DEF_SVE_TYPE): Add a
+       leading "u" to each mangled name.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96548
+       PR tree-optimization/96760
+       * tree-ssa-loop-im.c (tree_ssa_lim): Recompute RPO after
+       store-motion.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96722
+       * gimple.c (infer_nonnull_range): Formatting fix.
+       (infer_nonnull_range_by_dereference): Return false for clobber stmts.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96758
+       * tree-ssa-strlen.c (handle_builtin_string_cmp): If both cstlen1
+       and cstlen2 are set, set cmpsiz to their minimum, otherwise use the
+       one that is set.  If bound is used and smaller than cmpsiz, set cmpsiz
+       to bound.  If both cstlen1 and cstlen2 are set, perform the optimization.
+
+2020-08-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96730
+       * tree-sra.c (create_access): Disqualify any aggregate with negative
+       offset access.
+       (build_ref_for_model): Add assert that offset is non-negative.
+
+2020-08-25  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * rtl.def: Fix typo in comment.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/21137
+       * fold-const.c (fold_binary_loc) [NE_EXPR/EQ_EXPR]: Call
+       STRIP_NOPS when checking whether to simplify ((x>>C1)&C2) != 0.
+
+2020-08-25  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/64242
+       * config/mips/mips.md (builtin_longjmp): Restore the frame
+       pointer and stack pointer and gp.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96690
+       * dwarf2out.c (reference_to_unused): Make FUNCTION_DECL
+       processing more consistent with respect to
+       symtab->global_info_ready.
+       (tree_add_const_value_attribute): Unconditionally call
+       rtl_for_decl_init to do all mangling early but throw
+       away the result if early_dwarf.
+
+2020-08-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96755
+       * config/i386/sse.md: Correct the mode of NOT operands to
+       SImode.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96715
+       * match.pd (copysign(x,-x) -> -x): New simplification.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95450
+       * fold-const.c (native_interpret_real): For MODE_COMPOSITE_P modes
+       punt if the to be returned REAL_CST does not encode to the bitwise
+       same representation.
+
+2020-08-24  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Configuration): Switch valgrind.com to https.
+
+2020-08-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94538
+       PR target/94538
+       * config/arm/thumb1.md: Disable set-constant splitter when
+       TARGET_HAVE_MOVT.
+       (thumb1_movsi_insn): Fix -mpure-code
+       alternative.
+
+2020-08-24  Martin Liska  <mliska@suse.cz>
+
+       * tree-vect-data-refs.c (dr_group_sort_cmp): Work on
+       data_ref_pair.
+       (vect_analyze_data_ref_accesses): Work on groups.
+       (vect_find_stmt_data_reference): Add group_id argument and fill
+       up dataref_groups vector.
+       * tree-vect-loop.c (vect_get_datarefs_in_loop): Pass new
+       arguments.
+       (vect_analyze_loop_2): Likewise.
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Pass argument.
+       (vect_slp_bb_region): Likewise.
+       (vect_slp_region): Likewise.
+       (vect_slp_bb):Work on the entire BB.
+       * tree-vectorizer.h (vect_analyze_data_ref_accesses): Add new
+       argument.
+       (vect_find_stmt_data_reference): Likewise.
+
+2020-08-24  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96597
+       * tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing
+       initialization of ::punned.
+       (vn_reference_insert): Use consistently false instead of 0.
+       (vn_reference_insert_pieces): Likewise.
+
+2020-08-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * reorg.c (fill_slots_from_thread): Allow trial insns that clobber
+       TARGET_FLAGS_REGNUM as delay-slot fillers.
+
+2020-08-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96744
+       * config/i386/i386-options.c (IX86_ATTR_IX86_YES): New.
+       (IX86_ATTR_IX86_NO): Likewise.
+       (ix86_opt_type): Add ix86_opt_ix86_yes and ix86_opt_ix86_no.
+       (ix86_valid_target_attribute_inner_p): Handle general-regs-only,
+       ix86_opt_ix86_yes and ix86_opt_ix86_no.
+       (ix86_option_override_internal): Check opts->x_ix86_target_flags
+       instead of opts->x_ix86_target_flags.
+       * doc/extend.texi: Document target("general-regs-only") function
+       attribute.
+
+2020-08-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/extend.texi: Update links to Arm docs.
+       * doc/invoke.texi: Likewise.
+
+2020-08-21  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96262
+       * config/i386/i386-expand.c
+       (ix86_expand_vec_shift_qihi_constant): Refine.
+
+2020-08-21  Alex Coplan  <alex.coplan@arm.com>
+
+       PR jit/63854
+       * gcc.c (set_static_spec): New.
+       (set_static_spec_owned): New.
+       (set_static_spec_shared): New.
+       (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Use
+       set_static_spec_owned() to take ownership of lto_wrapper_file
+       such that it gets freed in driver::finalize.
+       (driver::maybe_run_linker): Use set_static_spec_shared() to
+       ensure that we don't try and free() the static string "ld",
+       also ensuring that any previously-allocated string in
+       linker_name_spec is freed. Likewise with argv0.
+       (driver::finalize): Use set_static_spec_shared() when resetting
+       specs that previously had allocated strings; remove if(0)
+       around call to free().
+
+2020-08-21  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+       * emit-rtl.c (try_split): Call copy_frame_info_to_split_insn
+       to split certain RTX_FRAME_RELATED_P insns.
+       * recog.c (copy_frame_info_to_split_insn): New function.
+       (peep2_attempt): Split copying of frame related info of
+       RTX_FRAME_RELATED_P insns into above function and call it.
+       * recog.h (copy_frame_info_to_split_insn): Declare it.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/88808
+       * config/i386/i386.c (ix86_preferred_reload_class): Allow
+       QImode data go into mask registers.
+       * config/i386/i386.md: (*movhi_internal): Adjust constraints
+       for mask registers.
+       (*movqi_internal): Ditto.
+       (*anddi_1): Support mask register operations
+       (*and<mode>_1): Ditto.
+       (*andqi_1): Ditto.
+       (*andn<mode>_1): Ditto.
+       (*<code><mode>_1): Ditto.
+       (*<code>qi_1): Ditto.
+       (*one_cmpl<mode>2_1): Ditto.
+       (*one_cmplsi2_1_zext): Ditto.
+       (*one_cmplqi2_1): Ditto.
+       (define_peephole2): Move constant 0/-1 directly into mask
+       registers.
+       * config/i386/predicates.md (mask_reg_operand): New predicate.
+       * config/i386/sse.md (define_split): Add post-reload splitters
+       that would convert "generic" patterns to mask patterns.
+       (*knotsi_1_zext): New define_insn.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/x86-tune-costs.h (skylake_cost): Adjust cost
+       model.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.c (inline_secondary_memory_needed):
+       No memory is needed between mask regs and gpr.
+       (ix86_hard_regno_mode_ok): Add condition TARGET_AVX512F for
+       mask regno.
+       * config/i386/i386.h (enum reg_class): Add INT_MASK_REGS.
+       (REG_CLASS_NAMES): Ditto.
+       (REG_CLASS_CONTENTS): Ditto.
+       * config/i386/i386.md: Exclude mask register in
+       define_peephole2 which is avaiable only for gpr.
+
+2020-08-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/71453
+       * config/i386/i386.h (struct processor_costs): Add member
+       mask_to_integer, integer_to_mask, mask_load[3], mask_store[3],
+       mask_move.
+       * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost,
+       i386_cost, pentium_cost, lakemont_cost, pentiumpro_cost,
+       geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost,
+       bdver_cost, znver1_cost, znver2_cost, skylake_cost,
+       btver1_cost, btver2_cost, pentium4_cost, nocona_cost,
+       atom_cost, slm_cost, intel_cost, generic_cost, core_cost):
+       Initialize mask_load[3], mask_store[3], mask_move,
+       integer_to_mask, mask_to_integer for all target costs.
+       * config/i386/i386.c (ix86_register_move_cost): Using cost
+       model of mask registers.
+       (inline_memory_move_cost): Ditto.
+       (ix86_register_move_cost): Ditto.
+
+2020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Don't include
+       VxWorks header files if -fself-test is used.
+       (STARTFILE_PREFIX_SPEC): Avoid using VSB_DIR if -fself-test is used.
+
+2020-08-20  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+       PR target/96683
+       * config/arm/mve.md (mve_vst1q_f<mode>): Require MVE memory operand for
+       destination.
+       (mve_vst1q_<supf><mode>): Likewise.
+
+2020-08-19  2020-08-19  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_P10V_0, BU_P10V_1,
+       BU_P10V_2, BU_P10V_3): Rename BU_P10V_VSX_0, BU_P10V_VSX_1,
+       BU_P10V_VSX_2, BU_P10V_VSX_3 respectively.
+       (BU_P10V_4): Remove.
+       (BU_P10V_AV_0, BU_P10V_AV_1, BU_P10V_AV_2, BU_P10V_AV_3, BU_P10V_AV_4):
+       New definitions for Power 10 Altivec macros.
+       (VSTRIBR, VSTRIHR, VSTRIBL, VSTRIHL, VSTRIBR_P, VSTRIHR_P,
+       VSTRIBL_P, VSTRIHL_P, MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM,
+       VEXPANDMB, VEXPANDMH, VEXPANDMW, VEXPANDMD, VEXPANDMQ, VEXTRACTMB,
+       VEXTRACTMH, VEXTRACTMW, VEXTRACTMD, VEXTRACTMQ): Replace macro
+       expansion BU_P10V_1 with BU_P10V_AV_1.
+       (VCLRLB, VCLRRB, VCFUGED, VCLZDM, VCTZDM, VPDEPD, VPEXTD, VGNB,
+       VCNTMBB, VCNTMBH, VCNTMBW, VCNTMBD): Replace macro expansion
+       BU_P10V_2 with  BU_P10V_AV_2.
+       (VEXTRACTBL, VEXTRACTHL, VEXTRACTWL, VEXTRACTDL, VEXTRACTBR, VEXTRACTHR,
+       VEXTRACTWR, VEXTRACTDR, VINSERTGPRBL, VINSERTGPRHL, VINSERTGPRWL,
+       VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL, VINSERTGPRBR,
+       VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR, VINSERTVPRHR,
+       VINSERTVPRWR, VREPLACE_ELT_V4SI, VREPLACE_ELT_UV4SI, VREPLACE_ELT_V2DF,
+       VREPLACE_ELT_V4SF, VREPLACE_ELT_V2DI, VREPLACE_ELT_UV2DI, VREPLACE_UN_V4SI,
+       VREPLACE_UN_UV4SI, VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+       VREPLACE_UN_V2DF, VSLDB_V16QI, VSLDB_V8HI, VSLDB_V4SI, VSLDB_V2DI,
+       VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI, VSRDB_V2DI): Replace macro expansion
+       BU_P10V_3 with BU_P10V_AV_3.
+       (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF, VXXSPLTID): Replace macro expansion
+       BU_P10V_1 with BU_P10V_AV_1.
+       (XXGENPCVM_V16QI, XXGENPCVM_V8HI, XXGENPCVM_V4SI, XXGENPCVM_V2DI):
+       Replace macro expansion BU_P10V_2 with BU_P10V_VSX_2.
+       (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF, VXXBLEND_V16QI, VXXBLEND_V8HI,
+       VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): Replace macor
+       expansion BU_P10V_3 with BU_P10V_VSX_3.
+       (XXEVAL, VXXPERMX): Replace macro expansion BU_P10V_4 with BU_P10V_VSX_4.
+       (XVCVBF16SP, XVCVSPBF16): Replace macro expansion BU_VSX_1 with
+       BU_P10V_VSX_1. Also change MISC to CONST.
+       * config/rs6000/rs6000-c.c: (P10_BUILTIN_VXXPERMX): Replace with
+       P10V_BUILTIN_VXXPERMX.
+       (P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRRB,
+       P10_BUILTIN_VGNB, P10_BUILTIN_XXEVAL, P10_BUILTIN_VXXPERMX,
+       P10_BUILTIN_VEXTRACTBL, P10_BUILTIN_VEXTRACTHL, P10_BUILTIN_VEXTRACTWL,
+       P10_BUILTIN_VEXTRACTDL, P10_BUILTIN_VINSERTGPRHL,
+       P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+       P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+       P10_BUILTIN_VEXTRACTBR, P10_BUILTIN_VEXTRACTHR,
+       P10_BUILTIN_VEXTRACTWR, P10_BUILTIN_VEXTRACTDR,
+       P10_BUILTIN_VINSERTGPRBR, P10_BUILTIN_VINSERTGPRHR,
+       P10_BUILTIN_VINSERTGPRWR, P10_BUILTIN_VINSERTGPRDR,
+       P10_BUILTIN_VINSERTVPRBR, P10_BUILTIN_VINSERTVPRHR,
+       P10_BUILTIN_VINSERTVPRWR, P10_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10_BUILTIN_VREPLACE_ELT_V4SI, P10_BUILTIN_VREPLACE_ELT_UV2DI,
+       P10_BUILTIN_VREPLACE_ELT_V2DI, P10_BUILTIN_VREPLACE_ELT_V2DF,
+       P10_BUILTIN_VREPLACE_UN_UV4SI, P10_BUILTIN_VREPLACE_UN_V4SI,
+       P10_BUILTIN_VREPLACE_UN_V4SF, P10_BUILTIN_VREPLACE_UN_UV2DI,
+       P10_BUILTIN_VREPLACE_UN_V2DI, P10_BUILTIN_VREPLACE_UN_V2DF,
+       P10_BUILTIN_VSLDB_V16QI, P10_BUILTIN_VSLDB_V16QI,
+       P10_BUILTIN_VSLDB_V8HI, P10_BUILTIN_VSLDB_V4SI,
+       P10_BUILTIN_VSLDB_V2DI, P10_BUILTIN_VXXSPLTIW_V4SI,
+       P10_BUILTIN_VXXSPLTIW_V4SF, P10_BUILTIN_VXXSPLTID,
+       P10_BUILTIN_VXXSPLTI32DX_V4SI, P10_BUILTIN_VXXSPLTI32DX_V4SF,
+       P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+       P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI,
+       P10_BUILTIN_VXXBLEND_V4SF, P10_BUILTIN_VXXBLEND_V2DF,
+       P10_BUILTIN_VSRDB_V16QI, P10_BUILTIN_VSRDB_V8HI,
+       P10_BUILTIN_VSRDB_V4SI, P10_BUILTIN_VSRDB_V2DI,
+       P10_BUILTIN_VSTRIBL, P10_BUILTIN_VSTRIHL,
+       P10_BUILTIN_VSTRIBL_P, P10_BUILTIN_VSTRIHL_P,
+       P10_BUILTIN_VSTRIBR, P10_BUILTIN_VSTRIHR,
+       P10_BUILTIN_VSTRIBR_P, P10_BUILTIN_VSTRIHR_P,
+       P10_BUILTIN_MTVSRBM, P10_BUILTIN_MTVSRHM,
+       P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM,
+       P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB,
+       P10_BUILTIN_VCNTMBH, P10_BUILTIN_VCNTMBW,
+       P10_BUILTIN_VCNTMBD, P10_BUILTIN_VEXPANDMB,
+       P10_BUILTIN_VEXPANDMH, P10_BUILTIN_VEXPANDMW,
+       P10_BUILTIN_VEXPANDMD, P10_BUILTIN_VEXPANDMQ,
+       P10_BUILTIN_VEXTRACTMB, P10_BUILTIN_VEXTRACTMH,
+       P10_BUILTIN_VEXTRACTMW, P10_BUILTIN_VEXTRACTMD,
+       P10_BUILTIN_VEXTRACTMQ, P10_BUILTIN_XVTLSBB_ZEROS,
+       P10_BUILTIN_XVTLSBB_ONES): Replace with
+       P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRRB,
+       P10V_BUILTIN_VGNB, P10V_BUILTIN_XXEVAL, P10V_BUILTIN_VXXPERMX,
+       P10V_BUILTIN_VEXTRACTBL, P10V_BUILTIN_VEXTRACTHL, P10V_BUILTIN_VEXTRACTWL,
+       P10V_BUILTIN_VEXTRACTDL, P10V_BUILTIN_VINSERTGPRHL,
+       P10V_BUILTIN_VINSERTGPRWL, P10V_BUILTIN_VINSERTGPRDL,
+       P10V_BUILTIN_VINSERTVPRBL,P10V_BUILTIN_VINSERTVPRHL,
+       P10V_BUILTIN_VEXTRACTBR, P10V_BUILTIN_VEXTRACTHR
+       P10V_BUILTIN_VEXTRACTWR, P10V_BUILTIN_VEXTRACTDR,
+       P10V_BUILTIN_VINSERTGPRBR, P10V_BUILTIN_VINSERTGPRHR,
+       P10V_BUILTIN_VINSERTGPRWR, P10V_BUILTIN_VINSERTGPRDR,
+       P10V_BUILTIN_VINSERTVPRBR, P10V_BUILTIN_VINSERTVPRHR,
+       P10V_BUILTIN_VINSERTVPRWR, P10V_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10V_BUILTIN_VREPLACE_ELT_V4SI, P10V_BUILTIN_VREPLACE_ELT_UV2DI,
+       P10V_BUILTIN_VREPLACE_ELT_V2DI, P10V_BUILTIN_VREPLACE_ELT_V2DF,
+       P10V_BUILTIN_VREPLACE_UN_UV4SI, P10V_BUILTIN_VREPLACE_UN_V4SI,
+       P10V_BUILTIN_VREPLACE_UN_V4SF, P10V_BUILTIN_VREPLACE_UN_UV2DI,
+       P10V_BUILTIN_VREPLACE_UN_V2DI, P10V_BUILTIN_VREPLACE_UN_V2DF,
+       P10V_BUILTIN_VSLDB_V16QI, P10V_BUILTIN_VSLDB_V16QI,
+       P10V_BUILTIN_VSLDB_V8HI, P10V_BUILTIN_VSLDB_V4SI,
+       P10V_BUILTIN_VSLDB_V2DI, P10V_BUILTIN_VXXSPLTIW_V4SI,
+       P10V_BUILTIN_VXXSPLTIW_V4SF, P10V_BUILTIN_VXXSPLTID,
+       P10V_BUILTIN_VXXSPLTI32DX_V4SI, P10V_BUILTIN_VXXSPLTI32DX_V4SF,
+       P10V_BUILTIN_VXXBLEND_V16QI, P10V_BUILTIN_VXXBLEND_V8HI,
+       P10V_BUILTIN_VXXBLEND_V4SI, P10V_BUILTIN_VXXBLEND_V2DI,
+       P10V_BUILTIN_VXXBLEND_V4SF, P10V_BUILTIN_VXXBLEND_V2DF,
+       P10V_BUILTIN_VSRDB_V16QI, P10V_BUILTIN_VSRDB_V8HI,
+       P10V_BUILTIN_VSRDB_V4SI, P10V_BUILTIN_VSRDB_V2DI,
+       P10V_BUILTIN_VSTRIBL, P10V_BUILTIN_VSTRIHL,
+       P10V_BUILTIN_VSTRIBL_P, P10V_BUILTIN_VSTRIHL_P,
+       P10V_BUILTIN_VSTRIBR, P10V_BUILTIN_VSTRIHR,
+       P10V_BUILTIN_VSTRIBR_P, P10V_BUILTIN_VSTRIHR_P,
+       P10V_BUILTIN_MTVSRBM, P10V_BUILTIN_MTVSRHM,
+       P10V_BUILTIN_MTVSRWM, P10V_BUILTIN_MTVSRDM,
+       P10V_BUILTIN_MTVSRQM, P10V_BUILTIN_VCNTMBB,
+       P10V_BUILTIN_VCNTMBH, P10V_BUILTIN_VCNTMBW,
+       P10V_BUILTIN_VCNTMBD, P10V_BUILTIN_VEXPANDMB,
+       P10V_BUILTIN_VEXPANDMH, P10V_BUILTIN_VEXPANDMW,
+       P10V_BUILTIN_VEXPANDMD, P10V_BUILTIN_VEXPANDMQ,
+       P10V_BUILTIN_VEXTRACTMB, P10V_BUILTIN_VEXTRACTMH,
+       P10V_BUILTIN_VEXTRACTMW, P10V_BUILTIN_VEXTRACTMD,
+       P10V_BUILTIN_VEXTRACTMQ, P10V_BUILTIN_XVTLSBB_ZEROS,
+       P10V_BUILTIN_XVTLSBB_ONES respectively.
+       * config/rs6000/rs6000-call.c: Ditto above, change P10_BUILTIN_name to
+       P10V_BUILTIN_name.
+       (P10_BUILTIN_XVCVSPBF16, P10_BUILTIN_XVCVBF16SP): Change to
+       P10V_BUILTIN_XVCVSPBF16, P10V_BUILTIN_XVCVBF16SP respectively.
+
+2020-08-19  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
+       Sibcalls are always legal when the caller doesn't preserve r2.
+
+2020-08-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_builtin)
+       [case IX86_BUILTIN_ENQCMD, case IX86_BUILTIN_ENQCMDS]:
+       Rewrite expansion to use code_for_enqcmd.
+       [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]:
+       Rewrite expansion to use code_for_wrss.
+       [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+       Rewrite expansion to use code_for_wrss.
+
+2020-08-19  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * match.pd ((PTR_A + OFF) - (PTR_B + OFF)) -> (PTR_A - PTR_B): New
+       simplification.
+
+2020-08-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Detect Rocket
+       Lake and Alder Lake.
+
+2020-08-19  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_init_cumulative_args): Remove
+       "fndecl && TREE_PUBLIC (fndecl)" check since it prevents the funtion
+       type check when calling via a function pointer or when calling a static
+       function.
+
+2020-08-19  Kewen Lin  <linkw@linux.ibm.com>
+
+       * opts-global.c (decode_options): Call target_option_override_hook
+       before it prints for --help=*.
+
+2020-08-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_VSX_1): Rename xvcvbf16sp to
+       xvcvbf16spn.
+       * config/rs6000/rs6000-call.c (builtin_function_type): Likewise.
+       * config/rs6000/vsx.md: Likewise.
+       * doc/extend.texi: Likewise.
+
+2020-08-18  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000-string.c (gen_lxvl_stxvl_move):
+       Helper function.
+       (expand_block_move): Add lxvl/stxvl, vector pair, and
+       unaligned VSX.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Default value for -mblock-ops-vector-pair.
+       * config/rs6000/rs6000.opt: Add -mblock-ops-vector-pair.
+
+2020-08-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (check_for_binary_op_overflow): Change type of store
+       to range_query.
+       (vr_values::adjust_range_with_scev): Abstract most of the code...
+       (range_of_var_in_loop): ...here.  Remove value_range_equiv uses.
+       (simplify_using_ranges::simplify_using_ranges): Change type of store
+       to range_query.
+       * vr-values.h (class range_query): New.
+       (class simplify_using_ranges): Use range_query.
+       (class vr_values): Add OVERRIDE to get_value_range.
+       (range_of_var_in_loop): New.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96665
+       PR middle-end/78257
+       * expr.c (convert_to_bytes): Replace statically allocated buffer with
+       a dynamically allocated one of sufficient size.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/96670
+       PR middle-end/78257
+       * gimple-fold.c (gimple_fold_builtin_memchr): Call byte_representation
+       to get it, not string_constant.
+
+2020-08-18  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       * doc/gimple.texi (gimple_debug_begin_stmt_p): Add return type.
+       (gimple_debug_inline_entry_p, gimple_debug_nonbind_marker_p): Likewise.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       * fold-const.c (native_encode_expr): Update comment.
+
+2020-08-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96536
+       * config/i386/i386.md (restore_stack_nonlocal): Add missing compare
+       RTX.  Rewrite expander to use high-level functions in RTL construction.
+
+2020-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96562
+       PR target/93897
+       * config/i386/i386-expand.c (ix86_expand_pinsr): Don't use
+       pinsr for TImode.
+       (ix86_expand_pextr): Don't use pextr for TImode.
+
+2020-08-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (__builtin_ia32_bextri_u32)
+       (__builtin_ia32_bextri_u64): Use CODE_FOR_nothing.
+       * config/i386/i386.md (@tbm_bextri_<mode>):
+       Implement as parametrized name pattern.
+       (@rdrand<mode>): Ditto.
+       (@rdseed<mode>): Ditto.
+       * config/i386/i386-expand.c (ix86_expand_builtin)
+       [case IX86_BUILTIN_BEXTRI32, case IX86_BUILTIN_BEXTRI64]:
+       Update for parameterized name patterns.
+       [case IX86_BUILTIN_RDRAND16_STEP, case IX86_BUILTIN_RDRAND32_STEP]
+       [case IX86_BUILTIN_RDRAND64_STEP]: Ditto.
+       [case IX86_BUILTIN_RDSEED16_STEP, case IX86_BUILTIN_RDSEED32_STEP]
+       [case IX86_BUILTIN_RDSEED64_STEP]: Ditto.
+
+2020-08-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (vr_values::get_value_range): Add stmt param.
+       (vr_values::extract_range_from_comparison): Same.
+       (vr_values::extract_range_from_assignment): Pass stmt to
+       extract_range_from_comparison.
+       (vr_values::adjust_range_with_scev): Pass stmt to get_value_range.
+       (simplify_using_ranges::vrp_evaluate_conditional): Add stmt param.
+       Pass stmt to get_value_range.
+       (simplify_using_ranges::vrp_visit_cond_stmt): Pass stmt to
+       get_value_range.
+       (simplify_using_ranges::simplify_abs_using_ranges): Same.
+       (simplify_using_ranges::simplify_div_or_mod_using_ranges): Same.
+       (simplify_using_ranges::simplify_bit_ops_using_ranges): Same.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Same.
+       (simplify_using_ranges::simplify_switch_using_ranges): Same.
+       (simplify_using_ranges::simplify_float_conversion_using_ranges): Same.
+       * vr-values.h (class vr_values): Add stmt arg to
+       vrp_evaluate_conditional_warnv_with_ops.
+       Add stmt arg to extract_range_from_comparison and get_value_range.
+       (simplify_using_ranges::get_value_range): Add stmt arg.
+
+2020-08-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96350
+       * config/i386/i386.c (ix86_legitimate_constant_p): Return
+       false for ENDBR immediate.
+       (ix86_legitimate_address_p): Ditto.
+       * config/i386/predicates.md
+       (x86_64_immediate_operand): Exclude ENDBR immediate.
+       (x86_64_zext_immediate_operand): Ditto.
+       (x86_64_dwzext_immediate_operand): Ditto.
+       (ix86_endbr_immediate_operand): New predicate.
+
+2020-08-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]:
+       Simplify (sign_extend:M (truncate:N (lshiftrt:M x C))) to
+       (ashiftrt:M x C) when the shift sets the high bits appropriately.
+
+2020-08-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/78257
+       * builtins.c (expand_builtin_memory_copy_args): Rename called function.
+       (expand_builtin_stpcpy_1): Remove argument from call.
+       (expand_builtin_memcmp): Rename called function.
+       (inline_expand_builtin_bytecmp): Same.
+       * expr.c (convert_to_bytes): New function.
+       (constant_byte_string): New function (formerly string_constant).
+       (string_constant): Call constant_byte_string.
+       (byte_representation): New function.
+       * expr.h (byte_representation): Declare.
+       * fold-const-call.c (fold_const_call): Rename called function.
+       * fold-const.c (c_getstr): Remove an argument.
+       (getbyterep): Define a new function.
+       * fold-const.h (c_getstr): Remove an argument.
+       (getbyterep): Declare a new function.
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Rename callee.
+       (gimple_fold_builtin_string_compare): Same.
+       (gimple_fold_builtin_memchr): Same.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Overview): Add tip about how to get a
+       gimple dump if the analyzer ICEs.
+
+2020-08-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (__builtin_ia32_llwpcb)
+       (__builtin_ia32_slwpcb, __builtin_ia32_lwpval32)
+       (__builtin_ia32_lwpval64, __builtin_ia32_lwpins32)
+       (__builtin_ia32_lwpins64): Use CODE_FOR_nothing.
+       * config/i386/i386.md (@lwp_llwpcb<mode>):
+       Implement as parametrized name pattern.
+       (@lwp_slwpcb<mode>): Ditto.
+       (@lwp_lwpval<mode>): Ditto.
+       (@lwp_lwpins<mode>): Ditto.
+       * config/i386/i386-expand.c (ix86_expand_special_args_builtin)
+       [case VOID_FTYPE_UINT_UINT_UINT, case VOID_FTYPE_UINT64_UINT_UINT]
+       [case UCHAR_FTYPE_UINT_UINT_UINT, case UCHAR_FTYPE_UINT64_UINT_UINT]:
+       Remove.
+       (ix86_expand_builtin)
+       [ case IX86_BUILTIN_LLWPCB, case IX86_BUILTIN_LLWPCB]:
+       Update for parameterized name patterns.
+       [case IX86_BUILTIN_LWPVAL32, case IX86_BUILTIN_LWPVAL64]
+       [case IX86_BUILTIN_LWPINS32, case IX86_BUILTIN_LWPINS64]: Expand here.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * common.opt: Add new option -fdiagnostics-plain-output.
+       * doc/invoke.texi: Document it.
+       * opts-common.c (decode_cmdline_options_to_array): Implement it.
+       (decode_cmdline_option): Add missing const qualifier to argv.
+
+2020-08-14  Jakub Jelinek  <jakub@redhat.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+           Jonathan Wakely   <jwakely@redhat.com>
+
+       * system.h: Include type_traits.
+       * vec.h (vec<T, A, vl_embed>::embedded_size): Use offsetof and asserts
+       on vec_stdlayout, which is conditionally a vec (for standard layout T)
+       and otherwise vec_embedded.
+
+2020-08-14  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky-elf.h (ASM_SPEC): Use mfloat-abi.
+       * config/csky/csky-linux-elf.h (ASM_SPEC): mfloat-abi.
+
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       PR analyzer/93938
+       PR analyzer/94011
+       PR analyzer/94099
+       PR analyzer/94399
+       PR analyzer/94458
+       PR analyzer/94503
+       PR analyzer/94640
+       PR analyzer/94688
+       PR analyzer/94689
+       PR analyzer/94839
+       PR analyzer/95026
+       PR analyzer/95042
+       PR analyzer/95240
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/region.o,
+       analyzer/region-model-impl-calls.o,
+       analyzer/region-model-manager.o,
+       analyzer/region-model-reachability.o, analyzer/store.o, and
+       analyzer/svalue.o.
+       * doc/analyzer.texi: Update for changes to analyzer
+       implementation.
+       * tristate.h (tristate::get_value): New accessor.
+
+2020-08-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (CET_NORMAL): Merge to CET BDESC array.
+       (__builtin_ia32_rddspd, __builtin_ia32_rddspq, __builtin_ia32_incsspd)
+       (__builtin_ia32_incsspq, __builtin_ia32_wrssd, __builtin_ia32_wrssq)
+       (__builtin_ia32_wrussd, __builtin_ia32_wrussq): Use CODE_FOR_nothing.
+       * config/i386/i386-builtins.c: Remove handling of CET_NORMAL builtins.
+       * config/i386/i386.md (@rdssp<mode>): Implement as parametrized
+       name pattern.  Use SWI48 mode iterator.  Introduce input operand
+       and remove explicit XOR zeroing from insn template.
+       (@incssp<mode>): Implement as parametrized name pattern.
+       Use SWI48 mode iterator.
+       (@wrss<mode>): Ditto.
+       (@wruss<mode>): Ditto.
+       (rstorssp): Remove expander.  Rename insn pattern from *rstorssp<mode>.
+       Use DImode memory operand.
+       (clrssbsy): Remove expander.  Rename insn pattern from *clrssbsy<mode>.
+       Use DImode memory operand.
+       (save_stack_nonlocal): Update for parametrized name patterns.
+       Use cleared register as an argument to gen_rddsp.
+       (restore_stack_nonlocal): Update for parametrized name patterns.
+       * config/i386/i386-expand.c (ix86_expand_builtin):
+       [case IX86_BUILTIN_RDSSPD, case IX86_BUILTIN_RDSSPQ]: Expand here.
+       [case IX86_BUILTIN_INCSSPD, case IX86_BUILTIN_INCSSPQ]: Ditto.
+       [case IX86_BUILTIN_RSTORSSP, case IX86_BUILTIN_CLRSSBSY]:
+       Generate DImode memory operand.
+       [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]
+       [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+       Update for parameterized name patterns.
+
+2020-08-13  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96506
+       * config/rs6000/rs6000-call.c (rs6000_promote_function_mode): Disallow
+       MMA types as return values.
+       (rs6000_function_arg): Disallow MMA types as function arguments.
+
+2020-08-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       Revert:
+       2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_value): Add if
+       condition to check ag_mode after entering if condition of
+       aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+       set as false by -mgeneral-regs-only, report the diagnostic
+       information of -mgeneral-regs-only imcompatible with the use
+       of fp/simd register(s).
+
+2020-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value
+       with m_mask.
+
+2020-08-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_taskloop_expr): New function.
+       (gimplify_omp_for): Use it.  For OMP_FOR_NON_RECTANGULAR
+       loops adjust in outer taskloop the var-outer decls.
+       * omp-expand.c (expand_omp_taskloop_for_inner): Handle non-rectangular
+       loops.
+       (expand_omp_for): Don't reject non-rectangular taskloop.
+       * omp-general.c (omp_extract_for_data): Don't assert that
+       non-rectangular loops have static schedule, instead treat loop->m1
+       or loop->m2 as if loop->n1 or loop->n2 is non-constant.
+
+2020-08-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96246
+       * config/i386/sse.md (<avx512>_load<mode>_mask,
+       <avx512>_load<mode>_mask): Extend to generate blendm
+       instructions.
+       (<avx512>_blendm<mode>, <avx512>_blendm<mode>): Change
+       define_insn to define_expand.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96558
+       * config/i386/i386.md (peephole2): Only reorder register clearing
+       instructions to allow use of xor for general registers.
+
+2020-08-12  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits
+       for bits that are unknown.
+       (ipcp_bits_lattice::set_to_constant): Likewise.
+       * tree-ssa-ccp.c (get_default_value): Add sanity check that
+       IPA CP bit info has all bits set to zero in bits that
+       are unknown.
+
+2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_value): Add if
+       condition to check ag_mode after entering if condition of
+       aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+       set as false by -mgeneral-regs-only, report the diagnostic
+       information of -mgeneral-regs-only imcompatible with the use
+       of fp/simd register(s).
+
+2020-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96535
+       * toplev.c (process_options): Move flag_unroll_loops and
+       flag_cunroll_grow_size handling from here to ...
+       * opts.c (finish_options): ... here.  For flag_cunroll_grow_size,
+       don't check for AUTODETECT_VALUE, but instead check
+       opts_set->x_flag_cunroll_grow_size.
+       * common.opt (funroll-completely-grow-size): Default to 0.
+       * config/rs6000/rs6000.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
+       Redefine.
+       (rs6000_override_options_after_change): New function.
+       (rs6000_option_override_internal): Call it.  Move there the
+       flag_cunroll_grow_size, unroll_only_small_loops and
+       flag_rename_registers handling.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Make elt_size an
+       unsigned HOST_WIDE_INT.  Print init_frag.remaining using
+       HOST_WIDE_INT_PRINT_UNSIGNED.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (peephole2): Reduce unnecessary
+       register shuffling produced by register allocation.
+
+2020-08-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use vec<>
+       instead of std::vector<>.
+       (evaluate_properties_for_edge): Same.
+       (ipa_fn_summary_t::duplicate): Same.
+       (estimate_ipcp_clone_size_and_time): Same.
+       * vec.h (<T, A, vl_embed>::embedded_size): Change vec_embedded
+       type to contain a char[].
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96308
+       * config/s390/s390.c (s390_cannot_force_const_mem): Reject an
+       unary minus for everything not being a numeric constant.
+       (legitimize_tls_address): Move a NEG out of the CONST rtx.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96456
+       * config/s390/s390.h (TARGET_NONSIGNALING_VECTOR_COMPARE_OK): New
+       macro.
+       * config/s390/vector.md (vcond_comparison_operator): Use new macro
+       for the check.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/96539
+       * expr.c (emit_block_move_hints): Don't copy anything if x and y
+       are the same and neither is MEM_VOLATILE_P.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/96549
+       * tree.c (get_narrower): Use TREE_TYPE (ret) instead of
+       TREE_TYPE (win) for COMPOUND_EXPRs.
+
+2020-08-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * predict.c (not_loop_guard_equal_edge_p): New function.
+       (maybe_predict_edge): New function.
+       (predict_paths_for_bb): Use it.
+       (predict_paths_leading_to_edge): Use it.
+
+2020-08-11  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits.
+       * ipa-cp.c (ipcp_store_bits_results): Use it when we store known
+       bits for parameters.
+
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+       * doc/sourcebuild.texi: Document dg-ice.
+
+2020-08-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386-expand.c (ix86_expand_int_movcc): Expand
+       signed MIN_EXPR against zero as "x < 0 ? x : 0" instead of
+       "x <= 0 ? x : 0" to enable sign_bit_compare_p optimizations.
+
+2020-08-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (gt_ggc_mx): Declare inline.
+       (gt_pch_nx): Same.
+
+2020-08-10  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * match.pd (X * C1 == C2): Handle wrapping overflow.
+       * expr.c (maybe_optimize_mod_cmp): Qualify call to mod_inv.
+       (mod_inv): Move...
+       * wide-int.cc (mod_inv): ... here.
+       * wide-int.h (mod_inv): Declare it.
+
+2020-08-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       * predict.c (filter_predictions): Document semantics of filter.
+       (equal_edge_p): Rename to ...
+       (not_equal_edge_p): ... this; reverse semantics.
+       (remove_predictions_associated_with_edge): Fix.
+
+2020-08-10  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96243
+       * config/i386/i386-expand.c (ix86_expand_sse_cmp): Refine for
+       maskcmp.
+       (ix86_expand_mask_vec_cmp): Change prototype.
+       * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): Change prototype.
+       * config/i386/i386.c (ix86_print_operand): Remove operand
+       modifier 'I'.
+       * config/i386/sse.md
+       (*<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Deleted.
+       (*<avx512>_cmp<mode>3<mask_scalar_merge_name>): Ditto.
+       (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
+       (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+       avx512f_maskcmp<mode>3): Ditto.
+
+2020-08-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * expmed.c (init_expmed_one_conv): Restore all->reg's mode.
+       (init_expmed_one_mode): Set all->reg to desired mode.
+
+2020-08-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96530
+       * config/rs6000/rs6000.c (rs6000_invalid_conversion): Use canonical
+       types for type comparisons.  Refactor code to simplify it.
+
+2020-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/93553
+       * tree-nested.c (convert_nonlocal_omp_clauses): For
+       OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR
+       save info->new_local_var_chain around walks of the clause gimple
+       sequences and declare_vars if needed into the sequence.
+
+2020-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96424
+       * omp-expand.c: Include tree-eh.h.
+       (expand_omp_for_init_vars): Handle -fexceptions -fnon-call-exceptions
+       by forcing floating point comparison into a bool temporary.
+
+2020-08-07  Marc Glisse  <marc.glisse@inria.fr>
+
+       * generic-match-head.c (optimize_vectors_before_lowering_p): New
+       function.
+       * gimple-match-head.c (optimize_vectors_before_lowering_p):
+       Likewise.
+       * match.pd ((v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Use it.
+
+2020-08-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96514
+       * tree-if-conv.c (if_convertible_bb_p): If the last stmt
+       is a call that is control-altering, fail.
+
+2020-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.md: Remove trailing whitespaces.
+       * config/bpf/constraints.md: Likewise.
+       * config/bpf/predicates.md: Likewise.
+
+2020-08-07  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (bswaphi2_reg): Add ISA 3.1 support.
+       (bswapsi2_reg): Add ISA 3.1 support.
+       (bswapdi2): Rename bswapdi2_xxbrd to bswapdi2_brd.
+       (bswapdi2_brd,bswapdi2_xxbrd): Rename.  Add ISA 3.1 support.
+
+2020-08-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/96493
+       * config/rs6000/predicates.md (current_file_function_operand): Don't
+       accept functions that differ in r2 usage.
+
+2020-08-06  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md (MM): New mode_iterator.
+       ("mov<mode>"): New expander to expand for all MM-modes.
+       ("*movqi_expanded", "*movhi_expanded", "*movsi_expanded")
+       ("*movsf_expanded", "*movdf_expanded"): Rename from the
+       corresponding mov<M> named pattern.  Add to the condition that
+       either operand must be a register_operand.
+       ("*movdi_expanded"): Similar, but also allow STCO in the condition.
+
+2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96191
+       * config/arm/arm.md (arm_stack_protect_test_insn): Zero out
+       operand 2 after use.
+       * config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
+
+2020-08-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96446
+       * config/rs6000/mma.md (*movpxi): Add xxsetaccz generation.
+       Disable split for zero constant source operand.
+       (mma_xxsetaccz): Change to define_expand.  Call gen_movpxi.
+
+2020-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96480
+       * tree-ssa-reassoc.c (suitable_cond_bb): Add TEST_SWAPPED_P argument.
+       If TEST_BB ends in cond and has one edge to *OTHER_BB and another
+       through an empty bb to that block too, if PHI args don't match, retry
+       them through the other path from TEST_BB.
+       (maybe_optimize_range_tests): Adjust callers.  Handle such LAST_BB
+       through inversion of the condition.
+
+2020-08-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf-helpers.h (KERNEL_HELPER): Define.
+       (KERNEL_VERSION): Remove.
+       * config/bpf/bpf-helpers.def: Delete.
+       * config/bpf/bpf.c (bpf_handle_fndecl_attribute): New function.
+       (bpf_attribute_table): Define.
+       (bpf_helper_names): Delete.
+       (bpf_helper_code): Likewise.
+       (enum bpf_builtins): Adjust to new helpers mechanism.
+       (bpf_output_call): Likewise.
+       (bpf_init_builtins): Likewise.
+       (bpf_init_builtins): Likewise.
+       * doc/extend.texi (BPF Function Attributes): New section.
+       (BPF Kernel Helpers): Delete section.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96491
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Avoid
+       sinking across abnormal edges.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96483
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
+       POLY_INT_CST.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       * graphite-isl-ast-to-gimple.c (ivs_params): Use hash_map instead
+       of std::map.
+       (ivs_params_clear): Adjust.
+       (gcc_expression_from_isl_ast_expr_id): Likewise.
+       (graphite_create_new_loop): Likewise.
+       (add_parameters_to_ivs_params): Likewise.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (MAXMIN_IMODE): No longer needed.
+       (<maxmin><mode>3):  Support SWI248 and general_operand for
+       second operand, when TARGET_CMOVE.
+       (<maxmin><mode>3_1 splitter): Optimize comparisons against
+       0, 1 and -1 to use "test" instead of "cmp".
+       (*<maxmin>di3_doubleword): Likewise, allow general_operand
+       and enable on TARGET_CMOVE.
+       (peephole2): Convert clearing a register after a flag setting
+       instruction into an xor followed by the original flag setter.
+
+2020-08-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * ipa-fnsummary.c (INCLUDE_VECTOR): Define.
+       Remove direct inclusion of <vector>.
+
+2020-08-06  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_adjust_vect_cost_per_loop): New
+       function.
+       (rs6000_finish_cost): Call rs6000_adjust_vect_cost_per_loop.
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Add cost
+       modeling for vector with length.
+       (vect_rgroup_iv_might_wrap_p): New function, factored out from...
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): ...this.
+       Update function comment.
+       * tree-vect-stmts.c (vect_gen_len): Update function comment.
+       * tree-vectorizer.h (vect_rgroup_iv_might_wrap_p): New declare.
+
+2020-08-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops
+       for dbgcnt check.
+
+2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95906
+       PR target/70314
+       * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
+       (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): New transformations.
+       (op (c ? a : b)): Update to match the new transformations.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96191
+       * config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the
+       CC register directly, instead of a GPR.  Replace the original GPR
+       destination with an extra scratch register.  Zero out operand 3
+       after use.
+       (stack_protect_test): Update accordingly.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (load_pair_sw_<SX:mode><SX2:mode>)
+       (load_pair_dw_<DX:mode><DX2:mode>, load_pair_dw_tftf)
+       (store_pair_sw_<SX:mode><SX2:mode>)
+       (store_pair_dw_<DX:mode><DX2:mode>, store_pair_dw_tftf)
+       (*load_pair_extendsidi2_aarch64)
+       (*load_pair_zero_extendsidi2_aarch64): Use %z for the memory operand.
+       * config/aarch64/aarch64-simd.md (load_pair<DREG:mode><DREG2:mode>)
+       (vec_store_pair<DREG:mode><DREG2:mode>, load_pair<VQ:mode><VQ2:mode>)
+       (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (invariantness_dom_walker): Remove.
+       (invariantness_dom_walker::before_dom_children): Move to ...
+       (compute_invariantness): ... this function.
+       (move_computations): Inline ...
+       (tree_ssa_lim): ... here, share RPO order and avoid some
+       cfun references.
+       (analyze_memory_references): Remove sorting of location
+       lists, instead assert they are sorted already when checking.
+       (prev_flag_edges): Remove.
+       (execute_sm_if_changed): Pass down and adjust prev edge state.
+       (execute_sm_exit): Likewise.
+       (hoist_memory_references): Likewise.  Commit edge insertions
+       of each processed exit.
+       (store_motion_loop): Do not commit edge insertions on all
+       edges in the function.
+       (tree_ssa_lim_initialize): Do not call alloc_aux_for_edges.
+       (tree_ssa_lim_finalize): Do not call free_aux_for_edges.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (fail_label): New global.
+       (expr::gen_transform): Branch to fail_label instead of
+       returning.  Fix indent of call argument checking.
+       (dt_simplify::gen_1): Compute and emit fail_label, branch
+       to it instead of returning early.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for): Don't disallow combined non-rectangular
+       loops.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96459
+       * omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in
+       for host teams.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for_init_counts): Remember
+       first_inner_iterations, factor and n1o from the number of iterations
+       computation in *fd.
+       (expand_omp_for_init_vars): Use more efficient logical iteration number
+       to actual iterator values computation even for non-rectangular loops
+       where number of loop iterations could not be computed at compile time.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_blendv, vec_permx): Add define.
+       * config/rs6000/altivec.md (UNSPEC_XXBLEND, UNSPEC_XXPERMX.): New
+       unspecs.
+       (VM3): New define_mode.
+       (VM3_char): New define_attr.
+       (xxblend_<mode> mode VM3): New define_insn.
+       (xxpermx): New define_expand.
+       (xxpermx_inst): New define_insn.
+       * config/rs6000/rs6000-builtin.def (VXXBLEND_V16QI, VXXBLEND_V8HI,
+       VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): New
+       BU_P10V_3 definitions.
+       (XXBLEND): New BU_P10_OVERLOAD_3 definition.
+       (XXPERMX): New BU_P10_OVERLOAD_4 definition.
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       (P10_BUILTIN_VXXPERMX): Add if statement.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VXXBLEND_V16QI,
+       P10_BUILTIN_VXXBLEND_V8HI, P10_BUILTIN_VXXBLEND_V4SI,
+       P10_BUILTIN_VXXBLEND_V2DI, P10_BUILTIN_VXXBLEND_V4SF,
+       P10_BUILTIN_VXXBLEND_V2DF, P10_BUILTIN_VXXPERMX): Define
+       overloaded arguments.
+       (rs6000_expand_quaternop_builtin): Add if case for CODE_FOR_xxpermx.
+       (builtin_quaternary_function_type): Add v16uqi_type and xxpermx_type
+       variables, add case statement for P10_BUILTIN_VXXPERMX.
+       (builtin_function_type): Add case statements for
+       P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+       P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI.
+       * doc/extend.texi: Add documentation for vec_blendv and vec_permx.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_splati, vec_splatid, vec_splati_ins):
+       Add defines.
+       * config/rs6000/altivec.md (UNSPEC_XXSPLTIW, UNSPEC_XXSPLTID,
+       UNSPEC_XXSPLTI32DX): New.
+       (vxxspltiw_v4si, vxxspltiw_v4sf_inst, vxxspltidp_v2df_inst,
+       vxxsplti32dx_v4si_inst, vxxsplti32dx_v4sf_inst): New define_insn.
+       (vxxspltiw_v4sf, vxxspltidp_v2df, vxxsplti32dx_v4si,
+       vxxsplti32dx_v4sf.): New define_expands.
+       * config/rs6000/predicates.md (u1bit_cint_operand,
+       s32bit_cint_operand, c32bit_cint_operand): New predicates.
+       * config/rs6000/rs6000-builtin.def (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF,
+       VXXSPLTID): New definitions.
+       (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF): New BU_P10V_3
+       definitions.
+       (XXSPLTIW, XXSPLTID): New definitions.
+       (XXSPLTI32DX): Add definitions.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XXSPLTIW,
+       P10_BUILTIN_VEC_XXSPLTID, P10_BUILTIN_VEC_XXSPLTI32DX):
+       New definitions.
+       * config/rs6000/rs6000-protos.h (rs6000_constF32toI32): New extern
+       declaration.
+       * config/rs6000/rs6000.c (rs6000_constF32toI32): New function.
+       * doc/extend.texi: Add documentation for vec_splati,
+       vec_splatid, and vec_splati_ins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_sldb, vec_srdb): New defines.
+       * config/rs6000/altivec.md (UNSPEC_SLDB, UNSPEC_SRDB): New.
+       (SLDB_lr): New attribute.
+       (VSHIFT_DBL_LR): New iterator.
+       (vs<SLDB_lr>db_<mode>): New define_insn.
+       * config/rs6000/rs6000-builtin.def (VSLDB_V16QI, VSLDB_V8HI,
+       VSLDB_V4SI, VSLDB_V2DI, VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI,
+       VSRDB_V2DI): New BU_P10V_3 definitions.
+       (SLDB, SRDB): New BU_P10_OVERLOAD_3 definitions.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_SLDB,
+       P10_BUILTIN_VEC_SRDB): New definitions.
+       (rs6000_expand_ternop_builtin) [CODE_FOR_vsldb_v16qi,
+       CODE_FOR_vsldb_v8hi, CODE_FOR_vsldb_v4si, CODE_FOR_vsldb_v2di,
+       CODE_FOR_vsrdb_v16qi, CODE_FOR_vsrdb_v8hi, CODE_FOR_vsrdb_v4si,
+       CODE_FOR_vsrdb_v2di]: Add clauses.
+       * doc/extend.texi: Add description for vec_sldb and vec_srdb.
+
+2020-08-05  2020-08-04 Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h: Add define for vec_replace_elt and
+       vec_replace_unaligned.
+       * config/rs6000/vsx.md (UNSPEC_REPLACE_ELT, UNSPEC_REPLACE_UN): New
+       unspecs.
+       (REPLACE_ELT): New mode iterator.
+       (REPLACE_ELT_char, REPLACE_ELT_sh, REPLACE_ELT_max): New mode attributes.
+       (vreplace_un_<mode>, vreplace_elt_<mode>_inst): New.
+       * config/rs6000/rs6000-builtin.def (VREPLACE_ELT_V4SI,
+       VREPLACE_ELT_UV4SI, VREPLACE_ELT_V4SF, VREPLACE_ELT_UV2DI,
+       VREPLACE_ELT_V2DF, VREPLACE_UN_V4SI, VREPLACE_UN_UV4SI,
+       VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+       VREPLACE_UN_V2DF, (REPLACE_ELT, REPLACE_UN, VREPLACE_ELT_V2DI): New builtin
+       entries.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_REPLACE_ELT,
+       P10_BUILTIN_VEC_REPLACE_UN): New builtin argument definitions.
+       (rs6000_expand_quaternop_builtin): Add 3rd argument checks for
+       CODE_FOR_vreplace_elt_v4si, CODE_FOR_vreplace_elt_v4sf,
+       CODE_FOR_vreplace_un_v4si, CODE_FOR_vreplace_un_v4sf.
+       (builtin_function_type) [P10_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10_BUILTIN_VREPLACE_ELT_UV2DI, P10_BUILTIN_VREPLACE_UN_UV4SI,
+       P10_BUILTIN_VREPLACE_UN_UV2DI]: New cases.
+       * doc/extend.texi: Add description for vec_replace_elt and
+       vec_replace_unaligned builtins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_insertl, vec_inserth): New defines.
+       * config/rs6000/rs6000-builtin.def (VINSERTGPRBL, VINSERTGPRHL,
+       VINSERTGPRWL, VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL,
+       VINSERTGPRBR, VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR,
+       VINSERTVPRHR, VINSERTVPRWR): New builtins.
+       (INSERTL, INSERTH): New builtins.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_INSERTL,
+       P10_BUILTIN_VEC_INSERTH): New overloaded definitions.
+       (P10_BUILTIN_VINSERTGPRBL, P10_BUILTIN_VINSERTGPRHL,
+       P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+       P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+       P10_BUILTIN_VINSERTVPRWL): Add case entries.
+       * config/rs6000/vsx.md (define_c_enum): Add UNSPEC_INSERTL,
+       UNSPEC_INSERTR.
+       (define_expand): Add vinsertvl_<mode>, vinsertvr_<mode>,
+       vinsertgl_<mode>, vinsertgr_<mode>, mode is VI2.
+       (define_ins): vinsertvl_internal_<mode>, vinsertvr_internal_<mode>,
+       vinsertgl_internal_<mode>, vinsertgr_internal_<mode>, mode VEC_I.
+       * doc/extend.texi: Add documentation for vec_insertl, vec_inserth.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+       (vextractl<mode>, vextractr<mode>)
+       (vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+       (VI2): Move to ...
+       * config/rs6000/vsx.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+       (vextractl<mode>, vextractr<mode>)
+       (vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+       (VI2):  ..here.
+       * doc/extend.texi: Update documentation for vec_extractl.
+       Replace builtin name vec_extractr with vec_extracth.  Update
+       description of vec_extracth.
+
+2020-08-04  Jim Wilson  <jimw@sifive.com>
+
+       * doc/invoke.texi (AArch64 Options): Delete duplicate
+       -mstack-protector-guard docs.
+
+2020-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (smulhi3_highpart, smulsi3_highpart)
+       (umulhi3_highpart, umulsi3_highpart): New instructions.
+
+2020-08-04  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-run.c (R_AMDGPU_NONE): Delete.
+       (R_AMDGPU_ABS32_LO): Delete.
+       (R_AMDGPU_ABS32_HI): Delete.
+       (R_AMDGPU_ABS64): Delete.
+       (R_AMDGPU_REL32): Delete.
+       (R_AMDGPU_REL64): Delete.
+       (R_AMDGPU_ABS32): Delete.
+       (R_AMDGPU_GOTPCREL): Delete.
+       (R_AMDGPU_GOTPCREL32_LO): Delete.
+       (R_AMDGPU_GOTPCREL32_HI): Delete.
+       (R_AMDGPU_REL32_LO): Delete.
+       (R_AMDGPU_REL32_HI): Delete.
+       (reserved): Delete.
+       (R_AMDGPU_RELATIVE64): Delete.
+
+2020-08-04  Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/arm-cpus.in (armv8.1-m.main): Tune for Cortex-M55.
+
+2020-08-04  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Delete
+       redundant extra_cost variable.
+
+2020-08-04  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_call_properties):
+       Use FLOAT_MODE_P macro instead of enumerating all floating-point
+       modes and add global flag FLAG_AUTO_FP.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/extend.texi (symver): Add @cindex for symver function attribute.
+
+2020-08-04  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * match.pd (X * C1 == C2): New transformation.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-sprintf.c (get_int_range): Adjust for irange API.
+       (format_integer): Same.
+       (handle_printf_call): Same.
+
+2020-08-04  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md ("<expander>ti3"): New.
+
+2020-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/88240
+       * tree-ssa-sccvn.h (vn_reference_s::punned): New flag.
+       * tree-ssa-sccvn.c (vn_reference_insert): Initialize punned.
+       (vn_reference_insert_pieces): Likewise.
+       (visit_reference_op_call): Likewise.
+       (visit_reference_op_load): Track whether a ref was punned.
+       * tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist
+       insertion on punned floating point loads.
+
+2020-08-04  Sudakshina Das  <sudi.das@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_gen_store_pair): Add case
+       for E_V4SImode.
+       (aarch64_gen_load_pair): Likewise.
+       (aarch64_copy_one_block_and_progress_pointers): Handle 256 bit copy.
+       (aarch64_expand_cpymem): Expand copy_limit to 256bits where
+       appropriate.
+
+2020-08-04  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64.md (aarch64_fjcvtzs): Add missing
+       clobber.
+       * doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new
+       target supports option.
+
+2020-08-04  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96428
+       * config/nvptx/nvptx.c (nvptx_gen_shuffle): Handle V2SI/V2DI.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96426
+       * tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT
+       call with GIMPLE_NOP if there is no lhs.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/96354
+       * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Add IS_DEBUG
+       argument.  Return false instead of gcc_unreachable if it is true and
+       get_addr_base_and_unit_offset returns NULL.
+       (fold_stmt_1) <case GIMPLE_DEBUG>: Adjust caller.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional):
+       Call is_gimple_min_invariant dropped from previous patch.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for_init_counts): For triangular loops
+       compute number of iterations at runtime more efficiently.
+       (expand_omp_for_init_vars): Adjust immediate dominators.
+       (extract_omp_for_update_vars): Likewise.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::two_valued_val_range_p):
+       Use irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_conversion_using_ranges): Convert to irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (test_for_singularity): Use irange API.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Do not
+       special case VR_RANGE.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): Adjust
+       for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::op_with_boolean_value_range_p): Adjust
+       for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssanames.c (get_range_info): Use irange instead of value_range.
+       * tree-ssanames.h (get_range_info): Same.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * fold-const.c (expr_not_equal_to): Adjust for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * builtins.c (determine_block_size): Remove ad-hoc range canonicalization.
+
+2020-08-04  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/71309
+       * dse.c (find_shift_sequence): Use subreg of shifted from high part
+       register to avoid loading from address.
+
+2020-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/cpp.texi (Variadic Macros): Use the exact ... token in
+       code examples.
+
+2020-08-03  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/invoke.texi: Refer to c++20
+
+2020-08-03  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (gimplify_omp_target_update): Allow GOMP_MAP_TO_PSET
+       without a preceding data-movement mapping.
+
+2020-08-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): UNDEF before
+       use.
+       (DEF_MIN_OSX_VERSION): Only define if there's no existing
+       def.
+
+2020-08-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (IN_TARGET_CODE): Remove.
+       (darwin_mergeable_constant_section): Handle poly-int machine modes.
+       (machopic_select_rtx_section): Likewise.
+
+2020-08-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96430
+       * range-op.cc (operator_tests): Do not shift by 31 on targets with
+       integer's smaller than 32 bits.
+
+2020-08-03  Martin Jambor  <mjambor@suse.cz>
+
+       * hsa-brig-format.h: Moved to brig/brigfrontend.
+       * hsa-brig.c: Removed.
+       * hsa-builtins.def: Likewise.
+       * hsa-common.c: Likewise.
+       * hsa-common.h: Likewise.
+       * hsa-dump.c: Likewise.
+       * hsa-gen.c: Likewise.
+       * hsa-regalloc.c: Likewise.
+       * ipa-hsa.c: Likewise.
+       * omp-grid.c: Likewise.
+       * omp-grid.h: Likewise.
+       * Makefile.in (BUILTINS_DEF): Remove hsa-builtins.def.
+       (OBJS): Remove hsa-common.o, hsa-gen.o, hsa-regalloc.o, hsa-brig.o,
+       hsa-dump.o, ipa-hsa.c and omp-grid.o.
+       (GTFILES): Removed hsa-common.c and omp-expand.c.
+       * builtins.def: Remove processing of hsa-builtins.def.
+       (DEF_HSA_BUILTIN): Remove.
+       * common.opt (flag_disable_hsa): Remove.
+       (-Whsa): Ignore.
+       * config.in (ENABLE_HSA): Removed.
+       * configure.ac: Removed handling configuration for hsa offloading.
+       (ENABLE_HSA): Removed.
+       * configure: Regenerated.
+       * doc/install.texi (--enable-offload-targets): Remove hsa from the
+       example.
+       (--with-hsa-runtime): Reword to reference any HSA run-time, not
+       specifically HSA offloading.
+       * doc/invoke.texi (Option Summary): Remove -Whsa.
+       (Warning Options): Likewise.
+       (Optimize Options): Remove hsa-gen-debug-stores.
+       * doc/passes.texi (Regular IPA passes): Remove section on IPA HSA
+       pass.
+       * gimple-low.c (lower_stmt): Remove GIMPLE_OMP_GRID_BODY case.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Likewise.
+       (dump_gimple_omp_block): Likewise.
+       (pp_gimple_stmt_1): Likewise.
+       * gimple-walk.c (walk_gimple_stmt): Likewise.
+       * gimple.c (gimple_build_omp_grid_body): Removed function.
+       (gimple_copy): Remove GIMPLE_OMP_GRID_BODY case.
+       * gimple.def (GIMPLE_OMP_GRID_BODY): Removed.
+       * gimple.h (gf_mask): Removed GF_OMP_PARALLEL_GRID_PHONY,
+       OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY,
+       GF_OMP_FOR_GRID_INTRA_GROUP, GF_OMP_FOR_GRID_GROUP_ITER and
+       GF_OMP_TEAMS_GRID_PHONY.  Renumbered GF_OMP_FOR_KIND_SIMD and
+       GF_OMP_TEAMS_HOST.
+       (gimple_build_omp_grid_body): Removed declaration.
+       (gimple_has_substatements): Remove GIMPLE_OMP_GRID_BODY case.
+       (gimple_omp_for_grid_phony): Removed.
+       (gimple_omp_for_set_grid_phony): Likewise.
+       (gimple_omp_for_grid_intra_group): Likewise.
+       (gimple_omp_for_grid_intra_group): Likewise.
+       (gimple_omp_for_grid_group_iter): Likewise.
+       (gimple_omp_for_set_grid_group_iter): Likewise.
+       (gimple_omp_parallel_grid_phony): Likewise.
+       (gimple_omp_parallel_set_grid_phony): Likewise.
+       (gimple_omp_teams_grid_phony): Likewise.
+       (gimple_omp_teams_set_grid_phony): Likewise.
+       (CASE_GIMPLE_OMP): Remove GIMPLE_OMP_GRID_BODY case.
+       * lto-section-in.c (lto_section_name): Removed hsa.
+       * lto-streamer.h (lto_section_type): Removed LTO_section_ipa_hsa.
+       * lto-wrapper.c (compile_images_for_offload_targets): Remove special
+       handling of hsa.
+       * omp-expand.c: Do not include hsa-common.h and gt-omp-expand.h.
+       (parallel_needs_hsa_kernel_p): Removed.
+       (grid_launch_attributes_trees): Likewise.
+       (grid_launch_attributes_trees): Likewise.
+       (grid_create_kernel_launch_attr_types): Likewise.
+       (grid_insert_store_range_dim): Likewise.
+       (grid_get_kernel_launch_attributes): Likewise.
+       (get_target_arguments): Remove code passing HSA grid sizes.
+       (grid_expand_omp_for_loop): Remove.
+       (grid_arg_decl_map): Likewise.
+       (grid_remap_kernel_arg_accesses): Likewise.
+       (grid_expand_target_grid_body): Likewise.
+       (expand_omp): Remove call to grid_expand_target_grid_body.
+       (omp_make_gimple_edges): Remove GIMPLE_OMP_GRID_BODY case.
+       * omp-general.c: Do not include hsa-common.h.
+       (omp_maybe_offloaded): Do not check for HSA offloading.
+       (omp_context_selector_matches): Likewise.
+       * omp-low.c: Do not include hsa-common.h and omp-grid.h.
+       (build_outer_var_ref): Remove handling of GIMPLE_OMP_GRID_BODY.
+       (scan_sharing_clauses): Remove handling of OMP_CLAUSE__GRIDDIM_.
+       (scan_omp_parallel): Remove handling of the phoney variant.
+       (check_omp_nesting_restrictions): Remove handling of
+       GIMPLE_OMP_GRID_BODY and GF_OMP_FOR_KIND_GRID_LOOP.
+       (scan_omp_1_stmt): Remove handling of GIMPLE_OMP_GRID_BODY.
+       (lower_omp_for_lastprivate): Remove handling of gridified loops.
+       (lower_omp_for): Remove phony loop handling.
+       (lower_omp_taskreg): Remove phony construct handling.
+       (lower_omp_teams): Likewise.
+       (lower_omp_grid_body): Removed.
+       (lower_omp_1): Remove GIMPLE_OMP_GRID_BODY case.
+       (execute_lower_omp): Do not call omp_grid_gridify_all_targets.
+       * opts.c (common_handle_option): Do not handle hsa when processing
+       OPT_foffload_.
+       * params.opt (hsa-gen-debug-stores): Remove.
+       * passes.def: Remove pass_ipa_hsa and pass_gen_hsail.
+       * timevar.def: Remove TV_IPA_HSA.
+       * toplev.c: Do not include hsa-common.h.
+       (compile_file): Do not call hsa_output_brig.
+       * tree-core.h (enum omp_clause_code): Remove OMP_CLAUSE__GRIDDIM_.
+       (tree_omp_clause): Remove union field dimension.
+       * tree-nested.c (convert_nonlocal_omp_clauses): Remove the
+       OMP_CLAUSE__GRIDDIM_ case.
+       (convert_local_omp_clauses): Likewise.
+       * tree-pass.h (make_pass_gen_hsail): Remove declaration.
+       (make_pass_ipa_hsa): Likewise.
+       * tree-pretty-print.c (dump_omp_clause): Remove GIMPLE_OMP_GRID_BODY
+       case.
+       * tree.c (omp_clause_num_ops): Remove the element corresponding to
+       OMP_CLAUSE__GRIDDIM_.
+       (omp_clause_code_name): Likewise.
+       (walk_tree_1): Remove GIMPLE_OMP_GRID_BODY case.
+       * tree.h (OMP_CLAUSE__GRIDDIM__DIMENSION): Remove.
+       (OMP_CLAUSE__GRIDDIM__SIZE): Likewise.
+       (OMP_CLAUSE__GRIDDIM__GROUP): Likewise.
+
+2020-08-03  Bu Le  <bule1@huawei.com>
+
+       * config/aarch64/aarch64-sve.md (sub<mode>3): Add support for
+       unpacked vectors.
+
+2020-08-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.h (ASM_SPEC): Don't pass on "-md" option.
+
+2020-08-03  Yunde Zhong  <zhongyunde@huawei.com>
+
+       PR rtl-optimization/95696
+       * regrename.c (regrename_analyze): New param include_all_block_p
+       with default value TRUE.  If set to false, avoid disrupting SMS
+       schedule.
+       * regrename.h (regrename_analyze): Adjust prototype.
+
+2020-08-03  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/tm.texi.in (VECTOR_STORE_FLAG_VALUE): Fix a typo.
+       * doc/tm.texi: Regenerate.
+
+2020-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi: Add missing comma after octeontx2f95mm entry.
+
+2020-08-03  Qian jianhua  <qianjh@cn.fujitsu.com>
+
+       * config/aarch64/aarch64-cores.def (a64fx): New core.
+       * config/aarch64/aarch64-tune.md: Regenerated.
+       * config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New.
+       * doc/invoke.texi: Add a64fx to the list.
+
+2020-08-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/61494
+       * simplify-rtx.c (simplify_binary_operation_1) [MINUS]: Don't
+       simplify x - 0.0 with -fsignaling-nans.
+
+2020-08-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * genmatch.c (decision_tree::gen): Emit stub functions for
+       tree code operand counts that have no simplifications.
+       (main): Correct comment typo.
+
+2020-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * gimple-ssa-sprintf.c: Fix typos in comments.
+
+2020-08-03  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (readline): Check return value fgets.
+
+2020-08-03  Richard Biener  <rguenther@suse.de>
+
+       * doc/match-and-simplify.texi: Amend accordingly.
+
+2020-08-03  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (parser::gimple): New.
+       (parser::parser): Initialize gimple flag member.
+       (parser::parse_expr): Error on ! operator modifier when
+       not targeting GIMPLE.
+       (main): Pass down gimple flag to parser ctor.
+
+2020-08-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (GTFILES): Move value-range.h up.
+       * gengtype-lex.l: Set yylval to handle GTY markers on templates.
+       * ipa-cp.c (initialize_node_lattices): Call value_range
+       constructor.
+       (ipcp_propagate_stage): Use in-place new so value_range construct
+       is called.
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use std
+       vec instead of GCC's vec<>.
+       (evaluate_properties_for_edge): Adjust for std vec.
+       (ipa_fn_summary_t::duplicate): Same.
+       (estimate_ipcp_clone_size_and_time): Same.
+       * ipa-prop.c (ipa_get_value_range): Use in-place new for
+       value_range.
+       * ipa-prop.h (struct GTY): Remove class keyword for m_vr.
+       * range-op.cc (empty_range_check): Rename to...
+       (empty_range_varying): ...this and adjust for varying.
+       (undefined_shift_range_check): Adjust for irange.
+       (range_operator::wi_fold): Same.
+       (range_operator::fold_range): Adjust for irange.  Special case
+       single pairs for performance.
+       (range_operator::op1_range): Adjust for irange.
+       (range_operator::op2_range): Same.
+       (value_range_from_overflowed_bounds): Same.
+       (value_range_with_overflow): Same.
+       (create_possibly_reversed_range): Same.
+       (range_true): Same.
+       (range_false): Same.
+       (range_true_and_false): Same.
+       (get_bool_state):  Adjust for irange and tweak for performance.
+       (operator_equal::fold_range): Adjust for irange.
+       (operator_equal::op1_range): Same.
+       (operator_equal::op2_range): Same.
+       (operator_not_equal::fold_range): Same.
+       (operator_not_equal::op1_range): Same.
+       (operator_not_equal::op2_range): Same.
+       (build_lt): Same.
+       (build_le): Same.
+       (build_gt): Same.
+       (build_ge): Same.
+       (operator_lt::fold_range): Same.
+       (operator_lt::op1_range): Same.
+       (operator_lt::op2_range): Same.
+       (operator_le::fold_range): Same.
+       (operator_le::op1_range): Same.
+       (operator_le::op2_range): Same.
+       (operator_gt::fold_range): Same.
+       (operator_gt::op1_range): Same.
+       (operator_gt::op2_range): Same.
+       (operator_ge::fold_range): Same.
+       (operator_ge::op1_range): Same.
+       (operator_ge::op2_range): Same.
+       (operator_plus::wi_fold): Same.
+       (operator_plus::op1_range): Same.
+       (operator_plus::op2_range): Same.
+       (operator_minus::wi_fold): Same.
+       (operator_minus::op1_range): Same.
+       (operator_minus::op2_range): Same.
+       (operator_min::wi_fold): Same.
+       (operator_max::wi_fold): Same.
+       (cross_product_operator::wi_cross_product): Same.
+       (operator_mult::op1_range): New.
+       (operator_mult::op2_range): New.
+       (operator_mult::wi_fold): Adjust for irange.
+       (operator_div::wi_fold): Same.
+       (operator_exact_divide::op1_range): Same.
+       (operator_lshift::fold_range): Same.
+       (operator_lshift::wi_fold): Same.
+       (operator_lshift::op1_range): New.
+       (operator_rshift::op1_range): New.
+       (operator_rshift::fold_range): Adjust for irange.
+       (operator_rshift::wi_fold): Same.
+       (operator_cast::truncating_cast_p): Abstract out from
+       operator_cast::fold_range.
+       (operator_cast::fold_range): Adjust for irange and tweak for
+       performance.
+       (operator_cast::inside_domain_p): Abstract out from fold_range.
+       (operator_cast::fold_pair): Same.
+       (operator_cast::op1_range): Use abstracted methods above.  Adjust
+       for irange and tweak for performance.
+       (operator_logical_and::fold_range): Adjust for irange.
+       (operator_logical_and::op1_range): Same.
+       (operator_logical_and::op2_range): Same.
+       (unsigned_singleton_p): New.
+       (operator_bitwise_and::remove_impossible_ranges): New.
+       (operator_bitwise_and::fold_range): New.
+       (wi_optimize_and_or):  Adjust for irange.
+       (operator_bitwise_and::wi_fold): Same.
+       (set_nonzero_range_from_mask): New.
+       (operator_bitwise_and::simple_op1_range_solver): New.
+       (operator_bitwise_and::op1_range): Adjust for irange.
+       (operator_bitwise_and::op2_range): Same.
+       (operator_logical_or::fold_range): Same.
+       (operator_logical_or::op1_range): Same.
+       (operator_logical_or::op2_range): Same.
+       (operator_bitwise_or::wi_fold): Same.
+       (operator_bitwise_or::op1_range): Same.
+       (operator_bitwise_or::op2_range): Same.
+       (operator_bitwise_xor::wi_fold): Same.
+       (operator_bitwise_xor::op1_range): New.
+       (operator_bitwise_xor::op2_range): New.
+       (operator_trunc_mod::wi_fold):  Adjust for irange.
+       (operator_logical_not::fold_range): Same.
+       (operator_logical_not::op1_range): Same.
+       (operator_bitwise_not::fold_range): Same.
+       (operator_bitwise_not::op1_range): Same.
+       (operator_cst::fold_range): Same.
+       (operator_identity::fold_range): Same.
+       (operator_identity::op1_range): Same.
+       (class operator_unknown): New.
+       (operator_unknown::fold_range): New.
+       (class operator_abs): Adjust for irange.
+       (operator_abs::wi_fold): Same.
+       (operator_abs::op1_range): Same.
+       (operator_absu::wi_fold): Same.
+       (class operator_negate): Same.
+       (operator_negate::fold_range): Same.
+       (operator_negate::op1_range): Same.
+       (operator_addr_expr::fold_range): Same.
+       (operator_addr_expr::op1_range): Same.
+       (pointer_plus_operator::wi_fold): Same.
+       (pointer_min_max_operator::wi_fold): Same.
+       (pointer_and_operator::wi_fold): Same.
+       (pointer_or_operator::op1_range): New.
+       (pointer_or_operator::op2_range): New.
+       (pointer_or_operator::wi_fold):  Adjust for irange.
+       (integral_table::integral_table): Add entries for IMAGPART_EXPR
+       and POINTER_DIFF_EXPR.
+       (range_cast):  Adjust for irange.
+       (build_range3): New.
+       (range3_tests): New.
+       (widest_irange_tests): New.
+       (multi_precision_range_tests): New.
+       (operator_tests): New.
+       (range_tests): New.
+       * range-op.h (class range_operator): Adjust for irange.
+       (range_cast): Same.
+       * tree-vrp.c (range_fold_binary_symbolics_p): Adjust for irange and
+       tweak for performance.
+       (range_fold_binary_expr): Same.
+       (masked_increment): Change to extern.
+       * tree-vrp.h (masked_increment): New.
+       * tree.c (cache_wide_int_in_type_cache): New function abstracted
+       out from wide_int_to_tree_1.
+       (wide_int_to_tree_1): Cache 0, 1, and MAX for pointers.
+       * value-range-equiv.cc (value_range_equiv::deep_copy): Use kind
+       method.
+       (value_range_equiv::move): Same.
+       (value_range_equiv::check): Adjust for irange.
+       (value_range_equiv::intersect): Same.
+       (value_range_equiv::union_): Same.
+       (value_range_equiv::dump): Same.
+       * value-range.cc (irange::operator=): Same.
+       (irange::maybe_anti_range): New.
+       (irange::copy_legacy_range): New.
+       (irange::set_undefined): Adjust for irange.
+       (irange::swap_out_of_order_endpoints): Abstract out from set().
+       (irange::set_varying): Adjust for irange.
+       (irange::irange_set): New.
+       (irange::irange_set_anti_range): New.
+       (irange::set): Adjust for irange.
+       (value_range::set_nonzero): Move to header file.
+       (value_range::set_zero): Move to header file.
+       (value_range::check): Rename to...
+       (irange::verify_range): ...this.
+       (value_range::num_pairs): Rename to...
+       (irange::legacy_num_pairs): ...this, and adjust for irange.
+       (value_range::lower_bound): Rename to...
+       (irange::legacy_lower_bound): ...this, and adjust for irange.
+       (value_range::upper_bound): Rename to...
+       (irange::legacy_upper_bound): ...this, and adjust for irange.
+       (value_range::equal_p): Rename to...
+       (irange::legacy_equal_p): ...this.
+       (value_range::operator==): Move to header file.
+       (irange::equal_p): New.
+       (irange::symbolic_p): Adjust for irange.
+       (irange::constant_p): Same.
+       (irange::singleton_p): Same.
+       (irange::value_inside_range): Same.
+       (irange::may_contain_p): Same.
+       (irange::contains_p): Same.
+       (irange::normalize_addresses): Same.
+       (irange::normalize_symbolics): Same.
+       (irange::legacy_intersect): Same.
+       (irange::legacy_union): Same.
+       (irange::union_): Same.
+       (irange::intersect): Same.
+       (irange::irange_union): New.
+       (irange::irange_intersect): New.
+       (subtract_one): New.
+       (irange::invert): Adjust for irange.
+       (dump_bound_with_infinite_markers): New.
+       (irange::dump): Adjust for irange.
+       (debug): Add irange versions.
+       (range_has_numeric_bounds_p): Adjust for irange.
+       (vrp_val_max): Move to header file.
+       (vrp_val_min): Move to header file.
+       (DEFINE_INT_RANGE_GC_STUBS): New.
+       (DEFINE_INT_RANGE_INSTANCE): New.
+       * value-range.h (class irange): New.
+       (class int_range): New.
+       (class value_range): Rename to a instantiation of int_range.
+       (irange::legacy_mode_p): New.
+       (value_range::value_range): Remove.
+       (irange::kind): New.
+       (irange::num_pairs): Adjust for irange.
+       (irange::type): Adjust for irange.
+       (irange::tree_lower_bound): New.
+       (irange::tree_upper_bound): New.
+       (irange::type): Adjust for irange.
+       (irange::min): Same.
+       (irange::max): Same.
+       (irange::varying_p): Same.
+       (irange::undefined_p): Same.
+       (irange::zero_p): Same.
+       (irange::nonzero_p): Same.
+       (irange::supports_type_p): Same.
+       (range_includes_zero_p): Same.
+       (gt_ggc_mx): New.
+       (gt_pch_nx): New.
+       (irange::irange): New.
+       (int_range::int_range): New.
+       (int_range::operator=): New.
+       (irange::set): Moved from value-range.cc and adjusted for irange.
+       (irange::set_undefined): Same.
+       (irange::set_varying): Same.
+       (irange::operator==): Same.
+       (irange::lower_bound): Same.
+       (irange::upper_bound): Same.
+       (irange::union_): Same.
+       (irange::intersect): Same.
+       (irange::set_nonzero): Same.
+       (irange::set_zero): Same.
+       (irange::normalize_min_max): New.
+       (vrp_val_max): Move from value-range.cc.
+       (vrp_val_min): Same.
+       * vr-values.c (vr_values::get_lattice_entry): Call value_range
+       constructor.
+
+2020-08-02  Sergei Trofimovich  <siarheit@google.com>
+
+       PR bootstrap/96404
+       * var-tracking.c (vt_find_locations): Fully initialize
+       all 'in_pending' bits.
+
+2020-08-01  Jan Hubicka  <jh@suse.cz>
+
+       * symtab.c (symtab_node::verify_base): Verify order.
+       (symtab_node::verify_symtab_nodes): Verify order.
+
+2020-08-01  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_bb_frequencies): Cap recursive calls by 90%.
+
+2020-08-01  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky_opts.h (float_abi_type): New.
+       * config/csky/csky.h (TARGET_SOFT_FLOAT): New.
+       (TARGET_HARD_FLOAT): New.
+       (TARGET_HARD_FLOAT_ABI): New.
+       (OPTION_DEFAULT_SPECS): Use mfloat-abi.
+       * config/csky/csky.opt (mfloat-abi): New.
+       * doc/invoke.texi (C-SKY Options): Document -mfloat-abi=.
+
+2020-08-01  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/csky/t-csky-linux: Delete big endian CPUs' multilib.
+
+2020-07-31  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       PR target/90928
+       * config/nvptx/nvptx.c (nvptx_truly_noop_truncation): Implement.
+       (TARGET_TRULY_NOOP_TRUNCATION): Define.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96383
+       * langhooks-def.h (lhd_finalize_early_debug): Declare.
+       (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
+       (LANG_HOOKS_INITIALIZER): Amend.
+       * langhooks.c: Include cgraph.h and debug.h.
+       (lhd_finalize_early_debug): Default implementation from
+       former code in finalize_compilation_unit.
+       * langhooks.h (lang_hooks::finalize_early_debug): Add.
+       * cgraphunit.c (symbol_table::finalize_compilation_unit):
+       Call the finalize_early_debug langhook.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (expr::force_leaf): Add and initialize.
+       (expr::gen_transform): Honor force_leaf by passing
+       NULL as sequence argument to maybe_push_res_to_seq.
+       (parser::parse_expr): Allow ! marker on result expression
+       operations.
+       * doc/match-and-simplify.texi: Amend.
+
+2020-07-31  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_get_known_peeling_cost): Don't consider branch
+       taken costs for prologue and epilogue if they don't exist.
+       (vect_estimate_min_profitable_iters): Likewise.
+
+2020-07-31  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.h: Remove leading empty lines.
+       * cgraphunit.c (enum cgraph_order_sort_kind): Remove
+       ORDER_UNDEFINED.
+       (struct cgraph_order_sort): Add constructors.
+       (cgraph_order_sort::process): New.
+       (cgraph_order_cmp): New.
+       (output_in_order): Simplify and push nodes to vector.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96369
+       * fold-const.c (fold_range_test): Special-case constant
+       LHS for short-circuiting operations.
+
+2020-07-31  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h (GCOV_PREALLOCATED_KVP): New.
+
+2020-07-31  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_general_add_builtin):
+       Add new argument ATTRS.
+       (aarch64_call_properties): New function.
+       (aarch64_modifies_global_state_p): Likewise.
+       (aarch64_reads_global_state_p): Likewise.
+       (aarch64_could_trap_p): Likewise.
+       (aarch64_add_attribute): Likewise.
+       (aarch64_get_attributes): Likewise.
+       (aarch64_init_simd_builtins): Add attributes for each built-in function.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/78288
+       * var-tracking.c (vt_find_locations): Use
+       rev_post_order_and_mark_dfs_back_seme and separately iterate
+       over toplevel SCCs.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.h (rev_post_order_and_mark_dfs_back_seme): Adjust
+       prototype.
+       * cfganal.c (rpoamdbs_bb_data): New struct with pre BB data.
+       (tag_header): New helper.
+       (cmp_edge_dest_pre): Likewise.
+       (rev_post_order_and_mark_dfs_back_seme): Compute SCCs,
+       find SCC exits and perform a DFS walk with extra edges to
+       compute a RPO with adjacent SCC members when requesting an
+       iteration optimized order and populate the toplevel SCC array.
+       * tree-ssa-sccvn.c (do_rpo_vn): Remove ad-hoc computation
+       of max_rpo and fill it in from SCC extent info instead.
+
+2020-07-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_test_lsbb_all_ones): New define.
+       (vec_test_lsbb_all_zeros): New define.
+       * config/rs6000/rs6000-builtin.def (BU_P10_VSX_1): New built-in
+       handling macro.
+       (XVTLSBB_ZEROS, XVTLSBB_ONES): New builtin defines.
+       (xvtlsbb_all_zeros, xvtlsbb_all_ones): New builtin overloads.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XVTLSBB_ZEROS,
+       P10_BUILTIN_VEC_XVTLSBB_ONES): New altivec_builtin_types entries.
+       * config/rs6000/rs6000.md (UNSPEC_XVTLSBB):  New unspec.
+       * config/rs6000/vsx.md (*xvtlsbb_internal): New instruction define.
+       (xvtlsbbo, xvtlsbbz): New instruction expands.
+
+2020-07-30  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/riscv/riscv-opts.h (stack_protector_guard): New enum.
+       * config/riscv/riscv.c (riscv_option_override): Handle
+       the new options.
+       * config/riscv/riscv.md (stack_protect_set): New pattern to handle
+       flexible stack protector guard settings.
+       (stack_protect_set_<mode>): Ditto.
+       (stack_protect_test): Ditto.
+       (stack_protect_test_<mode>): Ditto.
+       * config/riscv/riscv.opt (mstack-protector-guard=,
+       mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
+       options.
+       * doc/invoke.texi (Option Summary) [RISC-V Options]:
+       Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
+       -mstack-protector-guard-offset=.
+       (RISC-V Options): Ditto.
+
+2020-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/96202
+       * configure: Regenerated.
+
+2020-07-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96370
+       * tree-ssa-reassoc.c (rewrite_expr_tree): Add operation
+       code parameter and use it instead of picking it up from
+       the stmt that is being rewritten.
+       (reassociate_bb): Pass down the operation code.
+
+2020-07-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md (nvptx_vector_index_operand): New predicate.
+       (VECELEM): New mode attribute for a vector's uppercase element mode.
+       (Vecelem): New mode attribute for a vector's lowercase element mode.
+       (*vec_set<mode>_0, *vec_set<mode>_1, *vec_set<mode>_2)
+       (*vec_set<mode>_3): New instructions.
+       (vec_set<mode>): New expander to generate one of the above insns.
+       (vec_extract<mode><Vecelem>): New instruction.
+
+2020-07-30  Martin Liska  <mliska@suse.cz>
+
+       PR target/95435
+       * config/i386/x86-tune-costs.h: Use libcall for large sizes for
+       -m32. Start using libcall from 128+ bytes.
+
+2020-07-30  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/x86-tune-costs.h: Change code formatting.
+
+2020-07-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (recip<mode>2): New instruction.
+
+2020-07-29  Fangrui Song  <maskray@google.com>
+
+       PR debug/95096
+       * opts.c (common_handle_option): Don't make -gsplit-dwarf imply -g.
+       * doc/invoke.texi (-gsplit-dwarf): Update documentation.
+
+2020-07-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm-protos.h (arm_coproc_mem_operand_no_writeback):
+       Declare prototype.
+       (arm_mve_mode_and_operands_type_check): Declare prototype.
+       * config/arm/arm.c (arm_coproc_mem_operand): Refactor to use
+       _arm_coproc_mem_operand.
+       (arm_coproc_mem_operand_wb): New function to cover full, limited
+       and no writeback.
+       (arm_coproc_mem_operand_no_writeback): New constraint for memory
+       operand with no writeback.
+       (arm_print_operand): Extend 'E' specifier for memory operand
+       that does not support writeback.
+       (arm_mve_mode_and_operands_type_check): New constraint check for
+       MVE memory operands.
+       * config/arm/constraints.md: Add Uj constraint for VFP vldr.16
+       and vstr.16.
+       * config/arm/vfp.md (*mov_load_vfp_hf16): New pattern for
+       vldr.16.
+       (*mov_store_vfp_hf16): New pattern for vstr.16.
+       (*mov<mode>_vfp_<mode>16): Remove MVE moves.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96349
+       * tree-ssa-loop-split.c (stmt_semi_invariant_p_1): When the
+       condition runs into a loop PHI with an abnormal entry value give up.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.c (vectorize_loops): Reset the SCEV
+       cache if we removed any SIMD UID SSA defs.
+       * gimple-loop-interchange.cc (pass_linterchange::execute):
+       Reset the scev cache if we interchanged a loop.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95679
+       * tree-ssa-propagate.h
+       (substitute_and_fold_engine::propagate_into_phi_args): Return
+       whether anything changed.
+       * tree-ssa-propagate.c
+       (substitute_and_fold_engine::propagate_into_phi_args): Likewise.
+       (substitute_and_fold_dom_walker::before_dom_children): Update
+       something_changed.
+
+2020-07-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+       Ensure that loop variable npeel_tmp advances in each iteration.
+
+2020-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1.
+
+2020-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (ASM_OUTPUT_EXTERNAL): Define to
+       default_elf_asm_output_external.
+
+2020-07-28  Sergei Trofimovich  <siarheit@google.com>
+
+       PR ipa/96291
+       * ipa-cp.c (has_undead_caller_from_outside_scc_p): Consider
+       unoptimized callers as undead.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * match.pd (popcount(x)&1 -> parity(x)): New simplification.
+       (parity(~x) -> parity(x)): New simplification.
+       (parity(x)^parity(y) -> parity(x^y)): New simplification.
+       (parity(x&1) -> x&1): New simplification.
+       (popcount(x) -> x>>C): New simplification.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md (extendqihi2): New instruction.
+       (ashl<mode>3, ashr<mode>3, lshr<mode>3): Support HImode.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96335
+       * calls.c (maybe_warn_rdwr_sizes): Add FNDECL and FNTYPE arguments,
+       instead of trying to rediscover them in the body.
+       (initialize_argument_information): Adjust caller.
+
+2020-07-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_get_known_peeling_cost): Factor out some code
+       to determine peel_iters_epilogue to...
+       (vect_get_peel_iters_epilogue): ...this new function.
+       (vect_estimate_min_profitable_iters): Refactor cost calculation on
+       peel_iters_prologue and peel_iters_epilogue.
+
+2020-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/84079
+       * gimple-array-bounds.cc (array_bounds_checker::check_addr_expr):
+       Only allow just-past-the-end references for the most significant
+       array bound.
+
+2020-07-27  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       PR driver/96247
+       * opts.c (check_alignment_argument): Set the -falign-Name
+       on/off flag on and set the -falign-Name string value null,
+       when the command-line specified argument is zero.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96058
+       * expr.c (string_constant): Build string_constant only
+       for a type that has same precision as char_type_node
+       and is an integral type.
+
+2020-07-27  Richard Biener  <rguenther@suse.de>
+
+       * var-tracking.c (variable_tracking_main_1): Remove call
+       to mark_dfs_back_edges.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96128
+       * tree-vect-generic.c (expand_vector_comparison): Do not expand
+       vector comparison with VEC_COND_EXPR.
+
+2020-07-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/96203
+       * common.opt: Add -fcf-protection=check.
+       * flag-types.h (cf_protection_level): Add CF_CHECK.
+       * lto-wrapper.c (merge_and_complain): Issue an error for
+       mismatching -fcf-protection values with -fcf-protection=check.
+       Otherwise, merge -fcf-protection values.
+       * doc/invoke.texi: Document -fcf-protection=check.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR lto/45375
+       * symbol-summary.h: Call vec_safe_reserve before grow is called
+       in order to grow to a reasonable size.
+       * vec.h (vec_safe_reserve): Add missing function for vl_ptr
+       type.
+
+2020-07-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * configure.ac (out-of-tree linker .hidden support): Don't turn off
+       for mmix-knuth-mmixware.
+       * configure: Regenerate.
+
+2020-07-26  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set the default value for -mblock-ops-unaligned-vsx.
+       * config/rs6000/rs6000.opt: Add -mblock-ops-unaligned-vsx.
+       * doc/invoke.texi: Document -mblock-ops-unaligned-vsx.
+
+2020-07-25  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (TARGET_ASM_OUTPUT_IDENT): Override the default
+       with default_asm_output_ident_directive.
+
+2020-07-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_scalar_mode_supported_p): New function.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): New define.
+
+2020-07-24  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.net>
+
+       * config.gcc (powerpc-ibm-aix7.1): Use t-aix64 and biarch64 for
+       cpu_is_64bit.
+       * config/rs6000/aix71.h (ASM_SPEC): Remove aix64 option.
+       (ASM_SPEC32): New.
+       (ASM_SPEC64): New.
+       (ASM_CPU_SPEC): Remove vsx and altivec options.
+       (CPP_SPEC_COMMON): Rename from CPP_SPEC.
+       (CPP_SPEC32): New.
+       (CPP_SPEC64): New.
+       (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON..
+       (TARGET_DEFAULT): Use 64 bit mask if BIARCH.
+       (LIB_SPEC_COMMON): Rename from LIB_SPEC.
+       (LIB_SPEC32): New.
+       (LIB_SPEC64): New.
+       (LINK_SPEC_COMMON): Rename from LINK_SPEC.
+       (LINK_SPEC32): New.
+       (LINK_SPEC64): New.
+       (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase.
+       (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P.
+       (CPP_SPEC): Same.
+       (CPLUSPLUS_CPP_SPEC): Same.
+       (LIB_SPEC): Same.
+       (LINK_SPEC): Same.
+       (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs.
+       * config/rs6000/aix72.h (TARGET_DEFAULT): Use 64 bit mask if BIARCH.
+       * config/rs6000/defaultaix64.h: Delete.
+
+2020-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.opt: Delete -mpower10.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/intelmic-mkoffload.c
+       (generate_target_descr_file): Use dumppfx for save_temps
+       files.  Pass -dumpbase et al down to the compiler.
+       (generate_target_offloadend_file): Likewise.
+       (generate_host_descr_file): Likewise.
+       (prepare_target_image): Likewise.  Move out_obj_filename
+       setting...
+       (main): ... here.  Detect -dumpbase, set dumppfx too.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR driver/96230
+       * gcc.c (process_command): Adjust and document conditions to
+       reset dumpbase_ext.
+
+2020-07-24  Matthias Klose  <doko@ubuntu.com>
+
+       * config/aarch64/aarch64.c (+aarch64_offload_options,
+       TARGET_OFFLOAD_OPTIONS): New.
+
+2020-07-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/sync.md (mmem_thread_fence): Emit mfence_sse2 for -Os.
+
+2020-07-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/96298
+       * simplify-rtx.c (simplify_binary_operation_1) [XOR]: Xor doesn't
+       distribute over xor, so (a^b)^(c^b) is not the same as (a^c)^b.
+
+2020-07-23  Dong JianQiang  <dongjianqiang2@huawei.com>
+
+       PR gcov-profile/96267
+       * gcov-io.c (gcov_open): enable if IN_GCOV_TOOL.
+
+2020-07-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (adjust_vectorization_cost): Renamed to ...
+       (rs6000_adjust_vect_cost_per_stmt): ... here.
+       (rs6000_add_stmt_cost): Rename adjust_vectorization_cost to
+       rs6000_adjust_vect_cost_per_stmt.
+
+2020-07-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle
+       IFN_LEN_LOAD and IFN_LEN_STORE.
+       (get_alias_ptr_type_for_ptr_address): Likewise.
+
+2020-07-23  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96260
+       * asan.c (asan_shadow_offset_set_p): New.
+       * asan.h (asan_shadow_offset_set_p): Ditto.
+       * toplev.c (process_options): Allow -fsanitize=kernel-address
+       even TARGET_ASAN_SHADOW_OFFSET not implemented, only check when
+       asan stack protection is enabled.
+
+2020-07-22  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96236
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Handle
+       little-endian memory ordering.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * dumpfile.c (parse_dump_option): Deal with filenames
+       containing '-'
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * incpath.c (add_path): Avoid multiple strlen calls.
+
+2020-07-22  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * expmed.c (expand_sdiv_pow2): Check return value from emit_store_flag
+       is not NULL_RTX before use.
+
+2020-07-22  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * expr.c (convert_modes): Allow a constant integer to be converted to
+       any scalar int mode.
+
+2020-07-22  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-ldpstp.md: Add two peepholes for adjusted vector
+       V2SI, V2SF, V2DI, V2DF load pair and store pair modes.
+       * config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):
+       Change mode parameter to machine_mode.
+       (aarch64_operands_adjust_ok_for_ldpstp): Change mode parameter to
+       machine_mode.
+       * config/aarch64/aarch64.c (aarch64_operands_adjust_ok_for_ldpstp):
+       Change mode parameter to machine_mode.
+       (aarch64_gen_adjusted_ldpstp): Change mode parameter to machine_mode.
+       * config/aarch64/iterators.md (VP_2E): New iterator for 2 element vectors.
+
+2020-07-22  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/languages.texi: Fix “then”/“than” typo.
+
+2020-07-21  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95237
+       * config/i386/i386-protos.h (ix86_local_alignment): Add
+       another function parameter may_lower alignment. Default is
+       false.
+       * config/i386/i386.c (ix86_lower_local_decl_alignment): New
+       function.
+       (ix86_local_alignment): Amend ix86_local_alignment to accept
+       another parameter may_lower. If may_lower is true, new align
+       may be lower than incoming alignment. If may_lower is false,
+       new align will be greater or equal to incoming alignment.
+       (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): New
+       hook.
+       * target.def (lower_local_decl_alignment): New hook.
+
+2020-07-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/sync.md (mfence_sse2): Enable for
+       TARGET_64BIT and TARGET_SSE2.
+       (mfence_nosse): Always enable.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430-protos.h (msp430_do_not_relax_short_jumps):
+       Remove.
+       * config/msp430/msp430.c (msp430_do_not_relax_short_jumps): Likewise.
+       * config/msp430/msp430.md (cbranchhi4_real): Remove special case for
+       msp430_do_not_relax_short_jumps.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md: New "extendqipsi2" define_insn.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.h (NO_FUNCTION_CSE): Set to true at -O2 and
+       above.
+
+2020-07-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/89310
+       * config/rs6000/rs6000.md (movsf_from_si2): New define_insn_and_split.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_expand_prologue): Calculate the total
+       allocated size and set current_function_static_stack_size, if
+       flag_stack_usage_info.
+
+2020-07-20  Sergei Trofimovich  <siarheit@google.com>
+
+       PR target/96190
+       * config/sparc/linux.h (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
+       to get crtendS.o for !no-pie mode.
+       * config/sparc/linux64.h (ENDFILE_SPEC): Ditto.
+
+2020-07-20  Yang Yang  <yangyang305@huawei.com>
+
+       * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
+       VIEW_CONVERT_EXPRs if the arguments types and return type
+       of simd clone function are distinct with the vectype of stmt.
+
+2020-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/i386.h (TARGET_AVOID_MFENCE):
+       Rename from TARGET_USE_XCHG_FOR_ATOMIC_STORE.
+       * config/i386/sync.md (mfence_sse2): Disable for TARGET_AVOID_MFENCE.
+       (mfence_nosse): Enable also for TARGET_AVOID_MFENCE. Emit stack
+       referred memory in word_mode.
+       (mem_thread_fence): Do not generate mfence_sse2 pattern when
+       TARGET_AVOID_MFENCE is true.
+       (atomic_store<mode>): Update for rename.
+       * config/i386/x86-tune.def (X86_TUNE_AVOID_MFENCE):
+       Rename from X86_TUNE_USE_XCHG_FOR_ATOMIC_STORE.
+
+2020-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95189
+       PR middle-end/95886
+       * builtins.c (inline_expand_builtin_string_cmp): Rename...
+       (inline_expand_builtin_bytecmp): ...to this.
+       (builtin_memcpy_read_str): Don't expect data to be nul-terminated.
+       (expand_builtin_memory_copy_args): Handle object representations
+       with embedded nul bytes.
+       (expand_builtin_memcmp): Same.
+       (expand_builtin_strcmp): Adjust call to naming change.
+       (expand_builtin_strncmp): Same.
+       * expr.c (string_constant): Create empty strings with nonzero size.
+       * fold-const.c (c_getstr): Rename locals and update comments.
+       * tree.c (build_string): Accept null pointer argument.
+       (build_string_literal): Same.
+       * tree.h (build_string): Provide a default.
+       (build_string_literal): Same.
+
+2020-07-20  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.c (rev_post_order_and_mark_dfs_back_seme): Remove
+       write-only post array.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * gimple-fold.c (fold_const_aggregate_ref_1): For COMPONENT_REF
+       of a bitfield not aligned on byte boundaries try to
+       fold_ctor_reference DECL_BIT_FIELD_REPRESENTATIVE if any and
+       adjust it depending on endianity.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * fold-const.c (native_encode_initializer): Handle bit-fields.
+
+2020-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set param_vect_partial_vector_usage to 0 explicitly.
+       * doc/invoke.texi (vect-partial-vector-usage): Document new option.
+       * optabs-query.c (get_len_load_store_mode): New function.
+       * optabs-query.h (get_len_load_store_mode): New declare.
+       * params.opt (vect-partial-vector-usage): New.
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Add the
+       handlings for vectorization using length-based partial vectors, call
+       vect_gen_len for length generation, and rename some variables with
+       items instead of scalars.
+       (vect_set_loop_condition_partial_vectors): Add the handlings for
+       vectorization using length-based partial vectors.
+       (vect_do_peeling): Allow remaining eiters less than epilogue vf for
+       LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Init
+       epil_using_partial_vectors_p.
+       (_loop_vec_info::~_loop_vec_info): Call release_vec_loop_controls
+       for lengths destruction.
+       (vect_verify_loop_lens): New function.
+       (vect_analyze_loop): Add handlings for epilogue of loop when it's
+       marked to use vectorization using partial vectors.
+       (vect_analyze_loop_2): Add the check to allow only one vectorization
+       approach using partial vectorization at the same time.  Check param
+       vect-partial-vector-usage for partial vectors decision.  Mark
+       LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P if the epilogue is
+       considerable to use partial vectors.  Call release_vec_loop_controls
+       for lengths destruction.
+       (vect_estimate_min_profitable_iters): Adjust for loop vectorization
+       using length-based partial vectors.
+       (vect_record_loop_mask): Init factor to 1 for vectorization using
+       mask-based partial vectors.
+       (vect_record_loop_len): New function.
+       (vect_get_loop_len): Likewise.
+       * tree-vect-stmts.c (check_load_store_for_partial_vectors): Add
+       checks for vectorization using length-based partial vectors.  Factor
+       some code to lambda function get_valid_nvectors.
+       (vectorizable_store): Add handlings when using length-based partial
+       vectors.
+       (vectorizable_load): Likewise.
+       (vect_gen_len): New function.
+       * tree-vectorizer.h (struct rgroup_controls): Add field factor
+       mainly for length-based partial vectors.
+       (vec_loop_lens): New typedef.
+       (_loop_vec_info): Add lens and epil_using_partial_vectors_p.
+       (LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P): New macro.
+       (LOOP_VINFO_LENS): Likewise.
+       (LOOP_VINFO_FULLY_WITH_LENGTH_P): Likewise.
+       (vect_record_loop_len): New declare.
+       (vect_get_loop_len): Likewise.
+       (vect_gen_len): Likewise.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_option_override): Reinstate default
+       integer-emitting targetm.asm_out pseudos when dumping detailed
+       assembly-code.
+       (mmix_assemble_integer): Update comment.
+
+2020-07-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95973
+       PR target/96238
+       * config/i386/cpuid.h: Add include guard.
+       (__cpuidex): New.
+
+2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95620
+       * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+
+2020-07-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/92488
+       * config/rs6000/dfp.md (trunctdsd2): New define_insn.
+       * config/rs6000/rs6000.md (define_attr "isa"): Add p9.
+       (define_attr "enabled"): Handle p9.
+
+2020-07-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * function.c (assign_parm_setup_block): Use the macro
+       TRULY_NOOP_TRUNCATION_MODES_P instead of calling
+       targetm.truly_noop_truncation directly.
+
+2020-07-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96186
+       PR target/88713
+       * config/i386/sse.md (VF_AVX512VL_VF1_128_256): Renamed to ...
+       (VF1_AVX512ER_128_256): This.  Drop DF vector modes.
+       (rsqrt<mode>2): Replace VF_AVX512VL_VF1_128_256 with
+       VF1_AVX512ER_128_256.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * doc/sourcebuild.texi (dg-set-compiler-env-var,
+       dg-set-target-env-var): Document.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (host_detect_local_cpu):
+       Add GCC_CPUINFO.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (INCLUDE_SET): New.
+       (parse_field): Use std::string.
+       (split_words, readline, find_field): New.
+       (host_detect_local_cpu): Fix truncation issues.
+
+2020-07-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c (EM_AMDGPU): Undefine before defining.
+       (ELFOSABI_AMDGPU_HSA): Likewise.
+       (ELFABIVERSION_AMDGPU_HSA): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX803): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX900): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX906): Likewise.
+       (reserved): Delete.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/93720
+       * config/aarch64/aarch64.c (aarch64_evpc_ins): New function.
+       (aarch64_expand_vec_perm_const_1): Call it.
+       * config/aarch64/aarch64-simd.md (aarch64_simd_vec_copy_lane): Make
+       public, and add a "@" prefix.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/82199
+       * config/aarch64/aarch64.c (aarch64_evpc_reencode): New function.
+       (aarch64_expand_vec_perm_const_1): Call it.
+
+2020-07-17  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
+       Add new field flags.
+       (VAR1): Add new field FLAG in macro.
+       (VAR2): Likewise.
+       (VAR3): Likewise.
+       (VAR4): Likewise.
+       (VAR5): Likewise.
+       (VAR6): Likewise.
+       (VAR7): Likewise.
+       (VAR8): Likewise.
+       (VAR9): Likewise.
+       (VAR10): Likewise.
+       (VAR11): Likewise.
+       (VAR12): Likewise.
+       (VAR13): Likewise.
+       (VAR14): Likewise.
+       (VAR15): Likewise.
+       (VAR16): Likewise.
+       (aarch64_general_fold_builtin): Likewise.
+       (aarch64_general_gimple_fold_builtin): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def: Add default flag for
+       each built-in function.
+       * config/aarch64/geniterators.sh: Add new field in BUILTIN macro.
+
+2020-07-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96127
+       * config/s390/s390.c (s390_expand_insv): Invoke the movstrict
+       expanders to generate the pattern.
+       * config/s390/s390.md ("*movstricthi", "*movstrictqi"): Remove the
+       '*' to have callable expanders.
+
+2020-07-16  Hans-Peter Nilsson  <hp@axis.com>
+           Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/93372
+       * combine.c (is_just_move): Take an rtx_insn* as argument.  Use
+       single_set on it.
+
+2020-07-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * config/i386/sync.md
+       (peephole2 to remove unneded compare after CMPXCHG):
+       New pattern, also handle XOR zeroing and load of -1 by OR.
+
+2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (ix86_compute_frame_layout): Minor tweak.
+       (ix86_adjust_stack_and_probe): Delete.
+       (ix86_adjust_stack_and_probe_stack_clash): Rename to above and add
+       PROTECTION_AREA parameter.  If it is true, probe PROBE_INTERVAL plus
+       a small dope beyond SIZE bytes.
+       (ix86_emit_probe_stack_range): Use local variable.
+       (ix86_expand_prologue): Adjust calls to ix86_adjust_stack_and_probe
+       and tidy up the stack checking code.
+       * explow.c (get_stack_check_protect): Fix head comment.
+       (anti_adjust_stack_and_probe_stack_clash): Likewise.
+       (allocate_dynamic_stack_space): Add comment.
+       * tree-nested.c (lookup_field_for_decl): Set the DECL_IGNORED_P and
+       TREE_NO_WARNING but not TREE_ADDRESSABLE flags on the field.
+
+2020-07-16  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c: Include simple-object.h and elf.h.
+       (EM_AMDGPU): New macro.
+       (ELFOSABI_AMDGPU_HSA): New macro.
+       (ELFABIVERSION_AMDGPU_HSA): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX803): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX900): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX906): New macro.
+       (R_AMDGPU_NONE): New macro.
+       (R_AMDGPU_ABS32_LO): New macro.
+       (R_AMDGPU_ABS32_HI): New macro.
+       (R_AMDGPU_ABS64): New macro.
+       (R_AMDGPU_REL32): New macro.
+       (R_AMDGPU_REL64): New macro.
+       (R_AMDGPU_ABS32): New macro.
+       (R_AMDGPU_GOTPCREL): New macro.
+       (R_AMDGPU_GOTPCREL32_LO): New macro.
+       (R_AMDGPU_GOTPCREL32_HI): New macro.
+       (R_AMDGPU_REL32_LO): New macro.
+       (R_AMDGPU_REL32_HI): New macro.
+       (reserved): New macro.
+       (R_AMDGPU_RELATIVE64): New macro.
+       (gcn_s1_name): Delete global variable.
+       (gcn_s2_name): Delete global variable.
+       (gcn_o_name): Delete global variable.
+       (gcn_cfile_name): Delete global variable.
+       (files_to_cleanup): New global variable.
+       (offload_abi): New global variable.
+       (tool_cleanup): Use files_to_cleanup, not explicit list.
+       (copy_early_debug_info): New function.
+       (main): New local variables gcn_s1_name, gcn_s2_name, gcn_o_name,
+       gcn_cfile_name.
+       Create files_to_cleanup obstack.
+       Recognize -march options.
+       Copy early debug info from input .o files.
+
+2020-07-16  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * Makefile.in (TAGS): Remove 'params.def'.
+
+2020-07-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * target.def (TARGET_TRULY_NOOP_TRUNCATION): Clarify that
+       targets that return false, indicating SUBREGs shouldn't be
+       used, also need to provide a trunc?i?i2 optab that performs this
+       truncation.
+       * doc/tm.texi: Regenerate.
+
+2020-07-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * config/i386/sync.md
+       (peephole2 to remove unneded compare after CMPXCHG): New pattern.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/96198
+       * omp-general.h (struct omp_for_data): Rename min_inner_iterations
+       member to first_inner_iterations, adjust comment.
+       * omp-general.c (omp_extract_for_data): Adjust for the above change.
+       Always use n1first and n2first to compute it, rather than depending
+       on single_nonrect_cond_code.  Similarly, always compute factor
+       as (m2 - m1) * outer_step / inner_step rather than sometimes m1 - m2
+       depending on single_nonrect_cond_code.
+       * omp-expand.c (expand_omp_for_init_vars): Rename min_inner_iterations
+       to first_inner_iterations and min_inner_iterationsd to
+       first_inner_iterationsd.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96174
+       * config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
+       _mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask,
+       _mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask,
+       _mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask,
+       _mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask,
+       _mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask,
+       _mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask,
+       _mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask,
+       _mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask,
+       _mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask,
+       _mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask,
+       _mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask,
+       _mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask,
+       _mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask,
+       _mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask,
+       _mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask,
+       _mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded
+       section.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96176
+       * builtins.c: Include gimple-ssa.h, tree-ssa-live.h and
+       tree-outof-ssa.h.
+       (expand_expr_force_mode): If exp is a SSA_NAME with different mode
+       from MODE and get_gimple_for_ssa_name is a cast from MODE, use the
+       cast's rhs.
+
+2020-07-15  Jiufu Guo   <guojiufu@cn.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_loop_unroll_adjust): Refine hook.
+
+2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.md (rotldi3_insert_sf): Add TARGET_POWERPC64
+       condition.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add
+       TARGET_POWERPC64 requirement to TARGET_P8_VECTOR case.
+
+2020-07-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/49973
+       PR other/86904
+       * common.opt: Handle -ftabstop here instead of in c-family
+       options.  Add -fdiagnostics-column-unit= and
+       -fdiagnostics-column-origin= options.
+       * opts.c (common_handle_option): Handle the new options.
+       * diagnostic-format-json.cc (json_from_expanded_location): Add
+       diagnostic_context argument.  Use it to convert column numbers as per
+       the new options.
+       (json_from_location_range): Likewise.
+       (json_from_fixit_hint): Likewise.
+       (json_end_diagnostic): Pass the new context argument to helper
+       functions above.  Add "column-origin" field to the output.
+       (test_unknown_location): Add the new context argument to calls to
+       helper functions.
+       (test_bad_endpoints): Likewise.
+       * diagnostic-show-locus.c
+       (exploc_with_display_col::exploc_with_display_col): Support
+       tabstop parameter.
+       (layout_point::layout_point): Make use of class
+       exploc_with_display_col.
+       (layout_range::layout_range): Likewise.
+       (struct line_bounds): Clarify that the units are now always
+       display columns.  Rename members accordingly.  Add constructor.
+       (layout::print_source_line): Add support for tab expansion.
+       (make_range): Adapt to class layout_range changes.
+       (layout::maybe_add_location_range): Likewise.
+       (layout::layout): Adapt to class exploc_with_display_col changes.
+       (layout::calculate_x_offset_display): Support tabstop parameter.
+       (layout::print_annotation_line): Adapt to struct line_bounds changes.
+       (layout::print_line): Likewise.
+       (line_label::line_label): Add diagnostic_context argument.
+       (get_affected_range): Likewise.
+       (get_printed_columns): Likewise.
+       (layout::print_any_labels): Adapt to struct line_label changes.
+       (class correction): Add m_tabstop member.
+       (correction::correction): Add tabstop argument.
+       (correction::compute_display_cols): Use m_tabstop.
+       (class line_corrections): Add m_context member.
+       (line_corrections::line_corrections): Add diagnostic_context argument.
+       (line_corrections::add_hint): Use m_context to handle tabstops.
+       (layout::print_trailing_fixits): Adapt to class line_corrections
+       changes.
+       (test_layout_x_offset_display_utf8): Support tabstop parameter.
+       (test_layout_x_offset_display_tab): New selftest.
+       (test_one_liner_colorized_utf8): Likewise.
+       (test_tab_expansion): Likewise.
+       (test_diagnostic_show_locus_one_liner_utf8): Call the new tests.
+       (diagnostic_show_locus_c_tests): Likewise.
+       (test_overlapped_fixit_printing): Adapt to helper class and
+       function changes.
+       (test_overlapped_fixit_printing_utf8): Likewise.
+       (test_overlapped_fixit_printing_2): Likewise.
+       * diagnostic.h (enum diagnostics_column_unit): New enum.
+       (struct diagnostic_context): Add members for the new options.
+       (diagnostic_converted_column): Declare.
+       (json_from_expanded_location): Add new context argument.
+       * diagnostic.c (diagnostic_initialize): Initialize new members.
+       (diagnostic_converted_column): New function.
+       (maybe_line_and_column): Be willing to output a column of 0.
+       (diagnostic_get_location_text): Convert column number as per the new
+       options.
+       (diagnostic_report_current_module): Likewise.
+       (assert_location_text): Add origin and column_unit arguments for
+       testing the new functionality.
+       (test_diagnostic_get_location_text): Test the new functionality.
+       * doc/invoke.texi: Document the new options and behavior.
+       * input.h (location_compute_display_column): Add tabstop argument.
+       * input.c (location_compute_display_column): Likewise.
+       (test_cpp_utf8): Add selftests for tab expansion.
+       * tree-diagnostic-path.cc (default_tree_make_json_for_path): Pass the
+       new context argument to json_from_expanded_location().
+
+2020-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96194
+       * expr.c (expand_constructor): Don't create temporary for store to
+       volatile MEM if exp has an addressable type.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * hash-map.h (hash_map::get): Note it is a pointer to value.
+       * incpath.h (incpath_kind): Align comments.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * tree-core.h (tree_decl_with_vis, tree_function_decl):
+       Note additional padding on 64-bits
+       * tree.c (cache_integer_cst): Note why no caching of enum literals.
+       (get_tree_code_name): Robustify error case.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/gty.texi: Fic gt_cleare_cache name.
+       * doc/invoke.texi: Remove duplicate opindex Wabi-tag.
+
+2020-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data): Add adjn1 member.
+       * omp-general.c (omp_extract_for_data): For non-rect loop, punt on
+       count computing if n1, n2 or step are not INTEGER_CST earlier.
+       Narrow the outer iterator range if needed so that non-rect loop
+       has at least one iteration for each outer range iteration.  Compute
+       adjn1.
+       * omp-expand.c (expand_omp_for_init_vars): Use adjn1 if non-NULL
+       instead of the outer loop's n1.
+
+2020-07-14  Matthias Klose  <doko@ubuntu.com>
+
+       PR lto/95604
+       * lto-wrapper.c (merge_and_complain): Add decoded options as parameter,
+       error on different values for -fcf-protection.
+       (append_compiler_options): Pass -fcf-protection option.
+       (find_and_merge_options): Add decoded options as parameter,
+       pass decoded_options to merge_and_complain.
+       (run_gcc): Pass decoded options to find_and_merge_options.
+       * lto-opts.c (lto_write_options): Pass -fcf-protection option.
+
+2020-07-13  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (sibcall_local): Merge sibcall_local32
+       and sibcall_local64.
+       (sibcall_value_local): Similarly.
+
+2020-07-13  Nathan Sidwell  <nathan@acm.org>
+
+       * Makefile.in (distclean): Remove long gone cxxmain.c
+
+2020-07-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95443
+       * config/i386/i386.md (cmpstrnsi): Pass a copy of the string
+       length to cmpstrnqi patterns.
+
+2020-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/96130
+       * ipa-fnsummary.c (analyze_function_body): Treat NULL bb->aux
+       as false predicate.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96163
+       * tree-vect-slp.c (vect_schedule_slp_instance): Put new stmts
+       at least after region begin.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
+       __ARM_FEATURE_PAC_DEFAULT support.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       * doc/extend.texi: Update the text for  __builtin_return_address.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
+       Disable return address signing if __builtin_eh_return is used.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       PR target/94791
+       * config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare.
+       * config/aarch64/aarch64.c (aarch64_return_addr_rtx): New.
+       (aarch64_return_addr): Use aarch64_return_addr_rtx.
+       * config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
+
+2020-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95114
+       * tree.h (virtual_method_call_p): Add a default-false parameter
+       that indicates whether the function is being called from dump
+       routines.
+       (obj_type_ref_class): Likewise.
+       * tree.c (virtual_method_call_p): Likewise.
+       * ipa-devirt.c (obj_type_ref_class): Likewise.  Lazily add ODR
+       type information for the type when the parameter is false.
+       * tree-pretty-print.c (dump_generic_node): Update calls to
+       virtual_method_call_p and obj_type_ref_class accordingly.
+
+2020-07-13  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Do not strip
+       GOMP_MAP_TO_PSET/GOMP_MAP_POINTER for OpenACC enter/exit data
+       directives (see also PR92929).
+
+2020-07-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * convert.c (convert_to_integer_1): Narrow integer operations
+       even on targets that require explicit truncation instructions.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * config/cris/cris-passes.def: New file.
+       * config/cris/t-cris (PASSES_EXTRA): Add cris-passes.def.
+       * config/cris/cris.c: Add infrastructure bits and pass execute
+       function cris_postdbr_cmpelim.
+       * config/cris/cris-protos.h (make_pass_cris_postdbr_cmpelim): Declare.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/t-cris: Remove gt-cris.h-related excessive cargo.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * config/cris/cris.md ("*add<mode>3_addi"): New splitter.
+       ("*addi_b_<mode>"): New pattern.
+       ("*addsi3<setnz>"): Remove stale %-related comment.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("setnz_subst", "setnz_subst", "setcc_subst"):
+       Use match_dup in output template, not match_operand.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       * var-tracking.c (bb_heap_node_t): Remove unused typedef.
+       (vt_find_locations): Eliminate visited bitmap in favor of
+       RPO order check.  Dump statistics about the number of
+       local BB dataflow computes.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94600
+       * expr.c (expand_constructor): Make a temporary also if we're
+       storing to volatile memory.
+
+2020-07-13  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (rotl_unspec): New
+       define_insn_and_split.
+
+2020-07-13  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init):
+       Move V4SF to V4SI, init vector like V4SI and move to V4SF back.
+
+2020-07-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * internal-fn.c (expand_mul_overflow): When checking for signed
+       overflow from a widening multiplication, we access the truncated
+       lowpart RES twice, so keep this value in a pseudo register.
+
+2020-07-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/96146
+       * value-range.cc (value_range::set): Only decompose POLY_INT_CST
+       bounds to integers for VR_RANGE.  Decay to VR_VARYING for anti-ranges
+       involving POLY_INT_CSTs.
+
+2020-07-10  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/77373
+       * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Only
+       create named section for VAR_DECL or FUNCTION_DECL.
+
+2020-07-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * glimits.h [__STDC_VERSION__ > 201710L] (BOOL_MAX, BOOL_WIDTH):
+       New macros.
+
+2020-07-10  Alexander Popov  <alex.popov@linux.com>
+
+       * shrink-wrap.c (try_shrink_wrapping): Improve debug output.
+
+2020-07-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/96151
+       * expr.c (expand_expr_real_2): When reducing bit fields,
+       clear the target if it has a different mode from the expression.
+       (reduce_to_bit_field_precision): Don't do that here.  Instead
+       assert that the target already has the correct mode.
+
+2020-07-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * config/arm/arm.c (arm_attribute_table): Add
+       "Advanced SIMD type".
+       (arm_comp_type_attributes): Check that the "Advanced SIMD type"
+       attributes are equal.
+       * config/arm/arm-builtins.c: Include stringpool.h and
+       attribs.h.
+       (arm_mangle_builtin_vector_type): Use the mangling recorded
+       in the "Advanced SIMD type" attribute.
+       (arm_init_simd_builtin_types): Add an "Advanced SIMD type"
+       attribute to each Advanced SIMD type, using the mangled type
+       as the attribute's single argument.
+
+2020-07-10  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/vsx.md  (VSX_MM): New define_mode_iterator.
+       (VSX_MM4): New define_mode_iterator.
+       (vec_mtvsrbmi): New define_insn.
+       (vec_mtvsr_<mode>): New define_insn.
+       (vec_cntmb_<mode>): New define_insn.
+       (vec_extract_<mode>): New define_insn.
+       (vec_expand_<mode>): New define_insn.
+       (define_c_enum unspec): Add entries UNSPEC_MTVSBM, UNSPEC_VCNTMB,
+       UNSPEC_VEXTRACT, UNSPEC_VEXPAND.
+       * config/rs6000/altivec.h ( vec_genbm, vec_genhm, vec_genwm,
+       vec_gendm, vec_genqm, vec_cntm, vec_expandm, vec_extractm): Add
+       defines.
+       * config/rs6000/rs6000-builtin.def: Add defines BU_P10_2, BU_P10_1.
+       (BU_P10_1): Add definitions for mtvsrbm, mtvsrhm, mtvsrwm,
+       mtvsrdm, mtvsrqm, vexpandmb, vexpandmh, vexpandmw, vexpandmd,
+       vexpandmq, vextractmb, vextractmh, vextractmw, vextractmd, vextractmq.
+       (BU_P10_2): Add definitions for cntmbb, cntmbh, cntmbw, cntmbd.
+       (BU_P10_OVERLOAD_1): Add definitions for mtvsrbm, mtvsrhm,
+       mtvsrwm, mtvsrdm, mtvsrqm, vexpandm, vextractm.
+       (BU_P10_OVERLOAD_2): Add defition for cntm.
+       * config/rs6000/rs6000-call.c (rs6000_expand_binop_builtin): Add
+       checks for CODE_FOR_vec_cntmbb_v16qi, CODE_FOR_vec_cntmb_v8hi,
+       CODE_FOR_vec_cntmb_v4si, CODE_FOR_vec_cntmb_v2di.
+       (altivec_overloaded_builtins): Add overloaded argument entries for
+       P10_BUILTIN_VEC_MTVSRBM, P10_BUILTIN_VEC_MTVSRHM,
+       P10_BUILTIN_VEC_MTVSRWM, P10_BUILTIN_VEC_MTVSRDM,
+       P10_BUILTIN_VEC_MTVSRQM, P10_BUILTIN_VEC_VCNTMBB,
+       P10_BUILTIN_VCNTMBB, P10_BUILTIN_VCNTMBH,
+       P10_BUILTIN_VCNTMBW, P10_BUILTIN_VCNTMBD,
+       P10_BUILTIN_VEXPANDMB, P10_BUILTIN_VEXPANDMH,
+       P10_BUILTIN_VEXPANDMW, P10_BUILTIN_VEXPANDMD,
+       P10_BUILTIN_VEXPANDMQ, P10_BUILTIN_VEXTRACTMB,
+       P10_BUILTIN_VEXTRACTMH, P10_BUILTIN_VEXTRACTMW,
+       P10_BUILTIN_VEXTRACTMD, P10_BUILTIN_VEXTRACTMQ.
+       (builtin_function_type): Add case entries for P10_BUILTIN_MTVSRBM,
+       P10_BUILTIN_MTVSRHM, P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM,
+       P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB, P10_BUILTIN_VCNTMBH,
+       P10_BUILTIN_VCNTMBW, P10_BUILTIN_VCNTMBD,
+       P10_BUILTIN_VEXPANDMB, P10_BUILTIN_VEXPANDMH,
+       P10_BUILTIN_VEXPANDMW, P10_BUILTIN_VEXPANDMD,
+       P10_BUILTIN_VEXPANDMQ.
+       * config/rs6000/rs6000-builtin.def (altivec_overloaded_builtins): Add
+       entries for MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM, VCNTM,
+       VEXPANDM, VEXTRACTM.
+
+2020-07-10  Bill Seurer, 507-253-3502, seurer@us.ibm.com  <(no_default)>
+
+       PR target/95581
+       * config/rs6000/rs6000-call.c: Add new type v16qi_ftype_pcvoid.
+       (altivec_init_builtins) Change __builtin_altivec_mask_for_load to use
+       v16qi_ftype_pcvoid with correct number of parameters.
+
+2020-07-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96144
+       * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Check
+       TARGET_AVX512VL when enabling FMA.
+
+2020-07-10  Andrea Corallo  <andrea.corallo@arm.com>
+           Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Iain Apreotesei  <iain.apreotesei@arm.com>
+
+       * config/arm/arm-protos.h (arm_target_insn_ok_for_lob): New
+       prototype.
+       * config/arm/arm.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
+       (arm_invalid_within_doloop): Implement invalid_within_doloop hook.
+       (arm_target_insn_ok_for_lob): New function.
+       * config/arm/arm.h (TARGET_HAVE_LOB): Define macro.
+       * config/arm/thumb2.md (*doloop_end_internal, doloop_begin)
+       (dls_insn): Add new patterns.
+       (doloop_end): Modify to select LR when LOB is available.
+       * config/arm/unspecs.md: Add new unspec.
+       * doc/sourcebuild.texi (arm_v8_1_lob_ok)
+       (arm_thumb2_ok_no_arm_v8_1_lob): Document new target supports
+       options.
+
+2020-07-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96133
+       * gimple-fold.c (fold_array_ctor_reference): Do not
+       recurse to folding a CTOR that does not fully cover the
+       asked for object.
+
+2020-07-10  Cui,Lili  <lili.cui@intel.com>
+
+       * common/config/i386/cpuinfo.h
+       (get_intel_cpu): Handle sapphirerapids.
+       * common/config/i386/i386-common.c
+       (processor_names): Add sapphirerapids and alderlake.
+       (processor_alias_table): Add sapphirerapids and alderlake.
+       * common/config/i386/i386-cpuinfo.h
+       (processor_subtypes): Add INTEL_COREI7_ALDERLAKE and
+       INTEL_COREI7_ALDERLAKE.
+       * config.gcc: Add -march=sapphirerapids and alderlake.
+       * config/i386/driver-i386.c
+       (host_detect_local_cpu) Handle sapphirerapids and alderlake.
+       * config/i386/i386-c.c
+       (ix86_target_macros_internal): Handle sapphirerapids and alderlake.
+       * config/i386/i386-options.c
+       (m_SAPPHIRERAPIDS) : Define.
+       (m_ALDERLAKE): Ditto.
+       (m_CORE_AVX512) : Add m_SAPPHIRERAPIDS.
+       (processor_cost_table): Add sapphirerapids and alderlake.
+       (ix86_option_override_internal) Handle PTA_WAITPKG, PTA_ENQCMD,
+       PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK.
+       * config/i386/i386.h
+       (ix86_size_cost) : Define SAPPHIRERAPIDS and ALDERLAKE.
+       (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
+       PROCESSOR_ALDERLAKE.
+       (PTA_ENQCMD): New.
+       (PTA_CLDEMOTE): Ditto.
+       (PTA_SERIALIZE): Ditto.
+       (PTA_TSXLDTRK): New.
+       (PTA_SAPPHIRERAPIDS): Ditto.
+       (PTA_ALDERLAKE): Ditto.
+       (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
+       PROCESSOR_ALDERLAKE.
+       * doc/extend.texi: Add sapphirerapids and alderlake.
+       * doc/invoke.texi: Add sapphirerapids and alderlake.
+
+2020-07-10  Martin Liska  <mliska@suse.cz>
+
+       * dumpfile.c [profile-report]: Add new profile dump.
+       * dumpfile.h (enum tree_dump_index): Ad TDI_profile_report.
+       * passes.c (pass_manager::dump_profile_report): Change stderr
+       to dump_file.
+
+2020-07-10  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_transform_loop): Use LOOP_VINFO_NITERS which
+       is adjusted by considering peeled prologue for non
+       vect_use_loop_mask_for_alignment_p cases.
+
+2020-07-09  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96125
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Define the MMA
+       specific types __vector_quad and __vector_pair, and initialize the
+       MMA built-ins if TARGET_EXTRA_BUILTINS is set.
+       (mma_init_builtins): Don't test for mask set in rs6000_builtin_mask.
+       Remove now unneeded mask variable.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Add the
+       OPTION_MASK_MMA flag for power10 if not already set.
+
+2020-07-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96133
+       * tree-vect-slp.c (vect_build_slp_tree_1): Compare load_p
+       status between stmts.
+
+2020-07-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/88713
+       * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Enable FMA.
+       * config/i386/sse.md (VF_AVX512VL_VF1_128_256): New.
+       (rsqrt<mode>2): Replace VF1_128_256 with VF_AVX512VL_VF1_128_256.
+       (rsqrtv16sf2): Removed.
+
+2020-07-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_verify_datarefs_alignment): Remove.
+       (vect_slp_analyze_and_verify_instance_alignment): Rename to ...
+       (vect_slp_analyze_instance_alignment): ... this.
+       * tree-vect-data-refs.c (verify_data_ref_alignment): Remove.
+       (vect_verify_datarefs_alignment): Likewise.
+       (vect_enhance_data_refs_alignment): Do not call
+       vect_verify_datarefs_alignment.
+       (vect_slp_analyze_node_alignment): Rename from
+       vect_slp_analyze_and_verify_node_alignment and do not
+       call verify_data_ref_alignment.
+       (vect_slp_analyze_instance_alignment): Rename from
+       vect_slp_analyze_and_verify_instance_alignment.
+       * tree-vect-stmts.c (vectorizable_store): Dump when
+       we vectorize an unaligned access.
+       (vectorizable_load): Likewise.
+       * tree-vect-loop.c (vect_analyze_loop_2): Do not call
+       vect_verify_datarefs_alignment.
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Adjust.
+
+2020-07-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95804
+       * tree-loop-distribution.c (break_alias_scc_partitions): Force
+       negative post order to reduction partition.
+
+2020-07-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data): Add min_inner_iterations
+       and factor members.
+       * omp-general.c (omp_extract_for_data): Initialize them and remember
+       them in OMP_CLAUSE_COLLAPSE_COUNT if needed and restore from there.
+       * omp-expand.c (expand_omp_for_init_counts): Fix up computation of
+       counts[fd->last_nonrect] if fd->loop.n2 is INTEGER_CST.
+       (expand_omp_for_init_vars): For
+       fd->first_nonrect + 1 == fd->last_nonrect loops with for now
+       INTEGER_CST fd->loop.n2 find quadratic equation roots instead of
+       using fallback method when possible.
+
+2020-07-09  Omar Tahir  <omar.tahir@arm.com>
+
+       * ira.c (move_unallocated_pseudos): Zero first_moveable_pseudo and
+       last_moveable_pseudo before returning.
+
+2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
+       __ARM_FEATURE_BTI_DEFAULT support.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
+       New declaration.
+       * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
+       stub registers class.
+       (aarch64_class_max_nregs): Likewise.
+       (aarch64_register_move_cost): Likewise.
+       (aarch64_sls_shared_thunks): Global array to store stub labels.
+       (aarch64_sls_emit_function_stub): New.
+       (aarch64_create_blr_label): New.
+       (aarch64_sls_emit_blr_function_thunks): New.
+       (aarch64_sls_emit_shared_blr_thunks): New.
+       (aarch64_asm_file_end): New.
+       (aarch64_indirect_call_asm): New.
+       (TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
+       (TARGET_ASM_FUNCTION_EPILOGUE): Use
+       aarch64_sls_emit_blr_function_thunks.
+       * config/aarch64/aarch64.h (STB_REGNUM_P): New.
+       (enum reg_class): Add STUB_REGS class.
+       (machine_function): Introduce `call_via` array for
+       function-local stub labels.
+       * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
+       aarch64_indirect_call_asm to emit code when hardening BLR
+       instructions.
+       * config/aarch64/constraints.md (Ucr): New constraint
+       representing registers for indirect calls.  Is GENERAL_REGS
+       usually, and STUB_REGS when hardening BLR instruction against
+       SLS.
+       * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
+       is also a general register.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
+       * config/aarch64/aarch64.c (aarch64_output_casesi): Emit
+       speculation barrier after BR instruction if needs be.
+       (aarch64_trampoline_init): Handle ptr_mode value & adjust size
+       of code copied.
+       (aarch64_sls_barrier): New.
+       (aarch64_asm_trampoline_template): Add needed barriers.
+       * config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
+       (TARGET_SB): New.
+       (TRAMPOLINE_SIZE): Account for barrier.
+       * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
+       simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
+       Emit barrier if needs be, also account for possible barrier using
+       "sls_length" attribute.
+       (sls_length): New attribute.
+       (length): Determine default using any non-default sls_length
+       value.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
+       New.
+       (aarch64_harden_sls_blr_p): New.
+       * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
+       New.
+       (aarch64_harden_sls_retbr_p): New.
+       (aarch64_harden_sls_blr_p): New.
+       (aarch64_validate_sls_mitigation): New.
+       (aarch64_override_options): Parse options for SLS mitigation.
+       * config/aarch64/aarch64.opt (-mharden-sls): New option.
+       * doc/invoke.texi: Document new option.
+
+2020-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-stmts.c (vectorizable_condition): Prohibit vectorization
+       with partial vectors explicitly excepting for EXTRACT_LAST_REDUCTION
+       or nested-cycle reduction.
+
+2020-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_analyze_loop_2): Update dumping string
+       for fully masking to be more common.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.md (get_thread_pointer<mode>): New.
+       (TP_REGNUM): Ditto.
+       * doc/extend.texi (Target Builtins): Add RISC-V built-in section.
+       Document __builtin_thread_pointer.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls):
+       Abort if any arguments on stack.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Do not fold if
+       either type has reverse scalar storage order.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not propagate through
+       a memory copy if either type has reverse scalar storage order.
+
+2020-07-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/gcn/mkoffload.c (compile_native, main): Pass -fPIC/-fpic
+       on to the native compiler, if used.
+       * config/nvptx/mkoffload.c (compile_native, main): Likewise.
+
+2020-07-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_vmsumudm): New define.
+       * config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec.
+         (altivec_vmsumudm): New define_insn.
+       * config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3
+         entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add entries for
+         ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum.
+       * doc/extend.texi: Add document for vmsumudm behind vmsum.
+
+2020-07-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (get_group_load_store_type): Pass
+       in the SLP node and the alignment support scheme output.
+       Set that.
+       (get_load_store_type): Likewise.
+       (vectorizable_store): Adjust.
+       (vectorizable_load): Likewise.
+
+2020-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95694
+       * expr.c (expand_expr_real_2): Get the mode from the type rather
+       than the rtx, and assert that it is consistent with the mode of
+       the rtx (where known).  Optimize all constant integers, not just
+       those that can be represented in poly_int64.
+
+2020-07-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/vsx.md (len_load_v16qi): New define_expand.
+       (len_store_v16qi): Likewise.
+
+2020-07-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/md.texi (len_load_@var{m}): Document.
+       (len_store_@var{m}): Likewise.
+       * internal-fn.c (len_load_direct): New macro.
+       (len_store_direct): Likewise.
+       (expand_len_load_optab_fn): Likewise.
+       (expand_len_store_optab_fn): Likewise.
+       (direct_len_load_optab_supported_p): Likewise.
+       (direct_len_store_optab_supported_p): Likewise.
+       (expand_mask_load_optab_fn): New macro.  Original renamed to ...
+       (expand_partial_load_optab_fn): ... here.  Add handlings for
+       len_load_optab.
+       (expand_mask_store_optab_fn): New macro.  Original renamed to ...
+       (expand_partial_store_optab_fn): ... here. Add handlings for
+       len_store_optab.
+       (internal_load_fn_p): Handle IFN_LEN_LOAD.
+       (internal_store_fn_p): Handle IFN_LEN_STORE.
+       (internal_fn_stored_value_index): Handle IFN_LEN_STORE.
+       * internal-fn.def (LEN_LOAD): New internal function.
+       (LEN_STORE): Likewise.
+       * optabs.def (len_load_optab, len_store_optab): New optab.
+
+2020-07-07  Anton Youdkevitch  <anton.youdkevitch@bell-sw.com>
+
+       * config/aarch64/aarch64.c (thunderx2t99_regmove_cost,
+       thunderx2t99_vector_cost): Likewise.
+
+2020-07-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix
+       group overlap condition to allow negative step DR groups.
+       * tree-vect-stmts.c (get_group_load_store_type): For
+       multi element SLP groups force VMAT_STRIDED_SLP when the step
+       is negative.
+
+2020-07-07  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * doc/generic.texi: Fix typo.
+
+2020-07-07  Richard Biener  <rguenther@suse.de>
+
+       * lto-streamer-out.c (cmp_symbol_files): Use the computed
+       order map to sort symbols from the same sub-file together.
+       (lto_output): Compute a map of sub-file to an order number
+       it appears in the symbol output array.
+
+2020-07-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96075
+       * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
+       TYPE_SIZE_UNIT of the vector component type instead of DR_STEP
+       for the misalignment calculation for negative step.
+
+2020-07-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (*vadd_addsi4): New instruction.
+       (*vsub_addsi4): New instruction.
+
+2020-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md (movulsr): New peephole2.
+
+2020-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/sync.md ("cris_atomic_fetch_<atomic_op_name><mode>_1"):
+       Correct gcc_assert of overlapping operands.
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_select_cc_mode): Always return
+       CC_NZmode for matching comparisons.  Clarify comments.
+       * config/cris/cris-modes.def: Clarify mode comment.
+       * config/cris/cris.md (plusminus, plusminusumin, plusumin): New
+       code iterators.
+       (addsub, addsubbo, nd): New code iterator attributes.
+       ("*<addsub><su>qihi"): Rename from "*extopqihi".  Use code
+       iterator constructs instead of match_operator constructs.
+       ("*<addsubbo><su><nd><mode>si<setnz>"): Similar from
+       "*extop<mode>si<setnz>".
+       ("*add<su>qihi_swap"): Similar from "*addxqihi_swap".
+       ("*<addsubbo><su><nd><mode>si<setnz>_swap"): Similar from
+       "*extop<mode>si<setnz>_swap".
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("*extopqihi", "*extop<mode>si<setnz>_swap")
+       ("*extop<mode>si<setnz>", "*addxqihi_swap"): Reinstate.
+
+2020-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that
+       were initially created for the assignment of a variable-sized
+       object and whose source is now a string constant.
+       * gimple-ssa-store-merging.c (struct merged_store_group): Document
+       STRING_CST for rhs_code field.
+       Add string_concatenation boolean field.
+       (merged_store_group::merged_store_group): Initialize it as well as
+       bit_insertion here.
+       (merged_store_group::do_merge): Set it upon seeing a STRING_CST.
+       Also set bit_insertion here upon seeing a BIT_INSERT_EXPR.
+       (merged_store_group::apply_stores): Clear it for small regions.
+       Do not create a power-of-2-sized buffer if it is still true.
+       And do not set bit_insertion here again.
+       (encode_tree_to_bitpos): Deal with BLKmode for the expression.
+       (merged_store_group::can_be_merged_into): Deal with STRING_CST.
+       (imm_store_chain_info::coalesce_immediate_stores): Set bit_insertion
+       to true after changing MEM_REF stores into BIT_INSERT_EXPR stores.
+       (count_multiple_uses): Return 0 for STRING_CST.
+       (split_group): Do not split the group for a string concatenation.
+       (imm_store_chain_info::output_merged_store): Constify and rename
+       some local variables.  Build an array type as destination type
+       for a string concatenation, as well as a zero mask, and call
+       build_string to build the source.
+       (lhs_valid_for_store_merging_p): Return true for VIEW_CONVERT_EXPR.
+       (pass_store_merging::process_store): Accept STRING_CST on the RHS.
+       * gimple.h (gimple_call_alloca_for_var_p): New accessor function.
+       * gimplify.c (gimplify_modify_expr_to_memcpy): Set alloca_for_var.
+       * tree.h (CALL_ALLOCA_FOR_VAR_P): Document it for BUILT_IN_MEMCPY.
+
+2020-07-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96040
+       * ipa-sra.c (all_callee_accesses_present_p): Do not accept type
+       mismatched accesses.
+
+2020-07-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (popcount<mode>2): New instructions.
+       (mulhishi3, mulsidi3, umulhisi3, umulsidi3): New instructions.
+
+2020-07-03  Martin Liska  <mliska@suse.cz>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/96046
+       * gcov-dump.c (tag_function): Use gcov_position_t
+       type.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96037
+       * tree-vect-stmts.c (vect_is_simple_use): Initialize *slp_def.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Cost the
+       original non-pattern stmts, look at the pattern stmt
+       vectorization status.
+
+2020-07-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (fold_left_plus_<mode>): New.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vec_info::insert_on_entry): New.
+       (vec_info::insert_seq_on_entry): Likewise.
+       * tree-vectorizer.c (vec_info::insert_on_entry): Implement.
+       (vec_info::insert_seq_on_entry): Likewise.
+       * tree-vect-stmts.c (vect_init_vector_1): Use
+       vec_info::insert_on_entry.
+       (vect_finish_stmt_generation): Set modified bit after
+       adjusting VUSE.
+       * tree-vect-slp.c (vect_create_constant_vectors): Simplify
+       by using vec_info::insert_seq_on_entry and bypassing
+       vec_init_vector.
+       (vect_schedule_slp_instance): Deal with all-constant
+       children later.
+
+2020-07-03  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       PR target/90932
+       * config/nvptx/nvptx.c (nvptx_vector_alignment): Use tree_to_uhwi
+       to access TYPE_SIZE (type).  Return at least the mode's alignment.
+
+2020-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96028
+       * tree-vect-slp.c (vect_slp_convert_to_external): Make sure
+       we have scalar stmts to use.
+       (vect_slp_analyze_node_operations): When analyzing a child
+       failed try externalizing the parent node.
+
+2020-07-02  Martin Jambor  <mjambor@suse.cz>
+
+       PR debug/95343
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Adjust
+       argument index if necessary.
+
+2020-07-02  Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/95830
+       * tree-vect-generic.c (expand_vector_condition): Forward declaration.
+       (expand_vector_comparison): Do not expand a comparison if all
+       uses are consumed by a VEC_COND_EXPR.
+       (expand_vector_operation): Change void return type to bool.
+       (expand_vector_operations_1): Pass dce_ssa_names.
+
+2020-07-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR bootstrap/95700
+       * system.h (NULL): Redefine to nullptr.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95857
+       * tree-cfg.c (group_case_labels_stmt): When removing an unreachable
+       base_bb, remember all forced and non-local labels on it and later
+       treat those as if they have NULL label_to_block.  Formatting fix.
+       Fix a comment typo.
+
+2020-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96022
+       * tree-vect-stmts.c (vectorizable_shift): Only use the
+       first vector stmt when extracting the scalar shift amount.
+       * tree-vect-slp.c (vect_build_slp_tree_2): Also build unary
+       nodes with all-scalar children from scalars but not stores.
+       (vect_analyze_slp_instance): Mark the node not failed.
+
+2020-07-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95961
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use the
+       number of scalars instead of the number of vectors as an upper bound
+       for the loop saving info about DR in the hash table.  Remove unused
+       local variables.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for): Diagnose non-rectangular loops with
+       invalid steps - ((m2 - m1) * incr_outer) % incr must be 0 in valid
+       OpenMP non-rectangular loops.  Use XALLOCAVEC.
+
+2020-07-02  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/95348
+       * coverage.c (read_counts_file): Read only COUNTERS that are
+       not all-zero.
+       * gcov-dump.c (tag_function): Change signature from unsigned to
+       signed integer.
+       (tag_blocks): Likewise.
+       (tag_arcs): Likewise.
+       (tag_lines): Likewise.
+       (tag_counters): Likewise.
+       (tag_summary): Likewise.
+       * gcov.c (read_count_file): Read all non-zero counters
+       sensitively.
+
+2020-07-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (arch_canonicalize): Handle
+       multi-letter extension.
+       Using underline as separator between different extensions.
+
+2020-07-01  Pip Cet  <pipcet@gmail.com>
+
+       * spellcheck.c (test_data): Add problematic strings.
+       (test_metric_conditions): Don't test the triangle inequality
+       condition, which our distance function does not satisfy.
+
+2020-07-01  Omar Tahir  <omar.tahir@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Always
+       generate a BTI instruction.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/94882
+       * match.pd (x & y) - (x | y) - 1 -> ~(x ^ y): New simplification.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       * config/m68k/m68k.c (m68k_output_btst): Drop "register" keyword.
+       (emit_move_sequence, output_iorsi3, output_xorsi3): Likewise.
+
+2020-07-01  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add enums
+       for 64bits fpsr/fpcr getter setters builtin variants.
+       (aarch64_init_fpsr_fpcr_builtins): New function.
+       (aarch64_general_init_builtins): Modify to make use of the later.
+       (aarch64_expand_fpsr_fpcr_setter): New function.
+       (aarch64_general_expand_builtin): Modify to make use of the later.
+       * config/aarch64/aarch64.md (@aarch64_set_<fpscr_name><GPI:mode>)
+       (@aarch64_get_<fpscr_name><GPI:mode>): New patterns replacing and
+       generalizing 'get_fpcr', 'set_fpsr'.
+       * config/aarch64/iterators.md (GET_FPSCR, SET_FPSCR): New int
+       iterators.
+       (fpscr_name): New int attribute.
+       * doc/extend.texi (__builtin_aarch64_get_fpcr64)
+       (__builtin_aarch64_set_fpcr64, __builtin_aarch64_get_fpsr64)
+       (__builtin_aarch64_set_fpsr64): Add into AArch64 Built-in
+       Functions.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (print_usage): Avoid trailing space for -j option.
+
+2020-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * tree-vect-slp.c (vect_slp_tree_uniform_p): Pre-existing
+       vectors are not uniform.
+       (vect_build_slp_tree_1): Handle BIT_FIELD_REFs of
+       vector registers.
+       (vect_build_slp_tree_2): For groups of lane extracts
+       from a vector register generate a permute node
+       with a special child representing the pre-existing vector.
+       (vect_prologue_cost_for_slp): Pre-existing vectors cost nothing.
+       (vect_slp_analyze_node_operations): Use SLP_TREE_LANES.
+       (vectorizable_slp_permutation): Do not generate or cost identity
+       permutes.
+       (vect_schedule_slp_instance): Handle pre-existing vector
+       that are function arguments.
+
+2020-07-01  Richard Biener  <rguenther@suse.de>
+
+       * system.h (INCLUDE_ISL): New guarded include.
+       * graphite-dependences.c: Use it.
+       * graphite-isl-ast-to-gimple.c: Likewise.
+       * graphite-optimize-isl.c: Likewise.
+       * graphite-poly.c: Likewise.
+       * graphite-scop-detection.c: Likewise.
+       * graphite-sese-to-poly.c: Likewise.
+       * graphite.c: Likewise.
+       * graphite.h: Drop the includes here.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (print_usage): Shorted option description for -j
+       option.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * doc/gcov.texi: Rename 2 options.
+       * gcov.c (print_usage): Rename -i,--json-format to
+       -j,--json-format and -j,--human-readable to -H,--human-readable.
+       (process_args): Fix up parsing.  Document obsolete options and
+       how are they changed.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       * config/pa/pa.c (pa_emit_move_sequence): Drop register keyword.
+       (pa_output_ascii): Likewise.
+
+2020-07-01  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_subset_t): New field
+       added.
+       (riscv_subset_list::parsing_subset_version): Add parameter for
+       indicate explicitly version, and handle explicitly version.
+       (riscv_subset_list::handle_implied_ext): Ditto.
+       (riscv_subset_list::add): Ditto.
+       (riscv_subset_t::riscv_subset_t): Init new field.
+       (riscv_subset_list::to_string): Always output version info if version
+       explicitly specified.
+       (riscv_subset_list::parsing_subset_version): Handle explicitly
+       arch version.
+       (riscv_subset_list::parse_std_ext): Ditto.
+       (riscv_subset_list::parse_multiletter_ext): Ditto.
+
+2020-06-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * config/aarch64/aarch64.c (aarch64_attribute_table): Add
+       "Advanced SIMD type".
+       (aarch64_comp_type_attributes): Check that the "Advanced SIMD type"
+       attributes are equal.
+       * config/aarch64/aarch64-builtins.c: Include stringpool.h and
+       attribs.h.
+       (aarch64_mangle_builtin_vector_type): Use the mangling recorded
+       in the "Advanced SIMD type" attribute.
+       (aarch64_init_simd_builtin_types): Add an "Advanced SIMD type"
+       attribute to each Advanced SIMD type, using the mangled type
+       as the attribute's single argument.
+
+2020-06-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94743
+       * config/arm/arm.c (arm_handle_isr_attribute): Warn if
+       -mgeneral-regs-only is not used.
+
+2020-06-30  Yang Yang  <yangyang305@huawei.com>
+
+       PR tree-optimization/95855
+       * gimple-ssa-split-paths.c (is_feasible_trace): Add extra
+       checks to recognize a missed if-conversion opportunity when
+       judging whether to duplicate a block.
+
+2020-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * doc/extend.texi: Change references to "future architecture" to
+       "ISA 3.1", "-mcpu=future" to "-mcpu=power10", and remove vaguer
+       references to "future" (because the future is now).
+
+2020-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (isa): Rename "fut" to "p10".
+
+2020-06-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_distributive_operation): New function
+       to un-distribute a binary operation of two binary operations.
+       (X & C) ^ (Y & C) to (X ^ Y) & C, when C is simple (i.e. a constant).
+       (simplify_binary_operation_1) <IOR, XOR, AND>: Call it from here
+       when appropriate.
+       (test_scalar_int_ops): New function for unit self-testing
+       scalar integer transformations in simplify-rtx.c.
+       (test_scalar_ops): Call test_scalar_int_ops for each integer mode.
+       (simplify_rtx_c_tests): Call test_scalar_ops.
+
+2020-06-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95916
+       * tree-vect-slp.c (vect_schedule_slp_instance): Explicitely handle
+       the case of not vectorized externals.
+
+2020-06-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h: Do not include <utility>.
+
+2020-06-29  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Use gsi_bb
+       instead of gimple_stmt_iterator::bb.
+       * tree-ssa-math-opts.c (insert_reciprocals): Likewise.
+       * tree-vectorizer.h: Likewise.
+
+2020-06-29  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): New macro.
+       * config/gcn/gcn-protos.h (gcn_dwarf_register_number): New prototype.
+       * config/gcn/gcn.c (gcn_expand_prologue): Add RTX_FRAME_RELATED_P
+       and REG_FRAME_RELATED_EXPR to stack and frame pointer adjustments.
+       (gcn_dwarf_register_number): New function.
+       (gcn_dwarf_register_span): New function.
+       (TARGET_DWARF_REGISTER_SPAN): New hook macro.
+
+2020-06-29  Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95854
+       * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Return NULL
+       if operand 1 or 2 of a BIT_FIELD_REF cannot be converted to
+       unsigned HOST_WIDE_INT.
+
+2020-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (epilogue_renumber): Remove register.
+       (sparc_print_operand_address): Likewise.
+       (sparc_type_code): Likewise.
+       (set_extends): Likewise.
+
+2020-06-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * optc-save-gen.awk: Add exceptions for arc target.
+
+2020-06-29  Frederik Harwath  <frederik@codesourcery.com>
+
+       * doc/sourcebuild.texi: Describe globbing of the
+       dump file scanning commands "suffix" argument.
+
+2020-06-28  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/86568
+       * calls.c (maybe_warn_rdwr_sizes): Use location of argument if
+       available.
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Same.  Adjust
+       indentation.
+       * tree.c (get_nonnull_args): Consider the this pointer implicitly
+       nonnull.
+       * var-tracking.c (deps_vec): New type.
+       (var_loc_dep_vec): New function.
+       (VAR_LOC_DEP_VEC): Use it.
+
+2020-06-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       * internal-fn.c (direct_mask_load_optab_supported_p): Use
+       convert_optab_supported_p instead of direct_optab_supported_p.
+       (direct_mask_store_optab_supported_p): Likewise.
+
+2020-06-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp-analyze.h (vrp_visit_cond_stmt): Use
+       simplify_using_ranges class.
+       * gimple-ssa-evrp.c (class evrp_folder): New simplify_using_ranges
+       field.  Adjust all methods to use new field.
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Use
+       simplify_using_ranges class.
+       * tree-vrp.c (class vrp_folder): New simplify_using_ranges
+       field.  Adjust all methods to use new field.
+       (simplify_stmt_for_jump_threading): Use simplify_using_ranges class.
+       (vrp_prop::vrp_finalize): New vrp_folder argument.
+       (execute_vrp): Pass folder to vrp_finalize.  Use
+       simplify_using_ranges class.
+       Remove cleanup_edges_and_switches call.
+       * vr-values.c (vr_values::op_with_boolean_value_range_p): Change
+       value_range_equiv uses to value_range.
+       (simplify_using_ranges::op_with_boolean_value_range_p): Use
+       simplify_using_ranges class.
+       (check_for_binary_op_overflow): Make static.
+       (vr_values::extract_range_basic): Pass this to
+       check_for_binary_op_overflow.
+       (compare_range_with_value): Change value_range_equiv uses to
+       value_range.
+       (vr_values::vr_values): Initialize simplifier field.
+       Remove uses of to_remove_edges and to_update_switch_stmts.
+       (vr_values::~vr_values): Remove uses of to_remove_edges and
+       to_update_switch_stmts.
+       (vr_values::get_vr_for_comparison): Move to simplify_using_ranges
+       class.
+       (vr_values::compare_name_with_value): Same.
+       (vr_values::compare_names): Same.
+       (vr_values::vrp_evaluate_conditional_warnv_with_ops): Same.
+       (vr_values::vrp_evaluate_conditional): Same.
+       (vr_values::vrp_visit_cond_stmt): Same.
+       (find_case_label_ranges): Change value_range_equiv uses to
+       value_range.
+       (vr_values::extract_range_from_stmt): Use simplify_using_ranges class.
+       (vr_values::simplify_truth_ops_using_ranges): Move to
+       simplify_using_ranges class.
+       (vr_values::simplify_div_or_mod_using_ranges): Same.
+       (vr_values::simplify_min_or_max_using_ranges): Same.
+       (vr_values::simplify_abs_using_ranges): Same.
+       (vr_values::simplify_bit_ops_using_ranges): Same.
+       (test_for_singularity): Change value_range_equiv uses to
+       value_range.
+       (range_fits_type_p): Same.
+       (vr_values::simplify_cond_using_ranges_1): Same.
+       (vr_values::simplify_cond_using_ranges_2): Make extern.
+       (vr_values::fold_cond): Move to simplify_using_ranges class.
+       (vr_values::simplify_switch_using_ranges): Same.
+       (vr_values::cleanup_edges_and_switches): Same.
+       (vr_values::simplify_float_conversion_using_ranges): Same.
+       (vr_values::simplify_internal_call_using_ranges): Same.
+       (vr_values::two_valued_val_range_p): Same.
+       (vr_values::simplify_stmt_using_ranges): Move to...
+       (simplify_using_ranges::simplify): ...here.
+       * vr-values.h (class vr_values): Move all the simplification of
+       statements using ranges methods and code from here...
+       (class simplify_using_ranges): ...to here.
+       (simplify_cond_using_ranges_2): New extern prototype.
+
+2020-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data_loop): Add non_rect_referenced
+       member, move outer member.
+       (struct omp_for_data): Add first_nonrect and last_nonrect members.
+       * omp-general.c (omp_extract_for_data): Initialize first_nonrect,
+       last_nonrect and non_rect_referenced members.
+       * omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular
+       loops.
+       (expand_omp_for_init_vars): Add nonrect_bounds parameter.  Handle
+       non-rectangular loops.
+       (extract_omp_for_update_vars): Likewise.
+       (expand_omp_for_generic, expand_omp_for_static_nochunk,
+       expand_omp_for_static_chunk, expand_omp_simd,
+       expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): Adjust
+       expand_omp_for_init_vars and extract_omp_for_update_vars callers.
+       (expand_omp_for): Don't sorry on non-composite worksharing-loop or
+       distribute.
+
+2020-06-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95655
+       * config/i386/gnu-user.h (SUBTARGET_FRAME_POINTER_REQUIRED):
+       Removed.
+       * config/i386/i386.c (ix86_frame_pointer_required): Update
+       comments.
+
+2020-06-26  Yichao Yu  <yyc1992@gmail.com>
+
+       * multiple_target.c (redirect_to_specific_clone): Fix tests
+       to check individual attribute rather than an attribute list.
+
+2020-06-26  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (cpu_is_info) <power10>: New.
+       * doc/extend.texi (PowerPC Built-in Functions): Document power10,
+       arch_3_1 and mma.
+
+2020-06-26  Marek Polacek  <polacek@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
+       * doc/standards.texi (C Language): Correct the default dialect.
+       (C++ Language): Update the default for C++ to gnu++17.
+
+2020-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-reassoc.c (dump_range_entry): New function.
+       (debug_range_entry): New debug function.
+       (update_range_test): Invoke dump_range_entry for dumping.
+       (optimize_range_tests_to_bit_test): Merge the entry test in the
+       bit test when possible and lower the profitability threshold.
+
+2020-06-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95897
+       * tree-vectorizer.h (vectorizable_induction): Remove
+       unused gimple_stmt_iterator * parameter.
+       * tree-vect-loop.c (vectorizable_induction): Likewise.
+       (vect_analyze_loop_operations): Adjust.
+       * tree-vect-stmts.c (vect_analyze_stmt): Likewise.
+       (vect_transform_stmt): Likewise.
+       * tree-vect-slp.c (vect_schedule_slp_instance): Adjust
+       for fold-left reductions, clarify existing reduction case.
+
+2020-06-25  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.md (movsicc): Disable pattern.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove premature
+       check on the number of datarefs.
+
+2020-06-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/rs6000/rs6000-call.c (mma_init_builtins): Cast
+       the insn_data n_operands value to unsigned.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_schedule_slp_instance): Always use
+       vector defs to determine insertion place.
+
+2020-06-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95874
+       * config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB.
+       (PTA_ICELAKE_SERVER): Add PTA_CLWB.
+       (PTA_TIGERLAKE): Add PTA_CLWB.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * tree-vect-stmts.c (vectorizable_shift): Reject incompatible
+       vectorized shift operands.  For scalar shifts use lane zero
+       of a vectorized shift operand.
+
+2020-06-25  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/95745
+       PR middle-end/95830
+       * gimple-isel.cc (gimple_expand_vec_cond_exprs): Delete dead
+       SSA_NAMEs used as the first argument of a VEC_COND_EXPR.  Always
+       return 0.
+       * tree-vect-generic.c (expand_vector_condition): Remove dead
+       SSA_NAMEs used as the first argument of a VEC_COND_EXPR.
+
+2020-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       PR target/94954
+       * config/rs6000/altivec.h (vec_pack_to_short_fp32): Update.
+       * config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec.
+       (convert_4f32_8f16): New define_expand
+       * config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define
+       and overload.
+       * config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New
+       overloaded builtin entry.
+       * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec.
+       (vsx_xvcvsphp): New define_insn.
+
+2020-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * simplify-rtx.c (simplify_unary_operation_1): Simplify rotates by 0.
+
+2020-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1): Simplify
+       (parity (parity x)) as (parity x), i.e. PARITY is idempotent.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * tree-vect-slp.c (vect_slp_tree_uniform_p): New.
+       (vect_build_slp_tree_2): Properly reset matches[0],
+       ignore uniform constants.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95660
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Remove brand_id.
+       (cpu_indicator_init): Likewise.
+       * config/i386/driver-i386.c (host_detect_local_cpu): Updated.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95774
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Add Cooper Lake
+       detection with AVX512BF16.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95843
+       * common/config/i386/i386-isas.h: New file.  Extracted from
+       gcc/config/i386/i386-builtins.c.
+       (_isa_names_table): Add option.
+       (ISA_NAMES_TABLE_START): New.
+       (ISA_NAMES_TABLE_END): Likewise.
+       (ISA_NAMES_TABLE_ENTRY): Likewise.
+       (isa_names_table): Defined with ISA_NAMES_TABLE_START,
+       ISA_NAMES_TABLE_END and ISA_NAMES_TABLE_ENTRY.  Add more ISAs
+       from enum processor_features.
+       * config/i386/driver-i386.c: Include
+       "common/config/i386/cpuinfo.h" and
+       "common/config/i386/i386-isas.h".
+       (has_feature): New macro.
+       (host_detect_local_cpu): Call cpu_indicator_init to get CPU
+       features.  Use has_feature to detect processor features.  Call
+       Call get_intel_cpu to get the newer Intel CPU name.  Use
+       isa_names_table to generate command-line options.
+       * config/i386/i386-builtins.c: Include
+       "common/config/i386/i386-isas.h".
+       (_arch_names_table): Removed.
+       (isa_names_table): Likewise.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95259
+       * common/config/i386/cpuinfo.h: New file.
+       (__processor_model): Moved from libgcc/config/i386/cpuinfo.h.
+       (__processor_model2): New.
+       (CHECK___builtin_cpu_is): New.  Defined as empty if not defined.
+       (has_cpu_feature): New function.
+       (set_cpu_feature): Likewise.
+       (get_amd_cpu): Moved from libgcc/config/i386/cpuinfo.c.  Use
+       CHECK___builtin_cpu_is.  Return AMD CPU name.
+       (get_intel_cpu): Moved from libgcc/config/i386/cpuinfo.c.  Use
+       Use CHECK___builtin_cpu_is.  Return Intel CPU name.
+       (get_available_features): Moved from libgcc/config/i386/cpuinfo.c.
+       Also check FEATURE_3DNOW, FEATURE_3DNOWP, FEATURE_ADX,
+       FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT, FEATURE_CLWB,
+       FEATURE_CLZERO, FEATURE_CMPXCHG16B, FEATURE_CMPXCHG8B,
+       FEATURE_ENQCMD, FEATURE_F16C, FEATURE_FSGSBASE, FEATURE_FXSAVE,
+       FEATURE_HLE, FEATURE_IBT, FEATURE_LAHF_LM, FEATURE_LM,
+       FEATURE_LWP, FEATURE_LZCNT, FEATURE_MOVBE, FEATURE_MOVDIR64B,
+       FEATURE_MOVDIRI, FEATURE_MWAITX, FEATURE_OSXSAVE,
+       FEATURE_PCONFIG, FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW,
+       FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED,
+       FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA,
+       FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES,
+       FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC,
+       FEATURE_XSAVEOPT and FEATURE_XSAVES
+       (cpu_indicator_init): Moved from libgcc/config/i386/cpuinfo.c.
+       Also update cpu_model2.
+       * common/config/i386/i386-cpuinfo.h (processor_vendor): Add
+       Add VENDOR_CENTAUR, VENDOR_CYRIX and VENDOR_NSC.
+       (processor_features): Moved from gcc/config/i386/i386-builtins.c.
+       Renamed F_XXX to FEATURE_XXX.  Add FEATURE_3DNOW, FEATURE_3DNOWP,
+       FEATURE_ADX, FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT,
+       FEATURE_CLWB, FEATURE_CLZERO, FEATURE_CMPXCHG16B,
+       FEATURE_CMPXCHG8B, FEATURE_ENQCMD, FEATURE_F16C,
+       FEATURE_FSGSBASE, FEATURE_FXSAVE, FEATURE_HLE, FEATURE_IBT,
+       FEATURE_LAHF_LM, FEATURE_LM, FEATURE_LWP, FEATURE_LZCNT,
+       FEATURE_MOVBE, FEATURE_MOVDIR64B, FEATURE_MOVDIRI,
+       FEATURE_MWAITX, FEATURE_OSXSAVE, FEATURE_PCONFIG,
+       FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW,
+       FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED,
+       FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA,
+       FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES,
+       FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC,
+       FEATURE_XSAVEOPT, FEATURE_XSAVES and CPU_FEATURE_MAX.
+       (SIZE_OF_CPU_FEATURES): New.
+       * config/i386/i386-builtins.c (processor_features): Removed.
+       (isa_names_table): Replace F_XXX with FEATURE_XXX.
+       (fold_builtin_cpu): Change __cpu_features2 to an array.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95842
+       * common/config/i386/i386-common.c (processor_alias_table): Add
+       processor model and priority to each entry.
+       (pta_size): Updated with -6.
+       (num_arch_names): New.
+       * common/config/i386/i386-cpuinfo.h: New file.
+       * config/i386/i386-builtins.c (feature_priority): Removed.
+       (processor_model): Likewise.
+       (_arch_names_table): Likewise.
+       (arch_names_table): Likewise.
+       (_isa_names_table): Replace P_ZERO with P_NONE.
+       (get_builtin_code_for_version): Replace P_ZERO with P_NONE.  Use
+       processor_alias_table.
+       (fold_builtin_cpu): Replace arch_names_table with
+       processor_alias_table.
+       * config/i386/i386.h: Include "common/config/i386/i386-cpuinfo.h".
+       (pta): Add model and priority.
+       (num_arch_names): New.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_find_first_scalar_stmt_in_slp):
+       Declare.
+       * tree-vect-data-refs.c (vect_preserves_scalar_order_p):
+       Simplify for new position of vectorized SLP loads.
+       (vect_slp_analyze_node_dependences): Adjust for it.
+       (vect_slp_analyze_and_verify_node_alignment): Compute alignment
+       for the first stmts dataref.
+       * tree-vect-slp.c (vect_find_first_scalar_stmt_in_slp): New.
+       (vect_schedule_slp_instance): Emit loads before the
+       first scalar stmt.
+       * tree-vect-stmts.c (vectorizable_load): Do what the comment
+       says and use vect_find_first_scalar_stmt_in_slp.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95856
+       * tree-vectorizer.c (vect_stmt_dominates_stmt_p): Honor
+       region marker -1u.
+
+2020-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95810
+       * fold-const.c (fold_cond_expr_with_comparison): Optimize
+       A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A).
+
+2020-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (lower_omp_for): Fix two pastos.
+
+2020-06-24  Martin Liska  <mliska@suse.cz>
+
+       * optc-save-gen.awk: Compare string options in cl_optimization_compare
+       by strcmp.
+
+2020-06-23  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config.gcc: Identify power10 as a 64-bit processor and as valid
+       for --with-cpu and --with-tune.
+
+2020-06-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.in (LANG_MAKEFRAGS): Same.
+       (tmake_file): Use -include.
+       (xmake_file): Same.
+
+2020-06-23  Michael Meissner  <meissner@linux.ibm.com>
+
+       * REVISION: Delete file meant for a private branch.
+
+2020-06-23  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/95646
+       * config/arm/arm.c: (cmse_nonsecure_entry_clear_before_return): Use
+       'callee_saved_reg_p' instead of 'calL_used_or_fixed_reg_p'.
+
+2020-06-23  Alexandre Oliva  <oliva@adacore.com>
+
+       * collect-utils.h (dumppfx): New.
+       * collect-utils.c (dumppfx): Likewise.
+       * lto-wrapper.c (run_gcc): Set global dumppfx.
+       (compile_offload_image): Pass a -dumpbase on to mkoffload.
+       * config/nvptx/mkoffload.c (ptx_dumpbase): New.
+       (main): Handle incoming -dumpbase.  Set ptx_dumpbase.  Obey
+       save_temps.
+       (compile_native): Pass -dumpbase et al to compiler.
+       * config/gcn/mkoffload.c (gcn_dumpbase): New.
+       (main): Handle incoming -dumpbase.  Set gcn_dumpbase.  Obey
+       save_temps.  Pass -dumpbase et al to offload target compiler.
+       (compile_native): Pass -dumpbase et al to compiler.
+
+2020-06-23  Michael Meissner  <meissner@linux.ibm.com>
+
+       * REVISION: New file.
+
+2020-06-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/altivec.h: Use _ARCH_PWR10, not _ARCH_PWR_FUTURE.
+       Update comment for ISA 3.1.
+       * config/rs6000/altivec.md: Use TARGET_POWER10, not TARGET_FUTURE.
+       * config/rs6000/driver-rs6000.c (asm_names): Use -mpwr10 for power10
+       on AIX, and -mpower10 elsewhere.
+       * config/rs6000/future.md: Delete.
+       * config/rs6000/linux64.h: Update comments.  Use TARGET_POWER10, not
+       TARGET_FUTURE.
+       * config/rs6000/power10.md: New file.
+       * config/rs6000/ppc-auxv.h: Use PPC_PLATFORM_POWER10, not
+       PPC_PLATFORM_FUTURE.
+       * config/rs6000/rs6000-builtin.def: Update comments.  Use BU_P10V_*
+       names instead of BU_FUTURE_V_* names.  Use RS6000_BTM_P10 instead of
+       RS6000_BTM_FUTURE.  Use P10_BUILTIN_* instead of FUTURE_BUILTIN_*.
+       Use BU_P10_* instead of BU_FUTURE_*.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       _ARCH_PWR10 instead of _ARCH_PWR_FUTURE.
+       (altivec_resolve_overloaded_builtin): Use P10_BUILTIN_VEC_XXEVAL, not
+       FUTURE_BUILTIN_VEC_XXEVAL.
+       * config/rs6000/rs6000-call.c: Use P10_BUILTIN_*, not FUTURE_BUILTIN_*.
+       Update compiler messages.
+       * config/rs6000/rs6000-cpus.def: Update comments.  Use ISA_3_1_*, not
+       ISA_FUTURE_*.  Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE.
+       * config/rs6000/rs6000-opts.h: Use PROCESSOR_POWER10, not
+       PROCESSOR_FUTURE.
+       * config/rs6000/rs6000-string.c: Ditto.
+       * config/rs6000/rs6000-tables.opt (rs6000_cpu_opt_value): Use "power10"
+       instead of "future", reorder it to right after "power9".
+       * config/rs6000/rs6000.c: Update comments.  Use OPTION_MASK_POWER10,
+       not OPTION_MASK_FUTURE.  Use TARGET_POWER10, not TARGET_FUTURE.  Use
+       RS6000_BTM_P10, not RS6000_BTM_FUTURE.  Update compiler messages.
+       Use PROCESSOR_POWER10, not PROCESSOR_FUTURE.  Use ISA_3_1_MASKS_SERVER,
+       not ISA_FUTURE_MASKS_SERVER.
+       (rs6000_opt_masks): Use "power10" instead of "future".
+       (rs6000_builtin_mask_names): Ditto.
+       (rs6000_disable_incompatible_switches): Ditto.
+       * config/rs6000/rs6000.h: Use -mpower10, not -mfuture.  Use
+       -mcpu=power10, not -mcpu=future.  Use MASK_POWER10, not MASK_FUTURE.
+       Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE.  Use RS6000_BTM_P10,
+       not RS6000_BTM_FUTURE.
+       * config/rs6000/rs6000.md: Use "power10", not "future".  Use
+       TARGET_POWER10, not TARGET_FUTURE.  Include "power10.md", not
+       "future.md".
+       * config/rs6000/rs6000.opt (mfuture): Delete.
+       (mpower10): New.
+       * config/rs6000/t-rs6000: Use "power10.md", not "future.md".
+       * config/rs6000/vsx.md: Use TARGET_POWER10, not TARGET_FUTURE.
+
+2020-06-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * coretypes.h (first_type): Delete.
+       * recog.h (insn_gen_fn::operator()): Go back to using a decltype.
+
+2020-06-22  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * doc/sourcebuild.texi (arm_v8_1m_mve_fp_ok): Add item.
+       (arm_mve_hw): Likewise.
+
+2020-06-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95791
+       * config/i386/i386.c (ix86_dirflag_mode_needed): Skip
+       EXT_REX_SSE_REG_P.
+
+2020-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95770
+       * tree-vect-slp.c (vect_schedule_slp_instance): Also consider
+       external defs.
+
+2020-06-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_function_arg): Disallow vector arguments.
+       (gcn_return_in_memory): Return vectors in memory.
+
+2020-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.c (omp_extract_for_data): For triangular loops with
+       all loop invariant expressions constant where the innermost loop is
+       executed at least once compute number of iterations at compile time.
+
+2020-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.h (ASM_SPEC): Remove riscv_expand_arch call.
+       (DRIVER_SELF_SPECS): New.
+
+2020-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-builtins.c (RISCV_FTYPE_NAME0): New.
+       (RISCV_FTYPE_ATYPES0): New.
+       (riscv_builtins): Using RISCV_USI_FTYPE for frflags.
+       * config/riscv/riscv-ftypes.def: Remove VOID argument.
+
+2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config.gcc: Use t-aix64, biarch64 and default64 for cpu_is_64bit.
+       * config/rs6000/aix72.h (ASM_SPEC): Remove aix64 option.
+       (ASM_SPEC32): New.
+       (ASM_SPEC64): New.
+       (ASM_CPU_SPEC): Remove vsx and altivec options.
+       (CPP_SPEC_COMMON): Rename from CPP_SPEC.
+       (CPP_SPEC32): New.
+       (CPP_SPEC64): New.
+       (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON..
+       (TARGET_DEFAULT): Only define if not BIARCH.
+       (LIB_SPEC_COMMON): Rename from LIB_SPEC.
+       (LIB_SPEC32): New.
+       (LIB_SPEC64): New.
+       (LINK_SPEC_COMMON): Rename from LINK_SPEC.
+       (LINK_SPEC32): New.
+       (LINK_SPEC64): New.
+       (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase.
+       (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P.
+       (CPP_SPEC): Same.
+       (CPLUSPLUS_CPP_SPEC): Same.
+       (LIB_SPEC): Same.
+       (LINK_SPEC): Same.
+       (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs.
+       * config/rs6000/defaultaix64.h: New file.
+       * config/rs6000/t-aix64: New file.
+
+2020-06-21  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/predicates.md (mma_assemble_input_operand): New.
+       * config/rs6000/rs6000-builtin.def (BU_MMA_1, BU_MMA_V2, BU_MMA_3,
+       BU_MMA_5, BU_MMA_6, BU_VSX_1): Add support macros for defining MMA
+       built-in functions.
+       (ASSEMBLE_ACC, ASSEMBLE_PAIR, DISASSEMBLE_ACC, DISASSEMBLE_PAIR,
+       PMXVBF16GER2, PMXVBF16GER2NN, PMXVBF16GER2NP, PMXVBF16GER2PN,
+       PMXVBF16GER2PP, PMXVF16GER2, PMXVF16GER2NN, PMXVF16GER2NP,
+       PMXVF16GER2PN, PMXVF16GER2PP, PMXVF32GER, PMXVF32GERNN,
+       PMXVF32GERNP, PMXVF32GERPN, PMXVF32GERPP, PMXVF64GER, PMXVF64GERNN,
+       PMXVF64GERNP, PMXVF64GERPN, PMXVF64GERPP, PMXVI16GER2, PMXVI16GER2PP,
+       PMXVI16GER2S, PMXVI16GER2SPP, PMXVI4GER8, PMXVI4GER8PP, PMXVI8GER4,
+       PMXVI8GER4PP, PMXVI8GER4SPP, XVBF16GER2, XVBF16GER2NN, XVBF16GER2NP,
+       XVBF16GER2PN, XVBF16GER2PP, XVCVBF16SP, XVCVSPBF16, XVF16GER2,
+       XVF16GER2NN, XVF16GER2NP, XVF16GER2PN, XVF16GER2PP, XVF32GER,
+       XVF32GERNN, XVF32GERNP, XVF32GERPN, XVF32GERPP, XVF64GER, XVF64GERNN,
+       XVF64GERNP, XVF64GERPN, XVF64GERPP, XVI16GER2, XVI16GER2PP, XVI16GER2S,
+       XVI16GER2SPP, XVI4GER8, XVI4GER8PP, XVI8GER4, XVI8GER4PP, XVI8GER4SPP,
+       XXMFACC, XXMTACC, XXSETACCZ): Add MMA built-ins.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Use CONST_INT_P.
+       Allow zero constants.
+       (print_operand) <case 'A'>: New output modifier.
+       (rs6000_split_multireg_move): Add support for inserting accumulator
+       priming and depriming instructions.  Add support for splitting an
+       assemble accumulator pattern.
+       * config/rs6000/rs6000-call.c (mma_init_builtins, mma_expand_builtin,
+       rs6000_gimple_fold_mma_builtin): New functions.
+       (RS6000_BUILTIN_M): New macro.
+       (def_builtin): Handle RS6000_BTC_QUAD and RS6000_BTC_PAIR attributes.
+       (bdesc_mma): Add new MMA built-in support.
+       (htm_expand_builtin): Use RS6000_BTC_OPND_MASK.
+       (rs6000_invalid_builtin): Add handling of RS6000_BTM_FUTURE and
+       RS6000_BTM_MMA.
+       (rs6000_builtin_valid_without_lhs): Handle RS6000_BTC_VOID attribute.
+       (rs6000_gimple_fold_builtin): Call rs6000_builtin_is_supported_p
+       and rs6000_gimple_fold_mma_builtin.
+       (rs6000_expand_builtin): Call mma_expand_builtin.
+       Use RS6000_BTC_OPND_MASK.
+       (rs6000_init_builtins): Adjust comment.  Call mma_init_builtins.
+       (htm_init_builtins): Use RS6000_BTC_OPND_MASK.
+       (builtin_function_type): Handle VSX_BUILTIN_XVCVSPBF16 and
+       VSX_BUILTIN_XVCVBF16SP.
+       * config/rs6000/rs6000.h (RS6000_BTC_QUINARY, RS6000_BTC_SENARY,
+       RS6000_BTC_OPND_MASK, RS6000_BTC_QUAD, RS6000_BTC_PAIR,
+       RS6000_BTC_QUADPAIR, RS6000_BTC_GIMPLE): New defines.
+       (RS6000_BTC_PREDICATE, RS6000_BTC_ABS, RS6000_BTC_DST,
+       RS6000_BTC_TYPE_MASK, RS6000_BTC_ATTR_MASK): Adjust values.
+       * config/rs6000/mma.md (MAX_MMA_OPERANDS): New define_constant.
+       (UNSPEC_MMA_ASSEMBLE_ACC, UNSPEC_MMA_PMXVBF16GER2,
+       UNSPEC_MMA_PMXVBF16GER2NN, UNSPEC_MMA_PMXVBF16GER2NP,
+       UNSPEC_MMA_PMXVBF16GER2PN, UNSPEC_MMA_PMXVBF16GER2PP,
+       UNSPEC_MMA_PMXVF16GER2, UNSPEC_MMA_PMXVF16GER2NN,
+       UNSPEC_MMA_PMXVF16GER2NP, UNSPEC_MMA_PMXVF16GER2PN,
+       UNSPEC_MMA_PMXVF16GER2PP, UNSPEC_MMA_PMXVF32GER,
+       UNSPEC_MMA_PMXVF32GERNN, UNSPEC_MMA_PMXVF32GERNP,
+       UNSPEC_MMA_PMXVF32GERPN, UNSPEC_MMA_PMXVF32GERPP,
+       UNSPEC_MMA_PMXVF64GER, UNSPEC_MMA_PMXVF64GERNN,
+       UNSPEC_MMA_PMXVF64GERNP, UNSPEC_MMA_PMXVF64GERPN,
+       UNSPEC_MMA_PMXVF64GERPP, UNSPEC_MMA_PMXVI16GER2,
+       UNSPEC_MMA_PMXVI16GER2PP, UNSPEC_MMA_PMXVI16GER2S,
+       UNSPEC_MMA_PMXVI16GER2SPP, UNSPEC_MMA_PMXVI4GER8,
+       UNSPEC_MMA_PMXVI4GER8PP, UNSPEC_MMA_PMXVI8GER4,
+       UNSPEC_MMA_PMXVI8GER4PP, UNSPEC_MMA_PMXVI8GER4SPP,
+       UNSPEC_MMA_XVBF16GER2, UNSPEC_MMA_XVBF16GER2NN,
+       UNSPEC_MMA_XVBF16GER2NP, UNSPEC_MMA_XVBF16GER2PN,
+       UNSPEC_MMA_XVBF16GER2PP, UNSPEC_MMA_XVF16GER2, UNSPEC_MMA_XVF16GER2NN,
+       UNSPEC_MMA_XVF16GER2NP, UNSPEC_MMA_XVF16GER2PN, UNSPEC_MMA_XVF16GER2PP,
+       UNSPEC_MMA_XVF32GER, UNSPEC_MMA_XVF32GERNN, UNSPEC_MMA_XVF32GERNP,
+       UNSPEC_MMA_XVF32GERPN, UNSPEC_MMA_XVF32GERPP, UNSPEC_MMA_XVF64GER,
+       UNSPEC_MMA_XVF64GERNN, UNSPEC_MMA_XVF64GERNP, UNSPEC_MMA_XVF64GERPN,
+       UNSPEC_MMA_XVF64GERPP, UNSPEC_MMA_XVI16GER2, UNSPEC_MMA_XVI16GER2PP,
+       UNSPEC_MMA_XVI16GER2S, UNSPEC_MMA_XVI16GER2SPP, UNSPEC_MMA_XVI4GER8,
+       UNSPEC_MMA_XVI4GER8PP, UNSPEC_MMA_XVI8GER4, UNSPEC_MMA_XVI8GER4PP,
+       UNSPEC_MMA_XVI8GER4SPP, UNSPEC_MMA_XXMFACC, UNSPEC_MMA_XXMTACC): New.
+       (MMA_ACC, MMA_VV, MMA_AVV, MMA_PV, MMA_APV, MMA_VVI4I4I8,
+       MMA_AVVI4I4I8, MMA_VVI4I4I2, MMA_AVVI4I4I2, MMA_VVI4I4,
+       MMA_AVVI4I4, MMA_PVI4I2, MMA_APVI4I2, MMA_VVI4I4I4,
+       MMA_AVVI4I4I4): New define_int_iterator.
+       (acc, vv, avv, pv, apv, vvi4i4i8, avvi4i4i8, vvi4i4i2,
+       avvi4i4i2, vvi4i4, avvi4i4, pvi4i2, apvi4i2, vvi4i4i4,
+       avvi4i4i4): New define_int_attr.
+       (*movpxi): Add zero constant alternative.
+       (mma_assemble_pair, mma_assemble_acc): New define_expand.
+       (*mma_assemble_acc): New define_insn_and_split.
+       (mma_<acc>, mma_xxsetaccz, mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
+       mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
+       mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
+       mma_<vvi4i4i4>, mma_<avvi4i4i4>): New define_insn.
+       * config/rs6000/rs6000.md (define_attr "type"): New type mma.
+       * config/rs6000/vsx.md (UNSPEC_VSX_XVCVBF16SP): New.
+       (UNSPEC_VSX_XVCVSPBF16): Likewise.
+       (XVCVBF16): New define_int_iterator.
+       (xvcvbf16): New define_int_attr.
+       (vsx_<xvcvbf16>): New define_insn.
+       * doc/extend.texi: Document the mma built-ins.
+
+2020-06-21  Peter Bergner  <bergner@linux.ibm.com>
+           Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/mma.md: New file.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       __MMA__ for mma.
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Add support
+       for __vector_pair and __vector_quad types.
+       * config/rs6000/rs6000-cpus.def (OTHER_FUTURE_MASKS): Add
+       OPTION_MASK_MMA.
+       (POWERPC_MASKS): Likewise.
+       * config/rs6000/rs6000-modes.def (OI, XI): New integer modes.
+       (POI, PXI): New partial integer modes.
+       * config/rs6000/rs6000.c (TARGET_INVALID_CONVERSION): Define.
+       (rs6000_hard_regno_nregs_internal): Use VECTOR_ALIGNMENT_P.
+       (rs6000_hard_regno_mode_ok_uncached): Likewise.
+       Add support for POImode being allowed in VSX registers and PXImode
+       being allowed in FP registers.
+       (rs6000_modes_tieable_p): Adjust comment.
+       Add support for POImode and PXImode.
+       (rs6000_debug_reg_global) <print_tieable_modes>: Add OImode, POImode
+       XImode, PXImode, V2SImode, V2SFmode and CCFPmode..
+       (rs6000_setup_reg_addr_masks): Use VECTOR_ALIGNMENT_P.
+       Set up appropriate addr_masks for vector pair and vector quad addresses.
+       (rs6000_init_hard_regno_mode_ok): Add support for vector pair and
+       vector quad registers.  Setup reload handlers for POImode and PXImode.
+       (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_MMA.
+       (rs6000_option_override_internal): Error if -mmma is specified
+       without -mcpu=future.
+       (rs6000_slow_unaligned_access): Use VECTOR_ALIGNMENT_P.
+       (quad_address_p): Change size test to less than 16 bytes.
+       (reg_offset_addressing_ok_p): Add support for ISA 3.1 vector pair
+       and vector quad instructions.
+       (avoiding_indexed_address_p): Likewise.
+       (rs6000_emit_move): Disallow POImode and PXImode moves involving
+       constants.
+       (rs6000_preferred_reload_class): Prefer VSX registers for POImode
+       and FP registers for PXImode.
+       (rs6000_split_multireg_move): Support splitting POImode and PXImode
+       move instructions.
+       (rs6000_mangle_type): Adjust comment.  Add support for mangling
+       __vector_pair and __vector_quad types.
+       (rs6000_opt_masks): Add entry for mma.
+       (rs6000_builtin_mask_names): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE.
+       (rs6000_function_value): Use VECTOR_ALIGNMENT_P.
+       (address_to_insn_form): Likewise.
+       (reg_to_non_prefixed): Likewise.
+       (rs6000_invalid_conversion): New function.
+       * config/rs6000/rs6000.h (MASK_MMA): Define.
+       (BIGGEST_ALIGNMENT): Set to 512 if MMA support is enabled.
+       (VECTOR_ALIGNMENT_P): New helper macro.
+       (ALTIVEC_VECTOR_MODE): Use VECTOR_ALIGNMENT_P.
+       (RS6000_BTM_MMA): Define.
+       (RS6000_BTM_COMMON): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE.
+       (rs6000_builtin_type_index): Add RS6000_BTI_vector_pair and
+       RS6000_BTI_vector_quad.
+       (vector_pair_type_node): New.
+       (vector_quad_type_node): New.
+       * config/rs6000/rs6000.md: Include mma.md.
+       (define_mode_iterator RELOAD): Add POI and PXI.
+       * config/rs6000/t-rs6000 (MD_INCLUDES): Add mma.md.
+       * config/rs6000/rs6000.opt (-mmma): New.
+       * doc/invoke.texi: Document -mmma.
+
+2020-06-20  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95638
+       * tree-loop-distribution.c (pg_edge_callback_data): New field.
+       (loop_distribution::break_alias_scc_partitions): Record and restore
+       postorder information.  Fix memory leak.
+
+2020-06-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_related_vector_mode): Add ARG_UNUSED.
+       (output_file_start): Use const 'char *'.
+
+2020-06-19  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
+
+       PR tree-optimization/94880
+       * match.pd (A | B) - B -> (A & ~B): New simplification.
+
+2020-06-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Adjust
+       for lane permutations.
+
+2020-06-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95761
+       * tree-vect-slp.c (vect_schedule_slp_instance): Walk all
+       vectorized stmts for finding the last one.
+
+2020-06-18  Felix Yang  <felix.yang@huawei.com>
+
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Call
+       vect_relevant_for_alignment_p to filter out data references in
+       the loop whose alignment is irrelevant when trying loop peeling
+       to force alignment.
+
+2020-06-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*cmpqi_ext<mode>_1): Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       Rename from *cmpqi_ext_1.
+       (*cmpqi_ext<mode>_2): Ditto.  Rename from *cmpqi_ext_2.
+       (*cmpqi_ext<mode>_3): Ditto.  Rename from *cmpqi_ext_3.
+       (*cmpqi_ext<mode>_4): Ditto.  Rename from *cmpqi_ext_4.
+       (cmpi_ext_3): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*extv<mode>): Use SWI24 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.
+       (*extzv<mode>): Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.
+       (*extzvqi): Use SWI248 mode iterator instead of SImode for
+       ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate to
+       register_operand.
+       (*extzvqi_mem_rex64 and corresponding peephole2):  Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       (@insv<mode>_1): Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate to
+       register_operand.
+       (*insvqi_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the
+       first operand of ZERO_EXTRACT RTX.  Change ext_register_operand
+       predicate to register_operand.
+       (*insvqi_2): Ditto.
+       (*insvqi_3): Ditto.
+       (*insvqi_1_mem_rex64 and corresponding peephole2):  Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       (addqi_ext_1): New expander.
+       (*addqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *addqi_ext_1.
+       (*addqi_ext<mode>_2): Ditto. Rename from *addqi_ext_2.
+       (divmodqi4): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (udivmodqi4): Ditto.
+       (testqi_ext_1): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*testqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *testqi_ext_1.
+       (*testqi_ext<mode>_2): Ditto.  Rename from *testqi_ext_2.
+       (andqi_ext_1): New expander.
+       (*andqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from andqi_ext_1.
+       (*andqi_ext<mode>_1_cc): Ditto.  Rename from *andqi_ext_1_cc.
+       (*andqi_ext<mode>_2): Ditto.  Rename from *andqi_ext_2.
+       (*<code>qi_ext<mode>_1): Ditto.  Rename from *<code>qi_ext_1.
+       (*<code>qi_ext<mode>_2): Ditto.  Rename from *<code>qi_ext_2.
+       (xorqi_ext_1_cc): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*xorqi_ext<mode>_1_cc):  Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *xorqi_ext_1_cc.
+       * config/i386/i386-expand.c (ix86_split_idivmod): Emit ZERO_EXTRACT
+       in mode, matching its first operand.
+       (promote_duplicated_reg): Update for renamed insv<mode>_1.
+       * config/i386/predicates.md (ext_register_operand): Remove predicate.
+
+2020-06-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95667
+       PR middle-end/92814
+       * builtins.c (compute_objsize): Remove call to
+       compute_builtin_object_size and instead compute conservative sizes
+       directly here.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * coretypes.h (struct iterator_range): New type.
+       * tree-vect-patterns.c (vect_determine_precisions): Use
+       range-based iterator.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c (_bb_vec_info):  Likewise.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vect_slp_check_for_constructors): Likewise.
+       * tree-vectorizer.h:Add new iterators
+       and functions that use it.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000-call.c (fold_build_vec_cmp):
+       Since 502d63b6d6141597bb18fd23c87736a1b384cf8f, first argument
+       of a VEC_COND_EXPR cannot be tcc_comparison and so that
+       a SSA_NAME needs to be created before we use it for the first
+       argument of the VEC_COND_EXPR.
+       (fold_compare_helper): Pass gsi to fold_build_vec_cmp.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95739
+       * internal-fn.c (expand_vect_cond_optab_fn): Move the result
+       to the target if necessary.
+       (expand_vect_cond_mask_optab_fn): Likewise.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-reassoc.c (ovce_extract_ops): Replace *vcond with
+       vcond as we check for NULL pointer.
+
+2020-06-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimple-pretty-print.c (dump_binary_rhs): Use braces to
+       silence empty-body warning with gcc_fallthrough.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95699
+       * tree-ssa-phiopt.c (minmax_replacement): Treat (signed int)x < 0
+       as x > INT_MAX and (signed int)x >= 0 as x <= INT_MAX.  Move variable
+       declarations to the statements that set them where possible.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95713
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Don't allow
+       scalar mode halfvectype other than vector boolean for
+       VEC_PACK_TRUNC_EXPR.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       * varasm.c (assemble_variable): Make sure to not
+       defer output when outputting addressed constants.
+       (output_constant_def_contents): Likewise.
+       (add_constant_to_table): Take and pass on whether to
+       defer output.
+       (output_addressed_constants): Likewise.
+       (output_constant_def): Pass on whether to defer output
+       to add_constant_to_table.
+       (tree_output_constant_def): Defer output of constants.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::two_operators): Remove.
+       (_slp_tree::lane_permutation): New member.
+       (_slp_tree::code): Likewise.
+       (SLP_TREE_TWO_OPERATORS): Remove.
+       (SLP_TREE_LANE_PERMUTATION): New.
+       (SLP_TREE_CODE): Likewise.
+       (vect_stmt_dominates_stmt_p): Declare.
+       * tree-vectorizer.c (vect_stmt_dominates_stmt_p): New function.
+       * tree-vect-stmts.c (vect_model_simple_cost): Remove
+       SLP_TREE_TWO_OPERATORS handling.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Amend.
+       (_slp_tree::~_slp_tree): Likewise.
+       (vect_two_operations_perm_ok_p): Remove.
+       (vect_build_slp_tree_1): Remove verification of two-operator
+       permutation here.
+       (vect_build_slp_tree_2): When we have two different operators
+       build two computation SLP nodes and a blend.
+       (vect_print_slp_tree): Print the lane permutation if it exists.
+       (slp_copy_subtree): Copy it.
+       (vect_slp_rearrange_stmts): Re-arrange it.
+       (vect_slp_analyze_node_operations_1): Handle SLP_TREE_CODE
+       VEC_PERM_EXPR explicitely.
+       (vect_schedule_slp_instance): Likewise.  Remove old
+       SLP_TREE_TWO_OPERATORS code.
+       (vectorizable_slp_permutation): New function.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * tree-vect-generic.c (expand_vector_condition): Check
+       for gassign before inspecting RHS.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (omp_notice_threadprivate_variable)
+       (omp_default_clause, omp_notice_variable): 'inform' after 'error'
+       diagnostic.  Adjust all users.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl ==
+       NULL_TREE' check earlier.
+
+2020-06-17  Forrest Timour  <forrest.timour@gmail.com>
+
+       * doc/extend.texi (attribute access): Fix a typo.
+
+2020-06-17  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95199
+       * tree-vect-stmts.c: Eliminate common stmts for bump and offset in
+       strided load/store operations and remove redundant code.
+
+2020-06-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * coretypes.h (first_type): New alias template.
+       * recog.h (insn_gen_fn::operator()): Use it instead of a decltype.
+       Remove spurious “...” and split the function type out into a typedef.
+
+2020-06-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_fix_long_loop_prediction): Exit early
+       for PARALLELs.
+
+2020-06-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Set the passed
+       in *vectype parameter.
+       (vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what
+       vect_build_slp_tree_1 computed.
+       (vect_analyze_slp_instance): Set SLP_TREE_VECTYPE.
+       (vect_slp_analyze_node_operations_1): Use the SLP node vector type.
+       (vect_schedule_slp_instance): Likewise.
+       * tree-vect-stmts.c (vect_is_simple_use): Take the vector type
+       from SLP_TREE_VECTYPE.
+
+2020-06-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95717
+       * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
+       Move BB SSA updating before exit/latch PHI current def copying.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Add new file.
+       * expr.c (expand_expr_real_2): Add gcc_unreachable as we should
+       not meet this condition.
+       (do_store_flag): Likewise.
+       * gimplify.c (gimplify_expr): Gimplify first argument of
+       VEC_COND_EXPR to be a SSA name.
+       * internal-fn.c (vec_cond_mask_direct): New.
+       (vec_cond_direct): Likewise.
+       (vec_condu_direct): Likewise.
+       (vec_condeq_direct): Likewise.
+       (expand_vect_cond_optab_fn):  New.
+       (expand_vec_cond_optab_fn): Likewise.
+       (expand_vec_condu_optab_fn): Likewise.
+       (expand_vec_condeq_optab_fn): Likewise.
+       (expand_vect_cond_mask_optab_fn): Likewise.
+       (expand_vec_cond_mask_optab_fn): Likewise.
+       (direct_vec_cond_mask_optab_supported_p): Likewise.
+       (direct_vec_cond_optab_supported_p): Likewise.
+       (direct_vec_condu_optab_supported_p): Likewise.
+       (direct_vec_condeq_optab_supported_p): Likewise.
+       * internal-fn.def (VCOND): New OPTAB.
+       (VCONDU): Likewise.
+       (VCONDEQ): Likewise.
+       (VCOND_MASK): Likewise.
+       * optabs.c (get_rtx_code): Make it global.
+       (expand_vec_cond_mask_expr): Removed.
+       (expand_vec_cond_expr): Removed.
+       * optabs.h (expand_vec_cond_expr): Likewise.
+       (vector_compare_rtx): Make it global.
+       * passes.def: Add new pass_gimple_isel pass.
+       * tree-cfg.c (verify_gimple_assign_ternary): Add check
+       for VEC_COND_EXPR about first argument.
+       * tree-pass.h (make_pass_gimple_isel): New.
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Prevent
+       propagation of the first argument of a VEC_COND_EXPR.
+       * tree-ssa-reassoc.c (ovce_extract_ops): Support SSA_NAME as
+       first argument of a VEC_COND_EXPR.
+       (optimize_vec_cond_expr): Likewise.
+       * tree-vect-generic.c (expand_vector_divmod): Make SSA_NAME
+       for a first argument of created VEC_COND_EXPR.
+       (expand_vector_condition): Fix coding style.
+       * tree-vect-stmts.c (vectorizable_condition): Gimplify
+       first argument.
+       * gimple-isel.cc: New file.
+
+2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text".
+       (BSS_SECTION_ASM_OP): Use ".bss".
+       (ASM_SPEC): Remove "-mattr=-code-object-v3".
+       (LINK_SPEC): Add "--export-dynamic".
+       * config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with
+       PROCESSOR_VEGA10 and PROCESSOR_VEGA20.
+       * config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant.
+       (load_image): Remove obsolete relocation handling.
+       Add ".kd" suffix to the symbol names.
+       * config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62.
+       (gcn_option_override): Update gcn_isa test.
+       (gcn_kernel_arg_types): Update all the assembler directives.
+       Remove the obsolete options.
+       (gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage.
+       (gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and
+       PROCESSOR_VEGA20.
+       (output_file_start): Rework assembler file header.
+       (gcn_hsa_declare_function_name): Rework kernel metadata.
+       * config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16.
+       * config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum.
+       (PROCESSOR_VEGA10): New enum value.
+       (PROCESSOR_VEGA20): New enum value.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       * gcov-dump.c (print_version): Collapse lisence header to 2 lines
+       in --version.
+       * gcov-tool.c (print_version): Likewise.
+       * gcov.c (print_version): Likewise.
+
+2020-06-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/95524
+       * config/i386/i386-expand.c
+       (ix86_expand_vec_shift_qihi_constant): New function.
+       * config/i386/i386-protos.h
+       (ix86_expand_vec_shift_qihi_constant): Declare.
+       * config/i386/sse.md (<shift_insn><mode>3): Optimize shift
+       V*QImode by constant.
+
+2020-06-16  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/95649
+       * tree-ssa-propagate.c (propagate_into_phi_args): Do not propagate unless
+       value is a constant.
+
+2020-06-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config.in: Regenerate.
+       * config/s390/s390.c (print_operand): Emit vector alignment hints
+       for target z13, if AS accepts them.  For other targets the logic
+       stays the same.
+       * config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
+       macro.
+       * configure: Regenerate.
+       * configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Correct the intrinsic
+       arguments.
+       (__arm_vaddq_m_n_s32): Likewise.
+       (__arm_vaddq_m_n_s16): Likewise.
+       (__arm_vaddq_m_n_u8): Likewise.
+       (__arm_vaddq_m_n_u32): Likewise.
+       (__arm_vaddq_m_n_u16): Likewise.
+       (__arm_vaddq_m): Modify polymorphic variant.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/mve.md (mve_uqrshll_sat<supf>_di): Correct the predicate
+       and constraint of all the operands.
+       (mve_sqrshrl_sat<supf>_di): Likewise.
+       (mve_uqrshl_si): Likewise.
+       (mve_sqrshr_si): Likewise.
+       (mve_uqshll_di): Likewise.
+       (mve_urshrl_di): Likewise.
+       (mve_uqshl_si): Likewise.
+       (mve_urshr_si): Likewise.
+       (mve_sqshl_si): Likewise.
+       (mve_srshr_si): Likewise.
+       (mve_srshrl_di): Likewise.
+       (mve_sqshll_di): Likewise.
+       * config/arm/predicates.md (arm_low_register_operand): Define.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_FOR_NON_RECTANGULAR): Define.
+       * gimplify.c (gimplify_omp_for): Diagnose schedule, ordered
+       or dist_schedule clause on non-rectangular loops.  Handle
+       gimplification of non-rectangular lb/b expressions.  When changing
+       iteration variable, adjust also non-rectangular lb/b expressions
+       referencing that.
+       * omp-general.h (struct omp_for_data_loop): Add m1, m2 and outer
+       members.
+       (struct omp_for_data): Add non_rect member.
+       * omp-general.c (omp_extract_for_data): Handle non-rectangular
+       loops.  Fill in non_rect, m1, m2 and outer.
+       * omp-low.c (lower_omp_for): Handle non-rectangular lb/b expressions.
+       * omp-expand.c (expand_omp_for): Emit sorry_at for unsupported
+       non-rectangular loop cases and assert for cases that can't be
+       non-rectangular.
+       * tree-pretty-print.c (dump_mem_ref): Formatting fix.
+       (dump_omp_loop_non_rect_expr): New function.
+       (dump_generic_node): Handle non-rectangular OpenMP loops.
+       * tree-pretty-print.h (dump_omp_loop_non_rect_expr): Declare.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Handle non-rectangular
+       OpenMP loops.
+
+2020-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95690
+       * varasm.c (build_constant_desc): Remove set_mem_attributes call.
+
+2020-06-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/95683
+       * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove
+       assertion and turn it into a early exit check.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
+       new ENSURE_SINGLE_ACCESS constant and move variables down.  If it is
+       true and all elements are zero, then always clear.  Return GS_ERROR
+       if a temporary would be created for it and NOTIFY_TEMP_CREATION set.
+       (gimplify_modify_expr_rhs) <VAR_DECL>: If the target is volatile but
+       the type is aggregate non-addressable, ask gimplify_init_constructor
+       whether it can generate a single access to the target.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar
+       access on the LHS is replaced with a scalar access, propagate the
+       TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Remove
+       TARGET_THREADPTR reference.
+       (xtensa_tls_symbol_p, xtensa_tls_referenced_p): Use
+       targetm.have_tls instead of TARGET_HAVE_TLS.
+       (xtensa_option_override): Set targetm.have_tls to false in
+       configurations without THREADPTR.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to
+       assembler/linker.
+       * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto.
+       * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto.
+       * config/xtensa/xtensa.c (xtensa_option_override): Initialize
+       xtensa_windowed_abi if needed.
+       * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New
+       macro.
+       (TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi.
+       * config/xtensa/xtensa.opt (xtensa_windowed_abi): New target
+       option variable.
+       (mabi=call0, mabi=windowed): New options.
+       * doc/invoke.texi: Document new -mabi= Xtensa-specific options.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (xtensa_can_eliminate): New function.
+       (TARGET_CAN_ELIMINATE): New macro.
+       * config/xtensa/xtensa.h
+       (XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM)
+       (XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM): New macros.
+       (HARD_FRAME_POINTER_REGNUM): Define using
+       XTENSA_*_HARD_FRAME_POINTER_REGNUM.
+       (ELIMINABLE_REGS): Replace lines with HARD_FRAME_POINTER_REGNUM
+       by lines with XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM and
+       XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM.
+
+2020-06-15  Felix Yang  <felix.yang@huawei.com>
+
+       * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Rename
+       parameter to loop_vinfo and update uses.  Use LOOP_VINFO_DATAREFS
+       when possible.
+       (vect_analyze_data_refs_alignment): Likewise, and use LOOP_VINFO_DDRS
+       when possible.
+       * tree-vect-loop.c (vect_dissolve_slp_only_groups): Use
+       LOOP_VINFO_DATAREFS when possible.
+       (update_epilogue_loop_vinfo): Likewise.
+
+2020-06-15  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_gen_gpr_save_insn): Change type to
+       unsigned for i.
+       (riscv_gpr_save_operation_p): Change type to unsigned for i and
+       len.
+
+2020-06-15   Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/95488
+       * config/i386/i386-expand.c (ix86_expand_vecmul_qihi): New
+       function.
+       * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Declare.
+       * config/i386/sse.md (mul<mode>3): Drop mask_name since
+       there's no real simd int8 multiplication instruction with
+       mask. Also optimize it under TARGET_AVX512BW.
+       (mulv8qi3): New expander.
+
+2020-06-12  Marco Elver  <elver@google.com>
+
+       * gimplify.c (gimplify_function_tree): Optimize and do not emit
+       IFN_TSAN_FUNC_EXIT in a finally block if we do not need it.
+       * params.opt: Add --param=tsan-instrument-func-entry-exit=.
+       * tsan.c (instrument_memory_accesses): Make
+       fentry_exit_instrument bool depend on new param.
+
+2020-06-12  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95570
+       * tree-vect-data-refs.c (vect_relevant_for_alignment_p): New function.
+       (vect_verify_datarefs_alignment): Call it to filter out data references
+       in the loop whose alignment is irrelevant.
+       (vect_get_peeling_costs_all_drs): Likewise.
+       (vect_peeling_supportable): Likewise.
+       (vect_enhance_data_refs_alignment): Likewise.
+
+2020-06-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95633
+       * tree-vect-stmts.c (vectorizable_condition): Properly
+       guard the vec_else_clause access with EXTRACT_LAST_REDUCTION.
+
+2020-06-12  Martin Liška  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Wrap weakref keyword.
+       * dbgcnt.c (dbg_cnt_set_limit_by_index): Do not print extra new
+       line.
+       * lto-wrapper.c (merge_and_complain): Wrap option names.
+
+2020-06-12  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vect_set_loop_condition_masked): Renamed to ...
+       (vect_set_loop_condition_partial_vectors): ... this.  Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       (vect_set_loop_condition_unmasked): Renamed to ...
+       (vect_set_loop_condition_normal): ... this.
+       (vect_set_loop_condition): Rename vect_set_loop_condition_unmasked to
+       vect_set_loop_condition_normal.  Rename vect_set_loop_condition_masked
+       to vect_set_loop_condition_partial_vectors.
+       (vect_prepare_for_masked_peels): Rename LOOP_VINFO_MASK_COMPARE_TYPE
+       to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       * tree-vect-loop.c (vect_known_niters_smaller_than_vf): New, factored
+       out from ...
+       (vect_analyze_loop_costing): ... this.
+       (_loop_vec_info::_loop_vec_info): Rename mask_compare_type to
+       compare_type.
+       (vect_min_prec_for_max_niters): New, factored out from ...
+       (vect_verify_full_masking): ... this.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       Rename LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       Rename LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vectorizable_reduction): Update some dumpings with partial
+       vectors instead of fully-masked.
+       (vectorizable_live_operation): Likewise.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): ... this.
+       * tree-vect-stmts.c (check_load_store_masking): Renamed to ...
+       (check_load_store_for_partial_vectors): ... this.  Update some
+       dumpings with partial vectors instead of fully-masked.
+       (vectorizable_store): Rename check_load_store_masking to
+       check_load_store_for_partial_vectors.
+       (vectorizable_load): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_MASK_COMPARE_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_COMPARE_TYPE): ... this.
+       (LOOP_VINFO_MASK_IV_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_IV_TYPE): ... this.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): this.
+       (_loop_vec_info): Rename mask_compare_type to rgroup_compare_type.
+       Rename iv_type to rgroup_iv_type.
+
+2020-06-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_gen_fn::f0, insn_gen_fn::f1, insn_gen_fn::f2)
+       (insn_gen_fn::f3, insn_gen_fn::f4, insn_gen_fn::f5, insn_gen_fn::f6)
+       (insn_gen_fn::f7, insn_gen_fn::f8, insn_gen_fn::f9, insn_gen_fn::f10)
+       (insn_gen_fn::f11, insn_gen_fn::f12, insn_gen_fn::f13)
+       (insn_gen_fn::f14, insn_gen_fn::f15, insn_gen_fn::f16): Delete.
+       (insn_gen_fn::operator()): Replace overloaded definitions with
+       a parameter-pack version.
+
+2020-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * config/i386/i386-features.c (rest_of_insert_endbranch):
+       Renamed to ...
+       (rest_of_insert_endbr_and_patchable_area): Change return type
+       to void. Add need_endbr and patchable_area_size arguments.
+       Don't call timevar_push nor timevar_pop.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.  Insert
+       UNSPECV_PATCHABLE_AREA for patchable area.
+       (pass_data_insert_endbranch): Renamed to ...
+       (pass_data_insert_endbr_and_patchable_area): This.  Change
+       pass name to endbr_and_patchable_area.
+       (pass_insert_endbranch): Renamed to ...
+       (pass_insert_endbr_and_patchable_area): This.  Add need_endbr
+       and patchable_area_size;.
+       (pass_insert_endbr_and_patchable_area::gate): Set and check
+       need_endbr and patchable_area_size.
+       (pass_insert_endbr_and_patchable_area::execute): Call
+       timevar_push and timevar_pop.  Pass need_endbr and
+       patchable_area_size to rest_of_insert_endbr_and_patchable_area.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386-passes.def: Replace pass_insert_endbranch
+       with pass_insert_endbr_and_patchable_area.
+       * config/i386/i386-protos.h (ix86_output_patchable_area): New.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386.c (ix86_asm_output_function_label): Set
+       function_label_emitted to true.
+       (ix86_print_patchable_function_entry): New function.
+       (ix86_output_patchable_area): Likewise.
+       (x86_function_profiler): Replace endbr_queued_at_entrance with
+       insn_queued_at_entrance.  Generate ENDBR only for TYPE_ENDBR.
+       Call ix86_output_patchable_area to generate patchable area if
+       needed.
+       (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): New.
+       * config/i386/i386.h (queued_insn_type): New.
+       (machine_function): Add function_label_emitted.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.
+       * config/i386/i386.md (UNSPECV_PATCHABLE_AREA): New.
+       (patchable_area): New.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000.c (rs6000_density_test): Fix GNU coding
+       style.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR target/95627
+       * config/rs6000/rs6000.c (rs6000_density_test): Skip debug
+       statements.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/95634
+       * asan.c (asan_emit_stack_protection): Fix emission for ilp32
+       by using Pmode instead of ptr_mode.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_mask): Renamed to ...
+       (vect_set_loop_control): ... this.
+       (vect_maybe_permute_loop_masks): Rename rgroup_masks related things.
+       (vect_set_loop_masks_directly): Renamed to ...
+       (vect_set_loop_controls_directly): ... this.  Also rename some
+       variables with ctrl instead of mask.  Rename vect_set_loop_mask to
+       vect_set_loop_control.
+       (vect_set_loop_condition_masked): Rename rgroup_masks related things.
+       Also rename some variables with ctrl instead of mask.
+       * tree-vect-loop.c (release_vec_loop_masks): Renamed to ...
+       (release_vec_loop_controls): ... this.  Rename rgroup_masks related
+       things.
+       (_loop_vec_info::~_loop_vec_info): Rename release_vec_loop_masks to
+       release_vec_loop_controls.
+       (can_produce_all_loop_masks_p): Rename rgroup_masks related things.
+       (vect_get_max_nscalars_per_iter): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_record_loop_mask): Likewise.
+       (vect_get_loop_mask): Likewise.
+       * tree-vectorizer.h (struct rgroup_masks): Renamed to ...
+       (struct rgroup_controls): ... this.  Also rename mask_type
+       to type and rename masks to controls.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_condition): Rename
+       LOOP_VINFO_FULLY_MASKED_P to LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       (vect_gen_vector_loop_niters): Likewise.
+       (vect_do_peeling): Likewise.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename
+       fully_masked_p to using_partial_vectors_p.
+       (vect_analyze_loop_costing): Rename LOOP_VINFO_FULLY_MASKED_P to
+       LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       (determine_peel_for_niter): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_FULLY_MASKED_P): Updated.
+       (LOOP_VINFO_USING_PARTIAL_VECTORS_P): New macro.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename
+       can_fully_mask_p to can_use_partial_vectors_p.
+       (vect_analyze_loop_2): Rename LOOP_VINFO_CAN_FULLY_MASK_P to
+       LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P.  Rename saved_can_fully_mask_p
+       to saved_can_use_partial_vectors_p.
+       (vectorizable_reduction): Rename LOOP_VINFO_CAN_FULLY_MASK_P to
+       LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-stmts.c (permute_vec_elements): Likewise.
+       (check_load_store_masking): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_CAN_FULLY_MASK_P): Renamed to ...
+       (LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P): ... this.
+       (_loop_vec_info): Rename can_fully_mask_p to can_use_partial_vectors_p.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       * optc-save-gen.awk: Quote error string.
+
+2020-06-11  Alexandre Oliva  <oliva@adacore.com>
+
+       * print-rtl.c (print_mem_expr): Enable TDF_SLIM in dump_flags.
+
+2020-06-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-protos.h (riscv_output_gpr_save): Remove.
+       * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Update
+       value.
+       * config/riscv/riscv.c (riscv_output_gpr_save): Remove.
+       * config/riscv/riscv.md (gpr_save): Update output asm pattern.
+
+2020-06-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/predicates.md (gpr_save_operation): New.
+       * config/riscv/riscv-protos.h (riscv_gen_gpr_save_insn): New.
+       (riscv_gpr_save_operation_p): Ditto.
+       * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls):
+       Ignore USEs for gpr_save patter.
+       * config/riscv/riscv.c (gpr_save_reg_order): New.
+       (riscv_expand_prologue): Use riscv_gen_gpr_save_insn to gen gpr_save.
+       (riscv_gen_gpr_save_insn): New.
+       (riscv_gpr_save_operation_p): Ditto.
+       * config/riscv/riscv.md (S3_REGNUM): New.
+       (S4_REGNUM): Ditto.
+       (S5_REGNUM): Ditto.
+       (S6_REGNUM): Ditto.
+       (S7_REGNUM): Ditto.
+       (S8_REGNUM): Ditto.
+       (S9_REGNUM): Ditto.
+       (S10_REGNUM): Ditto.
+       (S11_REGNUM): Ditto.
+       (gpr_save): Model USEs correctly.
+
+2020-06-10  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95353
+       PR middle-end/92939
+       * builtins.c (inform_access): New function.
+       (check_access): Call it.  Add argument.
+       (addr_decl_size): Remove.
+       (get_range): New function.
+       (compute_objsize): New overload.  Only use compute_builtin_object_size
+       with raw memory function.
+       (check_memop_access): Pass new argument to compute_objsize and
+       check_access.
+       (expand_builtin_memchr, expand_builtin_strcat): Same.
+       (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same.
+       (expand_builtin_stpncpy, check_strncat_sizes): Same.
+       (expand_builtin_strncat, expand_builtin_strncpy): Same.
+       (expand_builtin_memcmp): Same.
+       * builtins.h (check_nul_terminated_array): Declare extern.
+       (check_access): Add argument.
+       (struct access_ref, struct access_data): New structs.
+       * gimple-ssa-warn-restrict.c (clamp_offset): New helper.
+       (builtin_access::overlap): Call it.
+       * tree-object-size.c (decl_init_size): Declare extern.
+       (addr_object_size): Correct offset computation.
+       * tree-object-size.h (decl_init_size): Declare.
+       * tree-ssa-strlen.c (handle_integral_assign): Remove a call
+       to maybe_warn_overflow when assigning to an SSA_NAME.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_determine_vectorization_factor):
+       Skip debug stmts.
+       (_loop_vec_info::_loop_vec_info): Likewise.
+       (vect_update_vf_for_slp): Likewise.
+       (vect_analyze_loop_operations): Likewise.
+       (update_epilogue_loop_vinfo): Likewise.
+       * tree-vect-patterns.c (vect_determine_precisions): Likewise.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c (vect_detect_hybrid_slp): Likewise.
+       (_bb_vec_info::_bb_vec_info): Likewise.
+       * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized):
+       Likewise.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95576
+       * tree-vect-slp.c (vect_slp_bb): Skip leading debug stmts.
+
+2020-06-10  Haijian Zhang  <z.zhanghaijian@huawei.com>
+
+       PR target/95523
+       * config/aarch64/aarch64-sve-builtins.h
+       (sve_switcher::m_old_maximum_field_alignment): New member.
+       * config/aarch64/aarch64-sve-builtins.cc
+       (sve_switcher::sve_switcher): Save maximum_field_alignment in
+       m_old_maximum_field_alignment and clear maximum_field_alignment.
+       (sve_switcher::~sve_switcher): Restore maximum_field_alignment.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::vec_stmts): Make it a vector
+       of gimple * stmts.
+       (_stmt_vec_info::vec_stmts): Likewise.
+       (vec_info::stmt_vec_info_ro): New flag.
+       (vect_finish_replace_stmt): Adjust declaration.
+       (vect_finish_stmt_generation): Likewise.
+       (vectorizable_induction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       * tree-vect-data-refs.c (vect_create_data_ref_ptr): Do not
+       allocate stmt infos for increments.
+       (vect_record_grouped_load_vectors): Adjust.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+       (vectorize_fold_left_reduction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vect-patterns.c (vect_pattern_recog): Set stmt_vec_info_ro.
+       * tree-vect-slp.c (vect_get_slp_vect_def): Adjust.
+       (vect_get_slp_defs): Likewise.
+       (vect_transform_slp_perm_load): Likewise.
+       (vect_schedule_slp_instance): Likewise.
+       (vectorize_slp_instance_root_stmt): Likewise.
+       * tree-vect-stmts.c (vect_get_vec_defs_for_operand): Likewise.
+       (vect_finish_stmt_generation_1): Do not allocate a stmt info.
+       (vect_finish_replace_stmt): Do not return anything.
+       (vect_finish_stmt_generation): Likewise.
+       (vect_build_gather_load_calls): Adjust.
+       (vectorizable_bswap): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (vect_create_vectorized_demotion_stmts): Likewise.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_scan_store): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_comparison): Likewise.
+       (vect_transform_stmt): Likewise.
+       * tree-vectorizer.c (vec_info::vec_info): Initialize
+       stmt_vec_info_ro.
+       (vec_info::replace_stmt): Copy over stmt UID rather than
+       unsetting/setting a stmt info allocating a new UID.
+       (vec_info::set_vinfo_for_stmt): Assert !stmt_vec_info_ro.
+
+2020-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (loop_versioning::name_prop::get_value):
+       Add stmt parameter.
+       * gimple-ssa-evrp.c (class evrp_folder): New.
+       (class evrp_dom_walker): Remove.
+       (execute_early_vrp): Use evrp_folder instead of evrp_dom_walker.
+       * tree-ssa-ccp.c (ccp_folder::get_value): Add stmt parameter.
+       * tree-ssa-copy.c (copy_folder::get_value): Same.
+       * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+       Pass stmt to get_value.
+       (substitute_and_fold_engine::replace_phi_args_in): Same.
+       (substitute_and_fold_dom_walker::after_dom_children): Call
+       post_fold_bb.
+       (substitute_and_fold_dom_walker::foreach_new_stmt_in_bb): New.
+       (substitute_and_fold_dom_walker::propagate_into_phi_args): New.
+       (substitute_and_fold_dom_walker::before_dom_children): Adjust to
+       call virtual functions for folding, pre_folding, and post folding.
+       Call get_value with PHI.  Tweak dump.
+       * tree-ssa-propagate.h (class substitute_and_fold_engine):
+       New argument to get_value.
+       New virtual function pre_fold_bb.
+       New virtual function post_fold_bb.
+       New virtual function pre_fold_stmt.
+       New virtual function post_new_stmt.
+       New function propagate_into_phi_args.
+       * tree-vrp.c (vrp_folder::get_value): Add stmt argument.
+       * vr-values.c (vr_values::extract_range_from_stmt): Adjust dump
+       output.
+       (vr_values::fold_cond): New.
+       (vr_values::simplify_cond_using_ranges_1): Call fold_cond.
+       * vr-values.h (class vr_values): Add
+       simplify_cond_using_ranges_when_edge_is_known.
+
+2020-06-10  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/94910
+       * asan.c (asan_emit_stack_protection): Emit
+       also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release
+       a stack frame.
+
+2020-06-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Adjust costs for mul.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_vfa_access_size): Adjust.
+       (vect_record_grouped_load_vectors): Likewise.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+       (vectorize_fold_left_reduction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vect-slp.c (vect_get_slp_defs): New function, split out
+       from overload.
+       * tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Remove.
+       (vect_get_vec_def_for_operand): Likewise.
+       (vect_get_vec_def_for_stmt_copy): Likewise.
+       (vect_get_vec_defs_for_stmt_copy): Likewise.
+       (vect_get_vec_defs_for_operand): New function.
+       (vect_get_vec_defs): Likewise.
+       (vect_build_gather_load_calls): Adjust.
+       (vect_get_gather_scatter_ops): Likewise.
+       (vectorizable_bswap): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (vect_get_loop_based_defs): Remove.
+       (vect_create_vectorized_demotion_stmts): Adjust.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_scan_store): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_comparison): Likewise.
+       (vect_transform_stmt): Adjust and remove no longer applicable
+       sanity checks.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
+       STMT_VINFO_VEC_STMTS.
+       (vec_info::free_stmt_vec_info): Relase it.
+       * tree-vectorizer.h (_stmt_vec_info::vectorized_stmt): Remove.
+       (_stmt_vec_info::vec_stmts): Add.
+       (STMT_VINFO_VEC_STMT): Remove.
+       (STMT_VINFO_VEC_STMTS): New.
+       (vect_get_vec_def_for_operand_1): Remove.
+       (vect_get_vec_def_for_operand): Likewise.
+       (vect_get_vec_defs_for_stmt_copy): Likewise.
+       (vect_get_vec_def_for_stmt_copy): Likewise.
+       (vect_get_vec_defs): New overloads.
+       (vect_get_vec_defs_for_operand): New.
+       (vect_get_slp_defs): Declare.
+
+2020-06-10  Qian Chao  <qianchao9@huawei.com>
+
+       PR tree-optimization/95569
+       * trans-mem.c (expand_assign_tm): Ensure that rtmp is marked TREE_ADDRESSABLE.
+
+2020-06-10  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * optc-save-gen.awk: Generate new function cl_optimization_compare.
+       * opth-gen.awk: Generate declaration of the function.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate
+       'future' PowerPC platform.
+       (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1.
+       (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA.
+       * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and
+       MMA HWCAP2 bits.
+       * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support.
+       (rs6000_clone_map): Add 'future' system target_clones support.
+
+2020-06-09  Michael Kuhn  <gcc@ikkoku.de>
+
+       * Makefile.in (ZSTD_INC): Define.
+       (ZSTD_LIB): Include ZSTD_LDFLAGS.
+       (CFLAGS-lto-compress.o): Add ZSTD_INC.
+       * configure.ac (ZSTD_CPPFLAGS, ZSTD_LDFLAGS): New variables for
+       AC_SUBST.
+       * configure: Rebuilt.
+
+2020-06-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95552
+       * tree.c (walk_tree_1): Call func on the TYPE_DECL of a DECL_EXPR.
+
+2020-06-09  Marco Elver  <elver@google.com>
+
+       * params.opt: Define --param=tsan-distinguish-volatile=[0,1].
+       * sanitizer.def (BUILT_IN_TSAN_VOLATILE_READ1): Define new
+       builtin for volatile instrumentation of reads/writes.
+       (BUILT_IN_TSAN_VOLATILE_READ2): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ4): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ8): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ16): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE1): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE2): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE4): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE8): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE16): Likewise.
+       * tsan.c (get_memory_access_decl): Argument if access is
+       volatile. If param tsan-distinguish-volatile is non-zero, and
+       access if volatile, return volatile instrumentation decl.
+       (instrument_expr): Check if access is volatile.
+
+2020-06-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_induction): Remove dead code.
+
+2020-06-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-offload.c (add_decls_addresses_to_decl_constructor,
+       omp_finish_file): With in_lto_p, stream out all offload-table
+       items even if the symtab_node does not exist.
+
+2020-06-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vect_transform_stmt): Remove dead code.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * gcov-dump.c (print_usage): Fix spacing for --raw option
+       in --help.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * cif-code.def (ATTRIBUTE_MISMATCH): Rename to...
+       (SANITIZE_ATTRIBUTE_MISMATCH): ...this.
+       * ipa-inline.c (sanitize_attrs_match_for_inline_p):
+       Handle all sanitizer options.
+       (can_inline_edge_p): Use renamed CIF_* enum value.
+
+2020-06-09  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<optab><mode>2): Add support for
+       unpacked vectors.
+       (@aarch64_pred_<optab><mode>): Add support for unpacked vectors.
+       (@aarch64_bic<mode>): Enable unpacked BIC.
+       (*bic<mode>3): Enable unpacked BIC.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/95365
+       * doc/gcov.texi: Compile and link one example in 2 steps.
+
+2020-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95527
+       * match.pd (__builtin_ffs (X) cmp CST): New optimizations.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate
+       'future' PowerPC platform.
+       (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1.
+       (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA.
+       * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and
+       MMA HWCAP2 bits.
+       * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support.
+       (rs6000_clone_map): Add 'future' system target_clones support.
+
+2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR lto/94848
+       PR middle-end/95551
+       * omp-offload.c (add_decls_addresses_to_decl_constructor,
+       omp_finish_file): Skip removed items.
+       * lto-cgraph.c (output_offload_tables): Likewise; set force_output
+       to this node for variables and functions.
+
+2020-06-08  Jason Merrill  <jason@redhat.com>
+
+       * aclocal.m4: Remove ax_cxx_compile_stdcxx.m4.
+       * configure.ac: Remove AX_CXX_COMPILE_STDCXX.
+       * configure: Regenerate.
+
+2020-06-08  Martin Sebor  <msebor@redhat.com>
+
+       * postreload.c (reload_cse_simplify_operands): Clear first array element
+       before using it.  Assert a precondition.
+
+2020-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95528
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Don't use
+       VEC_UNPACK*_EXPR or VEC_PACK_TRUNC_EXPR with scalar modes unless the
+       type is vector boolean.
+
+2020-06-08  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_layout_frame): Expand comments.
+
+2020-06-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS
+       instead of VFP_REGS.
+
+2020-06-08  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/vector.md: Replace FAIL with gcc_unreachable
+       in all vcond* patterns.
+
+2020-06-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * common/config/arm/arm-common.c (INCLUDE_ALGORITHM):
+       Define. No longer include <algorithm>.
+
+2020-06-07  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386.md (paritydi2, paritysi2): Expand reduction
+       via shift and xor to an USPEC PARITY matching a parityhi2_cmp.
+       (paritydi2_cmp, paritysi2_cmp): Delete these define_insn_and_split.
+       (parityhi2, parityqi2): New expanders.
+       (parityhi2_cmp): Implement set parity flag with xorb insn.
+       (parityqi2_cmp): Implement set parity flag with testb insn.
+       New peephole2s to use these insns (UNSPEC PARITY) when appropriate.
+
+2020-06-07  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/95018
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Override flag_cunroll_grow_size.
+
+2020-06-07  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       * common.opt (flag_cunroll_grow_size): New flag.
+       * toplev.c (process_options): Set flag_cunroll_grow_size.
+       * tree-ssa-loop-ivcanon.c (pass_complete_unroll::execute):
+       Use flag_cunroll_grow_size.
+
+2020-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/95548
+       * ipa-devirt.c (struct odr_enum_val): Turn values to wide_int.
+       (ipa_odr_summary_write): Update streaming.
+       (ipa_odr_read_section): Update streaming.
+
+2020-06-06  Alexandre Oliva  <oliva@adacore.com>
+
+       PR driver/95456
+       * gcc.c (do_spec_1): Don't call memcpy (_, NULL, 0).
+
+2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * gimplify.c (gimplify_adjust_omp_clauses): Remove
+       'GOMP_MAP_STRUCT' mapping from OpenACC 'exit data' directives.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95539
+       * tree-vect-data-refs.c
+       (vect_slp_analyze_and_verify_instance_alignment): Use
+       SLP_TREE_REPRESENTATIVE for the data-ref check.
+       * tree-vect-stmts.c (vectorizable_load): Reset stmt_info
+       back to the first scalar stmt rather than the
+       SLP_TREE_REPRESENTATIVE to match previous behavior.
+
+2020-06-05  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95254
+       * expr.c (emit_move_insn): Check src and dest of the copy to see
+       if one or both of them are subregs, try to remove the subregs when
+       innermode and outermode are equal in size and the mode change involves
+       an implicit round trip through memory.
+
+2020-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95535
+       * config/i386/i386.md (*ctzsi2_zext, *clzsi2_lzcnt_zext): New
+       define_insn_and_split patterns.
+       (*ctzsi2_zext_falsedep, *clzsi2_lzcnt_zext_falsedep): New
+       define_insn patterns.
+
+2020-06-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * alloc-pool.h (object_allocator::remove_raw): New.
+       * tree-ssa-math-opts.c (struct occurrence): Use NSMDI.
+       (occurrence::occurrence): Add.
+       (occurrence::~occurrence): Likewise.
+       (occurrence::new): Likewise.
+       (occurrence::delete): Likewise.
+       (occ_new): Remove.
+       (insert_bb): Use new occurence (...) instead of occ_new.
+       (register_division_in): Likewise.
+       (free_bb): Use delete occ instead of manually removing
+       from the pool.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95493
+       * cfgexpand.c (expand_debug_expr): Avoid calling
+       set_mem_attributes_minus_bitpos when we were expanding
+       an SSA name.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+       ARRAY_REF special-casing, add CONSTRUCTOR to the set of
+       special-cases we do not want MEM_EXPRs for.  Assert
+       we end up with reasonable MEM_EXPRs.
+
+2020-06-05  Lili Cui  <lili.cui@intel.com>
+
+       PR target/95525
+       * config/i386/i386.h (PTA_WAITPKG): Change bitmask value.
+
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * attribs.c (init_attr_rdwr_indices): Move function here.
+       * attribs.h (rdwr_access_hash, rdwr_map): Define.
+       (attr_access): Add 'none'.
+       (init_attr_rdwr_indices): Declared function.
+       * builtins.c (warn_for_access)): New function.
+       (check_access): Call it.
+       * builtins.h (checK-access): Add an optional argument.
+       * calls.c (rdwr_access_hash, rdwr_map): Move to attribs.h.
+       (init_attr_rdwr_indices): Declare extern.
+       (append_attrname): Handle attr_access::none.
+       (maybe_warn_rdwr_sizes): Same.
+       (initialize_argument_information): Update comments.
+       * doc/extend.texi (attribute access): Document 'none'.
+       * tree-ssa-uninit.c (struct wlimits): New.
+       (maybe_warn_operand): New function.
+       (maybe_warn_pass_by_reference): Same.
+       (warn_uninitialized_vars): Refactor code into maybe_warn_operand.
+       Also call for function calls.
+       (pass_late_warn_uninitialized::execute): Adjust comments.
+       (execute_early_warn_uninitialized): Same.
+
+2020-06-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/95464
+       * lra.c (lra_emit_move): Add processing STRICT_LOW_PART.
+       * lra-constraints.c (match_reload): Use STRICT_LOW_PART in output
+       reload if the original insn has it too.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr):
+       Ensure that tmp_ha is marked TREE_ADDRESSABLE.
+
+2020-06-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/95113
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move non-call
+       exceptions check to...
+       * tree-eh.c (stmt_unremovable_because_of_non_call_eh_p): ...this
+       new function.
+       * tree-eh.h (stmt_unremovable_because_of_non_call_eh_p): Declare it.
+       * ipa-sra.c (isra_track_scalar_value_uses): Use it.  New parameter
+       fun.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94735
+       * config/arm/predicates.md (mve_scatter_memory): Define to
+       match (mem (reg)) for scatter store memory.
+       * config/arm/mve.md (mve_vstrbq_scatter_offset_<supf><mode>): Modify
+       define_insn to define_expand.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Likewise.
+       (mve_vstrbq_scatter_offset_<supf><mode>_insn): Define insn for scatter
+       stores.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vbicq_n_u16): Correct the intrinsic
+       arguments.
+       (__arm_vbicq_n_s16): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vbicq): Modify polymorphic variant.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_get_slp_vect_def): Declare.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       * tree-vect-stmts.c (vect_transform_stmt): Likewise.
+       (vect_is_simple_use): Use SLP_TREE_REPRESENTATIVE.
+       * tree-vect-slp.c (vect_get_slp_vect_defs): Fold into single
+       use ...
+       (vect_get_slp_defs): ... here.
+       (vect_get_slp_vect_def): New function.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::lanes): New.
+       (SLP_TREE_LANES): Likewise.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       (vectorizable_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize lanes.
+       (vect_create_new_slp_node): Likewise.
+       (slp_copy_subtree): Copy it.
+       (vect_optimize_slp): Use it.
+       (vect_slp_analyze_node_operations_1): Likewise.
+       (vect_slp_convert_to_external): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       * tree-vect-stmts.c (vectorizable_load): Likewise.
+       (get_vectype_for_scalar_type): Likewise.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_update_all_shared_vectypes): Remove.
+       (vect_build_slp_tree_2): Simplify building all external op
+       nodes from scalars.
+       (vect_slp_analyze_node_operations): Remove push/pop of
+       STMT_VINFO_DEF_TYPE.
+       (vect_schedule_slp_instance): Likewise.
+       * tree-vect-stmts.c (ect_check_store_rhs): Pass in the
+       stmt_info, use the vect_is_simple_use overload combining
+       SLP and stmt_info analysis.
+       (vect_is_simple_cond): Likewise.
+       (vectorizable_store): Adjust.
+       (vectorizable_condition): Likewise.
+       (vect_is_simple_use): Fully handle invariant SLP nodes
+       here.  Amend stmt_info operand extraction with COND_EXPR
+       and masked stores.
+       * tree-vect-loop.c (vectorizable_reduction): Deal with
+       COND_EXPR representation ugliness.
+
+2020-06-04  Hongtao Liu  <hongtao.liu@inte.com>
+
+       PR target/95254
+       * config/i386/sse.md (*vcvtps2ph_store<merge_mask_name>):
+       Refine from *vcvtps2ph_store<mask_name>.
+       (vcvtps2ph256<mask_name>): Refine constraint from vm to v.
+       (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
+       (*vcvtps2ph256<merge_mask_name>): New define_insn.
+       (*avx512f_vcvtps2ph512<merge_mask_name>): Ditto.
+       * config/i386/subst.md (merge_mask): New define_subst.
+       (merge_mask_name): New define_subst_attr.
+       (merge_mask_operand3): Ditto.
+
+2020-06-04  Hao Liu  <hliu@os.amperecomputing.com>
+
+       PR tree-optimization/89430
+       * tree-ssa-phiopt.c
+       (struct name_to_bb): Rename to ref_to_bb; add a new field exp;
+       remove ssa_name_ver, store, offset fields.
+       (struct ssa_names_hasher): Rename to refs_hasher; update functions.
+       (class nontrapping_dom_walker): Rename m_seen_ssa_names to m_seen_refs.
+       (nontrapping_dom_walker::add_or_mark_expr): Extend to support ARRAY_REFs
+       and COMPONENT_REFs.
+
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR target/95154
+       * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Call assemble_external.
+
+2020-06-04  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (pmov_dst_3_lower): New mode attribute.
+       (trunc<mode><pmov_dst_3_lower>2): Refine from
+       trunc<mode><pmov_dst_3>2.
+
+2020-06-03  Vitor Guidi  <vitor.guidi@usp.br>
+
+       * match.pd (tanh/sinh -> 1/cosh): New simplification.
+
+2020-06-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/95347
+       * config/rs6000/rs6000.c (is_stfs_insn): Rename to
+       is_lfs_stfs_insn and make it recognize lfs as well.
+       (prefixed_store_p): Use is_lfs_stfs_insn().
+       (prefixed_load_p): Use is_lfs_stfs_insn() to recognize lfs.
+
+2020-06-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-devirt.c: Include data-streamer.h, lto-streamer.h and
+       streamer-hooks.h.
+       (odr_enums): New static var.
+       (struct odr_enum_val): New struct.
+       (class odr_enum): New struct.
+       (odr_enum_map): New hashtable.
+       (odr_types_equivalent_p): Drop code testing TYPE_VALUES.
+       (add_type_duplicate): Likewise.
+       (free_odr_warning_data): Do not free TYPE_VALUES.
+       (register_odr_enum): New function.
+       (ipa_odr_summary_write): New function.
+       (ipa_odr_read_section): New function.
+       (ipa_odr_summary_read): New function.
+       (class pass_ipa_odr): New pass.
+       (make_pass_ipa_odr): New function.
+       * ipa-utils.h (register_odr_enum): Declare.
+       * lto-section-in.c: (lto_section_name): Add odr_types section.
+       * lto-streamer.h (enum lto_section_type): Add odr_types section.
+       * passes.def: Add odr_types pass.
+       * lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream
+       TYPE_VALUES.
+       (hash_tree): Likewise.
+       * tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
+       Likewise.
+       * tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
+       Likewise.
+       * timevar.def (TV_IPA_ODR): New timervar.
+       * tree-pass.h (make_pass_ipa_odr): Declare.
+       * tree.c (free_lang_data_in_type): Regiser ODR types.
+
+2020-06-03  Romain Naour  <romain.naour@gmail.com>
+
+       * Makefile.in (SELFTEST_DEPS): Move before including language makefile
+       fragments.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95487
+       * tree-vect-stmts.c (vectorizable_store): Use a truth type
+       for the scatter mask.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95495
+       * tree-vect-slp.c (vect_slp_analyze_node_operations): Use
+       SLP_TREE_REPRESENTATIVE in the shift assertion.
+
+2020-06-03  Tom Tromey  <tromey@adacore.com>
+
+       * spellcheck.c (CASE_COST): New define.
+       (BASE_COST): New define.
+       (get_edit_distance): Recognize case changes.
+       (get_edit_distance_cutoff): Update.
+       (test_edit_distances): Update.
+       (get_old_cutoff): Update.
+       (test_find_closest_string): Add case sensitivity test.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Loop over
+       the cost vector to unset the visited flag on stmts.
+
+2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimplify.c (omp_notice_variable): Use new hook.
+       * langhooks-def.h (lhd_omp_predetermined_mapping): Declare.
+       (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Define
+       (LANG_HOOKS_DECLS): Add it.
+       * langhooks.c (lhd_omp_predetermined_sharing): Remove bogus unused attr.
+       (lhd_omp_predetermined_mapping): New.
+       * langhooks.h (struct lang_hooks_for_decls): Add new hook.
+
+2020-06-03  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer.h (LTO_tags): Reorder so frequent tags has small indexes;
+       add LTO_first_tree_tag and LTO_first_gimple_tag.
+       (lto_tag_is_tree_code_p): Update.
+       (lto_tag_is_gimple_code_p): Update.
+       (lto_gimple_code_to_tag): Update.
+       (lto_tag_to_gimple_code): Update.
+       (lto_tree_code_to_tag): Update.
+       (lto_tag_to_tree_code): Update.
+
+2020-06-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95459
+       * config/aarch64/aarch64.c (aarch64_short_vector_p):
+       Leave later code to report an error if SVE is disabled.
+
+2020-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-cores.def (zeus): Define.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi (AArch64 Options): Document zeus -mcpu option.
+
+2020-06-02  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/95347
+       * config/rs6000/rs6000.c (prefixed_store_p): Add special case
+       for stfs.
+       (is_stfs_insn): New helper function.
+
+2020-06-02  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-in.c (stream_read_tree_ref): Simplify streaming of
+       references.
+       * lto-streamer-out.c (stream_write_tree_ref): Likewise.
+
+2020-06-02  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (CC1_SPEC): Delete.
+       * config/gcn/gcn.opt (-mlocal-symbol-id): Delete.
+       * config/gcn/mkoffload.c (main): Don't use -mlocal-symbol-id.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/95395
+       * optabs.c (expand_unop): Fix bits/bytes confusion in latest change.
+       * tree-pretty-print.c (dump_generic_node) <ARRAY_TYPE>: Print quals.
+
+2020-06-02  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.c (print_operand): Emit vector alignment
+       hints for z13.
+
+2020-06-02  Martin Liska  <mliska@suse.cz>
+
+       * coverage.c (get_coverage_counts): Skip sanity check for TOP N counters
+       as they have variable number of counters.
+       * gcov-dump.c (main): Add new option -r.
+       (print_usage): Likewise.
+       (tag_counters): All new raw format.
+       * gcov-io.h (struct gcov_kvp): New.
+       (GCOV_TOPN_VALUES): Remove.
+       (GCOV_TOPN_VALUES_COUNTERS): Likewise.
+       (GCOV_TOPN_MEM_COUNTERS): New.
+       (GCOV_TOPN_DISK_COUNTERS): Likewise.
+       (GCOV_TOPN_MAXIMUM_TRACKED_VALUES): Likewise.
+       * ipa-profile.c (ipa_profile_generate_summary): Use
+       GCOV_TOPN_MAXIMUM_TRACKED_VALUES.
+       (ipa_profile_write_edge_summary): Likewise.
+       (ipa_profile_read_edge_summary): Likewise.
+       (ipa_profile): Remove usage of GCOV_TOPN_VALUES.
+       * profile.c (sort_hist_values): Sort variable number
+       of counters.
+       (compute_value_histograms): Special case for TOP N counters
+       that have dynamic number of key-value pairs.
+       * value-prof.c (dump_histogram_value): Dump variable number
+       of key-value pairs.
+       (stream_in_histogram_value): Stream in variable number
+       of key-value pairs for TOP N counter.
+       (get_nth_most_common_value): Deal with variable number
+       of key-value pairs.
+       (dump_ic_profile): Use GCOV_TOPN_MAXIMUM_TRACKED_VALUES
+       for loop iteration.
+       (gimple_find_values_to_profile): Set GCOV_TOPN_MEM_COUNTERS
+       to n_counters.
+       * doc/gcov-dump.texi: Document new -r option.
+
+2020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR target/95420
+       * config.gcc (arm-wrs-vxworks7*): Set default cpu to generic-armv7-a.
+
+2020-06-01  Jeff Law  <law@torsion.usersys.redhat.com>
+
+       * lower-subreg.c (resolve_simple_move): If simplify_gen_subreg_concatn
+       returns (const_int 0) for the destination, then emit nothing.
+
+2020-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer.h (enum LTO_tags): Remove LTO_field_decl_ref,
+       LTO_function_decl_ref, LTO_label_decl_ref, LTO_namespace_decl_ref,
+       LTO_result_decl_ref, LTO_type_decl_ref, LTO_type_ref,
+       LTO_const_decl_ref, LTO_imported_decl_ref,
+       LTO_translation_unit_decl_ref, LTO_global_decl_ref and
+       LTO_namelist_decl_ref; add LTO_global_stream_ref.
+       * lto-streamer-in.c (lto_input_tree_ref): Simplify.
+       (lto_input_scc): Update.
+       (lto_input_tree_1): Update.
+       * lto-streamer-out.c (lto_indexable_tree_ref): Simlify.
+       * lto-streamer.c (lto_tag_name): Update.
+
+2020-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-reference.c (stream_out_bitmap): Use lto_output_var_decl_ref.
+       (ipa_reference_read_optimization_summary): Use lto_intput_var_decl_ref.
+       * lto-cgraph.c (lto_output_node): Likewise.
+       (lto_output_varpool_node): Likewise.
+       (output_offload_tables): Likewise.
+       (input_node): Likewise.
+       (input_varpool_node): Likewise.
+       (input_offload_tables): Likewise.
+       * lto-streamer-in.c (lto_input_tree_ref): Declare.
+       (lto_input_var_decl_ref): Declare.
+       (lto_input_fn_decl_ref): Declare.
+       * lto-streamer-out.c (lto_indexable_tree_ref): Use only one decl stream.
+       (lto_output_var_decl_index): Rename to ..
+       (lto_output_var_decl_ref): ... this.
+       (lto_output_fn_decl_index): Rename to ...
+       (lto_output_fn_decl_ref): ... this.
+       * lto-streamer.h (enum lto_decl_stream_e_t): Remove per-type streams.
+       (DEFINE_DECL_STREAM_FUNCS): Remove.
+       (lto_output_var_decl_index): Remove.
+       (lto_output_fn_decl_index): Remove.
+       (lto_output_var_decl_ref): Declare.
+       (lto_output_fn_decl_ref): Declare.
+       (lto_input_var_decl_ref): Declare.
+       (lto_input_fn_decl_ref): Declare.
+
+2020-06-01  Feng Xue  <fxue@os.amperecomputing.com>
+
+       * cgraphclones.c (materialize_all_clones): Adjust replace map dump.
+       * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Do not
+       dump infomation if there is no adjusted parameter.
+       * (ipa_param_adjustments::dump): Adjust prefix spaces for dump string.
+
+2020-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (gimple-array-bounds.o): New.
+       * tree-vrp.c: Move array bounds code...
+       * gimple-array-bounds.cc: ...here...
+       * gimple-array-bounds.h: ...and here.
+
+2020-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (OBJS): Add value-range-equiv.o.
+       * tree-vrp.c (*value_range_equiv*): Move to...
+       * value-range-equiv.cc: ...here.
+       * tree-vrp.h (class value_range_equiv): Move to...
+       * value-range-equiv.h: ...here.
+       * vr-values.h: Include value-range-equiv.h.
+
+2020-06-01  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93429
+       * ipa-cp.c (propagate_aggs_across_jump_function): Check aggregate
+       lattice for simple pass-through by-ref argument.
+
+2020-05-31  Jeff Law  <law@redhat.com>
+
+       * lra.c (add_auto_inc_notes): Remove function.
+       * reload1.c (add_auto_inc_notes): Similarly.  Move into...
+       * rtlanal.c (add_auto_inc_notes): New function.
+       * rtl.h (add_auto_inc_notes): Add prototype.
+       * recog.c (peep2_attempt): Scan and add REG_INC notes to new insns
+       as needed.
+
+2020-05-31  Jan Hubicka  <jh@suse.cz>
+
+       * lto-section-out.c (lto_output_decl_index): Remove.
+       (lto_output_field_decl_index): Move to lto-streamer-out.c
+       (lto_output_fn_decl_index): Move to lto-streamer-out.c
+       (lto_output_namespace_decl_index): Remove.
+       (lto_output_var_decl_index): Remove.
+       (lto_output_type_decl_index): Remove.
+       (lto_output_type_ref_index): Remove.
+       * lto-streamer-out.c (output_type_ref): Remove.
+       (lto_get_index): New function.
+       (lto_output_tree_ref): Remove.
+       (lto_indexable_tree_ref): New function.
+       (lto_output_var_decl_index): Move here from lto-section-out.c; simplify.
+       (lto_output_fn_decl_index): Move here from lto-section-out.c; simplify.
+       (stream_write_tree_ref): Update.
+       (lto_output_tree): Update.
+       * lto-streamer.h (lto_output_decl_index): Remove prototype.
+       (lto_output_field_decl_index): Remove prototype.
+       (lto_output_namespace_decl_index): Remove prototype.
+       (lto_output_type_decl_index): Remove prototype.
+       (lto_output_type_ref_index): Remove prototype.
+       (lto_output_var_decl_index): Move.
+       (lto_output_fn_decl_index): Move
+
+2020-05-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * expr.c (store_expr): For shortedned_string_cst, ensure temp has
+       BLKmode.
+
+2020-05-31  Jeff Law  <law@redhat.com>
+
+       * config/h8300/jumpcall.md (brabs, brabc): Disable patterns.
+
+2020-05-31  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv.md (zero_extendsidi2_shifted): New.
+
+2020-05-30  Jonathan Yong  <10walls@gmail.com>
+
+       * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Insert -lkernel32
+       after -lmsvcrt. This is necessary as libmsvcrt.a is not a pure
+       import library, but also contains some functions that invoke
+       others in KERNEL32.DLL.
+
+2020-05-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/altivec.md (altivec_vmrghw_direct): Prefer VSX form.
+       (altivec_vmrglw_direct): Ditto.
+       (altivec_vperm_<mode>_direct): Ditto.
+       (altivec_vperm_v8hiv16qi): Ditto.
+       (*altivec_vperm_<mode>_uns_internal): Ditto.
+       (*altivec_vpermr_<mode>_internal): Ditto.
+       (vperm_v8hiv4si): Ditto.
+       (vperm_v16qiv8hi): Ditto.
+
+2020-05-29  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-in.c (streamer_read_chain): Move here from
+       tree-streamer-in.c.
+       (stream_read_tree_ref): New.
+       (lto_input_tree_1): Simplify.
+       * lto-streamer-out.c (stream_write_tree_ref): New.
+       (lto_write_tree_1): Simplify.
+       (lto_output_tree_1): Simplify.
+       (DFS::DFS_write_tree): Simplify.
+       (streamer_write_chain): Move here from tree-stremaer-out.c.
+       * lto-streamer.h (lto_output_tree_ref): Update prototype.
+       (stream_read_tree_ref): Declare
+       (stream_write_tree_ref): Declare
+       * tree-streamer-in.c (streamer_read_chain): Update to use
+       stream_read_tree_ref.
+       (lto_input_ts_common_tree_pointers): Likewise.
+       (lto_input_ts_vector_tree_pointers): Likewise.
+       (lto_input_ts_poly_tree_pointers): Likewise.
+       (lto_input_ts_complex_tree_pointers): Likewise.
+       (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+       (lto_input_ts_decl_common_tree_pointers): Likewise.
+       (lto_input_ts_decl_with_vis_tree_pointers): Likewise.
+       (lto_input_ts_field_decl_tree_pointers): Likewise.
+       (lto_input_ts_function_decl_tree_pointers): Likewise.
+       (lto_input_ts_type_common_tree_pointers): Likewise.
+       (lto_input_ts_type_non_common_tree_pointers): Likewise.
+       (lto_input_ts_list_tree_pointers): Likewise.
+       (lto_input_ts_vec_tree_pointers): Likewise.
+       (lto_input_ts_exp_tree_pointers): Likewise.
+       (lto_input_ts_block_tree_pointers): Likewise.
+       (lto_input_ts_binfo_tree_pointers): Likewise.
+       (lto_input_ts_constructor_tree_pointers): Likewise.
+       (lto_input_ts_omp_clause_tree_pointers): Likewise.
+       * tree-streamer-out.c (streamer_write_chain): Update to use
+       stream_write_tree_ref.
+       (write_ts_common_tree_pointers): Likewise.
+       (write_ts_vector_tree_pointers): Likewise.
+       (write_ts_poly_tree_pointers): Likewise.
+       (write_ts_complex_tree_pointers): Likewise.
+       (write_ts_decl_minimal_tree_pointers): Likewise.
+       (write_ts_decl_common_tree_pointers): Likewise.
+       (write_ts_decl_non_common_tree_pointers): Likewise.
+       (write_ts_decl_with_vis_tree_pointers): Likewise.
+       (write_ts_field_decl_tree_pointers): Likewise.
+       (write_ts_function_decl_tree_pointers): Likewise.
+       (write_ts_type_common_tree_pointers): Likewise.
+       (write_ts_type_non_common_tree_pointers): Likewise.
+       (write_ts_list_tree_pointers): Likewise.
+       (write_ts_vec_tree_pointers): Likewise.
+       (write_ts_exp_tree_pointers): Likewise.
+       (write_ts_block_tree_pointers): Likewise.
+       (write_ts_binfo_tree_pointers): Likewise.
+       (write_ts_constructor_tree_pointers): Likewise.
+       (write_ts_omp_clause_tree_pointers): Likewise.
+       (streamer_write_tree_body): Likewise.
+       (streamer_write_integer_cst): Likewise.
+       * tree-streamer.h (streamer_read_chain):Declare.
+       (streamer_write_chain):Declare.
+       (streamer_write_tree_body): Update prototype.
+       (streamer_write_integer_cst): Update prototype.
+
+2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/95413
+       * configure: Regenerated.
+
+2020-05-29  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (add<mode>3_vcc_zext_dup): Add early clobber.
+       (add<mode>3_vcc_zext_dup_exec): Likewise.
+       (add<mode>3_vcc_zext_dup2): Likewise.
+       (add<mode>3_vcc_zext_dup2_exec): Likewise.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95272
+       * tree-vectorizer.h (_slp_tree::representative): Add.
+       (SLP_TREE_REPRESENTATIVE): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Adjust SLP
+       node gathering.
+       (vectorizable_live_operation): Use the representative to
+       attach the reduction info to.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize
+       SLP_TREE_REPRESENTATIVE.
+       (vect_create_new_slp_node): Likewise.
+       (slp_copy_subtree): Copy it.
+       (vect_slp_rearrange_stmts): Re-arrange even COND_EXPR stmts.
+       (vect_slp_analyze_node_operations_1): Pass the representative
+       to vect_analyze_stmt.
+       (vect_schedule_slp_instance): Pass the representative to
+       vect_transform_stmt.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95356
+       * tree-vect-stmts.c (vectorizable_shift): Do in-place SLP
+       node hacking during analysis.
+
+2020-05-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/95362
+       * lto-streamer-out.c (lto_output_tree): Disable redundant streaming.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95403
+       * tree-vect-stmts.c (vect_init_vector_1): Guard against NULL
+       stmt_vinfo.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95315
+       * omp-general.c (omp_resolve_declare_variant): Fix up addition of
+       declare variant cgraph node removal callback.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * expr.c (store_expr): If expr_size is constant and significantly
+       larger than TREE_STRING_LENGTH, set temp to just the
+       TREE_STRING_LENGTH portion of the STRING_CST.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95393
+       * tree-ssa-phiopt.c (minmax_replacement): Use gimple_build
+       to build the min/max expression so we simplify cases like
+       MAX(0, s) immediately.
+
+2020-05-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<LOGICAL:optab><mode>3): Add support
+       for unpacked EOR, ORR, AND.
+
+2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
+
+       * Makefile.in: don't look for libiberty in the "pic" subdirectory
+       when building for Mingw. Add dependency on xgcc with the proper
+       extension.
+
+2020-05-28  Jeff Law  <law@redhat.com>
+
+       * config/h8300/logical.md (bclrhi_msx): Remove pattern.
+
+2020-05-28  Jeff Law  <law@redhat.com>
+
+       * config/h8300/logical.md (HImode H8/SX bit-and splitter): Don't
+       make a nonzero adjustment to the memory offset.
+       (b<ior,xor>hi_msx): Turn into a splitter.
+
+2020-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into):
+       Fix off-by-one error.
+
+2020-05-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.h (aarch64_frame): Add a comment above
+       wb_candidate1 and wb_candidate2.
+       * config/aarch64/aarch64.c (aarch64_layout_frame): Invalidate
+       wb_candidate1 and wb_candidate2 if we decided not to use them.
+
+2020-05-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/95361
+       * config/aarch64/aarch64.c (aarch64_expand_epilogue): Assert that
+       we have at least some CFI operations when using a frame pointer.
+       Only redefine the CFA if we have CFI operations.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_prologue_cost_for_slp): Remove
+       case for !SLP_TREE_VECTYPE.
+       (vect_slp_analyze_node_operations): Adjust.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::vec_defs): Add.
+       (SLP_TREE_VEC_DEFS): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Adjust.
+       (_slp_tree::~_slp_tree): Likewise.
+       (vect_mask_constant_operand_p): Remove unused function.
+       (vect_get_constant_vectors): Rename to...
+       (vect_create_constant_vectors): ... this.  Take the
+       invariant node as argument and code generate it.  Remove
+       dead code, remove temporary asserts.  Pass a NULL stmt_info
+       to vect_init_vector.
+       (vect_get_slp_defs): Simplify.
+       (vect_schedule_slp_instance): Code-generate externals and
+       invariants using vect_create_constant_vectors.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vect_finish_stmt_generation_1):
+       Conditionalize stmt_info use, assert the new stmt cannot throw
+       when not specified.
+       (vect_finish_stmt_generation): Adjust assert.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95273
+       PR tree-optimization/95356
+       * tree-vect-stmts.c (vectorizable_shift): Adjust when and to
+       what we set the vector type of the shift operand SLP node
+       again.
+
+2020-05-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/arm/arm.c (mve_vector_mem_operand): Fix unwanted
+       fall-throughs.
+
+2020-05-28  Martin Liska  <mliska@suse.cz>
+
+       PR web/95380
+       * doc/invoke.texi: Add missing params, remove max-once-peeled-insns and
+       rename ipcp-unit-growth to ipa-cp-unit-growth.
+
+2020-05-28  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (*avx512vl_<code>v2div2qi2_store_1): Rename
+       from *avx512vl_<code>v2div2qi_store and refine memory size of
+       the pattern.
+       (*avx512vl_<code>v2div2qi2_mask_store_1): Ditto.
+       (*avx512vl_<code><mode>v4qi2_store_1): Ditto.
+       (*avx512vl_<code><mode>v4qi2_mask_store_1): Ditto.
+       (*avx512vl_<code><mode>v8qi2_store_1): Ditto.
+       (*avx512vl_<code><mode>v8qi2_mask_store_1): Ditto.
+       (*avx512vl_<code><mode>v4hi2_store_1): Ditto.
+       (*avx512vl_<code><mode>v4hi2_mask_store_1): Ditto.
+       (*avx512vl_<code>v2div2hi2_store_1): Ditto.
+       (*avx512vl_<code>v2div2hi2_mask_store_1): Ditto.
+       (*avx512vl_<code>v2div2si2_store_1): Ditto.
+       (*avx512vl_<code>v2div2si2_mask_store_1): Ditto.
+       (*avx512f_<code>v8div16qi2_store_1): Ditto.
+       (*avx512f_<code>v8div16qi2_mask_store_1): Ditto.
+       (*avx512vl_<code>v2div2qi2_store_2): New define_insn_and_split.
+       (*avx512vl_<code>v2div2qi2_mask_store_2): Ditto.
+       (*avx512vl_<code><mode>v4qi2_store_2): Ditto.
+       (*avx512vl_<code><mode>v4qi2_mask_store_2): Ditto.
+       (*avx512vl_<code><mode>v8qi2_store_2): Ditto.
+       (*avx512vl_<code><mode>v8qi2_mask_store_2): Ditto.
+       (*avx512vl_<code><mode>v4hi2_store_2): Ditto.
+       (*avx512vl_<code><mode>v4hi2_mask_store_2): Ditto.
+       (*avx512vl_<code>v2div2hi2_store_2): Ditto.
+       (*avx512vl_<code>v2div2hi2_mask_store_2): Ditto.
+       (*avx512vl_<code>v2div2si2_store_2): Ditto.
+       (*avx512vl_<code>v2div2si2_mask_store_2): Ditto.
+       (*avx512f_<code>v8div16qi2_store_2): Ditto.
+       (*avx512f_<code>v8div16qi2_mask_store_2): Ditto.
+       * config/i386/i386-builtin-types.def: Adjust builtin type.
+       * config/i386/i386-expand.c: Ditto.
+       * config/i386/i386-builtin.def: Adjust builtin.
+       * config/i386/avx512fintrin.h: Ditto.
+       * config/i386/avx512vlbwintrin.h: Ditto.
+       * config/i386/avx512vlintrin.h: Ditto.
+
+2020-05-28  Dong JianQiang  <dongjianqiang2@huawei.com>
+
+       PR gcov-profile/95332
+       * gcov-io.c (gcov_var::endian): Move field.
+       (from_file): Add IN_GCOV_TOOL check.
+       * gcov-io.h (gcov_magic): Ditto.
+
+2020-05-28  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (xtensa_delegitimize_address): New
+       function.
+       (TARGET_DELEGITIMIZE_ADDRESS): New macro.
+
+2020-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * builtin-types.def (BT_UINT128): New primitive type.
+       (BT_FN_UINT128_UINT128): New function type.
+       * builtins.def (BUILT_IN_BSWAP128): New GCC builtin.
+       * doc/extend.texi (__builtin_bswap128): Document it.
+       * builtins.c (expand_builtin): Deal with BUILT_IN_BSWAP128.
+       (is_inexpensive_builtin): Likewise.
+       * fold-const-call.c (fold_const_call_ss): Likewise.
+       * fold-const.c (tree_call_nonnegative_warnv_p): Likewise.
+       * tree-ssa-ccp.c (evaluate_stmt): Likewise.
+       * tree-vect-stmts.c (vect_get_data_ptr_increment): Likewise.
+       (vectorizable_call): Likewise.
+       * optabs.c (expand_unop): Always use the double word path for it.
+       * tree-core.h (enum tree_index): Add TI_UINT128_TYPE.
+       * tree.h (uint128_type_node): New global type.
+       * tree.c (build_common_tree_nodes): Build it if TImode is supported.
+
+2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (*mmx_haddv2sf3): Remove SSE alternatives.
+       (mmx_hsubv2sf3): Ditto.
+       (mmx_haddsubv2sf3): New expander.
+       (*mmx_haddsubv2sf3): Rename from mmx_addsubv2sf3. Correct
+       RTL template to model horizontal subtraction and addition.
+       * config/i386/i386-builtin.def (IX86_BUILTIN_PFPNACC):
+       Update for rename.
+
+2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95355
+       * config/i386/sse.md
+       (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>):
+       Remove %q operand modifier from insn template.
+       (avx512f_<code>v8hiv8di2<mask_name>): Ditto.
+
+2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (mmx_pswapdsf2): Add SSE alternatives.
+       Enable insn pattern for TARGET_MMX_WITH_SSE.
+       (*mmx_movshdup): New insn pattern.
+       (*mmx_movsldup): Ditto.
+       (*mmx_movss): Ditto.
+       * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const):
+       Handle E_V2SFmode.
+       (expand_vec_perm_movs): Handle E_V2SFmode.
+       (expand_vec_perm_even_odd): Ditto.
+       (expand_vec_perm_broadcast_1): Assert that E_V2SFmode
+       is already handled by standard shuffle patterns.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95295
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Fix sinking after
+       merging stores from paths.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95356
+       * tree-vect-stmts.c (vectorizable_shift): Adjust vector
+       type for the shift operand.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95335
+       * tree-vect-slp.c (vect_slp_analyze_node_operations): Reset
+       lvisited for nodes made external.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       * dump-context.h (debug_dump_context): New class.
+       (dump_context): Make it friend.
+       * dumpfile.c (debug_dump_context::debug_dump_context):
+       Implement.
+       (debug_dump_context::~debug_dump_context): Likewise.
+       * tree-vect-slp.c: Include dump-context.h.
+       (vect_print_slp_tree): Dump a single SLP node.
+       (debug): New overload for slp_tree.
+       (vect_print_slp_graph): Rename from vect_print_slp_tree and
+       use that.
+       (vect_analyze_slp_instance): Adjust.
+
+2020-05-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95315
+       * omp-general.c (omp_declare_variant_remove_hook): New function.
+       (omp_resolve_declare_variant): Always return base if it is already
+       declare_variant_alt magic decl itself.  Register
+       omp_declare_variant_remove_hook as cgraph node removal hook.
+
+2020-05-27  Jeff Law  <law@redhat.com>
+
+       * config/h8300/testcompare.md (tst_extzv_1_n): Do not accept constants
+       for the primary input operand.
+       (tstsi_variable_bit_qi): Similarly.
+
+2020-05-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (mmx_pswapdv2si2): Add SSE2 alternative.
+
+2020-05-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR ipa/95320
+       * ipa-utils.h (odr_type_p): Also permit calls with
+       only flag_generate_offload set.
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.c (validate_switches): Add braced parameter.  Adjust all
+       callers.  Expected and skip trailing brace only if braced.
+       Return after handling one atom otherwise.
+       (DUMPS_OPTIONS): New.
+       (cpp_debug_options): Define in terms of it.
+
+2020-05-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95327
+       * tree-vect-stmts.c (vectorizable_shift): Compute op1_vectype
+       when we are not using a scalar shift.
+
+2020-05-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (*mmx_pshufd_1): New insn pattern.
+       * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const):
+       Handle E_V2SImode and E_V4HImode.
+       (expand_vec_perm_even_odd_1): Handle E_V4HImode.
+       Assert that E_V2SImode is already handled.
+       (expand_vec_perm_broadcast_1): Assert that E_V2SImode
+       is already handled by standard shuffle patterns.
+
+2020-05-26  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (free_lang_data_in_type): Simpify types of TYPE_VALUES in
+       enumeral types.
+
+2020-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95197
+       * gimplify.c (find_combined_omp_for): Move to omp-general.c.
+       * omp-general.h (find_combined_omp_for): Declare.
+       * omp-general.c: Include tree-iterator.h.
+       (find_combined_omp_for): New function, moved from gimplify.c.
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * common.opt (aux_base_name): Define.
+       (dumpbase, dumpdir): Mark as Driver options.
+       (-dumpbase, -dumpdir): Likewise.
+       (dumpbase-ext, -dumpbase-ext): New.
+       (auxbase, auxbase-strip): Drop.
+       * doc/invoke.texi (-dumpbase, -dumpbase-ext, -dumpdir):
+       Document.
+       (-o): Introduce the notion of primary output, mention it
+       influences auxiliary and dump output names as well, add
+       examples.
+       (-save-temps): Adjust, move examples into -dump*.
+       (-save-temps=cwd, -save-temps=obj): Likewise.
+       (-fdump-final-insns): Adjust.
+       * dwarf2out.c (gen_producer_string): Drop auxbase and
+       auxbase_strip; add dumpbase_ext.
+       * gcc.c (enum save_temps): Add SAVE_TEMPS_DUMP.
+       (save_temps_prefix, save_temps_length): Drop.
+       (save_temps_overrides_dumpdir): New.
+       (dumpdir, dumpbase, dumpbase_ext): New.
+       (dumpdir_length, dumpdir_trailing_dash_added): New.
+       (outbase, outbase_length): New.
+       (The Specs Language): Introduce %".  Adjust %b and %B.
+       (ASM_FINAL_SPEC): Use %b.dwo for an aux output name always.
+       Precede object file with %w when it's the primary output.
+       (cpp_debug_options): Do not pass on incoming -dumpdir,
+       -dumpbase and -dumpbase-ext options; recompute them with
+       %:dumps.
+       (cc1_options): Drop auxbase with and without compare-debug;
+       use cpp_debug_options instead of dumpbase.  Mark asm output
+       with %w when it's the primary output.
+       (static_spec_functions): Drop %:compare-debug-auxbase-opt and
+       %:replace-exception.  Add %:dumps.
+       (driver_handle_option): Implement -save-temps=*/-dumpdir
+       mutual overriding logic.  Save dumpdir, dumpbase and
+       dumpbase-ext options.  Do not save output_file in
+       save_temps_prefix.
+       (adds_single_suffix_p): New.
+       (single_input_file_index): New.
+       (process_command): Combine output dir, output base name, and
+       dumpbase into dumpdir and outbase.
+       (set_collect_gcc_options): Pass a possibly-adjusted -dumpdir.
+       (do_spec_1): Optionally dumpdir instead of save_temps_prefix,
+       and outbase instead of input_basename in %b, %B and in
+       -save-temps aux files.  Handle empty argument %".
+       (driver::maybe_run_linker): Adjust dumpdir and auxbase.
+       (compare_debug_dump_opt_spec_function): Adjust gkd dump file
+       naming.  Spec-quote the computed -fdump-final-insns file name.
+       (debug_auxbase_opt): Drop.
+       (compare_debug_self_opt_spec_function): Drop auxbase-strip
+       computation.
+       (compare_debug_auxbase_opt_spec_function): Drop.
+       (not_actual_file_p): New.
+       (replace_extension_spec_func): Drop.
+       (dumps_spec_func): New.
+       (convert_white_space): Split-out parts into...
+       (quote_string, whitespace_to_convert_p): ... these.  New.
+       (quote_spec_char_p, quote_spec, quote_spec_arg): New.
+       (driver::finalize): Release and reset new variables; drop
+       removed ones.
+       * lto-wrapper.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Define if...
+       (TARGET_EXECUTABLE_SUFFIX): ... is defined; define this to the
+       empty string otherwise.
+       (DUMPBASE_SUFFIX): Drop leading period.
+       (debug_objcopy): Use concat.
+       (run_gcc): Recognize -save-temps=* as -save-temps too.  Obey
+       -dumpdir.  Pass on empty dumpdir and dumpbase with a directory
+       component.  Simplify temp file names.
+       * opts.c (finish_options): Drop aux base name handling.
+       (common_handle_option): Drop auxbase-strip handling.
+       * toplev.c (print_switch_values): Drop auxbase, add
+       dumpbase-ext.
+       (process_options): Derive aux_base_name from dump_base_name
+       and dump_base_ext.
+       (lang_dependent_init): Compute dump_base_ext along with
+       dump_base_name.  Disable stack usage and callgraph-info during
+       lto generation and compare-debug recompilation.
+
+2020-05-26  Hongtao Liu  <hongtao.liu@intel.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95211
+       PR target/95256
+       * config/i386/sse.md (<floatunssuffix>v2div2sf2): New expander.
+       (fix<fixunssuffix>_truncv2sfv2di2): Ditto.
+       (avx512dq_float<floatunssuffix>v2div2sf2): Renaming from
+       float<floatunssuffix>v2div2sf2.
+       (avx512dq_fix<fixunssuffix>_truncv2sfv2di2<mask_name>):
+       Renaming from fix<fixunssuffix>_truncv2sfv2di2<mask_name>.
+       (vec_pack<floatprefix>_float_<mode>): Adjust icode name.
+       (vec_unpack_<fixprefix>fix_trunc_lo_<mode>): Ditto.
+       (vec_unpack_<fixprefix>fix_trunc_hi_<mode>): Ditto.
+       * config/i386/i386-builtin.def: Ditto.
+       * emit-rtl.c (validate_subreg): Allow use of *paradoxical* vector
+       subregs when both omode and imode are vector mode and
+       have the same inner mode.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into):
+       Only turn MEM_REFs into bit-field stores for small bit-field regions.
+       (imm_store_chain_info::output_merged_store): Be prepared for sources
+       with non-integral type in the bit-field insertion case.
+       (pass_store_merging::process_store): Use MAX_BITSIZE_MODE_ANY_INT as
+       the largest size for the bit-field case.
+
+2020-05-25  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (*vec_dupv2sf): Redefine as define_insn.
+       (mmx_pshufw_1): Change Yv constraint to xYw.  Correct type attribute.
+       (*vec_dupv4hi): Redefine as define_insn.
+       Remove alternative with general register input.
+       (*vec_dupv2si): Ditto.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95309
+       * tree-vect-slp.c (vect_get_constant_vectors): Move number
+       of vector computation ...
+       (vect_slp_analyze_node_operations): ... to analysis phase.
+
+2020-05-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-out.c (lto_output_tree): Add streamer_debugging check.
+       * lto-streamer.h (streamer_debugging): New constant
+       * tree-streamer-in.c (streamer_read_tree_bitfields): Add
+       streamer_debugging check.
+       (streamer_get_pickled_tree): Likewise.
+       * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95308
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Generalize
+       test for TARGET_MEM_REFs.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95295
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Compare remat stores
+       RHSes and drop to full sm_other if they are not equal.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95271
+       * tree-vect-stmts.c (vectorizable_bswap): Update invariant SLP
+       children vector type.
+       (vectorizable_call): Pass down slp ops.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95297
+       * tree-vect-stmts.c (vectorizable_shift): For scalar_shift_arg
+       skip updating operand 1 vector type.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95284
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Amend previous
+       fix.
+
+2020-05-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/95125
+       * config/i386/sse.md (sf2dfmode_lower): New mode attribute.
+       (trunc<mode><sf2dfmode_lower>2) New expander.
+       (extend<sf2dfmode_lower><mode>2): Ditto.
+
+2020-05-23 Iain Sandoe <iain@sandoe.co.uk>
+
+       * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make
+       ubsan_{data,type},ASAN symbols linker-visible.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-out.c (DFS::DFS): Silence warning.
+
+2020-05-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95255
+       * config/i386/i386.md (<rounding_insn><mode>2): Do not try to
+       expand non-sse4 ROUND_ROUNDEVEN rounding via SSE support routines.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-out.c (lto_output_tree): Do not stream final ref if
+       it is not needed.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-section-out.c (lto_output_decl_index): Adjust dump indentation.
+       * lto-streamer-out.c (create_output_block): Fix whitespace
+       (lto_write_tree_1): Add (debug) dump.
+       (DFS::DFS): Add dump.
+       (DFS::DFS_write_tree_body): Do not dump here.
+       (lto_output_tree): Improve dumping; do not stream ref when not needed.
+       (produce_asm_for_decls): Fix whitespace.
+       * tree-streamer-out.c (streamer_write_tree_header): Add dump.
+       * tree-streamer-out.c (streamer_write_integer_cst): Add debug dump.
+
+2020-05-22  Hongtao.liu  <hongtao.liu@intel.com>
+
+       PR target/92658
+       * config/i386/sse.md (trunc<pmov_src_lower><mode>2): New expander
+       (truncv32hiv32qi2): Ditto.
+       (trunc<ssedoublemodelower><mode>2): Ditto.
+       (trunc<mode><pmov_dst_3>2): Ditto.
+       (trunc<mode><pmov_dst_mode_4>2): Ditto.
+       (truncv2div2si2): Ditto.
+       (truncv8div8qi2): Ditto.
+       (avx512f_<code>v8div16qi2): Renaming from *avx512f_<code>v8div16qi2.
+       (avx512vl_<code>v2div2si): Renaming from *avx512vl_<code>v2div2si2.
+       (avx512vl_<code><mode>v2<ssecakarnum>qi2): Renaming from
+       *avx512vl_<code><mode>v<ssescalarnum>qi2.
+
+2020-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95258
+       * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+       AVX512VPOPCNTDQ.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95268
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Handle clobbers
+       properly.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-streamer.c (record_common_node): Fix hash value of pre-streamed
+       nodes.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-in.c (lto_read_tree): Do not stream end markers.
+       (lto_input_scc): Optimize streaming of entry lengths.
+       * lto-streamer-out.c (lto_write_tree): Do not stream end markers
+       (DFS::DFS): Optimize stremaing of entry lengths
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR lto/95190
+       * doc/invoke.texi (flto): Document behavior of diagnostic
+       options.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_is_simple_use): New overload.
+       (vect_maybe_update_slp_op_vectype): New.
+       * tree-vect-stmts.c (vect_is_simple_use): New overload
+       accessing operands of SLP vs. non-SLP operation transparently.
+       (vect_maybe_update_slp_op_vectype): New function updating
+       the possibly shared SLP operands vector type.
+       (vectorizable_operation): Be a bit more SLP vs non-SLP agnostic
+       using the new vect_is_simple_use overload;  update SLP invariant
+       operand nodes vector type.
+       (vectorizable_comparison): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_assignment): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Likewise.
+       * tree-vect-slp.c (vect_get_constant_vectors): Enforce
+       present SLP_TREE_VECTYPE and check it matches previous
+       behavior.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95248
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Remove bogus early out.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::_slp_tree): New.
+       (_slp_tree::~_slp_tree): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Factor out code
+       from allocators.
+       (_slp_tree::~_slp_tree): Implement.
+       (vect_free_slp_tree): Simplify.
+       (vect_create_new_slp_node): Likewise.  Add nops parameter.
+       (vect_build_slp_tree_2): Adjust.
+       (vect_analyze_slp_instance): Likewise.
+
+2020-05-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * adjust-alignment.c: Include memmodel.h.
+
+2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95260
+       * config/i386/cpuid.h: Use hexadecimal in comments.
+
+2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95212
+       * config/i386/i386-builtins.c (processor_features): Move
+       F_AVX512VP2INTERSECT after F_AVX512BF16.
+       (isa_names_table): Likewise.
+
+2020-05-21  Martin Liska  <mliska@suse.cz>
+
+       * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
+       Handle OPT_moutline_atomics.
+       * config/aarch64/aarch64.c: Add outline-atomics to
+       aarch64_attributes.
+       * doc/extend.texi: Document the newly added target attribute.
+
+2020-05-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95218
+
+       * config/i386/mmx.md (*mmx_<code>v2sf): Do not mark
+       operands 1 and 2 commutative.  Manually swap operands.
+       (*mmx_nabsv2sf2): Ditto.
+
+       Partially revert:
+       2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*<code>tf2_1):
+       Mark operands 1 and 2 commutative.
+       (*nabstf2_1): Ditto.
+       * config/i386/sse.md (*<code><mode>2): Mark operands 1 and 2
+       commutative.  Do not swap operands.
+       (*nabs<mode>2): Ditto.
+
+2020-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95229
+       * config/i386/sse.md (<code>v8qiv8hi2): Use
+       simplify_gen_subreg instead of simplify_subreg.
+       (<code>v8qiv8si2): Ditto.
+       (<code>v4qiv4si2): Ditto.
+       (<code>v4hiv4si2): Ditto.
+       (<code>v8qiv8di2): Ditto.
+       (<code>v4qiv4di2): Ditto.
+       (<code>v2qiv2di2): Ditto.
+       (<code>v4hiv4di2): Ditto.
+       (<code>v2hiv2di2): Ditto.
+       (<code>v2siv2di2): Ditto.
+
+2020-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95238
+       * config/i386/i386.md (*pushsi2_rex64):
+       Use "e" constraint instead of "i".
+
+2020-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-in.c (lto_input_scc): Add SHARED_SCC parameter.
+       (lto_input_tree_1): Strenghten sanity check.
+       (lto_input_tree): Update call of lto_input_scc.
+       * lto-streamer-out.c: Include ipa-utils.h
+       (create_output_block): Initialize local_trees if merigng is going
+       to happen.
+       (destroy_output_block): Destroy local_trees.
+       (DFS): Add max_local_entry.
+       (local_tree_p): New function.
+       (DFS::DFS): Initialize and maintain it.
+       (DFS::DFS_write_tree): Decide on streaming format.
+       (lto_output_tree): Stream inline singleton SCCs
+       * lto-streamer.h (enum LTO_tags): Add LTO_trees.
+       (struct output_block): Add local_trees.
+       (lto_input_scc): Update prototype.
+
+2020-05-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95223
+       * hash-table.h (hash_table::find_with_hash): Move up the call to
+       hash_table::verify.
+
+2020-05-20  Martin Liska  <mliska@suse.cz>
+
+       * lto-compress.c (lto_compression_zstd): Fill up
+       num_compressed_il_bytes.
+       (lto_uncompression_zstd): Likewise for num_uncompressed_il_bytes here.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95219
+       * tree-vect-loop.c (vectorizable_induction): Reduce
+       group_size before computing the number of required IVs.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95231
+       * tree-inline.c (remap_gimple_stmt): Revert adjusting
+       COND_EXPR and VEC_COND_EXPR for a -fnon-call-exception boundary.
+
+2020-05-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/94959
+       * config/arm/arm-protos.h (arm_mode_base_reg_class): Function
+       declaration.
+       (mve_vector_mem_operand): Likewise.
+       * config/arm/arm.c (thumb2_legitimate_address_p): For MVE target check
+       the load from memory to a core register is legitimate for give mode.
+       (mve_vector_mem_operand): Define function.
+       (arm_print_operand): Modify comment.
+       (arm_mode_base_reg_class): Define.
+       * config/arm/arm.h (MODE_BASE_REG_CLASS): Modify to add check for
+       TARGET_HAVE_MVE and expand to arm_mode_base_reg_class on TRUE.
+       * config/arm/constraints.md (Ux): Likewise.
+       (Ul): Likewise.
+       * config/arm/mve.md (mve_mov): Replace constraint Us with Ux and also
+       add support for missing Vector Store Register and Vector Load Register.
+       Add a new alternative to support load from memory to PC (or label) in
+       vector store/load.
+       (mve_vstrbq_<supf><mode>): Modify constraint Us to Ux.
+       (mve_vldrbq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrbq_z_<supf><mode>): Modify constraint Us to Ux.
+       (mve_vldrhq_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrhq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrhq_z_fv8hf): Likewise.
+       (mve_vldrhq_z_<supf><mode>): Likewise.
+       (mve_vldrwq_fv4sf): Likewise.
+       (mve_vldrwq_<supf>v4si): Likewise.
+       (mve_vldrwq_z_fv4sf): Likewise.
+       (mve_vldrwq_z_<supf>v4si): Likewise.
+       (mve_vld1q_f<mode>): Modify constriant Us to Ux.
+       (mve_vld1q_<supf><mode>): Likewise.
+       (mve_vstrhq_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand.
+       (mve_vstrhq_p_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vstrhq_p_<supf><mode>): Likewise.
+       (mve_vstrhq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand.
+       (mve_vstrwq_fv4sf): Modify constriant Us to Ux.
+       (mve_vstrwq_p_fv4sf): Modify constriant Us to Ux and also modify the MVE
+       instructions to emit.
+       (mve_vstrwq_p_<supf>v4si): Likewise.
+       (mve_vstrwq_<supf>v4si): Likewise.Modify constriant Us to Ux.
+       * config/arm/predicates.md (mve_memory_operand): Define.
+
+2020-05-30  Richard Biener  <rguenther@suse.de>
+
+       PR c/95141
+       * c-fold.c (c_fully_fold_internal): Enhance guard on
+       overflow_warning.
+
+2020-05-20  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/90811
+       * Makefile.in (OBJS): Add adjust-alignment.o.
+       * adjust-alignment.c (pass_data_adjust_alignment): New.
+       (pass_adjust_alignment): New.
+       (pass_adjust_alignment::execute): New.
+       (make_pass_adjust_alignment): New.
+       * tree-pass.h (make_pass_adjust_alignment): New.
+       * passes.def: Add pass_adjust_alignment.
+
+2020-05-19  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/94591
+       * config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
+       identity permutation.
+
+2020-05-19  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/sourcebuild.texi: Document new short_eq_int, ptr_eq_short,
+       msp430_small, msp430_large and size24plus DejaGNU effective
+       targets.
+       Improve grammar in descriptions for size20plus and size32plus effective
+       targets.
+
+2020-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.c (bpf_compute_frame_layout): Include space for
+       callee saved registers only in xBPF.
+       (bpf_expand_prologue): Save callee saved registers only in xBPF.
+       (bpf_expand_epilogue): Likewise for restoring.
+       * doc/invoke.texi (eBPF Options): Document this is activated by
+       -mxbpf.
+
+2020-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.opt (mxbpf): New option.
+       * doc/invoke.texi (Option Summary): Add -mxbpf.
+       (eBPF Options): Document -mxbbpf.
+
+2020-05-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/92658
+       * config/i386/sse.md (<code>v16qiv16hi2): New expander.
+       (<code>v32qiv32hi2): Ditto.
+       (<code>v8qiv8hi2): Ditto.
+       (<code>v16qiv16si2): Ditto.
+       (<code>v8qiv8si2): Ditto.
+       (<code>v4qiv4si2): Ditto.
+       (<code>v16hiv16si2): Ditto.
+       (<code>v8hiv8si2): Ditto.
+       (<code>v4hiv4si2): Ditto.
+       (<code>v8qiv8di2): Ditto.
+       (<code>v4qiv4di2): Ditto.
+       (<code>v2qiv2di2): Ditto.
+       (<code>v8hiv8di2): Ditto.
+       (<code>v4hiv4di2): Ditto.
+       (<code>v2hiv2di2): Ditto.
+       (<code>v8siv8di2): Ditto.
+       (<code>v4siv4di2): Ditto.
+       (<code>v2siv2di2): Ditto.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_implied_info_t): New.
+       (riscv_implied_info): New.
+       (riscv_subset_list): Add handle_implied_ext.
+       (riscv_subset_list::to_string): New parameter version_p to
+       control output format.
+       (riscv_subset_list::handle_implied_ext): New.
+       (riscv_subset_list::parse_std_ext): Call handle_implied_ext.
+       (riscv_arch_str): New parameter version_p to control output format.
+       (riscv_expand_arch): New.
+       * config/riscv/riscv-protos.h (riscv_arch_str): New parameter,
+       version_p.
+       * config/riscv/riscv.h (riscv_expand_arch): New,
+       (EXTRA_SPEC_FUNCTIONS): Define.
+       (ASM_SPEC): Transform -march= via riscv_expand_arch.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * riscv-common.c (parse_sv_or_non_std_ext): Rename to
+       parse_multiletter_ext.
+       (parse_multiletter_ext): Add parsing `h` and `z`, drop `sx`,
+       adjust parsing order for 's' and 'x'.
+
+2020-05-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::vectype): Add field.
+       (SLP_TREE_VECTYPE): New.
+       * tree-vect-slp.c (vect_create_new_slp_node): Initialize
+       SLP_TREE_VECTYPE.
+       (vect_create_new_slp_node): Likewise.
+       (vect_prologue_cost_for_slp): Move here from tree-vect-stmts.c
+       and simplify.
+       (vect_slp_analyze_node_operations): Walk nodes children for
+       invariant costing.
+       (vect_get_constant_vectors): Use local scope op variable.
+       * tree-vect-stmts.c (vect_prologue_cost_for_slp_op): Remove here.
+       (vect_model_simple_cost): Adjust.
+       (vect_model_store_cost): Likewise.
+       (vectorizable_store): Likewise.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92815
+       * tree-object-size.c (decl_init_size): New function.
+       (addr_object_size): Call it.
+       * tree.h (last_field): Declare.
+       (first_field): Add attribute nonnull.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94940
+       * tree-vrp.c (vrp_prop::check_mem_ref): Remove unreachable code.
+       * tree.c (component_ref_size): Correct the handling or array members
+       of unions.
+       Drop a pointless test.
+       Rename a local variable.
+
+2020-05-18  Jason Merrill  <jason@redhat.com>
+
+       * aclocal.m4: Add ax_cxx_compile_stdcxx.m4.
+       * configure.ac: Use AX_CXX_COMPILE_STDCXX(11).
+
+2020-05-14  Jason Merrill  <jason@redhat.com>
+
+       * doc/install.texi (Prerequisites): Update boostrap compiler
+       requirement to C++11/GCC 4.8.
+
+2020-05-18  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       PR tree-optimization/94952
+       * gimple-ssa-store-merging.c (pass_store_merging::process_store):
+       Initialize variables bitpos, bitregion_start, and bitregion_end in
+       order to silence warnings about use of uninitialized variables.
+
+2020-05-18  Carl Love  <cel@us.ibm.com>
+
+       PR target/94833
+       * config/rs6000/vsx.md (define_expand): Fix instruction generation for
+       first_match_index_<mode>.
+       * testsuite/gcc.target/powerpc/builtins-8-p9-runnable.c (main): Add
+       additional test cases with zero vector elements.
+
+2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95169
+       * config/i386/i386-expand.c (ix86_expand_int_movcc):
+        Avoid reversing a non-trapping comparison to a trapping one.
+
+2020-05-18  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm.c (output_move_double): Fix codegen when loading into
+       a register pair with an odd base register.
+
+2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
+       Do not emit FLAGS_REG clobber for TFmode.
+       * config/i386/i386.md (*<code>tf2_1): Rewrite as
+       define_insn_and_split.  Mark operands 1 and 2 commutative.
+       (*nabstf2_1): Ditto.
+       (absneg SSE splitter): Use MODEF mode iterator instead of SSEMODEF.
+       Do not swap memory operands.  Simplify RTX generation.
+       (neg abs SSE splitter): Ditto.
+       * config/i386/sse.md (*<code><mode>2): Mark operands 1 and 2
+       commutative.  Do not swap operands.  Simplify RTX generation.
+       (*nabs<mode>2): Ditto.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_bb): Start after labels.
+       (vect_get_constant_vectors): Really place init stmt after scalar defs.
+       * tree-vect-stmts.c (vect_init_vector_1): Insert before
+       region begin.
+
+2020-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Support
+       Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake
+       processor families.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95171
+       * tree-inline.c (remap_gimple_stmt): Split out trapping compares
+       when inlining into a non-call EH function.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95172
+       * tree-ssa-loop-im.c (execute_sm): Get flag whether we
+       eventually need the conditional processing.
+       (execute_sm_exit): When processing an orderd sequence
+       avoid doing any conditional processing.
+       (hoist_memory_references): Pass down whether all edges
+       have ordered processing for a ref to execute_sm.
+
+2020-05-17 Jeff Law  <law@redhat.com>
+
+       * config/h8300/predicates.md (pc_or_label_operand): New predicate.
+       * config/h8300/jumpcall.md (branch_true, branch_false): Consolidate
+       into a single pattern using pc_or_label_operand.
+       * config/h8300/combiner.md (bit branch patterns): Likewise.
+       * config/h8300/peepholes.md (HImode and SImode branches): Likewise.
+
+2020-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95021
+       * config/i386/i386-features.c (has_non_address_hard_reg):
+       Renamed to ...
+       (pseudo_reg_set): This.  Return the SET expression.  Ignore
+       pseudo register push.
+       (general_scalar_to_vector_candidate_p): Combine single_set and
+       has_non_address_hard_reg calls to pseudo_reg_set.
+       (timode_scalar_to_vector_candidate_p): Likewise.
+       * config/i386/i386.md (*pushv1ti2): New pattern.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       Revert:
+       2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (operand_less_p): Move to...
+       * vr-values.c (operand_less_p): ...here.
+       * tree-vrp.h (operand_less_p): Remove.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (operand_less_p): Move to...
+       * vr-values.c (operand_less_p): ...here.
+       * tree-vrp.h (operand_less_p): Remove.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_insert): Remove prototype for
+       live_on_edge.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class live_names): New.
+       (live_on_edge): Move into live_names.
+       (build_assert_expr_for): Move into vrp_insert.
+       (find_assert_locations_in_bb): Rename from
+       find_assert_locations_1.
+       (process_assert_insertions_for): Move into vrp_insert.
+       (compare_assert_loc): Same.
+       (remove_range_assertions): Same.
+       (dump_asserts_for): Rename to vrp_insert::dump.
+       (debug_asserts_for): Rename to vrp_insert::debug.
+       (dump_all_asserts): Rename to vrp_insert::dump.
+       (debug_all_asserts): Rename to vrp_insert::debug.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_prop): Move check_all_array_refs,
+       check_array_ref, check_mem_ref, and search_for_addr_array
+       into new class...
+       (class array_bounds_checker): ...here.
+       (class check_array_bounds_dom_walker): Adjust to use
+       array_bounds_checker.
+       (check_all_array_refs): Move into array_bounds_checker and rename
+       to check.
+       (class vrp_folder): Make fold_predicate_in private.
+
+2020-05-15 Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (SFI iterator): New iterator for
+       SFmode and SImode.
+       * config/h8300/peepholes.md (memory comparison): Use mode
+       iterator to consolidate 3 patterns into one.
+       (stack allocation and stack store): Handle SFmode.  Handle
+       8 byte allocations.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_2): Also require
+       RS6000_BTM_POWERPC64.
+
+2020-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (SWI48DWI): New mode iterator.
+       (*push<mode>2): Allow XMM registers.
+       (*pushdi2_rex64): Ditto.
+       (*pushsi2_rex64): Ditto.
+       (*pushsi2): Ditto.
+       (push XMM reg splitter): New splitter
+
+       (*pushdf) Change "x" operand constraint to "v".
+       (*pushsf_rex64): Ditto.
+       (*pushsf): Ditto.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92260
+       * tree-vect-slp.c (vect_get_constant_vectors): Compute
+       the number of vector stmts in a canonical way.
+
+2020-05-15  Martin Liska  <mliska@suse.cz>
+
+       * hsa-gen.c (get_symbol_for_decl): Fix misleading indentation
+       warning.
+
+2020-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (v<expander><mode>3): Fix unsignedp.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95133
+       * gimple-ssa-split-paths.c
+       (find_block_to_duplicate_for_splitting_paths): Check for
+       normal edges.
+
+2020-05-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * config/arm/arm.c (reg_needs_saving_p): Add support for interrupt
+        routines.
+        (arm_compute_save_reg0_reg12_mask): Use reg_needs_saving_p.
+
+2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94635
+       * gimplify.c (gimplify_scan_omp_clauses): For MAP_TO_PSET with
+       OMP_TARGET_EXIT_DATA, use 'release:' unless the associated
+       item is 'delete:'.
+
+2020-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/i386.md (isa): Add sse3_noavx.
+       (enabled): Handle sse3_noavx.
+
+       * config/i386/mmx.md (mmx_haddv2sf3): New expander.
+       (*mmx_haddv2sf3): Rename from mmx_haddv2sf3.  Add SSE/AVX
+       alternatives.  Match commutative vec_select selector operands.
+       (*mmx_haddv2sf3_low): New insn pattern.
+
+       (*mmx_hsubv2sf3): Add SSE/AVX alternatives.
+       (*mmx_hsubv2sf3_low): New insn pattern.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/33315
+       * tree-ssa-sink.c: Include tree-eh.h.
+       (sink_stats): Add commoned member.
+       (sink_common_stores_to_bb): New function implementing store
+       commoning by sinking to the successor.
+       (sink_code_in_bb): Call it, pass down TODO_cleanup_cfg returned.
+       (pass_sink_code::execute): Likewise.  Record commoned stores
+       in statistics.
+
+2020-05-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/37451, part of PR target/61837
+       * loop-doloop.c (doloop_simplify_count): New function.  Simplify
+       (add -1; zero_ext; add +1) to zero_ext when not wrapping.
+       (doloop_modify): Call doloop_simplify_count.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR jit/94778
+       * doc/sourcebuild.texi: Document effective target lgccjit.
+
+2020-05-14  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (add<mode>3_zext_dup): Change to a
+       define_expand, and rename the original to ...
+       (add<mode>3_vcc_zext_dup): ... this, and add a custom VCC operand.
+       (add<mode>3_zext_dup_exec): Likewise, with ...
+       (add<mode>3_vcc_zext_dup_exec): ... this.
+       (add<mode>3_zext_dup2): Likewise, with ...
+       (add<mode>3_zext_dup_exec): ... this.
+       (add<mode>3_zext_dup2_exec): Likewise, with ...
+       (add<mode>3_zext_dup2): ... this.
+       * config/gcn/gcn.c (gcn_expand_scalar_to_vector_address): Switch
+       addv64di3_zext* calls to use addv64di3_vcc_zext*.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/sse.md (truncv2dfv2df2): New insn pattern.
+       (extendv2sfv2df2): Ditto.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2020-05-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (reg_needs_saving_p): New function.
+       (use_return_insn): Use reg_needs_saving_p.
+       (arm_get_vfp_saved_size): Likewise.
+       (arm_compute_frame_layout): Likewise.
+       (arm_save_coproc_regs): Likewise.
+       (thumb1_expand_epilogue): Likewise.
+       (arm_expand_epilogue_apcs_frame): Likewise.
+       (arm_expand_epilogue): Likewise.
+
+2020-05-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * config/arm/arm.c (thumb1_expand_prologue): Update error message.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/sse.md (sse2_cvtpi2pd): Add memory to alternative 1.
+
+       (floatv2siv2df2): New expander.
+       (floatunsv2siv2df2): New insn pattern.
+
+       (fix_truncv2dfv2si2): New expander.
+       (fixuns_truncv2dfv2si2): New insn pattern.
+
+2020-05-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/95105
+       * config/aarch64/aarch64-sve-builtins.cc
+       (handle_arm_sve_vector_bits_attribute): Create a copy of the
+       original type's TYPE_MAIN_VARIANT, then reapply all the differences
+       between the original type and its main variant.
+
+2020-05-14  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95118
+       * real.c (real_to_decimal_for_mode): Make sure we handle
+       a zero with nonzero exponent.
+
+2020-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (GTFILES): Add omp-general.c.
+       * cgraph.h (struct cgraph_node): Add declare_variant_alt and
+       calls_declare_variant_alt members and initialize them in the
+       ctor.
+       * ipa.c (symbol_table::remove_unreachable_nodes): Handle direct
+       calls to declare_variant_alt nodes.
+       * lto-cgraph.c (lto_output_node): Write declare_variant_alt
+       and calls_declare_variant_alt.
+       (input_overwrite_node): Read them back.
+       * omp-simd-clone.c (simd_clone_create): Copy calls_declare_variant_alt
+       bit.
+       * tree-inline.c (expand_call_inline): Or in calls_declare_variant_alt
+       bit.
+       (tree_function_versioning): Copy calls_declare_variant_alt bit.
+       * omp-offload.c (execute_omp_device_lower): Call
+       omp_resolve_declare_variant on direct function calls.
+       (pass_omp_device_lower::gate): Also enable for
+       calls_declare_variant_alt functions.
+       * omp-general.c (omp_maybe_offloaded): Return false after inlining.
+       (omp_context_selector_matches): Handle the case when
+       cfun->curr_properties has PROP_gimple_any bit set.
+       (struct omp_declare_variant_entry): New type.
+       (struct omp_declare_variant_base_entry): New type.
+       (struct omp_declare_variant_hasher): New type.
+       (omp_declare_variant_hasher::hash, omp_declare_variant_hasher::equal):
+       New methods.
+       (omp_declare_variants): New variable.
+       (struct omp_declare_variant_alt_hasher): New type.
+       (omp_declare_variant_alt_hasher::hash,
+       omp_declare_variant_alt_hasher::equal): New methods.
+       (omp_declare_variant_alt): New variables.
+       (omp_resolve_late_declare_variant): New function.
+       (omp_resolve_declare_variant): Call omp_resolve_late_declare_variant
+       when called late.  Create a magic declare_variant_alt fndecl and
+       cgraph node and return that if decision needs to be deferred until
+       after gimplification.
+       * cgraph.c (symbol_table::create_edge): Or in calls_declare_variant_alt
+       bit.
+
+       PR middle-end/95108
+       * omp-simd-clone.c (struct modify_stmt_info): Add after_stmt member.
+       (ipa_simd_modify_stmt_ops): For PHIs, only add before first stmt in
+       entry block if info->after_stmt is NULL, otherwise add after that stmt
+       and update it after adding each stmt.
+       (ipa_simd_modify_function_body): Initialize info.after_stmt.
+
+       * function.h (struct function): Add has_omp_target bit.
+       * omp-offload.c (omp_discover_declare_target_fn_r): New function,
+       old renamed to ...
+       (omp_discover_declare_target_tgt_fn_r): ... this.
+       (omp_discover_declare_target_var_r): Call
+       omp_discover_declare_target_tgt_fn_r instead of
+       omp_discover_declare_target_fn_r.
+       (omp_discover_implicit_declare_target): Also queue functions with
+       has_omp_target bit set, for those walk with
+       omp_discover_declare_target_fn_r, for declare target to functions
+       walk with omp_discover_declare_target_tgt_fn_r.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (mmx_fix_truncv2sfv2si2): Rename from mmx_pf2id.
+       Add SSE/AVX alternative.  Change operand predicates from
+       nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+       (fix_truncv2sfv2si2): New expander.
+       (fixuns_truncv2sfv2si2): New insn pattern.
+
+       (mmx_floatv2siv2sf2): rename from mmx_floatv2si2.
+       Add SSE/AVX alternative.  Change operand predicates from
+       nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+       (floatv2siv2sf2): New expander.
+       (floatunsv2siv2sf2): New insn pattern.
+
+       * config/i386/i386-builtin.def (IX86_BUILTIN_PF2ID):
+       Update for rename.
+       (IX86_BUILTIN_PI2FD): Ditto.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_emit_stack_probe): Call the probe_stack
+       expander.
+       * config/s390/s390.md ("@probe_stack2<mode>", "probe_stack"): New
+       expanders.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (allocate_stack_space): Add missing updates
+       of last_probe_offset.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.md ("allocate_stack"): Call
+       anti_adjust_stack_and_probe_stack_clash when stack clash
+       protection is enabled.
+       * explow.c (anti_adjust_stack_and_probe_stack_clash): Remove
+       prototype. Remove static.
+       * explow.h (anti_adjust_stack_and_probe_stack_clash): Add
+       prototype.
+
+2020-05-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/altivec.h (vec_extractl): New #define.
+       (vec_extracth): Likewise.
+       * config/rs6000/altivec.md (UNSPEC_EXTRACTL): New constant.
+       (UNSPEC_EXTRACTR): Likewise.
+       (vextractl<mode>): New expansion.
+       (vextractl<mode>_internal): New insn.
+       (vextractr<mode>): New expansion.
+       (vextractr<mode>_internal): New insn.
+       * config/rs6000/rs6000-builtin.def (__builtin_altivec_vextdubvlx):
+       New built-in function.
+       (__builtin_altivec_vextduhvlx): Likewise.
+       (__builtin_altivec_vextduwvlx): Likewise.
+       (__builtin_altivec_vextddvlx): Likewise.
+       (__builtin_altivec_vextdubvhx): Likewise.
+       (__builtin_altivec_vextduhvhx): Likewise.
+       (__builtin_altivec_vextduwvhx): Likewise.
+       (__builtin_altivec_vextddvhx): Likewise.
+       (__builtin_vec_extractl): New overloaded built-in function.
+       (__builtin_vec_extracth): Likewise.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins):
+       Define overloaded forms of __builtin_vec_extractl and
+       __builtin_vec_extracth.
+       (builtin_function_type): Add cases to mark arguments of new
+       built-in functions as unsigned.
+       (rs6000_common_init_builtins): Add
+       opaque_ftype_opaque_opaque_opaque_opaque.
+       * config/rs6000/rs6000.md (du_or_d): New mode attribute.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Add description of vec_extractl and
+       vec_extractr built-in functions.
+
+2020-05-13  Richard Biener  <rguenther@suse.de>
+
+       * target.def (add_stmt_cost): Add new vectype parameter.
+       * targhooks.c (default_add_stmt_cost): Adjust.
+       * targhooks.h (default_add_stmt_cost): Likewise.
+       * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Take new
+       vectype parameter.
+       * config/arm/arm.c (arm_add_stmt_cost): Likewise.
+       * config/i386/i386.c (ix86_add_stmt_cost): Likewise.
+       * config/rs6000/rs6000.c (rs6000_add_stmt_cost): Likewise.
+
+       * tree-vectorizer.h (stmt_info_for_cost::vectype): Add.
+       (dump_stmt_cost): Add new vectype parameter.
+       (add_stmt_cost): Likewise.
+       (record_stmt_cost): Likewise.
+       (record_stmt_cost): Add overload with old signature.
+       * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
+       Adjust.
+       (vect_get_known_peeling_cost): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       * tree-vectorizer.c (dump_stmt_cost): Add new vectype parameter.
+       * tree-vect-stmts.c (record_stmt_cost): Likewise.
+       (vect_prologue_cost_for_slp_op): Remove stmt_vec_info parameter
+       and pass down correct vectype and NULL stmt_info.
+       (vect_model_simple_cost): Adjust.
+       (vect_model_store_cost): Likewise.
+
+2020-05-13  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (SLP_INSTANCE_GROUP_SIZE): Remove.
+       (_slp_instance::group_size): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): The group size
+       is the number of lanes in the node.
+       * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
+       (vect_analyze_slp_instance): Do not set SLP_INSTANCE_GROUP_SIZE,
+       verify it matches the instance trees number of lanes.
+       (vect_slp_analyze_node_operations_1): Use the numer of lanes
+       in the node as group size.
+       (vect_bb_vectorization_profitable_p): Use the instance root
+       number of lanes for the size of life.
+       (vect_schedule_slp_instance): Use the number of lanes as
+       group_size.
+       * tree-vect-stmts.c (vectorizable_load): Remove SLP instance
+       parameter.  Use the number of lanes of the load for the group
+       size in the gap adjustment code.
+       (vect_analyze_stmt): Adjust.
+       (vect_transform_stmt): Likewise.
+
+2020-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/95080
+       * cfgrtl.c (purge_dead_edges): Skip over debug and note insns even
+       if the last insn is a note.
+
+       PR tree-optimization/95060
+       * tree-ssa-math-opts.c (convert_mult_to_fma_1): Fold a NEGATE_EXPR
+       if it is the single use of the FMA internal builtin.
+
+2020-05-13  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/94969
+       * tree-data-dependence.c (constant_access_functions): Rename to...
+       (invariant_access_functions): ...this.  Add parameter.  Check for
+       invariant access function, rather than constant.
+       (build_classic_dist_vector): Call above function.
+       * tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
+
+2020-05-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/94118
+       * doc/extend.texi (x86Operandmodifiers): Document more x86
+       operand modifier.
+       * gcc/config/i386/i386.c: Add comment for operand modifier N and I.
+
+2020-05-12  Giuliano Belinassi  <giuliano.belinassi@usp.br>
+
+       * tree-vrp.c (class vrp_insert): New.
+       (insert_range_assertions): Move to class vrp_insert.
+       (dump_all_asserts): Same as above.
+       (dump_asserts_for): Same as above.
+       (live): Same as above.
+       (need_assert_for): Same as above.
+       (live_on_edge): Same as above.
+       (finish_register_edge_assert_for): Same as above.
+       (find_switch_asserts): Same as above.
+       (find_assert_locations): Same as above.
+       (find_assert_locations_1): Same as above.
+       (find_conditional_asserts): Same as above.
+       (process_assert_insertions): Same as above.
+       (register_new_assert_for): Same as above.
+       (vrp_prop): New variable fun.
+       (vrp_initialize): New parameter.
+       (identify_jump_threads): Same as above.
+       (execute_vrp): Same as above.
+
+
+2020-05-12  Keith Packard  <keith.packard@sifive.com>
+
+       * config/riscv/riscv.c (riscv_unique_section): New.
+       (TARGET_ASM_UNIQUE_SECTION): New.
+
+2020-05-12  Craig Blackmore  <craig.blackmore@embecosm.com>
+
+       * config.gcc:  Add riscv-shorten-memrefs.o to extra_objs for riscv.
+       * config/riscv/riscv-passes.def: New file.
+       * config/riscv/riscv-protos.h (make_pass_shorten_memrefs): Declare.
+       * config/riscv/riscv-shorten-memrefs.c: New file.
+       * config/riscv/riscv.c (tree-pass.h): New include.
+       (riscv_compressed_reg_p): New Function
+       (riscv_compressed_lw_offset_p): Likewise.
+       (riscv_compressed_lw_address_p): Likewise.
+       (riscv_shorten_lw_offset): Likewise.
+       (riscv_legitimize_address): Attempt to convert base + large_offset
+       to compressible new_base + small_offset.
+       (riscv_address_cost): Make anticipated compressed load/stores
+       cheaper for code size than uncompressed load/stores.
+       (riscv_register_priority): Move compressed register check to
+       riscv_compressed_reg_p.
+       * config/riscv/riscv.h (C_S_BITS): Define.
+       (CSW_MAX_OFFSET): Define.
+       * config/riscv/riscv.opt (mshorten-memefs): New option.
+       * config/riscv/t-riscv (riscv-shorten-memrefs.o): New rule.
+       (PASSES_EXTRA): Add riscv-passes.def.
+       * doc/invoke.texi: Document -mshorten-memrefs.
+
+       * config/riscv/riscv.c (riscv_new_address_profitable_p): New function.
+       (TARGET_NEW_ADDRESS_PROFITABLE_P): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (TARGET_NEW_ADDRESS_PROFITABLE_P):  New hook.
+       * sched-deps.c (attempt_change): Use old address if it is cheaper than
+       new address.
+       * target.def (new_address_profitable_p): New hook.
+       * targhooks.c (default_new_address_profitable_p): New function.
+       * targhooks.h (default_new_address_profitable_p): Declare.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (copysignv2sf3): New expander.
+       (xorsignv2sf3): Ditto.
+       (signbitv2sf3): Ditto.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (fmav2sf4): New insn pattern.
+       (fmsv2sf4): Ditto.
+       (fnmav2sf4): Ditto.
+       (fnmsv2sf4): Ditto.
+
+2020-05-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.in (CET_HOST_FLAGS): New.
+       (COMPILER): Add $(CET_HOST_FLAGS).
+       * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
+       AC_SUBST(CET_HOST_FLAGS).  Clear CET_HOST_FLAGS if jit isn't
+       enabled.
+       * aclocal.m4: Regenerated.
+       * configure: Likewise.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (<code>v2sf2): New insn pattern.
+       (*mmx_<code>v2sf2): New insn_and_split pattern.
+       (*mmx_nabsv2sf2): Ditto.
+       (*mmx_andnotv2sf3): New insn pattern.
+       (*mmx_<code>v2sf3): Ditto.
+       * config/i386/i386.md (absneg_op): New code attribute.
+       * config/i386/i386.c (ix86_build_const_vector): Handle V2SFmode.
+       (ix86_build_signbit_mask): Ditto.
+
+2020-05-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-live.c (remove_unused_locals): Remove dead debug
+       bind resets.
+
+2020-05-12  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430-protos.h (msp430_output_aligned_decl_common):
+       Update prototype to include "local" argument.
+       * config/msp430/msp430.c (msp430_output_aligned_decl_common): Add
+       "local" argument.  Handle local common decls.
+       * config/msp430/msp430.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Adjust
+       msp430_output_aligned_decl_common call with 0 for "local" argument.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
+
+2020-05-12  Richard Biener  <rguenther@suse.de>
+
+       * cfghooks.c (split_edge): Preserve EDGE_DFS_BACK if set.
+
+2020-05-12  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/95033
+       PR sanitizer/95051
+       * sanopt.c (sanitize_rewrite_addressable_params):
+       Clear DECL_NOT_GIMPLE_REG_P for argument.
+
+2020-05-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94980
+       * tree-vect-generic.c (expand_vector_comparison): Use
+       vector_element_bits_tree to get the element size in bits,
+       rather than using TYPE_SIZE.
+       (expand_vector_condition, vector_element): Likewise.
+
+2020-05-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94980
+       * tree-vect-generic.c (build_replicated_const): Take the number
+       of bits as a parameter, instead of the type of the elements.
+       (do_plus_minus): Update accordingly, using vector_element_bits
+       to calculate the correct number of bits.
+       (do_negate): Likewise.
+
+2020-05-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94980
+       * tree.h (vector_element_bits, vector_element_bits_tree): Declare.
+       * tree.c (vector_element_bits, vector_element_bits_tree): New.
+       * match.pd: Use the new functions instead of determining the
+       vector element size directly from TYPE_SIZE(_UNIT).
+       * tree-vect-data-refs.c (vect_gather_scatter_fn_p): Likewise.
+       * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Likewise.
+       * tree-vect-stmts.c (vect_is_simple_cond): Likewise.
+       * tree-vect-generic.c (expand_vector_piecewise): Likewise.
+       (expand_vector_conversion): Likewise.
+       (expand_vector_addition): Likewise for a TYPE_SIZE_UNIT used as
+       a divisor.  Convert the dividend to bits to compensate.
+       * tree-vect-loop.c (vectorizable_live_operation): Call
+       vector_element_bits instead of open-coding it.
+
+2020-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-offload.h (omp_discover_implicit_declare_target): Declare.
+       * omp-offload.c: Include context.h.
+       (omp_declare_target_fn_p, omp_declare_target_var_p,
+       omp_discover_declare_target_fn_r, omp_discover_declare_target_var_r,
+       omp_discover_implicit_declare_target): New functions.
+       * cgraphunit.c (analyze_functions): Call
+       omp_discover_implicit_declare_target.
+
+2020-05-12  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Canonicalize
+       literal constant &MEM[..] to a constant literal.
+
+2020-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95045
+       * dbgcnt.def (lim): Add debug-counter.
+       * tree-ssa-loop-im.c: Include dbgcnt.h.
+       (find_refs_for_sm): Use lim debug counter for store motion
+       candidates.
+       (do_store_motion): Rename form store_motion.  Commit edge
+       insertions...
+       (store_motion_loop): ... here.
+       (tree_ssa_lim): Adjust.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/altivec.h (vec_clzm): Rename to vec_cntlzm.
+       (vec_ctzm): Rename to vec_cnttzm.
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Change fourth operand for vec_ternarylogic to require
+       compatibility with unsigned SImode rather than unsigned QImode.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins):
+       Remove overloaded forms of vec_gnb that are no longer needed.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Replace vec_clzm with vec_cntlzm;
+       replace vec_ctzm with vec_cntlzm; remove four unwanted forms of
+       vec_gnb; move vec_ternarylogic documentation into this section
+       and replace const unsigned char with const unsigned int as its
+       fourth argument.
+
+2020-05-11  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_genpcvm): New #define.
+       * config/rs6000/rs6000-builtin.def (XXGENPCVM_V16QI): New built-in
+       instantiation.
+       (XXGENPCVM_V8HI): Likewise.
+       (XXGENPCVM_V4SI): Likewise.
+       (XXGENPCVM_V2DI): Likewise.
+       (XXGENPCVM): New overloaded built-in instantiation.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add
+       entries for FUTURE_BUILTIN_VEC_XXGENPCVM.
+       (altivec_expand_builtin): Add special handling for
+       FUTURE_BUILTIN_VEC_XXGENPCVM.
+       (builtin_function_type): Add handling for
+       FUTURE_BUILTIN_XXGENPCVM_{V16QI,V8HI,V4SI,V2DI}.
+       * config/rs6000/vsx.md (VSX_EXTRACT_I4): New mode iterator.
+       (UNSPEC_XXGENPCV): New constant.
+       (xxgenpcvm_<mode>_internal): New insn.
+       (xxgenpcvm_<mode>): New expansion.
+       * doc/extend.texi: Add documentation for vec_genpcvm built-ins.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/altivec.h (vec_strir): New #define.
+       (vec_stril): Likewise.
+       (vec_strir_p): Likewise.
+       (vec_stril_p): Likewise.
+       * config/rs6000/altivec.md (UNSPEC_VSTRIR): New constant.
+       (UNSPEC_VSTRIL): Likewise.
+       (vstrir_<mode>): New expansion.
+       (vstrir_code_<mode>): New insn.
+       (vstrir_p_<mode>): New expansion.
+       (vstrir_p_code_<mode>): New insn.
+       (vstril_<mode>): New expansion.
+       (vstril_code_<mode>): New insn.
+       (vstril_p_<mode>): New expansion.
+       (vstril_p_code_<mode>): New insn.
+       * config/rs6000/rs6000-builtin.def (__builtin_altivec_vstribr):
+       New built-in function.
+       (__builtin_altivec_vstrihr): Likewise.
+       (__builtin_altivec_vstribl): Likewise.
+       (__builtin_altivec_vstrihl): Likewise.
+       (__builtin_altivec_vstribr_p): Likewise.
+       (__builtin_altivec_vstrihr_p): Likewise.
+       (__builtin_altivec_vstribl_p): Likewise.
+       (__builtin_altivec_vstrihl_p): Likewise.
+       (__builtin_vec_strir): New overloaded built-in function.
+       (__builtin_vec_stril): Likewise.
+       (__builtin_vec_strir_p): Likewise.
+       (__builtin_vec_stril_p): Likewise.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins):
+       Define overloaded forms of __builtin_vec_strir,
+       __builtin_vec_stril, __builtin_vec_strir_p, and
+       __builtin_vec_stril_p.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Add description of vec_stril,
+       vec_stril_p, vec_strir, and vec_strir_p built-in functions.
+
+2020-05-11  Kelvin Nilsen  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/altivec.h (vec_ternarylogic): New #define.
+       * config/rs6000/altivec.md (UNSPEC_XXEVAL): New constant.
+       (xxeval): New insn.
+       * config/rs6000/predicates.md (u8bit_cint_operand): New predicate.
+       * config/rs6000/rs6000-builtin.def: Add handling of new macro
+       RS6000_BUILTIN_4.
+       (BU_FUTURE_V_4): New macro. Use it.
+       (BU_FUTURE_OVERLOAD_4): Likewise.
+       * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Add
+       handling for quaternary built-in functions.
+       (altivec_resolve_overloaded_builtin): Add special-case handling
+       for __builtin_vec_xxeval.
+       * config/rs6000/rs6000-call.c: Add handling of new macro
+       RS6000_BUILTIN_4 in initialization of rs6000_builtin_info,
+       bdesc0_arg, bdesc1_arg, bdesc2_arg, bdesc_3arg,
+       bdesc_altivec_preds, bdesc_abs, and bdesc_htm arrays.
+       (altivec_overloaded_builtins): Add definitions for
+       FUTURE_BUILTIN_VEC_XXEVAL.
+       (bdesc_4arg): New array.
+       (htm_expand_builtin): Add handling for quaternary built-in
+       functions.
+       (rs6000_expand_quaternop_builtin): New function.
+       (rs6000_expand_builtin): Add handling for quaternary built-in
+       functions.
+       (rs6000_init_builtins): Initialize builtin_mode_to_type entries
+       for unsigned QImode and unsigned HImode.
+       (builtin_quaternary_function_type): New function.
+       (rs6000_common_init_builtins): Add handling of quaternary
+       operations.
+       * config/rs6000/rs6000.h (RS6000_BTC_QUATERNARY): New defined
+       constant.
+       (RS6000_BTC_PREDICATE): Change value of constant.
+       (RS6000_BTC_ABS): Likewise.
+       (rs6000_builtins): Add support for new macro RS6000_BUILTIN_4.
+       * doc/extend.texi (PowerPC AltiVec Built-In Functions Available
+       for a Future Architecture): Add description of vec_ternarylogic
+       built-in function.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/rs6000-builtin.def (__builtin_pdepd): New built-in
+       function.
+       (__builtin_pextd): Likewise.
+       * config/rs6000/rs6000.md (UNSPEC_PDEPD): New constant.
+       (UNSPEC_PEXTD): Likewise.
+       (pdepd): New insn.
+       (pextd): Likewise.
+       * doc/extend.texi (Basic PowerPC Built-in Functions Available for
+       a Future Architecture): Add descriptions of __builtin_pdepd and
+       __builtin_pextd functions.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/altivec.h (vec_clrl): New #define.
+       (vec_clrr): Likewise.
+       * config/rs6000/altivec.md (UNSPEC_VCLRLB): New constant.
+       (UNSPEC_VCLRRB): Likewise.
+       (vclrlb): New insn.
+       (vclrrb): Likewise.
+       * config/rs6000/rs6000-builtin.def (__builtin_altivec_vclrlb): New
+       built-in function.
+       (__builtin_altivec_vclrrb): Likewise.
+       (__builtin_vec_clrl): New overloaded built-in function.
+       (__builtin_vec_clrr): Likewise.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins):
+       Define overloaded forms of __builtin_vec_clrl and
+       __builtin_vec_clrr.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Add descriptions of vec_clrl and
+       vec_clrr.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/rs6000-builtin.def (__builtin_cntlzdm): New
+       built-in function definition.
+       (__builtin_cnttzdm): Likewise.
+       * config/rs6000/rs6000.md (UNSPEC_CNTLZDM): New constant.
+       (UNSPEC_CNTTZDM): Likewise.
+       (cntlzdm): New insn.
+       (cnttzdm): Likewise.
+       * doc/extend.texi (Basic PowerPC Built-in Functions available for
+       a Future Architecture): Add descriptions of __builtin_cntlzdm and
+       __builtin_cnttzdm functions.
+
+2020-05-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (sqrtv2sf2): New insn pattern.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/altivec.h (vec_cfuge): New #define.
+       * config/rs6000/altivec.md (UNSPEC_VCFUGED): New constant.
+       (vcfuged): New insn.
+       * config/rs6000/rs6000-builtin.def (__builtin_altivec_vcfuged):
+       New built-in function.
+       * config/rs6000/rs6000-call.c (builtin_function_type): Add
+       handling for FUTURE_BUILTIN_VCFUGED case.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Add description of vec_cfuge built-in
+       function.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_0): New
+       #define.
+       (BU_FUTURE_MISC_1): Likewise.
+       (BU_FUTURE_MISC_2): Likewise.
+       (BU_FUTURE_MISC_3): Likewise.
+       (__builtin_cfuged): New built-in function definition.
+       * config/rs6000/rs6000.md (UNSPEC_CFUGED): New constant.
+       (cfuged): New insn.
+       * doc/extend.texi (Basic PowerPC Built-in Functions Available for
+       a Future Architecture): New subsubsection.
+
+2020-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95049
+       * tree-ssa-sccvn.c (set_ssa_val_to): Reject lattice transition
+       between different constants.
+
+2020-05-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-pretty-print.c (dump_generic_node): Handle BOOLEAN_TYPEs.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+           Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/altivec.h (vec_gnb): New #define.
+       * config/rs6000/altivec.md (UNSPEC_VGNB): New constant.
+       (vgnb): New insn.
+       * config/rs6000/rs6000-builtin.def (BU_FUTURE_OVERLOAD_1): New
+       #define.
+       (BU_FUTURE_OVERLOAD_2): Likewise.
+       (BU_FUTURE_OVERLOAD_3): Likewise.
+       (__builtin_altivec_gnb): New built-in function.
+       (__buiiltin_vec_gnb): New overloaded built-in function.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins):
+       Define overloaded forms of __builtin_vec_gnb.
+       (rs6000_expand_binop_builtin): Add error checking for 2nd argument
+       of __builtin_vec_gnb.
+       (builtin_function_type): Mark return value and arguments unsigned
+       for FUTURE_BUILTIN_VGNB.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available
+       for a Future Architecture): Add description of vec_gnb built-in
+       function.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+           Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/altivec.h (vec_pdep): New macro implementing new
+       built-in function.
+       (vec_pext): Likewise.
+       * config/rs6000/altivec.md (UNSPEC_VPDEPD): New constant.
+       (UNSPEC_VPEXTD): Likewise.
+       (vpdepd): New insn.
+       (vpextd): Likewise.
+       * config/rs6000/rs6000-builtin.def (__builtin_altivec_vpdepd): New
+       built-in function.
+       (__builtin_altivec_vpextd): Likewise.
+       * config/rs6000/rs6000-call.c (builtin_function_type): Add
+       handling for FUTURE_BUILTIN_VPDEPD and FUTURE_BUILTIN_VPEXTD
+       cases.
+       * doc/extend.texi (PowerPC Altivec Built-in Functions Available
+       for a Future Architecture): Add description of vec_pdep and
+       vec_pext built-in functions.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+           Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/altivec.h (vec_clzm): New macro.
+       (vec_ctzm): Likewise.
+       * config/rs6000/altivec.md (UNSPEC_VCLZDM): New constant.
+       (UNSPEC_VCTZDM): Likewise.
+       (vclzdm): New insn.
+       (vctzdm): Likewise.
+       * config/rs6000/rs6000-builtin.def (BU_FUTURE_V_0): New macro.
+       (BU_FUTURE_V_1): Likewise.
+       (BU_FUTURE_V_2): Likewise.
+       (BU_FUTURE_V_3): Likewise.
+       (__builtin_altivec_vclzdm): New builtin definition.
+       (__builtin_altivec_vctzdm): Likewise.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Cause
+       _ARCH_PWR_FUTURE macro to be defined if OPTION_MASK_FUTURE flag is
+       set.
+       * config/rs6000/rs6000-call.c (builtin_function_type): Set return
+       value and parameter types to be unsigned for VCLZDM and VCTZDM.
+       * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+       support for TARGET_FUTURE flag.
+       * config/rs6000/rs6000.h (RS6000_BTM_FUTURE): New macro constant.
+       * doc/extend.texi (PowerPC Altivec Built-in Functions Available
+       for a Future Architecture): New subsubsection.
+
+2020-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94988
+       PR tree-optimization/95025
+       * tree-ssa-loop-im.c (seq_entry): Make a struct, add from.
+       (sm_seq_push_down): Take extra parameter denoting where we
+       moved the ref to.
+       (execute_sm_exit): Re-issue sm_other stores in the correct
+       order.
+       (sm_seq_valid_bb): When always executed, allow sm_other to
+       prevail inbetween sm_ord and record their stored value.
+       (hoist_memory_references): Adjust refs_not_supported propagation
+       and prune sm_other from the end of the ordered sequences.
+
+2020-05-11  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/94991
+       * config/aarch64/aarch64.md (mov<mode>):
+       Bitcasts to the equivalent integer mode using gen_lowpart
+       instead of doing FAIL for scalar floating point move.
+
+2020-05-11  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Add case
+       to correctly calculate cost for new pattern (*csinv3_uxtw_insn3).
+       * config/aarch64/aarch64.md (*csinv3_utxw_insn1): New.
+       (*csinv3_uxtw_insn2): New.
+       (*csinv3_uxtw_insn3): New.
+       * config/aarch64/iterators.md (neg_not_cs): New.
+
+2020-05-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (mmx_addv2sf3): Use "v" constraint
+       instead of "Yv" for AVX alternatives.  Add "prefix" attribute.
+       (*mmx_addv2sf3): Ditto.
+       (*mmx_subv2sf3): Ditto.
+       (*mmx_mulv2sf3): Ditto.
+       (*mmx_<code>v2sf3): Ditto.
+       (mmx_ieee_<ieee_maxmin>v2sf3): Ditto.
+
+2020-05-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/i386.c (ix86_vector_mode_supported_p):
+       Vectorize 3dNOW! vector modes for TARGET_MMX_WITH_SSE.
+       * config/i386/mmx.md (*mov<mode>_internal): Do not set
+       mode of alternative 13 to V2SF for TARGET_MMX_WITH_SSE.
+
+       (mmx_addv2sf3): Change operand predicates from
+       nonimmediate_operand to register_mmxmem_operand.
+       (addv2sf3): New expander.
+       (*mmx_addv2sf3): Add SSE/AVX alternatives.  Change operand
+       predicates from nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+
+       (mmx_subv2sf3): Change operand predicate from
+       nonimmediate_operand to register_mmxmem_operand.
+       (mmx_subrv2sf3): Ditto.
+       (subv2sf3): New expander.
+       (*mmx_subv2sf3): Add SSE/AVX alternatives.  Change operand
+       predicates from nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+
+       (mmx_mulv2sf3): Change operand predicates from
+       nonimmediate_operand to register_mmxmem_operand.
+       (mulv2sf3): New expander.
+       (*mmx_mulv2sf3): Add SSE/AVX alternatives.  Change operand
+       predicates from nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+
+       (mmx_<code>v2sf3): Change operand predicates from
+       nonimmediate_operand to register_mmxmem_operand.
+       (<code>v2sf3): New expander.
+       (*mmx_<code>v2sf3): Add SSE/AVX alternatives.  Change operand
+       predicates from nonimmediate_operand to register_mmxmem_operand.
+       Enable instruction pattern for TARGET_MMX_WITH_SSE.
+       (mmx_ieee_<ieee_maxmin>v2sf3): Ditto.
+
+2020-05-11  Martin Liska  <mliska@suse.cz>
+
+       PR c/95040
+       * common.opt: Fix typo in option description.
+
+2020-05-11  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/94928
+       * gcov-io.h: Add caveat about coverage format parsing and
+       possible outdated documentation.
+
+2020-05-11  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR tree-optimization/83403
+       * tree-affine.c (expr_to_aff_combination): Replace SSA_NAME with
+       determine_value_range, Add fold conversion of MULT_EXPR, fix the
+       previous PLUS_EXPR.
+
+2020-05-10  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and
+       __ILP32__ for 32-bit targets.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (expr_align): Delete.
+       * tree.c (expr_align): Likewise.
+
+2020-05-09  Hans-Peter Nilsson  <hp@axis.com>
+
+       * resource.c (init_resource_info): Filter-out TARGET_FLAGS_REGNUM
+       from end_of_function_needs.
+
+       * config.gcc: Remove support for crisv32-*-* and cris-*-linux*.
+       * config/cris/t-linux, config/cris/linux.h, config/cris/linux.opt:
+       Remove.
+       * config/cris/t-elfmulti: Remove crisv32 multilib.
+       * config/cris: Remove shared-library and CRIS v32 support.
+
+       Move trivially from cc0 to reg:CC model, removing most optimizations.
+       * config/cris/cris.md: Remove all side-effect patterns and their
+       splitters.  Remove most peepholes.  Add clobbers of CRIS_CC0_REGNUM
+       to all but post-reload control-flow and movem insns.  Remove
+       constraints on all modified expanders.  Remove obsoleted cc0-related
+       references.
+       (attr "cc"): Remove alternative "rev".
+       (mode_iterator BWDD, DI_, SI_): New.
+       (mode_attr sCC_destc, cmp_op1c, cmp_op2c): New.
+       ("tst<mode>"): Remove; fold as "M" alternative into compare insn.
+       ("mstep_shift", "mstep_mul"): Remove patterns.
+       ("s<rcond>", "s<ocond>", "s<ncond>"): Anonymize.
+       * config/cris/cris.c: Change all non-condition-code,
+       non-control-flow emitted insns to add a parallel with clobber of
+       CRIS_CC0_REGNUM, mostly by changing from gen_rtx_SET with
+       emit_insn to use of emit_move_insn, gen_add2_insn or
+       cris_emit_insn, as convenient.
+       (cris_reg_overlap_mentioned_p)
+       (cris_normal_notice_update_cc, cris_notice_update_cc): Remove.
+       (cris_movem_load_rest_p): Don't assume all elements in a
+       PARALLEL are SETs.
+       (cris_store_multiple_op_p): Ditto.
+       (cris_emit_insn): New function.
+       * cris/cris-protos.h (cris_emit_insn): Declare.
+
+       PR target/93372
+       * config/cris/cris.md (zcond): New code_iterator.
+       ("*cbranch<mode>4_btstq<CC>"): New insn_and_split.
+
+       * config/cris/cris.c (TARGET_FLAGS_REGNUM): Define.
+
+       * config/cris/cris.h (REVERSIBLE_CC_MODE): Define to true.
+
+       * config/cris/cris.md ("movsi"): For memory destination
+       post-reload, generate clobberless variant.  Similarly for a
+       zero-source post-reload.
+       ("*mov_tomem<mode>_split"): New split.
+       ("*mov_tomem<mode>"): New insn.
+       ("enabled", mov_tomem_enabled): Define and use to exclude "x" ->
+       "Q>m" for less-than-SImode.
+       ("*mov_fromzero<mode>_split"): New split.
+       ("*mov_fromzero<mode>"): New insn.
+
+       Prepare for cmpelim pass to eliminate redundant compare insns.
+       * config/cris/cris-modes.def: New file.
+       * config/cris/cris-protos.h (cris_select_cc_mode): Declare.
+       (cris_notice_update_cc): Remove left-over declaration.
+       * config/cris/cris.c (TARGET_CC_MODES_COMPATIBLE): Define.
+       (cris_select_cc_mode, cris_cc_modes_compatible): New functions.
+       * config/cris/cris.h (SELECT_CC_MODE): Define.
+       * config/cris/cris.md (NZSET, NZUSE, NZVCSET, NZVCUSE): New
+       mode_iterators.
+       (cond): New code_iterator.
+       (nzcond): Replacement for incorrect ncond.  All callers changed.
+       (nzvccond): Replacement for ocond.  All callers changed.
+       (rnzcond): Replacement for rcond.  All callers changed.
+       (xCC): New code_attr.
+       (cmp_op1c, cmp_op0c): Renumber from cmp_op1c and cmp_op2c.  All
+       users changed.
+       ("*cmpdi<NZVCSET:mode>"): Rename from "*cmpdi".  Replace
+       CCmode with iteration over NZVCSET.
+       ("*cmp_ext<BW:mode><NZVCSET:mode>"): Similarly; rename from
+       "*cmp_ext<mode>".
+       ("*cmpsi<NZVCSET:mode>"): Similarly, from "*cmpsi".
+       ("*cmp<BW:mode><NZVCSET:mode>"): Similarly from "*cmp<mode>".
+       ("*btst<mode>"): Similarly, from "*btst".
+       ("*cbranch<mode><code>4"): Rename from "*cbranch<mode>4",
+       iterating over cond instead of matching the comparison with
+       ordered_comparison_operator.
+       ("*cbranch<mode>4_btstq<CC>"): Correct label operand number.
+       ("b<zcond:code><mode>"): Rename from "b<ncond:code>", iterating
+       over NZUSE.
+       ("b<nzvccond:code><mode>"): Similarly from "b<ocond:code>", over
+       NZVCUSE.  Remove FIXME.
+       ("*b<nzcond:code>_reversed<mode>"): Similarly from
+       "*b<ncond:code>_reversed", over NZUSE.
+       ("*b<nzvccond:code>_reversed<mode>"): Similarly from
+       "*b<ocond:code>_reversed", over NZVCUSE.  Remove FIXME.
+       ("b<rnzcond:code><mode>"): Similarly from "b<rcond:code>",
+       over NZUSE.  Reinstate "b<oCC>" vs. "b<CC>" mnemonic choice,
+       depending on CC_NZmode vs. CCmode.  Remove FIXME.
+       ("*b<rnzcond:code>_reversed<mode>"): Similarly from
+       "*b<rcond:code>_reversed", over NZUSE.
+       ("*cstore<mode><code>4"): Rename from "*cstore<mode>4",
+       iterating over cond instead of matching the comparison with
+       ordered_comparison_operator.
+       ("*s<nzcond:code><mode>"): Rename from "*s<ncond:code>",
+       iterating over NZUSE.
+       ("*s<rnzcond:code><mode>"): Similar from "*s<rcond:code>", over
+       NZUSE.  Reinstate "b<oCC>" vs. "b<CC>" mnemonic choice,
+       depending on CC_NZmode vs. CCmode.
+       ("*s<nzvccond:code><mode>"): Simlar from "*s<ocond:code>", over
+       NZVCUSE.  Remove FIXME.
+       ("cc"): Comment on new use.
+       ("cc_enabled"): New attribute.
+       ("enabled"): Make default fall back to cc_enabled.
+       ("setnz", "ccnz", "setnzvc", "ccnzvc", "setcc", "cccc"): New
+       default_subst_attrs.
+       ("setnz_subst", "setnzvc_subst", "setcc_subst"): New default_subst.
+       ("*movsi_internal<setcc><setnz><setnzvc>"): Rename from
+       "*movsi_internal".  Correct contents of, and rename attribute
+       "cc" to "cc<cccc><ccnz><ccnzvc>".
+       ("anz", "anzvc", "acc"): New define_subst_attrs.
+       ("<acc><anz><anzvc>movhi<setcc><setnz><setnzvc>"): Rename from
+       "movhi".  Rename "cc" attribute to "cc<cccc><ccnz><ccnzvc>".
+       ("<acc><anz><anzvc>movqi<setcc><setnz><setnzvc>"): Similar from
+       "movqi".  Correct contents of, and rename "cc" attribute to
+       "cc<cccc><ccnz><ccnzvc>".
+       ("*b<zcond:code><mode>"): Rename from "b<zcond:code><mode>".
+       ("*b<nzvccond:code><mode>"): Rename from "b<nzvccond:code><mode>".
+       ("*b<rnzcond:code><mode>"): Rename from "*b<rnzcond:code><mode>".
+       ("<acc><anz><anzvc>extend<mode>si2<setcc><setnz><setnzvc>"):
+       Rename from "extend<mode>si2".
+       ("<acc><anz><anzvc>zero_extend<mode>si2<setcc><setnz><setnzvc>"):
+       Similar, from "zero_extend<mode>si2".
+       ("*adddi3<setnz>"): Rename from "*adddi3".
+       ("*subdi3<setnz>"): Similarly from "*subdi3".
+       ("*addsi3<setnz>"): Similarly from "*addsi3".
+       ("*subsi3<setnz>"): Similarly from "*subsi3".
+       ("*addhi3<setnz>"): Similarly from "*addhi3" and decorate the
+       "cc" attribute to "cc<ccnz>".
+       ("*addqi3<setnz>"): Similarly from "*addqi3".
+       ("*sub<mode>3<setnz>"): Similarly from "*sub<mode>3".
+       ("*expanded_andsi<setcc><setnz><setnzvc>"): Rename from
+       "*expanded_andsi".
+       ("*iorsi3<setcc><setnz><setnzvc>"): Similar from "*iorsi3".
+       Decorate "cc" attribute to make "cc<cccc><ccnz><ccnzvc>".
+       ("*iorhi3<setcc><setnz><setnzvc>"): Similar from "*iorhi3".
+       ("*iorqi3<setcc><setnz><setnzvc>"): Similar from "*iorqi3".
+       ("*expanded_andhi<setcc><setnz><setnzvc>"): Similar from
+       "*expanded_andhi".  Add quick cc-setting alternative for 0..31.
+       ("*andqi3<setcc><setnz><setnzvc>"): Similar from "*andqi3".
+       ("<acc><anz><anzvc>xorsi3<setcc><setnz><setnzvc>"): Rename
+       from "xorsi3".
+       ("<acc><anz><anzvc>one_cmplsi2<setcc><setnz><setnzvc>"): Rename
+       from "one_cmplsi2".
+       ("<acc><anz><anzvc><shlr>si3<setcc><setnz><setnzvc>"): Rename
+       from "<shlr>si3".
+       ("<acc><anz><anzvc>clzsi2<setcc><setnz><setnzvc>"): Rename
+       from "clzsi2".
+       ("<acc><anz><anzvc>bswapsi2<setcc><setnz><setnzvc>"): Rename
+       from "bswapsi2".
+       ("*uminsi3<setcc><setnz><setnzvc>"): Rename from "*uminsi3".
+
+       * config/cris/cris-modes.def (CC_ZnN): New CC_MODE.
+       * config/cris/cris.c (cris_rtx_costs): Handle pre-split bit-test
+       * config/cris/cris.md (ZnNNZSET, ZnNNZUSE): New mode_iterators.
+       (znnCC, rznnCC): New code_attrs.
+       ("*btst<mode>"): Iterator over ZnNNZSET instead of NZVCSET.  Remove
+       obseolete comment.  Add belt-and-suspenders mode-test to condition.
+       Add fixme regarding remaining matched-but-not-generated case.
+       ("*cbranch<mode>4_btstrq1_<CC>"): New insn_and_split.
+       ("*cbranch<mode>4_btstqb0_<CC>"): Rename from
+       "*cbranch<mode>4_btstq<CC>".  Split to CC_NZ instead of CC.
+       ("*b<zcond:code><mode>"): Iterate over ZnNNZUSE instead of NZUSE.
+       Handle output of CC_ZnNmode.
+       ("*b<nzcond:code>_reversed<mode>"): Ditto.
+
+       * config/cris/cris.c (cris_select_cc_mode): Return CC_NZmode for
+       NEG too.  Correct comment.
+       * config/cris/cris.md ("<anz>neg<mode>2<setnz>"): Rename from
+       "neg<mode>2".
+
+2020-05-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (update_costs_from_allocno): Remove
+       conflict_cost_update_p argument.  Propagate costs only along
+       threads. Always do conflict cost update.  Add printing debugging
+       info.
+       (update_costs_from_copies): Add printing debugging info.
+       (restore_costs_from_copies): Ditto.
+       (assign_hard_reg): Improve debug info.
+       (push_only_colorable): Ditto. Call update_costs_from_prefs.
+       (color_allocnos): Remove update_costs_from_prefs.
+
+2020-05-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vec_info::slp_loads): New.
+       (vect_optimize_slp): Declare.
+       * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts):  Do
+       nothing when there are no loads.
+       (vect_gather_slp_loads): Gather loads into a vector.
+       (vect_supported_load_permutation_p): Remove.
+       (vect_analyze_slp_instance): Do not verify permutation
+       validity here.
+       (vect_analyze_slp): Optimize permutations of reductions
+       after all SLP instances have been gathered and gather
+       all loads.
+       (vect_optimize_slp): New function split out from
+       vect_supported_load_permutation_p.  Elide some permutations.
+       (vect_slp_analyze_bb_1): Call vect_optimize_slp.
+       * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+       * tree-vect-stmts.c (vectorizable_load): Check whether
+       the load can be permuted.  When generating code assert we can.
+
+2020-05-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (rpo_avail): Change type to
+       eliminate_dom_walker *.
+       (eliminate_with_rpo_vn): Adjust rpo_avail to make vn_valueize
+       use the DOM walker availability.
+       (vn_reference_fold_indirect): Use get_addr_base_and_unit_offset_1
+       with vn_valueize as valueization callback.
+       (vn_reference_maybe_forwprop_address): Likewise.
+       * tree-dfa.c (get_addr_base_and_unit_offset_1): Also valueize
+       array_ref_low_bound.
+
+2020-05-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94786
+       * match.pd (A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A): New
+       simplification.
+
+       PR target/94857
+       * config/i386/i386.md (peephole2 after *add<mode>3_cc_overflow_1): New
+       define_peephole2.
+
+       PR middle-end/94724
+       * tree.c (get_narrower): Reuse the op temporary instead of
+       shadowing it.
+
+       PR tree-optimization/94783
+       * match.pd ((X + (X >> (prec - 1))) ^ (X >> (prec - 1)) to abs (X)):
+       New simplification.
+
+       PR tree-optimization/94956
+       * match.pd (FFS): Optimize __builtin_ffs* of non-zero argument into
+       __builtin_ctz* + 1 if direct IFN_CTZ is supported.
+
+       PR tree-optimization/94913
+       * match.pd (A - B + -1 >= A to B >= A): New simplification.
+       (A - B > A to A < B): Don't test TYPE_OVERFLOW_WRAPS which is always
+       true for TYPE_UNSIGNED integral types.
+
+       PR bootstrap/94961
+       PR rtl-optimization/94516
+       * rtl.h (remove_reg_equal_equiv_notes): Add a bool argument defaulted
+       to false.
+       * rtlanal.c (remove_reg_equal_equiv_notes): Add no_rescan argument.
+       Call df_notes_rescan if that argument is not true and returning true.
+       * combine.c (adjust_for_new_dest): Pass true as second argument to
+       remove_reg_equal_equiv_notes.
+       * postreload.c (reload_combine_recognize_pattern): Don't call
+       df_notes_rescan.
+
+2020-05-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (*setnbc_<un>signed_<GPR:mode>): New
+       define_insn.
+       (*setnbcr_<un>signed_<GPR:mode>): New define_insn.
+       (*neg_eq_<mode>): Avoid for TARGET_FUTURE; add missing && 1.
+       (*neg_ne_<mode>): Likewise.
+
+2020-05-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (setbc_<un>signed_<GPR:mode>): New
+       define_insn.
+       (*setbcr_<un>signed_<GPR:mode>): Likewise.
+       (cstore<mode>4): Use setbc[r] if available.
+       (<code><GPR:mode><GPR2:mode>2_isel): Avoid for TARGET_FUTURE.
+       (eq<mode>3): Use setbc for TARGET_FUTURE.
+       (*eq<mode>3): Avoid for TARGET_FUTURE.
+       (ne<mode>3): Replace :P with :GPR; use setbc for TARGET_FUTURE;
+       else for non-Pmode, use gen_eq and gen_xor.
+       (*ne<mode>3): Avoid for TARGET_FUTURE.
+       (*eqsi3_ext<mode>): Avoid for TARGET_FUTURE; fix missing && 1.
+
+2020-05-07 Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md: Move expanders and patterns into
+       files based on functionality.
+       * config/h8300/addsub.md: New file.
+       * config/h8300/bitfield.md: New file
+       * config/h8300/combiner.md: New file
+       * config/h8300/divmod.md: New file
+       * config/h8300/extensions.md: New file
+       * config/h8300/jumpcall.md: New file
+       * config/h8300/logical.md: New file
+       * config/h8300/movepush.md: New file
+       * config/h8300/multiply.md: New file
+       * config/h8300/other.md: New file
+       * config/h8300/proepi.md: New file
+       * config/h8300/shiftrotate.md: New file
+       * config/h8300/testcompare.md: New file
+
+       * config/h8300/h8300.md (adds/subs splitters): Merge into single
+       splitter.
+       (negation expanders and patterns): Simplify and combine using
+       iterators.
+       (one_cmpl expanders and patterns): Likewise.
+       (tablejump, indirect_jump patterns ): Likewise.
+       (shift and rotate expanders and patterns): Likewise.
+       (absolute value expander and pattern): Drop expander, rename pattern
+       to just "abssf2"
+       (peephole2 patterns): Move into...
+       * config/h8300/peepholes.md: New file.
+       
+       * config/h8300/constraints.md (L and N): Simplify now that we're not
+       longer supporting the original H8/300 chip.
+       * config/h8300/elf.h (LINK_SPEC): Likewise.  Default to H8/300H.
+       * config/h8300/h8300.c (shift_alg_qi): Drop H8/300 support.
+       (shift_alg_hi, shift_alg_si): Similarly.
+       (h8300_option_overrides): Similarly.  Default to H8/300H.  If
+       compiling for H8/S, then turn off H8/300H.  Do not update the
+       shift_alg tables for H8/300 port.
+       (h8300_emit_stack_adjustment): Remove support for H8/300.  Simplify
+       where possible.
+       (push, split_adds_subs, h8300_rtx_costs): Likewise.
+       (h8300_print_operand, compute_mov_length): Likewise.
+       (output_plussi, compute_plussi_length): Likewise.
+       (compute_plussi_cc, output_logical_op): Likewise.
+       (compute_logical_op_length, compute_logical_op_cc): Likewise.
+       (get_shift_alg, h8300_shift_needs_scratch): Likewise.
+       (output_a_shift, compute_a_shift_length): Likewise.
+       (output_a_rotate, compute_a_rotate_length): Likewise.
+       (output_simode_bld, h8300_hard_regno_mode_ok): Likewise.
+       (h8300_modes_tieable_p, h8300_return_in_memory): Likewise.
+       * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+       (attr_cpu, TARGET_H8300): Remove.
+       (TARGET_DEFAULT): Update.
+       (UNITS_PER_WORD, PARM_BOUNDARY): Simplify where possible.
+       (BIGGEST_ALIGNMENT, STACK_BOUNDARY): Likewise.
+       (CONSTANT_ADDRESS_P, MOVE_MAX, Pmode): Likewise.
+       (SIZE_TYPE, POINTER_SIZE, ASM_WORD_OP): Likewise.
+       * config/h8300/h8300.md: Simplify patterns throughout.
+       * config/h8300/t-h8300: Update multilib configuration.
+       
+       * config/h8300/h8300.h (LINK_SPEC): Remove.
+       (USER_LABEL_PREFIX): Likewise.
+
+       * config/h8300/h8300.c (h8300_asm_named_section): Remove.
+       (h8300_option_override): Remove remnants of COFF support.
+
+2020-05-07  Alan Modra  <amodra@gmail.com>
+
+       * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Replace
+       set_rtx_cost with set_src_cost.
+       * tree-switch-conversion.c (bit_test_cluster::emit): Likewise.
+
+2020-05-07  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-stmts.c (vectorizable_load): Check alignment to avoid
+       redundant half vector handlings for no peeling gaps.
+
+2020-05-07  Giuliano Belinassi  <giuliano.belinassi@usp.br>
+
+       * tree-ssa-operands.c (operands_scanner): New class.
+       (operands_bitmap_obstack): Remove.
+       (n_initialized): Remove.
+       (build_uses): Move to operands_scanner class.
+       (build_vuse): Same as above.
+       (build_vdef): Same as above.
+       (verify_ssa_operands): Same as above.
+       (finalize_ssa_uses): Same as above.
+       (cleanup_build_arrays): Same as above.
+       (finalize_ssa_stmt_operands): Same as above.
+       (start_ssa_stmt_operands): Same as above.
+       (append_use): Same as above.
+       (append_vdef): Same as above.
+       (add_virtual_operand): Same as above.
+       (add_stmt_operand): Same as above.
+       (get_mem_ref_operands): Same as above.
+       (get_tmr_operands): Same as above.
+       (maybe_add_call_vops): Same as above.
+       (get_asm_stmt_operands): Same as above.
+       (get_expr_operands): Same as above.
+       (parse_ssa_operands): Same as above.
+       (finalize_ssa_defs): Same as above.
+       (build_ssa_operands): Same as above, plus create a C-like wrapper.
+       (update_stmt_operands): Create an instance of operands_scanner.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/94947
+       * tree-ssa-structalias.c (refered_from_nonlocal_fn): Use
+       DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible.
+       (refered_from_nonlocal_var): Likewise.
+       (ipa_pta_execute): Likewise.
+
+2020-05-07  Erick Ochoa <erick.ochoa@theobroma-systems.com>
+
+       * gcc/tree-ssa-struct-alias.c: Fix comments
+
+2020-05-07  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Fix 2 optindex entries.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94703
+       * tree-core.h (tree_decl_common::gimple_reg_flag): Rename ...
+       (tree_decl_common::not_gimple_reg_flag): ... to this.
+       * tree.h (DECL_GIMPLE_REG_P): Rename ...
+       (DECL_NOT_GIMPLE_REG_P): ... to this.
+       * gimple-expr.c (copy_var_decl): Copy DECL_NOT_GIMPLE_REG_P.
+       (create_tmp_reg): Simplify.
+       (create_tmp_reg_fn): Likewise.
+       (is_gimple_reg): Check DECL_NOT_GIMPLE_REG_P for all regs.
+       * gimplify.c (create_tmp_from_val): Simplify.
+       (gimplify_bind_expr): Likewise.
+       (gimplify_compound_literal_expr): Likewise.
+       (gimplify_function_tree): Likewise.
+       (prepare_gimple_addressable): Set DECL_NOT_GIMPLE_REG_P.
+       * asan.c (create_odr_indicator): Do not clear DECL_GIMPLE_REG_P.
+       (asan_add_global): Copy it.
+       * cgraphunit.c (cgraph_node::expand_thunk): Force args
+       to be GIMPLE regs.
+       * function.c (gimplify_parameters): Copy
+       DECL_NOT_GIMPLE_REG_P.
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::common_initialization): Simplify.
+       (ipa_param_body_adjustments::reset_debug_stmts): Copy
+       DECL_NOT_GIMPLE_REG_P.
+       * omp-low.c (lower_omp_for_scan): Do not set DECL_GIMPLE_REG_P.
+       * sanopt.c (sanitize_rewrite_addressable_params): Likewise.
+       * tree-cfg.c (make_blocks_1): Simplify.
+       (verify_address): Do not verify DECL_GIMPLE_REG_P setting.
+       * tree-eh.c (lower_eh_constructs_2): Simplify.
+       * tree-inline.c (declare_return_variable): Adjust and
+       generalize.
+       (copy_decl_to_var): Copy DECL_NOT_GIMPLE_REG_P.
+       (copy_result_decl_to_var): Likewise.
+       * tree-into-ssa.c (pass_build_ssa::execute): Adjust comment.
+       * tree-nested.c (create_tmp_var_for): Simplify.
+       * tree-parloops.c (separate_decls_in_region_name): Copy
+       DECL_NOT_GIMPLE_REG_P.
+       * tree-sra.c (create_access_replacement): Adjust and
+       generalize partial def support.
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Set
+       DECL_NOT_GIMPLE_REG_P on decls we introduce partial defs on.
+       * tree-ssa.c (maybe_optimize_var): Handle clearing of
+       TREE_ADDRESSABLE and setting/clearing DECL_NOT_GIMPLE_REG_P
+       independently.
+       * lto-streamer-out.c (hash_tree): Hash DECL_NOT_GIMPLE_REG_P.
+       * tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream
+       DECL_NOT_GIMPLE_REG_P.
+       * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
+       * cfgexpand.c (avoid_type_punning_on_regs): New.
+       (discover_nonconstant_array_refs): Call
+       avoid_type_punning_on_regs to avoid unsupported mode punning.
+
+2020-05-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm.c (arm_add_stmt_cost): Fix declaration, remove class
+       from definition.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/57359
+       * tree-ssa-loop-im.c (im_mem_ref::indep_loop): Remove.
+       (in_mem_ref::dep_loop): Repurpose.
+       (LOOP_DEP_BIT): Remove.
+       (enum dep_kind): New.
+       (enum dep_state): Likewise.
+       (record_loop_dependence): New function to populate the
+       dependence cache.
+       (query_loop_dependence): New function to query the dependence
+       cache.
+       (memory_accesses::refs_in_loop): Rename to ...
+       (memory_accesses::refs_loaded_in_loop): ... this and change to
+       only record loads.
+       (outermost_indep_loop): Adjust.
+       (mem_ref_alloc): Likewise.
+       (gather_mem_refs_stmt): Likewise.
+       (mem_refs_may_alias_p): Add tbaa_p parameter and pass it down.
+       (struct sm_aux): New.
+       (execute_sm): Split code generation on exits, record state
+       into new hash-map.
+       (enum sm_kind): New.
+       (execute_sm_exit): Exit code generation part.
+       (sm_seq_push_down): Helper for sm_seq_valid_bb performing
+       dependence checking on stores reached from exits.
+       (sm_seq_valid_bb): New function gathering SM stores on exits.
+       (hoist_memory_references): Re-implement.
+       (refs_independent_p): Add tbaa_p parameter and pass it down.
+       (record_dep_loop): Remove.
+       (ref_indep_loop_p_1): Fold into ...
+       (ref_indep_loop_p): ... this and generalize for three kinds
+       of dependence queries.
+       (can_sm_ref_p): Adjust according to hoist_memory_references
+       changes.
+       (store_motion_loop): Don't do anything if the set of SM
+       candidates is empty.
+       (tree_ssa_lim_initialize): Adjust.
+       (tree_ssa_lim_finalize): Likewise.
+
+2020-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+            Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * dwarf2out.c (add_data_member_location_attribute): Take into account
+       the variant part offset in the computation of the data bit offset.
+       (add_bit_offset_attribute): Remove CTX parameter.  Pass a new context
+       in the call to field_byte_offset.
+       (gen_field_die): Adjust call to add_bit_offset_attribute and remove
+       confusing assertion.
+       (analyze_variant_discr): Deal with boolean subtypes.
+
+2020-05-07  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c: Split arguments of MAKE environment
+       variable.
+
+2020-05-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
+       fenv_var and new_fenv_var.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93069
+       * config/i386/subst.md (store_mask_constraint, store_mask_predicate):
+       Remove.
+       (avx512dq_vextract<shuffletype>64x2_1_maskm,
+       avx512f_vextract<shuffletype>32x4_1_maskm,
+       vec_extract_lo_<mode>_maskm, vec_extract_hi_<mode>_maskm): Remove.
+       (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>): Split
+       into ...
+       (*avx512dq_vextract<shuffletype>64x2_1,
+       avx512dq_vextract<shuffletype>64x2_1_mask): ... these new
+       define_insns.  Even in the masked variant allow memory output but in
+       that case use 0 rather than 0C constraint on the source of masked-out
+       elts.
+       (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Split
+       into ...
+       (*avx512f_vextract<shuffletype>32x4_1,
+       avx512f_vextract<shuffletype>32x4_1_mask): ... these new define_insns.
+       Even in the masked variant allow memory output but in that case use
+       0 rather than 0C constraint on the source of masked-out elts.
+       (vec_extract_lo_<mode><mask_name>): Split into ...
+       (vec_extract_lo_<mode>, vec_extract_lo_<mode>_mask): ... these new
+       define_insns.  Even in the masked variant allow memory output but in
+       that case use 0 rather than 0C constraint on the source of masked-out
+       elts.
+       (vec_extract_hi_<mode><mask_name>): Split into ...
+       (vec_extract_hi_<mode>, vec_extract_hi_<mode>_mask): ... these new
+       define_insns.  Even in the masked variant allow memory output but in
+       that case use 0 rather than 0C constraint on the source of masked-out
+       elts.
+
+2020-05-06  qing zhao  <qing.zhao@oracle.com>
+
+       PR c/94230
+       * common.opt: Add -flarge-source-files.
+       * doc/invoke.texi: Document it.
+       * toplev.c (process_options): set line_table->default_range_bits
+       to 0 when flag_large_source_files is true.
+
+2020-05-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94913
+       * config/i386/predicates.md (add_comparison_operator): New predicate.
+       * config/i386/i386.md (compare->add splitter): New splitters.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust.
+       * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
+       Remove slp_instance parameter, just iterate over all scalar stmts.
+       (vect_slp_analyze_instance_dependence): Adjust and likewise.
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Remove unused BB
+       parameter.
+       (vect_schedule_slp): Just iterate over all scalar stmts.
+       (vect_supported_load_permutation_p): Adjust.
+       (vect_transform_slp_perm_load): Remove slp_instance parameter,
+       instead use the number of lanes in the node as group size.
+       * tree-vect-stmts.c (vect_model_load_cost): Get vectorization
+       factor instead of slp_instance as parameter.
+       (vectorizable_load): Adjust.
+
+2020-05-06  Andreas Schwab  <schwab@suse.de>
+
+       * config/aarch64/driver-aarch64.c: Include "aarch64-protos.h".
+       (aarch64_get_extension_string_for_isa_flags): Don't declare.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94964
+       * cfgloopmanip.c (create_preheader): Require non-complex
+       preheader edge for CP_SIMPLE_PREHEADERS.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94963
+       * tree-ssa-loop-im.c (execute_sm_if_changed): Remove
+       no-warning marking of the conditional store.
+       (execute_sm): Instead mark the uninitialized state
+       on loop entry to be not warned about.
+
+2020-05-06  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_TSXLDTRK_SET,
+       OPTION_MASK_ISA2_TSXLDTRK_UNSET): New macros.
+       * config.gcc: Add tsxldtrkintrin.h to extra_headers.
+       * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+       TSXLDTRK.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __TSXLDTRK__.
+       * config/i386/i386-options.c (ix86_target_string): Add
+       -mtsxldtrk.
+       (ix86_valid_target_attribute_inner_p): Add attribute tsxldtrk.
+       * config/i386/i386.h (TARGET_TSXLDTRK, TARGET_TSXLDTRK_P):
+       New.
+       * config/i386/i386.md (define_c_enum "unspec"): Add
+       UNSPECV_SUSLDTRK, UNSPECV_RESLDTRK.
+       (TSXLDTRK): New define_int_iterator.
+       ("<tsxldtrk>"): New define_insn.
+       * config/i386/i386.opt: Add -mtsxldtrk.
+       * config/i386/immintrin.h: Include tsxldtrkintrin.h.
+       * config/i386/tsxldtrkintrin.h: New.
+       * doc/invoke.texi: Document -mtsxldtrk.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94921
+       * match.pd (~(~X - Y) -> X + Y, ~(~X + Y) -> X - Y): New
+       simplifications.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94965
+       * tree-vect-stmts.c (vectorizable_load): Fix typo.
+
+2020-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi: Replace Sun with Solaris as appropriate.
+       (Tools/packages necessary for building GCC, Perl version between
+       5.6.1 and 5.6.24): Remove Solaris 8 reference.
+       (Installing GCC: Binaries, Solaris 2 (SPARC, Intel)): Remove
+       TGCware reference.
+       (Specific, i?86-*-solaris2*): Update version references for
+       Solaris 11.3 and later.  Remove gas 2.26 caveat.
+       (Specific, *-*-solaris2*): Update version references for
+       Solaris 11.3 and later.  Remove boehm-gc reference.
+       Document GMP, MPFR caveats on Solaris 11.3.
+       (Specific, sparc-sun-solaris2*): Update Solaris 9 references.
+       (Specific, sparc64-*-solaris2*): Likewise.
+       Document --build requirement.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94950
+       * config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags.
+
+       PR rtl-optimization/94873
+       * combine.c (combine_instructions): Don't optimize using REG_EQUAL
+       note if SET_SRC (set) has side-effects.
+
+2020-05-06  Hongtao Liu  <hongtao.liu@intel.com>
+           Wei Xiao  <wei3.xiao@intel.com>
+
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_SERIALIZE_SET,
+       OPTION_MASK_ISA2_SERIALIZE_UNSET): New macros.
+       (ix86_handle_option): Handle -mserialize.
+       * config.gcc (serializeintrin.h): New header file.
+       * config/i386/cpuid.h (bit_SERIALIZE): New bit.
+       * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+       -mserialize.
+       * config/i386/i386-builtin.def: Add new builtin.
+       * config/i386/i386-c.c (__SERIALIZE__): New macro.
+       * config/i386/i386-options.c (ix86_target_opts_isa2_opts):
+         Add -mserialize.
+       * (ix86_valid_target_attribute_inner_p): Add target attribute
+       * for serialize.
+       * config/i386/i386.h (TARGET_SERIALIZE, TARGET_SERIALIZE_P):
+         New macros.
+       * config/i386/i386.md (UNSPECV_SERIALIZE): New unspec.
+         (serialize): New define_insn.
+       * config/i386/i386.opt (mserialize): New option
+       * config/i386/immintrin.h: Include serailizeintrin.h.
+       * config/i386/serializeintrin.h: New header file.
+       * doc/invoke.texi: Add documents for -mserialize.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_assign_unary): Adjust integer
+       to/from pointer conversion checking.
+
+2020-05-05  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def: Delete changes meant for a
+       private branch.
+       * config/rs6000/rs6000-c.c: Likewise.
+       * config/rs6000/rs6000-call.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+
+2020-05-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rtems.h (RTEMS_STARTFILE_SPEC): Define if undefined.
+       (RTEMS_ENDFILE_SPEC): Likewise.
+       (STARTFILE_SPEC): Update comment.  Add RTEMS_STARTFILE_SPEC.
+       (ENDFILE_SPEC): Add RTEMS_ENDFILE_SPEC.
+       (LIB_SPECS): Support -nodefaultlibs option.
+       * config/or1k/rtems.h (RTEMS_STARTFILE_SPEC): Define.
+       (RTEMS_ENDFILE_SPEC): Likewise.
+       * config/rs6000/rtems.h (RTEMS_STARTFILE_SPEC): Likewise.
+       (RTEMS_ENDFILE_SPEC): Likewise.
+       * config/v850/rtems.h (RTEMS_STARTFILE_SPEC): Likewise.
+       (RTEMS_ENDFILE_SPEC): Likewise.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove.
+       (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Remove.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/pru.h: Mark R3.w0 as caller saved.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/pru.c (pru_emit_doloop): Use new gen_doloop_end_internal
+       and gen_doloop_begin_internal.
+       (pru_reorg_loop): Use gen_pruloop with mode.
+       * config/pru/pru.md: Use new @insn syntax.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/pru.c (pru_print_operand): Fix fall through comment.
+
+2020-05-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (fixuns_trunc<mode>si2): Use
+       "clobber (scratch:M)" instad of "clobber (match_scratch:M N)".
+       (addqi3_cconly_overflow): Ditto.
+       (umulv<mode>4): Ditto.
+       (<s>mul<mode>3_highpart): Ditto.
+       (tls_global_dynamic_32): Ditto.
+       (tls_local_dynamic_base_32): Ditto.
+       (atanxf2): Ditto.
+       (asinxf2): Ditto.
+       (acosxf2): Ditto.
+       (logxf2): Ditto.
+       (log10xf2): Ditto.
+       (log2xf2): Ditto.
+       (*adddi_4): Remove "m" constraint from scratch operand.
+       (*add<mode>_4): Ditto.
+
+2020-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94516
+       * postreload.c (reload_cse_simplify): When replacing sp = sp + const
+       with sp = reg, add REG_EQUAL note with sp + const.
+       * combine-stack-adj.c (try_apply_stack_adjustment): Change return
+       type from int to bool.  Add LIVE and OTHER_INSN arguments.  Undo
+       postreload sp = sp + const to sp = reg optimization if needed and
+       possible.
+       (combine_stack_adjustments_for_block): Add LIVE argument.  Handle
+       reg = sp insn with sp + const REG_EQUAL note.  Adjust
+       try_apply_stack_adjustment caller, call
+       df_simulate_initialize_forwards and df_simulate_one_insn_forwards.
+       (combine_stack_adjustments): Allocate and free LIVE bitmap,
+       adjust combine_stack_adjustments_for_block caller.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/93623
+       * tree-cfg.c (stmt_can_terminate_bb_p): Update comment to reflect
+       reality.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       * opt-functions.awk (opt_args_non_empty): New function.
+       * opt-read.awk: Use the function for various option arguments.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       PR driver/94330
+       * lto-wrapper.c (run_gcc): When using -flto=jobserver,
+       report warning when the jobserver is not detected.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/94636
+       * gcov.c (main): Print total lines summary at the end.
+       (generate_results): Expect file_name always being non-null.
+       Print newline after intermediate file is printed in order to align with
+       what we do for normal files.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       * dumpfile.c (dump_switch_p): Change return type
+       and print option suggestion.
+       * dumpfile.h: Change return type.
+       * opts-global.c (handle_common_deferred_options):
+       Move error into dump_switch_p function.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       PR c/92472
+       * alloc-pool.h: Use const for some arguments.
+       * bitmap.h: Likewise.
+       * mem-stats.h: Likewise.
+       * sese.h (get_entry_bb): Likewise.
+       (get_exit_bb): Likewise.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (struct vdhs_data): New.
+       (vect_detect_hybrid_slp): New walker.
+       (vect_detect_hybrid_slp): Rewrite.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/94947
+       * tree-ssa-structalias.c (ipa_pta_execute): Use
+       varpool_node::externally_visible_p ().
+       (refered_from_nonlocal_var): Likewise.
+
+2020-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.c (LTO_PLUGIN_SPEC): Define if not already.
+       (LINK_PLUGIN_SPEC): Execute LTO_PLUGIN_SPEC.
+       * config/vxworks.h (LTO_PLUGIN_SPEC): Define.
+
+2020-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_init_constructor): Do not put the constructor
+       into static memory if it is not complete.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94949
+       * tree-ssa-loop-im.c (execute_sm): Check whether we use
+       the multithreaded model or always compute the stored value
+       before eliding a load.
+
+2020-05-05  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.md (*one_cmpl_zero_extend): New.
+
+2020-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94800
+       * match.pd (X + (X << C) to X * (1 + (1 << C)),
+       (X << C1) + (X << C2) to X * ((1 << C1) + (1 << C2))): New
+       canonicalizations.
+
+       PR target/94942
+       * config/i386/mmx.md (*vec_dupv4hi): Use xYw constraints instead of Yv.
+
+       PR tree-optimization/94914
+       * match.pd ((((type)A * B) >> prec) != 0 to .MUL_OVERFLOW(A, B) != 0):
+       New simplification.
+
+2020-05-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*testqi_ext_3): Use
+       int_nonimmediate_operand instead of manual mode checks.
+       (*x86_mov<SWI48:mode>cc_0_m1_neg_leu<SWI:mode>):
+       Use int_nonimmediate_operand predicate.  Rewrite
+       define_insn_and_split pattern to a combine pass splitter.
+
+2020-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac <i[34567]86-*-*>: Add --32 to tls_as_opt on Solaris.
+       * configure: Regenerate.
+
+2020-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94460
+       * config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3,
+       ssse3_ph<plusminus_mnemonic>wv8hi3, ssse3_ph<plusminus_mnemonic>wv4hi3,
+       avx2_ph<plusminus_mnemonic>dv8si3, ssse3_ph<plusminus_mnemonic>dv4si3,
+       ssse3_ph<plusminus_mnemonic>dv2si3): Simplify RTL patterns.
+
+2020-05-04  Clement Chigot  <clement.chigot@atos.net>
+           David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Override explicit
+       for fmodl, frexpl, ldexpl and modfl builtins.
+
+2020-05-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/94941
+       * internal-fn.c (expand_load_lanes_optab_fn): Emit a move if the
+       chosen lhs is different from the gcall lhs.
+       (expand_mask_load_optab_fn): Likewise.
+       (expand_gather_load_optab_fn): Likewise.
+
+2020-05-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94795
+       * config/i386/i386.md (*neg<mode>_ccc): New insn pattern.
+       (EQ compare->LTU compare splitter): New splitter.
+       (NE compare->NEG splitter): Ditto.
+
+2020-05-04  Marek Polacek  <polacek@redhat.com>
+
+       Revert:
+       2020-04-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94775
+       * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match.
+       (check_aligned_type): Check if TYPE_USER_ALIGN match.
+
+2020-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93891
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Fall back to
+       the original reference tree for assessing access alignment.
+
+2020-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/39612
+       * tree-ssa-loop-im.c (im_mem_ref::loaded): New member.
+       (set_ref_loaded_in_loop): New.
+       (mark_ref_loaded): Likewise.
+       (gather_mem_refs_stmt): Call mark_ref_loaded for loads.
+       (execute_sm): Avoid issueing a load when it was not there.
+       (execute_sm_if_changed): Avoid issueing warnings for the
+       conditional store.
+
+2020-05-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * tree-inline.c (tree_function_versioning): Leave any type conversion
+       of replacements to setup_one_parameter and its friend
+       force_value_to_type.
+
+2020-05-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94650
+       * config/i386/predicates.md (shr_comparison_operator): New predicate.
+       * config/i386/i386.md (compare->shr splitter): New splitters.
+
+2020-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94718
+       * match.pd ((X < 0) != (Y < 0) into (X ^ Y) < 0): New simplification.
+
+       PR tree-optimization/94718
+       * match.pd (bitop (convert @0) (convert? @1)): For GIMPLE, if we can,
+       replace two nop conversions on bit_{and,ior,xor} argument
+       and result with just one conversion on the result or another argument.
+
+       PR tree-optimization/94718
+       * fold-const.c (fold_binary_loc): Move (X & C) eqne (Y & C)
+       -> (X ^ Y) & C eqne 0 optimization to ...
+       * match.pd ((X & C) op (Y & C) into (X ^ Y) & C op 0): ... here.
+
+       * opts.c (get_option_html_page): Instead of hardcoding a list of
+       options common between C/C++ and Fortran only use gfortran/
+       documentation for warnings that have CL_Fortran set but not
+       CL_C or CL_CXX.
+
+2020-05-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_int_movcc):
+       Use plus_constant instead of gen_rtx_PLUS with GEN_INT.
+       (emit_memmov): Ditto.
+       (emit_memset): Ditto.
+       (ix86_expand_strlensi_unroll_1): Ditto.
+       (release_scratch_register_on_entry): Ditto.
+       (gen_frame_set): Ditto.
+       (ix86_emit_restore_reg_using_pop): Ditto.
+       (ix86_emit_outlined_ms2sysv_restore): Ditto.
+       (ix86_expand_epilogue): Ditto.
+       (ix86_expand_split_stack_prologue): Ditto.
+       * config/i386/i386.md (push immediate splitter): Ditto.
+       (strmov): Ditto.
+       (strset): Ditto.
+
+2020-05-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR translation/93861
+       * config/darwin-driver.c (darwin_driver_init): Adjust spelling in
+       a warning.
+
+2020-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/tilegx/tilegx.md
+       (insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Use <I124MODE:n>
+       rather than just <n>.
+
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93492
+       * cfgexpand.c (pass_expand::execute): Set crtl->patch_area_size
+       and crtl->patch_area_entry.
+       * emit-rtl.h (rtl_data): Add patch_area_size and patch_area_entry.
+       * opts.c (common_handle_option): Limit
+       function_entry_patch_area_size and function_entry_patch_area_start
+       to USHRT_MAX.  Fix a typo in error message.
+       * varasm.c (assemble_start_function): Use crtl->patch_area_size
+       and crtl->patch_area_entry.
+       * doc/invoke.texi: Document the maximum value for
+       -fpatchable-function-entry.
+
+2020-05-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/i386/darwin.h: Repair SUBTARGET_INIT_BUILTINS.
+       Override SUBTARGET_SHADOW_OFFSET macro.
+
+2020-05-01  Andreas Tobler  <andreast@gcc.gnu.org>
+
+       * config/i386/i386.h: Define a new macro: SUBTARGET_SHADOW_OFFSET.
+       * config/i386/i386.c (ix86_asan_shadow_offset): Use this macro.
+       * config/i386/darwin.h: Override the SUBTARGET_SHADOW_OFFSET macro.
+       * config/i386/freebsd.h: Likewise.
+       * config/freebsd.h (LIBASAN_EARLY_SPEC): Define.
+       LIBTSAN_EARLY_SPEC): Likewise. (LIBLSAN_EARLY_SPEC): Likewise.
+
+2020-04-30  Alexandre Oliva <oliva@adacore.com>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       the newly-introduced fileio effective target.
+
+2020-04-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/94740
+       * cse.c (cse_process_notes_1): Replace with...
+       (cse_process_note_1): ...this new function, acting as a
+       simplify_replace_fn_rtx callback to process_note.  Handle only
+       REGs and MEMs directly.  Validate the MEM if cse_process_note
+       changes its address.
+       (cse_process_notes): Replace with...
+       (cse_process_note): ...this new function.
+       (cse_extended_basic_block): Update accordingly, iterating over
+       the register notes and passing individual notes to cse_process_note.
+
+2020-04-30  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/emmintrin.h (_mm_movemask_epi8): Fix comment.
+
+2020-04-30  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/94856
+       * cgraph.c (clone_of_p): Also consider thunks whih had their bodies
+       saved by the inliner and thunks which had their call inlined.
+       * ipa-inline-transform.c (save_inline_function_body): Fill in
+       former_clone_of of new body holders.
+
+2020-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Set to 11.0.0.
+
+2020-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * pretty-print.c (pp_take_prefix): Fix spelling in comment.
+
+2020-04-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94775
+       * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match.
+       (check_aligned_type): Check if TYPE_USER_ALIGN match.
+
+2020-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.h (TARGET_OUTLINE_ATOMICS): Define.
+       * config/aarch64/aarch64.opt (moutline-atomics): Change to Int variable.
+       * doc/invoke.texi (moutline-atomics): Document as on by default.
+
+2020-04-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94748
+       * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove
+       the check for NOTE_INSN_DELETED_LABEL.
+
+2020-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac (--with-documentation-root-url,
+       --with-changes-root-url): Diagnose URL not ending with /,
+       use AC_DEFINE_UNQUOTED instead of AC_SUBST.
+       * opts.h (get_changes_url): Remove.
+       * opts.c (get_changes_url): Remove.
+       * Makefile.in (CFLAGS-opts.o): Don't add -DDOCUMENTATION_ROOT_URL
+       or -DCHANGES_ROOT_URL.
+       * doc/install.texi (--with-documentation-root-url,
+       --with-changes-root-url): Document.
+       * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Don't call
+       get_changes_url and free, change url variable type to const char * and
+       set it to CHANGES_ROOT_URL "gcc-10/changes.html#empty_base".
+       * config/s390/s390.c (s390_function_arg_vector,
+       s390_function_arg_float): Likewise.
+       * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate):
+       Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_discover_homogeneous_aggregate):
+       Likewise.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2020-04-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/57002
+       * config/arm/arm.c (isr_attribute_args): Remove duplicate entries.
+
+2020-04-30  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/constraints.md ("j>f", "jb4"): New constraints.
+       * config/s390/vecintrin.h (vec_load_len_r, vec_store_len_r): Fix
+       macro definitions.
+       * config/s390/vx-builtins.md ("vlrlrv16qi", "vstrlrv16qi"): Add a
+       separate expander.
+       ("*vlrlrv16qi", "*vstrlrv16qi"): Add alternative for vl/vst.
+       Change constraint for vlrl/vstrl to jb4.
+
+2020-04-30  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * var-tracking.c (vt_initialize): Move variables pre and post
+       into inner block and initialize both in order to fix warning
+       about uninitialized use.  Remove unnecessary checks for
+       frame_pointer_needed.
+
+2020-04-30  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * toplev.c (output_stack_usage_1): Ensure that first
+       argument to fprintf is not null.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac (-with-changes-root-url): New configure option,
+       defaulting to https://gcc.gnu.org/.
+       * Makefile.in (CFLAGS-opts.o): Define CHANGES_ROOT_URL for
+       opts.c.
+       * pretty-print.c (get_end_url_string): New function.
+       (pp_format): Handle %{ and %} for URLs.
+       (pp_begin_url): Use pp_string instead of pp_printf.
+       (pp_end_url): Use get_end_url_string.
+       * opts.h (get_changes_url): Declare.
+       * opts.c (get_changes_url): New function.
+       * config/rs6000/rs6000-call.c: Include opts.h.
+       (rs6000_discover_homogeneous_aggregate): Use %{in GCC 10.1%} instead
+       of just in GCC 10.1 in diagnostics and add URL.
+       * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Likewise.
+       * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate):
+       Likewise.
+       * config/s390/s390.c (s390_function_arg_vector,
+       s390_function_arg_float): Likewise.
+       * configure: Regenerated.
+
+       PR target/94704
+       * config/s390/s390.c (s390_function_arg_vector,
+       s390_function_arg_float): Use DECL_FIELD_ABI_IGNORED instead of
+       cxx17_empty_base_field_p.  In -Wpsabi diagnostics use the type
+       passed to the function rather than the type of the single element.
+       Rename cxx17_empty_base_seen variable to empty_base_seen, change
+       type to int, and adjust diagnostics depending on if the field
+       has [[no_unique_attribute]] or not.
+
+       PR target/94832
+       * config/i386/avx512bwintrin.h (_mm512_alignr_epi8,
+       _mm512_mask_alignr_epi8, _mm512_maskz_alignr_epi8): Wrap macro operands
+       used in casts into parens.
+       * config/i386/avx512fintrin.h (_mm512_cvt_roundps_ph, _mm512_cvtps_ph,
+       _mm512_mask_cvt_roundps_ph, _mm512_mask_cvtps_ph,
+       _mm512_maskz_cvt_roundps_ph, _mm512_maskz_cvtps_ph,
+       _mm512_mask_cmp_epi64_mask, _mm512_mask_cmp_epi32_mask,
+       _mm512_mask_cmp_epu64_mask, _mm512_mask_cmp_epu32_mask,
+       _mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask,
+       _mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask): Likewise.
+       * config/i386/avx512vlbwintrin.h (_mm256_mask_alignr_epi8,
+       _mm256_maskz_alignr_epi8, _mm_mask_alignr_epi8, _mm_maskz_alignr_epi8,
+       _mm256_mask_cmp_epu8_mask): Likewise.
+       * config/i386/avx512vlintrin.h (_mm_mask_cvtps_ph, _mm_maskz_cvtps_ph,
+       _mm256_mask_cvtps_ph, _mm256_maskz_cvtps_ph): Likewise.
+       * config/i386/f16cintrin.h (_mm_cvtps_ph, _mm256_cvtps_ph): Likewise.
+       * config/i386/shaintrin.h (_mm_sha1rnds4_epu32): Likewise.
+
+       PR target/94832
+       * config/i386/avx2intrin.h (_mm_mask_i32gather_pd,
+       _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd,
+       _mm256_mask_i64gather_pd, _mm_mask_i32gather_ps,
+       _mm256_mask_i32gather_ps, _mm_mask_i64gather_ps,
+       _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
+       _mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
+       _mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
+       _mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
+       _mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
+       _mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
+       _mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
+       _mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
+       _mm256_mask_i64gather_epi32): Surround macro parameter uses with
+       parens.
+       (_mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd,
+       _mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps,
+       _mm_i64gather_ps, _mm256_i64gather_ps): Likewise.  Don't use
+       as mask vector containing -1.0 or -1.0f elts, but instead vector
+       with all bits set using _mm*_cmpeq_p? with zero operands.
+       * config/i386/avx512fintrin.h (_mm512_i32gather_ps,
+       _mm512_mask_i32gather_ps, _mm512_i32gather_pd,
+       _mm512_mask_i32gather_pd, _mm512_i64gather_ps,
+       _mm512_mask_i64gather_ps, _mm512_i64gather_pd,
+       _mm512_mask_i64gather_pd, _mm512_i32gather_epi32,
+       _mm512_mask_i32gather_epi32, _mm512_i32gather_epi64,
+       _mm512_mask_i32gather_epi64, _mm512_i64gather_epi32,
+       _mm512_mask_i64gather_epi32, _mm512_i64gather_epi64,
+       _mm512_mask_i64gather_epi64, _mm512_i32scatter_ps,
+       _mm512_mask_i32scatter_ps, _mm512_i32scatter_pd,
+       _mm512_mask_i32scatter_pd, _mm512_i64scatter_ps,
+       _mm512_mask_i64scatter_ps, _mm512_i64scatter_pd,
+       _mm512_mask_i64scatter_pd, _mm512_i32scatter_epi32,
+       _mm512_mask_i32scatter_epi32, _mm512_i32scatter_epi64,
+       _mm512_mask_i32scatter_epi64, _mm512_i64scatter_epi32,
+       _mm512_mask_i64scatter_epi32, _mm512_i64scatter_epi64,
+       _mm512_mask_i64scatter_epi64): Surround macro parameter uses with
+       parens.
+       * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
+       _mm512_prefetch_i32gather_ps, _mm512_mask_prefetch_i32gather_pd,
+       _mm512_mask_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
+       _mm512_prefetch_i64gather_ps, _mm512_mask_prefetch_i64gather_pd,
+       _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
+       _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
+       _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
+       _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
+       _mm512_mask_prefetch_i64scatter_ps): Likewise.
+       * config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps,
+       _mm_mmask_i32gather_ps, _mm256_mmask_i32gather_pd,
+       _mm_mmask_i32gather_pd, _mm256_mmask_i64gather_ps,
+       _mm_mmask_i64gather_ps, _mm256_mmask_i64gather_pd,
+       _mm_mmask_i64gather_pd, _mm256_mmask_i32gather_epi32,
+       _mm_mmask_i32gather_epi32, _mm256_mmask_i32gather_epi64,
+       _mm_mmask_i32gather_epi64, _mm256_mmask_i64gather_epi32,
+       _mm_mmask_i64gather_epi32, _mm256_mmask_i64gather_epi64,
+       _mm_mmask_i64gather_epi64, _mm256_i32scatter_ps,
+       _mm256_mask_i32scatter_ps, _mm_i32scatter_ps, _mm_mask_i32scatter_ps,
+       _mm256_i32scatter_pd, _mm256_mask_i32scatter_pd, _mm_i32scatter_pd,
+       _mm_mask_i32scatter_pd, _mm256_i64scatter_ps,
+       _mm256_mask_i64scatter_ps, _mm_i64scatter_ps, _mm_mask_i64scatter_ps,
+       _mm256_i64scatter_pd, _mm256_mask_i64scatter_pd, _mm_i64scatter_pd,
+       _mm_mask_i64scatter_pd, _mm256_i32scatter_epi32,
+       _mm256_mask_i32scatter_epi32, _mm_i32scatter_epi32,
+       _mm_mask_i32scatter_epi32, _mm256_i32scatter_epi64,
+       _mm256_mask_i32scatter_epi64, _mm_i32scatter_epi64,
+       _mm_mask_i32scatter_epi64, _mm256_i64scatter_epi32,
+       _mm256_mask_i64scatter_epi32, _mm_i64scatter_epi32,
+       _mm_mask_i64scatter_epi32, _mm256_i64scatter_epi64,
+       _mm256_mask_i64scatter_epi64, _mm_i64scatter_epi64,
+       _mm_mask_i64scatter_epi64): Likewise.
+
+2020-04-29  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (H8/SX div patterns): All H8/SX specific
+       division instructions are 4 bytes long.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94826
+       * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for first assignment to
+       fenv_var, fenv_clear and old_fenv variables.  For fenv_addr
+       take address of TARGET_EXPR of fenv_var with void_node initializer.
+       Formatting fixes.
+
+2020-04-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       PR tree-optimization/94774
+       * gimple-ssa-sprintf.c (try_substitute_return_value): Initialize
+       variable retval.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * calls.h (cxx17_empty_base_field_p): Turn into a function declaration.
+       * calls.c (cxx17_empty_base_field_p): New function.  Check
+       DECL_ARTIFICIAL and RECORD_OR_UNION_TYPE_P in addition to the
+       previous checks.
+
+2020-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93654
+       * config/i386/i386-options.c (ix86_set_indirect_branch_type):
+       Allow -fcf-protection with -mindirect-branch=thunk-extern and
+       -mfunction-return=thunk-extern.
+       * doc/invoke.texi: Update notes for -fcf-protection=branch with
+       -mindirect-branch=thunk-extern and -mindirect-return=thunk-extern.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi: Add missing arm_arch_v8a_hard_ok anchor.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
+       fenv_var and new_fenv_var.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi (arm_arch_v8a_hard_ok): Document new
+       effective-target keyword.
+       (arm_arch_v8a_hard_multilib): Likewise.
+       (arm_arch_v8a_hard): Document new dg-add-options keyword.
+       * config/arm/arm.c (arm_return_in_memory): Note that the APCS
+       code is deprecated and has not been updated to handle
+       DECL_FIELD_ABI_IGNORED.
+       (WARN_PSABI_EMPTY_CXX17_BASE): New constant.
+       (WARN_PSABI_NO_UNIQUE_ADDRESS): Likewise.
+       (aapcs_vfp_sub_candidate): Replace the boolean pointer parameter
+       avoid_cxx17_empty_base with a pointer to a bitmask.  Ignore fields
+       whose DECL_FIELD_ABI_IGNORED bit is set when determining whether
+       something actually is a HFA or HVA.  Record whether we see a
+       [[no_unique_address]] field that previous GCCs would not have
+       ignored in this way.
+       (aapcs_vfp_is_call_or_return_candidate): Update the calls to
+       aapcs_vfp_sub_candidate and report a -Wpsabi warning for the
+       [[no_unique_address]] case.  Use TYPE_MAIN_VARIANT in the
+       diagnostic messages.
+       (arm_needs_doubleword_align): Add a comment explaining why we
+       consider even zero-sized fields.
+
+2020-04-29  Richard Biener  <rguenther@suse.de>
+           Li Zekun  <lizekun1@huawei.com>
+
+       PR lto/94822
+       * tree.c (component_ref_size): Guard against error_mark_node
+       DECL_INITIAL as it happens with LTO.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add a
+       comment explaining why we consider even zero-sized fields.
+       (WARN_PSABI_EMPTY_CXX17_BASE): New constant.
+       (WARN_PSABI_NO_UNIQUE_ADDRESS): Likewise.
+       (aapcs_vfp_sub_candidate): Replace the boolean pointer parameter
+       avoid_cxx17_empty_base with a pointer to a bitmask.  Ignore fields
+       whose DECL_FIELD_ABI_IGNORED bit is set when determining whether
+       something actually is a HFA or HVA.  Record whether we see a
+       [[no_unique_address]] field that previous GCCs would not have
+       ignored in this way.
+       (aarch64_vfp_is_call_or_return_candidate): Add a parameter to say
+       whether diagnostics should be suppressed.  Update the calls to
+       aapcs_vfp_sub_candidate and report a -Wpsabi warning for the
+       [[no_unique_address]] case.
+       (aarch64_return_in_msb): Update call accordingly, never silencing
+       diagnostics.
+       (aarch64_function_value): Likewise.
+       (aarch64_return_in_memory_1): Likewise.
+       (aarch64_init_cumulative_args): Likewise.
+       (aarch64_gimplify_va_arg_expr): Likewise.
+       (aarch64_pass_by_reference_1): Take a CUMULATIVE_ARGS pointer and
+       use it to decide whether arch64_vfp_is_call_or_return_candidate
+       should be silent.
+       (aarch64_pass_by_reference): Update calls accordingly.
+       (aarch64_vfp_is_call_candidate): Use the CUMULATIVE_ARGS argument
+       to decide whether arch64_vfp_is_call_or_return_candidate should be
+       silent.
+
+2020-04-29  Haijian Zhang  <z.zhanghaijian@huawei.com>
+
+       PR target/94820
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of
+       MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and
+       new_fenv_var.
+
+2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * configure.ac <$enable_offload_targets>: Do parsing as done
+       elsewhere.
+       * configure: Regenerate.
+
+       * configure.ac <$enable_offload_targets>: 'amdgcn' is 'gcn'.
+       * configure: Regenerate.
+
+       PR target/94279
+       * rtlanal.c (set_noop_p): Handle non-constant selectors.
+
+       PR target/94282
+       * common/config/gcn/gcn-common.c (gcn_except_unwind_info): New
+       function.
+       (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94248
+       * config/gcn/gcn.md (*mov<mode>_insn): Use
+       'reg_overlap_mentioned_p' to check for overlap.
+
+       PR target/94706
+       * config/ia64/ia64.c (hfa_element_mode): Use DECL_FIELD_ABI_IGNORED
+       instead of cxx17_empty_base_field_p.
+
+       PR target/94707
+       * tree-core.h (tree_decl_common): Note decl_flag_0 used for
+       DECL_FIELD_ABI_IGNORED.
+       * tree.h (DECL_FIELD_ABI_IGNORED): Define.
+       * calls.h (cxx17_empty_base_field_p): Change into a temporary
+       macro, check DECL_FIELD_ABI_IGNORED flag with no "no_unique_address"
+       attribute.
+       * calls.c (cxx17_empty_base_field_p): Remove.
+       * tree-streamer-out.c (pack_ts_decl_common_value_fields): Handle
+       DECL_FIELD_ABI_IGNORED.
+       * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
+       * lto-streamer-out.c (hash_tree): Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Rename
+       cxx17_empty_base_seen to empty_base_seen, change type to int *,
+       adjust recursive calls, use DECL_FIELD_ABI_IGNORED instead of
+       cxx17_empty_base_field_p, if "no_unique_address" attribute is
+       present, propagate that to the caller too.
+       (rs6000_discover_homogeneous_aggregate): Adjust
+       rs6000_aggregate_candidate caller, emit different diagnostics
+       when c++17 empty base fields are present and when empty
+       [[no_unique_address]] fields are present.
+       * config/rs6000/rs6000.c (rs6000_special_round_type_align,
+       darwin_rs6000_special_round_type_align): Skip DECL_FIELD_ABI_IGNORED
+       fields.
+
+2020-04-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (ref_always_accessed::operator ()):
+       Just check whether the stmt stores.
+
+2020-04-28  Alexandre Oliva <oliva@adacore.com>
+
+       PR target/94812
+       * config/rs6000/rs6000.md (rs6000_mffsl): Copy result to
+       output operand in emulation.  Don't overwrite pseudos.
+
+2020-04-28  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (H8/SX mult patterns): All H8/SX specific
+       multiply patterns are 4 bytes long.
+
+2020-04-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm-cpus.in (cortex-m55): Remove +nofp option.
+       * doc/invoke.texi (Arm Options): Remove -mcpu=cortex-m55 from +nofp option.
+
+2020-04-28  Matthew Malcomson  <matthew.malcomson@arm.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94711
+       * config/arm/arm.c (aapcs_vfp_sub_candidate): Account for C++17 empty
+       base class artificial fields.
+       (aapcs_vfp_is_call_or_return_candidate): Warn when PCS ABI
+       decision is different after this fix.
+
+2020-04-28  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94447
+       PR analyzer/94639
+       PR analyzer/94732
+       PR analyzer/94754
+       * doc/invoke.texi (Static Analyzer Options): Remove
+       -Wanalyzer-use-of-uninitialized-value.
+       (-Wno-analyzer-use-of-uninitialized-value): Remove item.
+
+2020-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94809
+       * tree.c (build_call_expr_internal_loc_array): Call
+       process_call_operands.
+
+2020-04-27  Anton Youdkevitch  <anton.youdkevitch@bell-sw.com>
+
+       * config/aarch64/aarch64-cores.def (thunderx3t110): Add the chip name.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * config/aarch64/aarch64.c (thunderx3t110_addrcost_table): Define.
+       (thunderx3t110_regmove_cost): Likewise.
+       (thunderx3t110_vector_cost): Likewise.
+       (thunderx3t110_prefetch_tune): Likewise.
+       (thunderx3t110_tunings): Likewise.
+       * config/aarch64/aarch64-cost-tables.h (thunderx3t110_extra_costs):
+       Define.
+       * config/aarch64/thunderx3t110.md: New file.
+       * config/aarch64/aarch64.md: Include thunderx3t110.md.
+       * doc/invoke.texi (AArch64 options): Add thunderx3t110.
+
+2020-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94704
+       * config/s390/s390.c (s390_function_arg_vector,
+       s390_function_arg_float): Emit -Wpsabi diagnostics if the ABI changed.
+
+2020-04-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94727
+       * tree-vect-stmts.c (vect_is_simple_cond): If both comparison
+       operands are invariant booleans, use the mask type associated with the
+       STMT_VINFO_VECTYPE.  Use !slp_node instead of !vectype to exclude SLP.
+       (vectorizable_condition): Pass vectype unconditionally to
+       vect_is_simple_cond.
+
+2020-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94780
+       * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for first assignment to
+       sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var.
+
+2020-04-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR 92830
+       * configure.ac (DOCUMENTATION_ROOT_URL): Drop trailing "gcc/" from
+       default value, so that it can by supplied by get_option_html_page.
+       * configure: Regenerate.
+       * opts.c: Include "selftest.h".
+       (get_option_html_page): New function.
+       (get_option_url): Use it.  Reformat to place comments next to the
+       expressions they refer to.
+       (selftest::test_get_option_html_page): New.
+       (selftest::opts_c_tests): New.
+       * selftest-run-tests.c (selftest::run_tests): Call
+       selftest::opts_c_tests.
+       * selftest.h (selftest::opts_c_tests): New decl.
+
+2020-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm-builtins.c (arm_expand_builtin_args): Only apply
+       UINTVAL to CONST_INTs.
+
+2020-04-27  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/constraints.md (e): Remove constraint.
+       (Te): Define constraint.
+       * config/arm/mve.md (vaddvq_<supf><mode>): Modify constraint in
+       operand 0 from "e" to "Te".
+       (vaddvaq_<supf><mode>): Likewise.
+       (vaddvq_p_<supf><mode>): Likewise.
+       (vmladavq_<supf><mode>): Likewise.
+       (vmladavxq_s<mode>): Likewise.
+       (vmlsdavq_s<mode>): Likewise.
+       (vmlsdavxq_s<mode>): Likewise.
+       (vaddvaq_p_<supf><mode>): Likewise.
+       (vmladavaq_<supf><mode>): Likewise.
+       (vmladavq_p_<supf><mode>): Likewise.
+       (vmladavxq_p_s<mode>): Likewise.
+       (vmlsdavq_p_s<mode>): Likewise.
+       (vmlsdavxq_p_s<mode>): Likewise.
+       (vmlsdavaxq_s<mode>): Likewise.
+       (vmlsdavaq_s<mode>): Likewise.
+       (vmladavaxq_s<mode>): Likewise.
+       (vmladavaq_p_<supf><mode>): Likewise.
+       (vmladavaxq_p_s<mode>): Likewise.
+       (vmlsdavaq_p_s<mode>): Likewise.
+       (vmlsdavaxq_p_s<mode>): Likewise.
+
+2020-04-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (output_move_neon): Only get the first operand if
+       addr is PLUS.
+
+2020-04-27  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94784
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Flip the
+       assert around so that it checks that the two vectors have equal
+       TYPE_VECTOR_SUBPARTS and that converting the corresponding element
+       types is a useless_type_conversion_p.
+
+2020-04-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94515
+       * dwarf2cfi.c (struct GTY): Add ra_mangled.
+       (cfi_row_equal_p): Check ra_mangled.
+       (dwarf2out_frame_debug_cfa_window_save): Remove the argument,
+       this only handles the sparc logic now.
+       (dwarf2out_frame_debug_cfa_toggle_ra_mangle): New function for
+       the aarch64 specific logic.
+       (dwarf2out_frame_debug): Update to use the new subroutines.
+       (change_cfi_row): Check ra_mangled.
+
+2020-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94704
+       * config/s390/s390.c (s390_function_arg_vector,
+       s390_function_arg_float): Ignore cxx17_empty_base_field_p fields.
+
+2020-04-27  Jiufu Guo   <guojiufu@cn.ibm.com>
+
+       * common/config/rs6000/rs6000-common.c
+       (rs6000_option_optimization_table) [OPT_LEVELS_ALL]: Remove turn off
+       -fweb.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Avoid to
+       set flag_web.
+
+2020-04-27  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94659
+       * cgraph.h (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
+       Do not remove ifunc_resolvers in remove unreachable nodes in LTO.
+
+2020-04-27  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/91518
+       * config/rs6000/rs6000-logue.c (frame_pointer_needed_indeed):
+       New variable.
+       (rs6000_emit_prologue_components):
+       Check with frame_pointer_needed_indeed.
+       (rs6000_emit_epilogue_components): Likewise.
+       (rs6000_emit_prologue): Likewise.
+       (rs6000_emit_epilogue): Set frame_pointer_needed_indeed.
+
+2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000-logue.c (rs6000_stack_info): Don't push a
+       stack frame when debugging and flag_compare_debug is enabled.
+
+2020-04-25  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/linux64.h (PCREL_SUPPORTED_BY_OS): Define to
+       enable PC-relative addressing for -mcpu=future.
+       * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Move
+       after OTHER_FUTURE_MASKS.  Use OTHER_FUTURE_MASKS.
+       * config/rs6000/rs6000.c (PCREL_SUPPORTED_BY_OS): If not defined,
+       suppress PC-relative addressing.
+       (rs6000_option_override_internal): Split up error messages
+       checking for -mprefixed and -mpcrel.  Enable -mpcrel if the target
+       system supports it.
+
+2020-04-25  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94734
+       PR tree-optimization/89430
+       * tree-ssa-phiopt.c: Include tree-eh.h.
+       (cond_store_replacement): Return false if an automatic variable
+       access could trap.  If -fstore-data-races, don't return false
+       just because an automatic variable is addressable.
+
+2020-04-24  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (add<mode>_zext_dup2_exec): Fix merge
+       of high-part.
+       (add<mode>_sext_dup2_exec): Likewise.
+
+2020-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/94710
+       * config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little
+       endian byteshift_val calculation.
+
+2020-04-24  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md (*mov<mode>_insn): Only split post-reload.
+
+2020-04-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/arm_sve.h: Add a comment.
+
+2020-04-24  Haijian Zhang <z.zhanghaijian@huawei.com>
+
+       PR rtl-optimization/94708
+       * combine.c (simplify_if_then_else): Add check for
+       !HONOR_NANS (mode) && !HONOR_SIGNED_ZEROS (mode).
+
+2020-04-23  Martin Sebor  <msebor@redhat.com>
+
+       PR driver/90983
+       * common.opt (-Wno-frame-larger-than): New option.
+       (-Wno-larger-than, -Wno-stack-usage): Same.
+
+2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (mov<mode>_exec): Swap the numbers on operands
+       2 and 3.
+       (mov<mode>_exec): Likewise.
+       (trunc<vndi><mode>2_exec): Swap parameters to gen_mov<mode>_exec.
+       (<convop><mode><vndi>2_exec): Likewise.
+
+2019-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/94717
+       * gimple-ssa-store-merging.c (try_coalesce_bswap): Return false if one
+       of the stores doesn't have the same landing pad number as the first.
+       (coalesce_immediate_stores): Do not try to coalesce the store using
+       bswap if it doesn't have the same landing pad number as the first.
+
+2020-04-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
+       Replace outdated link to ELFv2 ABI.
+
+2020-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94710
+       * optabs.c (expand_vec_perm_const): For shift_amt const0_rtx
+       just return v2.
+
+       PR middle-end/94724
+       * tree.c (get_narrower): Instead of creating COMPOUND_EXPRs
+       temporarily with non-final second operand and updating it later,
+       push COMPOUND_EXPRs into a vector and process it in reverse,
+       creating COMPOUND_EXPRs with the final operands.
+
+2020-04-23  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94697
+       * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Swap
+       bti c and bti j handling.
+
+2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/93488
+
+       * omp-expand.c (expand_omp_target): Use force_gimple_operand_gsi on
+       t_async and the wait arguments.
+
+2020-04-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94727
+       * tree-vect-stmts.c (vectorizable_comparison): Use mask_type when
+       comparing invariant scalar booleans.
+
+2020-04-23  Matthew Malcomson  <matthew.malcomson@arm.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94383
+       * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Account for C++17
+       empty base class artificial fields.
+       (aarch64_vfp_is_call_or_return_candidate): Warn when ABI PCS decision is
+       different after this fix.
+
+2020-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94707
+       * config/rs6000/rs6000-call.c (rs6000_discover_homogeneous_aggregate):
+       Use TYPE_UID (TYPE_MAIN_VARIANT (type)) instead of type to check
+       if the same type has been diagnosed most recently already.
+
+2020-04-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vbicq_n_u16): Modify function parameter's
+       datatype.
+       (__arm_vbicq_n_s16): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vbicq): Likewise.
+       (__arm_vbicq_n_s16): Modify MVE polymorphic variant argument's datatype.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vbicq_n_u16): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vdupq_m_n_s8): Likewise.
+       (__arm_vdupq_m_n_s16): Likewise.
+       (__arm_vdupq_m_n_s32): Likewise.
+       (__arm_vdupq_m_n_u8): Likewise.
+       (__arm_vdupq_m_n_u16): Likewise.
+       (__arm_vdupq_m_n_u32): Likewise.
+       (__arm_vdupq_m_n_f16): Likewise.
+       (__arm_vdupq_m_n_f32): Likewise.
+       (__arm_vldrhq_gather_offset_s16): Likewise.
+       (__arm_vldrhq_gather_offset_s32): Likewise.
+       (__arm_vldrhq_gather_offset_u16): Likewise.
+       (__arm_vldrhq_gather_offset_u32): Likewise.
+       (__arm_vldrhq_gather_offset_f16): Likewise.
+       (__arm_vldrhq_gather_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_offset_z_u16): Likewise.
+       (__arm_vldrhq_gather_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_offset_z_f16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_f16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_f16): Likewise.
+       (__arm_vldrwq_gather_offset_s32): Likewise.
+       (__arm_vldrwq_gather_offset_u32): Likewise.
+       (__arm_vldrwq_gather_offset_f32): Likewise.
+       (__arm_vldrwq_gather_offset_z_s32): Likewise.
+       (__arm_vldrwq_gather_offset_z_u32): Likewise.
+       (__arm_vldrwq_gather_offset_z_f32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_s32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_u32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_f32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_z_s32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_z_u32): Likewise.
+       (__arm_vldrwq_gather_shifted_offset_z_f32): Likewise.
+       (__arm_vdwdupq_x_n_u8): Likewise.
+       (__arm_vdwdupq_x_n_u16): Likewise.
+       (__arm_vdwdupq_x_n_u32): Likewise.
+       (__arm_viwdupq_x_n_u8): Likewise.
+       (__arm_viwdupq_x_n_u16): Likewise.
+       (__arm_viwdupq_x_n_u32): Likewise.
+       (__arm_vidupq_x_n_u8): Likewise.
+       (__arm_vddupq_x_n_u8): Likewise.
+       (__arm_vidupq_x_n_u16): Likewise.
+       (__arm_vddupq_x_n_u16): Likewise.
+       (__arm_vidupq_x_n_u32): Likewise.
+       (__arm_vddupq_x_n_u32): Likewise.
+       (__arm_vldrdq_gather_offset_s64): Likewise.
+       (__arm_vldrdq_gather_offset_u64): Likewise.
+       (__arm_vldrdq_gather_offset_z_s64): Likewise.
+       (__arm_vldrdq_gather_offset_z_u64): Likewise.
+       (__arm_vldrdq_gather_shifted_offset_s64): Likewise.
+       (__arm_vldrdq_gather_shifted_offset_u64): Likewise.
+       (__arm_vldrdq_gather_shifted_offset_z_s64): Likewise.
+       (__arm_vldrdq_gather_shifted_offset_z_u64): Likewise.
+       (__arm_vidupq_m_n_u8): Likewise.
+       (__arm_vidupq_m_n_u16): Likewise.
+       (__arm_vidupq_m_n_u32): Likewise.
+       (__arm_vddupq_m_n_u8): Likewise.
+       (__arm_vddupq_m_n_u16): Likewise.
+       (__arm_vddupq_m_n_u32): Likewise.
+       (__arm_vidupq_n_u16): Likewise.
+       (__arm_vidupq_n_u32): Likewise.
+       (__arm_vidupq_n_u8): Likewise.
+       (__arm_vddupq_n_u16): Likewise.
+       (__arm_vddupq_n_u32): Likewise.
+       (__arm_vddupq_n_u8): Likewise.
+
+2020-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * doc/install.texi (D-Specific Options): Document
+       --enable-libphobos-checking and --with-libphobos-druntime-only.
+
+2020-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94707
+       * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Add
+       cxx17_empty_base_seen argument.  Pass it to recursive calls.
+       Ignore cxx17_empty_base_field_p fields after setting
+       *cxx17_empty_base_seen to true.
+       (rs6000_discover_homogeneous_aggregate): Adjust
+       rs6000_aggregate_candidate caller.  With -Wpsabi, diagnose homogeneous
+       aggregates with C++17 empty base fields.
+
+       PR c/94705
+       * attribs.c (decl_attribute): Don't diagnose attribute exclusions
+       if last_decl is error_mark_node or has such a TREE_TYPE.
+
+       PR c/94705
+       * attribs.c (decl_attribute): Don't diagnose attribute exclusions
+       if last_decl is error_mark_node or has such a TREE_TYPE.
+
+2020-04-22  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/94678
+       * config/aarch64/aarch64.h (TARGET_SVE):
+       Add && !TARGET_GENERAL_REGS_ONLY.
+       (TARGET_SVE2): Add && TARGET_SVE.
+       (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3,
+       TARGET_SVE2_SM4): Add && TARGET_SVE2.
+       * config/aarch64/aarch64-sve-builtins.h
+       (sve_switcher::m_old_general_regs_only): New member.
+       * config/aarch64/aarch64-sve-builtins.cc (check_required_registers):
+       New function.
+       (reported_missing_registers_p): New variable.
+       (check_required_extensions): Call check_required_registers before
+       return if all required extenstions are present.
+       (sve_switcher::sve_switcher): Save TARGET_GENERAL_REGS_ONLY in
+       m_old_general_regs_only and clear MASK_GENERAL_REGS_ONLY in
+       global_options.x_target_flags.
+       (sve_switcher::~sve_switcher): Set MASK_GENERAL_REGS_ONLY in
+       global_options.x_target_flags if m_old_general_regs_only is true.
+
+2020-04-22  Zackery Spytz  <zspytz@gmail.com>
+
+       * doc/extend.exi: Add "free" to list of other builtin functions
+       supported by GCC.
+
+2020-04-20  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/94622
+       * config/rs6000/sync.md (load_quadpti): Add attr "prefixed"
+       if TARGET_PREFIXED.
+       (store_quadpti): Ditto.
+       (atomic_load<mode>): Do not swap doublewords if TARGET_PREFIXED as
+       plq will be used and doesn't need it.
+       (atomic_store<mode>): Ditto, for pstq.
+
+2020-04-22  Erick Ochoa  <erick.ochoa@theobroma-systems.com>
+
+       * doc/invoke.texi: Update flags turned on by -O3.
+
+2020-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94706
+       * config/ia64/ia64.c (hfa_element_mode): Ignore
+       cxx17_empty_base_field_p fields.
+
+       PR target/94383
+       * calls.h (cxx17_empty_base_field_p): Declare.
+       * calls.c (cxx17_empty_base_field_p): Define.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * doc/sourcebuild.texi (arm_softfp_ok, arm_hard_ok): Document.
+
+2020-04-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm.c (arm_file_start): Handle isa_bit_quirk_no_asmcpu.
+       * config/arm/arm-cpus.in (quirk_no_asmcpu): Define.
+       (ALL_QUIRKS): Add quirk_no_asmcpu.
+       (cortex-m55): Define new cpu.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Likewise.
+       * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55.
+
+2020-04-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94700
+       * tree-ssa-forwprop.c (simplify_vector_constructor): When processing
+       an identity constructor, use a VIEW_CONVERT_EXPR to handle mixtures
+       of similarly-structured but distinct vector types.
+
+2020-04-21  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94647
+       * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Correct
+       the computation of the lower bound of the source access size.
+       (builtin_access::generic_overlap): Remove a hack for setting ranges
+       of overlap offsets.
+
+2020-04-21  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/som.h (ASM_WEAKEN_LABEL): Delete.
+       (ASM_WEAKEN_DECL): New define.
+       (HAVE_GAS_WEAKREF): Undefine.
+
+2020-04-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94683
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Use a
+       VIEW_CONVERT_EXPR to handle mixtures of similarly-structured
+       but distinct vector types.
+
+2020-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94641
+       * stor-layout.c (place_field, finalize_record_size): Don't emit
+       -Wpadded warning on TYPE_ARTIFICIAL rli->t.
+       * ubsan.c (ubsan_get_type_descriptor_type,
+       ubsan_get_source_location_type, ubsan_create_data): Set
+       TYPE_ARTIFICIAL.
+       * asan.c (asan_global_struct): Likewise.
+
+2020-04-21  Duan bo  <duanbo3@huawei.com>
+
+       PR target/94577
+       * config/aarch64/aarch64.c: Add an error message for option conflict.
+       * doc/invoke.texi (-mcmodel=large): Mention that -mcmodel=large is
+       incompatible with -fpic, -fPIC and -mabi=ilp32.
+
+2020-04-21  Frederik Harwath  <frederik@codesourcery.com>
+
+       PR other/94629
+       * omp-low.c (new_omp_context): Remove assignments to
+       ctx->outer_reduction_clauses and ctx->local_reduction_clauses.
+
+2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/vector.md ("popcountv8hi2_vx", "popcountv4si2_vx")
+       ("popcountv2di2_vx"): Use simplify_gen_subreg.
+
+2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/94613
+       * config/s390/s390-builtin-types.def: Add 3 new function modes.
+       * config/s390/s390-builtins.def: Add mode dependent low-level
+       builtin and map the overloaded builtins to these.
+       * config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ...
+       ("vsel<V_HW"): ... this and rewrite the pattern with bitops.
+
+2020-04-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_better_loop_vinfo_p): If old_loop_vinfo
+       has a variable VF, prefer new_loop_vinfo if it is cheaper for the
+       estimated VF and is no worse at double the estimated VF.
+
+2020-04-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/94668
+       * config/aarch64/aarch64.c (aarch64_sve_expand_vector_init): Fix
+       order of arguments to rtx_vector_builder.
+       (aarch64_sve_expand_vector_init_handle_trailing_constants): Likewise.
+       When extending the trailing constants to a full vector, replace any
+       variables with zeros.
+
+2020-04-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/94582
+       * tree-inline.c (optimize_inline_calls): Recompute calls_comdat_local
+       flag.
+
+2020-04-20  Martin Liska  <mliska@suse.cz>
+
+       * symtab.c (symtab_node::dump_references): Add space after
+       one entry.
+       (symtab_node::dump_referring): Likewise.
+
+2020-04-18  Jeff Law  <law@redhat.com>
+
+       PR debug/94439
+       * regrename.c (check_new_reg_p): Ignore DEBUG_INSNs when walking
+       the chain.
+
+2020-04-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords, Environment
+       attributes): Document d_runtime_has_std_library.
+
+2020-04-17  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/90275
+       * cse.c (cse_insn): Avoid recording nop sets in multi-set parallels
+       when the destination has a REG_UNUSED note.
+
+2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94635
+       * gimplify.c (gimplify_scan_omp_clauses): Turn MAP_TO_PSET to
+       MAP_DELETE.
+
+2020-04-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_advsimd_ldp_stp_p): New function.
+       (aarch64_sve_adjust_stmt_cost): Add a vectype parameter.  Double the
+       cost of load and store insns if one loop iteration has enough scalar
+       elements to use an Advanced SIMD LDP or STP.
+       (aarch64_add_stmt_cost): Update call accordingly.
+
+2020-04-17  Jakub Jelinek  <jakub@redhat.com>
+           Jeff Law  <law@redhat.com>
+
+       PR target/94567
+       * config/i386/i386.md (*testqi_ext_3): Use CCZmode rather than
+       CCNOmode in ix86_match_ccmode if len is equal to <MODE>mode precision,
+       or pos + len >= 32, or pos + len is equal to operands[2] precision
+       and operands[2] is not a register operand.  During splitting perform
+       SImode AND if operands[0] doesn't have CCZmode and pos + len is
+       equal to mode precision.
+
+2020-04-17  Richard Biener  <rguenther@suse.de>
+
+       PR other/94629
+       * cgraphclones.c (cgraph_node::create_clone): Remove duplicate
+       initialization.
+       * dwarf2out.c (dw_val_equal_p): Fix pasto in
+       dw_val_class_vms_delta comparison.
+       * optabs.c (expand_binop_directly): Fix pasto in commutation
+       check.
+       * tree-ssa-sccvn.c (vn_reference_lookup_pieces): Fix pasto in
+       initialization.
+
+2020-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94618
+       * cfgrtl.c (delete_insn_and_edges): Set purge not just when
+       insn is the BB_END of its block, but also when it is only followed
+       by DEBUG_INSNs in its block.
+
+       PR tree-optimization/94621
+       * tree-inline.c (remap_type_1): Don't dereference NULL TYPE_DOMAIN.
+       Move id->adjust_array_error_bounds check first in the condition.
+
+2020-04-17  Martin Liska  <mliska@suse.cz>
+           Jonathan Yong <10walls@gmail.com>
+
+       PR gcov-profile/94570
+       * coverage.c (coverage_init): Use separator properly.
+
+2020-04-16  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/93974
+       * config/rs6000/rs6000.c (TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P): Define.
+       (rs6000_cannot_substitute_mem_equiv_p): New function.
+
+2020-04-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93621
+       * ipa-inline.h (ipa_saved_clone_sources): Declare.
+       * ipa-inline-transform.c (ipa_saved_clone_sources): New variable.
+       (save_inline_function_body): Link the new body holder with the
+       previous one.
+       * cgraph.c: Include ipa-inline.h.
+       (cgraph_edge::redirect_call_stmt_to_callee): Try to find the decl from
+       the statement in ipa_saved_clone_sources.
+       * cgraphunit.c: Include ipa-inline.h.
+       (expand_all_functions): Free ipa_saved_clone_sources.
+
+2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/94606
+       * config/aarch64/aarch64.c (aarch64_expand_sve_const_pred_eor): Take
+       the VNx16BI lowpart of the recursively-generated constant.
+
+2020-04-16  Martin Liska  <mliska@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94314
+       * cgraphclones.c (set_new_clone_decl_and_node_flags): Drop
+       DECL_IS_REPLACEABLE_OPERATOR during cloning.
+       * tree-ssa-dce.c (valid_new_delete_pair_p): New function.
+       (propagate_necessity): Check operator names.
+
+2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/94605
+       * early-remat.c (early_remat::process_block): Handle insns that
+       set multiple candidate registers.
+2020-04-16  Jan Hubicka  <hubicka@ucw.cz>
+       
+       PR gcov-profile/93401
+       * common.opt (profile-prefix-path): New option.
+       * coverae.c: Include diagnostics.h.
+       (coverage_init): Strip profile prefix path.
+       * doc/invoke.texi (-fprofile-prefix-path): Document.
+
+2020-04-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94614
+       * expr.c (emit_move_multi_word): Do not generate code when
+       the destination part is undefined_operand_subword_p.
+       * lower-subreg.c (resolve_clobber): Look through a paradoxica
+       subreg.
+
+2020-04-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/94598
+       * tree-sra.c (verify_sra_access_forest): Fix verification of total
+       scalarization accesses under access to one-element arrays.
+
+2020-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/89494
+       * function.c (assign_parm_find_data_types): Add workaround for
+       BROKEN_VALUE_INITIALIZATION compilers.
+
+2020-04-16  Richard Biener  <rguenther@suse.de>
+
+       * gdbhooks.py (TreePrinter): Print SSA_NAME_VERSION of SSA_NAME
+       nodes.
+
+2020-04-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94603
+       * config/i386/i386-builtin.def (__builtin_ia32_movq128):
+       Require OPTION_MASK_ISA_SSE2.
+
+2020-04-15  Gustavo Romero  <gromero@linux.ibm.com>
+
+       PR bootstrap/89494
+       * dumpfile.c (selftest::temp_dump_context::temp_dump_context):
+       Don't construct a dump_context temporary to call static method.
+
+2020-04-15  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/falkor-tag-collision-avoidance.c
+       (valid_src_p): Check for aarch64_address_info type before
+       accessing base field.
+
+2020-04-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/mve.md (mve_vec_duplicate<mode>): New pattern.
+       (V_sz_elem2): Remove unused mode attribute.
+
+2020-04-15  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/arm/arm.md (arm_movdi): Disallow for MVE.
+
+2020-04-15  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94539
+       * tree-ssa-alias.c (same_type_for_tbaa): Defer to
+       alias_sets_conflict_p for pointers.
+
+2020-04-14  Max Filippov  <jcmvbkbc@gmail.com>
+
+       PR target/94584
+       * config/xtensa/xtensa.md (zero_extendhisi2, zero_extendqisi2)
+       (extendhisi2_internal): Add %v1 before the load instructions.
+
+2020-04-14  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/94542
+       * config/rs6000/rs6000.c (address_to_insn_form): Do not attempt to
+       use PC-relative addressing for TLS references.
+
+2020-04-14  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/94434
+       * ipa-sra.c: Include internal-fn.h.
+       (enum isra_scan_context): Update comment.
+       (scan_function): Treat calls to internal_functions like loads or stores.
+
+2020-04-14  Yang Yang <yangyang305@huawei.com>
+
+       PR tree-optimization/94574
+       * tree-ssa.c (non_rewritable_lvalue_p): Add size check when analyzing
+       whether a vector-insert is rewritable using a BIT_INSERT_EXPR.
+
+2020-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94561
+       * config/i386/i386.c (ix86_get_ssemov): Remove mode size check.
+
+2020-04-13  Martin Sebor  <msebor@redhat.com>
+
+       * doc/extend.texi (-Wall): Mention -Wformat-overflow and
+       -Wformat-truncation.  Move -Wzero-length-bounds last.
+       (-Wrestrict): Document positive form of option enabled by -Wall.
+
+2020-04-13 Zachary Spytz  <zspytz@gmail.com>
+
+       * doc/extend.texi: Add realloc to list of built-in functions
+       are recognized by the compiler.
+
+2020-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94556
+       * config/i386/i386.c (ix86_expand_epilogue): Restore the frame
+       pointer in word_mode for eh_return epilogues.
+
+2020-04-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_print_operand): Don't add offsets to
+       memory references in %B, %C and %D operand selectors when the inner
+       operand is a post increment address.
+
+2020-04-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_print_operand): Offset a %C memory
+       reference by 4 bytes, and %D memory reference by 6 bytes.
+
+2020-04-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94494
+       * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE2
+       condition for V4SI, V8HI and V16QI modes.
+
+2020-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94495
+       PR target/94551
+       * cselib.c (cselib_record_sp_cfa_base_equiv): Set PRESERVED_VALUE_P on
+       val->val_rtx.
+
+2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/89433
+       PR middle-end/93465
+       * omp-general.c (oacc_verify_routine_clauses): Diagnose if
+       "#pragma omp declare target" has also been applied.
+
+2020-04-09  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_expand_epilogue): Use emit_jump_insn
+       when to emit the epilogue_helper insn.
+       * config/msp430/msp430.md (epilogue_helper): Add a return insn to the
+       RTL pattern.
+
+2020-04-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94495
+       * cselib.h (cselib_record_sp_cfa_base_equiv,
+       cselib_sp_derived_value_p): Declare.
+       * cselib.c (cselib_record_sp_cfa_base_equiv,
+       cselib_sp_derived_value_p): New functions.
+       * var-tracking.c (add_stores): Don't record MO_VAL_SET for
+       cselib_sp_derived_value_p values.
+       (vt_initialize): Call cselib_record_sp_cfa_base_equiv at the
+       start of extended basic blocks other than the first one
+       for !frame_pointer_needed functions.
+
+2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi (aarch64_sve_hw, aarch64_sve128_hw)
+       (aarch64_sve256_hw, aarch64_sve512_hw, aarch64_sve1024_hw)
+       (aarch64_sve2048_hw): Document.
+       * config/aarch64/aarch64-protos.h
+       (aarch64_sve::handle_arm_sve_vector_bits_attribute): Declare.
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
+       __ARM_FEATURE_SVE_VECTOR_OPERATIONS when SVE is enabled.
+       * config/aarch64/aarch64-sve-builtins.cc (matches_type_p): New
+       function.
+       (find_type_suffix_for_scalar_type): Use it instead of comparing
+       TYPE_MAIN_VARIANTs.
+       (function_resolver::infer_vector_or_tuple_type): Likewise.
+       (function_resolver::require_vector_type): Likewise.
+       (handle_arm_sve_vector_bits_attribute): New function.
+       * config/aarch64/aarch64.c (pure_scalable_type_info): New class.
+       (aarch64_attribute_table): Add arm_sve_vector_bits.
+       (aarch64_return_in_memory_1):
+       (pure_scalable_type_info::piece::get_rtx): New function.
+       (pure_scalable_type_info::num_zr): Likewise.
+       (pure_scalable_type_info::num_pr): Likewise.
+       (pure_scalable_type_info::get_rtx): Likewise.
+       (pure_scalable_type_info::analyze): Likewise.
+       (pure_scalable_type_info::analyze_registers): Likewise.
+       (pure_scalable_type_info::analyze_array): Likewise.
+       (pure_scalable_type_info::analyze_record): Likewise.
+       (pure_scalable_type_info::add_piece): Likewise.
+       (aarch64_some_values_include_pst_objects_p): Likewise.
+       (aarch64_returns_value_in_sve_regs_p): Use pure_scalable_type_info
+       to analyze whether the type is returned in SVE registers.
+       (aarch64_takes_arguments_in_sve_regs_p): Likwise whether the type
+       is passed in SVE registers.
+       (aarch64_pass_by_reference_1): New function, extracted from...
+       (aarch64_pass_by_reference): ...here.  Use pure_scalable_type_info
+       to analyze whether the type is a pure scalable type and, if so,
+       whether it should be passed by reference.
+       (aarch64_return_in_msb): Return false for pure scalable types.
+       (aarch64_function_value_1): Fold back into...
+       (aarch64_function_value): ...this function.  Use
+       pure_scalable_type_info to analyze whether the type is a pure
+       scalable type and, if so, which registers it should use.  Handle
+       types that include pure scalable types but are not themselves
+       pure scalable types.
+       (aarch64_return_in_memory_1): New function, split out from...
+       (aarch64_return_in_memory): ...here.  Use pure_scalable_type_info
+       to analyze whether the type is a pure scalable type and, if so,
+       whether it should be returned by reference.
+       (aarch64_layout_arg): Remove orig_mode argument.  Use
+       pure_scalable_type_info to analyze whether the type is a pure
+       scalable type and, if so, which registers it should use.  Handle
+       types that include pure scalable types but are not themselves
+       pure scalable types.
+       (aarch64_function_arg): Update call accordingly.
+       (aarch64_function_arg_advance): Likewise.
+       (aarch64_pad_reg_upward): On big-endian targets, return false for
+       pure scalable types that are smaller than 16 bytes.
+       (aarch64_member_type_forces_blk): New function.
+       (aapcs_vfp_sub_candidate): Exit early for built-in SVE types.
+       (aarch64_short_vector_p): Return false for VECTOR_TYPEs that
+       correspond to built-in SVE types.  Do not rely on a vector mode
+       if the type includes an pure scalable type.  When returning true,
+       assert that the mode is not an SVE mode.
+       (aarch64_vfp_is_call_or_return_candidate): Do not check for SVE
+       built-in types here.  When returning true, assert that the type
+       does not have an SVE mode.
+       (aarch64_can_change_mode_class): Don't allow anything to change
+       between a predicate mode and a non-predicate mode.  Also don't
+       allow changes between SVE vector modes and other modes that
+       might be bigger than 128 bits.
+       (aarch64_invalid_binary_op): Reject binary operations that mix
+       SVE and GNU vector types.
+       (TARGET_MEMBER_TYPE_FORCES_BLK): Define.
+
+2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_attribute_table): Add
+       "SVE sizeless type".
+       * config/aarch64/aarch64-sve-builtins.cc (make_type_sizeless)
+       (sizeless_type_p): New functions.
+       (register_builtin_types): Apply make_type_sizeless to the type.
+       (register_tuple_type): Likewise.
+       (verify_type_context): Use sizeless_type_p instead of builin_type_p.
+
+2020-04-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/arm/arm_cde.h: Remove `extern "C"` when compiling for
+       C++.
+
+2020-04-09  Martin Jambor  <mjambor@suse.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94482
+       * tree-sra.c (create_access_replacement): Dump new replacement with
+       TDF_UID.
+       (sra_modify_expr): Fix handling of cases when the original EXPR writes
+       to only part of the replacement.
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Properly verify
+       the first operand of combinations into REAL/IMAGPART_EXPR and
+       BIT_FIELD_REF.
+
+2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi (check-function-bodies): Treat the third
+       parameter as a list of option regexps and require each regexp
+       to match.
+
+2020-04-09  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/94530
+       * config/aarch64/falkor-tag-collision-avoidance.c
+       (valid_src_p): Fix missing rtx type check.
+
+2020-04-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93674
+       * tree-ssa-loop-ivopts.c (langhooks.h): New include.
+       (add_iv_candidate_for_use): For iv_use of non integer or pointer type,
+       or non-mode precision type, add candidate in unsigned type with the
+       same precision.
+
+2020-04-08  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/rs6000/aix61.h (LIB_SPEC): Add -lc128 with -mlong-double-128.
+       * config/rs6000/aix71.h (LIB_SPEC): Likewise.
+       * config/rs6000/aix72.h (LIB_SPEC): Likewise.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94526
+       * cselib.c (autoinc_split): Handle e->val_rtx being SP_DERIVED_VALUE_P
+       with zero offset.
+       * reload1.c (eliminate_regs_1): Avoid creating
+       (plus (reg) (const_int 0)) in DEBUG_INSNs.
+
+       PR tree-optimization/94524
+       * tree-vect-generic.c (expand_vector_divmod): If any elt of op1 is
+       negative for signed TRUNC_MOD_EXPR, multiply with absolute value of
+       op1 rather than op1 itself at the end.  Punt for signed modulo by
+       most negative constant.
+       * tree-vect-patterns.c (vect_recog_divmod_pattern): Punt for signed
+       modulo by most negative constant.
+
+2020-04-08  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/93946
+       * cse.c (cse_insn): Record the tabled expression in
+       src_related.  Verify a redundant store removal is valid.
+
+2020-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94417
+       * config/i386/i386-features.c (rest_of_insert_endbranch): Insert
+       ENDBR at function entry if function will be called indirectly.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94438
+       * config/i386/i386.c (ix86_get_mask_mode): Only use int mask for elem_size
+       1, 2, 4 and 8.
+
+2020-04-08  Martin Liska  <mliska@suse.cz>
+
+       PR c++/94314
+       * gimple.c (gimple_call_operator_delete_p): Rename to...
+       (gimple_call_replaceable_operator_delete_p): ... this.
+       Use DECL_IS_REPLACEABLE_OPERATOR_DELETE_P.
+       * gimple.h (gimple_call_operator_delete_p): Rename to ...
+       (gimple_call_replaceable_operator_delete_p): ... this.
+       * tree-core.h (tree_function_decl): Add replaceable_operator
+       flag.
+       * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1):
+       Use DECL_IS_REPLACEABLE_OPERATOR_DELETE_P.
+       (propagate_necessity): Use gimple_call_replaceable_operator_delete_p.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-streamer-in.c (unpack_ts_function_decl_value_fields):
+       Pack DECL_IS_REPLACEABLE_OPERATOR.
+       * tree-streamer-out.c (pack_ts_function_decl_value_fields):
+       Unpack the field here.
+       * tree.h (DECL_IS_REPLACEABLE_OPERATOR): New.
+       (DECL_IS_REPLACEABLE_OPERATOR_NEW_P): New.
+       (DECL_IS_REPLACEABLE_OPERATOR_DELETE_P): New.
+       * cgraph.c (cgraph_node::dump): Dump if an operator is replaceable.
+       * ipa-icf.c (sem_item::compare_referenced_symbol_properties): Compare
+       replaceable operator flags.
+
+2020-04-08  Dennis Zhang  <dennis.zhang@arm.com>
+           Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/arm/arm-builtins.c (CX_IMM_QUALIFIERS): New macro.
+       (CX_UNARY_QUALIFIERS, CX_BINARY_QUALIFIERS): Likewise.
+       (CX_TERNARY_QUALIFIERS): Likewise.
+       (ARM_BUILTIN_CDE_PATTERN_START): Likewise.
+       (ARM_BUILTIN_CDE_PATTERN_END): Likewise.
+       (arm_init_acle_builtins): Initialize CDE builtins.
+       (arm_expand_acle_builtin): Check CDE constant operands.
+       * config/arm/arm.h (ARM_CDE_CONST_COPROC): New macro to set the range
+       of CDE constant operand.
+       * config/arm/arm.c (arm_hard_regno_mode_ok): Support DImode for
+       TARGET_VFP_BASE.
+       (ARM_VCDE_CONST_1, ARM_VCDE_CONST_2, ARM_VCDE_CONST_3): Likewise.
+       * config/arm/arm_cde.h (__arm_vcx1_u32): New macro of ACLE interface.
+       (__arm_vcx1a_u32, __arm_vcx2_u32, __arm_vcx2a_u32): Likewise.
+       (__arm_vcx3_u32, __arm_vcx3a_u32, __arm_vcx1d_u64): Likewise.
+       (__arm_vcx1da_u64, __arm_vcx2d_u64, __arm_vcx2da_u64): Likewise.
+       (__arm_vcx3d_u64, __arm_vcx3da_u64): Likewise.
+       * config/arm/arm_cde_builtins.def: New file.
+       * config/arm/iterators.md (V_reg): New attribute of SI.
+       * config/arm/predicates.md (const_int_coproc_operand): New.
+       (const_int_vcde1_operand, const_int_vcde2_operand): New.
+       (const_int_vcde3_operand): New.
+       * config/arm/unspecs.md (UNSPEC_VCDE, UNSPEC_VCDEA): New.
+       * config/arm/vfp.md (arm_vcx1<mode>): New entry.
+       (arm_vcx1a<mode>, arm_vcx2<mode>, arm_vcx2a<mode>): Likewise.
+       (arm_vcx3<mode>, arm_vcx3a<mode>): Likewise.
+
+2020-04-08  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config.gcc: Add arm_cde.h.
+       * config/arm/arm-c.c (arm_cpu_builtins): Define or undefine
+       __ARM_FEATURE_CDE and __ARM_FEATURE_CDE_COPROC.
+       * config/arm/arm-cpus.in (cdecp0, cdecp1, ..., cdecp7): New options.
+       * config/arm/arm.c (arm_option_reconfigure_globals): Configure
+       arm_arch_cde and arm_arch_cde_coproc to store the feature bits.
+       * config/arm/arm.h (TARGET_CDE): New macro.
+       * config/arm/arm_cde.h: New file.
+       * doc/invoke.texi: Document CDE options +cdecp[0-7].
+       * doc/sourcebuild.texi (arm_v8m_main_cde_ok): Document new target
+       supports option.
+       (arm_v8m_main_cde_fp, arm_v8_1m_main_cde_mve): Likewise.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94516
+       * postreload.c: Include rtl-iter.h.
+       (reload_cse_move2add): Handle SP autoinc here by FOR_EACH_SUBRTX_VAR
+       looking for all MEMs with RTX_AUTOINC operand.
+       (move2add_note_store): Remove {PRE,POST}_{INC,DEC} handling.
+
+2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-grid.c (grid_eliminate_combined_simd_part): Use
+       OMP_CLAUSE_CODE to access the omp clause code.
+
+2020-04-07  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/92264
+       * config/h8300/h8300.md (mov;add peephole2): Avoid applying when
+       the destination is the stack pointer.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94291
+       PR rtl-optimization/84169
+       * combine.c (try_combine): For split_i2i3, don't assume SET_DEST
+       must be a REG or SUBREG of REG; if it is not one of these, don't
+       update LOG_LINKs.
+
+2020-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94479
+       * gimplify.c (gimplify_addr_expr): Also consider generated
+       MEM_REFs.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Add C++ polymorphism and fix preserve MACROs.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Cast some pointers to expected types.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Replace all uses of vuninitializedq_* with the
+       same with '__arm_' prefix.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/mve.md (mve_vec_extract*): Allow memory operands in set.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (arm_mve_immediate_check): Removed.
+       * config/arm/mve.md (MVE_pred2, MVE_constraint2): Added FP types.
+       (mve_vcvtq_n_to_f_*, mve_vcvtq_n_from_f_*, mve_vqshrnbq_n_*,
+        mve_vqshrntq_n_*, mve_vqshrunbq_n_s*, mve_vqshruntq_n_s*,
+        mve_vcvtq_m_n_from_f_*, mve_vcvtq_m_n_to_f_*, mve_vqshrnbq_m_n_*,
+        mve_vqrshruntq_m_n_s*, mve_vqshrunbq_m_n_s*,
+        mve_vqshruntq_m_n_s*): Fixed immediate constraints.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.d (ashldi3): Don't use lsll for constant 32-bit shifts.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Fix v[id]wdup intrinsics.
+       * config/arm/mve/md: Fix v[id]wdup patterns.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (output_move_neon): Deal with label + offset cases.
+       * config/arm/mve.md (*mve_mov<mode>): Handle const vectors.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Remove use of typeof for addr pointer parameters
+       and remove const_ptr enums.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h (vsubq_n): Merge with...
+       (vsubq): ... this.
+       (vmulq_n): Merge with...
+       (vmulq): ... this.
+       (__ARM_mve_typeid): Simplify scalar and constant detection.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94509
+       * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix the check
+       for inter-lane permutation for 64-byte modes.
+
+       PR target/94488
+       * config/aarch64/aarch64-simd.md (ashl<mode>3, lshr<mode>3,
+       ashr<mode>3): Force operands[2] into reg whenever it is not CONST_INT.
+       Assume it is a REG after that instead of testing it and doing FAIL
+       otherwise.  Formatting fix.
+
+2020-04-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rs6000/t-rtems: Delete mcpu=8540 multilib.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94500
+       * config/i386/i386-expand.c (emit_reduc_half): For V{64QI,32HI}mode
+       handle i < 64 using avx512bw_lshrv4ti3.  Formatting fixes.
+
+2020-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * cselib.c (cselib_subst_to_values): For SP_DERIVED_VALUE_P
+       + const0_rtx return the SP_DERIVED_VALUE_P.
+
+2020-04-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/92989
+       * lra-lives.c (process_bb_lives): Do not treat eh_return data
+       registers as being live at the beginning of the EH receiver.
+
+2020-04-05 Zachary Spytz  <zspytz@gmail.com>
+
+       * extend.texi: Add free to list of ISO C90 functions that
+       are recognized by the compiler.
+
+2020-04-05 Nagaraju Mekala <nmekala@xilix.com>
+
+       * config/microblaze/microblaze.c (microblaze_must_save_register): Check
+       for fast_interrupt.
+       * config/microblaze/microblaze.md (trap): Update output pattern.
+
+2020-04-04  Hannes Domani  <ssbssa@yahoo.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94459
+       * dwarf2out.c (gen_subprogram_die): Look through references, pointers,
+       arrays, pointer-to-members, function types and qualifiers when
+       checking if in-class DIE had an 'auto' or 'decltype(auto)' return type
+       to emit type again on definition.
+
+2020-04-04  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/93940
+       * ipa-fnsummary.c (vrp_will_run_p): New function.
+       (fre_will_run_p): New function.
+       (evaluate_properties_for_edge): Use it.
+       * ipa-inline.c (can_inline_edge_by_limits_p): Do not inline
+       !optimize_debug to optimize_debug.
+
+2020-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94468
+       * cselib.c (references_value_p): Formatting fix.
+       (cselib_useless_value_p): New function.
+       (discard_useless_locs, discard_useless_values,
+       cselib_invalidate_regno_val, cselib_invalidate_mem,
+       cselib_record_set): Use it instead of
+       v->locs == 0 && !PRESERVED_VALUE_P (v->val_rtx).
+
+       PR debug/94441
+       * tree-iterator.h (expr_single): Declare.
+       * tree-iterator.c (expr_single): New function.
+       * tree.h (protected_set_expr_location_if_unset): Declare.
+       * tree.c (protected_set_expr_location): Use expr_single.
+       (protected_set_expr_location_if_unset): New function.
+
+2020-04-03  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/92264
+       * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Handle
+       reloading of auto-increment addressing modes.
+
+2020-04-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94467
+       * config/i386/sse.md (ssse3_pshufbv8qi3): Mark scratch operand
+       as earlyclobber.
+
+2020-04-03  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/92264
+       * config/m32r/m32r.c (m32r_output_block_move): Properly account for
+       post-increment addressing of source operands as well as residuals
+       when computing any adjustments to the input pointer.
+
+2020-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94460
+       * config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3,
+       avx2_ph<plusminus_mnemonic>dv8si3): Fix up RTL pattern to do
+       second half of first lane from first lane of second operand and
+       first half of second lane from second lane of first operand.
+
+2020-04-03  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm_mve.h: Condition the header file on __ARM_FEATURE_MVE.
+
+2020-04-03  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/94396
+       * common/config/aarch64/aarch64-common.c
+       (aarch64_get_extension_string_for_isa_flags): Handle default flags.
+
+2020-04-03  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94465
+       * tree.c (array_ref_low_bound): Deal with released SSA names
+       in index position.
+
+2020-04-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * config/gcn/gcn.c (print_operand): Handle unordered comparison
+       operators.
+       * config/gcn/predicates.md (gcn_fp_compare_operator): Add unordered
+       comparison operators.
+
+2020-04-03  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/94443
+       * tree-vect-loop.c (vectorizable_live_operation): Use
+       gsi_insert_seq_before to replace gsi_insert_before.
+
+2020-04-03  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/94445
+       * ipa-icf-gimple.c (func_checker::compare_gimple_call):
+         Compare type attributes for gimple_call_fntypes.
+
+2020-04-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * alias.c (get_alias_set): Fix comment typos.
+
+2020-04-02  Fritz Reese  <foreese@gcc.gnu.org>
+
+       PR fortran/85982
+       * fortran/decl.c (match_attr_spec): Lump COMP_STRUCTURE/COMP_MAP into
+       attribute checking used by TYPE.
+
+2020-04-02  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/92676
+       * ipa-sra.c (struct caller_issues): New fields candidate and
+       call_from_outside_comdat.
+       (check_for_caller_issues): Check for calls from outsied of
+       candidate's same_comdat_group.
+       (check_all_callers_for_issues): Set up issues.candidate, check result
+       of the new check.
+       (mark_callers_calls_comdat_local): New function.
+       (process_isra_node_results): Set calls_comdat_local of callers if
+       appropriate.
+
+2020-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR c/94392
+       * common.opt (ffinite-loops): Initialize to zero.
+       * opts.c (default_options_table): Remove OPT_ffinite_loops
+       entry.
+       * cfgloop.h (loop::finite_p): New member.
+       * cfgloopmanip.c (copy_loop_info): Copy finite_p.
+       * ipa-icf-gimple.c (func_checker::compare_loops): Compare
+       finite_p.
+       * lto-streamer-in.c (input_cfg): Stream finite_p.
+       * lto-streamer-out.c (output_cfg): Likewise.
+       * tree-cfg.c (replace_loop_annotate): Initialize finite_p
+       from flag_finite_loops at CFG build time.
+       * tree-ssa-loop-niter.c (finite_loop_p): Check the loops
+       finite_p flag instead of flag_finite_loops.
+       * doc/invoke.texi (ffinite-loops): Adjust documentation of
+       default setting.
+
+2020-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR debug/94450
+       * dwarf2out.c (dwarf2out_early_finish): Remove code emitting
+       DW_TAG_imported_unit.
+
+2020-04-02  Maciej W. Rozycki  <macro@wdc.com>
+
+       * doc/install.texi (Specific) <riscv32-*-elf, riscv32-*-linux>
+       <riscv64-*-elf, riscv64-*-linux>: Update binutils requirement to
+       2.30.
+
+2020-04-02  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/94401
+       * tree-vect-loop.c (vectorizable_load): Handle VMAT_CONTIGUOUS_REVERSE
+       access type when loading halves of vector to avoid peeling for gaps.
+
+2020-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add a space in
+       between a string literal and MIPS_SYSVERSION_SPEC macro.
+
+2020-04-02  Martin Jambor  <mjambor@suse.cz>
+
+       * doc/invoke.texi (Optimize Options): Document sra-max-propagations.
+
+2020-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/92264
+       * params.opt (-param=max-find-base-term-values=): Decrease default
+       from 2000 to 200.
+
+       PR rtl-optimization/92264
+       * rtl.h (struct rtx_def): Mention that call bit is used as
+       SP_DERIVED_VALUE_P in cselib.c.
+       * cselib.c (SP_DERIVED_VALUE_P): Define.
+       (PRESERVED_VALUE_P, SP_BASED_VALUE_P): Move definitions earlier.
+       (cselib_hasher::equal): Handle equality between SP_DERIVED_VALUE_P
+       val_rtx and sp based expression where offsets cancel each other.
+       (preserve_constants_and_equivs): Formatting fix.
+       (cselib_reset_table): Add reverse op loc to SP_DERIVED_VALUE_P
+       locs list for cfa_base_preserved_val if needed.  Formatting fix.
+       (autoinc_split): If the to be returned value is a REG, MEM or
+       VALUE which has SP_DERIVED_VALUE_P + CONST_INT as one of its
+       locs, return the SP_DERIVED_VALUE_P VALUE and adjust *off.
+       (rtx_equal_for_cselib_1): Call autoinc_split even if both
+       expressions are PLUS in Pmode with CONST_INT second operands.
+       Handle SP_DERIVED_VALUE_P cases.
+       (cselib_hash_plus_const_int): New function.
+       (cselib_hash_rtx): Use it for PLUS in Pmode with CONST_INT
+       second operand, as well as for PRE_DEC etc. that ought to be
+       hashed the same way.
+       (cselib_subst_to_values): Substitute PLUS with Pmode and
+       CONST_INT operand if the first operand is a VALUE which has
+       SP_DERIVED_VALUE_P + CONST_INT as one of its locs for the
+       SP_DERIVED_VALUE_P + adjusted offset.
+       (cselib_lookup_1): When creating a new VALUE for stack_pointer_rtx,
+       set SP_DERIVED_VALUE_P on it.  Set PRESERVED_VALUE_P when adding
+       SP_DERIVED_VALUE_P PRESERVED_VALUE_P subseted VALUE location.
+       * var-tracking.c (vt_initialize): Call cselib_add_permanent_equiv
+       on the sp value before calling cselib_add_permanent_equiv on the
+       cfa_base value.
+       * dse.c (check_for_inc_dec_1, check_for_inc_dec): Punt on RTX_AUTOINC
+       in the insn without REG_INC note.
+       (replace_read): Punt on RTX_AUTOINC in the *loc being replaced.
+       Punt on invalid insns added by copy_to_mode_reg.  Formatting fixes.
+
+       PR target/94435
+       * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): For
+       y_mode E_[QH]Imode and y being a CONST_INT, change y_mode to SImode.
+
+2020-04-02  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94317
+       * config/arm/arm-builtins.c (LDRGBWBXU_QUALIFIERS): Define.
+       (LDRGBWBXU_Z_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (__arm_vldrdq_gather_base_wb_s64): Modify
+       intrinsic defintion by adding a new builtin call to writeback into base
+       address.
+       (__arm_vldrdq_gather_base_wb_u64): Likewise.
+       (__arm_vldrdq_gather_base_wb_z_s64): Likewise.
+       (__arm_vldrdq_gather_base_wb_z_u64): Likewise.
+       (__arm_vldrwq_gather_base_wb_s32): Likewise.
+       (__arm_vldrwq_gather_base_wb_u32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_s32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_u32): Likewise.
+       (__arm_vldrwq_gather_base_wb_f32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_f32): Likewise.
+       * config/arm/arm_mve_builtins.def (vldrwq_gather_base_wb_z_u): Modify
+       builtin's qualifier.
+       (vldrdq_gather_base_wb_z_u): Likewise.
+       (vldrwq_gather_base_wb_u): Likewise.
+       (vldrdq_gather_base_wb_u): Likewise.
+       (vldrwq_gather_base_wb_z_s): Likewise.
+       (vldrwq_gather_base_wb_z_f): Likewise.
+       (vldrdq_gather_base_wb_z_s): Likewise.
+       (vldrwq_gather_base_wb_s): Likewise.
+       (vldrwq_gather_base_wb_f): Likewise.
+       (vldrdq_gather_base_wb_s): Likewise.
+       (vldrwq_gather_base_nowb_z_u): Define builtin.
+       (vldrdq_gather_base_nowb_z_u): Likewise.
+       (vldrwq_gather_base_nowb_u): Likewise.
+       (vldrdq_gather_base_nowb_u): Likewise.
+       (vldrwq_gather_base_nowb_z_s): Likewise.
+       (vldrwq_gather_base_nowb_z_f): Likewise.
+       (vldrdq_gather_base_nowb_z_s): Likewise.
+       (vldrwq_gather_base_nowb_s): Likewise.
+       (vldrwq_gather_base_nowb_f): Likewise.
+       (vldrdq_gather_base_nowb_s): Likewise.
+       * config/arm/mve.md (mve_vldrwq_gather_base_nowb_<supf>v4si): Define RTL
+       pattern.
+       (mve_vldrwq_gather_base_wb_<supf>v4si): Modify RTL pattern.
+       (mve_vldrwq_gather_base_nowb_z_<supf>v4si): Define RTL pattern.
+       (mve_vldrwq_gather_base_wb_z_<supf>v4si): Modify RTL pattern.
+       (mve_vldrwq_gather_base_wb_fv4sf): Modify RTL pattern.
+       (mve_vldrwq_gather_base_nowb_fv4sf): Define RTL pattern.
+       (mve_vldrwq_gather_base_wb_z_fv4sf): Modify RTL pattern.
+       (mve_vldrwq_gather_base_nowb_z_fv4sf): Define RTL pattern.
+       (mve_vldrdq_gather_base_nowb_<supf>v4di): Define RTL pattern.
+       (mve_vldrdq_gather_base_wb_<supf>v4di):  Modify RTL pattern.
+       (mve_vldrdq_gather_base_nowb_z_<supf>v4di): Define RTL pattern.
+       (mve_vldrdq_gather_base_wb_z_<supf>v4di):  Modify RTL pattern.
+
+2020-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/vector.md ("<ti*>add<mode>3", "mul<mode>3")
+       ("and<mode>3", "notand<mode>3", "ior<mode>3", "ior_not<mode>3")
+       ("xor<mode>3", "notxor<mode>3", "smin<mode>3", "smax<mode>3")
+       ("umin<mode>3", "umax<mode>3", "vec_widen_smult_even_<mode>")
+       ("vec_widen_umult_even_<mode>", "vec_widen_smult_odd_<mode>")
+       ("vec_widen_umult_odd_<mode>", "add<mode>3", "sub<mode>3")
+       ("mul<mode>3", "fma<mode>4", "fms<mode>4", "neg_fma<mode>4")
+       ("neg_fms<mode>4", "*smax<mode>3_vxe", "*smaxv2df3_vx")
+       ("*smin<mode>3_vxe", "*sminv2df3_vx"): Remove % constraint
+       modifier.
+       ("vec_widen_umult_lo_<mode>", "vec_widen_umult_hi_<mode>")
+       ("vec_widen_smult_lo_<mode>", "vec_widen_smult_hi_<mode>"):
+       Remove constraints from expander.
+       * config/s390/vx-builtins.md ("vacc<bhfgq>_<mode>", "vacq")
+       ("vacccq", "vec_avg<mode>", "vec_avgu<mode>", "vec_vmal<mode>")
+       ("vec_vmah<mode>", "vec_vmalh<mode>", "vec_vmae<mode>")
+       ("vec_vmale<mode>", "vec_vmao<mode>", "vec_vmalo<mode>")
+       ("vec_smulh<mode>", "vec_umulh<mode>", "vec_nor<mode>3")
+       ("vfmin<mode>", "vfmax<mode>"): Remove % constraint modifier.
+
+2020-04-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/94123
+       * lower-subreg.c (pass_lower_subreg3::gate): Remove test for
+       flag_split_wide_types_early.
+
+2020-04-01  Joerg Sonnenberger  <joerg@bec.de>
+
+       * doc/extend.texi (Common Function Attributes): Fix typo.
+
+2020-04-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/94420
+       * config/rs6000/rs6000.md (*tocref<mode> for P): Add insn condition
+       on operands[1].
+
+2020-04-01  Zackery Spytz  <zspytz@gmail.com>
+
+       * doc/extend.texi: Fix a typo in the documentation of the
+       copy function attribute.
+
+2020-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94423
+       * tree-object-size.c (pass_object_sizes::execute): Don't call
+       replace_uses_by for SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs, instead
+       call replace_call_with_value.
+
+2020-04-01  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/94043
+       * tree-vect-loop.c (vectorizable_live_operation): Generate loop-closed
+       phi for vec_lhs and use it for lane extraction.
+
+2020-03-31  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94398
+       * tree-vect-stmts.c (vectorizable_store): Instead of calling
+       vect_supportable_dr_alignment, set alignment_support_scheme to
+       dr_unaligned_supported for gather-scatter accesses.
+       (vectorizable_load): Likewise.
+
+2020-03-31  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF):
+       New mode iterators.
+       (vnsi, VnSI, vndi, VnDI): New mode attributes.
+       (mov<mode>): Use <VnDI> in place of V64DI.
+       (mov<mode>_exec): Likewise.
+       (mov<mode>_sgprbase): Likewise.
+       (reload_out<mode>): Likewise.
+       (*vec_set<mode>_1): Use GET_MODE_NUNITS instead of constant 64.
+       (gather_load<mode>v64si): Rename to ...
+       (gather_load<mode><vnsi>): ... this, and use <VnSI> in place of V64SI,
+       and <VnDI> in place of V64DI.
+       (gather<mode>_insn_1offset<exec>): Use <VnDI> in place of V64DI.
+       (gather<mode>_insn_1offset_ds<exec>): Use <VnSI> in place of V64SI.
+       (gather<mode>_insn_2offsets<exec>): Use <VnSI> and <VnDI>.
+       (scatter_store<mode>v64si): Rename to ...
+       (scatter_store<mode><vnsi>): ... this, and use <VnSI> and <VnDI>.
+       (scatter<mode>_expr<exec_scatter>): Use <VnSI> and <VnDI>.
+       (scatter<mode>_insn_1offset<exec_scatter>): Likewise.
+       (scatter<mode>_insn_1offset_ds<exec_scatter>): Likewise.
+       (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
+       (ds_bpermute<mode>): Use <VnSI>.
+       (addv64si3_vcc<exec_vcc>): Rename to ...
+       (add<mode>3_vcc<exec_vcc>): ... this, and use V_SI.
+       (addv64si3_vcc_dup<exec_vcc>): Rename to ...
+       (add<mode>3_vcc_dup<exec_vcc>): ... this, and use V_SI.
+       (addcv64si3<exec_vcc>): Rename to ...
+       (addc<mode>3<exec_vcc>): ... this, and use V_SI.
+       (subv64si3_vcc<exec_vcc>): Rename to ...
+       (sub<mode>3_vcc<exec_vcc>): ... this, and use V_SI.
+       (subcv64si3<exec_vcc>): Rename to ...
+       (subc<mode>3<exec_vcc>): ... this, and use V_SI.
+       (addv64di3): Rename to ...
+       (add<mode>3): ... this, and use V_DI.
+       (addv64di3_exec): Rename to ...
+       (add<mode>3_exec): ... this, and use V_DI.
+       (subv64di3): Rename to ...
+       (sub<mode>3): ... this, and use V_DI.
+       (subv64di3_exec): Rename to ...
+       (sub<mode>3_exec): ... this, and use V_DI.
+       (addv64di3_zext): Rename to ...
+       (add<mode>3_zext): ... this, and use V_DI and <VnSI>.
+       (addv64di3_zext_exec): Rename to ...
+       (add<mode>3_zext_exec): ... this, and use V_DI and <VnSI>.
+       (addv64di3_zext_dup): Rename to ...
+       (add<mode>3_zext_dup): ... this, and use V_DI and <VnSI>.
+       (addv64di3_zext_dup_exec): Rename to ...
+       (add<mode>3_zext_dup_exec): ... this, and use V_DI and <VnSI>.
+       (addv64di3_zext_dup2): Rename to ...
+       (add<mode>3_zext_dup2): ... this, and use V_DI and <VnSI>.
+       (addv64di3_zext_dup2_exec): Rename to ...
+       (add<mode>3_zext_dup2_exec): ... this, and use V_DI and <VnSI>.
+       (addv64di3_sext_dup2): Rename to ...
+       (add<mode>3_sext_dup2): ... this, and use V_DI and <VnSI>.
+       (addv64di3_sext_dup2_exec): Rename to ...
+       (add<mode>3_sext_dup2_exec): ... this, and use V_DI and <VnSI>.
+       (<su>mulv64si3_highpart<exec>): Rename to ...
+       (<su>mul<mode>3_highpart<exec>): ... this and use V_SI and <VnDI>.
+       (mulv64di3): Rename to ...
+       (mul<mode>3): ... this, and use V_DI and <VnSI>.
+       (mulv64di3_exec): Rename to ...
+       (mul<mode>3_exec): ... this, and use V_DI and <VnSI>.
+       (mulv64di3_zext): Rename to ...
+       (mul<mode>3_zext): ... this, and use V_DI and <VnSI>.
+       (mulv64di3_zext_exec): Rename to ...
+       (mul<mode>3_zext_exec): ... this, and use V_DI and <VnSI>.
+       (mulv64di3_zext_dup2): Rename to ...
+       (mul<mode>3_zext_dup2): ... this, and use V_DI and <VnSI>.
+       (mulv64di3_zext_dup2_exec): Rename to ...
+       (mul<mode>3_zext_dup2_exec): ... this, and use V_DI and <VnSI>.
+       (<expander>v64di3): Rename to ...
+       (<expander><mode>3): ... this, and use V_DI and <VnSI>.
+       (<expander>v64di3_exec): Rename to ...
+       (<expander><mode>3_exec): ... this, and use V_DI and <VnSI>.
+       (<expander>v64si3<exec>): Rename to ...
+       (<expander><mode>3<exec>): ... this, and use V_SI and <VnSI>.
+       (v<expander>v64si3<exec>): Rename to ...
+       (v<expander><mode>3<exec>): ... this, and use V_SI and <VnSI>.
+       (<expander>v64si3<exec>): Rename to ...
+       (<expander><vnsi>3<exec>): ... this, and use V_SI.
+       (subv64df3<exec>): Rename to ...
+       (sub<mode>3<exec>): ... this, and use V_DF.
+       (truncv64di<mode>2): Rename to ...
+       (trunc<vndi><mode>2): ... this, and use <VnDI>.
+       (truncv64di<mode>2_exec): Rename to ...
+       (trunc<vndi><mode>2_exec): ... this, and use <VnDI>.
+       (<convop><mode>v64di2): Rename to ...
+       (<convop><mode><vndi>2): ... this, and use <VnDI>.
+       (<convop><mode>v64di2_exec): Rename to ...
+       (<convop><mode><vndi>2_exec): ... this, and use <VnDI>.
+       (vec_cmp<u>v64qidi): Rename to ...
+       (vec_cmp<u><mode>di): ... this, and use <VnSI>.
+       (vec_cmp<u>v64qidi_exec): Rename to ...
+       (vec_cmp<u><mode>di_exec): ... this, and use <VnSI>.
+       (vcond_mask_<mode>di): Use <VnDI>.
+       (maskload<mode>di): Likewise.
+       (maskstore<mode>di): Likewise.
+       (mask_gather_load<mode>v64si): Rename to ...
+       (mask_gather_load<mode><vnsi>): ... this, and use <VnSI> and <VnDI>.
+       (mask_scatter_store<mode>v64si): Rename to ...
+       (mask_scatter_store<mode><vnsi>): ... this, and use <VnSI> and <VnDI>.
+       (*<reduc_op>_dpp_shr_v64di): Rename to ...
+       (*<reduc_op>_dpp_shr_<mode>): ... this, and use V_DI and <VnSI>.
+       (*plus_carry_in_dpp_shr_v64si): Rename to ...
+       (*plus_carry_in_dpp_shr_<mode>): ... this, and use V_SI.
+       (*plus_carry_dpp_shr_v64di): Rename to ...
+       (*plus_carry_dpp_shr_<mode>): ... this, and use V_DI and <VnSI>.
+       (vec_seriesv64si): Rename to ...
+       (vec_series<mode>): ... this, and use V_SI.
+       (vec_seriesv64di): Rename to ...
+       (vec_series<mode>): ... this, and use V_DI.
+
+2020-03-31  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_print_operand): Use
+       HOST_WIDE_INT_PRINT_DEC macro.
+
+2020-03-31  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.h (ASM_FORMAT_PRIVATE_NAME): Fix it.
+
+2020-03-31  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vbicq): Define MVE intrinsic polymorphic
+       variant.
+       (__arm_vbicq): Likewise.
+
+2020-03-31  Vineet Gupta <vgupta@synopsys.com>
+
+       * config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700.
+
+2020-03-31  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vaddlvq): Move the polymorphic variant to the
+       common section of both MVE Integer and MVE Floating Point.
+       (vaddvq): Likewise.
+       (vaddlvq_p): Likewise.
+       (vaddvaq): Likewise.
+       (vaddvq_p): Likewise.
+       (vcmpcsq): Likewise.
+       (vmlsdavxq): Likewise.
+       (vmlsdavq): Likewise.
+       (vmladavxq): Likewise.
+       (vmladavq): Likewise.
+       (vminvq): Likewise.
+       (vminavq): Likewise.
+       (vmaxvq): Likewise.
+       (vmaxavq): Likewise.
+       (vmlaldavq): Likewise.
+       (vcmphiq): Likewise.
+       (vaddlvaq): Likewise.
+       (vrmlaldavhq): Likewise.
+       (vrmlaldavhxq): Likewise.
+       (vrmlsldavhq): Likewise.
+       (vrmlsldavhxq): Likewise.
+       (vmlsldavxq): Likewise.
+       (vmlsldavq): Likewise.
+       (vabavq): Likewise.
+       (vrmlaldavhaq): Likewise.
+       (vcmpgeq_m_n): Likewise.
+       (vmlsdavxq_p): Likewise.
+       (vmlsdavq_p): Likewise.
+       (vmlsdavaxq): Likewise.
+       (vmlsdavaq): Likewise.
+       (vaddvaq_p): Likewise.
+       (vcmpcsq_m_n): Likewise.
+       (vcmpcsq_m): Likewise.
+       (vmladavxq_p): Likewise.
+       (vmladavq_p): Likewise.
+       (vmladavaxq): Likewise.
+       (vmladavaq): Likewise.
+       (vminvq_p): Likewise.
+       (vminavq_p): Likewise.
+       (vmaxvq_p): Likewise.
+       (vmaxavq_p): Likewise.
+       (vcmphiq_m): Likewise.
+       (vaddlvaq_p): Likewise.
+       (vmlaldavaq): Likewise.
+       (vmlaldavaxq): Likewise.
+       (vmlaldavq_p): Likewise.
+       (vmlaldavxq_p): Likewise.
+       (vmlsldavaq): Likewise.
+       (vmlsldavaxq): Likewise.
+       (vmlsldavq_p): Likewise.
+       (vmlsldavxq_p): Likewise.
+       (vrmlaldavhaxq): Likewise.
+       (vrmlaldavhq_p): Likewise.
+       (vrmlaldavhxq_p): Likewise.
+       (vrmlsldavhaq): Likewise.
+       (vrmlsldavhaxq): Likewise.
+       (vrmlsldavhq_p): Likewise.
+       (vrmlsldavhxq_p): Likewise.
+       (vabavq_p): Likewise.
+       (vmladavaq_p): Likewise.
+       (vstrbq_scatter_offset): Likewise.
+       (vstrbq_p): Likewise.
+       (vstrbq_scatter_offset_p): Likewise.
+       (vstrdq_scatter_base_p): Likewise.
+       (vstrdq_scatter_base): Likewise.
+       (vstrdq_scatter_offset_p): Likewise.
+       (vstrdq_scatter_offset): Likewise.
+       (vstrdq_scatter_shifted_offset_p): Likewise.
+       (vstrdq_scatter_shifted_offset): Likewise.
+       (vmaxq_x): Likewise.
+       (vminq_x): Likewise.
+       (vmovlbq_x): Likewise.
+       (vmovltq_x): Likewise.
+       (vmulhq_x): Likewise.
+       (vmullbq_int_x): Likewise.
+       (vmullbq_poly_x): Likewise.
+       (vmulltq_int_x): Likewise.
+       (vmulltq_poly_x): Likewise.
+       (vstrbq): Likewise.
+
+2020-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94368
+       * config/aarch64/constraints.md (Uph): New constraint.
+       * config/aarch64/atomics.md (cas_short_expected_imm): New mode attr.
+       (@aarch64_compare_and_swap<mode>): Use it instead of n in operand 2's
+       constraint.
+
+2020-03-31  Marc Glisse  <marc.glisse@inria.fr>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94412
+       * fold-const.c (fold_binary_loc) <case TRUNC_DIV_EXPR>: Use
+       ANY_INTEGRAL_TYPE_P instead of INTEGRAL_TYPE_P.
+
+2020-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94403
+       * gimple-ssa-store-merging.c (verify_symbolic_number_p): Allow also
+       ENUMERAL_TYPE lhs_type.
+
+       PR rtl-optimization/94344
+       * tree-ssa-forwprop.c (simplify_rotate): Handle also same precision
+       conversions, either on both operands of |^+ or just one.  Handle
+       also extra same precision conversion on RSHIFT_EXPR first operand
+       provided RSHIFT_EXPR is performed in unsigned type.
+
+2020-03-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * lra.c (finish_insn_code_data_once): Set the array elements
+       to NULL after freeing them.
+
+2020-03-30  Andreas Schwab  <schwab@suse.de>
+
+       * config/host-linux.c (TRY_EMPTY_VM_SPACE) [__riscv && __LP64__]:
+       Define.
+
+2020-03-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-call.c altivec_init_builtins(): Remove code
+       to skip defining builtins based on builtin_mask.
+
+2020-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94343
+       * config/i386/sse.md (<mask_codefor>one_cmpl<mode>2<mask_name>): If
+       !TARGET_AVX512VL, use 512-bit vpternlog and make sure the input
+       operand is a register.  Don't enable masked variants for V*[QH]Imode.
+
+       PR target/93069
+       * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Use
+       <store_mask_constraint> instead of m in output operand constraint.
+       (vec_extract_hi_<mode><mask_name>): Use <mask_operand2> instead of
+       %{%3%}.
+
+2020-03-30  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_call_aix): Emit cookie to pattern.
+       (rs6000_indirect_call_template_1): Adjust to suit.
+       * config/rs6000/rs6000.md (call_local): Merge call_local32,
+       call_local64, and call_local_aix.
+       (call_value_local): Simlarly.
+       (call_nonlocal_aix, call_value_nonlocal_aix): Adjust rtl to suit,
+       and disable pattern when CALL_LONG.
+       (call_indirect_aix, call_value_indirect_aix): Adjust rtl.
+       (call_indirect_elfv2, call_indirect_pcrel): Likewise.
+       (call_value_indirect_elfv2, call_value_indirect_pcrel): Likewise.
+
+2020-03-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR driver/94381
+       * doc/invoke.texi: Update -falign-functions, -falign-loops and
+       -falign-jumps documentation.
+
+2020-03-29  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/94363
+       * cgraphunit.c (process_function_and_variable_attributes): Remove
+       double 'attribute' words.
+
+2020-03-29  John David Anglin  <dave.anglin@bell.net>
+
+       * config/pa/pa.c (pa_asm_output_aligned_bss): Delete duplicate
+       .align output.
+
+2020-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/93573
+       * c-decl.c (grokdeclarator): After issuing errors, set size_int_const
+       to true after setting size to integer_one_node.
+
+       PR tree-optimization/94329
+       * tree-ssa-reassoc.c (reassociate_bb): When calling reassoc_remove_stmt
+       on the last stmt in a bb, make sure gsi_prev isn't done immediately
+       after gsi_last_bb.
+
+2020-03-27  Alan Modra  <amodra@gmail.com>
+
+       PR target/94145
+       * config/rs6000/rs6000.c (rs6000_longcall_ref): Use unspec_volatile
+       for PLT16_LO and PLT_PCREL.
+       * config/rs6000/rs6000.md (UNSPEC_PLT16_LO, UNSPEC_PLT_PCREL): Remove.
+       (UNSPECV_PLT16_LO, UNSPECV_PLT_PCREL): Define.
+       (pltseq_plt16_lo_, pltseq_plt_pcrel): Use unspec_volatile.
+
+2020-03-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94098
+       * calls.c (init_attr_rdwr_indices): Iterate over all access attributes.
+
+2020-03-27  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md:
+       (VEC_SUBDWORD_MODE): Rename to V_QIHI throughout.
+       (VEC_1REG_MODE): Delete.
+       (VEC_1REG_ALT): Delete.
+       (VEC_ALL1REG_MODE): Rename to V_1REG throughout.
+       (VEC_1REG_INT_MODE): Delete.
+       (VEC_ALL1REG_INT_MODE): Rename to V_INT_1REG throughout.
+       (VEC_ALL1REG_INT_ALT): Rename to V_INT_1REG_ALT throughout.
+       (VEC_2REG_MODE): Rename to V_2REG throughout.
+       (VEC_REG_MODE): Rename to V_noHI throughout.
+       (VEC_ALLREG_MODE): Rename to V_ALL throughout.
+       (VEC_ALLREG_ALT):  Rename to V_ALL_ALT throughout.
+       (VEC_ALLREG_INT_MODE): Rename to V_INT throughout.
+       (VEC_INT_MODE): Delete.
+       (VEC_FP_MODE): Rename to V_FP throughout and move to top.
+       (VEC_FP_1REG_MODE): Rename to V_FP_1REG throughout and move to top.
+       (FP_MODE): Delete and replace with FP throughout.
+       (FP_1REG_MODE): Delete and replace with FP_1REG throughout.
+       (VCMP_MODE): Rename to V_noQI throughout and move to top.
+       (VCMP_MODE_INT): Rename to V_INT_noQI throughout and move to top.
+       * config/gcn/gcn.md (FP): New mode iterator.
+       (FP_1REG): New mode iterator.
+
+2020-03-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdump-analyzer-supergraph): Document that this
+       now emits two .dot files.
+       * graphviz.cc (graphviz_out::begin_tr): Only emit a TR, not a TD.
+       (graphviz_out::end_tr): Only close a TR, not a TD.
+       (graphviz_out::begin_td): New.
+       (graphviz_out::end_td): New.
+       (graphviz_out::begin_trtd): New, replacing the old implementation
+       of graphviz_out::begin_tr.
+       (graphviz_out::end_tdtr): New, replacing the old implementation
+       of graphviz_out::end_tr.
+       * graphviz.h (graphviz_out::begin_td): New decl.
+       (graphviz_out::end_td): New decl.
+       (graphviz_out::begin_trtd): New decl.
+       (graphviz_out::end_tdtr): New decl.
+
+2020-03-27  Richard Biener  <rguenther@suse.de>
+
+       PR debug/94273
+       * dwarf2out.c (should_emit_struct_debug): Return false for
+       DINFO_LEVEL_TERSE.
+
+2020-03-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94352
+       * tree-ssa-propagate.c (ssa_prop_init): Move seeding of the
+       worklist ...
+       (ssa_propagation_engine::ssa_propagate): ... here after
+       initializing curr_order.
+
+2020-03-27  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/90332
+       * tree-vect-stmts.c (vector_vector_composition_type): New function.
+       (get_group_load_store_type): Adjust to call
+       vector_vector_composition_type, extend it to construct with scalar
+       types.
+       (vectorizable_load): Likewise.
+
+2020-03-27  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * ddg.c (create_ddg_dep_from_intra_loop_link): Remove assertions.
+       (create_ddg_dep_no_link): Likewise.
+       (add_cross_iteration_register_deps): Move debug instruction check.
+       Other minor refactoring.
+       (add_intra_loop_mem_dep): Do not check for debug instructions.
+       (add_inter_loop_mem_dep): Likewise.
+       (build_intra_loop_deps): Likewise.
+       (create_ddg): Do not include debug insns into the graph.
+       * ddg.h (struct ddg): Remove num_debug field.
+       * modulo-sched.c (doloop_register_get): Adjust condition.
+       (res_MII): Remove DDG num_debug field usage.
+       (sms_schedule_by_order): Use assertion against debug insns.
+       (ps_has_conflicts): Drop debug insn check.
+
+2020-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94323
+       * tree.c (protected_set_expr_location): Recurse on STATEMENT_LIST
+       that contains exactly one non-DEBUG_BEGIN_STMT statement.
+
+       PR debug/94281
+       * gimple.h (gimple_seq_first_nondebug_stmt): New function.
+       (gimple_seq_last_nondebug_stmt): Don't return NULL if seq contains
+       a single non-debug stmt followed by one or more debug stmts.
+       * gimplify.c (gimplify_body): Use gimple_seq_first_nondebug_stmt
+       instead of gimple_seq_first_stmt, use gimple_seq_first_nondebug_stmt
+       and gimple_seq_last_nondebug_stmt instead of gimple_seq_first and
+       gimple_seq_last to check if outer_stmt gbind could be reused and
+       if yes and it is surrounded by any debug stmts, move them into the
+       gbind body.
+
+       PR rtl-optimization/92264
+       * var-tracking.c (add_stores): Call cselib_set_value_sp_based even
+       for sp based values in !frame_pointer_needed
+       && !ACCUMULATE_OUTGOING_ARGS functions.
+
+2020-03-26  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94269
+       * tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
+       this
+       operation to single basic block.
+
+2020-03-25  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/90275
+       * config/sh/sh.md (mov_neg_si_t): Clobber the T register in the
+       pattern.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94292
+       * config/arm/arm.c (arm_gen_dicompare_reg): Set mode of COMPARE to
+       mode rather than VOIDmode.
+
+2020-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94004
+       * gimple-ssa-warn-alloca.c (pass_walloca::execute): Issue warnings
+       even for alloca calls resulting from system macro expansion.
+       Include inlining context in all warnings.
+
+2020-03-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/94254
+       * config/rs6000/rs6000.c (rs6000_can_change_mode_class): Allow
+       FPRs to change between SDmode and DDmode.
+
+2020-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/94131
+       * gimple-fold.c (get_range_strlen_tree): Fail for variable-length
+       types and decls.
+       * tree-ssa-strlen.c (get_range_strlen_dynamic): Avoid assuming
+       types have constant sizes.
+
+2020-03-25  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94259
+       * configure.ac: Report error only when --with-zstd
+       is used.
+       * configure: Regenerate.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94308
+       * config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper): Set
+       INSN_CODE (insn) to -1 when changing the pattern.
+
+2020-03-25  Martin Liska  <mliska@suse.cz>
+
+       PR target/93274
+       PR ipa/94271
+       * config/i386/i386-features.c (make_resolver_func): Drop
+       public flag for resolver.
+       * config/rs6000/rs6000.c (make_resolver_func): Add comdat
+       group for resolver and drop public flag if possible.
+       * multiple_target.c (create_dispatcher_calls): Drop unique_name
+       and resolution as we want to enable LTO privatization of the default
+       symbol.
+
+2020-03-25  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94259
+       * configure.ac: Respect --without-zstd and report
+       error when we can't find header file with --with-zstd.
+       * configure: Regenerate.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94303
+       * varasm.c (output_constructor_array_range): If local->index
+       RANGE_EXPR doesn't start at the current location in the constructor,
+       skip needed number of bytes using assemble_zeros or assert we don't
+       go backwards.
+
+       PR c++/94223
+       * langhooks.c (lhd_set_decl_assembler_name): Use a static ulong
+       counter instead of DECL_UID.
+
+       PR tree-optimization/94300
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): If pd.offset
+       is positive, make sure that off + size isn't larger than needed_len.
+
+2020-03-25  Richard Biener  <rguenther@suse.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94283
+       * tree-if-conv.c (ifcvt_local_dce): Delete dead statements backwards.
+
+2020-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * doc/sourcebuild.texi (ARM-specific attributes): Add
+       arm_fp_dp_ok.
+       (Features for dg-add-options): Add arm_fp_dp.
+
+2020-03-24  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR lto/94249
+       * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Define __BIG_ENDIAN__.
+
+2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libgomp/81689
+       * omp-offload.c (omp_finish_file): Fix target-link handling if
+       targetm_common.have_named_sections is false.
+
+2020-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94286
+       * config/arm/arm.md (subvdi4, usubvsi4, usubvdi4): Use gen_int_mode
+       instead of GEN_INT.
+
+       PR debug/94285
+       * tree-ssa-loop-manip.c (create_iv): If after, set stmt location to
+       e->goto_locus even if gsi_bb (*incr_pos) contains only debug stmts.
+       If not after and at *incr_pos is a debug stmt, set stmt location to
+       location of next non-debug stmt after it if any.
+
+       PR debug/94283
+       * tree-if-conv.c (ifcvt_local_dce): For gimple debug stmts, just set
+       GF_PLF_2, but don't add them to worklist.  Don't add an assigment to
+       worklist or set GF_PLF_2 just because it is used in a debug stmt in
+       another bb.  Formatting improvements.
+
+       PR debug/94277
+       * cgraphunit.c (check_global_declaration): For DECL_EXTERNAL and
+       non-TREE_PUBLIC non-DECL_ARTIFICIAL FUNCTION_DECLs, set TREE_PUBLIC
+       regardless of whether TREE_NO_WARNING is set on it or whether
+       warn_unused_function is true or not.
+
+2020-03-23  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/90275
+       PR target/94238
+       PR target/94144
+       * simplify-rtx.c (comparison_code_valid_for_mode): New function.
+       (simplify_logical_relational_operation): Use it.
+
+2020-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91993
+       * tree.c (get_narrower): Handle COMPOUND_EXPR by recursing on
+       ultimate rhs and if returned something different, reconstructing
+       the COMPOUND_EXPRs.
+
+2020-03-23  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * opts.c (print_filtered_help): Improve the help text for alias options.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm_mve.h (vshlcq_m_s8): Define macro.
+       (vshlcq_m_u8): Likewise.
+       (vshlcq_m_s16): Likewise.
+       (vshlcq_m_u16): Likewise.
+       (vshlcq_m_s32): Likewise.
+       (vshlcq_m_u32): Likewise.
+       (__arm_vshlcq_m_s8): Define intrinsic.
+       (__arm_vshlcq_m_u8): Likewise.
+       (__arm_vshlcq_m_s16): Likewise.
+       (__arm_vshlcq_m_u16): Likewise.
+       (__arm_vshlcq_m_s32): Likewise.
+       (__arm_vshlcq_m_u32): Likewise.
+       (vshlcq_m): Define polymorphic variant.
+       * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_UNONE_IMM_UNONE):
+       Use builtin qualifier.
+       (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise.
+       * config/arm/mve.md (mve_vshlcq_m_vec_<supf><mode>): Define RTL pattern.
+       (mve_vshlcq_m_carry_<supf><mode>): Likewise.
+       (mve_vshlcq_m_<supf><mode>): Likewise.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (LSLL_QUALIFIERS): Define builtin qualifier.
+       (UQSHL_QUALIFIERS): Likewise.
+       (ASRL_QUALIFIERS): Likewise.
+       (SQSHL_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (__ARM_BIG_ENDIAN): Check to not support MVE in
+       Big-Endian Mode.
+       (sqrshr): Define macro.
+       (sqrshrl): Likewise.
+       (sqrshrl_sat48): Likewise.
+       (sqshl): Likewise.
+       (sqshll): Likewise.
+       (srshr): Likewise.
+       (srshrl): Likewise.
+       (uqrshl): Likewise.
+       (uqrshll): Likewise.
+       (uqrshll_sat48): Likewise.
+       (uqshl): Likewise.
+       (uqshll): Likewise.
+       (urshr): Likewise.
+       (urshrl): Likewise.
+       (lsll): Likewise.
+       (asrl): Likewise.
+       (__arm_lsll): Define intrinsic.
+       (__arm_asrl): Likewise.
+       (__arm_uqrshll): Likewise.
+       (__arm_uqrshll_sat48): Likewise.
+       (__arm_sqrshrl): Likewise.
+       (__arm_sqrshrl_sat48): Likewise.
+       (__arm_uqshll): Likewise.
+       (__arm_urshrl): Likewise.
+       (__arm_srshrl): Likewise.
+       (__arm_sqshll): Likewise.
+       (__arm_uqrshl): Likewise.
+       (__arm_sqrshr): Likewise.
+       (__arm_uqshl): Likewise.
+       (__arm_urshr): Likewise.
+       (__arm_sqshl): Likewise.
+       (__arm_srshr): Likewise.
+       * config/arm/arm_mve_builtins.def (LSLL_QUALIFIERS): Use builtin
+       qualifier.
+       (UQSHL_QUALIFIERS): Likewise.
+       (ASRL_QUALIFIERS): Likewise.
+       (SQSHL_QUALIFIERS): Likewise.
+       * config/arm/mve.md (mve_uqrshll_sat<supf>_di): Define RTL pattern.
+       (mve_sqrshrl_sat<supf>_di): Likewise.
+       (mve_uqrshl_si): Likewise.
+       (mve_sqrshr_si): Likewise.
+       (mve_uqshll_di): Likewise.
+       (mve_urshrl_di): Likewise.
+       (mve_uqshl_si): Likewise.
+       (mve_urshr_si): Likewise.
+       (mve_sqshl_si): Likewise.
+       (mve_srshr_si): Likewise.
+       (mve_srshrl_di): Likewise.
+       (mve_sqshll_di): Likewise.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm_mve.h (vsetq_lane_f16): Define macro.
+       (vsetq_lane_f32): Likewise.
+       (vsetq_lane_s16): Likewise.
+       (vsetq_lane_s32): Likewise.
+       (vsetq_lane_s8): Likewise.
+       (vsetq_lane_s64): Likewise.
+       (vsetq_lane_u8): Likewise.
+       (vsetq_lane_u16): Likewise.
+       (vsetq_lane_u32): Likewise.
+       (vsetq_lane_u64): Likewise.
+       (vgetq_lane_f16): Likewise.
+       (vgetq_lane_f32): Likewise.
+       (vgetq_lane_s16): Likewise.
+       (vgetq_lane_s32): Likewise.
+       (vgetq_lane_s8): Likewise.
+       (vgetq_lane_s64): Likewise.
+       (vgetq_lane_u8): Likewise.
+       (vgetq_lane_u16): Likewise.
+       (vgetq_lane_u32): Likewise.
+       (vgetq_lane_u64): Likewise.
+       (__ARM_NUM_LANES): Likewise.
+       (__ARM_LANEQ): Likewise.
+       (__ARM_CHECK_LANEQ): Likewise.
+       (__arm_vsetq_lane_s16): Define intrinsic.
+       (__arm_vsetq_lane_s32): Likewise.
+       (__arm_vsetq_lane_s8): Likewise.
+       (__arm_vsetq_lane_s64): Likewise.
+       (__arm_vsetq_lane_u8): Likewise.
+       (__arm_vsetq_lane_u16): Likewise.
+       (__arm_vsetq_lane_u32): Likewise.
+       (__arm_vsetq_lane_u64): Likewise.
+       (__arm_vgetq_lane_s16): Likewise.
+       (__arm_vgetq_lane_s32): Likewise.
+       (__arm_vgetq_lane_s8): Likewise.
+       (__arm_vgetq_lane_s64): Likewise.
+       (__arm_vgetq_lane_u8): Likewise.
+       (__arm_vgetq_lane_u16): Likewise.
+       (__arm_vgetq_lane_u32): Likewise.
+       (__arm_vgetq_lane_u64): Likewise.
+       (__arm_vsetq_lane_f16): Likewise.
+       (__arm_vsetq_lane_f32): Likewise.
+       (__arm_vgetq_lane_f16): Likewise.
+       (__arm_vgetq_lane_f32): Likewise.
+       (vgetq_lane): Define polymorphic variant.
+       (vsetq_lane): Likewise.
+       * config/arm/mve.md (mve_vec_extract<mode><V_elem_l>): Define RTL
+       pattern.
+       (mve_vec_extractv2didi): Likewise.
+       (mve_vec_extract_sext_internal<mode>): Likewise.
+       (mve_vec_extract_zext_internal<mode>): Likewise.
+       (mve_vec_set<mode>_internal): Likewise.
+       (mve_vec_setv2di_internal): Likewise.
+       * config/arm/neon.md (vec_set<mode>): Move RTL pattern to vec-common.md
+       file.
+       (vec_extract<mode><V_elem_l>): Rename to
+       "neon_vec_extract<mode><V_elem_l>".
+       (vec_extractv2didi): Rename to "neon_vec_extractv2didi".
+       * config/arm/vec-common.md (vec_extract<mode><V_elem_l>): Define RTL
+       pattern common for MVE and NEON.
+       (vec_set<mode>): Move RTL pattern from neon.md and modify to accept both
+       MVE and NEON.
+
+2020-03-23  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/mve.md (earlyclobber_32): New mode attribute.
+       (mve_vrev64q_*, mve_vcaddq*, mve_vhcaddq_*, mve_vcmulq_*,
+        mve_vmull[bt]q_*, mve_vqdmull[bt]q_*): Add appropriate early clobbers.
+
+2020-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94261
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
+       IL operand swapping code.
+       (vect_slp_rearrange_stmts): Do not arrange isomorphic
+       nodes that would need operation code adjustments.
+
+2020-03-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/install.texi (amdgcn-*-amdhsa): Renamed
+       from amdgcn-unknown-amdhsa; change
+       amdgcn-unknown-amdhsa to amdgcn-amdhsa.
+
+2020-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/94245
+       * ipa-prop.c (ipa_read_jump_function): Build the ADDR_EXRP
+       directly rather than also folding it via build_fold_addr_expr.
+
+2020-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94266
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Do not propagate
+       addresses of TARGET_MEM_REFs.
+
+2020-03-23  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/94250
+       * symtab.c (symtab_node::clone_references): Save speculative_id
+       as ref may be overwritten by create_reference.
+       (symtab_node::clone_referring): Likewise.
+       (symtab_node::clone_reference): Likewise.
+
+2020-03-22  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove
+       references to Darwin.
+       * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Define this
+       unconditionally and comment on why.
+
+2020-03-21 Iain Sandoe <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_mergeable_constant_section): Collect
+       section anchor checks into the caller.
+       (machopic_select_section): Collect section anchor checks into
+       the determination of 'effective zero-size' objects. When the
+       size is unknown, assume it is non-zero, and thus return the
+       'generic' section for the DECL.
+
+2020-03-21 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR target/93694
+       * config/darwin.opt: Amend options descriptions.
+
+2020-03-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/94052
+       * lra-constraints.c (simplify_operand_subreg): Reload the inner
+       register of a paradoxical subreg if simplify_subreg_regno fails
+       to give a valid hard register for the outer mode.
+
+2020-03-20  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93435
+       * params.opt (sra-max-propagations): New parameter.
+       * tree-sra.c (propagation_budget): New variable.
+       (budget_for_propagation_access): New function.
+       (propagate_subaccesses_from_rhs): Use it.
+       (propagate_subaccesses_from_lhs): Likewise.
+       (propagate_all_subaccesses): Set up and destroy propagation_budget.
+
+2020-03-20  Carl Love  <cel@us.ibm.com>
+
+       PR/target 87583
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Add check for TARGET_FPRND for Power 7 or newer.
+
+2020-03-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/93347
+       * cgraph.c (symbol_table::create_edge): Update calls_comdat_local flag.
+       (cgraph_edge::redirect_callee): Move here; likewise.
+       (cgraph_node::remove_callees): Update calls_comdat_local flag.
+       (cgraph_node::verify_node): Verify that calls_comdat_local flag match
+       reality.
+       (cgraph_node::check_calls_comdat_local_p): New member function.
+       * cgraph.h (cgraph_node::check_calls_comdat_local_p): Declare.
+       (cgraph_edge::redirect_callee): Move offline.
+       * ipa-fnsummary.c (compute_fn_summary): Do not compute
+       calls_comdat_local flag here.
+       * ipa-inline-transform.c (inline_call): Fix updating of
+       calls_comdat_local flag.
+       * ipa-split.c (split_function): Use true instead of 1 to set the flag.
+       * symtab.c (symtab_node::add_to_same_comdat_group): Update
+       calls_comdat_local flag.
+
+2020-03-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Dump SLP tree
+       from the possibly modified root.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm_mve.h (vst1q_p_u8): Define macro.
+       (vst1q_p_s8): Likewise.
+       (vst2q_s8): Likewise.
+       (vst2q_u8): Likewise.
+       (vld1q_z_u8): Likewise.
+       (vld1q_z_s8): Likewise.
+       (vld2q_s8): Likewise.
+       (vld2q_u8): Likewise.
+       (vld4q_s8): Likewise.
+       (vld4q_u8): Likewise.
+       (vst1q_p_u16): Likewise.
+       (vst1q_p_s16): Likewise.
+       (vst2q_s16): Likewise.
+       (vst2q_u16): Likewise.
+       (vld1q_z_u16): Likewise.
+       (vld1q_z_s16): Likewise.
+       (vld2q_s16): Likewise.
+       (vld2q_u16): Likewise.
+       (vld4q_s16): Likewise.
+       (vld4q_u16): Likewise.
+       (vst1q_p_u32): Likewise.
+       (vst1q_p_s32): Likewise.
+       (vst2q_s32): Likewise.
+       (vst2q_u32): Likewise.
+       (vld1q_z_u32): Likewise.
+       (vld1q_z_s32): Likewise.
+       (vld2q_s32): Likewise.
+       (vld2q_u32): Likewise.
+       (vld4q_s32): Likewise.
+       (vld4q_u32): Likewise.
+       (vld4q_f16): Likewise.
+       (vld2q_f16): Likewise.
+       (vld1q_z_f16): Likewise.
+       (vst2q_f16): Likewise.
+       (vst1q_p_f16): Likewise.
+       (vld4q_f32): Likewise.
+       (vld2q_f32): Likewise.
+       (vld1q_z_f32): Likewise.
+       (vst2q_f32): Likewise.
+       (vst1q_p_f32): Likewise.
+       (__arm_vst1q_p_u8): Define intrinsic.
+       (__arm_vst1q_p_s8): Likewise.
+       (__arm_vst2q_s8): Likewise.
+       (__arm_vst2q_u8): Likewise.
+       (__arm_vld1q_z_u8): Likewise.
+       (__arm_vld1q_z_s8): Likewise.
+       (__arm_vld2q_s8): Likewise.
+       (__arm_vld2q_u8): Likewise.
+       (__arm_vld4q_s8): Likewise.
+       (__arm_vld4q_u8): Likewise.
+       (__arm_vst1q_p_u16): Likewise.
+       (__arm_vst1q_p_s16): Likewise.
+       (__arm_vst2q_s16): Likewise.
+       (__arm_vst2q_u16): Likewise.
+       (__arm_vld1q_z_u16): Likewise.
+       (__arm_vld1q_z_s16): Likewise.
+       (__arm_vld2q_s16): Likewise.
+       (__arm_vld2q_u16): Likewise.
+       (__arm_vld4q_s16): Likewise.
+       (__arm_vld4q_u16): Likewise.
+       (__arm_vst1q_p_u32): Likewise.
+       (__arm_vst1q_p_s32): Likewise.
+       (__arm_vst2q_s32): Likewise.
+       (__arm_vst2q_u32): Likewise.
+       (__arm_vld1q_z_u32): Likewise.
+       (__arm_vld1q_z_s32): Likewise.
+       (__arm_vld2q_s32): Likewise.
+       (__arm_vld2q_u32): Likewise.
+       (__arm_vld4q_s32): Likewise.
+       (__arm_vld4q_u32): Likewise.
+       (__arm_vld4q_f16): Likewise.
+       (__arm_vld2q_f16): Likewise.
+       (__arm_vld1q_z_f16): Likewise.
+       (__arm_vst2q_f16): Likewise.
+       (__arm_vst1q_p_f16): Likewise.
+       (__arm_vld4q_f32): Likewise.
+       (__arm_vld2q_f32): Likewise.
+       (__arm_vld1q_z_f32): Likewise.
+       (__arm_vst2q_f32): Likewise.
+       (__arm_vst1q_p_f32): Likewise.
+       (vld1q_z): Define polymorphic variant.
+       (vld2q): Likewise.
+       (vld4q): Likewise.
+       (vst1q_p): Likewise.
+       (vst2q): Likewise.
+       * config/arm/arm_mve_builtins.def (STORE1): Use builtin qualifier.
+       (LOAD1): Likewise.
+       * config/arm/mve.md (mve_vst2q<mode>): Define RTL pattern.
+       (mve_vld2q<mode>): Likewise.
+       (mve_vld4q<mode>): Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm-builtins.c (ARM_BUILTIN_GET_FPSCR_NZCVQC): Define.
+       (ARM_BUILTIN_SET_FPSCR_NZCVQC): Likewise.       
+       (arm_init_mve_builtins): Add "__builtin_arm_get_fpscr_nzcvqc" and
+       "__builtin_arm_set_fpscr_nzcvqc" to arm_builtin_decls array. 
+       (arm_expand_builtin): Define case ARM_BUILTIN_GET_FPSCR_NZCVQC
+       and ARM_BUILTIN_SET_FPSCR_NZCVQC.
+       * config/arm/arm_mve.h (vadciq_s32): Define macro.
+       (vadciq_u32): Likewise.
+       (vadciq_m_s32): Likewise.
+       (vadciq_m_u32): Likewise.
+       (vadcq_s32): Likewise.
+       (vadcq_u32): Likewise.
+       (vadcq_m_s32): Likewise.
+       (vadcq_m_u32): Likewise.
+       (vsbciq_s32): Likewise.
+       (vsbciq_u32): Likewise.
+       (vsbciq_m_s32): Likewise.
+       (vsbciq_m_u32): Likewise.
+       (vsbcq_s32): Likewise.
+       (vsbcq_u32): Likewise.
+       (vsbcq_m_s32): Likewise.
+       (vsbcq_m_u32): Likewise.
+       (__arm_vadciq_s32): Define intrinsic.
+       (__arm_vadciq_u32): Likewise.
+       (__arm_vadciq_m_s32): Likewise.
+       (__arm_vadciq_m_u32): Likewise.
+       (__arm_vadcq_s32): Likewise.
+       (__arm_vadcq_u32): Likewise.
+       (__arm_vadcq_m_s32): Likewise.
+       (__arm_vadcq_m_u32): Likewise.
+       (__arm_vsbciq_s32): Likewise.
+       (__arm_vsbciq_u32): Likewise.
+       (__arm_vsbciq_m_s32): Likewise.
+       (__arm_vsbciq_m_u32): Likewise.
+       (__arm_vsbcq_s32): Likewise.
+       (__arm_vsbcq_u32): Likewise.
+       (__arm_vsbcq_m_s32): Likewise.
+       (__arm_vsbcq_m_u32): Likewise.
+       (vadciq_m): Define polymorphic variant.
+       (vadciq): Likewise.
+       (vadcq_m): Likewise.
+       (vadcq): Likewise.
+       (vsbciq_m): Likewise.
+       (vsbciq): Likewise.
+       (vsbcq_m): Likewise.
+       (vsbcq): Likewise.
+       * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_NONE): Use builtin
+       qualifier.
+       (BINOP_UNONE_UNONE_UNONE): Likewise.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/mve.md (VADCIQ): Define iterator.
+       (VADCIQ_M): Likewise.
+       (VSBCQ): Likewise.
+       (VSBCQ_M): Likewise.
+       (VSBCIQ): Likewise.
+       (VSBCIQ_M): Likewise.
+       (VADCQ): Likewise.
+       (VADCQ_M): Likewise.
+       (mve_vadciq_m_<supf>v4si): Define RTL pattern.
+       (mve_vadciq_<supf>v4si): Likewise.
+       (mve_vadcq_m_<supf>v4si): Likewise.
+       (mve_vadcq_<supf>v4si): Likewise.
+       (mve_vsbciq_m_<supf>v4si): Likewise.
+       (mve_vsbciq_<supf>v4si): Likewise.
+       (mve_vsbcq_m_<supf>v4si): Likewise.
+       (mve_vsbcq_<supf>v4si): Likewise.
+       (get_fpscr_nzcvqc): Define isns.
+       (set_fpscr_nzcvqc): Define isns.
+       * config/arm/unspecs.md (UNSPEC_GET_FPSCR_NZCVQC): Define.
+       (UNSPEC_SET_FPSCR_NZCVQC): Define.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vddupq_x_n_u8): Define macro.
+       (vddupq_x_n_u16): Likewise.
+       (vddupq_x_n_u32): Likewise.
+       (vddupq_x_wb_u8): Likewise.
+       (vddupq_x_wb_u16): Likewise.
+       (vddupq_x_wb_u32): Likewise.
+       (vdwdupq_x_n_u8): Likewise.
+       (vdwdupq_x_n_u16): Likewise.
+       (vdwdupq_x_n_u32): Likewise.
+       (vdwdupq_x_wb_u8): Likewise.
+       (vdwdupq_x_wb_u16): Likewise.
+       (vdwdupq_x_wb_u32): Likewise.
+       (vidupq_x_n_u8): Likewise.
+       (vidupq_x_n_u16): Likewise.
+       (vidupq_x_n_u32): Likewise.
+       (vidupq_x_wb_u8): Likewise.
+       (vidupq_x_wb_u16): Likewise.
+       (vidupq_x_wb_u32): Likewise.
+       (viwdupq_x_n_u8): Likewise.
+       (viwdupq_x_n_u16): Likewise.
+       (viwdupq_x_n_u32): Likewise.
+       (viwdupq_x_wb_u8): Likewise.
+       (viwdupq_x_wb_u16): Likewise.
+       (viwdupq_x_wb_u32): Likewise.
+       (vdupq_x_n_s8): Likewise.
+       (vdupq_x_n_s16): Likewise.
+       (vdupq_x_n_s32): Likewise.
+       (vdupq_x_n_u8): Likewise.
+       (vdupq_x_n_u16): Likewise.
+       (vdupq_x_n_u32): Likewise.
+       (vminq_x_s8): Likewise.
+       (vminq_x_s16): Likewise.
+       (vminq_x_s32): Likewise.
+       (vminq_x_u8): Likewise.
+       (vminq_x_u16): Likewise.
+       (vminq_x_u32): Likewise.
+       (vmaxq_x_s8): Likewise.
+       (vmaxq_x_s16): Likewise.
+       (vmaxq_x_s32): Likewise.
+       (vmaxq_x_u8): Likewise.
+       (vmaxq_x_u16): Likewise.
+       (vmaxq_x_u32): Likewise.
+       (vabdq_x_s8): Likewise.
+       (vabdq_x_s16): Likewise.
+       (vabdq_x_s32): Likewise.
+       (vabdq_x_u8): Likewise.
+       (vabdq_x_u16): Likewise.
+       (vabdq_x_u32): Likewise.
+       (vabsq_x_s8): Likewise.
+       (vabsq_x_s16): Likewise.
+       (vabsq_x_s32): Likewise.
+       (vaddq_x_s8): Likewise.
+       (vaddq_x_s16): Likewise.
+       (vaddq_x_s32): Likewise.
+       (vaddq_x_n_s8): Likewise.
+       (vaddq_x_n_s16): Likewise.
+       (vaddq_x_n_s32): Likewise.
+       (vaddq_x_u8): Likewise.
+       (vaddq_x_u16): Likewise.
+       (vaddq_x_u32): Likewise.
+       (vaddq_x_n_u8): Likewise.
+       (vaddq_x_n_u16): Likewise.
+       (vaddq_x_n_u32): Likewise.
+       (vclsq_x_s8): Likewise.
+       (vclsq_x_s16): Likewise.
+       (vclsq_x_s32): Likewise.
+       (vclzq_x_s8): Likewise.
+       (vclzq_x_s16): Likewise.
+       (vclzq_x_s32): Likewise.
+       (vclzq_x_u8): Likewise.
+       (vclzq_x_u16): Likewise.
+       (vclzq_x_u32): Likewise.
+       (vnegq_x_s8): Likewise.
+       (vnegq_x_s16): Likewise.
+       (vnegq_x_s32): Likewise.
+       (vmulhq_x_s8): Likewise.
+       (vmulhq_x_s16): Likewise.
+       (vmulhq_x_s32): Likewise.
+       (vmulhq_x_u8): Likewise.
+       (vmulhq_x_u16): Likewise.
+       (vmulhq_x_u32): Likewise.
+       (vmullbq_poly_x_p8): Likewise.
+       (vmullbq_poly_x_p16): Likewise.
+       (vmullbq_int_x_s8): Likewise.
+       (vmullbq_int_x_s16): Likewise.
+       (vmullbq_int_x_s32): Likewise.
+       (vmullbq_int_x_u8): Likewise.
+       (vmullbq_int_x_u16): Likewise.
+       (vmullbq_int_x_u32): Likewise.
+       (vmulltq_poly_x_p8): Likewise.
+       (vmulltq_poly_x_p16): Likewise.
+       (vmulltq_int_x_s8): Likewise.
+       (vmulltq_int_x_s16): Likewise.
+       (vmulltq_int_x_s32): Likewise.
+       (vmulltq_int_x_u8): Likewise.
+       (vmulltq_int_x_u16): Likewise.
+       (vmulltq_int_x_u32): Likewise.
+       (vmulq_x_s8): Likewise.
+       (vmulq_x_s16): Likewise.
+       (vmulq_x_s32): Likewise.
+       (vmulq_x_n_s8): Likewise.
+       (vmulq_x_n_s16): Likewise.
+       (vmulq_x_n_s32): Likewise.
+       (vmulq_x_u8): Likewise.
+       (vmulq_x_u16): Likewise.
+       (vmulq_x_u32): Likewise.
+       (vmulq_x_n_u8): Likewise.
+       (vmulq_x_n_u16): Likewise.
+       (vmulq_x_n_u32): Likewise.
+       (vsubq_x_s8): Likewise.
+       (vsubq_x_s16): Likewise.
+       (vsubq_x_s32): Likewise.
+       (vsubq_x_n_s8): Likewise.
+       (vsubq_x_n_s16): Likewise.
+       (vsubq_x_n_s32): Likewise.
+       (vsubq_x_u8): Likewise.
+       (vsubq_x_u16): Likewise.
+       (vsubq_x_u32): Likewise.
+       (vsubq_x_n_u8): Likewise.
+       (vsubq_x_n_u16): Likewise.
+       (vsubq_x_n_u32): Likewise.
+       (vcaddq_rot90_x_s8): Likewise.
+       (vcaddq_rot90_x_s16): Likewise.
+       (vcaddq_rot90_x_s32): Likewise.
+       (vcaddq_rot90_x_u8): Likewise.
+       (vcaddq_rot90_x_u16): Likewise.
+       (vcaddq_rot90_x_u32): Likewise.
+       (vcaddq_rot270_x_s8): Likewise.
+       (vcaddq_rot270_x_s16): Likewise.
+       (vcaddq_rot270_x_s32): Likewise.
+       (vcaddq_rot270_x_u8): Likewise.
+       (vcaddq_rot270_x_u16): Likewise.
+       (vcaddq_rot270_x_u32): Likewise.
+       (vhaddq_x_n_s8): Likewise.
+       (vhaddq_x_n_s16): Likewise.
+       (vhaddq_x_n_s32): Likewise.
+       (vhaddq_x_n_u8): Likewise.
+       (vhaddq_x_n_u16): Likewise.
+       (vhaddq_x_n_u32): Likewise.
+       (vhaddq_x_s8): Likewise.
+       (vhaddq_x_s16): Likewise.
+       (vhaddq_x_s32): Likewise.
+       (vhaddq_x_u8): Likewise.
+       (vhaddq_x_u16): Likewise.
+       (vhaddq_x_u32): Likewise.
+       (vhcaddq_rot90_x_s8): Likewise.
+       (vhcaddq_rot90_x_s16): Likewise.
+       (vhcaddq_rot90_x_s32): Likewise.
+       (vhcaddq_rot270_x_s8): Likewise.
+       (vhcaddq_rot270_x_s16): Likewise.
+       (vhcaddq_rot270_x_s32): Likewise.
+       (vhsubq_x_n_s8): Likewise.
+       (vhsubq_x_n_s16): Likewise.
+       (vhsubq_x_n_s32): Likewise.
+       (vhsubq_x_n_u8): Likewise.
+       (vhsubq_x_n_u16): Likewise.
+       (vhsubq_x_n_u32): Likewise.
+       (vhsubq_x_s8): Likewise.
+       (vhsubq_x_s16): Likewise.
+       (vhsubq_x_s32): Likewise.
+       (vhsubq_x_u8): Likewise.
+       (vhsubq_x_u16): Likewise.
+       (vhsubq_x_u32): Likewise.
+       (vrhaddq_x_s8): Likewise.
+       (vrhaddq_x_s16): Likewise.
+       (vrhaddq_x_s32): Likewise.
+       (vrhaddq_x_u8): Likewise.
+       (vrhaddq_x_u16): Likewise.
+       (vrhaddq_x_u32): Likewise.
+       (vrmulhq_x_s8): Likewise.
+       (vrmulhq_x_s16): Likewise.
+       (vrmulhq_x_s32): Likewise.
+       (vrmulhq_x_u8): Likewise.
+       (vrmulhq_x_u16): Likewise.
+       (vrmulhq_x_u32): Likewise.
+       (vandq_x_s8): Likewise.
+       (vandq_x_s16): Likewise.
+       (vandq_x_s32): Likewise.
+       (vandq_x_u8): Likewise.
+       (vandq_x_u16): Likewise.
+       (vandq_x_u32): Likewise.
+       (vbicq_x_s8): Likewise.
+       (vbicq_x_s16): Likewise.
+       (vbicq_x_s32): Likewise.
+       (vbicq_x_u8): Likewise.
+       (vbicq_x_u16): Likewise.
+       (vbicq_x_u32): Likewise.
+       (vbrsrq_x_n_s8): Likewise.
+       (vbrsrq_x_n_s16): Likewise.
+       (vbrsrq_x_n_s32): Likewise.
+       (vbrsrq_x_n_u8): Likewise.
+       (vbrsrq_x_n_u16): Likewise.
+       (vbrsrq_x_n_u32): Likewise.
+       (veorq_x_s8): Likewise.
+       (veorq_x_s16): Likewise.
+       (veorq_x_s32): Likewise.
+       (veorq_x_u8): Likewise.
+       (veorq_x_u16): Likewise.
+       (veorq_x_u32): Likewise.
+       (vmovlbq_x_s8): Likewise.
+       (vmovlbq_x_s16): Likewise.
+       (vmovlbq_x_u8): Likewise.
+       (vmovlbq_x_u16): Likewise.
+       (vmovltq_x_s8): Likewise.
+       (vmovltq_x_s16): Likewise.
+       (vmovltq_x_u8): Likewise.
+       (vmovltq_x_u16): Likewise.
+       (vmvnq_x_s8): Likewise.
+       (vmvnq_x_s16): Likewise.
+       (vmvnq_x_s32): Likewise.
+       (vmvnq_x_u8): Likewise.
+       (vmvnq_x_u16): Likewise.
+       (vmvnq_x_u32): Likewise.
+       (vmvnq_x_n_s16): Likewise.
+       (vmvnq_x_n_s32): Likewise.
+       (vmvnq_x_n_u16): Likewise.
+       (vmvnq_x_n_u32): Likewise.
+       (vornq_x_s8): Likewise.
+       (vornq_x_s16): Likewise.
+       (vornq_x_s32): Likewise.
+       (vornq_x_u8): Likewise.
+       (vornq_x_u16): Likewise.
+       (vornq_x_u32): Likewise.
+       (vorrq_x_s8): Likewise.
+       (vorrq_x_s16): Likewise.
+       (vorrq_x_s32): Likewise.
+       (vorrq_x_u8): Likewise.
+       (vorrq_x_u16): Likewise.
+       (vorrq_x_u32): Likewise.
+       (vrev16q_x_s8): Likewise.
+       (vrev16q_x_u8): Likewise.
+       (vrev32q_x_s8): Likewise.
+       (vrev32q_x_s16): Likewise.
+       (vrev32q_x_u8): Likewise.
+       (vrev32q_x_u16): Likewise.
+       (vrev64q_x_s8): Likewise.
+       (vrev64q_x_s16): Likewise.
+       (vrev64q_x_s32): Likewise.
+       (vrev64q_x_u8): Likewise.
+       (vrev64q_x_u16): Likewise.
+       (vrev64q_x_u32): Likewise.
+       (vrshlq_x_s8): Likewise.
+       (vrshlq_x_s16): Likewise.
+       (vrshlq_x_s32): Likewise.
+       (vrshlq_x_u8): Likewise.
+       (vrshlq_x_u16): Likewise.
+       (vrshlq_x_u32): Likewise.
+       (vshllbq_x_n_s8): Likewise.
+       (vshllbq_x_n_s16): Likewise.
+       (vshllbq_x_n_u8): Likewise.
+       (vshllbq_x_n_u16): Likewise.
+       (vshlltq_x_n_s8): Likewise.
+       (vshlltq_x_n_s16): Likewise.
+       (vshlltq_x_n_u8): Likewise.
+       (vshlltq_x_n_u16): Likewise.
+       (vshlq_x_s8): Likewise.
+       (vshlq_x_s16): Likewise.
+       (vshlq_x_s32): Likewise.
+       (vshlq_x_u8): Likewise.
+       (vshlq_x_u16): Likewise.
+       (vshlq_x_u32): Likewise.
+       (vshlq_x_n_s8): Likewise.
+       (vshlq_x_n_s16): Likewise.
+       (vshlq_x_n_s32): Likewise.
+       (vshlq_x_n_u8): Likewise.
+       (vshlq_x_n_u16): Likewise.
+       (vshlq_x_n_u32): Likewise.
+       (vrshrq_x_n_s8): Likewise.
+       (vrshrq_x_n_s16): Likewise.
+       (vrshrq_x_n_s32): Likewise.
+       (vrshrq_x_n_u8): Likewise.
+       (vrshrq_x_n_u16): Likewise.
+       (vrshrq_x_n_u32): Likewise.
+       (vshrq_x_n_s8): Likewise.
+       (vshrq_x_n_s16): Likewise.
+       (vshrq_x_n_s32): Likewise.
+       (vshrq_x_n_u8): Likewise.
+       (vshrq_x_n_u16): Likewise.
+       (vshrq_x_n_u32): Likewise.
+       (vdupq_x_n_f16): Likewise.
+       (vdupq_x_n_f32): Likewise.
+       (vminnmq_x_f16): Likewise.
+       (vminnmq_x_f32): Likewise.
+       (vmaxnmq_x_f16): Likewise.
+       (vmaxnmq_x_f32): Likewise.
+       (vabdq_x_f16): Likewise.
+       (vabdq_x_f32): Likewise.
+       (vabsq_x_f16): Likewise.
+       (vabsq_x_f32): Likewise.
+       (vaddq_x_f16): Likewise.
+       (vaddq_x_f32): Likewise.
+       (vaddq_x_n_f16): Likewise.
+       (vaddq_x_n_f32): Likewise.
+       (vnegq_x_f16): Likewise.
+       (vnegq_x_f32): Likewise.
+       (vmulq_x_f16): Likewise.
+       (vmulq_x_f32): Likewise.
+       (vmulq_x_n_f16): Likewise.
+       (vmulq_x_n_f32): Likewise.
+       (vsubq_x_f16): Likewise.
+       (vsubq_x_f32): Likewise.
+       (vsubq_x_n_f16): Likewise.
+       (vsubq_x_n_f32): Likewise.
+       (vcaddq_rot90_x_f16): Likewise.
+       (vcaddq_rot90_x_f32): Likewise.
+       (vcaddq_rot270_x_f16): Likewise.
+       (vcaddq_rot270_x_f32): Likewise.
+       (vcmulq_x_f16): Likewise.
+       (vcmulq_x_f32): Likewise.
+       (vcmulq_rot90_x_f16): Likewise.
+       (vcmulq_rot90_x_f32): Likewise.
+       (vcmulq_rot180_x_f16): Likewise.
+       (vcmulq_rot180_x_f32): Likewise.
+       (vcmulq_rot270_x_f16): Likewise.
+       (vcmulq_rot270_x_f32): Likewise.
+       (vcvtaq_x_s16_f16): Likewise.
+       (vcvtaq_x_s32_f32): Likewise.
+       (vcvtaq_x_u16_f16): Likewise.
+       (vcvtaq_x_u32_f32): Likewise.
+       (vcvtnq_x_s16_f16): Likewise.
+       (vcvtnq_x_s32_f32): Likewise.
+       (vcvtnq_x_u16_f16): Likewise.
+       (vcvtnq_x_u32_f32): Likewise.
+       (vcvtpq_x_s16_f16): Likewise.
+       (vcvtpq_x_s32_f32): Likewise.
+       (vcvtpq_x_u16_f16): Likewise.
+       (vcvtpq_x_u32_f32): Likewise.
+       (vcvtmq_x_s16_f16): Likewise.
+       (vcvtmq_x_s32_f32): Likewise.
+       (vcvtmq_x_u16_f16): Likewise.
+       (vcvtmq_x_u32_f32): Likewise.
+       (vcvtbq_x_f32_f16): Likewise.
+       (vcvttq_x_f32_f16): Likewise.
+       (vcvtq_x_f16_u16): Likewise.
+       (vcvtq_x_f16_s16): Likewise.
+       (vcvtq_x_f32_s32): Likewise.
+       (vcvtq_x_f32_u32): Likewise.
+       (vcvtq_x_n_f16_s16): Likewise.
+       (vcvtq_x_n_f16_u16): Likewise.
+       (vcvtq_x_n_f32_s32): Likewise.
+       (vcvtq_x_n_f32_u32): Likewise.
+       (vcvtq_x_s16_f16): Likewise.
+       (vcvtq_x_s32_f32): Likewise.
+       (vcvtq_x_u16_f16): Likewise.
+       (vcvtq_x_u32_f32): Likewise.
+       (vcvtq_x_n_s16_f16): Likewise.
+       (vcvtq_x_n_s32_f32): Likewise.
+       (vcvtq_x_n_u16_f16): Likewise.
+       (vcvtq_x_n_u32_f32): Likewise.
+       (vrndq_x_f16): Likewise.
+       (vrndq_x_f32): Likewise.
+       (vrndnq_x_f16): Likewise.
+       (vrndnq_x_f32): Likewise.
+       (vrndmq_x_f16): Likewise.
+       (vrndmq_x_f32): Likewise.
+       (vrndpq_x_f16): Likewise.
+       (vrndpq_x_f32): Likewise.
+       (vrndaq_x_f16): Likewise.
+       (vrndaq_x_f32): Likewise.
+       (vrndxq_x_f16): Likewise.
+       (vrndxq_x_f32): Likewise.
+       (vandq_x_f16): Likewise.
+       (vandq_x_f32): Likewise.
+       (vbicq_x_f16): Likewise.
+       (vbicq_x_f32): Likewise.
+       (vbrsrq_x_n_f16): Likewise.
+       (vbrsrq_x_n_f32): Likewise.
+       (veorq_x_f16): Likewise.
+       (veorq_x_f32): Likewise.
+       (vornq_x_f16): Likewise.
+       (vornq_x_f32): Likewise.
+       (vorrq_x_f16): Likewise.
+       (vorrq_x_f32): Likewise.
+       (vrev32q_x_f16): Likewise.
+       (vrev64q_x_f16): Likewise.
+       (vrev64q_x_f32): Likewise.
+       (__arm_vddupq_x_n_u8): Define intrinsic.
+       (__arm_vddupq_x_n_u16): Likewise.
+       (__arm_vddupq_x_n_u32): Likewise.
+       (__arm_vddupq_x_wb_u8): Likewise.
+       (__arm_vddupq_x_wb_u16): Likewise.
+       (__arm_vddupq_x_wb_u32): Likewise.
+       (__arm_vdwdupq_x_n_u8): Likewise.
+       (__arm_vdwdupq_x_n_u16): Likewise.
+       (__arm_vdwdupq_x_n_u32): Likewise.
+       (__arm_vdwdupq_x_wb_u8): Likewise.
+       (__arm_vdwdupq_x_wb_u16): Likewise.
+       (__arm_vdwdupq_x_wb_u32): Likewise.
+       (__arm_vidupq_x_n_u8): Likewise.
+       (__arm_vidupq_x_n_u16): Likewise.
+       (__arm_vidupq_x_n_u32): Likewise.
+       (__arm_vidupq_x_wb_u8): Likewise.
+       (__arm_vidupq_x_wb_u16): Likewise.
+       (__arm_vidupq_x_wb_u32): Likewise.
+       (__arm_viwdupq_x_n_u8): Likewise.
+       (__arm_viwdupq_x_n_u16): Likewise.
+       (__arm_viwdupq_x_n_u32): Likewise.
+       (__arm_viwdupq_x_wb_u8): Likewise.
+       (__arm_viwdupq_x_wb_u16): Likewise.
+       (__arm_viwdupq_x_wb_u32): Likewise.
+       (__arm_vdupq_x_n_s8): Likewise.
+       (__arm_vdupq_x_n_s16): Likewise.
+       (__arm_vdupq_x_n_s32): Likewise.
+       (__arm_vdupq_x_n_u8): Likewise.
+       (__arm_vdupq_x_n_u16): Likewise.
+       (__arm_vdupq_x_n_u32): Likewise.
+       (__arm_vminq_x_s8): Likewise.
+       (__arm_vminq_x_s16): Likewise.
+       (__arm_vminq_x_s32): Likewise.
+       (__arm_vminq_x_u8): Likewise.
+       (__arm_vminq_x_u16): Likewise.
+       (__arm_vminq_x_u32): Likewise.
+       (__arm_vmaxq_x_s8): Likewise.
+       (__arm_vmaxq_x_s16): Likewise.
+       (__arm_vmaxq_x_s32): Likewise.
+       (__arm_vmaxq_x_u8): Likewise.
+       (__arm_vmaxq_x_u16): Likewise.
+       (__arm_vmaxq_x_u32): Likewise.
+       (__arm_vabdq_x_s8): Likewise.
+       (__arm_vabdq_x_s16): Likewise.
+       (__arm_vabdq_x_s32): Likewise.
+       (__arm_vabdq_x_u8): Likewise.
+       (__arm_vabdq_x_u16): Likewise.
+       (__arm_vabdq_x_u32): Likewise.
+       (__arm_vabsq_x_s8): Likewise.
+       (__arm_vabsq_x_s16): Likewise.
+       (__arm_vabsq_x_s32): Likewise.
+       (__arm_vaddq_x_s8): Likewise.
+       (__arm_vaddq_x_s16): Likewise.
+       (__arm_vaddq_x_s32): Likewise.
+       (__arm_vaddq_x_n_s8): Likewise.
+       (__arm_vaddq_x_n_s16): Likewise.
+       (__arm_vaddq_x_n_s32): Likewise.
+       (__arm_vaddq_x_u8): Likewise.
+       (__arm_vaddq_x_u16): Likewise.
+       (__arm_vaddq_x_u32): Likewise.
+       (__arm_vaddq_x_n_u8): Likewise.
+       (__arm_vaddq_x_n_u16): Likewise.
+       (__arm_vaddq_x_n_u32): Likewise.
+       (__arm_vclsq_x_s8): Likewise.
+       (__arm_vclsq_x_s16): Likewise.
+       (__arm_vclsq_x_s32): Likewise.
+       (__arm_vclzq_x_s8): Likewise.
+       (__arm_vclzq_x_s16): Likewise.
+       (__arm_vclzq_x_s32): Likewise.
+       (__arm_vclzq_x_u8): Likewise.
+       (__arm_vclzq_x_u16): Likewise.
+       (__arm_vclzq_x_u32): Likewise.
+       (__arm_vnegq_x_s8): Likewise.
+       (__arm_vnegq_x_s16): Likewise.
+       (__arm_vnegq_x_s32): Likewise.
+       (__arm_vmulhq_x_s8): Likewise.
+       (__arm_vmulhq_x_s16): Likewise.
+       (__arm_vmulhq_x_s32): Likewise.
+       (__arm_vmulhq_x_u8): Likewise.
+       (__arm_vmulhq_x_u16): Likewise.
+       (__arm_vmulhq_x_u32): Likewise.
+       (__arm_vmullbq_poly_x_p8): Likewise.
+       (__arm_vmullbq_poly_x_p16): Likewise.
+       (__arm_vmullbq_int_x_s8): Likewise.
+       (__arm_vmullbq_int_x_s16): Likewise.
+       (__arm_vmullbq_int_x_s32): Likewise.
+       (__arm_vmullbq_int_x_u8): Likewise.
+       (__arm_vmullbq_int_x_u16): Likewise.
+       (__arm_vmullbq_int_x_u32): Likewise.
+       (__arm_vmulltq_poly_x_p8): Likewise.
+       (__arm_vmulltq_poly_x_p16): Likewise.
+       (__arm_vmulltq_int_x_s8): Likewise.
+       (__arm_vmulltq_int_x_s16): Likewise.
+       (__arm_vmulltq_int_x_s32): Likewise.
+       (__arm_vmulltq_int_x_u8): Likewise.
+       (__arm_vmulltq_int_x_u16): Likewise.
+       (__arm_vmulltq_int_x_u32): Likewise.
+       (__arm_vmulq_x_s8): Likewise.
+       (__arm_vmulq_x_s16): Likewise.
+       (__arm_vmulq_x_s32): Likewise.
+       (__arm_vmulq_x_n_s8): Likewise.
+       (__arm_vmulq_x_n_s16): Likewise.
+       (__arm_vmulq_x_n_s32): Likewise.
+       (__arm_vmulq_x_u8): Likewise.
+       (__arm_vmulq_x_u16): Likewise.
+       (__arm_vmulq_x_u32): Likewise.
+       (__arm_vmulq_x_n_u8): Likewise.
+       (__arm_vmulq_x_n_u16): Likewise.
+       (__arm_vmulq_x_n_u32): Likewise.
+       (__arm_vsubq_x_s8): Likewise.
+       (__arm_vsubq_x_s16): Likewise.
+       (__arm_vsubq_x_s32): Likewise.
+       (__arm_vsubq_x_n_s8): Likewise.
+       (__arm_vsubq_x_n_s16): Likewise.
+       (__arm_vsubq_x_n_s32): Likewise.
+       (__arm_vsubq_x_u8): Likewise.
+       (__arm_vsubq_x_u16): Likewise.
+       (__arm_vsubq_x_u32): Likewise.
+       (__arm_vsubq_x_n_u8): Likewise.
+       (__arm_vsubq_x_n_u16): Likewise.
+       (__arm_vsubq_x_n_u32): Likewise.
+       (__arm_vcaddq_rot90_x_s8): Likewise.
+       (__arm_vcaddq_rot90_x_s16): Likewise.
+       (__arm_vcaddq_rot90_x_s32): Likewise.
+       (__arm_vcaddq_rot90_x_u8): Likewise.
+       (__arm_vcaddq_rot90_x_u16): Likewise.
+       (__arm_vcaddq_rot90_x_u32): Likewise.
+       (__arm_vcaddq_rot270_x_s8): Likewise.
+       (__arm_vcaddq_rot270_x_s16): Likewise.
+       (__arm_vcaddq_rot270_x_s32): Likewise.
+       (__arm_vcaddq_rot270_x_u8): Likewise.
+       (__arm_vcaddq_rot270_x_u16): Likewise.
+       (__arm_vcaddq_rot270_x_u32): Likewise.
+       (__arm_vhaddq_x_n_s8): Likewise.
+       (__arm_vhaddq_x_n_s16): Likewise.
+       (__arm_vhaddq_x_n_s32): Likewise.
+       (__arm_vhaddq_x_n_u8): Likewise.
+       (__arm_vhaddq_x_n_u16): Likewise.
+       (__arm_vhaddq_x_n_u32): Likewise.
+       (__arm_vhaddq_x_s8): Likewise.
+       (__arm_vhaddq_x_s16): Likewise.
+       (__arm_vhaddq_x_s32): Likewise.
+       (__arm_vhaddq_x_u8): Likewise.
+       (__arm_vhaddq_x_u16): Likewise.
+       (__arm_vhaddq_x_u32): Likewise.
+       (__arm_vhcaddq_rot90_x_s8): Likewise.
+       (__arm_vhcaddq_rot90_x_s16): Likewise.
+       (__arm_vhcaddq_rot90_x_s32): Likewise.
+       (__arm_vhcaddq_rot270_x_s8): Likewise.
+       (__arm_vhcaddq_rot270_x_s16): Likewise.
+       (__arm_vhcaddq_rot270_x_s32): Likewise.
+       (__arm_vhsubq_x_n_s8): Likewise.
+       (__arm_vhsubq_x_n_s16): Likewise.
+       (__arm_vhsubq_x_n_s32): Likewise.
+       (__arm_vhsubq_x_n_u8): Likewise.
+       (__arm_vhsubq_x_n_u16): Likewise.
+       (__arm_vhsubq_x_n_u32): Likewise.
+       (__arm_vhsubq_x_s8): Likewise.
+       (__arm_vhsubq_x_s16): Likewise.
+       (__arm_vhsubq_x_s32): Likewise.
+       (__arm_vhsubq_x_u8): Likewise.
+       (__arm_vhsubq_x_u16): Likewise.
+       (__arm_vhsubq_x_u32): Likewise.
+       (__arm_vrhaddq_x_s8): Likewise.
+       (__arm_vrhaddq_x_s16): Likewise.
+       (__arm_vrhaddq_x_s32): Likewise.
+       (__arm_vrhaddq_x_u8): Likewise.
+       (__arm_vrhaddq_x_u16): Likewise.
+       (__arm_vrhaddq_x_u32): Likewise.
+       (__arm_vrmulhq_x_s8): Likewise.
+       (__arm_vrmulhq_x_s16): Likewise.
+       (__arm_vrmulhq_x_s32): Likewise.
+       (__arm_vrmulhq_x_u8): Likewise.
+       (__arm_vrmulhq_x_u16): Likewise.
+       (__arm_vrmulhq_x_u32): Likewise.
+       (__arm_vandq_x_s8): Likewise.
+       (__arm_vandq_x_s16): Likewise.
+       (__arm_vandq_x_s32): Likewise.
+       (__arm_vandq_x_u8): Likewise.
+       (__arm_vandq_x_u16): Likewise.
+       (__arm_vandq_x_u32): Likewise.
+       (__arm_vbicq_x_s8): Likewise.
+       (__arm_vbicq_x_s16): Likewise.
+       (__arm_vbicq_x_s32): Likewise.
+       (__arm_vbicq_x_u8): Likewise.
+       (__arm_vbicq_x_u16): Likewise.
+       (__arm_vbicq_x_u32): Likewise.
+       (__arm_vbrsrq_x_n_s8): Likewise.
+       (__arm_vbrsrq_x_n_s16): Likewise.
+       (__arm_vbrsrq_x_n_s32): Likewise.
+       (__arm_vbrsrq_x_n_u8): Likewise.
+       (__arm_vbrsrq_x_n_u16): Likewise.
+       (__arm_vbrsrq_x_n_u32): Likewise.
+       (__arm_veorq_x_s8): Likewise.
+       (__arm_veorq_x_s16): Likewise.
+       (__arm_veorq_x_s32): Likewise.
+       (__arm_veorq_x_u8): Likewise.
+       (__arm_veorq_x_u16): Likewise.
+       (__arm_veorq_x_u32): Likewise.
+       (__arm_vmovlbq_x_s8): Likewise.
+       (__arm_vmovlbq_x_s16): Likewise.
+       (__arm_vmovlbq_x_u8): Likewise.
+       (__arm_vmovlbq_x_u16): Likewise.
+       (__arm_vmovltq_x_s8): Likewise.
+       (__arm_vmovltq_x_s16): Likewise.
+       (__arm_vmovltq_x_u8): Likewise.
+       (__arm_vmovltq_x_u16): Likewise.
+       (__arm_vmvnq_x_s8): Likewise.
+       (__arm_vmvnq_x_s16): Likewise.
+       (__arm_vmvnq_x_s32): Likewise.
+       (__arm_vmvnq_x_u8): Likewise.
+       (__arm_vmvnq_x_u16): Likewise.
+       (__arm_vmvnq_x_u32): Likewise.
+       (__arm_vmvnq_x_n_s16): Likewise.
+       (__arm_vmvnq_x_n_s32): Likewise.
+       (__arm_vmvnq_x_n_u16): Likewise.
+       (__arm_vmvnq_x_n_u32): Likewise.
+       (__arm_vornq_x_s8): Likewise.
+       (__arm_vornq_x_s16): Likewise.
+       (__arm_vornq_x_s32): Likewise.
+       (__arm_vornq_x_u8): Likewise.
+       (__arm_vornq_x_u16): Likewise.
+       (__arm_vornq_x_u32): Likewise.
+       (__arm_vorrq_x_s8): Likewise.
+       (__arm_vorrq_x_s16): Likewise.
+       (__arm_vorrq_x_s32): Likewise.
+       (__arm_vorrq_x_u8): Likewise.
+       (__arm_vorrq_x_u16): Likewise.
+       (__arm_vorrq_x_u32): Likewise.
+       (__arm_vrev16q_x_s8): Likewise.
+       (__arm_vrev16q_x_u8): Likewise.
+       (__arm_vrev32q_x_s8): Likewise.
+       (__arm_vrev32q_x_s16): Likewise.
+       (__arm_vrev32q_x_u8): Likewise.
+       (__arm_vrev32q_x_u16): Likewise.
+       (__arm_vrev64q_x_s8): Likewise.
+       (__arm_vrev64q_x_s16): Likewise.
+       (__arm_vrev64q_x_s32): Likewise.
+       (__arm_vrev64q_x_u8): Likewise.
+       (__arm_vrev64q_x_u16): Likewise.
+       (__arm_vrev64q_x_u32): Likewise.
+       (__arm_vrshlq_x_s8): Likewise.
+       (__arm_vrshlq_x_s16): Likewise.
+       (__arm_vrshlq_x_s32): Likewise.
+       (__arm_vrshlq_x_u8): Likewise.
+       (__arm_vrshlq_x_u16): Likewise.
+       (__arm_vrshlq_x_u32): Likewise.
+       (__arm_vshllbq_x_n_s8): Likewise.
+       (__arm_vshllbq_x_n_s16): Likewise.
+       (__arm_vshllbq_x_n_u8): Likewise.
+       (__arm_vshllbq_x_n_u16): Likewise.
+       (__arm_vshlltq_x_n_s8): Likewise.
+       (__arm_vshlltq_x_n_s16): Likewise.
+       (__arm_vshlltq_x_n_u8): Likewise.
+       (__arm_vshlltq_x_n_u16): Likewise.
+       (__arm_vshlq_x_s8): Likewise.
+       (__arm_vshlq_x_s16): Likewise.
+       (__arm_vshlq_x_s32): Likewise.
+       (__arm_vshlq_x_u8): Likewise.
+       (__arm_vshlq_x_u16): Likewise.
+       (__arm_vshlq_x_u32): Likewise.
+       (__arm_vshlq_x_n_s8): Likewise.
+       (__arm_vshlq_x_n_s16): Likewise.
+       (__arm_vshlq_x_n_s32): Likewise.
+       (__arm_vshlq_x_n_u8): Likewise.
+       (__arm_vshlq_x_n_u16): Likewise.
+       (__arm_vshlq_x_n_u32): Likewise.
+       (__arm_vrshrq_x_n_s8): Likewise.
+       (__arm_vrshrq_x_n_s16): Likewise.
+       (__arm_vrshrq_x_n_s32): Likewise.
+       (__arm_vrshrq_x_n_u8): Likewise.
+       (__arm_vrshrq_x_n_u16): Likewise.
+       (__arm_vrshrq_x_n_u32): Likewise.
+       (__arm_vshrq_x_n_s8): Likewise.
+       (__arm_vshrq_x_n_s16): Likewise.
+       (__arm_vshrq_x_n_s32): Likewise.
+       (__arm_vshrq_x_n_u8): Likewise.
+       (__arm_vshrq_x_n_u16): Likewise.
+       (__arm_vshrq_x_n_u32): Likewise.
+       (__arm_vdupq_x_n_f16): Likewise.
+       (__arm_vdupq_x_n_f32): Likewise.
+       (__arm_vminnmq_x_f16): Likewise.
+       (__arm_vminnmq_x_f32): Likewise.
+       (__arm_vmaxnmq_x_f16): Likewise.
+       (__arm_vmaxnmq_x_f32): Likewise.
+       (__arm_vabdq_x_f16): Likewise.
+       (__arm_vabdq_x_f32): Likewise.
+       (__arm_vabsq_x_f16): Likewise.
+       (__arm_vabsq_x_f32): Likewise.
+       (__arm_vaddq_x_f16): Likewise.
+       (__arm_vaddq_x_f32): Likewise.
+       (__arm_vaddq_x_n_f16): Likewise.
+       (__arm_vaddq_x_n_f32): Likewise.
+       (__arm_vnegq_x_f16): Likewise.
+       (__arm_vnegq_x_f32): Likewise.
+       (__arm_vmulq_x_f16): Likewise.
+       (__arm_vmulq_x_f32): Likewise.
+       (__arm_vmulq_x_n_f16): Likewise.
+       (__arm_vmulq_x_n_f32): Likewise.
+       (__arm_vsubq_x_f16): Likewise.
+       (__arm_vsubq_x_f32): Likewise.
+       (__arm_vsubq_x_n_f16): Likewise.
+       (__arm_vsubq_x_n_f32): Likewise.
+       (__arm_vcaddq_rot90_x_f16): Likewise.
+       (__arm_vcaddq_rot90_x_f32): Likewise.
+       (__arm_vcaddq_rot270_x_f16): Likewise.
+       (__arm_vcaddq_rot270_x_f32): Likewise.
+       (__arm_vcmulq_x_f16): Likewise.
+       (__arm_vcmulq_x_f32): Likewise.
+       (__arm_vcmulq_rot90_x_f16): Likewise.
+       (__arm_vcmulq_rot90_x_f32): Likewise.
+       (__arm_vcmulq_rot180_x_f16): Likewise.
+       (__arm_vcmulq_rot180_x_f32): Likewise.
+       (__arm_vcmulq_rot270_x_f16): Likewise.
+       (__arm_vcmulq_rot270_x_f32): Likewise.
+       (__arm_vcvtaq_x_s16_f16): Likewise.
+       (__arm_vcvtaq_x_s32_f32): Likewise.
+       (__arm_vcvtaq_x_u16_f16): Likewise.
+       (__arm_vcvtaq_x_u32_f32): Likewise.
+       (__arm_vcvtnq_x_s16_f16): Likewise.
+       (__arm_vcvtnq_x_s32_f32): Likewise.
+       (__arm_vcvtnq_x_u16_f16): Likewise.
+       (__arm_vcvtnq_x_u32_f32): Likewise.
+       (__arm_vcvtpq_x_s16_f16): Likewise.
+       (__arm_vcvtpq_x_s32_f32): Likewise.
+       (__arm_vcvtpq_x_u16_f16): Likewise.
+       (__arm_vcvtpq_x_u32_f32): Likewise.
+       (__arm_vcvtmq_x_s16_f16): Likewise.
+       (__arm_vcvtmq_x_s32_f32): Likewise.
+       (__arm_vcvtmq_x_u16_f16): Likewise.
+       (__arm_vcvtmq_x_u32_f32): Likewise.
+       (__arm_vcvtbq_x_f32_f16): Likewise.
+       (__arm_vcvttq_x_f32_f16): Likewise.
+       (__arm_vcvtq_x_f16_u16): Likewise.
+       (__arm_vcvtq_x_f16_s16): Likewise.
+       (__arm_vcvtq_x_f32_s32): Likewise.
+       (__arm_vcvtq_x_f32_u32): Likewise.
+       (__arm_vcvtq_x_n_f16_s16): Likewise.
+       (__arm_vcvtq_x_n_f16_u16): Likewise.
+       (__arm_vcvtq_x_n_f32_s32): Likewise.
+       (__arm_vcvtq_x_n_f32_u32): Likewise.
+       (__arm_vcvtq_x_s16_f16): Likewise.
+       (__arm_vcvtq_x_s32_f32): Likewise.
+       (__arm_vcvtq_x_u16_f16): Likewise.
+       (__arm_vcvtq_x_u32_f32): Likewise.
+       (__arm_vcvtq_x_n_s16_f16): Likewise.
+       (__arm_vcvtq_x_n_s32_f32): Likewise.
+       (__arm_vcvtq_x_n_u16_f16): Likewise.
+       (__arm_vcvtq_x_n_u32_f32): Likewise.
+       (__arm_vrndq_x_f16): Likewise.
+       (__arm_vrndq_x_f32): Likewise.
+       (__arm_vrndnq_x_f16): Likewise.
+       (__arm_vrndnq_x_f32): Likewise.
+       (__arm_vrndmq_x_f16): Likewise.
+       (__arm_vrndmq_x_f32): Likewise.
+       (__arm_vrndpq_x_f16): Likewise.
+       (__arm_vrndpq_x_f32): Likewise.
+       (__arm_vrndaq_x_f16): Likewise.
+       (__arm_vrndaq_x_f32): Likewise.
+       (__arm_vrndxq_x_f16): Likewise.
+       (__arm_vrndxq_x_f32): Likewise.
+       (__arm_vandq_x_f16): Likewise.
+       (__arm_vandq_x_f32): Likewise.
+       (__arm_vbicq_x_f16): Likewise.
+       (__arm_vbicq_x_f32): Likewise.
+       (__arm_vbrsrq_x_n_f16): Likewise.
+       (__arm_vbrsrq_x_n_f32): Likewise.
+       (__arm_veorq_x_f16): Likewise.
+       (__arm_veorq_x_f32): Likewise.
+       (__arm_vornq_x_f16): Likewise.
+       (__arm_vornq_x_f32): Likewise.
+       (__arm_vorrq_x_f16): Likewise.
+       (__arm_vorrq_x_f32): Likewise.
+       (__arm_vrev32q_x_f16): Likewise.
+       (__arm_vrev64q_x_f16): Likewise.
+       (__arm_vrev64q_x_f32): Likewise.
+       (vabdq_x): Define polymorphic variant.
+       (vabsq_x): Likewise.
+       (vaddq_x): Likewise.
+       (vandq_x): Likewise.
+       (vbicq_x): Likewise.
+       (vbrsrq_x): Likewise.
+       (vcaddq_rot270_x): Likewise.
+       (vcaddq_rot90_x): Likewise.
+       (vcmulq_rot180_x): Likewise.
+       (vcmulq_rot270_x): Likewise.
+       (vcmulq_x): Likewise.
+       (vcvtq_x): Likewise.
+       (vcvtq_x_n): Likewise.
+       (vcvtnq_m): Likewise.
+       (veorq_x): Likewise.
+       (vmaxnmq_x): Likewise.
+       (vminnmq_x): Likewise.
+       (vmulq_x): Likewise.
+       (vnegq_x): Likewise.
+       (vornq_x): Likewise.
+       (vorrq_x): Likewise.
+       (vrev32q_x): Likewise.
+       (vrev64q_x): Likewise.
+       (vrndaq_x): Likewise.
+       (vrndmq_x): Likewise.
+       (vrndnq_x): Likewise.
+       (vrndpq_x): Likewise.
+       (vrndq_x): Likewise.
+       (vrndxq_x): Likewise.
+       (vsubq_x): Likewise.
+       (vcmulq_rot90_x): Likewise.
+       (vadciq): Likewise.
+       (vclsq_x): Likewise.
+       (vclzq_x): Likewise.
+       (vhaddq_x): Likewise.
+       (vhcaddq_rot270_x): Likewise.
+       (vhcaddq_rot90_x): Likewise.
+       (vhsubq_x): Likewise.
+       (vmaxq_x): Likewise.
+       (vminq_x): Likewise.
+       (vmovlbq_x): Likewise.
+       (vmovltq_x): Likewise.
+       (vmulhq_x): Likewise.
+       (vmullbq_int_x): Likewise.
+       (vmullbq_poly_x): Likewise.
+       (vmulltq_int_x): Likewise.
+       (vmulltq_poly_x): Likewise.
+       (vmvnq_x): Likewise.
+       (vrev16q_x): Likewise.
+       (vrhaddq_x): Likewise.
+       (vrmulhq_x): Likewise.
+       (vrshlq_x): Likewise.
+       (vrshrq_x): Likewise.
+       (vshllbq_x): Likewise.
+       (vshlltq_x): Likewise.
+       (vshlq_x_n): Likewise.
+       (vshlq_x): Likewise.
+       (vdwdupq_x_u8): Likewise.
+       (vdwdupq_x_u16): Likewise.
+       (vdwdupq_x_u32): Likewise.
+       (viwdupq_x_u8): Likewise.
+       (viwdupq_x_u16): Likewise.
+       (viwdupq_x_u32): Likewise.
+       (vidupq_x_u8): Likewise.
+       (vddupq_x_u8): Likewise.
+       (vidupq_x_u16): Likewise.
+       (vddupq_x_u16): Likewise.
+       (vidupq_x_u32): Likewise.
+       (vddupq_x_u32): Likewise.
+       (vshrq_x): Likewise.
+
+2020-03-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Push the stmts
+       to vectorize for CTOR defs.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm-builtins.c (LDRGBWBS_QUALIFIERS): Define builtin
+       qualifier.
+       (LDRGBWBU_QUALIFIERS): Likewise.
+       (LDRGBWBS_Z_QUALIFIERS): Likewise.
+       (LDRGBWBU_Z_QUALIFIERS): Likewise.
+       (STRSBWBS_QUALIFIERS): Likewise.
+       (STRSBWBU_QUALIFIERS): Likewise.
+       (STRSBWBS_P_QUALIFIERS): Likewise.
+       (STRSBWBU_P_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vldrdq_gather_base_wb_s64): Define macro.
+       (vldrdq_gather_base_wb_u64): Likewise.
+       (vldrdq_gather_base_wb_z_s64): Likewise.
+       (vldrdq_gather_base_wb_z_u64): Likewise.
+       (vldrwq_gather_base_wb_f32): Likewise.
+       (vldrwq_gather_base_wb_s32): Likewise.
+       (vldrwq_gather_base_wb_u32): Likewise.
+       (vldrwq_gather_base_wb_z_f32): Likewise.
+       (vldrwq_gather_base_wb_z_s32): Likewise.
+       (vldrwq_gather_base_wb_z_u32): Likewise.
+       (vstrdq_scatter_base_wb_p_s64): Likewise.
+       (vstrdq_scatter_base_wb_p_u64): Likewise.
+       (vstrdq_scatter_base_wb_s64): Likewise.
+       (vstrdq_scatter_base_wb_u64): Likewise.
+       (vstrwq_scatter_base_wb_p_s32): Likewise.
+       (vstrwq_scatter_base_wb_p_f32): Likewise.
+       (vstrwq_scatter_base_wb_p_u32): Likewise.
+       (vstrwq_scatter_base_wb_s32): Likewise.
+       (vstrwq_scatter_base_wb_u32): Likewise.
+       (vstrwq_scatter_base_wb_f32): Likewise.
+       (__arm_vldrdq_gather_base_wb_s64): Define intrinsic.
+       (__arm_vldrdq_gather_base_wb_u64): Likewise.
+       (__arm_vldrdq_gather_base_wb_z_s64): Likewise.
+       (__arm_vldrdq_gather_base_wb_z_u64): Likewise.
+       (__arm_vldrwq_gather_base_wb_s32): Likewise.
+       (__arm_vldrwq_gather_base_wb_u32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_s32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_u32): Likewise.
+       (__arm_vstrdq_scatter_base_wb_s64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_u64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_s64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_u64): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_u32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_u32): Likewise.
+       (__arm_vldrwq_gather_base_wb_f32): Likewise.
+       (__arm_vldrwq_gather_base_wb_z_f32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_f32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_f32): Likewise.
+       (vstrwq_scatter_base_wb): Define polymorphic variant.
+       (vstrwq_scatter_base_wb_p): Likewise.
+       (vstrdq_scatter_base_wb_p): Likewise.
+       (vstrdq_scatter_base_wb): Likewise.
+       * config/arm/arm_mve_builtins.def (LDRGBWBS_QUALIFIERS): Use builtin
+       qualifier.
+       * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Define RTL
+       pattern.
+       (mve_vstrwq_scatter_base_wb_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_base_wb_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Likewise.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_p_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di_insn): Likewise.
+       (mve_vldrwq_gather_base_wb_<supf>v4si): Likewise.
+       (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Likewise.
+       (mve_vldrwq_gather_base_wb_z_<supf>v4si): Likewise.
+       (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Likewise.
+       (mve_vldrwq_gather_base_wb_fv4sf): Likewise.
+       (mve_vldrwq_gather_base_wb_fv4sf_insn): Likewise.
+       (mve_vldrwq_gather_base_wb_z_fv4sf): Likewise.
+       (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Likewise.
+       (mve_vldrdq_gather_base_wb_<supf>v2di): Likewise.
+       (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Likewise.
+       (mve_vldrdq_gather_base_wb_z_<supf>v2di): Likewise.
+       (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm-builtins.c
+       (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Define quinary
+       builtin qualifier.
+       * config/arm/arm_mve.h (vddupq_m_n_u8): Define macro.
+       (vddupq_m_n_u32): Likewise.
+       (vddupq_m_n_u16): Likewise.
+       (vddupq_m_wb_u8): Likewise.
+       (vddupq_m_wb_u16): Likewise.
+       (vddupq_m_wb_u32): Likewise.
+       (vddupq_n_u8): Likewise.
+       (vddupq_n_u32): Likewise.
+       (vddupq_n_u16): Likewise.
+       (vddupq_wb_u8): Likewise.
+       (vddupq_wb_u16): Likewise.
+       (vddupq_wb_u32): Likewise.
+       (vdwdupq_m_n_u8): Likewise.
+       (vdwdupq_m_n_u32): Likewise.
+       (vdwdupq_m_n_u16): Likewise.
+       (vdwdupq_m_wb_u8): Likewise.
+       (vdwdupq_m_wb_u32): Likewise.
+       (vdwdupq_m_wb_u16): Likewise.
+       (vdwdupq_n_u8): Likewise.
+       (vdwdupq_n_u32): Likewise.
+       (vdwdupq_n_u16): Likewise.
+       (vdwdupq_wb_u8): Likewise.
+       (vdwdupq_wb_u32): Likewise.
+       (vdwdupq_wb_u16): Likewise.
+       (vidupq_m_n_u8): Likewise.
+       (vidupq_m_n_u32): Likewise.
+       (vidupq_m_n_u16): Likewise.
+       (vidupq_m_wb_u8): Likewise.
+       (vidupq_m_wb_u16): Likewise.
+       (vidupq_m_wb_u32): Likewise.
+       (vidupq_n_u8): Likewise.
+       (vidupq_n_u32): Likewise.
+       (vidupq_n_u16): Likewise.
+       (vidupq_wb_u8): Likewise.
+       (vidupq_wb_u16): Likewise.
+       (vidupq_wb_u32): Likewise.
+       (viwdupq_m_n_u8): Likewise.
+       (viwdupq_m_n_u32): Likewise.
+       (viwdupq_m_n_u16): Likewise.
+       (viwdupq_m_wb_u8): Likewise.
+       (viwdupq_m_wb_u32): Likewise.
+       (viwdupq_m_wb_u16): Likewise.
+       (viwdupq_n_u8): Likewise.
+       (viwdupq_n_u32): Likewise.
+       (viwdupq_n_u16): Likewise.
+       (viwdupq_wb_u8): Likewise.
+       (viwdupq_wb_u32): Likewise.
+       (viwdupq_wb_u16): Likewise.
+       (__arm_vddupq_m_n_u8): Define intrinsic.
+       (__arm_vddupq_m_n_u32): Likewise.
+       (__arm_vddupq_m_n_u16): Likewise.
+       (__arm_vddupq_m_wb_u8): Likewise.
+       (__arm_vddupq_m_wb_u16): Likewise.
+       (__arm_vddupq_m_wb_u32): Likewise.
+       (__arm_vddupq_n_u8): Likewise.
+       (__arm_vddupq_n_u32): Likewise.
+       (__arm_vddupq_n_u16): Likewise.
+       (__arm_vdwdupq_m_n_u8): Likewise.
+       (__arm_vdwdupq_m_n_u32): Likewise.
+       (__arm_vdwdupq_m_n_u16): Likewise.
+       (__arm_vdwdupq_m_wb_u8): Likewise.
+       (__arm_vdwdupq_m_wb_u32): Likewise.
+       (__arm_vdwdupq_m_wb_u16): Likewise.
+       (__arm_vdwdupq_n_u8): Likewise.
+       (__arm_vdwdupq_n_u32): Likewise.
+       (__arm_vdwdupq_n_u16): Likewise.
+       (__arm_vdwdupq_wb_u8): Likewise.
+       (__arm_vdwdupq_wb_u32): Likewise.
+       (__arm_vdwdupq_wb_u16): Likewise.
+       (__arm_vidupq_m_n_u8): Likewise.
+       (__arm_vidupq_m_n_u32): Likewise.
+       (__arm_vidupq_m_n_u16): Likewise.
+       (__arm_vidupq_n_u8): Likewise.
+       (__arm_vidupq_m_wb_u8): Likewise.
+       (__arm_vidupq_m_wb_u16): Likewise.
+       (__arm_vidupq_m_wb_u32): Likewise.
+       (__arm_vidupq_n_u32): Likewise.
+       (__arm_vidupq_n_u16): Likewise.
+       (__arm_vidupq_wb_u8): Likewise.
+       (__arm_vidupq_wb_u16): Likewise.
+       (__arm_vidupq_wb_u32): Likewise.
+       (__arm_vddupq_wb_u8): Likewise.
+       (__arm_vddupq_wb_u16): Likewise.
+       (__arm_vddupq_wb_u32): Likewise.
+       (__arm_viwdupq_m_n_u8): Likewise.
+       (__arm_viwdupq_m_n_u32): Likewise.
+       (__arm_viwdupq_m_n_u16): Likewise.
+       (__arm_viwdupq_m_wb_u8): Likewise.
+       (__arm_viwdupq_m_wb_u32): Likewise.
+       (__arm_viwdupq_m_wb_u16): Likewise.
+       (__arm_viwdupq_n_u8): Likewise.
+       (__arm_viwdupq_n_u32): Likewise.
+       (__arm_viwdupq_n_u16): Likewise.
+       (__arm_viwdupq_wb_u8): Likewise.
+       (__arm_viwdupq_wb_u32): Likewise.
+       (__arm_viwdupq_wb_u16): Likewise.
+       (vidupq_m): Define polymorphic variant.
+       (vddupq_m): Likewise.
+       (vidupq_u16): Likewise.
+       (vidupq_u32): Likewise.
+       (vidupq_u8): Likewise.
+       (vddupq_u16): Likewise.
+       (vddupq_u32): Likewise.
+       (vddupq_u8): Likewise.
+       (viwdupq_m): Likewise.
+       (viwdupq_u16): Likewise.
+       (viwdupq_u32): Likewise.
+       (viwdupq_u8): Likewise.
+       (vdwdupq_m): Likewise.
+       (vdwdupq_u16): Likewise.
+       (vdwdupq_u32): Likewise.
+       (vdwdupq_u8): Likewise.
+       * config/arm/arm_mve_builtins.def
+       (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Use builtin
+       qualifier.
+       * config/arm/mve.md (mve_vidupq_n_u<mode>): Define RTL pattern.
+       (mve_vidupq_u<mode>_insn): Likewise.
+       (mve_vidupq_m_n_u<mode>): Likewise.
+       (mve_vidupq_m_wb_u<mode>_insn): Likewise.
+       (mve_vddupq_n_u<mode>): Likewise.
+       (mve_vddupq_u<mode>_insn): Likewise.
+       (mve_vddupq_m_n_u<mode>): Likewise.
+       (mve_vddupq_m_wb_u<mode>_insn): Likewise.
+       (mve_vdwdupq_n_u<mode>): Likewise.
+       (mve_vdwdupq_wb_u<mode>): Likewise.
+       (mve_vdwdupq_wb_u<mode>_insn): Likewise.
+       (mve_vdwdupq_m_n_u<mode>): Likewise.
+       (mve_vdwdupq_m_wb_u<mode>): Likewise.
+       (mve_vdwdupq_m_wb_u<mode>_insn): Likewise.
+       (mve_viwdupq_n_u<mode>): Likewise.
+       (mve_viwdupq_wb_u<mode>): Likewise.
+       (mve_viwdupq_wb_u<mode>_insn): Likewise.
+       (mve_viwdupq_m_n_u<mode>): Likewise.
+       (mve_viwdupq_m_wb_u<mode>): Likewise.
+       (mve_viwdupq_m_wb_u<mode>_insn): Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vreinterpretq_s16_s32): Define macro.
+       (vreinterpretq_s16_s64): Likewise.
+       (vreinterpretq_s16_s8): Likewise.
+       (vreinterpretq_s16_u16): Likewise.
+       (vreinterpretq_s16_u32): Likewise.
+       (vreinterpretq_s16_u64): Likewise.
+       (vreinterpretq_s16_u8): Likewise.
+       (vreinterpretq_s32_s16): Likewise.
+       (vreinterpretq_s32_s64): Likewise.
+       (vreinterpretq_s32_s8): Likewise.
+       (vreinterpretq_s32_u16): Likewise.
+       (vreinterpretq_s32_u32): Likewise.
+       (vreinterpretq_s32_u64): Likewise.
+       (vreinterpretq_s32_u8): Likewise.
+       (vreinterpretq_s64_s16): Likewise.
+       (vreinterpretq_s64_s32): Likewise.
+       (vreinterpretq_s64_s8): Likewise.
+       (vreinterpretq_s64_u16): Likewise.
+       (vreinterpretq_s64_u32): Likewise.
+       (vreinterpretq_s64_u64): Likewise.
+       (vreinterpretq_s64_u8): Likewise.
+       (vreinterpretq_s8_s16): Likewise.
+       (vreinterpretq_s8_s32): Likewise.
+       (vreinterpretq_s8_s64): Likewise.
+       (vreinterpretq_s8_u16): Likewise.
+       (vreinterpretq_s8_u32): Likewise.
+       (vreinterpretq_s8_u64): Likewise.
+       (vreinterpretq_s8_u8): Likewise.
+       (vreinterpretq_u16_s16): Likewise.
+       (vreinterpretq_u16_s32): Likewise.
+       (vreinterpretq_u16_s64): Likewise.
+       (vreinterpretq_u16_s8): Likewise.
+       (vreinterpretq_u16_u32): Likewise.
+       (vreinterpretq_u16_u64): Likewise.
+       (vreinterpretq_u16_u8): Likewise.
+       (vreinterpretq_u32_s16): Likewise.
+       (vreinterpretq_u32_s32): Likewise.
+       (vreinterpretq_u32_s64): Likewise.
+       (vreinterpretq_u32_s8): Likewise.
+       (vreinterpretq_u32_u16): Likewise.
+       (vreinterpretq_u32_u64): Likewise.
+       (vreinterpretq_u32_u8): Likewise.
+       (vreinterpretq_u64_s16): Likewise.
+       (vreinterpretq_u64_s32): Likewise.
+       (vreinterpretq_u64_s64): Likewise.
+       (vreinterpretq_u64_s8): Likewise.
+       (vreinterpretq_u64_u16): Likewise.
+       (vreinterpretq_u64_u32): Likewise.
+       (vreinterpretq_u64_u8): Likewise.
+       (vreinterpretq_u8_s16): Likewise.
+       (vreinterpretq_u8_s32): Likewise.
+       (vreinterpretq_u8_s64): Likewise.
+       (vreinterpretq_u8_s8): Likewise.
+       (vreinterpretq_u8_u16): Likewise.
+       (vreinterpretq_u8_u32): Likewise.
+       (vreinterpretq_u8_u64): Likewise.
+       (vreinterpretq_s32_f16): Likewise.
+       (vreinterpretq_s32_f32): Likewise.
+       (vreinterpretq_u16_f16): Likewise.
+       (vreinterpretq_u16_f32): Likewise.
+       (vreinterpretq_u32_f16): Likewise.
+       (vreinterpretq_u32_f32): Likewise.
+       (vreinterpretq_u64_f16): Likewise.
+       (vreinterpretq_u64_f32): Likewise.
+       (vreinterpretq_u8_f16): Likewise.
+       (vreinterpretq_u8_f32): Likewise.
+       (vreinterpretq_f16_f32): Likewise.
+       (vreinterpretq_f16_s16): Likewise.
+       (vreinterpretq_f16_s32): Likewise.
+       (vreinterpretq_f16_s64): Likewise.
+       (vreinterpretq_f16_s8): Likewise.
+       (vreinterpretq_f16_u16): Likewise.
+       (vreinterpretq_f16_u32): Likewise.
+       (vreinterpretq_f16_u64): Likewise.
+       (vreinterpretq_f16_u8): Likewise.
+       (vreinterpretq_f32_f16): Likewise.
+       (vreinterpretq_f32_s16): Likewise.
+       (vreinterpretq_f32_s32): Likewise.
+       (vreinterpretq_f32_s64): Likewise.
+       (vreinterpretq_f32_s8): Likewise.
+       (vreinterpretq_f32_u16): Likewise.
+       (vreinterpretq_f32_u32): Likewise.
+       (vreinterpretq_f32_u64): Likewise.
+       (vreinterpretq_f32_u8): Likewise.
+       (vreinterpretq_s16_f16): Likewise.
+       (vreinterpretq_s16_f32): Likewise.
+       (vreinterpretq_s64_f16): Likewise.
+       (vreinterpretq_s64_f32): Likewise.
+       (vreinterpretq_s8_f16): Likewise.
+       (vreinterpretq_s8_f32): Likewise.
+       (vuninitializedq_u8): Likewise.
+       (vuninitializedq_u16): Likewise.
+       (vuninitializedq_u32): Likewise.
+       (vuninitializedq_u64): Likewise.
+       (vuninitializedq_s8): Likewise.
+       (vuninitializedq_s16): Likewise.
+       (vuninitializedq_s32): Likewise.
+       (vuninitializedq_s64): Likewise.
+       (vuninitializedq_f16): Likewise.
+       (vuninitializedq_f32): Likewise.
+       (__arm_vuninitializedq_u8): Define intrinsic.
+       (__arm_vuninitializedq_u16): Likewise.
+       (__arm_vuninitializedq_u32): Likewise.
+       (__arm_vuninitializedq_u64): Likewise.
+       (__arm_vuninitializedq_s8): Likewise.
+       (__arm_vuninitializedq_s16): Likewise.
+       (__arm_vuninitializedq_s32): Likewise.
+       (__arm_vuninitializedq_s64): Likewise.
+       (__arm_vreinterpretq_s16_s32): Likewise.
+       (__arm_vreinterpretq_s16_s64): Likewise.
+       (__arm_vreinterpretq_s16_s8): Likewise.
+       (__arm_vreinterpretq_s16_u16): Likewise.
+       (__arm_vreinterpretq_s16_u32): Likewise.
+       (__arm_vreinterpretq_s16_u64): Likewise.
+       (__arm_vreinterpretq_s16_u8): Likewise.
+       (__arm_vreinterpretq_s32_s16): Likewise.
+       (__arm_vreinterpretq_s32_s64): Likewise.
+       (__arm_vreinterpretq_s32_s8): Likewise.
+       (__arm_vreinterpretq_s32_u16): Likewise.
+       (__arm_vreinterpretq_s32_u32): Likewise.
+       (__arm_vreinterpretq_s32_u64): Likewise.
+       (__arm_vreinterpretq_s32_u8): Likewise.
+       (__arm_vreinterpretq_s64_s16): Likewise.
+       (__arm_vreinterpretq_s64_s32): Likewise.
+       (__arm_vreinterpretq_s64_s8): Likewise.
+       (__arm_vreinterpretq_s64_u16): Likewise.
+       (__arm_vreinterpretq_s64_u32): Likewise.
+       (__arm_vreinterpretq_s64_u64): Likewise.
+       (__arm_vreinterpretq_s64_u8): Likewise.
+       (__arm_vreinterpretq_s8_s16): Likewise.
+       (__arm_vreinterpretq_s8_s32): Likewise.
+       (__arm_vreinterpretq_s8_s64): Likewise.
+       (__arm_vreinterpretq_s8_u16): Likewise.
+       (__arm_vreinterpretq_s8_u32): Likewise.
+       (__arm_vreinterpretq_s8_u64): Likewise.
+       (__arm_vreinterpretq_s8_u8): Likewise.
+       (__arm_vreinterpretq_u16_s16): Likewise.
+       (__arm_vreinterpretq_u16_s32): Likewise.
+       (__arm_vreinterpretq_u16_s64): Likewise.
+       (__arm_vreinterpretq_u16_s8): Likewise.
+       (__arm_vreinterpretq_u16_u32): Likewise.
+       (__arm_vreinterpretq_u16_u64): Likewise.
+       (__arm_vreinterpretq_u16_u8): Likewise.
+       (__arm_vreinterpretq_u32_s16): Likewise.
+       (__arm_vreinterpretq_u32_s32): Likewise.
+       (__arm_vreinterpretq_u32_s64): Likewise.
+       (__arm_vreinterpretq_u32_s8): Likewise.
+       (__arm_vreinterpretq_u32_u16): Likewise.
+       (__arm_vreinterpretq_u32_u64): Likewise.
+       (__arm_vreinterpretq_u32_u8): Likewise.
+       (__arm_vreinterpretq_u64_s16): Likewise.
+       (__arm_vreinterpretq_u64_s32): Likewise.
+       (__arm_vreinterpretq_u64_s64): Likewise.
+       (__arm_vreinterpretq_u64_s8): Likewise.
+       (__arm_vreinterpretq_u64_u16): Likewise.
+       (__arm_vreinterpretq_u64_u32): Likewise.
+       (__arm_vreinterpretq_u64_u8): Likewise.
+       (__arm_vreinterpretq_u8_s16): Likewise.
+       (__arm_vreinterpretq_u8_s32): Likewise.
+       (__arm_vreinterpretq_u8_s64): Likewise.
+       (__arm_vreinterpretq_u8_s8): Likewise.
+       (__arm_vreinterpretq_u8_u16): Likewise.
+       (__arm_vreinterpretq_u8_u32): Likewise.
+       (__arm_vreinterpretq_u8_u64): Likewise.
+       (__arm_vuninitializedq_f16): Likewise.
+       (__arm_vuninitializedq_f32): Likewise.
+       (__arm_vreinterpretq_s32_f16): Likewise.
+       (__arm_vreinterpretq_s32_f32): Likewise.
+       (__arm_vreinterpretq_s16_f16): Likewise.
+       (__arm_vreinterpretq_s16_f32): Likewise.
+       (__arm_vreinterpretq_s64_f16): Likewise.
+       (__arm_vreinterpretq_s64_f32): Likewise.
+       (__arm_vreinterpretq_s8_f16): Likewise.
+       (__arm_vreinterpretq_s8_f32): Likewise.
+       (__arm_vreinterpretq_u16_f16): Likewise.
+       (__arm_vreinterpretq_u16_f32): Likewise.
+       (__arm_vreinterpretq_u32_f16): Likewise.
+       (__arm_vreinterpretq_u32_f32): Likewise.
+       (__arm_vreinterpretq_u64_f16): Likewise.
+       (__arm_vreinterpretq_u64_f32): Likewise.
+       (__arm_vreinterpretq_u8_f16): Likewise.
+       (__arm_vreinterpretq_u8_f32): Likewise.
+       (__arm_vreinterpretq_f16_f32): Likewise.
+       (__arm_vreinterpretq_f16_s16): Likewise.
+       (__arm_vreinterpretq_f16_s32): Likewise.
+       (__arm_vreinterpretq_f16_s64): Likewise.
+       (__arm_vreinterpretq_f16_s8): Likewise.
+       (__arm_vreinterpretq_f16_u16): Likewise.
+       (__arm_vreinterpretq_f16_u32): Likewise.
+       (__arm_vreinterpretq_f16_u64): Likewise.
+       (__arm_vreinterpretq_f16_u8): Likewise.
+       (__arm_vreinterpretq_f32_f16): Likewise.
+       (__arm_vreinterpretq_f32_s16): Likewise.
+       (__arm_vreinterpretq_f32_s32): Likewise.
+       (__arm_vreinterpretq_f32_s64): Likewise.
+       (__arm_vreinterpretq_f32_s8): Likewise.
+       (__arm_vreinterpretq_f32_u16): Likewise.
+       (__arm_vreinterpretq_f32_u32): Likewise.
+       (__arm_vreinterpretq_f32_u64): Likewise.
+       (__arm_vreinterpretq_f32_u8): Likewise.
+       (vuninitializedq): Define polymorphic variant.
+       (vreinterpretq_f16): Likewise.
+       (vreinterpretq_f32): Likewise.
+       (vreinterpretq_s16): Likewise.
+       (vreinterpretq_s32): Likewise.
+       (vreinterpretq_s64): Likewise.
+       (vreinterpretq_s8): Likewise.
+       (vreinterpretq_u16): Likewise.
+       (vreinterpretq_u32): Likewise.
+       (vreinterpretq_u64): Likewise.
+       (vreinterpretq_u8): Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm_mve.h (vaddq_s8): Define macro.
+       (vaddq_s16): Likewise.
+       (vaddq_s32): Likewise.
+       (vaddq_u8): Likewise.
+       (vaddq_u16): Likewise.
+       (vaddq_u32): Likewise.
+       (vaddq_f16): Likewise.
+       (vaddq_f32): Likewise.
+       (__arm_vaddq_s8): Define intrinsic.
+       (__arm_vaddq_s16): Likewise.
+       (__arm_vaddq_s32): Likewise.
+       (__arm_vaddq_u8): Likewise.
+       (__arm_vaddq_u16): Likewise.
+       (__arm_vaddq_u32): Likewise.
+       (__arm_vaddq_f16): Likewise.
+       (__arm_vaddq_f32): Likewise.
+       (vaddq): Define polymorphic variant.
+       * config/arm/iterators.md (VNIM): Define mode iterator for common types
+       Neon, IWMMXT and MVE.
+       (VNINOTM): Likewise.
+       * config/arm/mve.md (mve_vaddq<mode>): Define RTL pattern.
+       (mve_vaddq_f<mode>): Define RTL pattern.
+       * config/arm/neon.md (add<mode>3): Rename to addv4hf3 RTL pattern.
+       (addv8hf3_neon): Define RTL pattern.
+       * config/arm/vec-common.md (add<mode>3): Modify standard add RTL pattern
+       to support MVE.
+       (addv8hf3): Define standard RTL pattern for MVE and Neon.
+       (add<mode>3): Modify existing standard add RTL pattern for Neon and IWMMXT.
+
+2020-03-20  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/94232
+       * ipa-cp.c (ipa_get_jf_ancestor_result): Use offset in bytes. Previously
+       build_ref_for_offset function was used and it transforms off to bytes
+       from bits.
+
+2020-03-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94266
+       * gimple-ssa-sprintf.c (get_origin_and_offset): Use the
+       type of the underlying object to adjust for the containing
+       field if available.
+
+2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/unspecs.md (UNSPEC_GET_FPSCR): Rename this to ...
+       (VUNSPEC_GET_FPSCR): ... this, and move it to vunspec.
+       * config/arm/vfp.md: (get_fpscr, set_fpscr): Revert to old patterns.
+
+2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/mve.md (mve_mov<mode>): Fix R->R case.
+
+2020-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94224
+       * gimple-ssa-store-merging.c
+       (imm_store_chain_info::coalesce_immediate): Don't consider overlapping
+       or adjacent INTEGER_CST rhs_code stores as mergeable if they have
+       different lp_nr.
+
+2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.md (define_attr "conds"): Fix logic for neon and mve.
+
+2020-03-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/94202
+       * cgraph.c (cgraph_node::function_symbol): Fix availability computation.
+       (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
+
+2020-03-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/92372
+       * cgraphunit.c (process_function_and_variable_attributes): warn
+       for flatten attribute on alias.
+       * ipa-inline.c (ipa_inline): Do not ICE on flatten attribute on alias.
+
+2020-03-19  Martin Liska  <mliska@suse.cz>
+
+       * lto-section-in.c: Add ext_symtab.
+       * lto-streamer-out.c (write_symbol_extension_info): New.
+       (produce_symtab_extension): New.
+       (produce_asm_for_decls): Stream also produce_symtab_extension.
+       * lto-streamer.h (enum lto_section_type): New section.
+
+2020-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94211
+       * tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq
+       instead of estimate_num_insns for bb_seq (middle_bb).  Rename
+       emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust
+       all uses.
+
+2020-03-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/94217
+       * ipa-cp.c (ipa_get_jf_ancestor_result): Avoid build_fold_addr_expr
+       and build_ref_for_offset.
+
+2020-03-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94216
+       * fold-const.c (fold_binary_loc): Avoid using
+       build_fold_addr_expr when we really want an ADDR_EXPR.
+
+2020-03-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md (wd, wf, wi, ws, ww): New undocumented
+       aliases for "wa".
+
+2020-03-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/90275
+       * cse.c (cse_insn): Delete no-op register moves too.
+
+2020-03-18  Martin Sebor  <msebor@redhat.com>
+
+       PR ipa/92799
+       * cgraphunit.c (process_function_and_variable_attributes): Also
+       complain about weakref function definitions and drop all effects
+       of the attribute.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vstrdq_scatter_base_p_s64): Define macro.
+       (vstrdq_scatter_base_p_u64): Likewise.
+       (vstrdq_scatter_base_s64): Likewise.
+       (vstrdq_scatter_base_u64): Likewise.
+       (vstrdq_scatter_offset_p_s64): Likewise.
+       (vstrdq_scatter_offset_p_u64): Likewise.
+       (vstrdq_scatter_offset_s64): Likewise.
+       (vstrdq_scatter_offset_u64): Likewise.
+       (vstrdq_scatter_shifted_offset_p_s64): Likewise.
+       (vstrdq_scatter_shifted_offset_p_u64): Likewise.
+       (vstrdq_scatter_shifted_offset_s64): Likewise.
+       (vstrdq_scatter_shifted_offset_u64): Likewise.
+       (vstrhq_scatter_offset_f16): Likewise.
+       (vstrhq_scatter_offset_p_f16): Likewise.
+       (vstrhq_scatter_shifted_offset_f16): Likewise.
+       (vstrhq_scatter_shifted_offset_p_f16): Likewise.
+       (vstrwq_scatter_base_f32): Likewise.
+       (vstrwq_scatter_base_p_f32): Likewise.
+       (vstrwq_scatter_offset_f32): Likewise.
+       (vstrwq_scatter_offset_p_f32): Likewise.
+       (vstrwq_scatter_offset_p_s32): Likewise.
+       (vstrwq_scatter_offset_p_u32): Likewise.
+       (vstrwq_scatter_offset_s32): Likewise.
+       (vstrwq_scatter_offset_u32): Likewise.
+       (vstrwq_scatter_shifted_offset_f32): Likewise.
+       (vstrwq_scatter_shifted_offset_p_f32): Likewise.
+       (vstrwq_scatter_shifted_offset_p_s32): Likewise.
+       (vstrwq_scatter_shifted_offset_p_u32): Likewise.
+       (vstrwq_scatter_shifted_offset_s32): Likewise.
+       (vstrwq_scatter_shifted_offset_u32): Likewise.
+       (__arm_vstrdq_scatter_base_p_s64): Define intrinsic.
+       (__arm_vstrdq_scatter_base_p_u64): Likewise.
+       (__arm_vstrdq_scatter_base_s64): Likewise.
+       (__arm_vstrdq_scatter_base_u64): Likewise.
+       (__arm_vstrdq_scatter_offset_p_s64): Likewise.
+       (__arm_vstrdq_scatter_offset_p_u64): Likewise.
+       (__arm_vstrdq_scatter_offset_s64): Likewise.
+       (__arm_vstrdq_scatter_offset_u64): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset_p_s64): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset_p_u64): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset_s64): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset_u64): Likewise.
+       (__arm_vstrwq_scatter_offset_p_s32): Likewise.
+       (__arm_vstrwq_scatter_offset_p_u32): Likewise.
+       (__arm_vstrwq_scatter_offset_s32): Likewise.
+       (__arm_vstrwq_scatter_offset_u32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_p_s32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_p_u32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_s32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_u32): Likewise.
+       (__arm_vstrhq_scatter_offset_f16): Likewise.
+       (__arm_vstrhq_scatter_offset_p_f16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_f16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_p_f16): Likewise.
+       (__arm_vstrwq_scatter_base_f32): Likewise.
+       (__arm_vstrwq_scatter_base_p_f32): Likewise.
+       (__arm_vstrwq_scatter_offset_f32): Likewise.
+       (__arm_vstrwq_scatter_offset_p_f32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_f32): Likewise.
+       (__arm_vstrwq_scatter_shifted_offset_p_f32): Likewise.
+       (vstrhq_scatter_offset): Define polymorphic variant.
+       (vstrhq_scatter_offset_p): Likewise.
+       (vstrhq_scatter_shifted_offset): Likewise.
+       (vstrhq_scatter_shifted_offset_p): Likewise.
+       (vstrwq_scatter_base): Likewise.
+       (vstrwq_scatter_base_p): Likewise.
+       (vstrwq_scatter_offset): Likewise.
+       (vstrwq_scatter_offset_p): Likewise.
+       (vstrwq_scatter_shifted_offset): Likewise.
+       (vstrwq_scatter_shifted_offset_p): Likewise.
+       (vstrdq_scatter_base_p): Likewise.
+       (vstrdq_scatter_base): Likewise.
+       (vstrdq_scatter_offset_p): Likewise.
+       (vstrdq_scatter_offset): Likewise.
+       (vstrdq_scatter_shifted_offset_p): Likewise.
+       (vstrdq_scatter_shifted_offset): Likewise.
+       * config/arm/arm_mve_builtins.def (STRSBS): Use builtin qualifier.
+       (STRSBS_P): Likewise.
+       (STRSBU): Likewise.
+       (STRSBU_P): Likewise.
+       (STRSS): Likewise.
+       (STRSS_P): Likewise.
+       (STRSU): Likewise.
+       (STRSU_P): Likewise.
+       * config/arm/constraints.md (Ri): Define.
+       * config/arm/mve.md (VSTRDSBQ): Define iterator.
+       (VSTRDSOQ): Likewise.
+       (VSTRDSSOQ): Likewise.
+       (VSTRWSOQ): Likewise.
+       (VSTRWSSOQ): Likewise.
+       (mve_vstrdq_scatter_base_p_<supf>v2di): Define RTL pattern.
+       (mve_vstrdq_scatter_base_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise.
+       (mve_vstrwq_scatter_base_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Likewise.
+       * config/arm/predicates.md (Ri): Define predicate to check immediate
+       is the range +/-1016 and multiple of 8.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vst1q_f32): Define macro.
+       (vst1q_f16): Likewise.
+       (vst1q_s8): Likewise.
+       (vst1q_s32): Likewise.
+       (vst1q_s16): Likewise.
+       (vst1q_u8): Likewise.
+       (vst1q_u32): Likewise.
+       (vst1q_u16): Likewise.
+       (vstrhq_f16): Likewise.
+       (vstrhq_scatter_offset_s32): Likewise.
+       (vstrhq_scatter_offset_s16): Likewise.
+       (vstrhq_scatter_offset_u32): Likewise.
+       (vstrhq_scatter_offset_u16): Likewise.
+       (vstrhq_scatter_offset_p_s32): Likewise.
+       (vstrhq_scatter_offset_p_s16): Likewise.
+       (vstrhq_scatter_offset_p_u32): Likewise.
+       (vstrhq_scatter_offset_p_u16): Likewise.
+       (vstrhq_scatter_shifted_offset_s32): Likewise.
+       (vstrhq_scatter_shifted_offset_s16): Likewise.
+       (vstrhq_scatter_shifted_offset_u32): Likewise.
+       (vstrhq_scatter_shifted_offset_u16): Likewise.
+       (vstrhq_scatter_shifted_offset_p_s32): Likewise.
+       (vstrhq_scatter_shifted_offset_p_s16): Likewise.
+       (vstrhq_scatter_shifted_offset_p_u32): Likewise.
+       (vstrhq_scatter_shifted_offset_p_u16): Likewise.
+       (vstrhq_s32): Likewise.
+       (vstrhq_s16): Likewise.
+       (vstrhq_u32): Likewise.
+       (vstrhq_u16): Likewise.
+       (vstrhq_p_f16): Likewise.
+       (vstrhq_p_s32): Likewise.
+       (vstrhq_p_s16): Likewise.
+       (vstrhq_p_u32): Likewise.
+       (vstrhq_p_u16): Likewise.
+       (vstrwq_f32): Likewise.
+       (vstrwq_s32): Likewise.
+       (vstrwq_u32): Likewise.
+       (vstrwq_p_f32): Likewise.
+       (vstrwq_p_s32): Likewise.
+       (vstrwq_p_u32): Likewise.
+       (__arm_vst1q_s8): Define intrinsic.
+       (__arm_vst1q_s32): Likewise.
+       (__arm_vst1q_s16): Likewise.
+       (__arm_vst1q_u8): Likewise.
+       (__arm_vst1q_u32): Likewise.
+       (__arm_vst1q_u16): Likewise.
+       (__arm_vstrhq_scatter_offset_s32): Likewise.
+       (__arm_vstrhq_scatter_offset_s16): Likewise.
+       (__arm_vstrhq_scatter_offset_u32): Likewise.
+       (__arm_vstrhq_scatter_offset_u16): Likewise.
+       (__arm_vstrhq_scatter_offset_p_s32): Likewise.
+       (__arm_vstrhq_scatter_offset_p_s16): Likewise.
+       (__arm_vstrhq_scatter_offset_p_u32): Likewise.
+       (__arm_vstrhq_scatter_offset_p_u16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_s32): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_s16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_u32): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_u16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_p_s32): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_p_s16): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_p_u32): Likewise.
+       (__arm_vstrhq_scatter_shifted_offset_p_u16): Likewise.
+       (__arm_vstrhq_s32): Likewise.
+       (__arm_vstrhq_s16): Likewise.
+       (__arm_vstrhq_u32): Likewise.
+       (__arm_vstrhq_u16): Likewise.
+       (__arm_vstrhq_p_s32): Likewise.
+       (__arm_vstrhq_p_s16): Likewise.
+       (__arm_vstrhq_p_u32): Likewise.
+       (__arm_vstrhq_p_u16): Likewise.
+       (__arm_vstrwq_s32): Likewise.
+       (__arm_vstrwq_u32): Likewise.
+       (__arm_vstrwq_p_s32): Likewise.
+       (__arm_vstrwq_p_u32): Likewise.
+       (__arm_vstrwq_p_f32): Likewise.
+       (__arm_vstrwq_f32): Likewise.
+       (__arm_vst1q_f32): Likewise.
+       (__arm_vst1q_f16): Likewise.
+       (__arm_vstrhq_f16): Likewise.
+       (__arm_vstrhq_p_f16): Likewise.
+       (vst1q): Define polymorphic variant.
+       (vstrhq): Likewise.
+       (vstrhq_p): Likewise.
+       (vstrhq_scatter_offset_p): Likewise.
+       (vstrhq_scatter_offset): Likewise.
+       (vstrhq_scatter_shifted_offset_p): Likewise.
+       (vstrhq_scatter_shifted_offset): Likewise.
+       (vstrwq_p): Likewise.
+       (vstrwq): Likewise.
+       * config/arm/arm_mve_builtins.def (STRS): Use builtin qualifier.
+       (STRS_P): Likewise.
+       (STRSS): Likewise.
+       (STRSS_P): Likewise.
+       (STRSU): Likewise.
+       (STRSU_P): Likewise.
+       (STRU): Likewise.
+       (STRU_P): Likewise.
+       * config/arm/mve.md (VST1Q): Define iterator.
+       (VSTRHSOQ): Likewise.
+       (VSTRHSSOQ): Likewise.
+       (VSTRHQ): Likewise.
+       (VSTRWQ): Likewise.
+       (mve_vstrhq_fv8hf): Define RTL pattern.
+       (mve_vstrhq_p_fv8hf): Likewise.
+       (mve_vstrhq_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Likewise.
+       (mve_vstrhq_<supf><mode>): Likewise.
+       (mve_vstrwq_fv4sf): Likewise.
+       (mve_vstrwq_p_fv4sf): Likewise.
+       (mve_vstrwq_p_<supf>v4si): Likewise.
+       (mve_vstrwq_<supf>v4si): Likewise.
+       (mve_vst1q_f<mode>): Define expand.
+       (mve_vst1q_<supf><mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vld1q_s8): Define macro.
+       (vld1q_s32): Likewise.
+       (vld1q_s16): Likewise.
+       (vld1q_u8): Likewise.
+       (vld1q_u32): Likewise.
+       (vld1q_u16): Likewise.
+       (vldrhq_gather_offset_s32): Likewise.
+       (vldrhq_gather_offset_s16): Likewise.
+       (vldrhq_gather_offset_u32): Likewise.
+       (vldrhq_gather_offset_u16): Likewise.
+       (vldrhq_gather_offset_z_s32): Likewise.
+       (vldrhq_gather_offset_z_s16): Likewise.
+       (vldrhq_gather_offset_z_u32): Likewise.
+       (vldrhq_gather_offset_z_u16): Likewise.
+       (vldrhq_gather_shifted_offset_s32): Likewise.
+       (vldrhq_gather_shifted_offset_s16): Likewise.
+       (vldrhq_gather_shifted_offset_u32): Likewise.
+       (vldrhq_gather_shifted_offset_u16): Likewise.
+       (vldrhq_gather_shifted_offset_z_s32): Likewise.
+       (vldrhq_gather_shifted_offset_z_s16): Likewise.
+       (vldrhq_gather_shifted_offset_z_u32): Likewise.
+       (vldrhq_gather_shifted_offset_z_u16): Likewise.
+       (vldrhq_s32): Likewise.
+       (vldrhq_s16): Likewise.
+       (vldrhq_u32): Likewise.
+       (vldrhq_u16): Likewise.
+       (vldrhq_z_s32): Likewise.
+       (vldrhq_z_s16): Likewise.
+       (vldrhq_z_u32): Likewise.
+       (vldrhq_z_u16): Likewise.
+       (vldrwq_s32): Likewise.
+       (vldrwq_u32): Likewise.
+       (vldrwq_z_s32): Likewise.
+       (vldrwq_z_u32): Likewise.
+       (vld1q_f32): Likewise.
+       (vld1q_f16): Likewise.
+       (vldrhq_f16): Likewise.
+       (vldrhq_z_f16): Likewise.
+       (vldrwq_f32): Likewise.
+       (vldrwq_z_f32): Likewise.
+       (__arm_vld1q_s8): Define intrinsic.
+       (__arm_vld1q_s32): Likewise.
+       (__arm_vld1q_s16): Likewise.
+       (__arm_vld1q_u8): Likewise.
+       (__arm_vld1q_u32): Likewise.
+       (__arm_vld1q_u16): Likewise.
+       (__arm_vldrhq_gather_offset_s32): Likewise.
+       (__arm_vldrhq_gather_offset_s16): Likewise.
+       (__arm_vldrhq_gather_offset_u32): Likewise.
+       (__arm_vldrhq_gather_offset_u16): Likewise.
+       (__arm_vldrhq_gather_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_offset_z_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise.
+       (__arm_vldrhq_s32): Likewise.
+       (__arm_vldrhq_s16): Likewise.
+       (__arm_vldrhq_u32): Likewise.
+       (__arm_vldrhq_u16): Likewise.
+       (__arm_vldrhq_z_s32): Likewise.
+       (__arm_vldrhq_z_s16): Likewise.
+       (__arm_vldrhq_z_u32): Likewise.
+       (__arm_vldrhq_z_u16): Likewise.
+       (__arm_vldrwq_s32): Likewise.
+       (__arm_vldrwq_u32): Likewise.
+       (__arm_vldrwq_z_s32): Likewise.
+       (__arm_vldrwq_z_u32): Likewise.
+       (__arm_vld1q_f32): Likewise.
+       (__arm_vld1q_f16): Likewise.
+       (__arm_vldrwq_f32): Likewise.
+       (__arm_vldrwq_z_f32): Likewise.
+       (__arm_vldrhq_z_f16): Likewise.
+       (__arm_vldrhq_f16): Likewise.
+       (vld1q): Define polymorphic variant.
+       (vldrhq_gather_offset): Likewise.
+       (vldrhq_gather_offset_z): Likewise.
+       (vldrhq_gather_shifted_offset): Likewise.
+       (vldrhq_gather_shifted_offset_z): Likewise.
+       * config/arm/arm_mve_builtins.def (LDRU): Use builtin qualifier.
+       (LDRS): Likewise.
+       (LDRU_Z): Likewise.
+       (LDRS_Z): Likewise.
+       (LDRGU_Z): Likewise.
+       (LDRGU): Likewise.
+       (LDRGS_Z): Likewise.
+       (LDRGS): Likewise.
+       * config/arm/mve.md (MVE_H_ELEM): Define mode iterator.
+       (V_sz_elem1): Likewise.
+       (VLD1Q): Define iterator.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (mve_vldrhq_fv8hf): Define RTL pattern.
+       (mve_vldrhq_gather_offset_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_offset_z_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_shifted_offset_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Likewise.
+       (mve_vldrhq_<supf><mode>): Likewise.
+       (mve_vldrhq_z_fv8hf): Likewise.
+       (mve_vldrhq_z_<supf><mode>): Likewise.
+       (mve_vldrwq_fv4sf): Likewise.
+       (mve_vldrwq_<supf>v4si): Likewise.
+       (mve_vldrwq_z_fv4sf): Likewise.
+       (mve_vldrwq_z_<supf>v4si): Likewise.
+       (mve_vld1q_f<mode>): Define RTL expand pattern.
+       (mve_vld1q_<supf><mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vld1q_s8): Define macro.
+       (vld1q_s32): Likewise.
+       (vld1q_s16): Likewise.
+       (vld1q_u8): Likewise.
+       (vld1q_u32): Likewise.
+       (vld1q_u16): Likewise.
+       (vldrhq_gather_offset_s32): Likewise.
+       (vldrhq_gather_offset_s16): Likewise.
+       (vldrhq_gather_offset_u32): Likewise.
+       (vldrhq_gather_offset_u16): Likewise.
+       (vldrhq_gather_offset_z_s32): Likewise.
+       (vldrhq_gather_offset_z_s16): Likewise.
+       (vldrhq_gather_offset_z_u32): Likewise.
+       (vldrhq_gather_offset_z_u16): Likewise.
+       (vldrhq_gather_shifted_offset_s32): Likewise.
+       (vldrhq_gather_shifted_offset_s16): Likewise.
+       (vldrhq_gather_shifted_offset_u32): Likewise.
+       (vldrhq_gather_shifted_offset_u16): Likewise.
+       (vldrhq_gather_shifted_offset_z_s32): Likewise.
+       (vldrhq_gather_shifted_offset_z_s16): Likewise.
+       (vldrhq_gather_shifted_offset_z_u32): Likewise.
+       (vldrhq_gather_shifted_offset_z_u16): Likewise.
+       (vldrhq_s32): Likewise.
+       (vldrhq_s16): Likewise.
+       (vldrhq_u32): Likewise.
+       (vldrhq_u16): Likewise.
+       (vldrhq_z_s32): Likewise.
+       (vldrhq_z_s16): Likewise.
+       (vldrhq_z_u32): Likewise.
+       (vldrhq_z_u16): Likewise.
+       (vldrwq_s32): Likewise.
+       (vldrwq_u32): Likewise.
+       (vldrwq_z_s32): Likewise.
+       (vldrwq_z_u32): Likewise.
+       (vld1q_f32): Likewise.
+       (vld1q_f16): Likewise.
+       (vldrhq_f16): Likewise.
+       (vldrhq_z_f16): Likewise.
+       (vldrwq_f32): Likewise.
+       (vldrwq_z_f32): Likewise.
+       (__arm_vld1q_s8): Define intrinsic.
+       (__arm_vld1q_s32): Likewise.
+       (__arm_vld1q_s16): Likewise.
+       (__arm_vld1q_u8): Likewise.
+       (__arm_vld1q_u32): Likewise.
+       (__arm_vld1q_u16): Likewise.
+       (__arm_vldrhq_gather_offset_s32): Likewise.
+       (__arm_vldrhq_gather_offset_s16): Likewise.
+       (__arm_vldrhq_gather_offset_u32): Likewise.
+       (__arm_vldrhq_gather_offset_u16): Likewise.
+       (__arm_vldrhq_gather_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_offset_z_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_u16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise.
+       (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise.
+       (__arm_vldrhq_s32): Likewise.
+       (__arm_vldrhq_s16): Likewise.
+       (__arm_vldrhq_u32): Likewise.
+       (__arm_vldrhq_u16): Likewise.
+       (__arm_vldrhq_z_s32): Likewise.
+       (__arm_vldrhq_z_s16): Likewise.
+       (__arm_vldrhq_z_u32): Likewise.
+       (__arm_vldrhq_z_u16): Likewise.
+       (__arm_vldrwq_s32): Likewise.
+       (__arm_vldrwq_u32): Likewise.
+       (__arm_vldrwq_z_s32): Likewise.
+       (__arm_vldrwq_z_u32): Likewise.
+       (__arm_vld1q_f32): Likewise.
+       (__arm_vld1q_f16): Likewise.
+       (__arm_vldrwq_f32): Likewise.
+       (__arm_vldrwq_z_f32): Likewise.
+       (__arm_vldrhq_z_f16): Likewise.
+       (__arm_vldrhq_f16): Likewise.
+       (vld1q): Define polymorphic variant.
+       (vldrhq_gather_offset): Likewise.
+       (vldrhq_gather_offset_z): Likewise.
+       (vldrhq_gather_shifted_offset): Likewise.
+       (vldrhq_gather_shifted_offset_z): Likewise.
+       * config/arm/arm_mve_builtins.def (LDRU): Use builtin qualifier.
+       (LDRS): Likewise.
+       (LDRU_Z): Likewise.
+       (LDRS_Z): Likewise.
+       (LDRGU_Z): Likewise.
+       (LDRGU): Likewise.
+       (LDRGS_Z): Likewise.
+       (LDRGS): Likewise.
+       * config/arm/mve.md (MVE_H_ELEM): Define mode iterator.
+       (V_sz_elem1): Likewise.
+       (VLD1Q): Define iterator.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (mve_vldrhq_fv8hf): Define RTL pattern.
+       (mve_vldrhq_gather_offset_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_offset_z_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_shifted_offset_<supf><mode>): Likewise.
+       (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Likewise.
+       (mve_vldrhq_<supf><mode>): Likewise.
+       (mve_vldrhq_z_fv8hf): Likewise.
+       (mve_vldrhq_z_<supf><mode>): Likewise.
+       (mve_vldrwq_fv4sf): Likewise.
+       (mve_vldrwq_<supf>v4si): Likewise.
+       (mve_vldrwq_z_fv4sf): Likewise.
+       (mve_vldrwq_z_<supf>v4si): Likewise.
+       (mve_vld1q_f<mode>): Define RTL expand pattern.
+       (mve_vld1q_<supf><mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (LDRGBS_Z_QUALIFIERS): Define builtin
+       qualifier.
+       (LDRGBU_Z_QUALIFIERS): Likewise.
+       (LDRGS_Z_QUALIFIERS): Likewise.
+       (LDRGU_Z_QUALIFIERS): Likewise.
+       (LDRS_Z_QUALIFIERS): Likewise.
+       (LDRU_Z_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vldrbq_gather_offset_z_s16): Define macro.
+       (vldrbq_gather_offset_z_u8): Likewise.
+       (vldrbq_gather_offset_z_s32): Likewise.
+       (vldrbq_gather_offset_z_u16): Likewise.
+       (vldrbq_gather_offset_z_u32): Likewise.
+       (vldrbq_gather_offset_z_s8): Likewise.
+       (vldrbq_z_s16): Likewise.
+       (vldrbq_z_u8): Likewise.
+       (vldrbq_z_s8): Likewise.
+       (vldrbq_z_s32): Likewise.
+       (vldrbq_z_u16): Likewise.
+       (vldrbq_z_u32): Likewise.
+       (vldrwq_gather_base_z_u32): Likewise.
+       (vldrwq_gather_base_z_s32): Likewise.
+       (__arm_vldrbq_gather_offset_z_s8): Define intrinsic.
+       (__arm_vldrbq_gather_offset_z_s32): Likewise.
+       (__arm_vldrbq_gather_offset_z_s16): Likewise.
+       (__arm_vldrbq_gather_offset_z_u8): Likewise.
+       (__arm_vldrbq_gather_offset_z_u32): Likewise.
+       (__arm_vldrbq_gather_offset_z_u16): Likewise.
+       (__arm_vldrbq_z_s8): Likewise.
+       (__arm_vldrbq_z_s32): Likewise.
+       (__arm_vldrbq_z_s16): Likewise.
+       (__arm_vldrbq_z_u8): Likewise.
+       (__arm_vldrbq_z_u32): Likewise.
+       (__arm_vldrbq_z_u16): Likewise.
+       (__arm_vldrwq_gather_base_z_s32): Likewise.
+       (__arm_vldrwq_gather_base_z_u32): Likewise.
+       (vldrbq_gather_offset_z): Define polymorphic variant.
+       * config/arm/arm_mve_builtins.def (LDRGBS_Z_QUALIFIERS): Use builtin
+       qualifier.
+       (LDRGBU_Z_QUALIFIERS): Likewise.
+       (LDRGS_Z_QUALIFIERS): Likewise.
+       (LDRGU_Z_QUALIFIERS): Likewise.
+       (LDRS_Z_QUALIFIERS): Likewise.
+       (LDRU_Z_QUALIFIERS): Likewise.
+       * config/arm/mve.md (mve_vldrbq_gather_offset_z_<supf><mode>): Define
+       RTL pattern.
+       (mve_vldrbq_z_<supf><mode>): Likewise.
+       (mve_vldrwq_gather_base_z_<supf>v4si): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (STRS_P_QUALIFIERS): Define builtin
+       qualifier.
+       (STRU_P_QUALIFIERS): Likewise.
+       (STRSU_P_QUALIFIERS): Likewise.
+       (STRSS_P_QUALIFIERS): Likewise.
+       (STRSBS_P_QUALIFIERS): Likewise.
+       (STRSBU_P_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vstrbq_p_s8): Define macro.
+       (vstrbq_p_s32): Likewise.
+       (vstrbq_p_s16): Likewise.
+       (vstrbq_p_u8): Likewise.
+       (vstrbq_p_u32): Likewise.
+       (vstrbq_p_u16): Likewise.
+       (vstrbq_scatter_offset_p_s8): Likewise.
+       (vstrbq_scatter_offset_p_s32): Likewise.
+       (vstrbq_scatter_offset_p_s16): Likewise.
+       (vstrbq_scatter_offset_p_u8): Likewise.
+       (vstrbq_scatter_offset_p_u32): Likewise.
+       (vstrbq_scatter_offset_p_u16): Likewise.
+       (vstrwq_scatter_base_p_s32): Likewise.
+       (vstrwq_scatter_base_p_u32): Likewise.
+       (__arm_vstrbq_p_s8): Define intrinsic.
+       (__arm_vstrbq_p_s32): Likewise.
+       (__arm_vstrbq_p_s16): Likewise.
+       (__arm_vstrbq_p_u8): Likewise.
+       (__arm_vstrbq_p_u32): Likewise.
+       (__arm_vstrbq_p_u16): Likewise.
+       (__arm_vstrbq_scatter_offset_p_s8): Likewise.
+       (__arm_vstrbq_scatter_offset_p_s32): Likewise.
+       (__arm_vstrbq_scatter_offset_p_s16): Likewise.
+       (__arm_vstrbq_scatter_offset_p_u8): Likewise.
+       (__arm_vstrbq_scatter_offset_p_u32): Likewise.
+       (__arm_vstrbq_scatter_offset_p_u16): Likewise.
+       (__arm_vstrwq_scatter_base_p_s32): Likewise.
+       (__arm_vstrwq_scatter_base_p_u32): Likewise.
+       (vstrbq_p): Define polymorphic variant.
+       (vstrbq_scatter_offset_p): Likewise.
+       (vstrwq_scatter_base_p): Likewise.
+       * config/arm/arm_mve_builtins.def (STRS_P_QUALIFIERS): Use builtin
+       qualifier.
+       (STRU_P_QUALIFIERS): Likewise.
+       (STRSU_P_QUALIFIERS): Likewise.
+       (STRSS_P_QUALIFIERS): Likewise.
+       (STRSBS_P_QUALIFIERS): Likewise.
+       (STRSBU_P_QUALIFIERS): Likewise.
+       * config/arm/mve.md (mve_vstrbq_scatter_offset_p_<supf><mode>): Define
+       RTL pattern.
+       (mve_vstrwq_scatter_base_p_<supf>v4si): Likewise.
+       (mve_vstrbq_p_<supf><mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (LDRGU_QUALIFIERS): Define builtin
+       qualifier.
+       (LDRGS_QUALIFIERS): Likewise.
+       (LDRS_QUALIFIERS): Likewise.
+       (LDRU_QUALIFIERS): Likewise.
+       (LDRGBS_QUALIFIERS): Likewise.
+       (LDRGBU_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vldrbq_gather_offset_u8): Define macro.
+       (vldrbq_gather_offset_s8): Likewise.
+       (vldrbq_s8): Likewise.
+       (vldrbq_u8): Likewise.
+       (vldrbq_gather_offset_u16): Likewise.
+       (vldrbq_gather_offset_s16): Likewise.
+       (vldrbq_s16): Likewise.
+       (vldrbq_u16): Likewise.
+       (vldrbq_gather_offset_u32): Likewise.
+       (vldrbq_gather_offset_s32): Likewise.
+       (vldrbq_s32): Likewise.
+       (vldrbq_u32): Likewise.
+       (vldrwq_gather_base_s32): Likewise.
+       (vldrwq_gather_base_u32): Likewise.
+       (__arm_vldrbq_gather_offset_u8): Define intrinsic.
+       (__arm_vldrbq_gather_offset_s8): Likewise.
+       (__arm_vldrbq_s8): Likewise.
+       (__arm_vldrbq_u8): Likewise.
+       (__arm_vldrbq_gather_offset_u16): Likewise.
+       (__arm_vldrbq_gather_offset_s16): Likewise.
+       (__arm_vldrbq_s16): Likewise.
+       (__arm_vldrbq_u16): Likewise.
+       (__arm_vldrbq_gather_offset_u32): Likewise.
+       (__arm_vldrbq_gather_offset_s32): Likewise.
+       (__arm_vldrbq_s32): Likewise.
+       (__arm_vldrbq_u32): Likewise.
+       (__arm_vldrwq_gather_base_s32): Likewise.
+       (__arm_vldrwq_gather_base_u32): Likewise.
+       (vldrbq_gather_offset): Define polymorphic variant.
+       * config/arm/arm_mve_builtins.def (LDRGU_QUALIFIERS): Use builtin
+       qualifier.
+       (LDRGS_QUALIFIERS): Likewise.
+       (LDRS_QUALIFIERS): Likewise.
+       (LDRU_QUALIFIERS): Likewise.
+       (LDRGBS_QUALIFIERS): Likewise.
+       (LDRGBU_QUALIFIERS): Likewise.
+       * config/arm/mve.md (VLDRBGOQ): Define iterator.
+       (VLDRBQ): Likewise. 
+       (VLDRWGBQ): Likewise.
+       (mve_vldrbq_gather_offset_<supf><mode>): Define RTL pattern.
+       (mve_vldrbq_<supf><mode>): Likewise.
+       (mve_vldrwq_gather_base_<supf>v4si): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (STRS_QUALIFIERS): Define builtin qualifier.
+       (STRU_QUALIFIERS): Likewise.
+       (STRSS_QUALIFIERS): Likewise.
+       (STRSU_QUALIFIERS): Likewise.
+       (STRSBS_QUALIFIERS): Likewise.
+       (STRSBU_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vstrbq_s8): Define macro.
+       (vstrbq_u8): Likewise.
+       (vstrbq_u16): Likewise.
+       (vstrbq_scatter_offset_s8): Likewise.
+       (vstrbq_scatter_offset_u8): Likewise.
+       (vstrbq_scatter_offset_u16): Likewise.
+       (vstrbq_s16): Likewise.
+       (vstrbq_u32): Likewise.
+       (vstrbq_scatter_offset_s16): Likewise.
+       (vstrbq_scatter_offset_u32): Likewise.
+       (vstrbq_s32): Likewise.
+       (vstrbq_scatter_offset_s32): Likewise.
+       (vstrwq_scatter_base_s32): Likewise.
+       (vstrwq_scatter_base_u32): Likewise.
+       (__arm_vstrbq_scatter_offset_s8): Define intrinsic.
+       (__arm_vstrbq_scatter_offset_s32): Likewise.
+       (__arm_vstrbq_scatter_offset_s16): Likewise.
+       (__arm_vstrbq_scatter_offset_u8): Likewise.
+       (__arm_vstrbq_scatter_offset_u32): Likewise.
+       (__arm_vstrbq_scatter_offset_u16): Likewise.
+       (__arm_vstrbq_s8): Likewise.
+       (__arm_vstrbq_s32): Likewise.
+       (__arm_vstrbq_s16): Likewise.
+       (__arm_vstrbq_u8): Likewise.
+       (__arm_vstrbq_u32): Likewise.
+       (__arm_vstrbq_u16): Likewise.
+       (__arm_vstrwq_scatter_base_s32): Likewise.
+       (__arm_vstrwq_scatter_base_u32): Likewise.
+       (vstrbq): Define polymorphic variant.
+       (vstrbq_scatter_offset): Likewise.
+       (vstrwq_scatter_base): Likewise.
+       * config/arm/arm_mve_builtins.def (STRS_QUALIFIERS): Use builtin
+       qualifier.
+       (STRU_QUALIFIERS): Likewise.
+       (STRSS_QUALIFIERS): Likewise.
+       (STRSU_QUALIFIERS): Likewise.
+       (STRSBS_QUALIFIERS): Likewise.
+       (STRSBU_QUALIFIERS): Likewise.
+       * config/arm/mve.md (MVE_B_ELEM): Define mode attribute iterator.
+       (VSTRWSBQ): Define iterators.
+       (VSTRBSOQ): Likewise. 
+       (VSTRBQ): Likewise.
+       (mve_vstrbq_<supf><mode>): Define RTL pattern.
+       (mve_vstrbq_scatter_offset_<supf><mode>): Likewise.
+       (mve_vstrwq_scatter_base_<supf>v4si): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vabdq_m_f32): Define macro.
+       (vabdq_m_f16): Likewise.
+       (vaddq_m_f32): Likewise.
+       (vaddq_m_f16): Likewise.
+       (vaddq_m_n_f32): Likewise.
+       (vaddq_m_n_f16): Likewise.
+       (vandq_m_f32): Likewise.
+       (vandq_m_f16): Likewise.
+       (vbicq_m_f32): Likewise.
+       (vbicq_m_f16): Likewise.
+       (vbrsrq_m_n_f32): Likewise.
+       (vbrsrq_m_n_f16): Likewise.
+       (vcaddq_rot270_m_f32): Likewise.
+       (vcaddq_rot270_m_f16): Likewise.
+       (vcaddq_rot90_m_f32): Likewise.
+       (vcaddq_rot90_m_f16): Likewise.
+       (vcmlaq_m_f32): Likewise.
+       (vcmlaq_m_f16): Likewise.
+       (vcmlaq_rot180_m_f32): Likewise.
+       (vcmlaq_rot180_m_f16): Likewise.
+       (vcmlaq_rot270_m_f32): Likewise.
+       (vcmlaq_rot270_m_f16): Likewise.
+       (vcmlaq_rot90_m_f32): Likewise.
+       (vcmlaq_rot90_m_f16): Likewise.
+       (vcmulq_m_f32): Likewise.
+       (vcmulq_m_f16): Likewise.
+       (vcmulq_rot180_m_f32): Likewise.
+       (vcmulq_rot180_m_f16): Likewise.
+       (vcmulq_rot270_m_f32): Likewise.
+       (vcmulq_rot270_m_f16): Likewise.
+       (vcmulq_rot90_m_f32): Likewise.
+       (vcmulq_rot90_m_f16): Likewise.
+       (vcvtq_m_n_s32_f32): Likewise.
+       (vcvtq_m_n_s16_f16): Likewise.
+       (vcvtq_m_n_u32_f32): Likewise.
+       (vcvtq_m_n_u16_f16): Likewise.
+       (veorq_m_f32): Likewise.
+       (veorq_m_f16): Likewise.
+       (vfmaq_m_f32): Likewise.
+       (vfmaq_m_f16): Likewise.
+       (vfmaq_m_n_f32): Likewise.
+       (vfmaq_m_n_f16): Likewise.
+       (vfmasq_m_n_f32): Likewise.
+       (vfmasq_m_n_f16): Likewise.
+       (vfmsq_m_f32): Likewise.
+       (vfmsq_m_f16): Likewise.
+       (vmaxnmq_m_f32): Likewise.
+       (vmaxnmq_m_f16): Likewise.
+       (vminnmq_m_f32): Likewise.
+       (vminnmq_m_f16): Likewise.
+       (vmulq_m_f32): Likewise.
+       (vmulq_m_f16): Likewise.
+       (vmulq_m_n_f32): Likewise.
+       (vmulq_m_n_f16): Likewise.
+       (vornq_m_f32): Likewise.
+       (vornq_m_f16): Likewise.
+       (vorrq_m_f32): Likewise.
+       (vorrq_m_f16): Likewise.
+       (vsubq_m_f32): Likewise.
+       (vsubq_m_f16): Likewise.
+       (vsubq_m_n_f32): Likewise.
+       (vsubq_m_n_f16): Likewise.
+       (__attribute__): Likewise.
+       (__arm_vabdq_m_f32): Likewise.
+       (__arm_vabdq_m_f16): Likewise.
+       (__arm_vaddq_m_f32): Likewise.
+       (__arm_vaddq_m_f16): Likewise.
+       (__arm_vaddq_m_n_f32): Likewise.
+       (__arm_vaddq_m_n_f16): Likewise.
+       (__arm_vandq_m_f32): Likewise.
+       (__arm_vandq_m_f16): Likewise.
+       (__arm_vbicq_m_f32): Likewise.
+       (__arm_vbicq_m_f16): Likewise.
+       (__arm_vbrsrq_m_n_f32): Likewise.
+       (__arm_vbrsrq_m_n_f16): Likewise.
+       (__arm_vcaddq_rot270_m_f32): Likewise.
+       (__arm_vcaddq_rot270_m_f16): Likewise.
+       (__arm_vcaddq_rot90_m_f32): Likewise.
+       (__arm_vcaddq_rot90_m_f16): Likewise.
+       (__arm_vcmlaq_m_f32): Likewise.
+       (__arm_vcmlaq_m_f16): Likewise.
+       (__arm_vcmlaq_rot180_m_f32): Likewise.
+       (__arm_vcmlaq_rot180_m_f16): Likewise.
+       (__arm_vcmlaq_rot270_m_f32): Likewise.
+       (__arm_vcmlaq_rot270_m_f16): Likewise.
+       (__arm_vcmlaq_rot90_m_f32): Likewise.
+       (__arm_vcmlaq_rot90_m_f16): Likewise.
+       (__arm_vcmulq_m_f32): Likewise.
+       (__arm_vcmulq_m_f16): Likewise.
+       (__arm_vcmulq_rot180_m_f32): Define intrinsic.
+       (__arm_vcmulq_rot180_m_f16): Likewise.
+       (__arm_vcmulq_rot270_m_f32): Likewise.
+       (__arm_vcmulq_rot270_m_f16): Likewise.
+       (__arm_vcmulq_rot90_m_f32): Likewise.
+       (__arm_vcmulq_rot90_m_f16): Likewise.
+       (__arm_vcvtq_m_n_s32_f32): Likewise.
+       (__arm_vcvtq_m_n_s16_f16): Likewise.
+       (__arm_vcvtq_m_n_u32_f32): Likewise.
+       (__arm_vcvtq_m_n_u16_f16): Likewise.
+       (__arm_veorq_m_f32): Likewise.
+       (__arm_veorq_m_f16): Likewise.
+       (__arm_vfmaq_m_f32): Likewise.
+       (__arm_vfmaq_m_f16): Likewise.
+       (__arm_vfmaq_m_n_f32): Likewise.
+       (__arm_vfmaq_m_n_f16): Likewise.
+       (__arm_vfmasq_m_n_f32): Likewise.
+       (__arm_vfmasq_m_n_f16): Likewise.
+       (__arm_vfmsq_m_f32): Likewise.
+       (__arm_vfmsq_m_f16): Likewise.
+       (__arm_vmaxnmq_m_f32): Likewise.
+       (__arm_vmaxnmq_m_f16): Likewise.
+       (__arm_vminnmq_m_f32): Likewise.
+       (__arm_vminnmq_m_f16): Likewise.
+       (__arm_vmulq_m_f32): Likewise.
+       (__arm_vmulq_m_f16): Likewise.
+       (__arm_vmulq_m_n_f32): Likewise.
+       (__arm_vmulq_m_n_f16): Likewise.
+       (__arm_vornq_m_f32): Likewise.
+       (__arm_vornq_m_f16): Likewise.
+       (__arm_vorrq_m_f32): Likewise.
+       (__arm_vorrq_m_f16): Likewise.
+       (__arm_vsubq_m_f32): Likewise.
+       (__arm_vsubq_m_f16): Likewise.
+       (__arm_vsubq_m_n_f32): Likewise.
+       (__arm_vsubq_m_n_f16): Likewise.
+       (vabdq_m): Define polymorphic variant.
+       (vaddq_m): Likewise.
+       (vaddq_m_n): Likewise.
+       (vandq_m): Likewise.
+       (vbicq_m): Likewise.
+       (vbrsrq_m_n): Likewise.
+       (vcaddq_rot270_m): Likewise.
+       (vcaddq_rot90_m): Likewise.
+       (vcmlaq_m): Likewise.
+       (vcmlaq_rot180_m): Likewise.
+       (vcmlaq_rot270_m): Likewise.
+       (vcmlaq_rot90_m): Likewise.
+       (vcmulq_m): Likewise.
+       (vcmulq_rot180_m): Likewise.
+       (vcmulq_rot270_m): Likewise.
+       (vcmulq_rot90_m): Likewise.
+       (veorq_m): Likewise.
+       (vfmaq_m): Likewise.
+       (vfmaq_m_n): Likewise.
+       (vfmasq_m_n): Likewise.
+       (vfmsq_m): Likewise.
+       (vmaxnmq_m): Likewise.
+       (vminnmq_m): Likewise.
+       (vmulq_m): Likewise.
+       (vmulq_m_n): Likewise.
+       (vornq_m): Likewise.
+       (vsubq_m): Likewise.
+       (vsubq_m_n): Likewise.
+       (vorrq_m): Likewise.
+       * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use
+       builtin qualifier.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_NONE_IMM_UNONE): Likewise.
+       * config/arm/mve.md (mve_vabdq_m_f<mode>): Define RTL pattern.
+       (mve_vaddq_m_f<mode>): Likewise.
+       (mve_vaddq_m_n_f<mode>): Likewise.
+       (mve_vandq_m_f<mode>): Likewise.
+       (mve_vbicq_m_f<mode>): Likewise.
+       (mve_vbrsrq_m_n_f<mode>): Likewise.
+       (mve_vcaddq_rot270_m_f<mode>): Likewise.
+       (mve_vcaddq_rot90_m_f<mode>): Likewise.
+       (mve_vcmlaq_m_f<mode>): Likewise.
+       (mve_vcmlaq_rot180_m_f<mode>): Likewise.
+       (mve_vcmlaq_rot270_m_f<mode>): Likewise.
+       (mve_vcmlaq_rot90_m_f<mode>): Likewise.
+       (mve_vcmulq_m_f<mode>): Likewise.
+       (mve_vcmulq_rot180_m_f<mode>): Likewise.
+       (mve_vcmulq_rot270_m_f<mode>): Likewise.
+       (mve_vcmulq_rot90_m_f<mode>): Likewise.
+       (mve_veorq_m_f<mode>): Likewise.
+       (mve_vfmaq_m_f<mode>): Likewise.
+       (mve_vfmaq_m_n_f<mode>): Likewise.
+       (mve_vfmasq_m_n_f<mode>): Likewise.
+       (mve_vfmsq_m_f<mode>): Likewise.
+       (mve_vmaxnmq_m_f<mode>): Likewise.
+       (mve_vminnmq_m_f<mode>): Likewise.
+       (mve_vmulq_m_f<mode>): Likewise.
+       (mve_vmulq_m_n_f<mode>): Likewise.
+       (mve_vornq_m_f<mode>): Likewise.
+       (mve_vorrq_m_f<mode>): Likewise.
+       (mve_vsubq_m_f<mode>): Likewise.
+       (mve_vsubq_m_n_f<mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-protos.h (arm_mve_immediate_check): 
+       * config/arm/arm.c (arm_mve_immediate_check): Define fuction to check
+       mode and interger value.
+       * config/arm/arm_mve.h (vmlaldavaq_p_s32): Define macro.
+       (vmlaldavaq_p_s16): Likewise.
+       (vmlaldavaq_p_u32): Likewise.
+       (vmlaldavaq_p_u16): Likewise.
+       (vmlaldavaxq_p_s32): Likewise.
+       (vmlaldavaxq_p_s16): Likewise.
+       (vmlaldavaxq_p_u32): Likewise.
+       (vmlaldavaxq_p_u16): Likewise.
+       (vmlsldavaq_p_s32): Likewise.
+       (vmlsldavaq_p_s16): Likewise.
+       (vmlsldavaxq_p_s32): Likewise.
+       (vmlsldavaxq_p_s16): Likewise.
+       (vmullbq_poly_m_p8): Likewise.
+       (vmullbq_poly_m_p16): Likewise.
+       (vmulltq_poly_m_p8): Likewise.
+       (vmulltq_poly_m_p16): Likewise.
+       (vqdmullbq_m_n_s32): Likewise.
+       (vqdmullbq_m_n_s16): Likewise.
+       (vqdmullbq_m_s32): Likewise.
+       (vqdmullbq_m_s16): Likewise.
+       (vqdmulltq_m_n_s32): Likewise.
+       (vqdmulltq_m_n_s16): Likewise.
+       (vqdmulltq_m_s32): Likewise.
+       (vqdmulltq_m_s16): Likewise.
+       (vqrshrnbq_m_n_s32): Likewise.
+       (vqrshrnbq_m_n_s16): Likewise.
+       (vqrshrnbq_m_n_u32): Likewise.
+       (vqrshrnbq_m_n_u16): Likewise.
+       (vqrshrntq_m_n_s32): Likewise.
+       (vqrshrntq_m_n_s16): Likewise.
+       (vqrshrntq_m_n_u32): Likewise.
+       (vqrshrntq_m_n_u16): Likewise.
+       (vqrshrunbq_m_n_s32): Likewise.
+       (vqrshrunbq_m_n_s16): Likewise.
+       (vqrshruntq_m_n_s32): Likewise.
+       (vqrshruntq_m_n_s16): Likewise.
+       (vqshrnbq_m_n_s32): Likewise.
+       (vqshrnbq_m_n_s16): Likewise.
+       (vqshrnbq_m_n_u32): Likewise.
+       (vqshrnbq_m_n_u16): Likewise.
+       (vqshrntq_m_n_s32): Likewise.
+       (vqshrntq_m_n_s16): Likewise.
+       (vqshrntq_m_n_u32): Likewise.
+       (vqshrntq_m_n_u16): Likewise.
+       (vqshrunbq_m_n_s32): Likewise.
+       (vqshrunbq_m_n_s16): Likewise.
+       (vqshruntq_m_n_s32): Likewise.
+       (vqshruntq_m_n_s16): Likewise.
+       (vrmlaldavhaq_p_s32): Likewise.
+       (vrmlaldavhaq_p_u32): Likewise.
+       (vrmlaldavhaxq_p_s32): Likewise.
+       (vrmlsldavhaq_p_s32): Likewise.
+       (vrmlsldavhaxq_p_s32): Likewise.
+       (vrshrnbq_m_n_s32): Likewise.
+       (vrshrnbq_m_n_s16): Likewise.
+       (vrshrnbq_m_n_u32): Likewise.
+       (vrshrnbq_m_n_u16): Likewise.
+       (vrshrntq_m_n_s32): Likewise.
+       (vrshrntq_m_n_s16): Likewise.
+       (vrshrntq_m_n_u32): Likewise.
+       (vrshrntq_m_n_u16): Likewise.
+       (vshllbq_m_n_s8): Likewise.
+       (vshllbq_m_n_s16): Likewise.
+       (vshllbq_m_n_u8): Likewise.
+       (vshllbq_m_n_u16): Likewise.
+       (vshlltq_m_n_s8): Likewise.
+       (vshlltq_m_n_s16): Likewise.
+       (vshlltq_m_n_u8): Likewise.
+       (vshlltq_m_n_u16): Likewise.
+       (vshrnbq_m_n_s32): Likewise.
+       (vshrnbq_m_n_s16): Likewise.
+       (vshrnbq_m_n_u32): Likewise.
+       (vshrnbq_m_n_u16): Likewise.
+       (vshrntq_m_n_s32): Likewise.
+       (vshrntq_m_n_s16): Likewise.
+       (vshrntq_m_n_u32): Likewise.
+       (vshrntq_m_n_u16): Likewise.
+       (__arm_vmlaldavaq_p_s32): Define intrinsic.
+       (__arm_vmlaldavaq_p_s16): Likewise.
+       (__arm_vmlaldavaq_p_u32): Likewise.
+       (__arm_vmlaldavaq_p_u16): Likewise.
+       (__arm_vmlaldavaxq_p_s32): Likewise.
+       (__arm_vmlaldavaxq_p_s16): Likewise.
+       (__arm_vmlaldavaxq_p_u32): Likewise.
+       (__arm_vmlaldavaxq_p_u16): Likewise.
+       (__arm_vmlsldavaq_p_s32): Likewise.
+       (__arm_vmlsldavaq_p_s16): Likewise.
+       (__arm_vmlsldavaxq_p_s32): Likewise.
+       (__arm_vmlsldavaxq_p_s16): Likewise.
+       (__arm_vmullbq_poly_m_p8): Likewise.
+       (__arm_vmullbq_poly_m_p16): Likewise.
+       (__arm_vmulltq_poly_m_p8): Likewise.
+       (__arm_vmulltq_poly_m_p16): Likewise.
+       (__arm_vqdmullbq_m_n_s32): Likewise.
+       (__arm_vqdmullbq_m_n_s16): Likewise.
+       (__arm_vqdmullbq_m_s32): Likewise.
+       (__arm_vqdmullbq_m_s16): Likewise.
+       (__arm_vqdmulltq_m_n_s32): Likewise.
+       (__arm_vqdmulltq_m_n_s16): Likewise.
+       (__arm_vqdmulltq_m_s32): Likewise.
+       (__arm_vqdmulltq_m_s16): Likewise.
+       (__arm_vqrshrnbq_m_n_s32): Likewise.
+       (__arm_vqrshrnbq_m_n_s16): Likewise.
+       (__arm_vqrshrnbq_m_n_u32): Likewise.
+       (__arm_vqrshrnbq_m_n_u16): Likewise.
+       (__arm_vqrshrntq_m_n_s32): Likewise.
+       (__arm_vqrshrntq_m_n_s16): Likewise.
+       (__arm_vqrshrntq_m_n_u32): Likewise.
+       (__arm_vqrshrntq_m_n_u16): Likewise.
+       (__arm_vqrshrunbq_m_n_s32): Likewise.
+       (__arm_vqrshrunbq_m_n_s16): Likewise.
+       (__arm_vqrshruntq_m_n_s32): Likewise.
+       (__arm_vqrshruntq_m_n_s16): Likewise.
+       (__arm_vqshrnbq_m_n_s32): Likewise.
+       (__arm_vqshrnbq_m_n_s16): Likewise.
+       (__arm_vqshrnbq_m_n_u32): Likewise.
+       (__arm_vqshrnbq_m_n_u16): Likewise.
+       (__arm_vqshrntq_m_n_s32): Likewise.
+       (__arm_vqshrntq_m_n_s16): Likewise.
+       (__arm_vqshrntq_m_n_u32): Likewise.
+       (__arm_vqshrntq_m_n_u16): Likewise.
+       (__arm_vqshrunbq_m_n_s32): Likewise.
+       (__arm_vqshrunbq_m_n_s16): Likewise.
+       (__arm_vqshruntq_m_n_s32): Likewise.
+       (__arm_vqshruntq_m_n_s16): Likewise.
+       (__arm_vrmlaldavhaq_p_s32): Likewise.
+       (__arm_vrmlaldavhaq_p_u32): Likewise.
+       (__arm_vrmlaldavhaxq_p_s32): Likewise.
+       (__arm_vrmlsldavhaq_p_s32): Likewise.
+       (__arm_vrmlsldavhaxq_p_s32): Likewise.
+       (__arm_vrshrnbq_m_n_s32): Likewise.
+       (__arm_vrshrnbq_m_n_s16): Likewise.
+       (__arm_vrshrnbq_m_n_u32): Likewise.
+       (__arm_vrshrnbq_m_n_u16): Likewise.
+       (__arm_vrshrntq_m_n_s32): Likewise.
+       (__arm_vrshrntq_m_n_s16): Likewise.
+       (__arm_vrshrntq_m_n_u32): Likewise.
+       (__arm_vrshrntq_m_n_u16): Likewise.
+       (__arm_vshllbq_m_n_s8): Likewise.
+       (__arm_vshllbq_m_n_s16): Likewise.
+       (__arm_vshllbq_m_n_u8): Likewise.
+       (__arm_vshllbq_m_n_u16): Likewise.
+       (__arm_vshlltq_m_n_s8): Likewise.
+       (__arm_vshlltq_m_n_s16): Likewise.
+       (__arm_vshlltq_m_n_u8): Likewise.
+       (__arm_vshlltq_m_n_u16): Likewise.
+       (__arm_vshrnbq_m_n_s32): Likewise.
+       (__arm_vshrnbq_m_n_s16): Likewise.
+       (__arm_vshrnbq_m_n_u32): Likewise.
+       (__arm_vshrnbq_m_n_u16): Likewise.
+       (__arm_vshrntq_m_n_s32): Likewise.
+       (__arm_vshrntq_m_n_s16): Likewise.
+       (__arm_vshrntq_m_n_u32): Likewise.
+       (__arm_vshrntq_m_n_u16): Likewise.
+       (vmullbq_poly_m): Define polymorphic variant.
+       (vmulltq_poly_m): Likewise.
+       (vshllbq_m): Likewise.
+       (vshrntq_m_n): Likewise.
+       (vshrnbq_m_n): Likewise.
+       (vshlltq_m_n): Likewise.
+       (vshllbq_m_n): Likewise.
+       (vrshrntq_m_n): Likewise.
+       (vrshrnbq_m_n): Likewise.
+       (vqshruntq_m_n): Likewise.
+       (vqshrunbq_m_n): Likewise.
+       (vqdmullbq_m_n): Likewise.
+       (vqdmullbq_m): Likewise.
+       (vqdmulltq_m_n): Likewise.
+       (vqdmulltq_m): Likewise.
+       (vqrshrnbq_m_n): Likewise.
+       (vqrshrntq_m_n): Likewise.
+       (vqrshrunbq_m_n): Likewise.
+       (vqrshruntq_m_n): Likewise.
+       (vqshrnbq_m_n): Likewise.
+       (vqshrntq_m_n): Likewise.
+       * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use
+       builtin qualifiers.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_NONE_IMM_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/mve.md (VMLALDAVAQ_P): Define iterator.
+       (VMLALDAVAXQ_P): Likewise.
+       (VQRSHRNBQ_M_N): Likewise.
+       (VQRSHRNTQ_M_N): Likewise.
+       (VQSHRNBQ_M_N): Likewise.
+       (VQSHRNTQ_M_N): Likewise.
+       (VRSHRNBQ_M_N): Likewise.
+       (VRSHRNTQ_M_N): Likewise.
+       (VSHLLBQ_M_N): Likewise.
+       (VSHLLTQ_M_N): Likewise.
+       (VSHRNBQ_M_N): Likewise.
+       (VSHRNTQ_M_N): Likewise.
+       (mve_vmlaldavaq_p_<supf><mode>): Define RTL pattern.
+       (mve_vmlaldavaxq_p_<supf><mode>): Likewise.
+       (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
+       (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
+       (mve_vqshrnbq_m_n_<supf><mode>): Likewise.
+       (mve_vqshrntq_m_n_<supf><mode>): Likewise.
+       (mve_vrmlaldavhaq_p_sv4si): Likewise.
+       (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
+       (mve_vrshrntq_m_n_<supf><mode>): Likewise.
+       (mve_vshllbq_m_n_<supf><mode>): Likewise.
+       (mve_vshlltq_m_n_<supf><mode>): Likewise.
+       (mve_vshrnbq_m_n_<supf><mode>): Likewise.
+       (mve_vshrntq_m_n_<supf><mode>): Likewise.
+       (mve_vmlsldavaq_p_s<mode>): Likewise.
+       (mve_vmlsldavaxq_p_s<mode>): Likewise.
+       (mve_vmullbq_poly_m_p<mode>): Likewise.
+       (mve_vmulltq_poly_m_p<mode>): Likewise.
+       (mve_vqdmullbq_m_n_s<mode>): Likewise.
+       (mve_vqdmullbq_m_s<mode>): Likewise.
+       (mve_vqdmulltq_m_n_s<mode>): Likewise.
+       (mve_vqdmulltq_m_s<mode>): Likewise.
+       (mve_vqrshrunbq_m_n_s<mode>): Likewise.
+       (mve_vqrshruntq_m_n_s<mode>): Likewise.
+       (mve_vqshrunbq_m_n_s<mode>): Likewise.
+       (mve_vqshruntq_m_n_s<mode>): Likewise.
+       (mve_vrmlaldavhaq_p_uv4si): Likewise.
+       (mve_vrmlaldavhaxq_p_sv4si): Likewise.
+       (mve_vrmlsldavhaq_p_sv4si): Likewise.
+       (mve_vrmlsldavhaxq_p_sv4si): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+       
+       * config/arm/arm_mve.h (vabdq_m_s8): Define macro.
+       (vabdq_m_s32): Likewise.
+       (vabdq_m_s16): Likewise.
+       (vabdq_m_u8): Likewise.
+       (vabdq_m_u32): Likewise.
+       (vabdq_m_u16): Likewise.
+       (vaddq_m_n_s8): Likewise.
+       (vaddq_m_n_s32): Likewise.
+       (vaddq_m_n_s16): Likewise.
+       (vaddq_m_n_u8): Likewise.
+       (vaddq_m_n_u32): Likewise.
+       (vaddq_m_n_u16): Likewise.
+       (vaddq_m_s8): Likewise.
+       (vaddq_m_s32): Likewise.
+       (vaddq_m_s16): Likewise.
+       (vaddq_m_u8): Likewise.
+       (vaddq_m_u32): Likewise.
+       (vaddq_m_u16): Likewise.
+       (vandq_m_s8): Likewise.
+       (vandq_m_s32): Likewise.
+       (vandq_m_s16): Likewise.
+       (vandq_m_u8): Likewise.
+       (vandq_m_u32): Likewise.
+       (vandq_m_u16): Likewise.
+       (vbicq_m_s8): Likewise.
+       (vbicq_m_s32): Likewise.
+       (vbicq_m_s16): Likewise.
+       (vbicq_m_u8): Likewise.
+       (vbicq_m_u32): Likewise.
+       (vbicq_m_u16): Likewise.
+       (vbrsrq_m_n_s8): Likewise.
+       (vbrsrq_m_n_s32): Likewise.
+       (vbrsrq_m_n_s16): Likewise.
+       (vbrsrq_m_n_u8): Likewise.
+       (vbrsrq_m_n_u32): Likewise.
+       (vbrsrq_m_n_u16): Likewise.
+       (vcaddq_rot270_m_s8): Likewise.
+       (vcaddq_rot270_m_s32): Likewise.
+       (vcaddq_rot270_m_s16): Likewise.
+       (vcaddq_rot270_m_u8): Likewise.
+       (vcaddq_rot270_m_u32): Likewise.
+       (vcaddq_rot270_m_u16): Likewise.
+       (vcaddq_rot90_m_s8): Likewise.
+       (vcaddq_rot90_m_s32): Likewise.
+       (vcaddq_rot90_m_s16): Likewise.
+       (vcaddq_rot90_m_u8): Likewise.
+       (vcaddq_rot90_m_u32): Likewise.
+       (vcaddq_rot90_m_u16): Likewise.
+       (veorq_m_s8): Likewise.
+       (veorq_m_s32): Likewise.
+       (veorq_m_s16): Likewise.
+       (veorq_m_u8): Likewise.
+       (veorq_m_u32): Likewise.
+       (veorq_m_u16): Likewise.
+       (vhaddq_m_n_s8): Likewise.
+       (vhaddq_m_n_s32): Likewise.
+       (vhaddq_m_n_s16): Likewise.
+       (vhaddq_m_n_u8): Likewise.
+       (vhaddq_m_n_u32): Likewise.
+       (vhaddq_m_n_u16): Likewise.
+       (vhaddq_m_s8): Likewise.
+       (vhaddq_m_s32): Likewise.
+       (vhaddq_m_s16): Likewise.
+       (vhaddq_m_u8): Likewise.
+       (vhaddq_m_u32): Likewise.
+       (vhaddq_m_u16): Likewise.
+       (vhcaddq_rot270_m_s8): Likewise.
+       (vhcaddq_rot270_m_s32): Likewise.
+       (vhcaddq_rot270_m_s16): Likewise.
+       (vhcaddq_rot90_m_s8): Likewise.
+       (vhcaddq_rot90_m_s32): Likewise.
+       (vhcaddq_rot90_m_s16): Likewise.
+       (vhsubq_m_n_s8): Likewise.
+       (vhsubq_m_n_s32): Likewise.
+       (vhsubq_m_n_s16): Likewise.
+       (vhsubq_m_n_u8): Likewise.
+       (vhsubq_m_n_u32): Likewise.
+       (vhsubq_m_n_u16): Likewise.
+       (vhsubq_m_s8): Likewise.
+       (vhsubq_m_s32): Likewise.
+       (vhsubq_m_s16): Likewise.
+       (vhsubq_m_u8): Likewise.
+       (vhsubq_m_u32): Likewise.
+       (vhsubq_m_u16): Likewise.
+       (vmaxq_m_s8): Likewise.
+       (vmaxq_m_s32): Likewise.
+       (vmaxq_m_s16): Likewise.
+       (vmaxq_m_u8): Likewise.
+       (vmaxq_m_u32): Likewise.
+       (vmaxq_m_u16): Likewise.
+       (vminq_m_s8): Likewise.
+       (vminq_m_s32): Likewise.
+       (vminq_m_s16): Likewise.
+       (vminq_m_u8): Likewise.
+       (vminq_m_u32): Likewise.
+       (vminq_m_u16): Likewise.
+       (vmladavaq_p_s8): Likewise.
+       (vmladavaq_p_s32): Likewise.
+       (vmladavaq_p_s16): Likewise.
+       (vmladavaq_p_u8): Likewise.
+       (vmladavaq_p_u32): Likewise.
+       (vmladavaq_p_u16): Likewise.
+       (vmladavaxq_p_s8): Likewise.
+       (vmladavaxq_p_s32): Likewise.
+       (vmladavaxq_p_s16): Likewise.
+       (vmlaq_m_n_s8): Likewise.
+       (vmlaq_m_n_s32): Likewise.
+       (vmlaq_m_n_s16): Likewise.
+       (vmlaq_m_n_u8): Likewise.
+       (vmlaq_m_n_u32): Likewise.
+       (vmlaq_m_n_u16): Likewise.
+       (vmlasq_m_n_s8): Likewise.
+       (vmlasq_m_n_s32): Likewise.
+       (vmlasq_m_n_s16): Likewise.
+       (vmlasq_m_n_u8): Likewise.
+       (vmlasq_m_n_u32): Likewise.
+       (vmlasq_m_n_u16): Likewise.
+       (vmlsdavaq_p_s8): Likewise.
+       (vmlsdavaq_p_s32): Likewise.
+       (vmlsdavaq_p_s16): Likewise.
+       (vmlsdavaxq_p_s8): Likewise.
+       (vmlsdavaxq_p_s32): Likewise.
+       (vmlsdavaxq_p_s16): Likewise.
+       (vmulhq_m_s8): Likewise.
+       (vmulhq_m_s32): Likewise.
+       (vmulhq_m_s16): Likewise.
+       (vmulhq_m_u8): Likewise.
+       (vmulhq_m_u32): Likewise.
+       (vmulhq_m_u16): Likewise.
+       (vmullbq_int_m_s8): Likewise.
+       (vmullbq_int_m_s32): Likewise.
+       (vmullbq_int_m_s16): Likewise.
+       (vmullbq_int_m_u8): Likewise.
+       (vmullbq_int_m_u32): Likewise.
+       (vmullbq_int_m_u16): Likewise.
+       (vmulltq_int_m_s8): Likewise.
+       (vmulltq_int_m_s32): Likewise.
+       (vmulltq_int_m_s16): Likewise.
+       (vmulltq_int_m_u8): Likewise.
+       (vmulltq_int_m_u32): Likewise.
+       (vmulltq_int_m_u16): Likewise.
+       (vmulq_m_n_s8): Likewise.
+       (vmulq_m_n_s32): Likewise.
+       (vmulq_m_n_s16): Likewise.
+       (vmulq_m_n_u8): Likewise.
+       (vmulq_m_n_u32): Likewise.
+       (vmulq_m_n_u16): Likewise.
+       (vmulq_m_s8): Likewise.
+       (vmulq_m_s32): Likewise.
+       (vmulq_m_s16): Likewise.
+       (vmulq_m_u8): Likewise.
+       (vmulq_m_u32): Likewise.
+       (vmulq_m_u16): Likewise.
+       (vornq_m_s8): Likewise.
+       (vornq_m_s32): Likewise.
+       (vornq_m_s16): Likewise.
+       (vornq_m_u8): Likewise.
+       (vornq_m_u32): Likewise.
+       (vornq_m_u16): Likewise.
+       (vorrq_m_s8): Likewise.
+       (vorrq_m_s32): Likewise.
+       (vorrq_m_s16): Likewise.
+       (vorrq_m_u8): Likewise.
+       (vorrq_m_u32): Likewise.
+       (vorrq_m_u16): Likewise.
+       (vqaddq_m_n_s8): Likewise.
+       (vqaddq_m_n_s32): Likewise.
+       (vqaddq_m_n_s16): Likewise.
+       (vqaddq_m_n_u8): Likewise.
+       (vqaddq_m_n_u32): Likewise.
+       (vqaddq_m_n_u16): Likewise.
+       (vqaddq_m_s8): Likewise.
+       (vqaddq_m_s32): Likewise.
+       (vqaddq_m_s16): Likewise.
+       (vqaddq_m_u8): Likewise.
+       (vqaddq_m_u32): Likewise.
+       (vqaddq_m_u16): Likewise.
+       (vqdmladhq_m_s8): Likewise.
+       (vqdmladhq_m_s32): Likewise.
+       (vqdmladhq_m_s16): Likewise.
+       (vqdmladhxq_m_s8): Likewise.
+       (vqdmladhxq_m_s32): Likewise.
+       (vqdmladhxq_m_s16): Likewise.
+       (vqdmlahq_m_n_s8): Likewise.
+       (vqdmlahq_m_n_s32): Likewise.
+       (vqdmlahq_m_n_s16): Likewise.
+       (vqdmlahq_m_n_u8): Likewise.
+       (vqdmlahq_m_n_u32): Likewise.
+       (vqdmlahq_m_n_u16): Likewise.
+       (vqdmlsdhq_m_s8): Likewise.
+       (vqdmlsdhq_m_s32): Likewise.
+       (vqdmlsdhq_m_s16): Likewise.
+       (vqdmlsdhxq_m_s8): Likewise.
+       (vqdmlsdhxq_m_s32): Likewise.
+       (vqdmlsdhxq_m_s16): Likewise.
+       (vqdmulhq_m_n_s8): Likewise.
+       (vqdmulhq_m_n_s32): Likewise.
+       (vqdmulhq_m_n_s16): Likewise.
+       (vqdmulhq_m_s8): Likewise.
+       (vqdmulhq_m_s32): Likewise.
+       (vqdmulhq_m_s16): Likewise.
+       (vqrdmladhq_m_s8): Likewise.
+       (vqrdmladhq_m_s32): Likewise.
+       (vqrdmladhq_m_s16): Likewise.
+       (vqrdmladhxq_m_s8): Likewise.
+       (vqrdmladhxq_m_s32): Likewise.
+       (vqrdmladhxq_m_s16): Likewise.
+       (vqrdmlahq_m_n_s8): Likewise.
+       (vqrdmlahq_m_n_s32): Likewise.
+       (vqrdmlahq_m_n_s16): Likewise.
+       (vqrdmlahq_m_n_u8): Likewise.
+       (vqrdmlahq_m_n_u32): Likewise.
+       (vqrdmlahq_m_n_u16): Likewise.
+       (vqrdmlashq_m_n_s8): Likewise.
+       (vqrdmlashq_m_n_s32): Likewise.
+       (vqrdmlashq_m_n_s16): Likewise.
+       (vqrdmlashq_m_n_u8): Likewise.
+       (vqrdmlashq_m_n_u32): Likewise.
+       (vqrdmlashq_m_n_u16): Likewise.
+       (vqrdmlsdhq_m_s8): Likewise.
+       (vqrdmlsdhq_m_s32): Likewise.
+       (vqrdmlsdhq_m_s16): Likewise.
+       (vqrdmlsdhxq_m_s8): Likewise.
+       (vqrdmlsdhxq_m_s32): Likewise.
+       (vqrdmlsdhxq_m_s16): Likewise.
+       (vqrdmulhq_m_n_s8): Likewise.
+       (vqrdmulhq_m_n_s32): Likewise.
+       (vqrdmulhq_m_n_s16): Likewise.
+       (vqrdmulhq_m_s8): Likewise.
+       (vqrdmulhq_m_s32): Likewise.
+       (vqrdmulhq_m_s16): Likewise.
+       (vqrshlq_m_s8): Likewise.
+       (vqrshlq_m_s32): Likewise.
+       (vqrshlq_m_s16): Likewise.
+       (vqrshlq_m_u8): Likewise.
+       (vqrshlq_m_u32): Likewise.
+       (vqrshlq_m_u16): Likewise.
+       (vqshlq_m_n_s8): Likewise.
+       (vqshlq_m_n_s32): Likewise.
+       (vqshlq_m_n_s16): Likewise.
+       (vqshlq_m_n_u8): Likewise.
+       (vqshlq_m_n_u32): Likewise.
+       (vqshlq_m_n_u16): Likewise.
+       (vqshlq_m_s8): Likewise.
+       (vqshlq_m_s32): Likewise.
+       (vqshlq_m_s16): Likewise.
+       (vqshlq_m_u8): Likewise.
+       (vqshlq_m_u32): Likewise.
+       (vqshlq_m_u16): Likewise.
+       (vqsubq_m_n_s8): Likewise.
+       (vqsubq_m_n_s32): Likewise.
+       (vqsubq_m_n_s16): Likewise.
+       (vqsubq_m_n_u8): Likewise.
+       (vqsubq_m_n_u32): Likewise.
+       (vqsubq_m_n_u16): Likewise.
+       (vqsubq_m_s8): Likewise.
+       (vqsubq_m_s32): Likewise.
+       (vqsubq_m_s16): Likewise.
+       (vqsubq_m_u8): Likewise.
+       (vqsubq_m_u32): Likewise.
+       (vqsubq_m_u16): Likewise.
+       (vrhaddq_m_s8): Likewise.
+       (vrhaddq_m_s32): Likewise.
+       (vrhaddq_m_s16): Likewise.
+       (vrhaddq_m_u8): Likewise.
+       (vrhaddq_m_u32): Likewise.
+       (vrhaddq_m_u16): Likewise.
+       (vrmulhq_m_s8): Likewise.
+       (vrmulhq_m_s32): Likewise.
+       (vrmulhq_m_s16): Likewise.
+       (vrmulhq_m_u8): Likewise.
+       (vrmulhq_m_u32): Likewise.
+       (vrmulhq_m_u16): Likewise.
+       (vrshlq_m_s8): Likewise.
+       (vrshlq_m_s32): Likewise.
+       (vrshlq_m_s16): Likewise.
+       (vrshlq_m_u8): Likewise.
+       (vrshlq_m_u32): Likewise.
+       (vrshlq_m_u16): Likewise.
+       (vrshrq_m_n_s8): Likewise.
+       (vrshrq_m_n_s32): Likewise.
+       (vrshrq_m_n_s16): Likewise.
+       (vrshrq_m_n_u8): Likewise.
+       (vrshrq_m_n_u32): Likewise.
+       (vrshrq_m_n_u16): Likewise.
+       (vshlq_m_n_s8): Likewise.
+       (vshlq_m_n_s32): Likewise.
+       (vshlq_m_n_s16): Likewise.
+       (vshlq_m_n_u8): Likewise.
+       (vshlq_m_n_u32): Likewise.
+       (vshlq_m_n_u16): Likewise.
+       (vshrq_m_n_s8): Likewise.
+       (vshrq_m_n_s32): Likewise.
+       (vshrq_m_n_s16): Likewise.
+       (vshrq_m_n_u8): Likewise.
+       (vshrq_m_n_u32): Likewise.
+       (vshrq_m_n_u16): Likewise.
+       (vsliq_m_n_s8): Likewise.
+       (vsliq_m_n_s32): Likewise.
+       (vsliq_m_n_s16): Likewise.
+       (vsliq_m_n_u8): Likewise.
+       (vsliq_m_n_u32): Likewise.
+       (vsliq_m_n_u16): Likewise.
+       (vsubq_m_n_s8): Likewise.
+       (vsubq_m_n_s32): Likewise.
+       (vsubq_m_n_s16): Likewise.
+       (vsubq_m_n_u8): Likewise.
+       (vsubq_m_n_u32): Likewise.
+       (vsubq_m_n_u16): Likewise.
+       (__arm_vabdq_m_s8): Define intrinsic.
+       (__arm_vabdq_m_s32): Likewise.
+       (__arm_vabdq_m_s16): Likewise.
+       (__arm_vabdq_m_u8): Likewise.
+       (__arm_vabdq_m_u32): Likewise.
+       (__arm_vabdq_m_u16): Likewise.
+       (__arm_vaddq_m_n_s8): Likewise.
+       (__arm_vaddq_m_n_s32): Likewise.
+       (__arm_vaddq_m_n_s16): Likewise.
+       (__arm_vaddq_m_n_u8): Likewise.
+       (__arm_vaddq_m_n_u32): Likewise.
+       (__arm_vaddq_m_n_u16): Likewise.
+       (__arm_vaddq_m_s8): Likewise.
+       (__arm_vaddq_m_s32): Likewise.
+       (__arm_vaddq_m_s16): Likewise.
+       (__arm_vaddq_m_u8): Likewise.
+       (__arm_vaddq_m_u32): Likewise.
+       (__arm_vaddq_m_u16): Likewise.
+       (__arm_vandq_m_s8): Likewise.
+       (__arm_vandq_m_s32): Likewise.
+       (__arm_vandq_m_s16): Likewise.
+       (__arm_vandq_m_u8): Likewise.
+       (__arm_vandq_m_u32): Likewise.
+       (__arm_vandq_m_u16): Likewise.
+       (__arm_vbicq_m_s8): Likewise.
+       (__arm_vbicq_m_s32): Likewise.
+       (__arm_vbicq_m_s16): Likewise.
+       (__arm_vbicq_m_u8): Likewise.
+       (__arm_vbicq_m_u32): Likewise.
+       (__arm_vbicq_m_u16): Likewise.
+       (__arm_vbrsrq_m_n_s8): Likewise.
+       (__arm_vbrsrq_m_n_s32): Likewise.
+       (__arm_vbrsrq_m_n_s16): Likewise.
+       (__arm_vbrsrq_m_n_u8): Likewise.
+       (__arm_vbrsrq_m_n_u32): Likewise.
+       (__arm_vbrsrq_m_n_u16): Likewise.
+       (__arm_vcaddq_rot270_m_s8): Likewise.
+       (__arm_vcaddq_rot270_m_s32): Likewise.
+       (__arm_vcaddq_rot270_m_s16): Likewise.
+       (__arm_vcaddq_rot270_m_u8): Likewise.
+       (__arm_vcaddq_rot270_m_u32): Likewise.
+       (__arm_vcaddq_rot270_m_u16): Likewise.
+       (__arm_vcaddq_rot90_m_s8): Likewise.
+       (__arm_vcaddq_rot90_m_s32): Likewise.
+       (__arm_vcaddq_rot90_m_s16): Likewise.
+       (__arm_vcaddq_rot90_m_u8): Likewise.
+       (__arm_vcaddq_rot90_m_u32): Likewise.
+       (__arm_vcaddq_rot90_m_u16): Likewise.
+       (__arm_veorq_m_s8): Likewise.
+       (__arm_veorq_m_s32): Likewise.
+       (__arm_veorq_m_s16): Likewise.
+       (__arm_veorq_m_u8): Likewise.
+       (__arm_veorq_m_u32): Likewise.
+       (__arm_veorq_m_u16): Likewise.
+       (__arm_vhaddq_m_n_s8): Likewise.
+       (__arm_vhaddq_m_n_s32): Likewise.
+       (__arm_vhaddq_m_n_s16): Likewise.
+       (__arm_vhaddq_m_n_u8): Likewise.
+       (__arm_vhaddq_m_n_u32): Likewise.
+       (__arm_vhaddq_m_n_u16): Likewise.
+       (__arm_vhaddq_m_s8): Likewise.
+       (__arm_vhaddq_m_s32): Likewise.
+       (__arm_vhaddq_m_s16): Likewise.
+       (__arm_vhaddq_m_u8): Likewise.
+       (__arm_vhaddq_m_u32): Likewise.
+       (__arm_vhaddq_m_u16): Likewise.
+       (__arm_vhcaddq_rot270_m_s8): Likewise.
+       (__arm_vhcaddq_rot270_m_s32): Likewise.
+       (__arm_vhcaddq_rot270_m_s16): Likewise.
+       (__arm_vhcaddq_rot90_m_s8): Likewise.
+       (__arm_vhcaddq_rot90_m_s32): Likewise.
+       (__arm_vhcaddq_rot90_m_s16): Likewise.
+       (__arm_vhsubq_m_n_s8): Likewise.
+       (__arm_vhsubq_m_n_s32): Likewise.
+       (__arm_vhsubq_m_n_s16): Likewise.
+       (__arm_vhsubq_m_n_u8): Likewise.
+       (__arm_vhsubq_m_n_u32): Likewise.
+       (__arm_vhsubq_m_n_u16): Likewise.
+       (__arm_vhsubq_m_s8): Likewise.
+       (__arm_vhsubq_m_s32): Likewise.
+       (__arm_vhsubq_m_s16): Likewise.
+       (__arm_vhsubq_m_u8): Likewise.
+       (__arm_vhsubq_m_u32): Likewise.
+       (__arm_vhsubq_m_u16): Likewise.
+       (__arm_vmaxq_m_s8): Likewise.
+       (__arm_vmaxq_m_s32): Likewise.
+       (__arm_vmaxq_m_s16): Likewise.
+       (__arm_vmaxq_m_u8): Likewise.
+       (__arm_vmaxq_m_u32): Likewise.
+       (__arm_vmaxq_m_u16): Likewise.
+       (__arm_vminq_m_s8): Likewise.
+       (__arm_vminq_m_s32): Likewise.
+       (__arm_vminq_m_s16): Likewise.
+       (__arm_vminq_m_u8): Likewise.
+       (__arm_vminq_m_u32): Likewise.
+       (__arm_vminq_m_u16): Likewise.
+       (__arm_vmladavaq_p_s8): Likewise.
+       (__arm_vmladavaq_p_s32): Likewise.
+       (__arm_vmladavaq_p_s16): Likewise.
+       (__arm_vmladavaq_p_u8): Likewise.
+       (__arm_vmladavaq_p_u32): Likewise.
+       (__arm_vmladavaq_p_u16): Likewise.
+       (__arm_vmladavaxq_p_s8): Likewise.
+       (__arm_vmladavaxq_p_s32): Likewise.
+       (__arm_vmladavaxq_p_s16): Likewise.
+       (__arm_vmlaq_m_n_s8): Likewise.
+       (__arm_vmlaq_m_n_s32): Likewise.
+       (__arm_vmlaq_m_n_s16): Likewise.
+       (__arm_vmlaq_m_n_u8): Likewise.
+       (__arm_vmlaq_m_n_u32): Likewise.
+       (__arm_vmlaq_m_n_u16): Likewise.
+       (__arm_vmlasq_m_n_s8): Likewise.
+       (__arm_vmlasq_m_n_s32): Likewise.
+       (__arm_vmlasq_m_n_s16): Likewise.
+       (__arm_vmlasq_m_n_u8): Likewise.
+       (__arm_vmlasq_m_n_u32): Likewise.
+       (__arm_vmlasq_m_n_u16): Likewise.
+       (__arm_vmlsdavaq_p_s8): Likewise.
+       (__arm_vmlsdavaq_p_s32): Likewise.
+       (__arm_vmlsdavaq_p_s16): Likewise.
+       (__arm_vmlsdavaxq_p_s8): Likewise.
+       (__arm_vmlsdavaxq_p_s32): Likewise.
+       (__arm_vmlsdavaxq_p_s16): Likewise.
+       (__arm_vmulhq_m_s8): Likewise.
+       (__arm_vmulhq_m_s32): Likewise.
+       (__arm_vmulhq_m_s16): Likewise.
+       (__arm_vmulhq_m_u8): Likewise.
+       (__arm_vmulhq_m_u32): Likewise.
+       (__arm_vmulhq_m_u16): Likewise.
+       (__arm_vmullbq_int_m_s8): Likewise.
+       (__arm_vmullbq_int_m_s32): Likewise.
+       (__arm_vmullbq_int_m_s16): Likewise.
+       (__arm_vmullbq_int_m_u8): Likewise.
+       (__arm_vmullbq_int_m_u32): Likewise.
+       (__arm_vmullbq_int_m_u16): Likewise.
+       (__arm_vmulltq_int_m_s8): Likewise.
+       (__arm_vmulltq_int_m_s32): Likewise.
+       (__arm_vmulltq_int_m_s16): Likewise.
+       (__arm_vmulltq_int_m_u8): Likewise.
+       (__arm_vmulltq_int_m_u32): Likewise.
+       (__arm_vmulltq_int_m_u16): Likewise.
+       (__arm_vmulq_m_n_s8): Likewise.
+       (__arm_vmulq_m_n_s32): Likewise.
+       (__arm_vmulq_m_n_s16): Likewise.
+       (__arm_vmulq_m_n_u8): Likewise.
+       (__arm_vmulq_m_n_u32): Likewise.
+       (__arm_vmulq_m_n_u16): Likewise.
+       (__arm_vmulq_m_s8): Likewise.
+       (__arm_vmulq_m_s32): Likewise.
+       (__arm_vmulq_m_s16): Likewise.
+       (__arm_vmulq_m_u8): Likewise.
+       (__arm_vmulq_m_u32): Likewise.
+       (__arm_vmulq_m_u16): Likewise.
+       (__arm_vornq_m_s8): Likewise.
+       (__arm_vornq_m_s32): Likewise.
+       (__arm_vornq_m_s16): Likewise.
+       (__arm_vornq_m_u8): Likewise.
+       (__arm_vornq_m_u32): Likewise.
+       (__arm_vornq_m_u16): Likewise.
+       (__arm_vorrq_m_s8): Likewise.
+       (__arm_vorrq_m_s32): Likewise.
+       (__arm_vorrq_m_s16): Likewise.
+       (__arm_vorrq_m_u8): Likewise.
+       (__arm_vorrq_m_u32): Likewise.
+       (__arm_vorrq_m_u16): Likewise.
+       (__arm_vqaddq_m_n_s8): Likewise.
+       (__arm_vqaddq_m_n_s32): Likewise.
+       (__arm_vqaddq_m_n_s16): Likewise.
+       (__arm_vqaddq_m_n_u8): Likewise.
+       (__arm_vqaddq_m_n_u32): Likewise.
+       (__arm_vqaddq_m_n_u16): Likewise.
+       (__arm_vqaddq_m_s8): Likewise.
+       (__arm_vqaddq_m_s32): Likewise.
+       (__arm_vqaddq_m_s16): Likewise.
+       (__arm_vqaddq_m_u8): Likewise.
+       (__arm_vqaddq_m_u32): Likewise.
+       (__arm_vqaddq_m_u16): Likewise.
+       (__arm_vqdmladhq_m_s8): Likewise.
+       (__arm_vqdmladhq_m_s32): Likewise.
+       (__arm_vqdmladhq_m_s16): Likewise.
+       (__arm_vqdmladhxq_m_s8): Likewise.
+       (__arm_vqdmladhxq_m_s32): Likewise.
+       (__arm_vqdmladhxq_m_s16): Likewise.
+       (__arm_vqdmlahq_m_n_s8): Likewise.
+       (__arm_vqdmlahq_m_n_s32): Likewise.
+       (__arm_vqdmlahq_m_n_s16): Likewise.
+       (__arm_vqdmlahq_m_n_u8): Likewise.
+       (__arm_vqdmlahq_m_n_u32): Likewise.
+       (__arm_vqdmlahq_m_n_u16): Likewise.
+       (__arm_vqdmlsdhq_m_s8): Likewise.
+       (__arm_vqdmlsdhq_m_s32): Likewise.
+       (__arm_vqdmlsdhq_m_s16): Likewise.
+       (__arm_vqdmlsdhxq_m_s8): Likewise.
+       (__arm_vqdmlsdhxq_m_s32): Likewise.
+       (__arm_vqdmlsdhxq_m_s16): Likewise.
+       (__arm_vqdmulhq_m_n_s8): Likewise.
+       (__arm_vqdmulhq_m_n_s32): Likewise.
+       (__arm_vqdmulhq_m_n_s16): Likewise.
+       (__arm_vqdmulhq_m_s8): Likewise.
+       (__arm_vqdmulhq_m_s32): Likewise.
+       (__arm_vqdmulhq_m_s16): Likewise.
+       (__arm_vqrdmladhq_m_s8): Likewise.
+       (__arm_vqrdmladhq_m_s32): Likewise.
+       (__arm_vqrdmladhq_m_s16): Likewise.
+       (__arm_vqrdmladhxq_m_s8): Likewise.
+       (__arm_vqrdmladhxq_m_s32): Likewise.
+       (__arm_vqrdmladhxq_m_s16): Likewise.
+       (__arm_vqrdmlahq_m_n_s8): Likewise.
+       (__arm_vqrdmlahq_m_n_s32): Likewise.
+       (__arm_vqrdmlahq_m_n_s16): Likewise.
+       (__arm_vqrdmlahq_m_n_u8): Likewise.
+       (__arm_vqrdmlahq_m_n_u32): Likewise.
+       (__arm_vqrdmlahq_m_n_u16): Likewise.
+       (__arm_vqrdmlashq_m_n_s8): Likewise.
+       (__arm_vqrdmlashq_m_n_s32): Likewise.
+       (__arm_vqrdmlashq_m_n_s16): Likewise.
+       (__arm_vqrdmlashq_m_n_u8): Likewise.
+       (__arm_vqrdmlashq_m_n_u32): Likewise.
+       (__arm_vqrdmlashq_m_n_u16): Likewise.
+       (__arm_vqrdmlsdhq_m_s8): Likewise.
+       (__arm_vqrdmlsdhq_m_s32): Likewise.
+       (__arm_vqrdmlsdhq_m_s16): Likewise.
+       (__arm_vqrdmlsdhxq_m_s8): Likewise.
+       (__arm_vqrdmlsdhxq_m_s32): Likewise.
+       (__arm_vqrdmlsdhxq_m_s16): Likewise.
+       (__arm_vqrdmulhq_m_n_s8): Likewise.
+       (__arm_vqrdmulhq_m_n_s32): Likewise.
+       (__arm_vqrdmulhq_m_n_s16): Likewise.
+       (__arm_vqrdmulhq_m_s8): Likewise.
+       (__arm_vqrdmulhq_m_s32): Likewise.
+       (__arm_vqrdmulhq_m_s16): Likewise.
+       (__arm_vqrshlq_m_s8): Likewise.
+       (__arm_vqrshlq_m_s32): Likewise.
+       (__arm_vqrshlq_m_s16): Likewise.
+       (__arm_vqrshlq_m_u8): Likewise.
+       (__arm_vqrshlq_m_u32): Likewise.
+       (__arm_vqrshlq_m_u16): Likewise.
+       (__arm_vqshlq_m_n_s8): Likewise.
+       (__arm_vqshlq_m_n_s32): Likewise.
+       (__arm_vqshlq_m_n_s16): Likewise.
+       (__arm_vqshlq_m_n_u8): Likewise.
+       (__arm_vqshlq_m_n_u32): Likewise.
+       (__arm_vqshlq_m_n_u16): Likewise.
+       (__arm_vqshlq_m_s8): Likewise.
+       (__arm_vqshlq_m_s32): Likewise.
+       (__arm_vqshlq_m_s16): Likewise.
+       (__arm_vqshlq_m_u8): Likewise.
+       (__arm_vqshlq_m_u32): Likewise.
+       (__arm_vqshlq_m_u16): Likewise.
+       (__arm_vqsubq_m_n_s8): Likewise.
+       (__arm_vqsubq_m_n_s32): Likewise.
+       (__arm_vqsubq_m_n_s16): Likewise.
+       (__arm_vqsubq_m_n_u8): Likewise.
+       (__arm_vqsubq_m_n_u32): Likewise.
+       (__arm_vqsubq_m_n_u16): Likewise.
+       (__arm_vqsubq_m_s8): Likewise.
+       (__arm_vqsubq_m_s32): Likewise.
+       (__arm_vqsubq_m_s16): Likewise.
+       (__arm_vqsubq_m_u8): Likewise.
+       (__arm_vqsubq_m_u32): Likewise.
+       (__arm_vqsubq_m_u16): Likewise.
+       (__arm_vrhaddq_m_s8): Likewise.
+       (__arm_vrhaddq_m_s32): Likewise.
+       (__arm_vrhaddq_m_s16): Likewise.
+       (__arm_vrhaddq_m_u8): Likewise.
+       (__arm_vrhaddq_m_u32): Likewise.
+       (__arm_vrhaddq_m_u16): Likewise.
+       (__arm_vrmulhq_m_s8): Likewise.
+       (__arm_vrmulhq_m_s32): Likewise.
+       (__arm_vrmulhq_m_s16): Likewise.
+       (__arm_vrmulhq_m_u8): Likewise.
+       (__arm_vrmulhq_m_u32): Likewise.
+       (__arm_vrmulhq_m_u16): Likewise.
+       (__arm_vrshlq_m_s8): Likewise.
+       (__arm_vrshlq_m_s32): Likewise.
+       (__arm_vrshlq_m_s16): Likewise.
+       (__arm_vrshlq_m_u8): Likewise.
+       (__arm_vrshlq_m_u32): Likewise.
+       (__arm_vrshlq_m_u16): Likewise.
+       (__arm_vrshrq_m_n_s8): Likewise.
+       (__arm_vrshrq_m_n_s32): Likewise.
+       (__arm_vrshrq_m_n_s16): Likewise.
+       (__arm_vrshrq_m_n_u8): Likewise.
+       (__arm_vrshrq_m_n_u32): Likewise.
+       (__arm_vrshrq_m_n_u16): Likewise.
+       (__arm_vshlq_m_n_s8): Likewise.
+       (__arm_vshlq_m_n_s32): Likewise.
+       (__arm_vshlq_m_n_s16): Likewise.
+       (__arm_vshlq_m_n_u8): Likewise.
+       (__arm_vshlq_m_n_u32): Likewise.
+       (__arm_vshlq_m_n_u16): Likewise.
+       (__arm_vshrq_m_n_s8): Likewise.
+       (__arm_vshrq_m_n_s32): Likewise.
+       (__arm_vshrq_m_n_s16): Likewise.
+       (__arm_vshrq_m_n_u8): Likewise.
+       (__arm_vshrq_m_n_u32): Likewise.
+       (__arm_vshrq_m_n_u16): Likewise.
+       (__arm_vsliq_m_n_s8): Likewise.
+       (__arm_vsliq_m_n_s32): Likewise.
+       (__arm_vsliq_m_n_s16): Likewise.
+       (__arm_vsliq_m_n_u8): Likewise.
+       (__arm_vsliq_m_n_u32): Likewise.
+       (__arm_vsliq_m_n_u16): Likewise.
+       (__arm_vsubq_m_n_s8): Likewise.
+       (__arm_vsubq_m_n_s32): Likewise.
+       (__arm_vsubq_m_n_s16): Likewise.
+       (__arm_vsubq_m_n_u8): Likewise.
+       (__arm_vsubq_m_n_u32): Likewise.
+       (__arm_vsubq_m_n_u16): Likewise.
+       (vqdmladhq_m): Define polymorphic variant.
+       (vqdmladhxq_m): Likewise.
+       (vqdmlsdhq_m): Likewise.
+       (vqdmlsdhxq_m): Likewise.
+       (vabdq_m): Likewise.
+       (vandq_m): Likewise.
+       (vbicq_m): Likewise.
+       (vbrsrq_m_n): Likewise.
+       (vcaddq_rot270_m): Likewise.
+       (vcaddq_rot90_m): Likewise.
+       (veorq_m): Likewise.
+       (vmaxq_m): Likewise.
+       (vminq_m): Likewise.
+       (vmladavaq_p): Likewise.
+       (vmlaq_m_n): Likewise.
+       (vmlasq_m_n): Likewise.
+       (vmulhq_m): Likewise.
+       (vmullbq_int_m): Likewise.
+       (vmulltq_int_m): Likewise.
+       (vornq_m): Likewise.
+       (vorrq_m): Likewise.
+       (vqdmlahq_m_n): Likewise.
+       (vqrdmlahq_m_n): Likewise.
+       (vqrdmlashq_m_n): Likewise.
+       (vqrshlq_m): Likewise.
+       (vqshlq_m_n): Likewise.
+       (vqshlq_m): Likewise.
+       (vrhaddq_m): Likewise.
+       (vrmulhq_m): Likewise.
+       (vrshlq_m): Likewise.
+       (vrshrq_m_n): Likewise.
+       (vshlq_m_n): Likewise.
+       (vshrq_m_n): Likewise.
+       (vsliq_m): Likewise.
+       (vaddq_m_n): Likewise.
+       (vaddq_m): Likewise.
+       (vhaddq_m_n): Likewise.
+       (vhaddq_m): Likewise.
+       (vhcaddq_rot270_m): Likewise.
+       (vhcaddq_rot90_m): Likewise.
+       (vhsubq_m): Likewise.
+       (vhsubq_m_n): Likewise.
+       (vmulq_m_n): Likewise.
+       (vmulq_m): Likewise.
+       (vqaddq_m_n): Likewise.
+       (vqaddq_m): Likewise.
+       (vqdmulhq_m_n): Likewise.
+       (vqdmulhq_m): Likewise.
+       (vsubq_m_n): Likewise.
+       (vsliq_m_n): Likewise.
+       (vqsubq_m_n): Likewise.
+       (vqsubq_m): Likewise.
+       (vqrdmulhq_m): Likewise.
+       (vqrdmulhq_m_n): Likewise.
+       (vqrdmlsdhxq_m): Likewise.
+       (vqrdmlsdhq_m): Likewise.
+       (vqrdmladhq_m): Likewise.
+       (vqrdmladhxq_m): Likewise.
+       (vmlsdavaxq_p): Likewise.
+       (vmlsdavaq_p): Likewise.
+       (vmladavaxq_p): Likewise.
+       * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use
+       builtin qualifier.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/mve.md (VHSUBQ_M): Define iterators.
+       (VSLIQ_M_N): Likewise.
+       (VQRDMLAHQ_M_N): Likewise.
+       (VRSHLQ_M): Likewise.
+       (VMINQ_M): Likewise.
+       (VMULLBQ_INT_M): Likewise.
+       (VMULHQ_M): Likewise.
+       (VMULQ_M): Likewise.
+       (VHSUBQ_M_N): Likewise.
+       (VHADDQ_M_N): Likewise.
+       (VORRQ_M): Likewise.
+       (VRMULHQ_M): Likewise.
+       (VQADDQ_M): Likewise.
+       (VRSHRQ_M_N): Likewise.
+       (VQSUBQ_M_N): Likewise.
+       (VADDQ_M): Likewise.
+       (VORNQ_M): Likewise.
+       (VQDMLAHQ_M_N): Likewise.
+       (VRHADDQ_M): Likewise.
+       (VQSHLQ_M): Likewise.
+       (VANDQ_M): Likewise.
+       (VBICQ_M): Likewise.
+       (VSHLQ_M_N): Likewise.
+       (VCADDQ_ROT270_M): Likewise.
+       (VQRSHLQ_M): Likewise.
+       (VQADDQ_M_N): Likewise.
+       (VADDQ_M_N): Likewise.
+       (VMAXQ_M): Likewise.
+       (VQSUBQ_M): Likewise.
+       (VMLASQ_M_N): Likewise.
+       (VMLADAVAQ_P): Likewise.
+       (VBRSRQ_M_N): Likewise.
+       (VMULQ_M_N): Likewise.
+       (VCADDQ_ROT90_M): Likewise.
+       (VMULLTQ_INT_M): Likewise.
+       (VEORQ_M): Likewise.
+       (VSHRQ_M_N): Likewise.
+       (VSUBQ_M_N): Likewise.
+       (VHADDQ_M): Likewise.
+       (VABDQ_M): Likewise.
+       (VQRDMLASHQ_M_N): Likewise.
+       (VMLAQ_M_N): Likewise.
+       (VQSHLQ_M_N): Likewise.
+       (mve_vabdq_m_<supf><mode>): Define RTL pattern.
+       (mve_vaddq_m_n_<supf><mode>): Likewise.
+       (mve_vaddq_m_<supf><mode>): Likewise.
+       (mve_vandq_m_<supf><mode>): Likewise.
+       (mve_vbicq_m_<supf><mode>): Likewise.
+       (mve_vbrsrq_m_n_<supf><mode>): Likewise.
+       (mve_vcaddq_rot270_m_<supf><mode>): Likewise.
+       (mve_vcaddq_rot90_m_<supf><mode>): Likewise.
+       (mve_veorq_m_<supf><mode>): Likewise.
+       (mve_vhaddq_m_n_<supf><mode>): Likewise.
+       (mve_vhaddq_m_<supf><mode>): Likewise.
+       (mve_vhsubq_m_n_<supf><mode>): Likewise.
+       (mve_vhsubq_m_<supf><mode>): Likewise.
+       (mve_vmaxq_m_<supf><mode>): Likewise.
+       (mve_vminq_m_<supf><mode>): Likewise.
+       (mve_vmladavaq_p_<supf><mode>): Likewise.
+       (mve_vmlaq_m_n_<supf><mode>): Likewise.
+       (mve_vmlasq_m_n_<supf><mode>): Likewise.
+       (mve_vmulhq_m_<supf><mode>): Likewise.
+       (mve_vmullbq_int_m_<supf><mode>): Likewise.
+       (mve_vmulltq_int_m_<supf><mode>): Likewise.
+       (mve_vmulq_m_n_<supf><mode>): Likewise.
+       (mve_vmulq_m_<supf><mode>): Likewise.
+       (mve_vornq_m_<supf><mode>): Likewise.
+       (mve_vorrq_m_<supf><mode>): Likewise.
+       (mve_vqaddq_m_n_<supf><mode>): Likewise.
+       (mve_vqaddq_m_<supf><mode>): Likewise.
+       (mve_vqdmlahq_m_n_<supf><mode>): Likewise.
+       (mve_vqrdmlahq_m_n_<supf><mode>): Likewise.
+       (mve_vqrdmlashq_m_n_<supf><mode>): Likewise.
+       (mve_vqrshlq_m_<supf><mode>): Likewise.
+       (mve_vqshlq_m_n_<supf><mode>): Likewise.
+       (mve_vqshlq_m_<supf><mode>): Likewise.
+       (mve_vqsubq_m_n_<supf><mode>): Likewise.
+       (mve_vqsubq_m_<supf><mode>): Likewise.
+       (mve_vrhaddq_m_<supf><mode>): Likewise.
+       (mve_vrmulhq_m_<supf><mode>): Likewise.
+       (mve_vrshlq_m_<supf><mode>): Likewise.
+       (mve_vrshrq_m_n_<supf><mode>): Likewise.
+       (mve_vshlq_m_n_<supf><mode>): Likewise.
+       (mve_vshrq_m_n_<supf><mode>): Likewise.
+       (mve_vsliq_m_n_<supf><mode>): Likewise.
+       (mve_vsubq_m_n_<supf><mode>): Likewise.
+       (mve_vhcaddq_rot270_m_s<mode>): Likewise.
+       (mve_vhcaddq_rot90_m_s<mode>): Likewise.
+       (mve_vmladavaxq_p_s<mode>): Likewise.
+       (mve_vmlsdavaq_p_s<mode>): Likewise.
+       (mve_vmlsdavaxq_p_s<mode>): Likewise.
+       (mve_vqdmladhq_m_s<mode>): Likewise.
+       (mve_vqdmladhxq_m_s<mode>): Likewise.
+       (mve_vqdmlsdhq_m_s<mode>): Likewise.
+       (mve_vqdmlsdhxq_m_s<mode>): Likewise.
+       (mve_vqdmulhq_m_n_s<mode>): Likewise.
+       (mve_vqdmulhq_m_s<mode>): Likewise.
+       (mve_vqrdmladhq_m_s<mode>): Likewise.
+       (mve_vqrdmladhxq_m_s<mode>): Likewise.
+       (mve_vqrdmlsdhq_m_s<mode>): Likewise.
+       (mve_vqrdmlsdhxq_m_s<mode>): Likewise.
+       (mve_vqrdmulhq_m_n_s<mode>): Likewise.
+       (mve_vqrdmulhq_m_s<mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS):
+       Define builtin qualifier.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vsriq_m_n_s8): Define macro.
+       (vsubq_m_s8): Likewise.
+       (vcvtq_m_n_f16_u16): Likewise.
+       (vqshluq_m_n_s8): Likewise.
+       (vabavq_p_s8): Likewise.
+       (vsriq_m_n_u8): Likewise.
+       (vshlq_m_u8): Likewise.
+       (vsubq_m_u8): Likewise.
+       (vabavq_p_u8): Likewise.
+       (vshlq_m_s8): Likewise.
+       (vcvtq_m_n_f16_s16): Likewise.
+       (vsriq_m_n_s16): Likewise.
+       (vsubq_m_s16): Likewise.
+       (vcvtq_m_n_f32_u32): Likewise.
+       (vqshluq_m_n_s16): Likewise.
+       (vabavq_p_s16): Likewise.
+       (vsriq_m_n_u16): Likewise.
+       (vshlq_m_u16): Likewise.
+       (vsubq_m_u16): Likewise.
+       (vabavq_p_u16): Likewise.
+       (vshlq_m_s16): Likewise.
+       (vcvtq_m_n_f32_s32): Likewise.
+       (vsriq_m_n_s32): Likewise.
+       (vsubq_m_s32): Likewise.
+       (vqshluq_m_n_s32): Likewise.
+       (vabavq_p_s32): Likewise.
+       (vsriq_m_n_u32): Likewise.
+       (vshlq_m_u32): Likewise.
+       (vsubq_m_u32): Likewise.
+       (vabavq_p_u32): Likewise.
+       (vshlq_m_s32): Likewise.
+       (__arm_vsriq_m_n_s8): Define intrinsic.
+       (__arm_vsubq_m_s8): Likewise.
+       (__arm_vqshluq_m_n_s8): Likewise.
+       (__arm_vabavq_p_s8): Likewise.
+       (__arm_vsriq_m_n_u8): Likewise.
+       (__arm_vshlq_m_u8): Likewise.
+       (__arm_vsubq_m_u8): Likewise.
+       (__arm_vabavq_p_u8): Likewise.
+       (__arm_vshlq_m_s8): Likewise.
+       (__arm_vsriq_m_n_s16): Likewise.
+       (__arm_vsubq_m_s16): Likewise.
+       (__arm_vqshluq_m_n_s16): Likewise.
+       (__arm_vabavq_p_s16): Likewise.
+       (__arm_vsriq_m_n_u16): Likewise.
+       (__arm_vshlq_m_u16): Likewise.
+       (__arm_vsubq_m_u16): Likewise.
+       (__arm_vabavq_p_u16): Likewise.
+       (__arm_vshlq_m_s16): Likewise.
+       (__arm_vsriq_m_n_s32): Likewise.
+       (__arm_vsubq_m_s32): Likewise.
+       (__arm_vqshluq_m_n_s32): Likewise.
+       (__arm_vabavq_p_s32): Likewise.
+       (__arm_vsriq_m_n_u32): Likewise.
+       (__arm_vshlq_m_u32): Likewise.
+       (__arm_vsubq_m_u32): Likewise.
+       (__arm_vabavq_p_u32): Likewise.
+       (__arm_vshlq_m_s32): Likewise.
+       (__arm_vcvtq_m_n_f16_u16): Likewise.
+       (__arm_vcvtq_m_n_f16_s16): Likewise.
+       (__arm_vcvtq_m_n_f32_u32): Likewise.
+       (__arm_vcvtq_m_n_f32_s32): Likewise.
+       (vcvtq_m_n): Define polymorphic variant.
+       (vqshluq_m_n): Likewise.
+       (vshlq_m): Likewise.
+       (vsriq_m_n): Likewise.
+       (vsubq_m): Likewise.
+       (vabavq_p): Likewise.
+       * config/arm/arm_mve_builtins.def
+       (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Use builtin qualifier.
+       (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise.
+       * config/arm/mve.md (VABAVQ_P): Define iterator.
+       (VSHLQ_M): Likewise.
+       (VSRIQ_M_N): Likewise.
+       (VSUBQ_M): Likewise.
+       (VCVTQ_M_N_TO_F): Likewise.
+       (mve_vabavq_p_<supf><mode>): Define RTL pattern.
+       (mve_vqshluq_m_n_s<mode>): Likewise.
+       (mve_vshlq_m_<supf><mode>): Likewise.
+       (mve_vsriq_m_n_<supf><mode>): Likewise.
+       (mve_vsubq_m_<supf><mode>): Likewise.
+       (mve_vcvtq_m_n_to_f_<supf><mode>): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vrmlaldavhaxq_s32): Define macro.
+       (vrmlsldavhaq_s32): Likewise.
+       (vrmlsldavhaxq_s32): Likewise.
+       (vaddlvaq_p_s32): Likewise.
+       (vcvtbq_m_f16_f32): Likewise.
+       (vcvtbq_m_f32_f16): Likewise.
+       (vcvttq_m_f16_f32): Likewise.
+       (vcvttq_m_f32_f16): Likewise.
+       (vrev16q_m_s8): Likewise.
+       (vrev32q_m_f16): Likewise.
+       (vrmlaldavhq_p_s32): Likewise.
+       (vrmlaldavhxq_p_s32): Likewise.
+       (vrmlsldavhq_p_s32): Likewise.
+       (vrmlsldavhxq_p_s32): Likewise.
+       (vaddlvaq_p_u32): Likewise.
+       (vrev16q_m_u8): Likewise.
+       (vrmlaldavhq_p_u32): Likewise.
+       (vmvnq_m_n_s16): Likewise.
+       (vorrq_m_n_s16): Likewise.
+       (vqrshrntq_n_s16): Likewise.
+       (vqshrnbq_n_s16): Likewise.
+       (vqshrntq_n_s16): Likewise.
+       (vrshrnbq_n_s16): Likewise.
+       (vrshrntq_n_s16): Likewise.
+       (vshrnbq_n_s16): Likewise.
+       (vshrntq_n_s16): Likewise.
+       (vcmlaq_f16): Likewise.
+       (vcmlaq_rot180_f16): Likewise.
+       (vcmlaq_rot270_f16): Likewise.
+       (vcmlaq_rot90_f16): Likewise.
+       (vfmaq_f16): Likewise.
+       (vfmaq_n_f16): Likewise.
+       (vfmasq_n_f16): Likewise.
+       (vfmsq_f16): Likewise.
+       (vmlaldavaq_s16): Likewise.
+       (vmlaldavaxq_s16): Likewise.
+       (vmlsldavaq_s16): Likewise.
+       (vmlsldavaxq_s16): Likewise.
+       (vabsq_m_f16): Likewise.
+       (vcvtmq_m_s16_f16): Likewise.
+       (vcvtnq_m_s16_f16): Likewise.
+       (vcvtpq_m_s16_f16): Likewise.
+       (vcvtq_m_s16_f16): Likewise.
+       (vdupq_m_n_f16): Likewise.
+       (vmaxnmaq_m_f16): Likewise.
+       (vmaxnmavq_p_f16): Likewise.
+       (vmaxnmvq_p_f16): Likewise.
+       (vminnmaq_m_f16): Likewise.
+       (vminnmavq_p_f16): Likewise.
+       (vminnmvq_p_f16): Likewise.
+       (vmlaldavq_p_s16): Likewise.
+       (vmlaldavxq_p_s16): Likewise.
+       (vmlsldavq_p_s16): Likewise.
+       (vmlsldavxq_p_s16): Likewise.
+       (vmovlbq_m_s8): Likewise.
+       (vmovltq_m_s8): Likewise.
+       (vmovnbq_m_s16): Likewise.
+       (vmovntq_m_s16): Likewise.
+       (vnegq_m_f16): Likewise.
+       (vpselq_f16): Likewise.
+       (vqmovnbq_m_s16): Likewise.
+       (vqmovntq_m_s16): Likewise.
+       (vrev32q_m_s8): Likewise.
+       (vrev64q_m_f16): Likewise.
+       (vrndaq_m_f16): Likewise.
+       (vrndmq_m_f16): Likewise.
+       (vrndnq_m_f16): Likewise.
+       (vrndpq_m_f16): Likewise.
+       (vrndq_m_f16): Likewise.
+       (vrndxq_m_f16): Likewise.
+       (vcmpeqq_m_n_f16): Likewise.
+       (vcmpgeq_m_f16): Likewise.
+       (vcmpgeq_m_n_f16): Likewise.
+       (vcmpgtq_m_f16): Likewise.
+       (vcmpgtq_m_n_f16): Likewise.
+       (vcmpleq_m_f16): Likewise.
+       (vcmpleq_m_n_f16): Likewise.
+       (vcmpltq_m_f16): Likewise.
+       (vcmpltq_m_n_f16): Likewise.
+       (vcmpneq_m_f16): Likewise.
+       (vcmpneq_m_n_f16): Likewise.
+       (vmvnq_m_n_u16): Likewise.
+       (vorrq_m_n_u16): Likewise.
+       (vqrshruntq_n_s16): Likewise.
+       (vqshrunbq_n_s16): Likewise.
+       (vqshruntq_n_s16): Likewise.
+       (vcvtmq_m_u16_f16): Likewise.
+       (vcvtnq_m_u16_f16): Likewise.
+       (vcvtpq_m_u16_f16): Likewise.
+       (vcvtq_m_u16_f16): Likewise.
+       (vqmovunbq_m_s16): Likewise.
+       (vqmovuntq_m_s16): Likewise.
+       (vqrshrntq_n_u16): Likewise.
+       (vqshrnbq_n_u16): Likewise.
+       (vqshrntq_n_u16): Likewise.
+       (vrshrnbq_n_u16): Likewise.
+       (vrshrntq_n_u16): Likewise.
+       (vshrnbq_n_u16): Likewise.
+       (vshrntq_n_u16): Likewise.
+       (vmlaldavaq_u16): Likewise.
+       (vmlaldavaxq_u16): Likewise.
+       (vmlaldavq_p_u16): Likewise.
+       (vmlaldavxq_p_u16): Likewise.
+       (vmovlbq_m_u8): Likewise.
+       (vmovltq_m_u8): Likewise.
+       (vmovnbq_m_u16): Likewise.
+       (vmovntq_m_u16): Likewise.
+       (vqmovnbq_m_u16): Likewise.
+       (vqmovntq_m_u16): Likewise.
+       (vrev32q_m_u8): Likewise.
+       (vmvnq_m_n_s32): Likewise.
+       (vorrq_m_n_s32): Likewise.
+       (vqrshrntq_n_s32): Likewise.
+       (vqshrnbq_n_s32): Likewise.
+       (vqshrntq_n_s32): Likewise.
+       (vrshrnbq_n_s32): Likewise.
+       (vrshrntq_n_s32): Likewise.
+       (vshrnbq_n_s32): Likewise.
+       (vshrntq_n_s32): Likewise.
+       (vcmlaq_f32): Likewise.
+       (vcmlaq_rot180_f32): Likewise.
+       (vcmlaq_rot270_f32): Likewise.
+       (vcmlaq_rot90_f32): Likewise.
+       (vfmaq_f32): Likewise.
+       (vfmaq_n_f32): Likewise.
+       (vfmasq_n_f32): Likewise.
+       (vfmsq_f32): Likewise.
+       (vmlaldavaq_s32): Likewise.
+       (vmlaldavaxq_s32): Likewise.
+       (vmlsldavaq_s32): Likewise.
+       (vmlsldavaxq_s32): Likewise.
+       (vabsq_m_f32): Likewise.
+       (vcvtmq_m_s32_f32): Likewise.
+       (vcvtnq_m_s32_f32): Likewise.
+       (vcvtpq_m_s32_f32): Likewise.
+       (vcvtq_m_s32_f32): Likewise.
+       (vdupq_m_n_f32): Likewise.
+       (vmaxnmaq_m_f32): Likewise.
+       (vmaxnmavq_p_f32): Likewise.
+       (vmaxnmvq_p_f32): Likewise.
+       (vminnmaq_m_f32): Likewise.
+       (vminnmavq_p_f32): Likewise.
+       (vminnmvq_p_f32): Likewise.
+       (vmlaldavq_p_s32): Likewise.
+       (vmlaldavxq_p_s32): Likewise.
+       (vmlsldavq_p_s32): Likewise.
+       (vmlsldavxq_p_s32): Likewise.
+       (vmovlbq_m_s16): Likewise.
+       (vmovltq_m_s16): Likewise.
+       (vmovnbq_m_s32): Likewise.
+       (vmovntq_m_s32): Likewise.
+       (vnegq_m_f32): Likewise.
+       (vpselq_f32): Likewise.
+       (vqmovnbq_m_s32): Likewise.
+       (vqmovntq_m_s32): Likewise.
+       (vrev32q_m_s16): Likewise.
+       (vrev64q_m_f32): Likewise.
+       (vrndaq_m_f32): Likewise.
+       (vrndmq_m_f32): Likewise.
+       (vrndnq_m_f32): Likewise.
+       (vrndpq_m_f32): Likewise.
+       (vrndq_m_f32): Likewise.
+       (vrndxq_m_f32): Likewise.
+       (vcmpeqq_m_n_f32): Likewise.
+       (vcmpgeq_m_f32): Likewise.
+       (vcmpgeq_m_n_f32): Likewise.
+       (vcmpgtq_m_f32): Likewise.
+       (vcmpgtq_m_n_f32): Likewise.
+       (vcmpleq_m_f32): Likewise.
+       (vcmpleq_m_n_f32): Likewise.
+       (vcmpltq_m_f32): Likewise.
+       (vcmpltq_m_n_f32): Likewise.
+       (vcmpneq_m_f32): Likewise.
+       (vcmpneq_m_n_f32): Likewise.
+       (vmvnq_m_n_u32): Likewise.
+       (vorrq_m_n_u32): Likewise.
+       (vqrshruntq_n_s32): Likewise.
+       (vqshrunbq_n_s32): Likewise.
+       (vqshruntq_n_s32): Likewise.
+       (vcvtmq_m_u32_f32): Likewise.
+       (vcvtnq_m_u32_f32): Likewise.
+       (vcvtpq_m_u32_f32): Likewise.
+       (vcvtq_m_u32_f32): Likewise.
+       (vqmovunbq_m_s32): Likewise.
+       (vqmovuntq_m_s32): Likewise.
+       (vqrshrntq_n_u32): Likewise.
+       (vqshrnbq_n_u32): Likewise.
+       (vqshrntq_n_u32): Likewise.
+       (vrshrnbq_n_u32): Likewise.
+       (vrshrntq_n_u32): Likewise.
+       (vshrnbq_n_u32): Likewise.
+       (vshrntq_n_u32): Likewise.
+       (vmlaldavaq_u32): Likewise.
+       (vmlaldavaxq_u32): Likewise.
+       (vmlaldavq_p_u32): Likewise.
+       (vmlaldavxq_p_u32): Likewise.
+       (vmovlbq_m_u16): Likewise.
+       (vmovltq_m_u16): Likewise.
+       (vmovnbq_m_u32): Likewise.
+       (vmovntq_m_u32): Likewise.
+       (vqmovnbq_m_u32): Likewise.
+       (vqmovntq_m_u32): Likewise.
+       (vrev32q_m_u16): Likewise.
+       (__arm_vrmlaldavhaxq_s32): Define intrinsic.
+       (__arm_vrmlsldavhaq_s32): Likewise.
+       (__arm_vrmlsldavhaxq_s32): Likewise.
+       (__arm_vaddlvaq_p_s32): Likewise.
+       (__arm_vrev16q_m_s8): Likewise.
+       (__arm_vrmlaldavhq_p_s32): Likewise.
+       (__arm_vrmlaldavhxq_p_s32): Likewise.
+       (__arm_vrmlsldavhq_p_s32): Likewise.
+       (__arm_vrmlsldavhxq_p_s32): Likewise.
+       (__arm_vaddlvaq_p_u32): Likewise.
+       (__arm_vrev16q_m_u8): Likewise.
+       (__arm_vrmlaldavhq_p_u32): Likewise.
+       (__arm_vmvnq_m_n_s16): Likewise.
+       (__arm_vorrq_m_n_s16): Likewise.
+       (__arm_vqrshrntq_n_s16): Likewise.
+       (__arm_vqshrnbq_n_s16): Likewise.
+       (__arm_vqshrntq_n_s16): Likewise.
+       (__arm_vrshrnbq_n_s16): Likewise.
+       (__arm_vrshrntq_n_s16): Likewise.
+       (__arm_vshrnbq_n_s16): Likewise.
+       (__arm_vshrntq_n_s16): Likewise.
+       (__arm_vmlaldavaq_s16): Likewise.
+       (__arm_vmlaldavaxq_s16): Likewise.
+       (__arm_vmlsldavaq_s16): Likewise.
+       (__arm_vmlsldavaxq_s16): Likewise.
+       (__arm_vmlaldavq_p_s16): Likewise.
+       (__arm_vmlaldavxq_p_s16): Likewise.
+       (__arm_vmlsldavq_p_s16): Likewise.
+       (__arm_vmlsldavxq_p_s16): Likewise.
+       (__arm_vmovlbq_m_s8): Likewise.
+       (__arm_vmovltq_m_s8): Likewise.
+       (__arm_vmovnbq_m_s16): Likewise.
+       (__arm_vmovntq_m_s16): Likewise.
+       (__arm_vqmovnbq_m_s16): Likewise.
+       (__arm_vqmovntq_m_s16): Likewise.
+       (__arm_vrev32q_m_s8): Likewise.
+       (__arm_vmvnq_m_n_u16): Likewise.
+       (__arm_vorrq_m_n_u16): Likewise.
+       (__arm_vqrshruntq_n_s16): Likewise.
+       (__arm_vqshrunbq_n_s16): Likewise.
+       (__arm_vqshruntq_n_s16): Likewise.
+       (__arm_vqmovunbq_m_s16): Likewise.
+       (__arm_vqmovuntq_m_s16): Likewise.
+       (__arm_vqrshrntq_n_u16): Likewise.
+       (__arm_vqshrnbq_n_u16): Likewise.
+       (__arm_vqshrntq_n_u16): Likewise.
+       (__arm_vrshrnbq_n_u16): Likewise.
+       (__arm_vrshrntq_n_u16): Likewise.
+       (__arm_vshrnbq_n_u16): Likewise.
+       (__arm_vshrntq_n_u16): Likewise.
+       (__arm_vmlaldavaq_u16): Likewise.
+       (__arm_vmlaldavaxq_u16): Likewise.
+       (__arm_vmlaldavq_p_u16): Likewise.
+       (__arm_vmlaldavxq_p_u16): Likewise.
+       (__arm_vmovlbq_m_u8): Likewise.
+       (__arm_vmovltq_m_u8): Likewise.
+       (__arm_vmovnbq_m_u16): Likewise.
+       (__arm_vmovntq_m_u16): Likewise.
+       (__arm_vqmovnbq_m_u16): Likewise.
+       (__arm_vqmovntq_m_u16): Likewise.
+       (__arm_vrev32q_m_u8): Likewise.
+       (__arm_vmvnq_m_n_s32): Likewise.
+       (__arm_vorrq_m_n_s32): Likewise.
+       (__arm_vqrshrntq_n_s32): Likewise.
+       (__arm_vqshrnbq_n_s32): Likewise.
+       (__arm_vqshrntq_n_s32): Likewise.
+       (__arm_vrshrnbq_n_s32): Likewise.
+       (__arm_vrshrntq_n_s32): Likewise.
+       (__arm_vshrnbq_n_s32): Likewise.
+       (__arm_vshrntq_n_s32): Likewise.
+       (__arm_vmlaldavaq_s32): Likewise.
+       (__arm_vmlaldavaxq_s32): Likewise.
+       (__arm_vmlsldavaq_s32): Likewise.
+       (__arm_vmlsldavaxq_s32): Likewise.
+       (__arm_vmlaldavq_p_s32): Likewise.
+       (__arm_vmlaldavxq_p_s32): Likewise.
+       (__arm_vmlsldavq_p_s32): Likewise.
+       (__arm_vmlsldavxq_p_s32): Likewise.
+       (__arm_vmovlbq_m_s16): Likewise.
+       (__arm_vmovltq_m_s16): Likewise.
+       (__arm_vmovnbq_m_s32): Likewise.
+       (__arm_vmovntq_m_s32): Likewise.
+       (__arm_vqmovnbq_m_s32): Likewise.
+       (__arm_vqmovntq_m_s32): Likewise.
+       (__arm_vrev32q_m_s16): Likewise.
+       (__arm_vmvnq_m_n_u32): Likewise.
+       (__arm_vorrq_m_n_u32): Likewise.
+       (__arm_vqrshruntq_n_s32): Likewise.
+       (__arm_vqshrunbq_n_s32): Likewise.
+       (__arm_vqshruntq_n_s32): Likewise.
+       (__arm_vqmovunbq_m_s32): Likewise.
+       (__arm_vqmovuntq_m_s32): Likewise.
+       (__arm_vqrshrntq_n_u32): Likewise.
+       (__arm_vqshrnbq_n_u32): Likewise.
+       (__arm_vqshrntq_n_u32): Likewise.
+       (__arm_vrshrnbq_n_u32): Likewise.
+       (__arm_vrshrntq_n_u32): Likewise.
+       (__arm_vshrnbq_n_u32): Likewise.
+       (__arm_vshrntq_n_u32): Likewise.
+       (__arm_vmlaldavaq_u32): Likewise.
+       (__arm_vmlaldavaxq_u32): Likewise.
+       (__arm_vmlaldavq_p_u32): Likewise.
+       (__arm_vmlaldavxq_p_u32): Likewise.
+       (__arm_vmovlbq_m_u16): Likewise.
+       (__arm_vmovltq_m_u16): Likewise.
+       (__arm_vmovnbq_m_u32): Likewise.
+       (__arm_vmovntq_m_u32): Likewise.
+       (__arm_vqmovnbq_m_u32): Likewise.
+       (__arm_vqmovntq_m_u32): Likewise.
+       (__arm_vrev32q_m_u16): Likewise.
+       (__arm_vcvtbq_m_f16_f32): Likewise.
+       (__arm_vcvtbq_m_f32_f16): Likewise.
+       (__arm_vcvttq_m_f16_f32): Likewise.
+       (__arm_vcvttq_m_f32_f16): Likewise.
+       (__arm_vrev32q_m_f16): Likewise.
+       (__arm_vcmlaq_f16): Likewise.
+       (__arm_vcmlaq_rot180_f16): Likewise.
+       (__arm_vcmlaq_rot270_f16): Likewise.
+       (__arm_vcmlaq_rot90_f16): Likewise.
+       (__arm_vfmaq_f16): Likewise.
+       (__arm_vfmaq_n_f16): Likewise.
+       (__arm_vfmasq_n_f16): Likewise.
+       (__arm_vfmsq_f16): Likewise.
+       (__arm_vabsq_m_f16): Likewise.
+       (__arm_vcvtmq_m_s16_f16): Likewise.
+       (__arm_vcvtnq_m_s16_f16): Likewise.
+       (__arm_vcvtpq_m_s16_f16): Likewise.
+       (__arm_vcvtq_m_s16_f16): Likewise.
+       (__arm_vdupq_m_n_f16): Likewise.
+       (__arm_vmaxnmaq_m_f16): Likewise.
+       (__arm_vmaxnmavq_p_f16): Likewise.
+       (__arm_vmaxnmvq_p_f16): Likewise.
+       (__arm_vminnmaq_m_f16): Likewise.
+       (__arm_vminnmavq_p_f16): Likewise.
+       (__arm_vminnmvq_p_f16): Likewise.
+       (__arm_vnegq_m_f16): Likewise.
+       (__arm_vpselq_f16): Likewise.
+       (__arm_vrev64q_m_f16): Likewise.
+       (__arm_vrndaq_m_f16): Likewise.
+       (__arm_vrndmq_m_f16): Likewise.
+       (__arm_vrndnq_m_f16): Likewise.
+       (__arm_vrndpq_m_f16): Likewise.
+       (__arm_vrndq_m_f16): Likewise.
+       (__arm_vrndxq_m_f16): Likewise.
+       (__arm_vcmpeqq_m_n_f16): Likewise.
+       (__arm_vcmpgeq_m_f16): Likewise.
+       (__arm_vcmpgeq_m_n_f16): Likewise.
+       (__arm_vcmpgtq_m_f16): Likewise.
+       (__arm_vcmpgtq_m_n_f16): Likewise.
+       (__arm_vcmpleq_m_f16): Likewise.
+       (__arm_vcmpleq_m_n_f16): Likewise.
+       (__arm_vcmpltq_m_f16): Likewise.
+       (__arm_vcmpltq_m_n_f16): Likewise.
+       (__arm_vcmpneq_m_f16): Likewise.
+       (__arm_vcmpneq_m_n_f16): Likewise.
+       (__arm_vcvtmq_m_u16_f16): Likewise.
+       (__arm_vcvtnq_m_u16_f16): Likewise.
+       (__arm_vcvtpq_m_u16_f16): Likewise.
+       (__arm_vcvtq_m_u16_f16): Likewise.
+       (__arm_vcmlaq_f32): Likewise.
+       (__arm_vcmlaq_rot180_f32): Likewise.
+       (__arm_vcmlaq_rot270_f32): Likewise.
+       (__arm_vcmlaq_rot90_f32): Likewise.
+       (__arm_vfmaq_f32): Likewise.
+       (__arm_vfmaq_n_f32): Likewise.
+       (__arm_vfmasq_n_f32): Likewise.
+       (__arm_vfmsq_f32): Likewise.
+       (__arm_vabsq_m_f32): Likewise.
+       (__arm_vcvtmq_m_s32_f32): Likewise.
+       (__arm_vcvtnq_m_s32_f32): Likewise.
+       (__arm_vcvtpq_m_s32_f32): Likewise.
+       (__arm_vcvtq_m_s32_f32): Likewise.
+       (__arm_vdupq_m_n_f32): Likewise.
+       (__arm_vmaxnmaq_m_f32): Likewise.
+       (__arm_vmaxnmavq_p_f32): Likewise.
+       (__arm_vmaxnmvq_p_f32): Likewise.
+       (__arm_vminnmaq_m_f32): Likewise.
+       (__arm_vminnmavq_p_f32): Likewise.
+       (__arm_vminnmvq_p_f32): Likewise.
+       (__arm_vnegq_m_f32): Likewise.
+       (__arm_vpselq_f32): Likewise.
+       (__arm_vrev64q_m_f32): Likewise.
+       (__arm_vrndaq_m_f32): Likewise.
+       (__arm_vrndmq_m_f32): Likewise.
+       (__arm_vrndnq_m_f32): Likewise.
+       (__arm_vrndpq_m_f32): Likewise.
+       (__arm_vrndq_m_f32): Likewise.
+       (__arm_vrndxq_m_f32): Likewise.
+       (__arm_vcmpeqq_m_n_f32): Likewise.
+       (__arm_vcmpgeq_m_f32): Likewise.
+       (__arm_vcmpgeq_m_n_f32): Likewise.
+       (__arm_vcmpgtq_m_f32): Likewise.
+       (__arm_vcmpgtq_m_n_f32): Likewise.
+       (__arm_vcmpleq_m_f32): Likewise.
+       (__arm_vcmpleq_m_n_f32): Likewise.
+       (__arm_vcmpltq_m_f32): Likewise.
+       (__arm_vcmpltq_m_n_f32): Likewise.
+       (__arm_vcmpneq_m_f32): Likewise.
+       (__arm_vcmpneq_m_n_f32): Likewise.
+       (__arm_vcvtmq_m_u32_f32): Likewise.
+       (__arm_vcvtnq_m_u32_f32): Likewise.
+       (__arm_vcvtpq_m_u32_f32): Likewise.
+       (__arm_vcvtq_m_u32_f32): Likewise.
+       (vcvtq_m): Define polymorphic variant.
+       (vabsq_m): Likewise.
+       (vcmlaq): Likewise.
+       (vcmlaq_rot180): Likewise.
+       (vcmlaq_rot270): Likewise.
+       (vcmlaq_rot90): Likewise.
+       (vcmpeqq_m_n): Likewise.
+       (vcmpgeq_m_n): Likewise.
+       (vrndxq_m): Likewise.
+       (vrndq_m): Likewise.
+       (vrndpq_m): Likewise.
+       (vcmpgtq_m_n): Likewise.
+       (vcmpgtq_m): Likewise.
+       (vcmpleq_m): Likewise.
+       (vcmpleq_m_n): Likewise.
+       (vcmpltq_m_n): Likewise.
+       (vcmpltq_m): Likewise.
+       (vcmpneq_m): Likewise.
+       (vcmpneq_m_n): Likewise.
+       (vcvtbq_m): Likewise.
+       (vcvttq_m): Likewise.
+       (vcvtmq_m): Likewise.
+       (vcvtnq_m): Likewise.
+       (vcvtpq_m): Likewise.
+       (vdupq_m_n): Likewise.
+       (vfmaq_n): Likewise.
+       (vfmaq): Likewise.
+       (vfmasq_n): Likewise.
+       (vfmsq): Likewise.
+       (vmaxnmaq_m): Likewise.
+       (vmaxnmavq_m): Likewise.
+       (vmaxnmvq_m): Likewise.
+       (vmaxnmavq_p): Likewise.
+       (vmaxnmvq_p): Likewise.
+       (vminnmaq_m): Likewise.
+       (vminnmavq_p): Likewise.
+       (vminnmvq_p): Likewise.
+       (vrndnq_m): Likewise.
+       (vrndaq_m): Likewise.
+       (vrndmq_m): Likewise.
+       (vrev64q_m): Likewise.
+       (vrev32q_m): Likewise.
+       (vpselq): Likewise.
+       (vnegq_m): Likewise.
+       (vcmpgeq_m): Likewise.
+       (vshrntq_n): Likewise.
+       (vrshrntq_n): Likewise.
+       (vmovlbq_m): Likewise.
+       (vmovnbq_m): Likewise.
+       (vmovntq_m): Likewise.
+       (vmvnq_m_n): Likewise.
+       (vmvnq_m): Likewise.
+       (vshrnbq_n): Likewise.
+       (vrshrnbq_n): Likewise.
+       (vqshruntq_n): Likewise.
+       (vrev16q_m): Likewise.
+       (vqshrunbq_n): Likewise.
+       (vqshrntq_n): Likewise.
+       (vqrshruntq_n): Likewise.
+       (vqrshrntq_n): Likewise.
+       (vqshrnbq_n): Likewise.
+       (vqmovuntq_m): Likewise.
+       (vqmovntq_m): Likewise.
+       (vqmovnbq_m): Likewise.
+       (vorrq_m_n): Likewise.
+       (vmovltq_m): Likewise.
+       (vqmovunbq_m): Likewise.
+       (vaddlvaq_p): Likewise.
+       (vmlaldavaq): Likewise.
+       (vmlaldavaxq): Likewise.
+       (vmlaldavq_p): Likewise.
+       (vmlaldavxq_p): Likewise.
+       (vmlsldavaq): Likewise.
+       (vmlsldavaxq): Likewise.
+       (vmlsldavq_p): Likewise.
+       (vmlsldavxq_p): Likewise.
+       (vrmlaldavhaxq): Likewise.
+       (vrmlaldavhq_p): Likewise.
+       (vrmlaldavhxq_p): Likewise.
+       (vrmlsldavhaq): Likewise.
+       (vrmlsldavhaxq): Likewise.
+       (vrmlsldavhq_p): Likewise.
+       (vrmlsldavhxq_p): Likewise.
+       * config/arm/arm_mve_builtins.def (TERNOP_NONE_NONE_IMM_UNONE): Use
+       builtin qualifier.
+       (TERNOP_NONE_NONE_NONE_IMM): Likewise.
+       (TERNOP_NONE_NONE_NONE_NONE): Likewise.
+       (TERNOP_NONE_NONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_NONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_UNONE_IMM_UNONE): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_IMM): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_IMM): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/mve.md (MVE_constraint3): Define mode attribute iterator.
+       (MVE_pred3): Likewise.
+       (MVE_constraint1): Likewise.
+       (MVE_pred1): Likewise.
+       (VMLALDAVQ_P): Define iterator.
+       (VQMOVNBQ_M): Likewise.
+       (VMOVLTQ_M): Likewise.
+       (VMOVNBQ_M): Likewise.
+       (VRSHRNTQ_N): Likewise.
+       (VORRQ_M_N): Likewise.
+       (VREV32Q_M): Likewise.
+       (VREV16Q_M): Likewise.
+       (VQRSHRNTQ_N): Likewise.
+       (VMOVNTQ_M): Likewise.
+       (VMOVLBQ_M): Likewise.
+       (VMLALDAVAQ): Likewise.
+       (VQSHRNBQ_N): Likewise.
+       (VSHRNBQ_N): Likewise.
+       (VRSHRNBQ_N): Likewise.
+       (VMLALDAVXQ_P): Likewise.
+       (VQMOVNTQ_M): Likewise.
+       (VMVNQ_M_N): Likewise.
+       (VQSHRNTQ_N): Likewise.
+       (VMLALDAVAXQ): Likewise.
+       (VSHRNTQ_N): Likewise.
+       (VCVTMQ_M): Likewise.
+       (VCVTNQ_M): Likewise.
+       (VCVTPQ_M): Likewise.
+       (VCVTQ_M_N_FROM_F): Likewise.
+       (VCVTQ_M_FROM_F): Likewise.
+       (VRMLALDAVHQ_P): Likewise.
+       (VADDLVAQ_P): Likewise.
+       (mve_vrndq_m_f<mode>): Define RTL pattern.
+       (mve_vabsq_m_f<mode>): Likewise.
+       (mve_vaddlvaq_p_<supf>v4si): Likewise.
+       (mve_vcmlaq_f<mode>): Likewise.
+       (mve_vcmlaq_rot180_f<mode>): Likewise.
+       (mve_vcmlaq_rot270_f<mode>): Likewise.
+       (mve_vcmlaq_rot90_f<mode>): Likewise.
+       (mve_vcmpeqq_m_n_f<mode>): Likewise.
+       (mve_vcmpgeq_m_f<mode>): Likewise.
+       (mve_vcmpgeq_m_n_f<mode>): Likewise.
+       (mve_vcmpgtq_m_f<mode>): Likewise.
+       (mve_vcmpgtq_m_n_f<mode>): Likewise.
+       (mve_vcmpleq_m_f<mode>): Likewise.
+       (mve_vcmpleq_m_n_f<mode>): Likewise.
+       (mve_vcmpltq_m_f<mode>): Likewise.
+       (mve_vcmpltq_m_n_f<mode>): Likewise.
+       (mve_vcmpneq_m_f<mode>): Likewise.
+       (mve_vcmpneq_m_n_f<mode>): Likewise.
+       (mve_vcvtbq_m_f16_f32v8hf): Likewise.
+       (mve_vcvtbq_m_f32_f16v4sf): Likewise.
+       (mve_vcvttq_m_f16_f32v8hf): Likewise.
+       (mve_vcvttq_m_f32_f16v4sf): Likewise.
+       (mve_vdupq_m_n_f<mode>): Likewise.
+       (mve_vfmaq_f<mode>): Likewise.
+       (mve_vfmaq_n_f<mode>): Likewise.
+       (mve_vfmasq_n_f<mode>): Likewise.
+       (mve_vfmsq_f<mode>): Likewise.
+       (mve_vmaxnmaq_m_f<mode>): Likewise.
+       (mve_vmaxnmavq_p_f<mode>): Likewise.
+       (mve_vmaxnmvq_p_f<mode>): Likewise.
+       (mve_vminnmaq_m_f<mode>): Likewise.
+       (mve_vminnmavq_p_f<mode>): Likewise.
+       (mve_vminnmvq_p_f<mode>): Likewise.
+       (mve_vmlaldavaq_<supf><mode>): Likewise.
+       (mve_vmlaldavaxq_<supf><mode>): Likewise.
+       (mve_vmlaldavq_p_<supf><mode>): Likewise.
+       (mve_vmlaldavxq_p_<supf><mode>): Likewise.
+       (mve_vmlsldavaq_s<mode>): Likewise.
+       (mve_vmlsldavaxq_s<mode>): Likewise.
+       (mve_vmlsldavq_p_s<mode>): Likewise.
+       (mve_vmlsldavxq_p_s<mode>): Likewise.
+       (mve_vmovlbq_m_<supf><mode>): Likewise.
+       (mve_vmovltq_m_<supf><mode>): Likewise.
+       (mve_vmovnbq_m_<supf><mode>): Likewise.
+       (mve_vmovntq_m_<supf><mode>): Likewise.
+       (mve_vmvnq_m_n_<supf><mode>): Likewise.
+       (mve_vnegq_m_f<mode>): Likewise.
+       (mve_vorrq_m_n_<supf><mode>): Likewise.
+       (mve_vpselq_f<mode>): Likewise.
+       (mve_vqmovnbq_m_<supf><mode>): Likewise.
+       (mve_vqmovntq_m_<supf><mode>): Likewise.
+       (mve_vqmovunbq_m_s<mode>): Likewise.
+       (mve_vqmovuntq_m_s<mode>): Likewise.
+       (mve_vqrshrntq_n_<supf><mode>): Likewise.
+       (mve_vqrshruntq_n_s<mode>): Likewise.
+       (mve_vqshrnbq_n_<supf><mode>): Likewise.
+       (mve_vqshrntq_n_<supf><mode>): Likewise.
+       (mve_vqshrunbq_n_s<mode>): Likewise.
+       (mve_vqshruntq_n_s<mode>): Likewise.
+       (mve_vrev32q_m_fv8hf): Likewise.
+       (mve_vrev32q_m_<supf><mode>): Likewise.
+       (mve_vrev64q_m_f<mode>): Likewise.
+       (mve_vrmlaldavhaxq_sv4si): Likewise.
+       (mve_vrmlaldavhxq_p_sv4si): Likewise.
+       (mve_vrmlsldavhaxq_sv4si): Likewise.
+       (mve_vrmlsldavhq_p_sv4si): Likewise.
+       (mve_vrmlsldavhxq_p_sv4si): Likewise.
+       (mve_vrndaq_m_f<mode>): Likewise.
+       (mve_vrndmq_m_f<mode>): Likewise.
+       (mve_vrndnq_m_f<mode>): Likewise.
+       (mve_vrndpq_m_f<mode>): Likewise.
+       (mve_vrndxq_m_f<mode>): Likewise.
+       (mve_vrshrnbq_n_<supf><mode>): Likewise.
+       (mve_vrshrntq_n_<supf><mode>): Likewise.
+       (mve_vshrnbq_n_<supf><mode>): Likewise.
+       (mve_vshrntq_n_<supf><mode>): Likewise.
+       (mve_vcvtmq_m_<supf><mode>): Likewise.
+       (mve_vcvtpq_m_<supf><mode>): Likewise.
+       (mve_vcvtnq_m_<supf><mode>): Likewise.
+       (mve_vcvtq_m_n_from_f_<supf><mode>): Likewise.
+       (mve_vrev16q_m_<supf>v16qi): Likewise.
+       (mve_vcvtq_m_from_f_<supf><mode>): Likewise.
+       (mve_vrmlaldavhq_p_<supf>v4si): Likewise.
+       (mve_vrmlsldavhaq_sv4si): Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vpselq_u8): Define macro.
+       (vpselq_s8): Likewise.
+       (vrev64q_m_u8): Likewise.
+       (vqrdmlashq_n_u8): Likewise.
+       (vqrdmlahq_n_u8): Likewise.
+       (vqdmlahq_n_u8): Likewise.
+       (vmvnq_m_u8): Likewise.
+       (vmlasq_n_u8): Likewise.
+       (vmlaq_n_u8): Likewise.
+       (vmladavq_p_u8): Likewise.
+       (vmladavaq_u8): Likewise.
+       (vminvq_p_u8): Likewise.
+       (vmaxvq_p_u8): Likewise.
+       (vdupq_m_n_u8): Likewise.
+       (vcmpneq_m_u8): Likewise.
+       (vcmpneq_m_n_u8): Likewise.
+       (vcmphiq_m_u8): Likewise.
+       (vcmphiq_m_n_u8): Likewise.
+       (vcmpeqq_m_u8): Likewise.
+       (vcmpeqq_m_n_u8): Likewise.
+       (vcmpcsq_m_u8): Likewise.
+       (vcmpcsq_m_n_u8): Likewise.
+       (vclzq_m_u8): Likewise.
+       (vaddvaq_p_u8): Likewise.
+       (vsriq_n_u8): Likewise.
+       (vsliq_n_u8): Likewise.
+       (vshlq_m_r_u8): Likewise.
+       (vrshlq_m_n_u8): Likewise.
+       (vqshlq_m_r_u8): Likewise.
+       (vqrshlq_m_n_u8): Likewise.
+       (vminavq_p_s8): Likewise.
+       (vminaq_m_s8): Likewise.
+       (vmaxavq_p_s8): Likewise.
+       (vmaxaq_m_s8): Likewise.
+       (vcmpneq_m_s8): Likewise.
+       (vcmpneq_m_n_s8): Likewise.
+       (vcmpltq_m_s8): Likewise.
+       (vcmpltq_m_n_s8): Likewise.
+       (vcmpleq_m_s8): Likewise.
+       (vcmpleq_m_n_s8): Likewise.
+       (vcmpgtq_m_s8): Likewise.
+       (vcmpgtq_m_n_s8): Likewise.
+       (vcmpgeq_m_s8): Likewise.
+       (vcmpgeq_m_n_s8): Likewise.
+       (vcmpeqq_m_s8): Likewise.
+       (vcmpeqq_m_n_s8): Likewise.
+       (vshlq_m_r_s8): Likewise.
+       (vrshlq_m_n_s8): Likewise.
+       (vrev64q_m_s8): Likewise.
+       (vqshlq_m_r_s8): Likewise.
+       (vqrshlq_m_n_s8): Likewise.
+       (vqnegq_m_s8): Likewise.
+       (vqabsq_m_s8): Likewise.
+       (vnegq_m_s8): Likewise.
+       (vmvnq_m_s8): Likewise.
+       (vmlsdavxq_p_s8): Likewise.
+       (vmlsdavq_p_s8): Likewise.
+       (vmladavxq_p_s8): Likewise.
+       (vmladavq_p_s8): Likewise.
+       (vminvq_p_s8): Likewise.
+       (vmaxvq_p_s8): Likewise.
+       (vdupq_m_n_s8): Likewise.
+       (vclzq_m_s8): Likewise.
+       (vclsq_m_s8): Likewise.
+       (vaddvaq_p_s8): Likewise.
+       (vabsq_m_s8): Likewise.
+       (vqrdmlsdhxq_s8): Likewise.
+       (vqrdmlsdhq_s8): Likewise.
+       (vqrdmlashq_n_s8): Likewise.
+       (vqrdmlahq_n_s8): Likewise.
+       (vqrdmladhxq_s8): Likewise.
+       (vqrdmladhq_s8): Likewise.
+       (vqdmlsdhxq_s8): Likewise.
+       (vqdmlsdhq_s8): Likewise.
+       (vqdmlahq_n_s8): Likewise.
+       (vqdmladhxq_s8): Likewise.
+       (vqdmladhq_s8): Likewise.
+       (vmlsdavaxq_s8): Likewise.
+       (vmlsdavaq_s8): Likewise.
+       (vmlasq_n_s8): Likewise.
+       (vmlaq_n_s8): Likewise.
+       (vmladavaxq_s8): Likewise.
+       (vmladavaq_s8): Likewise.
+       (vsriq_n_s8): Likewise.
+       (vsliq_n_s8): Likewise.
+       (vpselq_u16): Likewise.
+       (vpselq_s16): Likewise.
+       (vrev64q_m_u16): Likewise.
+       (vqrdmlashq_n_u16): Likewise.
+       (vqrdmlahq_n_u16): Likewise.
+       (vqdmlahq_n_u16): Likewise.
+       (vmvnq_m_u16): Likewise.
+       (vmlasq_n_u16): Likewise.
+       (vmlaq_n_u16): Likewise.
+       (vmladavq_p_u16): Likewise.
+       (vmladavaq_u16): Likewise.
+       (vminvq_p_u16): Likewise.
+       (vmaxvq_p_u16): Likewise.
+       (vdupq_m_n_u16): Likewise.
+       (vcmpneq_m_u16): Likewise.
+       (vcmpneq_m_n_u16): Likewise.
+       (vcmphiq_m_u16): Likewise.
+       (vcmphiq_m_n_u16): Likewise.
+       (vcmpeqq_m_u16): Likewise.
+       (vcmpeqq_m_n_u16): Likewise.
+       (vcmpcsq_m_u16): Likewise.
+       (vcmpcsq_m_n_u16): Likewise.
+       (vclzq_m_u16): Likewise.
+       (vaddvaq_p_u16): Likewise.
+       (vsriq_n_u16): Likewise.
+       (vsliq_n_u16): Likewise.
+       (vshlq_m_r_u16): Likewise.
+       (vrshlq_m_n_u16): Likewise.
+       (vqshlq_m_r_u16): Likewise.
+       (vqrshlq_m_n_u16): Likewise.
+       (vminavq_p_s16): Likewise.
+       (vminaq_m_s16): Likewise.
+       (vmaxavq_p_s16): Likewise.
+       (vmaxaq_m_s16): Likewise.
+       (vcmpneq_m_s16): Likewise.
+       (vcmpneq_m_n_s16): Likewise.
+       (vcmpltq_m_s16): Likewise.
+       (vcmpltq_m_n_s16): Likewise.
+       (vcmpleq_m_s16): Likewise.
+       (vcmpleq_m_n_s16): Likewise.
+       (vcmpgtq_m_s16): Likewise.
+       (vcmpgtq_m_n_s16): Likewise.
+       (vcmpgeq_m_s16): Likewise.
+       (vcmpgeq_m_n_s16): Likewise.
+       (vcmpeqq_m_s16): Likewise.
+       (vcmpeqq_m_n_s16): Likewise.
+       (vshlq_m_r_s16): Likewise.
+       (vrshlq_m_n_s16): Likewise.
+       (vrev64q_m_s16): Likewise.
+       (vqshlq_m_r_s16): Likewise.
+       (vqrshlq_m_n_s16): Likewise.
+       (vqnegq_m_s16): Likewise.
+       (vqabsq_m_s16): Likewise.
+       (vnegq_m_s16): Likewise.
+       (vmvnq_m_s16): Likewise.
+       (vmlsdavxq_p_s16): Likewise.
+       (vmlsdavq_p_s16): Likewise.
+       (vmladavxq_p_s16): Likewise.
+       (vmladavq_p_s16): Likewise.
+       (vminvq_p_s16): Likewise.
+       (vmaxvq_p_s16): Likewise.
+       (vdupq_m_n_s16): Likewise.
+       (vclzq_m_s16): Likewise.
+       (vclsq_m_s16): Likewise.
+       (vaddvaq_p_s16): Likewise.
+       (vabsq_m_s16): Likewise.
+       (vqrdmlsdhxq_s16): Likewise.
+       (vqrdmlsdhq_s16): Likewise.
+       (vqrdmlashq_n_s16): Likewise.
+       (vqrdmlahq_n_s16): Likewise.
+       (vqrdmladhxq_s16): Likewise.
+       (vqrdmladhq_s16): Likewise.
+       (vqdmlsdhxq_s16): Likewise.
+       (vqdmlsdhq_s16): Likewise.
+       (vqdmlahq_n_s16): Likewise.
+       (vqdmladhxq_s16): Likewise.
+       (vqdmladhq_s16): Likewise.
+       (vmlsdavaxq_s16): Likewise.
+       (vmlsdavaq_s16): Likewise.
+       (vmlasq_n_s16): Likewise.
+       (vmlaq_n_s16): Likewise.
+       (vmladavaxq_s16): Likewise.
+       (vmladavaq_s16): Likewise.
+       (vsriq_n_s16): Likewise.
+       (vsliq_n_s16): Likewise.
+       (vpselq_u32): Likewise.
+       (vpselq_s32): Likewise.
+       (vrev64q_m_u32): Likewise.
+       (vqrdmlashq_n_u32): Likewise.
+       (vqrdmlahq_n_u32): Likewise.
+       (vqdmlahq_n_u32): Likewise.
+       (vmvnq_m_u32): Likewise.
+       (vmlasq_n_u32): Likewise.
+       (vmlaq_n_u32): Likewise.
+       (vmladavq_p_u32): Likewise.
+       (vmladavaq_u32): Likewise.
+       (vminvq_p_u32): Likewise.
+       (vmaxvq_p_u32): Likewise.
+       (vdupq_m_n_u32): Likewise.
+       (vcmpneq_m_u32): Likewise.
+       (vcmpneq_m_n_u32): Likewise.
+       (vcmphiq_m_u32): Likewise.
+       (vcmphiq_m_n_u32): Likewise.
+       (vcmpeqq_m_u32): Likewise.
+       (vcmpeqq_m_n_u32): Likewise.
+       (vcmpcsq_m_u32): Likewise.
+       (vcmpcsq_m_n_u32): Likewise.
+       (vclzq_m_u32): Likewise.
+       (vaddvaq_p_u32): Likewise.
+       (vsriq_n_u32): Likewise.
+       (vsliq_n_u32): Likewise.
+       (vshlq_m_r_u32): Likewise.
+       (vrshlq_m_n_u32): Likewise.
+       (vqshlq_m_r_u32): Likewise.
+       (vqrshlq_m_n_u32): Likewise.
+       (vminavq_p_s32): Likewise.
+       (vminaq_m_s32): Likewise.
+       (vmaxavq_p_s32): Likewise.
+       (vmaxaq_m_s32): Likewise.
+       (vcmpneq_m_s32): Likewise.
+       (vcmpneq_m_n_s32): Likewise.
+       (vcmpltq_m_s32): Likewise.
+       (vcmpltq_m_n_s32): Likewise.
+       (vcmpleq_m_s32): Likewise.
+       (vcmpleq_m_n_s32): Likewise.
+       (vcmpgtq_m_s32): Likewise.
+       (vcmpgtq_m_n_s32): Likewise.
+       (vcmpgeq_m_s32): Likewise.
+       (vcmpgeq_m_n_s32): Likewise.
+       (vcmpeqq_m_s32): Likewise.
+       (vcmpeqq_m_n_s32): Likewise.
+       (vshlq_m_r_s32): Likewise.
+       (vrshlq_m_n_s32): Likewise.
+       (vrev64q_m_s32): Likewise.
+       (vqshlq_m_r_s32): Likewise.
+       (vqrshlq_m_n_s32): Likewise.
+       (vqnegq_m_s32): Likewise.
+       (vqabsq_m_s32): Likewise.
+       (vnegq_m_s32): Likewise.
+       (vmvnq_m_s32): Likewise.
+       (vmlsdavxq_p_s32): Likewise.
+       (vmlsdavq_p_s32): Likewise.
+       (vmladavxq_p_s32): Likewise.
+       (vmladavq_p_s32): Likewise.
+       (vminvq_p_s32): Likewise.
+       (vmaxvq_p_s32): Likewise.
+       (vdupq_m_n_s32): Likewise.
+       (vclzq_m_s32): Likewise.
+       (vclsq_m_s32): Likewise.
+       (vaddvaq_p_s32): Likewise.
+       (vabsq_m_s32): Likewise.
+       (vqrdmlsdhxq_s32): Likewise.
+       (vqrdmlsdhq_s32): Likewise.
+       (vqrdmlashq_n_s32): Likewise.
+       (vqrdmlahq_n_s32): Likewise.
+       (vqrdmladhxq_s32): Likewise.
+       (vqrdmladhq_s32): Likewise.
+       (vqdmlsdhxq_s32): Likewise.
+       (vqdmlsdhq_s32): Likewise.
+       (vqdmlahq_n_s32): Likewise.
+       (vqdmladhxq_s32): Likewise.
+       (vqdmladhq_s32): Likewise.
+       (vmlsdavaxq_s32): Likewise.
+       (vmlsdavaq_s32): Likewise.
+       (vmlasq_n_s32): Likewise.
+       (vmlaq_n_s32): Likewise.
+       (vmladavaxq_s32): Likewise.
+       (vmladavaq_s32): Likewise.
+       (vsriq_n_s32): Likewise.
+       (vsliq_n_s32): Likewise.
+       (vpselq_u64): Likewise.
+       (vpselq_s64): Likewise.
+       (__arm_vpselq_u8): Define intrinsic.
+       (__arm_vpselq_s8): Likewise.
+       (__arm_vrev64q_m_u8): Likewise.
+       (__arm_vqrdmlashq_n_u8): Likewise.
+       (__arm_vqrdmlahq_n_u8): Likewise.
+       (__arm_vqdmlahq_n_u8): Likewise.
+       (__arm_vmvnq_m_u8): Likewise.
+       (__arm_vmlasq_n_u8): Likewise.
+       (__arm_vmlaq_n_u8): Likewise.
+       (__arm_vmladavq_p_u8): Likewise.
+       (__arm_vmladavaq_u8): Likewise.
+       (__arm_vminvq_p_u8): Likewise.
+       (__arm_vmaxvq_p_u8): Likewise.
+       (__arm_vdupq_m_n_u8): Likewise.
+       (__arm_vcmpneq_m_u8): Likewise.
+       (__arm_vcmpneq_m_n_u8): Likewise.
+       (__arm_vcmphiq_m_u8): Likewise.
+       (__arm_vcmphiq_m_n_u8): Likewise.
+       (__arm_vcmpeqq_m_u8): Likewise.
+       (__arm_vcmpeqq_m_n_u8): Likewise.
+       (__arm_vcmpcsq_m_u8): Likewise.
+       (__arm_vcmpcsq_m_n_u8): Likewise.
+       (__arm_vclzq_m_u8): Likewise.
+       (__arm_vaddvaq_p_u8): Likewise.
+       (__arm_vsriq_n_u8): Likewise.
+       (__arm_vsliq_n_u8): Likewise.
+       (__arm_vshlq_m_r_u8): Likewise.
+       (__arm_vrshlq_m_n_u8): Likewise.
+       (__arm_vqshlq_m_r_u8): Likewise.
+       (__arm_vqrshlq_m_n_u8): Likewise.
+       (__arm_vminavq_p_s8): Likewise.
+       (__arm_vminaq_m_s8): Likewise.
+       (__arm_vmaxavq_p_s8): Likewise.
+       (__arm_vmaxaq_m_s8): Likewise.
+       (__arm_vcmpneq_m_s8): Likewise.
+       (__arm_vcmpneq_m_n_s8): Likewise.
+       (__arm_vcmpltq_m_s8): Likewise.
+       (__arm_vcmpltq_m_n_s8): Likewise.
+       (__arm_vcmpleq_m_s8): Likewise.
+       (__arm_vcmpleq_m_n_s8): Likewise.
+       (__arm_vcmpgtq_m_s8): Likewise.
+       (__arm_vcmpgtq_m_n_s8): Likewise.
+       (__arm_vcmpgeq_m_s8): Likewise.
+       (__arm_vcmpgeq_m_n_s8): Likewise.
+       (__arm_vcmpeqq_m_s8): Likewise.
+       (__arm_vcmpeqq_m_n_s8): Likewise.
+       (__arm_vshlq_m_r_s8): Likewise.
+       (__arm_vrshlq_m_n_s8): Likewise.
+       (__arm_vrev64q_m_s8): Likewise.
+       (__arm_vqshlq_m_r_s8): Likewise.
+       (__arm_vqrshlq_m_n_s8): Likewise.
+       (__arm_vqnegq_m_s8): Likewise.
+       (__arm_vqabsq_m_s8): Likewise.
+       (__arm_vnegq_m_s8): Likewise.
+       (__arm_vmvnq_m_s8): Likewise.
+       (__arm_vmlsdavxq_p_s8): Likewise.
+       (__arm_vmlsdavq_p_s8): Likewise.
+       (__arm_vmladavxq_p_s8): Likewise.
+       (__arm_vmladavq_p_s8): Likewise.
+       (__arm_vminvq_p_s8): Likewise.
+       (__arm_vmaxvq_p_s8): Likewise.
+       (__arm_vdupq_m_n_s8): Likewise.
+       (__arm_vclzq_m_s8): Likewise.
+       (__arm_vclsq_m_s8): Likewise.
+       (__arm_vaddvaq_p_s8): Likewise.
+       (__arm_vabsq_m_s8): Likewise.
+       (__arm_vqrdmlsdhxq_s8): Likewise.
+       (__arm_vqrdmlsdhq_s8): Likewise.
+       (__arm_vqrdmlashq_n_s8): Likewise.
+       (__arm_vqrdmlahq_n_s8): Likewise.
+       (__arm_vqrdmladhxq_s8): Likewise.
+       (__arm_vqrdmladhq_s8): Likewise.
+       (__arm_vqdmlsdhxq_s8): Likewise.
+       (__arm_vqdmlsdhq_s8): Likewise.
+       (__arm_vqdmlahq_n_s8): Likewise.
+       (__arm_vqdmladhxq_s8): Likewise.
+       (__arm_vqdmladhq_s8): Likewise.
+       (__arm_vmlsdavaxq_s8): Likewise.
+       (__arm_vmlsdavaq_s8): Likewise.
+       (__arm_vmlasq_n_s8): Likewise.
+       (__arm_vmlaq_n_s8): Likewise.
+       (__arm_vmladavaxq_s8): Likewise.
+       (__arm_vmladavaq_s8): Likewise.
+       (__arm_vsriq_n_s8): Likewise.
+       (__arm_vsliq_n_s8): Likewise.
+       (__arm_vpselq_u16): Likewise.
+       (__arm_vpselq_s16): Likewise.
+       (__arm_vrev64q_m_u16): Likewise.
+       (__arm_vqrdmlashq_n_u16): Likewise.
+       (__arm_vqrdmlahq_n_u16): Likewise.
+       (__arm_vqdmlahq_n_u16): Likewise.
+       (__arm_vmvnq_m_u16): Likewise.
+       (__arm_vmlasq_n_u16): Likewise.
+       (__arm_vmlaq_n_u16): Likewise.
+       (__arm_vmladavq_p_u16): Likewise.
+       (__arm_vmladavaq_u16): Likewise.
+       (__arm_vminvq_p_u16): Likewise.
+       (__arm_vmaxvq_p_u16): Likewise.
+       (__arm_vdupq_m_n_u16): Likewise.
+       (__arm_vcmpneq_m_u16): Likewise.
+       (__arm_vcmpneq_m_n_u16): Likewise.
+       (__arm_vcmphiq_m_u16): Likewise.
+       (__arm_vcmphiq_m_n_u16): Likewise.
+       (__arm_vcmpeqq_m_u16): Likewise.
+       (__arm_vcmpeqq_m_n_u16): Likewise.
+       (__arm_vcmpcsq_m_u16): Likewise.
+       (__arm_vcmpcsq_m_n_u16): Likewise.
+       (__arm_vclzq_m_u16): Likewise.
+       (__arm_vaddvaq_p_u16): Likewise.
+       (__arm_vsriq_n_u16): Likewise.
+       (__arm_vsliq_n_u16): Likewise.
+       (__arm_vshlq_m_r_u16): Likewise.
+       (__arm_vrshlq_m_n_u16): Likewise.
+       (__arm_vqshlq_m_r_u16): Likewise.
+       (__arm_vqrshlq_m_n_u16): Likewise.
+       (__arm_vminavq_p_s16): Likewise.
+       (__arm_vminaq_m_s16): Likewise.
+       (__arm_vmaxavq_p_s16): Likewise.
+       (__arm_vmaxaq_m_s16): Likewise.
+       (__arm_vcmpneq_m_s16): Likewise.
+       (__arm_vcmpneq_m_n_s16): Likewise.
+       (__arm_vcmpltq_m_s16): Likewise.
+       (__arm_vcmpltq_m_n_s16): Likewise.
+       (__arm_vcmpleq_m_s16): Likewise.
+       (__arm_vcmpleq_m_n_s16): Likewise.
+       (__arm_vcmpgtq_m_s16): Likewise.
+       (__arm_vcmpgtq_m_n_s16): Likewise.
+       (__arm_vcmpgeq_m_s16): Likewise.
+       (__arm_vcmpgeq_m_n_s16): Likewise.
+       (__arm_vcmpeqq_m_s16): Likewise.
+       (__arm_vcmpeqq_m_n_s16): Likewise.
+       (__arm_vshlq_m_r_s16): Likewise.
+       (__arm_vrshlq_m_n_s16): Likewise.
+       (__arm_vrev64q_m_s16): Likewise.
+       (__arm_vqshlq_m_r_s16): Likewise.
+       (__arm_vqrshlq_m_n_s16): Likewise.
+       (__arm_vqnegq_m_s16): Likewise.
+       (__arm_vqabsq_m_s16): Likewise.
+       (__arm_vnegq_m_s16): Likewise.
+       (__arm_vmvnq_m_s16): Likewise.
+       (__arm_vmlsdavxq_p_s16): Likewise.
+       (__arm_vmlsdavq_p_s16): Likewise.
+       (__arm_vmladavxq_p_s16): Likewise.
+       (__arm_vmladavq_p_s16): Likewise.
+       (__arm_vminvq_p_s16): Likewise.
+       (__arm_vmaxvq_p_s16): Likewise.
+       (__arm_vdupq_m_n_s16): Likewise.
+       (__arm_vclzq_m_s16): Likewise.
+       (__arm_vclsq_m_s16): Likewise.
+       (__arm_vaddvaq_p_s16): Likewise.
+       (__arm_vabsq_m_s16): Likewise.
+       (__arm_vqrdmlsdhxq_s16): Likewise.
+       (__arm_vqrdmlsdhq_s16): Likewise.
+       (__arm_vqrdmlashq_n_s16): Likewise.
+       (__arm_vqrdmlahq_n_s16): Likewise.
+       (__arm_vqrdmladhxq_s16): Likewise.
+       (__arm_vqrdmladhq_s16): Likewise.
+       (__arm_vqdmlsdhxq_s16): Likewise.
+       (__arm_vqdmlsdhq_s16): Likewise.
+       (__arm_vqdmlahq_n_s16): Likewise.
+       (__arm_vqdmladhxq_s16): Likewise.
+       (__arm_vqdmladhq_s16): Likewise.
+       (__arm_vmlsdavaxq_s16): Likewise.
+       (__arm_vmlsdavaq_s16): Likewise.
+       (__arm_vmlasq_n_s16): Likewise.
+       (__arm_vmlaq_n_s16): Likewise.
+       (__arm_vmladavaxq_s16): Likewise.
+       (__arm_vmladavaq_s16): Likewise.
+       (__arm_vsriq_n_s16): Likewise.
+       (__arm_vsliq_n_s16): Likewise.
+       (__arm_vpselq_u32): Likewise.
+       (__arm_vpselq_s32): Likewise.
+       (__arm_vrev64q_m_u32): Likewise.
+       (__arm_vqrdmlashq_n_u32): Likewise.
+       (__arm_vqrdmlahq_n_u32): Likewise.
+       (__arm_vqdmlahq_n_u32): Likewise.
+       (__arm_vmvnq_m_u32): Likewise.
+       (__arm_vmlasq_n_u32): Likewise.
+       (__arm_vmlaq_n_u32): Likewise.
+       (__arm_vmladavq_p_u32): Likewise.
+       (__arm_vmladavaq_u32): Likewise.
+       (__arm_vminvq_p_u32): Likewise.
+       (__arm_vmaxvq_p_u32): Likewise.
+       (__arm_vdupq_m_n_u32): Likewise.
+       (__arm_vcmpneq_m_u32): Likewise.
+       (__arm_vcmpneq_m_n_u32): Likewise.
+       (__arm_vcmphiq_m_u32): Likewise.
+       (__arm_vcmphiq_m_n_u32): Likewise.
+       (__arm_vcmpeqq_m_u32): Likewise.
+       (__arm_vcmpeqq_m_n_u32): Likewise.
+       (__arm_vcmpcsq_m_u32): Likewise.
+       (__arm_vcmpcsq_m_n_u32): Likewise.
+       (__arm_vclzq_m_u32): Likewise.
+       (__arm_vaddvaq_p_u32): Likewise.
+       (__arm_vsriq_n_u32): Likewise.
+       (__arm_vsliq_n_u32): Likewise.
+       (__arm_vshlq_m_r_u32): Likewise.
+       (__arm_vrshlq_m_n_u32): Likewise.
+       (__arm_vqshlq_m_r_u32): Likewise.
+       (__arm_vqrshlq_m_n_u32): Likewise.
+       (__arm_vminavq_p_s32): Likewise.
+       (__arm_vminaq_m_s32): Likewise.
+       (__arm_vmaxavq_p_s32): Likewise.
+       (__arm_vmaxaq_m_s32): Likewise.
+       (__arm_vcmpneq_m_s32): Likewise.
+       (__arm_vcmpneq_m_n_s32): Likewise.
+       (__arm_vcmpltq_m_s32): Likewise.
+       (__arm_vcmpltq_m_n_s32): Likewise.
+       (__arm_vcmpleq_m_s32): Likewise.
+       (__arm_vcmpleq_m_n_s32): Likewise.
+       (__arm_vcmpgtq_m_s32): Likewise.
+       (__arm_vcmpgtq_m_n_s32): Likewise.
+       (__arm_vcmpgeq_m_s32): Likewise.
+       (__arm_vcmpgeq_m_n_s32): Likewise.
+       (__arm_vcmpeqq_m_s32): Likewise.
+       (__arm_vcmpeqq_m_n_s32): Likewise.
+       (__arm_vshlq_m_r_s32): Likewise.
+       (__arm_vrshlq_m_n_s32): Likewise.
+       (__arm_vrev64q_m_s32): Likewise.
+       (__arm_vqshlq_m_r_s32): Likewise.
+       (__arm_vqrshlq_m_n_s32): Likewise.
+       (__arm_vqnegq_m_s32): Likewise.
+       (__arm_vqabsq_m_s32): Likewise.
+       (__arm_vnegq_m_s32): Likewise.
+       (__arm_vmvnq_m_s32): Likewise.
+       (__arm_vmlsdavxq_p_s32): Likewise.
+       (__arm_vmlsdavq_p_s32): Likewise.
+       (__arm_vmladavxq_p_s32): Likewise.
+       (__arm_vmladavq_p_s32): Likewise.
+       (__arm_vminvq_p_s32): Likewise.
+       (__arm_vmaxvq_p_s32): Likewise.
+       (__arm_vdupq_m_n_s32): Likewise.
+       (__arm_vclzq_m_s32): Likewise.
+       (__arm_vclsq_m_s32): Likewise.
+       (__arm_vaddvaq_p_s32): Likewise.
+       (__arm_vabsq_m_s32): Likewise.
+       (__arm_vqrdmlsdhxq_s32): Likewise.
+       (__arm_vqrdmlsdhq_s32): Likewise.
+       (__arm_vqrdmlashq_n_s32): Likewise.
+       (__arm_vqrdmlahq_n_s32): Likewise.
+       (__arm_vqrdmladhxq_s32): Likewise.
+       (__arm_vqrdmladhq_s32): Likewise.
+       (__arm_vqdmlsdhxq_s32): Likewise.
+       (__arm_vqdmlsdhq_s32): Likewise.
+       (__arm_vqdmlahq_n_s32): Likewise.
+       (__arm_vqdmladhxq_s32): Likewise.
+       (__arm_vqdmladhq_s32): Likewise.
+       (__arm_vmlsdavaxq_s32): Likewise.
+       (__arm_vmlsdavaq_s32): Likewise.
+       (__arm_vmlasq_n_s32): Likewise.
+       (__arm_vmlaq_n_s32): Likewise.
+       (__arm_vmladavaxq_s32): Likewise.
+       (__arm_vmladavaq_s32): Likewise.
+       (__arm_vsriq_n_s32): Likewise.
+       (__arm_vsliq_n_s32): Likewise.
+       (__arm_vpselq_u64): Likewise.
+       (__arm_vpselq_s64): Likewise.
+       (vcmpneq_m_n): Define polymorphic variant.
+       (vcmpneq_m): Likewise.
+       (vqrdmlsdhq): Likewise.
+       (vqrdmlsdhxq): Likewise.
+       (vqrshlq_m_n): Likewise.
+       (vqshlq_m_r): Likewise.
+       (vrev64q_m): Likewise.
+       (vrshlq_m_n): Likewise.
+       (vshlq_m_r): Likewise.
+       (vsliq_n): Likewise.
+       (vsriq_n): Likewise.
+       (vqrdmlashq_n): Likewise.
+       (vqrdmlahq): Likewise.
+       (vqrdmladhxq): Likewise.
+       (vqrdmladhq): Likewise.
+       (vqnegq_m): Likewise.
+       (vqdmlsdhxq): Likewise.
+       (vabsq_m): Likewise.
+       (vclsq_m): Likewise.
+       (vclzq_m): Likewise.
+       (vcmpgeq_m): Likewise.
+       (vcmpgeq_m_n): Likewise.
+       (vdupq_m_n): Likewise.
+       (vmaxaq_m): Likewise.
+       (vmlaq_n): Likewise.
+       (vmlasq_n): Likewise.
+       (vmvnq_m): Likewise.
+       (vnegq_m): Likewise.
+       (vpselq): Likewise.
+       (vqdmlahq_n): Likewise.
+       (vqrdmlahq_n): Likewise.
+       (vqdmlsdhq): Likewise.
+       (vqdmladhq): Likewise.
+       (vqabsq_m): Likewise.
+       (vminaq_m): Likewise.
+       (vrmlaldavhaq): Likewise.
+       (vmlsdavxq_p): Likewise.
+       (vmlsdavq_p): Likewise. 
+       (vmlsdavaxq): Likewise. 
+       (vmlsdavaq): Likewise.  
+       (vaddvaq_p): Likewise.  
+       (vcmpcsq_m_n): Likewise.        
+       (vcmpcsq_m): Likewise.  
+       (vcmpeqq_m_n): Likewise.        
+       (vcmpeqq_m): Likewise.  
+       (vmladavxq_p): Likewise.        
+       (vmladavq_p): Likewise. 
+       (vmladavaxq): Likewise. 
+       (vmladavaq): Likewise.  
+       (vminvq_p): Likewise.   
+       (vminavq_p): Likewise.  
+       (vmaxvq_p): Likewise.   
+       (vmaxavq_p): Likewise.  
+       (vcmpltq_m_n): Likewise.        
+       (vcmpltq_m): Likewise.  
+       (vcmpleq_m): Likewise.  
+       (vcmpleq_m_n): Likewise.        
+       (vcmphiq_m_n): Likewise.        
+       (vcmphiq_m): Likewise.  
+       (vcmpgtq_m_n): Likewise.        
+       (vcmpgtq_m): Likewise.  
+       * config/arm/arm_mve_builtins.def (TERNOP_NONE_NONE_NONE_IMM): Use
+       builtin qualifier.
+       (TERNOP_NONE_NONE_NONE_NONE): Likewise.
+       (TERNOP_NONE_NONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_NONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_UNONE): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_IMM): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/constraints.md (Rc): Define constraint to check constant is
+       in the range of 0 to 15.
+       (Re): Define constraint to check constant is in the range of 0 to 31.
+       * config/arm/mve.md (VADDVAQ_P): Define iterator.
+       (VCLZQ_M): Likewise.
+       (VCMPEQQ_M_N): Likewise.
+       (VCMPEQQ_M): Likewise.
+       (VCMPNEQ_M_N): Likewise.
+       (VCMPNEQ_M): Likewise.
+       (VDUPQ_M_N): Likewise.
+       (VMAXVQ_P): Likewise.
+       (VMINVQ_P): Likewise.
+       (VMLADAVAQ): Likewise.
+       (VMLADAVQ_P): Likewise.
+       (VMLAQ_N): Likewise.
+       (VMLASQ_N): Likewise.
+       (VMVNQ_M): Likewise.
+       (VPSELQ): Likewise.
+       (VQDMLAHQ_N): Likewise.
+       (VQRDMLAHQ_N): Likewise.
+       (VQRDMLASHQ_N): Likewise.
+       (VQRSHLQ_M_N): Likewise.
+       (VQSHLQ_M_R): Likewise.
+       (VREV64Q_M): Likewise.
+       (VRSHLQ_M_N): Likewise.
+       (VSHLQ_M_R): Likewise.
+       (VSLIQ_N): Likewise.
+       (VSRIQ_N): Likewise.
+       (mve_vabsq_m_s<mode>): Define RTL pattern.
+       (mve_vaddvaq_p_<supf><mode>): Likewise.
+       (mve_vclsq_m_s<mode>): Likewise.
+       (mve_vclzq_m_<supf><mode>): Likewise.
+       (mve_vcmpcsq_m_n_u<mode>): Likewise.
+       (mve_vcmpcsq_m_u<mode>): Likewise.
+       (mve_vcmpeqq_m_n_<supf><mode>): Likewise.
+       (mve_vcmpeqq_m_<supf><mode>): Likewise.
+       (mve_vcmpgeq_m_n_s<mode>): Likewise.
+       (mve_vcmpgeq_m_s<mode>): Likewise.
+       (mve_vcmpgtq_m_n_s<mode>): Likewise.
+       (mve_vcmpgtq_m_s<mode>): Likewise.
+       (mve_vcmphiq_m_n_u<mode>): Likewise.
+       (mve_vcmphiq_m_u<mode>): Likewise.
+       (mve_vcmpleq_m_n_s<mode>): Likewise.
+       (mve_vcmpleq_m_s<mode>): Likewise.
+       (mve_vcmpltq_m_n_s<mode>): Likewise.
+       (mve_vcmpltq_m_s<mode>): Likewise.
+       (mve_vcmpneq_m_n_<supf><mode>): Likewise.
+       (mve_vcmpneq_m_<supf><mode>): Likewise.
+       (mve_vdupq_m_n_<supf><mode>): Likewise.
+       (mve_vmaxaq_m_s<mode>): Likewise.
+       (mve_vmaxavq_p_s<mode>): Likewise.
+       (mve_vmaxvq_p_<supf><mode>): Likewise.
+       (mve_vminaq_m_s<mode>): Likewise.
+       (mve_vminavq_p_s<mode>): Likewise.
+       (mve_vminvq_p_<supf><mode>): Likewise.
+       (mve_vmladavaq_<supf><mode>): Likewise.
+       (mve_vmladavq_p_<supf><mode>): Likewise.
+       (mve_vmladavxq_p_s<mode>): Likewise.
+       (mve_vmlaq_n_<supf><mode>): Likewise.
+       (mve_vmlasq_n_<supf><mode>): Likewise.
+       (mve_vmlsdavq_p_s<mode>): Likewise.
+       (mve_vmlsdavxq_p_s<mode>): Likewise.
+       (mve_vmvnq_m_<supf><mode>): Likewise.
+       (mve_vnegq_m_s<mode>): Likewise.
+       (mve_vpselq_<supf><mode>): Likewise.
+       (mve_vqabsq_m_s<mode>): Likewise.
+       (mve_vqdmlahq_n_<supf><mode>): Likewise.
+       (mve_vqnegq_m_s<mode>): Likewise.
+       (mve_vqrdmladhq_s<mode>): Likewise.
+       (mve_vqrdmladhxq_s<mode>): Likewise.
+       (mve_vqrdmlahq_n_<supf><mode>): Likewise.
+       (mve_vqrdmlashq_n_<supf><mode>): Likewise.
+       (mve_vqrdmlsdhq_s<mode>): Likewise.
+       (mve_vqrdmlsdhxq_s<mode>): Likewise.
+       (mve_vqrshlq_m_n_<supf><mode>): Likewise.
+       (mve_vqshlq_m_r_<supf><mode>): Likewise.
+       (mve_vrev64q_m_<supf><mode>): Likewise.
+       (mve_vrshlq_m_n_<supf><mode>): Likewise.
+       (mve_vshlq_m_r_<supf><mode>): Likewise.
+       (mve_vsliq_n_<supf><mode>): Likewise.
+       (mve_vsriq_n_<supf><mode>): Likewise.
+       (mve_vqdmlsdhxq_s<mode>): Likewise.
+       (mve_vqdmlsdhq_s<mode>): Likewise.
+       (mve_vqdmladhxq_s<mode>): Likewise.
+       (mve_vqdmladhq_s<mode>): Likewise.
+       (mve_vmlsdavaxq_s<mode>): Likewise.
+       (mve_vmlsdavaq_s<mode>): Likewise.
+       (mve_vmladavaxq_s<mode>): Likewise.
+       * config/arm/predicates.md (mve_imm_15):Define predicate to check the
+       matching constraint Rc.
+       (mve_imm_31): Define predicate to check the matching constraint Re.
+
+2020-03-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (vec_cmp<mode>di): Set operand 1 to DImode.
+       (vec_cmp<mode>di_dup): Likewise.
+       * config/gcn/gcn.h (STORE_FLAG_VALUE): Set to -1.
+
+2020-03-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (COND_MODE): Delete.
+       (COND_INT_MODE): Delete.
+       (cond_op): Add "mult".
+       (cond_<expander><mode>): Use VEC_ALLREG_MODE.
+       (cond_<expander><mode>): Use VEC_ALLREG_INT_MODE.
+
+2020-03-18   Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94206
+       * gimple-fold.c (gimple_fold_builtin_memset): Avoid using
+       partial int modes or not mode-precision integer types for
+       the store.
+
+2020-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * asan.c (get_mem_refs_of_builtin_call): Fix up duplicated word issue
+       in a comment.
+       * config/arc/arc.c (frame_stack_add): Likewise.
+       * gimple-loop-versioning.cc (loop_versioning::analyze_arbitrary_term):
+       Likewise.
+       * ipa-predicate.c (predicate::remap_after_inlining): Likewise.
+       * tree-ssa-strlen.h (handle_printf_call): Likewise.
+       * tree-ssa-strlen.c (is_strlen_related_p): Likewise.
+       * optinfo-emit-json.cc (optrecord_json_writer::add_record): Likewise.
+
+2020-03-18  Duan bo  <duanbo3@huawei.com>
+
+       PR target/94201
+       * config/aarch64/aarch64.md (ldr_got_tiny): Delete.
+       (@ldr_got_tiny_<mode>): New pattern.
+       (ldr_got_tiny_sidi): Likewise.
+       * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Use
+       them to handle SYMBOL_TINY_GOT for ILP32.
+
+2020-03-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_sve_abi): Treat p12-p15 as
+       call-preserved for SVE PCS functions.
+       (aarch64_layout_frame): Cope with up to 12 predicate save slots.
+       Optimize the case in which there are no following vector save slots.
+
+2020-03-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94188
+       * fold-const.c (build_fold_addr_expr): Convert address to
+       correct type.
+       * asan.c (maybe_create_ssa_name): Strip useless type conversions.
+       * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use build1
+       to build the ADDR_EXPR which we don't really want to simplify.
+       * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
+       * tree-ssa-loop-im.c (gather_mem_refs_stmt): Likewise.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+       (simplify_builtin_call): Strip useless type conversions.
+       * tree-ssa-strlen.c (new_strinfo): Likewise.
+
+2020-03-17  Alexey Neyman  <stilor@att.net>
+
+       PR debug/93751
+       * dwarf2out.c (gen_decl_die): Proceed to generating the DIE if
+       the debug level is terse and the declaration is public. Do not
+       generate type info.
+       (dwarf2out_decl): Same.
+       (add_type_attribute): Return immediately if debug level is
+       terse.
+
+2020-03-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (Vmtype): Handle V4BF and V8BF.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (TERNOP_UNONE_UNONE_UNONE_IMM_QUALIFIERS):
+       Define qualifier for ternary operands.
+       (TERNOP_UNONE_UNONE_NONE_NONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_NONE_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vabavq_s8): Define macro.
+       (vabavq_s16): Likewise.
+       (vabavq_s32): Likewise.
+       (vbicq_m_n_s16): Likewise.
+       (vbicq_m_n_s32): Likewise.
+       (vbicq_m_n_u16): Likewise.
+       (vbicq_m_n_u32): Likewise.
+       (vcmpeqq_m_f16): Likewise.
+       (vcmpeqq_m_f32): Likewise.
+       (vcvtaq_m_s16_f16): Likewise.
+       (vcvtaq_m_u16_f16): Likewise.
+       (vcvtaq_m_s32_f32): Likewise.
+       (vcvtaq_m_u32_f32): Likewise.
+       (vcvtq_m_f16_s16): Likewise.
+       (vcvtq_m_f16_u16): Likewise.
+       (vcvtq_m_f32_s32): Likewise.
+       (vcvtq_m_f32_u32): Likewise.
+       (vqrshrnbq_n_s16): Likewise.
+       (vqrshrnbq_n_u16): Likewise.
+       (vqrshrnbq_n_s32): Likewise.
+       (vqrshrnbq_n_u32): Likewise.
+       (vqrshrunbq_n_s16): Likewise.
+       (vqrshrunbq_n_s32): Likewise.
+       (vrmlaldavhaq_s32): Likewise.
+       (vrmlaldavhaq_u32): Likewise.
+       (vshlcq_s8): Likewise.
+       (vshlcq_u8): Likewise.
+       (vshlcq_s16): Likewise.
+       (vshlcq_u16): Likewise.
+       (vshlcq_s32): Likewise.
+       (vshlcq_u32): Likewise.
+       (vabavq_u8): Likewise.
+       (vabavq_u16): Likewise.
+       (vabavq_u32): Likewise.
+       (__arm_vabavq_s8): Define intrinsic.
+       (__arm_vabavq_s16): Likewise.
+       (__arm_vabavq_s32): Likewise.
+       (__arm_vabavq_u8): Likewise.
+       (__arm_vabavq_u16): Likewise.
+       (__arm_vabavq_u32): Likewise.
+       (__arm_vbicq_m_n_s16): Likewise.
+       (__arm_vbicq_m_n_s32): Likewise.
+       (__arm_vbicq_m_n_u16): Likewise.
+       (__arm_vbicq_m_n_u32): Likewise.
+       (__arm_vqrshrnbq_n_s16): Likewise.
+       (__arm_vqrshrnbq_n_u16): Likewise.
+       (__arm_vqrshrnbq_n_s32): Likewise.
+       (__arm_vqrshrnbq_n_u32): Likewise.
+       (__arm_vqrshrunbq_n_s16): Likewise.
+       (__arm_vqrshrunbq_n_s32): Likewise.
+       (__arm_vrmlaldavhaq_s32): Likewise.
+       (__arm_vrmlaldavhaq_u32): Likewise.
+       (__arm_vshlcq_s8): Likewise.
+       (__arm_vshlcq_u8): Likewise.
+       (__arm_vshlcq_s16): Likewise.
+       (__arm_vshlcq_u16): Likewise.
+       (__arm_vshlcq_s32): Likewise.
+       (__arm_vshlcq_u32): Likewise.
+       (__arm_vcmpeqq_m_f16): Likewise.
+       (__arm_vcmpeqq_m_f32): Likewise.
+       (__arm_vcvtaq_m_s16_f16): Likewise.
+       (__arm_vcvtaq_m_u16_f16): Likewise.
+       (__arm_vcvtaq_m_s32_f32): Likewise.
+       (__arm_vcvtaq_m_u32_f32): Likewise.
+       (__arm_vcvtq_m_f16_s16): Likewise.
+       (__arm_vcvtq_m_f16_u16): Likewise.
+       (__arm_vcvtq_m_f32_s32): Likewise.
+       (__arm_vcvtq_m_f32_u32): Likewise.
+       (vcvtaq_m): Define polymorphic variant.
+       (vcvtq_m): Likewise.
+       (vabavq): Likewise.
+       (vshlcq): Likewise.
+       (vbicq_m_n): Likewise.
+       (vqrshrnbq_n): Likewise.
+       (vqrshrunbq_n): Likewise.
+       * config/arm/arm_mve_builtins.def
+       (TERNOP_UNONE_UNONE_UNONE_IMM_QUALIFIERS): Use the builtin qualifer.
+       (TERNOP_UNONE_UNONE_NONE_NONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_IMM_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (TERNOP_NONE_NONE_NONE_NONE_QUALIFIERS): Likewise.
+       * config/arm/mve.md (VBICQ_M_N): Define iterator.
+       (VCVTAQ_M): Likewise.
+       (VCVTQ_M_TO_F): Likewise.
+       (VQRSHRNBQ_N): Likewise.
+       (VABAVQ): Likewise.
+       (VSHLCQ): Likewise.
+       (VRMLALDAVHAQ): Likewise.
+       (mve_vbicq_m_n_<supf><mode>): Define RTL pattern.
+       (mve_vcmpeqq_m_f<mode>): Likewise.
+       (mve_vcvtaq_m_<supf><mode>): Likewise.
+       (mve_vcvtq_m_to_f_<supf><mode>): Likewise.
+       (mve_vqrshrnbq_n_<supf><mode>): Likewise.
+       (mve_vqrshrunbq_n_s<mode>): Likewise.
+       (mve_vrmlaldavhaq_<supf>v4si): Likewise.
+       (mve_vabavq_<supf><mode>): Likewise.
+       (mve_vshlcq_<supf><mode>): Likewise.
+       (mve_vshlcq_<supf><mode>): Likewise.
+       (mve_vshlcq_vec_<supf><mode>): Define RTL expand.
+       (mve_vshlcq_carry_<supf><mode>): Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vqmovntq_u16): Define macro.
+       (vqmovnbq_u16): Likewise.
+       (vmulltq_poly_p8): Likewise.
+       (vmullbq_poly_p8): Likewise.
+       (vmovntq_u16): Likewise.
+       (vmovnbq_u16): Likewise.
+       (vmlaldavxq_u16): Likewise.
+       (vmlaldavq_u16): Likewise.
+       (vqmovuntq_s16): Likewise.
+       (vqmovunbq_s16): Likewise.
+       (vshlltq_n_u8): Likewise.
+       (vshllbq_n_u8): Likewise.
+       (vorrq_n_u16): Likewise.
+       (vbicq_n_u16): Likewise.
+       (vcmpneq_n_f16): Likewise.
+       (vcmpneq_f16): Likewise.
+       (vcmpltq_n_f16): Likewise.
+       (vcmpltq_f16): Likewise.
+       (vcmpleq_n_f16): Likewise.
+       (vcmpleq_f16): Likewise.
+       (vcmpgtq_n_f16): Likewise.
+       (vcmpgtq_f16): Likewise.
+       (vcmpgeq_n_f16): Likewise.
+       (vcmpgeq_f16): Likewise.
+       (vcmpeqq_n_f16): Likewise.
+       (vcmpeqq_f16): Likewise.
+       (vsubq_f16): Likewise.
+       (vqmovntq_s16): Likewise.
+       (vqmovnbq_s16): Likewise.
+       (vqdmulltq_s16): Likewise.
+       (vqdmulltq_n_s16): Likewise.
+       (vqdmullbq_s16): Likewise.
+       (vqdmullbq_n_s16): Likewise.
+       (vorrq_f16): Likewise.
+       (vornq_f16): Likewise.
+       (vmulq_n_f16): Likewise.
+       (vmulq_f16): Likewise.
+       (vmovntq_s16): Likewise.
+       (vmovnbq_s16): Likewise.
+       (vmlsldavxq_s16): Likewise.
+       (vmlsldavq_s16): Likewise.
+       (vmlaldavxq_s16): Likewise.
+       (vmlaldavq_s16): Likewise.
+       (vminnmvq_f16): Likewise.
+       (vminnmq_f16): Likewise.
+       (vminnmavq_f16): Likewise.
+       (vminnmaq_f16): Likewise.
+       (vmaxnmvq_f16): Likewise.
+       (vmaxnmq_f16): Likewise.
+       (vmaxnmavq_f16): Likewise.
+       (vmaxnmaq_f16): Likewise.
+       (veorq_f16): Likewise.
+       (vcmulq_rot90_f16): Likewise.
+       (vcmulq_rot270_f16): Likewise.
+       (vcmulq_rot180_f16): Likewise.
+       (vcmulq_f16): Likewise.
+       (vcaddq_rot90_f16): Likewise.
+       (vcaddq_rot270_f16): Likewise.
+       (vbicq_f16): Likewise.
+       (vandq_f16): Likewise.
+       (vaddq_n_f16): Likewise.
+       (vabdq_f16): Likewise.
+       (vshlltq_n_s8): Likewise.
+       (vshllbq_n_s8): Likewise.
+       (vorrq_n_s16): Likewise.
+       (vbicq_n_s16): Likewise.
+       (vqmovntq_u32): Likewise.
+       (vqmovnbq_u32): Likewise.
+       (vmulltq_poly_p16): Likewise.
+       (vmullbq_poly_p16): Likewise.
+       (vmovntq_u32): Likewise.
+       (vmovnbq_u32): Likewise.
+       (vmlaldavxq_u32): Likewise.
+       (vmlaldavq_u32): Likewise.
+       (vqmovuntq_s32): Likewise.
+       (vqmovunbq_s32): Likewise.
+       (vshlltq_n_u16): Likewise.
+       (vshllbq_n_u16): Likewise.
+       (vorrq_n_u32): Likewise.
+       (vbicq_n_u32): Likewise.
+       (vcmpneq_n_f32): Likewise.
+       (vcmpneq_f32): Likewise.
+       (vcmpltq_n_f32): Likewise.
+       (vcmpltq_f32): Likewise.
+       (vcmpleq_n_f32): Likewise.
+       (vcmpleq_f32): Likewise.
+       (vcmpgtq_n_f32): Likewise.
+       (vcmpgtq_f32): Likewise.
+       (vcmpgeq_n_f32): Likewise.
+       (vcmpgeq_f32): Likewise.
+       (vcmpeqq_n_f32): Likewise.
+       (vcmpeqq_f32): Likewise.
+       (vsubq_f32): Likewise.
+       (vqmovntq_s32): Likewise.
+       (vqmovnbq_s32): Likewise.
+       (vqdmulltq_s32): Likewise.
+       (vqdmulltq_n_s32): Likewise.
+       (vqdmullbq_s32): Likewise.
+       (vqdmullbq_n_s32): Likewise.
+       (vorrq_f32): Likewise.
+       (vornq_f32): Likewise.
+       (vmulq_n_f32): Likewise.
+       (vmulq_f32): Likewise.
+       (vmovntq_s32): Likewise.
+       (vmovnbq_s32): Likewise.
+       (vmlsldavxq_s32): Likewise.
+       (vmlsldavq_s32): Likewise.
+       (vmlaldavxq_s32): Likewise.
+       (vmlaldavq_s32): Likewise.
+       (vminnmvq_f32): Likewise.
+       (vminnmq_f32): Likewise.
+       (vminnmavq_f32): Likewise.
+       (vminnmaq_f32): Likewise.
+       (vmaxnmvq_f32): Likewise.
+       (vmaxnmq_f32): Likewise.
+       (vmaxnmavq_f32): Likewise.
+       (vmaxnmaq_f32): Likewise.
+       (veorq_f32): Likewise.
+       (vcmulq_rot90_f32): Likewise.
+       (vcmulq_rot270_f32): Likewise.
+       (vcmulq_rot180_f32): Likewise.
+       (vcmulq_f32): Likewise.
+       (vcaddq_rot90_f32): Likewise.
+       (vcaddq_rot270_f32): Likewise.
+       (vbicq_f32): Likewise.
+       (vandq_f32): Likewise.
+       (vaddq_n_f32): Likewise.
+       (vabdq_f32): Likewise.
+       (vshlltq_n_s16): Likewise.
+       (vshllbq_n_s16): Likewise.
+       (vorrq_n_s32): Likewise.
+       (vbicq_n_s32): Likewise.
+       (vrmlaldavhq_u32): Likewise.
+       (vctp8q_m): Likewise.
+       (vctp64q_m): Likewise.
+       (vctp32q_m): Likewise.
+       (vctp16q_m): Likewise.
+       (vaddlvaq_u32): Likewise.
+       (vrmlsldavhxq_s32): Likewise.
+       (vrmlsldavhq_s32): Likewise.
+       (vrmlaldavhxq_s32): Likewise.
+       (vrmlaldavhq_s32): Likewise.
+       (vcvttq_f16_f32): Likewise.
+       (vcvtbq_f16_f32): Likewise.
+       (vaddlvaq_s32): Likewise.
+       (__arm_vqmovntq_u16): Define intrinsic.
+       (__arm_vqmovnbq_u16): Likewise.
+       (__arm_vmulltq_poly_p8): Likewise.
+       (__arm_vmullbq_poly_p8): Likewise.
+       (__arm_vmovntq_u16): Likewise.
+       (__arm_vmovnbq_u16): Likewise.
+       (__arm_vmlaldavxq_u16): Likewise.
+       (__arm_vmlaldavq_u16): Likewise.
+       (__arm_vqmovuntq_s16): Likewise.
+       (__arm_vqmovunbq_s16): Likewise.
+       (__arm_vshlltq_n_u8): Likewise.
+       (__arm_vshllbq_n_u8): Likewise.
+       (__arm_vorrq_n_u16): Likewise.
+       (__arm_vbicq_n_u16): Likewise.
+       (__arm_vcmpneq_n_f16): Likewise.
+       (__arm_vcmpneq_f16): Likewise.
+       (__arm_vcmpltq_n_f16): Likewise.
+       (__arm_vcmpltq_f16): Likewise.
+       (__arm_vcmpleq_n_f16): Likewise.
+       (__arm_vcmpleq_f16): Likewise.
+       (__arm_vcmpgtq_n_f16): Likewise.
+       (__arm_vcmpgtq_f16): Likewise.
+       (__arm_vcmpgeq_n_f16): Likewise.
+       (__arm_vcmpgeq_f16): Likewise.
+       (__arm_vcmpeqq_n_f16): Likewise.
+       (__arm_vcmpeqq_f16): Likewise.
+       (__arm_vsubq_f16): Likewise.
+       (__arm_vqmovntq_s16): Likewise.
+       (__arm_vqmovnbq_s16): Likewise.
+       (__arm_vqdmulltq_s16): Likewise.
+       (__arm_vqdmulltq_n_s16): Likewise.
+       (__arm_vqdmullbq_s16): Likewise.
+       (__arm_vqdmullbq_n_s16): Likewise.
+       (__arm_vorrq_f16): Likewise.
+       (__arm_vornq_f16): Likewise.
+       (__arm_vmulq_n_f16): Likewise.
+       (__arm_vmulq_f16): Likewise.
+       (__arm_vmovntq_s16): Likewise.
+       (__arm_vmovnbq_s16): Likewise.
+       (__arm_vmlsldavxq_s16): Likewise.
+       (__arm_vmlsldavq_s16): Likewise.
+       (__arm_vmlaldavxq_s16): Likewise.
+       (__arm_vmlaldavq_s16): Likewise.
+       (__arm_vminnmvq_f16): Likewise.
+       (__arm_vminnmq_f16): Likewise.
+       (__arm_vminnmavq_f16): Likewise.
+       (__arm_vminnmaq_f16): Likewise.
+       (__arm_vmaxnmvq_f16): Likewise.
+       (__arm_vmaxnmq_f16): Likewise.
+       (__arm_vmaxnmavq_f16): Likewise.
+       (__arm_vmaxnmaq_f16): Likewise.
+       (__arm_veorq_f16): Likewise.
+       (__arm_vcmulq_rot90_f16): Likewise.
+       (__arm_vcmulq_rot270_f16): Likewise.
+       (__arm_vcmulq_rot180_f16): Likewise.
+       (__arm_vcmulq_f16): Likewise.
+       (__arm_vcaddq_rot90_f16): Likewise.
+       (__arm_vcaddq_rot270_f16): Likewise.
+       (__arm_vbicq_f16): Likewise.
+       (__arm_vandq_f16): Likewise.
+       (__arm_vaddq_n_f16): Likewise.
+       (__arm_vabdq_f16): Likewise.
+       (__arm_vshlltq_n_s8): Likewise.
+       (__arm_vshllbq_n_s8): Likewise.
+       (__arm_vorrq_n_s16): Likewise.
+       (__arm_vbicq_n_s16): Likewise.
+       (__arm_vqmovntq_u32): Likewise.
+       (__arm_vqmovnbq_u32): Likewise.
+       (__arm_vmulltq_poly_p16): Likewise.
+       (__arm_vmullbq_poly_p16): Likewise.
+       (__arm_vmovntq_u32): Likewise.
+       (__arm_vmovnbq_u32): Likewise.
+       (__arm_vmlaldavxq_u32): Likewise.
+       (__arm_vmlaldavq_u32): Likewise.
+       (__arm_vqmovuntq_s32): Likewise.
+       (__arm_vqmovunbq_s32): Likewise.
+       (__arm_vshlltq_n_u16): Likewise.
+       (__arm_vshllbq_n_u16): Likewise.
+       (__arm_vorrq_n_u32): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vcmpneq_n_f32): Likewise.
+       (__arm_vcmpneq_f32): Likewise.
+       (__arm_vcmpltq_n_f32): Likewise.
+       (__arm_vcmpltq_f32): Likewise.
+       (__arm_vcmpleq_n_f32): Likewise.
+       (__arm_vcmpleq_f32): Likewise.
+       (__arm_vcmpgtq_n_f32): Likewise.
+       (__arm_vcmpgtq_f32): Likewise.
+       (__arm_vcmpgeq_n_f32): Likewise.
+       (__arm_vcmpgeq_f32): Likewise.
+       (__arm_vcmpeqq_n_f32): Likewise.
+       (__arm_vcmpeqq_f32): Likewise.
+       (__arm_vsubq_f32): Likewise.
+       (__arm_vqmovntq_s32): Likewise.
+       (__arm_vqmovnbq_s32): Likewise.
+       (__arm_vqdmulltq_s32): Likewise.
+       (__arm_vqdmulltq_n_s32): Likewise.
+       (__arm_vqdmullbq_s32): Likewise.
+       (__arm_vqdmullbq_n_s32): Likewise.
+       (__arm_vorrq_f32): Likewise.
+       (__arm_vornq_f32): Likewise.
+       (__arm_vmulq_n_f32): Likewise.
+       (__arm_vmulq_f32): Likewise.
+       (__arm_vmovntq_s32): Likewise.
+       (__arm_vmovnbq_s32): Likewise.
+       (__arm_vmlsldavxq_s32): Likewise.
+       (__arm_vmlsldavq_s32): Likewise.
+       (__arm_vmlaldavxq_s32): Likewise.
+       (__arm_vmlaldavq_s32): Likewise.
+       (__arm_vminnmvq_f32): Likewise.
+       (__arm_vminnmq_f32): Likewise.
+       (__arm_vminnmavq_f32): Likewise.
+       (__arm_vminnmaq_f32): Likewise.
+       (__arm_vmaxnmvq_f32): Likewise.
+       (__arm_vmaxnmq_f32): Likewise.
+       (__arm_vmaxnmavq_f32): Likewise.
+       (__arm_vmaxnmaq_f32): Likewise.
+       (__arm_veorq_f32): Likewise.
+       (__arm_vcmulq_rot90_f32): Likewise.
+       (__arm_vcmulq_rot270_f32): Likewise.
+       (__arm_vcmulq_rot180_f32): Likewise.
+       (__arm_vcmulq_f32): Likewise.
+       (__arm_vcaddq_rot90_f32): Likewise.
+       (__arm_vcaddq_rot270_f32): Likewise.
+       (__arm_vbicq_f32): Likewise.
+       (__arm_vandq_f32): Likewise.
+       (__arm_vaddq_n_f32): Likewise.
+       (__arm_vabdq_f32): Likewise.
+       (__arm_vshlltq_n_s16): Likewise.
+       (__arm_vshllbq_n_s16): Likewise.
+       (__arm_vorrq_n_s32): Likewise.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vrmlaldavhq_u32): Likewise.
+       (__arm_vctp8q_m): Likewise.
+       (__arm_vctp64q_m): Likewise.
+       (__arm_vctp32q_m): Likewise.
+       (__arm_vctp16q_m): Likewise.
+       (__arm_vaddlvaq_u32): Likewise.
+       (__arm_vrmlsldavhxq_s32): Likewise.
+       (__arm_vrmlsldavhq_s32): Likewise.
+       (__arm_vrmlaldavhxq_s32): Likewise.
+       (__arm_vrmlaldavhq_s32): Likewise.
+       (__arm_vcvttq_f16_f32): Likewise.
+       (__arm_vcvtbq_f16_f32): Likewise.
+       (__arm_vaddlvaq_s32): Likewise.
+       (vst4q): Define polymorphic variant.
+       (vrndxq): Likewise.
+       (vrndq): Likewise.
+       (vrndpq): Likewise.
+       (vrndnq): Likewise.
+       (vrndmq): Likewise.
+       (vrndaq): Likewise.
+       (vrev64q): Likewise.
+       (vnegq): Likewise.
+       (vdupq_n): Likewise.
+       (vabsq): Likewise.
+       (vrev32q): Likewise.
+       (vcvtbq_f32): Likewise.
+       (vcvttq_f32): Likewise.
+       (vcvtq): Likewise.
+       (vsubq_n): Likewise.
+       (vbrsrq_n): Likewise.
+       (vcvtq_n): Likewise.
+       (vsubq): Likewise.
+       (vorrq): Likewise.
+       (vabdq): Likewise.
+       (vaddq_n): Likewise.
+       (vandq): Likewise.
+       (vbicq): Likewise.
+       (vornq): Likewise.
+       (vmulq_n): Likewise.
+       (vmulq): Likewise.
+       (vcaddq_rot270): Likewise.
+       (vcmpeqq_n): Likewise.
+       (vcmpeqq): Likewise.
+       (vcaddq_rot90): Likewise.
+       (vcmpgeq_n): Likewise.
+       (vcmpgeq): Likewise.
+       (vcmpgtq_n): Likewise.
+       (vcmpgtq): Likewise.
+       (vcmpgtq): Likewise.
+       (vcmpleq_n): Likewise.
+       (vcmpleq_n): Likewise.
+       (vcmpleq): Likewise.
+       (vcmpleq): Likewise.
+       (vcmpltq_n): Likewise.
+       (vcmpltq_n): Likewise.
+       (vcmpltq): Likewise.
+       (vcmpltq): Likewise.
+       (vcmpneq_n): Likewise.
+       (vcmpneq_n): Likewise.
+       (vcmpneq): Likewise.
+       (vcmpneq): Likewise.
+       (vcmulq): Likewise.
+       (vcmulq): Likewise.
+       (vcmulq_rot180): Likewise.
+       (vcmulq_rot180): Likewise.
+       (vcmulq_rot270): Likewise.
+       (vcmulq_rot270): Likewise.
+       (vcmulq_rot90): Likewise.
+       (vcmulq_rot90): Likewise.
+       (veorq): Likewise.
+       (veorq): Likewise.
+       (vmaxnmaq): Likewise.
+       (vmaxnmaq): Likewise.
+       (vmaxnmavq): Likewise.
+       (vmaxnmavq): Likewise.
+       (vmaxnmq): Likewise.
+       (vmaxnmq): Likewise.
+       (vmaxnmvq): Likewise.
+       (vmaxnmvq): Likewise.
+       (vminnmaq): Likewise.
+       (vminnmaq): Likewise.
+       (vminnmavq): Likewise.
+       (vminnmavq): Likewise.
+       (vminnmq): Likewise.
+       (vminnmq): Likewise.
+       (vminnmvq): Likewise.
+       (vminnmvq): Likewise.
+       (vbicq_n): Likewise.
+       (vqmovntq): Likewise.
+       (vqmovntq): Likewise.
+       (vqmovnbq): Likewise.
+       (vqmovnbq): Likewise.
+       (vmulltq_poly): Likewise.
+       (vmulltq_poly): Likewise.
+       (vmullbq_poly): Likewise.
+       (vmullbq_poly): Likewise.
+       (vmovntq): Likewise.
+       (vmovntq): Likewise.
+       (vmovnbq): Likewise.
+       (vmovnbq): Likewise.
+       (vmlaldavxq): Likewise.
+       (vmlaldavxq): Likewise.
+       (vqmovuntq): Likewise.
+       (vqmovuntq): Likewise.
+       (vshlltq_n): Likewise.
+       (vshlltq_n): Likewise.
+       (vshllbq_n): Likewise.
+       (vshllbq_n): Likewise.
+       (vorrq_n): Likewise.
+       (vorrq_n): Likewise.
+       (vmlaldavq): Likewise.
+       (vmlaldavq): Likewise.
+       (vqmovunbq): Likewise.
+       (vqmovunbq): Likewise.
+       (vqdmulltq_n): Likewise.
+       (vqdmulltq_n): Likewise.
+       (vqdmulltq): Likewise.
+       (vqdmulltq): Likewise.
+       (vqdmullbq_n): Likewise.
+       (vqdmullbq_n): Likewise.
+       (vqdmullbq): Likewise.
+       (vqdmullbq): Likewise.
+       (vaddlvaq): Likewise.
+       (vaddlvaq): Likewise.
+       (vrmlaldavhq): Likewise.
+       (vrmlaldavhq): Likewise.
+       (vrmlaldavhxq): Likewise.
+       (vrmlaldavhxq): Likewise.
+       (vrmlsldavhq): Likewise.
+       (vrmlsldavhq): Likewise.
+       (vrmlsldavhxq): Likewise.
+       (vrmlsldavhxq): Likewise.
+       (vmlsldavxq): Likewise.
+       (vmlsldavxq): Likewise.
+       (vmlsldavq): Likewise.
+       (vmlsldavq): Likewise.
+       * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_IMM): Use it.
+       (BINOP_NONE_NONE_NONE): Likewise.
+       (BINOP_UNONE_NONE_NONE): Likewise.
+       (BINOP_UNONE_UNONE_IMM): Likewise.
+       (BINOP_UNONE_UNONE_NONE): Likewise.
+       (BINOP_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/mve.md (mve_vabdq_f<mode>): Define RTL pattern.
+       (mve_vaddlvaq_<supf>v4si): Likewise.
+       (mve_vaddq_n_f<mode>): Likewise.
+       (mve_vandq_f<mode>): Likewise.
+       (mve_vbicq_f<mode>): Likewise.
+       (mve_vbicq_n_<supf><mode>): Likewise.
+       (mve_vcaddq_rot270_f<mode>): Likewise.
+       (mve_vcaddq_rot90_f<mode>): Likewise.
+       (mve_vcmpeqq_f<mode>): Likewise.
+       (mve_vcmpeqq_n_f<mode>): Likewise.
+       (mve_vcmpgeq_f<mode>): Likewise.
+       (mve_vcmpgeq_n_f<mode>): Likewise.
+       (mve_vcmpgtq_f<mode>): Likewise.
+       (mve_vcmpgtq_n_f<mode>): Likewise.
+       (mve_vcmpleq_f<mode>): Likewise.
+       (mve_vcmpleq_n_f<mode>): Likewise.
+       (mve_vcmpltq_f<mode>): Likewise.
+       (mve_vcmpltq_n_f<mode>): Likewise.
+       (mve_vcmpneq_f<mode>): Likewise.
+       (mve_vcmpneq_n_f<mode>): Likewise.
+       (mve_vcmulq_f<mode>): Likewise.
+       (mve_vcmulq_rot180_f<mode>): Likewise.
+       (mve_vcmulq_rot270_f<mode>): Likewise.
+       (mve_vcmulq_rot90_f<mode>): Likewise.
+       (mve_vctp<mode1>q_mhi): Likewise.
+       (mve_vcvtbq_f16_f32v8hf): Likewise.
+       (mve_vcvttq_f16_f32v8hf): Likewise.
+       (mve_veorq_f<mode>): Likewise.
+       (mve_vmaxnmaq_f<mode>): Likewise.
+       (mve_vmaxnmavq_f<mode>): Likewise.
+       (mve_vmaxnmq_f<mode>): Likewise.
+       (mve_vmaxnmvq_f<mode>): Likewise.
+       (mve_vminnmaq_f<mode>): Likewise.
+       (mve_vminnmavq_f<mode>): Likewise.
+       (mve_vminnmq_f<mode>): Likewise.
+       (mve_vminnmvq_f<mode>): Likewise.
+       (mve_vmlaldavq_<supf><mode>): Likewise.
+       (mve_vmlaldavxq_<supf><mode>): Likewise.
+       (mve_vmlsldavq_s<mode>): Likewise.
+       (mve_vmlsldavxq_s<mode>): Likewise.
+       (mve_vmovnbq_<supf><mode>): Likewise.
+       (mve_vmovntq_<supf><mode>): Likewise.
+       (mve_vmulq_f<mode>): Likewise.
+       (mve_vmulq_n_f<mode>): Likewise.
+       (mve_vornq_f<mode>): Likewise.
+       (mve_vorrq_f<mode>): Likewise.
+       (mve_vorrq_n_<supf><mode>): Likewise.
+       (mve_vqdmullbq_n_s<mode>): Likewise.
+       (mve_vqdmullbq_s<mode>): Likewise.
+       (mve_vqdmulltq_n_s<mode>): Likewise.
+       (mve_vqdmulltq_s<mode>): Likewise.
+       (mve_vqmovnbq_<supf><mode>): Likewise.
+       (mve_vqmovntq_<supf><mode>): Likewise.
+       (mve_vqmovunbq_s<mode>): Likewise.
+       (mve_vqmovuntq_s<mode>): Likewise.
+       (mve_vrmlaldavhxq_sv4si): Likewise.
+       (mve_vrmlsldavhq_sv4si): Likewise.
+       (mve_vrmlsldavhxq_sv4si): Likewise.
+       (mve_vshllbq_n_<supf><mode>): Likewise.
+       (mve_vshlltq_n_<supf><mode>): Likewise.
+       (mve_vsubq_f<mode>): Likewise.
+       (mve_vmulltq_poly_p<mode>): Likewise.
+       (mve_vmullbq_poly_p<mode>): Likewise.
+       (mve_vrmlaldavhq_<supf>v4si): Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (vsubq_u8): Define macro.
+       (vsubq_n_u8): Likewise.
+       (vrmulhq_u8): Likewise.
+       (vrhaddq_u8): Likewise.
+       (vqsubq_u8): Likewise.
+       (vqsubq_n_u8): Likewise.
+       (vqaddq_u8): Likewise.
+       (vqaddq_n_u8): Likewise.
+       (vorrq_u8): Likewise.
+       (vornq_u8): Likewise.
+       (vmulq_u8): Likewise.
+       (vmulq_n_u8): Likewise.
+       (vmulltq_int_u8): Likewise.
+       (vmullbq_int_u8): Likewise.
+       (vmulhq_u8): Likewise.
+       (vmladavq_u8): Likewise.
+       (vminvq_u8): Likewise.
+       (vminq_u8): Likewise.
+       (vmaxvq_u8): Likewise.
+       (vmaxq_u8): Likewise.
+       (vhsubq_u8): Likewise.
+       (vhsubq_n_u8): Likewise.
+       (vhaddq_u8): Likewise.
+       (vhaddq_n_u8): Likewise.
+       (veorq_u8): Likewise.
+       (vcmpneq_n_u8): Likewise.
+       (vcmphiq_u8): Likewise.
+       (vcmphiq_n_u8): Likewise.
+       (vcmpeqq_u8): Likewise.
+       (vcmpeqq_n_u8): Likewise.
+       (vcmpcsq_u8): Likewise.
+       (vcmpcsq_n_u8): Likewise.
+       (vcaddq_rot90_u8): Likewise.
+       (vcaddq_rot270_u8): Likewise.
+       (vbicq_u8): Likewise.
+       (vandq_u8): Likewise.
+       (vaddvq_p_u8): Likewise.
+       (vaddvaq_u8): Likewise.
+       (vaddq_n_u8): Likewise.
+       (vabdq_u8): Likewise.
+       (vshlq_r_u8): Likewise.
+       (vrshlq_u8): Likewise.
+       (vrshlq_n_u8): Likewise.
+       (vqshlq_u8): Likewise.
+       (vqshlq_r_u8): Likewise.
+       (vqrshlq_u8): Likewise.
+       (vqrshlq_n_u8): Likewise.
+       (vminavq_s8): Likewise.
+       (vminaq_s8): Likewise.
+       (vmaxavq_s8): Likewise.
+       (vmaxaq_s8): Likewise.
+       (vbrsrq_n_u8): Likewise.
+       (vshlq_n_u8): Likewise.
+       (vrshrq_n_u8): Likewise.
+       (vqshlq_n_u8): Likewise.
+       (vcmpneq_n_s8): Likewise.
+       (vcmpltq_s8): Likewise.
+       (vcmpltq_n_s8): Likewise.
+       (vcmpleq_s8): Likewise.
+       (vcmpleq_n_s8): Likewise.
+       (vcmpgtq_s8): Likewise.
+       (vcmpgtq_n_s8): Likewise.
+       (vcmpgeq_s8): Likewise.
+       (vcmpgeq_n_s8): Likewise.
+       (vcmpeqq_s8): Likewise.
+       (vcmpeqq_n_s8): Likewise.
+       (vqshluq_n_s8): Likewise.
+       (vaddvq_p_s8): Likewise.
+       (vsubq_s8): Likewise.
+       (vsubq_n_s8): Likewise.
+       (vshlq_r_s8): Likewise.
+       (vrshlq_s8): Likewise.
+       (vrshlq_n_s8): Likewise.
+       (vrmulhq_s8): Likewise.
+       (vrhaddq_s8): Likewise.
+       (vqsubq_s8): Likewise.
+       (vqsubq_n_s8): Likewise.
+       (vqshlq_s8): Likewise.
+       (vqshlq_r_s8): Likewise.
+       (vqrshlq_s8): Likewise.
+       (vqrshlq_n_s8): Likewise.
+       (vqrdmulhq_s8): Likewise.
+       (vqrdmulhq_n_s8): Likewise.
+       (vqdmulhq_s8): Likewise.
+       (vqdmulhq_n_s8): Likewise.
+       (vqaddq_s8): Likewise.
+       (vqaddq_n_s8): Likewise.
+       (vorrq_s8): Likewise.
+       (vornq_s8): Likewise.
+       (vmulq_s8): Likewise.
+       (vmulq_n_s8): Likewise.
+       (vmulltq_int_s8): Likewise.
+       (vmullbq_int_s8): Likewise.
+       (vmulhq_s8): Likewise.
+       (vmlsdavxq_s8): Likewise.
+       (vmlsdavq_s8): Likewise.
+       (vmladavxq_s8): Likewise.
+       (vmladavq_s8): Likewise.
+       (vminvq_s8): Likewise.
+       (vminq_s8): Likewise.
+       (vmaxvq_s8): Likewise.
+       (vmaxq_s8): Likewise.
+       (vhsubq_s8): Likewise.
+       (vhsubq_n_s8): Likewise.
+       (vhcaddq_rot90_s8): Likewise.
+       (vhcaddq_rot270_s8): Likewise.
+       (vhaddq_s8): Likewise.
+       (vhaddq_n_s8): Likewise.
+       (veorq_s8): Likewise.
+       (vcaddq_rot90_s8): Likewise.
+       (vcaddq_rot270_s8): Likewise.
+       (vbrsrq_n_s8): Likewise.
+       (vbicq_s8): Likewise.
+       (vandq_s8): Likewise.
+       (vaddvaq_s8): Likewise.
+       (vaddq_n_s8): Likewise.
+       (vabdq_s8): Likewise.
+       (vshlq_n_s8): Likewise.
+       (vrshrq_n_s8): Likewise.
+       (vqshlq_n_s8): Likewise.
+       (vsubq_u16): Likewise.
+       (vsubq_n_u16): Likewise.
+       (vrmulhq_u16): Likewise.
+       (vrhaddq_u16): Likewise.
+       (vqsubq_u16): Likewise.
+       (vqsubq_n_u16): Likewise.
+       (vqaddq_u16): Likewise.
+       (vqaddq_n_u16): Likewise.
+       (vorrq_u16): Likewise.
+       (vornq_u16): Likewise.
+       (vmulq_u16): Likewise.
+       (vmulq_n_u16): Likewise.
+       (vmulltq_int_u16): Likewise.
+       (vmullbq_int_u16): Likewise.
+       (vmulhq_u16): Likewise.
+       (vmladavq_u16): Likewise.
+       (vminvq_u16): Likewise.
+       (vminq_u16): Likewise.
+       (vmaxvq_u16): Likewise.
+       (vmaxq_u16): Likewise.
+       (vhsubq_u16): Likewise.
+       (vhsubq_n_u16): Likewise.
+       (vhaddq_u16): Likewise.
+       (vhaddq_n_u16): Likewise.
+       (veorq_u16): Likewise.
+       (vcmpneq_n_u16): Likewise.
+       (vcmphiq_u16): Likewise.
+       (vcmphiq_n_u16): Likewise.
+       (vcmpeqq_u16): Likewise.
+       (vcmpeqq_n_u16): Likewise.
+       (vcmpcsq_u16): Likewise.
+       (vcmpcsq_n_u16): Likewise.
+       (vcaddq_rot90_u16): Likewise.
+       (vcaddq_rot270_u16): Likewise.
+       (vbicq_u16): Likewise.
+       (vandq_u16): Likewise.
+       (vaddvq_p_u16): Likewise.
+       (vaddvaq_u16): Likewise.
+       (vaddq_n_u16): Likewise.
+       (vabdq_u16): Likewise.
+       (vshlq_r_u16): Likewise.
+       (vrshlq_u16): Likewise.
+       (vrshlq_n_u16): Likewise.
+       (vqshlq_u16): Likewise.
+       (vqshlq_r_u16): Likewise.
+       (vqrshlq_u16): Likewise.
+       (vqrshlq_n_u16): Likewise.
+       (vminavq_s16): Likewise.
+       (vminaq_s16): Likewise.
+       (vmaxavq_s16): Likewise.
+       (vmaxaq_s16): Likewise.
+       (vbrsrq_n_u16): Likewise.
+       (vshlq_n_u16): Likewise.
+       (vrshrq_n_u16): Likewise.
+       (vqshlq_n_u16): Likewise.
+       (vcmpneq_n_s16): Likewise.
+       (vcmpltq_s16): Likewise.
+       (vcmpltq_n_s16): Likewise.
+       (vcmpleq_s16): Likewise.
+       (vcmpleq_n_s16): Likewise.
+       (vcmpgtq_s16): Likewise.
+       (vcmpgtq_n_s16): Likewise.
+       (vcmpgeq_s16): Likewise.
+       (vcmpgeq_n_s16): Likewise.
+       (vcmpeqq_s16): Likewise.
+       (vcmpeqq_n_s16): Likewise.
+       (vqshluq_n_s16): Likewise.
+       (vaddvq_p_s16): Likewise.
+       (vsubq_s16): Likewise.
+       (vsubq_n_s16): Likewise.
+       (vshlq_r_s16): Likewise.
+       (vrshlq_s16): Likewise.
+       (vrshlq_n_s16): Likewise.
+       (vrmulhq_s16): Likewise.
+       (vrhaddq_s16): Likewise.
+       (vqsubq_s16): Likewise.
+       (vqsubq_n_s16): Likewise.
+       (vqshlq_s16): Likewise.
+       (vqshlq_r_s16): Likewise.
+       (vqrshlq_s16): Likewise.
+       (vqrshlq_n_s16): Likewise.
+       (vqrdmulhq_s16): Likewise.
+       (vqrdmulhq_n_s16): Likewise.
+       (vqdmulhq_s16): Likewise.
+       (vqdmulhq_n_s16): Likewise.
+       (vqaddq_s16): Likewise.
+       (vqaddq_n_s16): Likewise.
+       (vorrq_s16): Likewise.
+       (vornq_s16): Likewise.
+       (vmulq_s16): Likewise.
+       (vmulq_n_s16): Likewise.
+       (vmulltq_int_s16): Likewise.
+       (vmullbq_int_s16): Likewise.
+       (vmulhq_s16): Likewise.
+       (vmlsdavxq_s16): Likewise.
+       (vmlsdavq_s16): Likewise.
+       (vmladavxq_s16): Likewise.
+       (vmladavq_s16): Likewise.
+       (vminvq_s16): Likewise.
+       (vminq_s16): Likewise.
+       (vmaxvq_s16): Likewise.
+       (vmaxq_s16): Likewise.
+       (vhsubq_s16): Likewise.
+       (vhsubq_n_s16): Likewise.
+       (vhcaddq_rot90_s16): Likewise.
+       (vhcaddq_rot270_s16): Likewise.
+       (vhaddq_s16): Likewise.
+       (vhaddq_n_s16): Likewise.
+       (veorq_s16): Likewise.
+       (vcaddq_rot90_s16): Likewise.
+       (vcaddq_rot270_s16): Likewise.
+       (vbrsrq_n_s16): Likewise.
+       (vbicq_s16): Likewise.
+       (vandq_s16): Likewise.
+       (vaddvaq_s16): Likewise.
+       (vaddq_n_s16): Likewise.
+       (vabdq_s16): Likewise.
+       (vshlq_n_s16): Likewise.
+       (vrshrq_n_s16): Likewise.
+       (vqshlq_n_s16): Likewise.
+       (vsubq_u32): Likewise.
+       (vsubq_n_u32): Likewise.
+       (vrmulhq_u32): Likewise.
+       (vrhaddq_u32): Likewise.
+       (vqsubq_u32): Likewise.
+       (vqsubq_n_u32): Likewise.
+       (vqaddq_u32): Likewise.
+       (vqaddq_n_u32): Likewise.
+       (vorrq_u32): Likewise.
+       (vornq_u32): Likewise.
+       (vmulq_u32): Likewise.
+       (vmulq_n_u32): Likewise.
+       (vmulltq_int_u32): Likewise.
+       (vmullbq_int_u32): Likewise.
+       (vmulhq_u32): Likewise.
+       (vmladavq_u32): Likewise.
+       (vminvq_u32): Likewise.
+       (vminq_u32): Likewise.
+       (vmaxvq_u32): Likewise.
+       (vmaxq_u32): Likewise.
+       (vhsubq_u32): Likewise.
+       (vhsubq_n_u32): Likewise.
+       (vhaddq_u32): Likewise.
+       (vhaddq_n_u32): Likewise.
+       (veorq_u32): Likewise.
+       (vcmpneq_n_u32): Likewise.
+       (vcmphiq_u32): Likewise.
+       (vcmphiq_n_u32): Likewise.
+       (vcmpeqq_u32): Likewise.
+       (vcmpeqq_n_u32): Likewise.
+       (vcmpcsq_u32): Likewise.
+       (vcmpcsq_n_u32): Likewise.
+       (vcaddq_rot90_u32): Likewise.
+       (vcaddq_rot270_u32): Likewise.
+       (vbicq_u32): Likewise.
+       (vandq_u32): Likewise.
+       (vaddvq_p_u32): Likewise.
+       (vaddvaq_u32): Likewise.
+       (vaddq_n_u32): Likewise.
+       (vabdq_u32): Likewise.
+       (vshlq_r_u32): Likewise.
+       (vrshlq_u32): Likewise.
+       (vrshlq_n_u32): Likewise.
+       (vqshlq_u32): Likewise.
+       (vqshlq_r_u32): Likewise.
+       (vqrshlq_u32): Likewise.
+       (vqrshlq_n_u32): Likewise.
+       (vminavq_s32): Likewise.
+       (vminaq_s32): Likewise.
+       (vmaxavq_s32): Likewise.
+       (vmaxaq_s32): Likewise.
+       (vbrsrq_n_u32): Likewise.
+       (vshlq_n_u32): Likewise.
+       (vrshrq_n_u32): Likewise.
+       (vqshlq_n_u32): Likewise.
+       (vcmpneq_n_s32): Likewise.
+       (vcmpltq_s32): Likewise.
+       (vcmpltq_n_s32): Likewise.
+       (vcmpleq_s32): Likewise.
+       (vcmpleq_n_s32): Likewise.
+       (vcmpgtq_s32): Likewise.
+       (vcmpgtq_n_s32): Likewise.
+       (vcmpgeq_s32): Likewise.
+       (vcmpgeq_n_s32): Likewise.
+       (vcmpeqq_s32): Likewise.
+       (vcmpeqq_n_s32): Likewise.
+       (vqshluq_n_s32): Likewise.
+       (vaddvq_p_s32): Likewise.
+       (vsubq_s32): Likewise.
+       (vsubq_n_s32): Likewise.
+       (vshlq_r_s32): Likewise.
+       (vrshlq_s32): Likewise.
+       (vrshlq_n_s32): Likewise.
+       (vrmulhq_s32): Likewise.
+       (vrhaddq_s32): Likewise.
+       (vqsubq_s32): Likewise.
+       (vqsubq_n_s32): Likewise.
+       (vqshlq_s32): Likewise.
+       (vqshlq_r_s32): Likewise.
+       (vqrshlq_s32): Likewise.
+       (vqrshlq_n_s32): Likewise.
+       (vqrdmulhq_s32): Likewise.
+       (vqrdmulhq_n_s32): Likewise.
+       (vqdmulhq_s32): Likewise.
+       (vqdmulhq_n_s32): Likewise.
+       (vqaddq_s32): Likewise.
+       (vqaddq_n_s32): Likewise.
+       (vorrq_s32): Likewise.
+       (vornq_s32): Likewise.
+       (vmulq_s32): Likewise.
+       (vmulq_n_s32): Likewise.
+       (vmulltq_int_s32): Likewise.
+       (vmullbq_int_s32): Likewise.
+       (vmulhq_s32): Likewise.
+       (vmlsdavxq_s32): Likewise.
+       (vmlsdavq_s32): Likewise.
+       (vmladavxq_s32): Likewise.
+       (vmladavq_s32): Likewise.
+       (vminvq_s32): Likewise.
+       (vminq_s32): Likewise.
+       (vmaxvq_s32): Likewise.
+       (vmaxq_s32): Likewise.
+       (vhsubq_s32): Likewise.
+       (vhsubq_n_s32): Likewise.
+       (vhcaddq_rot90_s32): Likewise.
+       (vhcaddq_rot270_s32): Likewise.
+       (vhaddq_s32): Likewise.
+       (vhaddq_n_s32): Likewise.
+       (veorq_s32): Likewise.
+       (vcaddq_rot90_s32): Likewise.
+       (vcaddq_rot270_s32): Likewise.
+       (vbrsrq_n_s32): Likewise.
+       (vbicq_s32): Likewise.
+       (vandq_s32): Likewise.
+       (vaddvaq_s32): Likewise.
+       (vaddq_n_s32): Likewise.
+       (vabdq_s32): Likewise.
+       (vshlq_n_s32): Likewise.
+       (vrshrq_n_s32): Likewise.
+       (vqshlq_n_s32): Likewise.
+       (__arm_vsubq_u8): Define intrinsic.
+       (__arm_vsubq_n_u8): Likewise.
+       (__arm_vrmulhq_u8): Likewise.
+       (__arm_vrhaddq_u8): Likewise.
+       (__arm_vqsubq_u8): Likewise.
+       (__arm_vqsubq_n_u8): Likewise.
+       (__arm_vqaddq_u8): Likewise.
+       (__arm_vqaddq_n_u8): Likewise.
+       (__arm_vorrq_u8): Likewise.
+       (__arm_vornq_u8): Likewise.
+       (__arm_vmulq_u8): Likewise.
+       (__arm_vmulq_n_u8): Likewise.
+       (__arm_vmulltq_int_u8): Likewise.
+       (__arm_vmullbq_int_u8): Likewise.
+       (__arm_vmulhq_u8): Likewise.
+       (__arm_vmladavq_u8): Likewise.
+       (__arm_vminvq_u8): Likewise.
+       (__arm_vminq_u8): Likewise.
+       (__arm_vmaxvq_u8): Likewise.
+       (__arm_vmaxq_u8): Likewise.
+       (__arm_vhsubq_u8): Likewise.
+       (__arm_vhsubq_n_u8): Likewise.
+       (__arm_vhaddq_u8): Likewise.
+       (__arm_vhaddq_n_u8): Likewise.
+       (__arm_veorq_u8): Likewise.
+       (__arm_vcmpneq_n_u8): Likewise.
+       (__arm_vcmphiq_u8): Likewise.
+       (__arm_vcmphiq_n_u8): Likewise.
+       (__arm_vcmpeqq_u8): Likewise.
+       (__arm_vcmpeqq_n_u8): Likewise.
+       (__arm_vcmpcsq_u8): Likewise.
+       (__arm_vcmpcsq_n_u8): Likewise.
+       (__arm_vcaddq_rot90_u8): Likewise.
+       (__arm_vcaddq_rot270_u8): Likewise.
+       (__arm_vbicq_u8): Likewise.
+       (__arm_vandq_u8): Likewise.
+       (__arm_vaddvq_p_u8): Likewise.
+       (__arm_vaddvaq_u8): Likewise.
+       (__arm_vaddq_n_u8): Likewise.
+       (__arm_vabdq_u8): Likewise.
+       (__arm_vshlq_r_u8): Likewise.
+       (__arm_vrshlq_u8): Likewise.
+       (__arm_vrshlq_n_u8): Likewise.
+       (__arm_vqshlq_u8): Likewise.
+       (__arm_vqshlq_r_u8): Likewise.
+       (__arm_vqrshlq_u8): Likewise.
+       (__arm_vqrshlq_n_u8): Likewise.
+       (__arm_vminavq_s8): Likewise.
+       (__arm_vminaq_s8): Likewise.
+       (__arm_vmaxavq_s8): Likewise.
+       (__arm_vmaxaq_s8): Likewise.
+       (__arm_vbrsrq_n_u8): Likewise.
+       (__arm_vshlq_n_u8): Likewise.
+       (__arm_vrshrq_n_u8): Likewise.
+       (__arm_vqshlq_n_u8): Likewise.
+       (__arm_vcmpneq_n_s8): Likewise.
+       (__arm_vcmpltq_s8): Likewise.
+       (__arm_vcmpltq_n_s8): Likewise.
+       (__arm_vcmpleq_s8): Likewise.
+       (__arm_vcmpleq_n_s8): Likewise.
+       (__arm_vcmpgtq_s8): Likewise.
+       (__arm_vcmpgtq_n_s8): Likewise.
+       (__arm_vcmpgeq_s8): Likewise.
+       (__arm_vcmpgeq_n_s8): Likewise.
+       (__arm_vcmpeqq_s8): Likewise.
+       (__arm_vcmpeqq_n_s8): Likewise.
+       (__arm_vqshluq_n_s8): Likewise.
+       (__arm_vaddvq_p_s8): Likewise.
+       (__arm_vsubq_s8): Likewise.
+       (__arm_vsubq_n_s8): Likewise.
+       (__arm_vshlq_r_s8): Likewise.
+       (__arm_vrshlq_s8): Likewise.
+       (__arm_vrshlq_n_s8): Likewise.
+       (__arm_vrmulhq_s8): Likewise.
+       (__arm_vrhaddq_s8): Likewise.
+       (__arm_vqsubq_s8): Likewise.
+       (__arm_vqsubq_n_s8): Likewise.
+       (__arm_vqshlq_s8): Likewise.
+       (__arm_vqshlq_r_s8): Likewise.
+       (__arm_vqrshlq_s8): Likewise.
+       (__arm_vqrshlq_n_s8): Likewise.
+       (__arm_vqrdmulhq_s8): Likewise.
+       (__arm_vqrdmulhq_n_s8): Likewise.
+       (__arm_vqdmulhq_s8): Likewise.
+       (__arm_vqdmulhq_n_s8): Likewise.
+       (__arm_vqaddq_s8): Likewise.
+       (__arm_vqaddq_n_s8): Likewise.
+       (__arm_vorrq_s8): Likewise.
+       (__arm_vornq_s8): Likewise.
+       (__arm_vmulq_s8): Likewise.
+       (__arm_vmulq_n_s8): Likewise.
+       (__arm_vmulltq_int_s8): Likewise.
+       (__arm_vmullbq_int_s8): Likewise.
+       (__arm_vmulhq_s8): Likewise.
+       (__arm_vmlsdavxq_s8): Likewise.
+       (__arm_vmlsdavq_s8): Likewise.
+       (__arm_vmladavxq_s8): Likewise.
+       (__arm_vmladavq_s8): Likewise.
+       (__arm_vminvq_s8): Likewise.
+       (__arm_vminq_s8): Likewise.
+       (__arm_vmaxvq_s8): Likewise.
+       (__arm_vmaxq_s8): Likewise.
+       (__arm_vhsubq_s8): Likewise.
+       (__arm_vhsubq_n_s8): Likewise.
+       (__arm_vhcaddq_rot90_s8): Likewise.
+       (__arm_vhcaddq_rot270_s8): Likewise.
+       (__arm_vhaddq_s8): Likewise.
+       (__arm_vhaddq_n_s8): Likewise.
+       (__arm_veorq_s8): Likewise.
+       (__arm_vcaddq_rot90_s8): Likewise.
+       (__arm_vcaddq_rot270_s8): Likewise.
+       (__arm_vbrsrq_n_s8): Likewise.
+       (__arm_vbicq_s8): Likewise.
+       (__arm_vandq_s8): Likewise.
+       (__arm_vaddvaq_s8): Likewise.
+       (__arm_vaddq_n_s8): Likewise.
+       (__arm_vabdq_s8): Likewise.
+       (__arm_vshlq_n_s8): Likewise.
+       (__arm_vrshrq_n_s8): Likewise.
+       (__arm_vqshlq_n_s8): Likewise.
+       (__arm_vsubq_u16): Likewise.
+       (__arm_vsubq_n_u16): Likewise.
+       (__arm_vrmulhq_u16): Likewise.
+       (__arm_vrhaddq_u16): Likewise.
+       (__arm_vqsubq_u16): Likewise.
+       (__arm_vqsubq_n_u16): Likewise.
+       (__arm_vqaddq_u16): Likewise.
+       (__arm_vqaddq_n_u16): Likewise.
+       (__arm_vorrq_u16): Likewise.
+       (__arm_vornq_u16): Likewise.
+       (__arm_vmulq_u16): Likewise.
+       (__arm_vmulq_n_u16): Likewise.
+       (__arm_vmulltq_int_u16): Likewise.
+       (__arm_vmullbq_int_u16): Likewise.
+       (__arm_vmulhq_u16): Likewise.
+       (__arm_vmladavq_u16): Likewise.
+       (__arm_vminvq_u16): Likewise.
+       (__arm_vminq_u16): Likewise.
+       (__arm_vmaxvq_u16): Likewise.
+       (__arm_vmaxq_u16): Likewise.
+       (__arm_vhsubq_u16): Likewise.
+       (__arm_vhsubq_n_u16): Likewise.
+       (__arm_vhaddq_u16): Likewise.
+       (__arm_vhaddq_n_u16): Likewise.
+       (__arm_veorq_u16): Likewise.
+       (__arm_vcmpneq_n_u16): Likewise.
+       (__arm_vcmphiq_u16): Likewise.
+       (__arm_vcmphiq_n_u16): Likewise.
+       (__arm_vcmpeqq_u16): Likewise.
+       (__arm_vcmpeqq_n_u16): Likewise.
+       (__arm_vcmpcsq_u16): Likewise.
+       (__arm_vcmpcsq_n_u16): Likewise.
+       (__arm_vcaddq_rot90_u16): Likewise.
+       (__arm_vcaddq_rot270_u16): Likewise.
+       (__arm_vbicq_u16): Likewise.
+       (__arm_vandq_u16): Likewise.
+       (__arm_vaddvq_p_u16): Likewise.
+       (__arm_vaddvaq_u16): Likewise.
+       (__arm_vaddq_n_u16): Likewise.
+       (__arm_vabdq_u16): Likewise.
+       (__arm_vshlq_r_u16): Likewise.
+       (__arm_vrshlq_u16): Likewise.
+       (__arm_vrshlq_n_u16): Likewise.
+       (__arm_vqshlq_u16): Likewise.
+       (__arm_vqshlq_r_u16): Likewise.
+       (__arm_vqrshlq_u16): Likewise.
+       (__arm_vqrshlq_n_u16): Likewise.
+       (__arm_vminavq_s16): Likewise.
+       (__arm_vminaq_s16): Likewise.
+       (__arm_vmaxavq_s16): Likewise.
+       (__arm_vmaxaq_s16): Likewise.
+       (__arm_vbrsrq_n_u16): Likewise.
+       (__arm_vshlq_n_u16): Likewise.
+       (__arm_vrshrq_n_u16): Likewise.
+       (__arm_vqshlq_n_u16): Likewise.
+       (__arm_vcmpneq_n_s16): Likewise.
+       (__arm_vcmpltq_s16): Likewise.
+       (__arm_vcmpltq_n_s16): Likewise.
+       (__arm_vcmpleq_s16): Likewise.
+       (__arm_vcmpleq_n_s16): Likewise.
+       (__arm_vcmpgtq_s16): Likewise.
+       (__arm_vcmpgtq_n_s16): Likewise.
+       (__arm_vcmpgeq_s16): Likewise.
+       (__arm_vcmpgeq_n_s16): Likewise.
+       (__arm_vcmpeqq_s16): Likewise.
+       (__arm_vcmpeqq_n_s16): Likewise.
+       (__arm_vqshluq_n_s16): Likewise.
+       (__arm_vaddvq_p_s16): Likewise.
+       (__arm_vsubq_s16): Likewise.
+       (__arm_vsubq_n_s16): Likewise.
+       (__arm_vshlq_r_s16): Likewise.
+       (__arm_vrshlq_s16): Likewise.
+       (__arm_vrshlq_n_s16): Likewise.
+       (__arm_vrmulhq_s16): Likewise.
+       (__arm_vrhaddq_s16): Likewise.
+       (__arm_vqsubq_s16): Likewise.
+       (__arm_vqsubq_n_s16): Likewise.
+       (__arm_vqshlq_s16): Likewise.
+       (__arm_vqshlq_r_s16): Likewise.
+       (__arm_vqrshlq_s16): Likewise.
+       (__arm_vqrshlq_n_s16): Likewise.
+       (__arm_vqrdmulhq_s16): Likewise.
+       (__arm_vqrdmulhq_n_s16): Likewise.
+       (__arm_vqdmulhq_s16): Likewise.
+       (__arm_vqdmulhq_n_s16): Likewise.
+       (__arm_vqaddq_s16): Likewise.
+       (__arm_vqaddq_n_s16): Likewise.
+       (__arm_vorrq_s16): Likewise.
+       (__arm_vornq_s16): Likewise.
+       (__arm_vmulq_s16): Likewise.
+       (__arm_vmulq_n_s16): Likewise.
+       (__arm_vmulltq_int_s16): Likewise.
+       (__arm_vmullbq_int_s16): Likewise.
+       (__arm_vmulhq_s16): Likewise.
+       (__arm_vmlsdavxq_s16): Likewise.
+       (__arm_vmlsdavq_s16): Likewise.
+       (__arm_vmladavxq_s16): Likewise.
+       (__arm_vmladavq_s16): Likewise.
+       (__arm_vminvq_s16): Likewise.
+       (__arm_vminq_s16): Likewise.
+       (__arm_vmaxvq_s16): Likewise.
+       (__arm_vmaxq_s16): Likewise.
+       (__arm_vhsubq_s16): Likewise.
+       (__arm_vhsubq_n_s16): Likewise.
+       (__arm_vhcaddq_rot90_s16): Likewise.
+       (__arm_vhcaddq_rot270_s16): Likewise.
+       (__arm_vhaddq_s16): Likewise.
+       (__arm_vhaddq_n_s16): Likewise.
+       (__arm_veorq_s16): Likewise.
+       (__arm_vcaddq_rot90_s16): Likewise.
+       (__arm_vcaddq_rot270_s16): Likewise.
+       (__arm_vbrsrq_n_s16): Likewise.
+       (__arm_vbicq_s16): Likewise.
+       (__arm_vandq_s16): Likewise.
+       (__arm_vaddvaq_s16): Likewise.
+       (__arm_vaddq_n_s16): Likewise.
+       (__arm_vabdq_s16): Likewise.
+       (__arm_vshlq_n_s16): Likewise.
+       (__arm_vrshrq_n_s16): Likewise.
+       (__arm_vqshlq_n_s16): Likewise.
+       (__arm_vsubq_u32): Likewise.
+       (__arm_vsubq_n_u32): Likewise.
+       (__arm_vrmulhq_u32): Likewise.
+       (__arm_vrhaddq_u32): Likewise.
+       (__arm_vqsubq_u32): Likewise.
+       (__arm_vqsubq_n_u32): Likewise.
+       (__arm_vqaddq_u32): Likewise.
+       (__arm_vqaddq_n_u32): Likewise.
+       (__arm_vorrq_u32): Likewise.
+       (__arm_vornq_u32): Likewise.
+       (__arm_vmulq_u32): Likewise.
+       (__arm_vmulq_n_u32): Likewise.
+       (__arm_vmulltq_int_u32): Likewise.
+       (__arm_vmullbq_int_u32): Likewise.
+       (__arm_vmulhq_u32): Likewise.
+       (__arm_vmladavq_u32): Likewise.
+       (__arm_vminvq_u32): Likewise.
+       (__arm_vminq_u32): Likewise.
+       (__arm_vmaxvq_u32): Likewise.
+       (__arm_vmaxq_u32): Likewise.
+       (__arm_vhsubq_u32): Likewise.
+       (__arm_vhsubq_n_u32): Likewise.
+       (__arm_vhaddq_u32): Likewise.
+       (__arm_vhaddq_n_u32): Likewise.
+       (__arm_veorq_u32): Likewise.
+       (__arm_vcmpneq_n_u32): Likewise.
+       (__arm_vcmphiq_u32): Likewise.
+       (__arm_vcmphiq_n_u32): Likewise.
+       (__arm_vcmpeqq_u32): Likewise.
+       (__arm_vcmpeqq_n_u32): Likewise.
+       (__arm_vcmpcsq_u32): Likewise.
+       (__arm_vcmpcsq_n_u32): Likewise.
+       (__arm_vcaddq_rot90_u32): Likewise.
+       (__arm_vcaddq_rot270_u32): Likewise.
+       (__arm_vbicq_u32): Likewise.
+       (__arm_vandq_u32): Likewise.
+       (__arm_vaddvq_p_u32): Likewise.
+       (__arm_vaddvaq_u32): Likewise.
+       (__arm_vaddq_n_u32): Likewise.
+       (__arm_vabdq_u32): Likewise.
+       (__arm_vshlq_r_u32): Likewise.
+       (__arm_vrshlq_u32): Likewise.
+       (__arm_vrshlq_n_u32): Likewise.
+       (__arm_vqshlq_u32): Likewise.
+       (__arm_vqshlq_r_u32): Likewise.
+       (__arm_vqrshlq_u32): Likewise.
+       (__arm_vqrshlq_n_u32): Likewise.
+       (__arm_vminavq_s32): Likewise.
+       (__arm_vminaq_s32): Likewise.
+       (__arm_vmaxavq_s32): Likewise.
+       (__arm_vmaxaq_s32): Likewise.
+       (__arm_vbrsrq_n_u32): Likewise.
+       (__arm_vshlq_n_u32): Likewise.
+       (__arm_vrshrq_n_u32): Likewise.
+       (__arm_vqshlq_n_u32): Likewise.
+       (__arm_vcmpneq_n_s32): Likewise.
+       (__arm_vcmpltq_s32): Likewise.
+       (__arm_vcmpltq_n_s32): Likewise.
+       (__arm_vcmpleq_s32): Likewise.
+       (__arm_vcmpleq_n_s32): Likewise.
+       (__arm_vcmpgtq_s32): Likewise.
+       (__arm_vcmpgtq_n_s32): Likewise.
+       (__arm_vcmpgeq_s32): Likewise.
+       (__arm_vcmpgeq_n_s32): Likewise.
+       (__arm_vcmpeqq_s32): Likewise.
+       (__arm_vcmpeqq_n_s32): Likewise.
+       (__arm_vqshluq_n_s32): Likewise.
+       (__arm_vaddvq_p_s32): Likewise.
+       (__arm_vsubq_s32): Likewise.
+       (__arm_vsubq_n_s32): Likewise.
+       (__arm_vshlq_r_s32): Likewise.
+       (__arm_vrshlq_s32): Likewise.
+       (__arm_vrshlq_n_s32): Likewise.
+       (__arm_vrmulhq_s32): Likewise.
+       (__arm_vrhaddq_s32): Likewise.
+       (__arm_vqsubq_s32): Likewise.
+       (__arm_vqsubq_n_s32): Likewise.
+       (__arm_vqshlq_s32): Likewise.
+       (__arm_vqshlq_r_s32): Likewise.
+       (__arm_vqrshlq_s32): Likewise.
+       (__arm_vqrshlq_n_s32): Likewise.
+       (__arm_vqrdmulhq_s32): Likewise.
+       (__arm_vqrdmulhq_n_s32): Likewise.
+       (__arm_vqdmulhq_s32): Likewise.
+       (__arm_vqdmulhq_n_s32): Likewise.
+       (__arm_vqaddq_s32): Likewise.
+       (__arm_vqaddq_n_s32): Likewise.
+       (__arm_vorrq_s32): Likewise.
+       (__arm_vornq_s32): Likewise.
+       (__arm_vmulq_s32): Likewise.
+       (__arm_vmulq_n_s32): Likewise.
+       (__arm_vmulltq_int_s32): Likewise.
+       (__arm_vmullbq_int_s32): Likewise.
+       (__arm_vmulhq_s32): Likewise.
+       (__arm_vmlsdavxq_s32): Likewise.
+       (__arm_vmlsdavq_s32): Likewise.
+       (__arm_vmladavxq_s32): Likewise.
+       (__arm_vmladavq_s32): Likewise.
+       (__arm_vminvq_s32): Likewise.
+       (__arm_vminq_s32): Likewise.
+       (__arm_vmaxvq_s32): Likewise.
+       (__arm_vmaxq_s32): Likewise.
+       (__arm_vhsubq_s32): Likewise.
+       (__arm_vhsubq_n_s32): Likewise.
+       (__arm_vhcaddq_rot90_s32): Likewise.
+       (__arm_vhcaddq_rot270_s32): Likewise.
+       (__arm_vhaddq_s32): Likewise.
+       (__arm_vhaddq_n_s32): Likewise.
+       (__arm_veorq_s32): Likewise.
+       (__arm_vcaddq_rot90_s32): Likewise.
+       (__arm_vcaddq_rot270_s32): Likewise.
+       (__arm_vbrsrq_n_s32): Likewise.
+       (__arm_vbicq_s32): Likewise.
+       (__arm_vandq_s32): Likewise.
+       (__arm_vaddvaq_s32): Likewise.
+       (__arm_vaddq_n_s32): Likewise.
+       (__arm_vabdq_s32): Likewise.
+       (__arm_vshlq_n_s32): Likewise.
+       (__arm_vrshrq_n_s32): Likewise.
+       (__arm_vqshlq_n_s32): Likewise.
+       (vsubq): Define polymorphic variant.
+       (vsubq_n): Likewise.
+       (vshlq_r): Likewise.
+       (vrshlq_n): Likewise.
+       (vrshlq): Likewise.
+       (vrmulhq): Likewise.
+       (vrhaddq): Likewise.
+       (vqsubq_n): Likewise.
+       (vqsubq): Likewise.
+       (vqshlq): Likewise.
+       (vqshlq_r): Likewise.
+       (vqshluq): Likewise.
+       (vrshrq_n): Likewise.
+       (vshlq_n): Likewise.
+       (vqshluq_n): Likewise.
+       (vqshlq_n): Likewise.
+       (vqrshlq_n): Likewise.
+       (vqrshlq): Likewise.
+       (vqrdmulhq_n): Likewise.
+       (vqrdmulhq): Likewise.
+       (vqdmulhq_n): Likewise.
+       (vqdmulhq): Likewise.
+       (vqaddq_n): Likewise.
+       (vqaddq): Likewise.
+       (vorrq_n): Likewise.
+       (vorrq): Likewise.
+       (vornq): Likewise.
+       (vmulq_n): Likewise.
+       (vmulq): Likewise.
+       (vmulltq_int): Likewise.
+       (vmullbq_int): Likewise.
+       (vmulhq): Likewise.
+       (vminq): Likewise.
+       (vminaq): Likewise.
+       (vmaxq): Likewise.
+       (vmaxaq): Likewise.
+       (vhsubq_n): Likewise.
+       (vhsubq): Likewise.
+       (vhcaddq_rot90): Likewise.
+       (vhcaddq_rot270): Likewise.
+       (vhaddq_n): Likewise.
+       (vhaddq): Likewise.
+       (veorq): Likewise.
+       (vcaddq_rot90): Likewise.
+       (vcaddq_rot270): Likewise.
+       (vbrsrq_n): Likewise.
+       (vbicq_n): Likewise.
+       (vbicq): Likewise.
+       (vaddq): Likewise.
+       (vaddq_n): Likewise.
+       (vandq): Likewise.
+       (vabdq): Likewise.
+       * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_IMM): Use it.
+       (BINOP_NONE_NONE_NONE): Likewise.
+       (BINOP_NONE_NONE_UNONE): Likewise.
+       (BINOP_UNONE_NONE_IMM): Likewise.
+       (BINOP_UNONE_NONE_NONE): Likewise.
+       (BINOP_UNONE_UNONE_IMM): Likewise.
+       (BINOP_UNONE_UNONE_NONE): Likewise.
+       (BINOP_UNONE_UNONE_UNONE): Likewise.
+       * config/arm/constraints.md (Ra): Define constraint to check constant is
+       in the range of 0 to 7.
+       (Rg): Define constriant to check the constant is one among 1, 2, 4
+       and 8.
+       * config/arm/mve.md (mve_vabdq_<supf>): Define RTL pattern.
+       (mve_vaddq_n_<supf>): Likewise.
+       (mve_vaddvaq_<supf>): Likewise.
+       (mve_vaddvq_p_<supf>): Likewise.
+       (mve_vandq_<supf>): Likewise.
+       (mve_vbicq_<supf>): Likewise.
+       (mve_vbrsrq_n_<supf>): Likewise.
+       (mve_vcaddq_rot270_<supf>): Likewise.
+       (mve_vcaddq_rot90_<supf>): Likewise.
+       (mve_vcmpcsq_n_u): Likewise.
+       (mve_vcmpcsq_u): Likewise.
+       (mve_vcmpeqq_n_<supf>): Likewise.
+       (mve_vcmpeqq_<supf>): Likewise.
+       (mve_vcmpgeq_n_s): Likewise.
+       (mve_vcmpgeq_s): Likewise.
+       (mve_vcmpgtq_n_s): Likewise.
+       (mve_vcmpgtq_s): Likewise.
+       (mve_vcmphiq_n_u): Likewise.
+       (mve_vcmphiq_u): Likewise.
+       (mve_vcmpleq_n_s): Likewise.
+       (mve_vcmpleq_s): Likewise.
+       (mve_vcmpltq_n_s): Likewise.
+       (mve_vcmpltq_s): Likewise.
+       (mve_vcmpneq_n_<supf>): Likewise.
+       (mve_vddupq_n_u): Likewise.
+       (mve_veorq_<supf>): Likewise.
+       (mve_vhaddq_n_<supf>): Likewise.
+       (mve_vhaddq_<supf>): Likewise.
+       (mve_vhcaddq_rot270_s): Likewise.
+       (mve_vhcaddq_rot90_s): Likewise.
+       (mve_vhsubq_n_<supf>): Likewise.
+       (mve_vhsubq_<supf>): Likewise.
+       (mve_vidupq_n_u): Likewise.
+       (mve_vmaxaq_s): Likewise.
+       (mve_vmaxavq_s): Likewise.
+       (mve_vmaxq_<supf>): Likewise.
+       (mve_vmaxvq_<supf>): Likewise.
+       (mve_vminaq_s): Likewise.
+       (mve_vminavq_s): Likewise.
+       (mve_vminq_<supf>): Likewise.
+       (mve_vminvq_<supf>): Likewise.
+       (mve_vmladavq_<supf>): Likewise.
+       (mve_vmladavxq_s): Likewise.
+       (mve_vmlsdavq_s): Likewise.
+       (mve_vmlsdavxq_s): Likewise.
+       (mve_vmulhq_<supf>): Likewise.
+       (mve_vmullbq_int_<supf>): Likewise.
+       (mve_vmulltq_int_<supf>): Likewise.
+       (mve_vmulq_n_<supf>): Likewise.
+       (mve_vmulq_<supf>): Likewise.
+       (mve_vornq_<supf>): Likewise.
+       (mve_vorrq_<supf>): Likewise.
+       (mve_vqaddq_n_<supf>): Likewise.
+       (mve_vqaddq_<supf>): Likewise.
+       (mve_vqdmulhq_n_s): Likewise.
+       (mve_vqdmulhq_s): Likewise.
+       (mve_vqrdmulhq_n_s): Likewise.
+       (mve_vqrdmulhq_s): Likewise.
+       (mve_vqrshlq_n_<supf>): Likewise.
+       (mve_vqrshlq_<supf>): Likewise.
+       (mve_vqshlq_n_<supf>): Likewise.
+       (mve_vqshlq_r_<supf>): Likewise.
+       (mve_vqshlq_<supf>): Likewise.
+       (mve_vqshluq_n_s): Likewise.
+       (mve_vqsubq_n_<supf>): Likewise.
+       (mve_vqsubq_<supf>): Likewise.
+       (mve_vrhaddq_<supf>): Likewise.
+       (mve_vrmulhq_<supf>): Likewise.
+       (mve_vrshlq_n_<supf>): Likewise.
+       (mve_vrshlq_<supf>): Likewise.
+       (mve_vrshrq_n_<supf>): Likewise.
+       (mve_vshlq_n_<supf>): Likewise.
+       (mve_vshlq_r_<supf>): Likewise.
+       (mve_vsubq_n_<supf>): Likewise.
+       (mve_vsubq_<supf>): Likewise.
+       * config/arm/predicates.md (mve_imm_7): Define predicate to check
+       the matching constraint Ra.
+       (mve_imm_selective_upto_8): Define predicate to check the matching
+       constraint Rg.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (BINOP_NONE_NONE_UNONE_QUALIFIERS): Define
+       qualifier for binary operands.
+       (BINOP_UNONE_NONE_NONE_QUALIFIERS): Likewise.
+       (BINOP_UNONE_UNONE_NONE_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vaddlvq_p_s32): Define macro.
+       (vaddlvq_p_u32): Likewise.
+       (vcmpneq_s8): Likewise.
+       (vcmpneq_s16): Likewise.
+       (vcmpneq_s32): Likewise.
+       (vcmpneq_u8): Likewise.
+       (vcmpneq_u16): Likewise.
+       (vcmpneq_u32): Likewise.
+       (vshlq_s8): Likewise.
+       (vshlq_s16): Likewise.
+       (vshlq_s32): Likewise.
+       (vshlq_u8): Likewise.
+       (vshlq_u16): Likewise.
+       (vshlq_u32): Likewise.
+       (__arm_vaddlvq_p_s32): Define intrinsic.
+       (__arm_vaddlvq_p_u32): Likewise.
+       (__arm_vcmpneq_s8): Likewise.
+       (__arm_vcmpneq_s16): Likewise.
+       (__arm_vcmpneq_s32): Likewise.
+       (__arm_vcmpneq_u8): Likewise.
+       (__arm_vcmpneq_u16): Likewise.
+       (__arm_vcmpneq_u32): Likewise.
+       (__arm_vshlq_s8): Likewise.
+       (__arm_vshlq_s16): Likewise.
+       (__arm_vshlq_s32): Likewise.
+       (__arm_vshlq_u8): Likewise.
+       (__arm_vshlq_u16): Likewise.
+       (__arm_vshlq_u32): Likewise.
+       (vaddlvq_p): Define polymorphic variant.
+       (vcmpneq): Likewise.
+       (vshlq): Likewise.
+       * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_UNONE_QUALIFIERS):
+       Use it.
+       (BINOP_UNONE_NONE_NONE_QUALIFIERS): Likewise.
+       (BINOP_UNONE_UNONE_NONE_QUALIFIERS): Likewise.
+       * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si): Define RTL pattern.
+       (mve_vcmpneq_<supf><mode>): Likewise.
+       (mve_vshlq_<supf><mode>): Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (BINOP_UNONE_UNONE_IMM_QUALIFIERS): Define
+       qualifier for binary operands.
+       (BINOP_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (BINOP_UNONE_NONE_IMM_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vcvtq_n_s16_f16): Define macro.
+       (vcvtq_n_s32_f32): Likewise.
+       (vcvtq_n_u16_f16): Likewise.
+       (vcvtq_n_u32_f32): Likewise.
+       (vcreateq_u8): Likewise.
+       (vcreateq_u16): Likewise.
+       (vcreateq_u32): Likewise.
+       (vcreateq_u64): Likewise.
+       (vcreateq_s8): Likewise.
+       (vcreateq_s16): Likewise.
+       (vcreateq_s32): Likewise.
+       (vcreateq_s64): Likewise.
+       (vshrq_n_s8): Likewise.
+       (vshrq_n_s16): Likewise.
+       (vshrq_n_s32): Likewise.
+       (vshrq_n_u8): Likewise.
+       (vshrq_n_u16): Likewise.
+       (vshrq_n_u32): Likewise.
+       (__arm_vcreateq_u8): Define intrinsic.
+       (__arm_vcreateq_u16): Likewise.
+       (__arm_vcreateq_u32): Likewise.
+       (__arm_vcreateq_u64): Likewise.
+       (__arm_vcreateq_s8): Likewise.
+       (__arm_vcreateq_s16): Likewise.
+       (__arm_vcreateq_s32): Likewise.
+       (__arm_vcreateq_s64): Likewise.
+       (__arm_vshrq_n_s8): Likewise.
+       (__arm_vshrq_n_s16): Likewise.
+       (__arm_vshrq_n_s32): Likewise.
+       (__arm_vshrq_n_u8): Likewise.
+       (__arm_vshrq_n_u16): Likewise.
+       (__arm_vshrq_n_u32): Likewise.
+       (__arm_vcvtq_n_s16_f16): Likewise.
+       (__arm_vcvtq_n_s32_f32): Likewise.
+       (__arm_vcvtq_n_u16_f16): Likewise.
+       (__arm_vcvtq_n_u32_f32): Likewise.
+       (vshrq_n): Define polymorphic variant.
+       * config/arm/arm_mve_builtins.def (BINOP_UNONE_UNONE_IMM_QUALIFIERS):
+       Use it.
+       (BINOP_UNONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       (BINOP_UNONE_NONE_IMM_QUALIFIERS): Likewise.
+       * config/arm/constraints.md (Rb): Define constraint to check constant is
+       in the range of 1 to 8.
+       (Rf): Define constraint to check constant is in the range of 1 to 32.
+       * config/arm/mve.md (mve_vcreateq_<supf><mode>): Define RTL pattern.
+       (mve_vshrq_n_<supf><mode>): Likewise.
+       (mve_vcvtq_n_from_f_<supf><mode>): Likewise.
+       * config/arm/predicates.md (mve_imm_8): Define predicate to check
+       the matching constraint Rb.
+       (mve_imm_32): Define predicate to check the matching constraint Rf.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (BINOP_NONE_NONE_NONE_QUALIFIERS): Define
+       qualifier for binary operands.
+       (BINOP_NONE_NONE_IMM_QUALIFIERS): Likewise.
+       (BINOP_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (BINOP_NONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vsubq_n_f16): Define macro.
+       (vsubq_n_f32): Likewise.
+       (vbrsrq_n_f16): Likewise.
+       (vbrsrq_n_f32): Likewise.
+       (vcvtq_n_f16_s16): Likewise.
+       (vcvtq_n_f32_s32): Likewise.
+       (vcvtq_n_f16_u16): Likewise.
+       (vcvtq_n_f32_u32): Likewise.
+       (vcreateq_f16): Likewise.
+       (vcreateq_f32): Likewise.
+       (__arm_vsubq_n_f16): Define intrinsic.
+       (__arm_vsubq_n_f32): Likewise.
+       (__arm_vbrsrq_n_f16): Likewise.
+       (__arm_vbrsrq_n_f32): Likewise.
+       (__arm_vcvtq_n_f16_s16): Likewise.
+       (__arm_vcvtq_n_f32_s32): Likewise.
+       (__arm_vcvtq_n_f16_u16): Likewise.
+       (__arm_vcvtq_n_f32_u32): Likewise.
+       (__arm_vcreateq_f16): Likewise.
+       (__arm_vcreateq_f32): Likewise.
+       (vsubq): Define polymorphic variant.
+       (vbrsrq): Likewise.
+       (vcvtq_n): Likewise.
+       * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_NONE_QUALIFIERS): Use
+       it.
+       (BINOP_NONE_NONE_IMM_QUALIFIERS): Likewise.
+       (BINOP_NONE_UNONE_IMM_QUALIFIERS): Likewise.
+       (BINOP_NONE_UNONE_UNONE_QUALIFIERS): Likewise.
+       * config/arm/constraints.md (Rd): Define constraint to check constant is
+       in the range of 1 to 16.
+       * config/arm/mve.md (mve_vsubq_n_f<mode>): Define RTL pattern.
+       mve_vbrsrq_n_f<mode>: Likewise.
+       mve_vcvtq_n_to_f_<supf><mode>: Likewise.
+       mve_vcreateq_f<mode>: Likewise.
+       * config/arm/predicates.md (mve_imm_16): Define predicate to check
+       the matching constraint Rd.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (hi_UP): Define mode.
+       * config/arm/arm.h (IS_VPR_REGNUM): Move.
+       * config/arm/arm.md (VPR_REGNUM): Define before APSRQ_REGNUM.
+       (APSRQ_REGNUM): Modify.
+       (APSRGE_REGNUM): Modify.
+       * config/arm/arm_mve.h (vctp16q): Define macro.
+       (vctp32q): Likewise.
+       (vctp64q): Likewise.
+       (vctp8q): Likewise.
+       (vpnot): Likewise.
+       (__arm_vctp16q): Define intrinsic.
+       (__arm_vctp32q): Likewise.
+       (__arm_vctp64q): Likewise.
+       (__arm_vctp8q): Likewise.
+       (__arm_vpnot): Likewise.
+       * config/arm/arm_mve_builtins.def (UNOP_UNONE_UNONE): Use builtin
+       qualifier.
+       * config/arm/mve.md (mve_vctp<mode1>qhi): Define RTL pattern.
+       (mve_vpnothi): Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm.h (enum reg_class): Define new class EVEN_REGS.
+       * config/arm/arm_mve.h (vdupq_n_s8): Define macro.
+       (vdupq_n_s16): Likewise.
+       (vdupq_n_s32): Likewise.
+       (vabsq_s8): Likewise.
+       (vabsq_s16): Likewise.
+       (vabsq_s32): Likewise.
+       (vclsq_s8): Likewise.
+       (vclsq_s16): Likewise.
+       (vclsq_s32): Likewise.
+       (vclzq_s8): Likewise.
+       (vclzq_s16): Likewise.
+       (vclzq_s32): Likewise.
+       (vnegq_s8): Likewise.
+       (vnegq_s16): Likewise.
+       (vnegq_s32): Likewise.
+       (vaddlvq_s32): Likewise.
+       (vaddvq_s8): Likewise.
+       (vaddvq_s16): Likewise.
+       (vaddvq_s32): Likewise.
+       (vmovlbq_s8): Likewise.
+       (vmovlbq_s16): Likewise.
+       (vmovltq_s8): Likewise.
+       (vmovltq_s16): Likewise.
+       (vmvnq_s8): Likewise.
+       (vmvnq_s16): Likewise.
+       (vmvnq_s32): Likewise.
+       (vrev16q_s8): Likewise.
+       (vrev32q_s8): Likewise.
+       (vrev32q_s16): Likewise.
+       (vqabsq_s8): Likewise.
+       (vqabsq_s16): Likewise.
+       (vqabsq_s32): Likewise.
+       (vqnegq_s8): Likewise.
+       (vqnegq_s16): Likewise.
+       (vqnegq_s32): Likewise.
+       (vcvtaq_s16_f16): Likewise.
+       (vcvtaq_s32_f32): Likewise.
+       (vcvtnq_s16_f16): Likewise.
+       (vcvtnq_s32_f32): Likewise.
+       (vcvtpq_s16_f16): Likewise.
+       (vcvtpq_s32_f32): Likewise.
+       (vcvtmq_s16_f16): Likewise.
+       (vcvtmq_s32_f32): Likewise.
+       (vmvnq_u8): Likewise.
+       (vmvnq_u16): Likewise.
+       (vmvnq_u32): Likewise.
+       (vdupq_n_u8): Likewise.
+       (vdupq_n_u16): Likewise.
+       (vdupq_n_u32): Likewise.
+       (vclzq_u8): Likewise.
+       (vclzq_u16): Likewise.
+       (vclzq_u32): Likewise.
+       (vaddvq_u8): Likewise.
+       (vaddvq_u16): Likewise.
+       (vaddvq_u32): Likewise.
+       (vrev32q_u8): Likewise.
+       (vrev32q_u16): Likewise.
+       (vmovltq_u8): Likewise.
+       (vmovltq_u16): Likewise.
+       (vmovlbq_u8): Likewise.
+       (vmovlbq_u16): Likewise.
+       (vrev16q_u8): Likewise.
+       (vaddlvq_u32): Likewise.
+       (vcvtpq_u16_f16): Likewise.
+       (vcvtpq_u32_f32): Likewise.
+       (vcvtnq_u16_f16): Likewise.
+       (vcvtmq_u16_f16): Likewise.
+       (vcvtmq_u32_f32): Likewise.
+       (vcvtaq_u16_f16): Likewise.
+       (vcvtaq_u32_f32): Likewise.
+       (__arm_vdupq_n_s8): Define intrinsic.
+       (__arm_vdupq_n_s16): Likewise.
+       (__arm_vdupq_n_s32): Likewise.
+       (__arm_vabsq_s8): Likewise.
+       (__arm_vabsq_s16): Likewise.
+       (__arm_vabsq_s32): Likewise.
+       (__arm_vclsq_s8): Likewise.
+       (__arm_vclsq_s16): Likewise.
+       (__arm_vclsq_s32): Likewise.
+       (__arm_vclzq_s8): Likewise.
+       (__arm_vclzq_s16): Likewise.
+       (__arm_vclzq_s32): Likewise.
+       (__arm_vnegq_s8): Likewise.
+       (__arm_vnegq_s16): Likewise.
+       (__arm_vnegq_s32): Likewise.
+       (__arm_vaddlvq_s32): Likewise.
+       (__arm_vaddvq_s8): Likewise.
+       (__arm_vaddvq_s16): Likewise.
+       (__arm_vaddvq_s32): Likewise.
+       (__arm_vmovlbq_s8): Likewise.
+       (__arm_vmovlbq_s16): Likewise.
+       (__arm_vmovltq_s8): Likewise.
+       (__arm_vmovltq_s16): Likewise.
+       (__arm_vmvnq_s8): Likewise.
+       (__arm_vmvnq_s16): Likewise.
+       (__arm_vmvnq_s32): Likewise.
+       (__arm_vrev16q_s8): Likewise.
+       (__arm_vrev32q_s8): Likewise.
+       (__arm_vrev32q_s16): Likewise.
+       (__arm_vqabsq_s8): Likewise.
+       (__arm_vqabsq_s16): Likewise.
+       (__arm_vqabsq_s32): Likewise.
+       (__arm_vqnegq_s8): Likewise.
+       (__arm_vqnegq_s16): Likewise.
+       (__arm_vqnegq_s32): Likewise.
+       (__arm_vmvnq_u8): Likewise.
+       (__arm_vmvnq_u16): Likewise.
+       (__arm_vmvnq_u32): Likewise.
+       (__arm_vdupq_n_u8): Likewise.
+       (__arm_vdupq_n_u16): Likewise.
+       (__arm_vdupq_n_u32): Likewise.
+       (__arm_vclzq_u8): Likewise.
+       (__arm_vclzq_u16): Likewise.
+       (__arm_vclzq_u32): Likewise.
+       (__arm_vaddvq_u8): Likewise.
+       (__arm_vaddvq_u16): Likewise.
+       (__arm_vaddvq_u32): Likewise.
+       (__arm_vrev32q_u8): Likewise.
+       (__arm_vrev32q_u16): Likewise.
+       (__arm_vmovltq_u8): Likewise.
+       (__arm_vmovltq_u16): Likewise.
+       (__arm_vmovlbq_u8): Likewise.
+       (__arm_vmovlbq_u16): Likewise.
+       (__arm_vrev16q_u8): Likewise.
+       (__arm_vaddlvq_u32): Likewise.
+       (__arm_vcvtpq_u16_f16): Likewise.
+       (__arm_vcvtpq_u32_f32): Likewise.
+       (__arm_vcvtnq_u16_f16): Likewise.
+       (__arm_vcvtmq_u16_f16): Likewise.
+       (__arm_vcvtmq_u32_f32): Likewise.
+       (__arm_vcvtaq_u16_f16): Likewise.
+       (__arm_vcvtaq_u32_f32): Likewise.
+       (__arm_vcvtaq_s16_f16): Likewise.
+       (__arm_vcvtaq_s32_f32): Likewise.
+       (__arm_vcvtnq_s16_f16): Likewise.
+       (__arm_vcvtnq_s32_f32): Likewise.
+       (__arm_vcvtpq_s16_f16): Likewise.
+       (__arm_vcvtpq_s32_f32): Likewise.
+       (__arm_vcvtmq_s16_f16): Likewise.
+       (__arm_vcvtmq_s32_f32): Likewise.
+       (vdupq_n): Define polymorphic variant.
+       (vabsq): Likewise.
+       (vclsq): Likewise.
+       (vclzq): Likewise.
+       (vnegq): Likewise.
+       (vaddlvq): Likewise.
+       (vaddvq): Likewise.
+       (vmovlbq): Likewise.
+       (vmovltq): Likewise.
+       (vmvnq): Likewise.
+       (vrev16q): Likewise.
+       (vrev32q): Likewise.
+       (vqabsq): Likewise.
+       (vqnegq): Likewise.
+       * config/arm/arm_mve_builtins.def (UNOP_SNONE_SNONE): Use it.
+       (UNOP_SNONE_NONE): Likewise.
+       (UNOP_UNONE_UNONE): Likewise.
+       (UNOP_UNONE_NONE): Likewise.
+       * config/arm/constraints.md (e): Define new constriant to allow only
+       even registers.
+       * config/arm/mve.md (mve_vqabsq_s<mode>): Define RTL pattern.
+       (mve_vnegq_s<mode>): Likewise.
+       (mve_vmvnq_<supf><mode>): Likewise.
+       (mve_vdupq_n_<supf><mode>): Likewise.
+       (mve_vclzq_<supf><mode>): Likewise.
+       (mve_vclsq_s<mode>): Likewise.
+       (mve_vaddvq_<supf><mode>): Likewise.
+       (mve_vabsq_s<mode>): Likewise.
+       (mve_vrev32q_<supf><mode>): Likewise.
+       (mve_vmovltq_<supf><mode>): Likewise.
+       (mve_vmovlbq_<supf><mode>): Likewise.
+       (mve_vcvtpq_<supf><mode>): Likewise.
+       (mve_vcvtnq_<supf><mode>): Likewise.
+       (mve_vcvtmq_<supf><mode>): Likewise.
+       (mve_vcvtaq_<supf><mode>): Likewise.
+       (mve_vrev16q_<supf>v16qi): Likewise.
+       (mve_vaddlvq_<supf>v4si): Likewise.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * lra-spills.c (remove_pseudos): Fix up duplicated word issue in
+       a dump message.
+       * tree-sra.c (create_access_replacement): Fix up duplicated word issue
+       in a comment.
+       * read-rtl-function.c (find_param_by_name,
+       function_reader::parse_enum_value, function_reader::get_insn_by_uid):
+       Likewise.
+       * spellcheck.c (get_edit_distance_cutoff): Likewise.
+       * tree-data-ref.c (create_ifn_alias_checks): Likewise.
+       * tree.def (SWITCH_EXPR): Likewise.
+       * selftest.c (assert_str_contains): Likewise.
+       * ipa-param-manipulation.h (class ipa_param_body_adjustments):
+       Likewise.
+       * tree-ssa-math-opts.c (convert_expand_mult_copysign): Likewise.
+       * tree-ssa-loop-split.c (find_vdef_in_loop): Likewise.
+       * langhooks.h (struct lang_hooks_for_decls): Likewise.
+       * ipa-prop.h (struct ipa_param_descriptor): Likewise.
+       * tree-ssa-strlen.c (handle_builtin_string_cmp, handle_store):
+       Likewise.
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Likewise.
+       * tree-ssa-reassoc.c (reassociate_bb): Likewise.
+       * tree.c (component_ref_size): Likewise.
+       * hsa-common.c (hsa_init_compilation_unit_data): Likewise.
+       * gimple-ssa-sprintf.c (get_string_length, format_string,
+       format_directive): Likewise.
+       * omp-grid.c (grid_process_kernel_body_copy): Likewise.
+       * input.c (string_concat_db::get_string_concatenation,
+       test_lexer_string_locations_ucn4): Likewise.
+       * cfgexpand.c (pass_expand::execute): Likewise.
+       * gimple-ssa-warn-restrict.c (builtin_memref::offset_out_of_bounds,
+       maybe_diag_overlap): Likewise.
+       * rtl.c (RTX_CODE_HWINT_P_1): Likewise.
+       * shrink-wrap.c (spread_components): Likewise.
+       * tree-ssa-dse.c (initialize_ao_ref_for_dse, valid_ao_ref_for_dse):
+       Likewise.
+       * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
+       Likewise.
+       * dwarf2out.c (dwarf2out_early_finish): Likewise.
+       * gimple-ssa-store-merging.c: Likewise.
+       * ira-costs.c (record_operand_costs): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Likewise.
+       * target.def (dispatch): Likewise.
+       (validate_dims, gen_ccmp_first): Fix up duplicated word issue
+       in documentation text.
+       * doc/tm.texi: Regenerated.
+       * config/i386/x86-tune.def (X86_TUNE_PARTIAL_FLAG_REG_STALL): Fix up
+       duplicated word issue in a comment.
+       * config/i386/i386.c (ix86_test_loading_unspec): Likewise.
+       * config/i386/i386-features.c (remove_partial_avx_dependency):
+       Likewise.
+       * config/msp430/msp430.c (msp430_select_section): Likewise.
+       * config/gcn/gcn-run.c (load_image): Likewise.
+       * config/aarch64/aarch64-sve.md (sve_ld1r<mode>): Likewise.
+       * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Likewise.
+       * config/aarch64/falkor-tag-collision-avoidance.c
+       (single_dest_per_chain): Likewise.
+       * config/nvptx/nvptx.c (nvptx_record_fndecl): Likewise.
+       * config/fr30/fr30.c (fr30_arg_partial_bytes): Likewise.
+       * config/rs6000/rs6000-string.c (expand_cmp_vec_sequence): Likewise.
+       * config/rs6000/rs6000-p8swap.c (replace_swapped_load_constant):
+       Likewise.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
+       * config/rs6000/rs6000-logue.c
+       (rs6000_emit_probe_stack_range_stack_clash): Likewise.
+       * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Likewise.
+       Fix various other issues in the comment.
+
+2020-03-17  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/t-rmprofile: create new multilib for
+       armv8.1-m.main+mve hard float and reuse v8-m.main ones for
+       v8.1-m.main+mve.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94015
+       * tree-ssa-strlen.c (count_nonzero_bytes): Split portions of the
+       function where EXP is address of the bytes being stored rather than
+       the bytes themselves into count_nonzero_bytes_addr.  Punt on zero
+       sized MEM_REF.  Use VAR_P macro and handle CONST_DECL like VAR_DECLs.
+       Use ctor_for_folding instead of looking at DECL_INITIAL.  Punt before
+       calling native_encode_expr if host or target doesn't have 8-bit
+       chars.  Formatting fixes.
+       (count_nonzero_bytes_addr): New function.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (UNOP_SNONE_SNONE_QUALIFIERS): Define.
+       (UNOP_SNONE_NONE_QUALIFIERS): Likewise.
+       (UNOP_SNONE_IMM_QUALIFIERS): Likewise.
+       (UNOP_UNONE_NONE_QUALIFIERS): Likewise.
+       (UNOP_UNONE_UNONE_QUALIFIERS): Likewise.
+       (UNOP_UNONE_IMM_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vmvnq_n_s16): Define macro.
+       (vmvnq_n_s32): Likewise.
+       (vrev64q_s8): Likewise.
+       (vrev64q_s16): Likewise.
+       (vrev64q_s32): Likewise.
+       (vcvtq_s16_f16): Likewise.
+       (vcvtq_s32_f32): Likewise.
+       (vrev64q_u8): Likewise.
+       (vrev64q_u16): Likewise.
+       (vrev64q_u32): Likewise.
+       (vmvnq_n_u16): Likewise.
+       (vmvnq_n_u32): Likewise.
+       (vcvtq_u16_f16): Likewise.
+       (vcvtq_u32_f32): Likewise.
+       (__arm_vmvnq_n_s16): Define intrinsic.
+       (__arm_vmvnq_n_s32): Likewise.
+       (__arm_vrev64q_s8): Likewise.
+       (__arm_vrev64q_s16): Likewise.
+       (__arm_vrev64q_s32): Likewise.
+       (__arm_vrev64q_u8): Likewise.
+       (__arm_vrev64q_u16): Likewise.
+       (__arm_vrev64q_u32): Likewise.
+       (__arm_vmvnq_n_u16): Likewise.
+       (__arm_vmvnq_n_u32): Likewise.
+       (__arm_vcvtq_s16_f16): Likewise.
+       (__arm_vcvtq_s32_f32): Likewise.
+       (__arm_vcvtq_u16_f16): Likewise.
+       (__arm_vcvtq_u32_f32): Likewise.
+       (vrev64q): Define polymorphic variant.
+       * config/arm/arm_mve_builtins.def (UNOP_SNONE_SNONE): Use it.
+       (UNOP_SNONE_NONE): Likewise.
+       (UNOP_SNONE_IMM): Likewise.
+       (UNOP_UNONE_UNONE): Likewise.
+       (UNOP_UNONE_NONE): Likewise.
+       (UNOP_UNONE_IMM): Likewise.
+       * config/arm/mve.md (mve_vrev64q_<supf><mode>): Define RTL pattern.
+       (mve_vcvtq_from_f_<supf><mode>): Likewise.
+       (mve_vmvnq_n_<supf><mode>): Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (UNOP_NONE_NONE_QUALIFIERS): Define macro.
+       (UNOP_NONE_SNONE_QUALIFIERS): Likewise.
+       (UNOP_NONE_UNONE_QUALIFIERS): Likewise.
+       * config/arm/arm_mve.h (vrndxq_f16): Define macro.
+       (vrndxq_f32): Likewise.
+       (vrndq_f16) Likewise.
+       (vrndq_f32): Likewise.
+       (vrndpq_f16): Likewise.
+       (vrndpq_f32): Likewise.
+       (vrndnq_f16): Likewise.
+       (vrndnq_f32): Likewise.
+       (vrndmq_f16): Likewise.
+       (vrndmq_f32): Likewise. 
+       (vrndaq_f16): Likewise.
+       (vrndaq_f32): Likewise.
+       (vrev64q_f16): Likewise.
+       (vrev64q_f32): Likewise.
+       (vnegq_f16): Likewise.
+       (vnegq_f32): Likewise.
+       (vdupq_n_f16): Likewise.
+       (vdupq_n_f32): Likewise.
+       (vabsq_f16): Likewise.
+       (vabsq_f32): Likewise.
+       (vrev32q_f16): Likewise.
+       (vcvttq_f32_f16): Likewise.
+       (vcvtbq_f32_f16): Likewise.
+       (vcvtq_f16_s16): Likewise.
+       (vcvtq_f32_s32): Likewise.
+       (vcvtq_f16_u16): Likewise.
+       (vcvtq_f32_u32): Likewise.
+       (__arm_vrndxq_f16): Define intrinsic.
+       (__arm_vrndxq_f32): Likewise.
+       (__arm_vrndq_f16): Likewise.
+       (__arm_vrndq_f32): Likewise.
+       (__arm_vrndpq_f16): Likewise.
+       (__arm_vrndpq_f32): Likewise.
+       (__arm_vrndnq_f16): Likewise.
+       (__arm_vrndnq_f32): Likewise.
+       (__arm_vrndmq_f16): Likewise.
+       (__arm_vrndmq_f32): Likewise.
+       (__arm_vrndaq_f16): Likewise.
+       (__arm_vrndaq_f32): Likewise.
+       (__arm_vrev64q_f16): Likewise.
+       (__arm_vrev64q_f32): Likewise.
+       (__arm_vnegq_f16): Likewise.
+       (__arm_vnegq_f32): Likewise.
+       (__arm_vdupq_n_f16): Likewise.
+       (__arm_vdupq_n_f32): Likewise.
+       (__arm_vabsq_f16): Likewise.
+       (__arm_vabsq_f32): Likewise.
+       (__arm_vrev32q_f16): Likewise.
+       (__arm_vcvttq_f32_f16): Likewise.
+       (__arm_vcvtbq_f32_f16): Likewise.
+       (__arm_vcvtq_f16_s16): Likewise.
+       (__arm_vcvtq_f32_s32): Likewise.
+       (__arm_vcvtq_f16_u16): Likewise.
+       (__arm_vcvtq_f32_u32): Likewise.
+       (vrndxq): Define polymorphic variants.
+       (vrndq): Likewise.
+       (vrndpq): Likewise.
+       (vrndnq): Likewise.
+       (vrndmq): Likewise.
+       (vrndaq): Likewise.
+       (vrev64q): Likewise.
+       (vnegq): Likewise.
+       (vabsq): Likewise.
+       (vrev32q): Likewise.
+       (vcvtbq_f32): Likewise.
+       (vcvttq_f32): Likewise.
+       (vcvtq): Likewise.
+       * config/arm/arm_mve_builtins.def (VAR2): Define.
+       (VAR1): Define.
+       * config/arm/mve.md (mve_vrndxq_f<mode>): Add RTL pattern.
+       (mve_vrndq_f<mode>): Likewise.
+       (mve_vrndpq_f<mode>): Likewise.
+       (mve_vrndnq_f<mode>): Likewise.
+       (mve_vrndmq_f<mode>): Likewise.
+       (mve_vrndaq_f<mode>): Likewise.
+       (mve_vrev64q_f<mode>): Likewise.
+       (mve_vnegq_f<mode>): Likewise.
+       (mve_vdupq_n_f<mode>): Likewise.
+       (mve_vabsq_f<mode>): Likewise.
+       (mve_vrev32q_fv8hf): Likewise.
+       (mve_vcvttq_f32_f16v4sf): Likewise.
+       (mve_vcvtbq_f32_f16v4sf): Likewise.
+       (mve_vcvtq_to_f_<supf><mode>): Likewise.
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm-builtins.c (CF): Define mve_builtin_data.
+       (VAR1): Define.
+       (ARM_BUILTIN_MVE_PATTERN_START): Define.
+       (arm_init_mve_builtins): Define function.
+       (arm_init_builtins): Add TARGET_HAVE_MVE check.
+       (arm_expand_builtin_1): Check the range of fcode.
+       (arm_expand_mve_builtin): Define function to expand MVE builtins.
+       (arm_expand_builtin): Check the range of fcode.
+       * config/arm/arm_mve.h (__ARM_FEATURE_MVE): Define MVE floating point
+       types.
+       (__ARM_MVE_PRESERVE_USER_NAMESPACE): Define to protect user namespace.
+       (vst4q_s8): Define macro.
+       (vst4q_s16): Likewise.
+       (vst4q_s32): Likewise.
+       (vst4q_u8): Likewise.
+       (vst4q_u16): Likewise.
+       (vst4q_u32): Likewise.
+       (vst4q_f16): Likewise.
+       (vst4q_f32): Likewise.
+       (__arm_vst4q_s8): Define inline builtin.
+       (__arm_vst4q_s16): Likewise.
+       (__arm_vst4q_s32): Likewise.
+       (__arm_vst4q_u8): Likewise.
+       (__arm_vst4q_u16): Likewise.
+       (__arm_vst4q_u32): Likewise.
+       (__arm_vst4q_f16): Likewise.
+       (__arm_vst4q_f32): Likewise.
+       (__ARM_mve_typeid): Define macro with MVE types.
+       (__ARM_mve_coerce): Define macro with _Generic feature.
+       (vst4q): Define polymorphic variant for different vst4q builtins.
+       * config/arm/arm_mve_builtins.def: New file.
+       * config/arm/iterators.md (VSTRUCT): Modify to allow XI and OI
+       modes in MVE.
+       * config/arm/mve.md (MVE_VLD_ST): Define iterator.
+       (unspec): Define unspec.
+       (mve_vst4q<mode>): Define RTL pattern.
+       * config/arm/neon.md (mov<mode>): Modify expand to allow XI and OI
+       modes in MVE.
+       (neon_mov<mode>): Modify RTL define_insn to allow XI and OI modes
+       in MVE.
+       (define_split): Allow OI mode split for MVE after reload.
+       (define_split): Allow XI mode split for MVE after reload.
+       * config/arm/t-arm (arm.o): Add entry for arm_mve_builtins.def.
+       (arm-builtins.o): Likewise.
+
+2020-03-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * c-typeck.c (process_init_element): Handle constructor_type with
+       type size represented by POLY_INT_CST.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94187
+       * tree-ssa-strlen.c (count_nonzero_bytes): Punt if
+       nchars - offset < nbytes.
+
+       PR middle-end/94189
+       * builtins.c (expand_builtin_strnlen): Do return NULL_RTX if we would
+       emit a warning if it was enabled and don't depend on TREE_NO_WARNING
+       for code-generation.
+
+2020-03-16  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/94185
+       * lra-spills.c (remove_pseudos): Do not reuse insn alternative
+       after changing memory subreg.
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm.c (arm_libcall_uses_aapcs_base): Modify function to add
+       emulator calls for dobule precision arithmetic operations for MVE.
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * common/config/arm/arm-common.c (arm_asm_auto_mfpu): When vfp_base
+       feature bit is on and -mfpu=auto is passed as compiler option, do not
+       generate error on not finding any matching fpu. Because in this case
+       fpu is not required.
+       * config/arm/arm-cpus.in (vfp_base): Define feature bit, this bit is
+       enabled for MVE and also for all VFP extensions.
+       (VFPv2): Modify fgroup to enable vfp_base feature bit when ever VFPv2
+       is enabled.
+       (MVE): Define fgroup to enable feature bits mve, vfp_base and armv7em.
+       (MVE_FP): Define fgroup to enable feature bits is fgroup MVE and FPv5
+       along with feature bits mve_float.
+       (mve): Modify add options in armv8.1-m.main arch for MVE.
+       (mve.fp): Modify add options in armv8.1-m.main arch for MVE with
+       floating point.
+       * config/arm/arm.c (use_return_insn): Replace the
+       check with TARGET_VFP_BASE.
+       (thumb2_legitimate_index_p): Replace TARGET_HARD_FLOAT with
+       TARGET_VFP_BASE.
+       (arm_rtx_costs_internal): Replace "TARGET_HARD_FLOAT || TARGET_HAVE_MVE"
+       with TARGET_VFP_BASE, to allow cost calculations for copies in MVE as
+       well.
+       (arm_get_vfp_saved_size): Replace TARGET_HARD_FLOAT with
+       TARGET_VFP_BASE, to allow space calculation for VFP registers in MVE
+       as well.
+       (arm_compute_frame_layout): Likewise.
+       (arm_save_coproc_regs): Likewise.
+       (arm_fixed_condition_code_regs): Modify to enable using VFPCC_REGNUM
+       in MVE as well.
+       (arm_hard_regno_mode_ok): Replace "TARGET_HARD_FLOAT || TARGET_HAVE_MVE"
+       with equivalent macro TARGET_VFP_BASE.
+       (arm_expand_epilogue_apcs_frame): Likewise.
+       (arm_expand_epilogue): Likewise.
+       (arm_conditional_register_usage): Likewise.
+       (arm_declare_function_name): Add check to skip printing .fpu directive
+       in assembly file when TARGET_VFP_BASE is enabled and fpu_to_print is
+       "softvfp".
+       * config/arm/arm.h (TARGET_VFP_BASE): Define.
+       * config/arm/arm.md (arch): Add "mve" to arch.
+       (eq_attr "arch" "mve"): Enable on TARGET_HAVE_MVE is true.
+       (vfp_pop_multiple_with_writeback): Replace "TARGET_HARD_FLOAT
+       || TARGET_HAVE_MVE" with equivalent macro TARGET_VFP_BASE.
+       * config/arm/constraints.md (Uf): Define to allow modification to FPCCR
+       in MVE.
+       * config/arm/thumb2.md (thumb2_movsfcc_soft_insn): Modify target guard
+       to not allow for MVE.
+       * config/arm/unspecs.md (UNSPEC_GET_FPSCR): Move to volatile unspecs
+       enum.
+       (VUNSPEC_GET_FPSCR): Define.
+       * config/arm/vfp.md (thumb2_movhi_vfp): Add support for VMSR and VMRS
+       instructions which move to general-purpose Register from Floating-point
+       Special register and vice-versa.
+       (thumb2_movhi_fp16): Likewise.
+       (thumb2_movsi_vfp): Add support for VMSR and VMRS instructions along
+       with MCR and MRC instructions which set and get Floating-point Status
+       and Control Register (FPSCR).
+       (movdi_vfp): Modify pattern to enable Single-precision scalar float move
+       in MVE.
+       (thumb2_movdf_vfp): Modify pattern to enable Double-precision scalar
+       float move patterns in MVE.
+       (thumb2_movsfcc_vfp): Modify pattern to enable single float conditional
+       code move patterns of VFP also in MVE by adding TARGET_VFP_BASE check.
+       (thumb2_movdfcc_vfp): Modify pattern to enable double float conditional
+       code move patterns of VFP also in MVE by adding TARGET_VFP_BASE check.
+       (push_multi_vfp): Add support to use VFP VPUSH pattern for MVE by adding
+       TARGET_VFP_BASE check.
+       (set_fpscr): Add support to set FPSCR register for MVE. Modify pattern
+       using VFPCC_REGNUM as few MVE intrinsics use carry bit of FPSCR
+       register.
+       (get_fpscr): Add support to get FPSCR register for MVE. Modify pattern
+       using VFPCC_REGNUM as few MVE intrinsics use carry bit of FPSCR
+       register.
+
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config.gcc (arm_mve.h): Include mve intrinsics header file.
+       * config/arm/aout.h (p0): Add new register name for MVE predicated
+       cases.
+       * config/arm-builtins.c (ARM_BUILTIN_SIMD_LANE_CHECK): Define macro
+       common to Neon and MVE.
+       (ARM_BUILTIN_NEON_LANE_CHECK): Renamed to ARM_BUILTIN_SIMD_LANE_CHECK.
+       (arm_init_simd_builtin_types): Disable poly types for MVE.
+       (arm_init_neon_builtins): Move a check to arm_init_builtins function.
+       (arm_init_builtins): Use ARM_BUILTIN_SIMD_LANE_CHECK instead of
+       ARM_BUILTIN_NEON_LANE_CHECK.
+       (mve_dereference_pointer): Add function.
+       (arm_expand_builtin_args): Call to mve_dereference_pointer when MVE is
+       enabled.
+       (arm_expand_neon_builtin): Moved to arm_expand_builtin function.
+       (arm_expand_builtin): Moved from arm_expand_neon_builtin function.
+       * config/arm/arm-c.c (__ARM_FEATURE_MVE): Define macro for MVE and MVE
+       with floating point enabled.
+       * config/arm/arm-protos.h (neon_immediate_valid_for_move): Renamed to
+       simd_immediate_valid_for_move.
+       (simd_immediate_valid_for_move): Renamed from
+       neon_immediate_valid_for_move function.
+       * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Generate
+       error if vfpv2 feature bit is disabled and mve feature bit is also
+       disabled for HARD_FLOAT_ABI.
+       (use_return_insn): Check to not push VFP regs for MVE.
+       (aapcs_vfp_allocate): Add MVE check to have same Procedure Call Standard
+       as Neon.
+       (aapcs_vfp_allocate_return_reg): Likewise.
+       (thumb2_legitimate_address_p): Check to return 0 on valid Thumb-2
+       address operand for MVE.
+       (arm_rtx_costs_internal): MVE check to determine cost of rtx.
+       (neon_valid_immediate): Rename to simd_valid_immediate.
+       (simd_valid_immediate): Rename from neon_valid_immediate.
+       (simd_valid_immediate): MVE check on size of vector is 128 bits.
+       (neon_immediate_valid_for_move): Rename to
+       simd_immediate_valid_for_move.
+       (simd_immediate_valid_for_move): Rename from
+       neon_immediate_valid_for_move.
+       (neon_immediate_valid_for_logic): Modify call to neon_valid_immediate
+       function.
+       (neon_make_constant): Modify call to neon_valid_immediate function.
+       (neon_vector_mem_operand): Return VFP register for POST_INC or PRE_DEC
+       for MVE.
+       (output_move_neon): Add MVE check to generate vldm/vstm instrcutions.
+       (arm_compute_frame_layout): Calculate space for saved VFP registers for
+       MVE.
+       (arm_save_coproc_regs): Save coproc registers for MVE.
+       (arm_print_operand): Add case 'E' to print memory operands for MVE.
+       (arm_print_operand_address): Check to print register number for MVE.
+       (arm_hard_regno_mode_ok): Check for arm hard regno mode ok for MVE.
+       (arm_modes_tieable_p): Check to allow structure mode for MVE.
+       (arm_regno_class): Add VPR_REGNUM check.
+       (arm_expand_epilogue_apcs_frame): MVE check to calculate epilogue code
+       for APCS frame.
+       (arm_expand_epilogue): MVE check for enabling pop instructions in
+       epilogue.
+       (arm_print_asm_arch_directives): Modify function to disable print of
+       .arch_extension "mve" and "fp" for cases where MVE is enabled with
+       "SOFT FLOAT ABI".
+       (arm_vector_mode_supported_p): Check for modes available in MVE interger
+       and MVE floating point.
+       (arm_array_mode_supported_p): Add TARGET_HAVE_MVE check for array mode
+       pointer support.
+       (arm_conditional_register_usage): Enable usage of conditional regsiter
+       for MVE.
+       (fixed_regs[VPR_REGNUM]): Enable VPR_REG for MVE.
+       (arm_declare_function_name): Modify function to disable print of
+       .arch_extension "mve" and "fp" for cases where MVE is enabled with
+       "SOFT FLOAT ABI".
+       * config/arm/arm.h (TARGET_HAVE_MVE): Disable for soft float abi and
+       when target general registers are required.
+       (TARGET_HAVE_MVE_FLOAT): Likewise.
+       (FIXED_REGISTERS): Add bit for VFP_REG class which is enabled in arm.c
+       for MVE.
+       (CALL_USED_REGISTERS): Set bit for VFP_REG class in CALL_USED_REGISTERS
+       which indicate this is not available for across function calls.
+       (FIRST_PSEUDO_REGISTER): Modify.
+       (VALID_MVE_MODE): Define valid MVE mode.
+       (VALID_MVE_SI_MODE): Define valid MVE SI mode.
+       (VALID_MVE_SF_MODE): Define valid MVE SF mode.
+       (VALID_MVE_STRUCT_MODE): Define valid MVE struct mode.
+       (VPR_REGNUM): Add Vector Predication Register in arm_regs_in_sequence
+       for MVE.
+       (IS_VPR_REGNUM): Macro to check for VPR_REG register.
+       (REG_ALLOC_ORDER): Add VPR_REGNUM entry.
+       (enum reg_class): Add VPR_REG entry.
+       (REG_CLASS_NAMES): Add VPR_REG entry.
+       * config/arm/arm.md (VPR_REGNUM): Define.
+       (conds): Check is_mve_type attrbiute to differentiate "conditional" and
+       "unconditional" instructions.
+       (arm_movsf_soft_insn): Modify RTL to not allow for MVE.
+       (movdf_soft_insn): Modify RTL to not allow for MVE.
+       (vfp_pop_multiple_with_writeback): Enable for MVE.
+       (include "mve.md"): Include mve.md file.
+       * config/arm/arm_mve.h: Add MVE intrinsics head file.
+       * config/arm/constraints.md (Up): Constraint to enable "p0" register in MVE
+       for vector predicated operands.
+       * config/arm/iterators.md (VNIM1): Define.
+       (VNINOTM1): Define.
+       (VHFBF_split): Define
+       * config/arm/mve.md: New file.
+       (mve_mov<mode>): Define RTL for move, store and load in MVE.
+       (mve_mov<mode>): Define move RTL pattern with vec_duplicate operator for
+       second operand.
+       * config/arm/neon.md (neon_immediate_valid_for_move): Rename with
+       simd_immediate_valid_for_move.
+       (neon_mov<mode>): Split pattern and move expand pattern "movv8hf" which
+       is common to MVE and  NEON to vec-common.md file.
+       (vec_init<mode><V_elem_l>): Add TARGET_HAVE_MVE check.
+       * config/arm/predicates.md (vpr_register_operand): Define.
+       * config/arm/t-arm: Add mve.md file.
+       * config/arm/types.md (mve_move): Add MVE instructions mve_move to
+       attribute "type".
+       (mve_store): Add MVE instructions mve_store to attribute "type".
+       (mve_load): Add MVE instructions mve_load to attribute "type".
+       (is_mve_type): Define attribute.
+       * config/arm/vec-common.md (mov<mode>): Modify RTL expand to support
+       standard move patterns in MVE along with NEON and IWMMXT with mode
+       iterator VNIM1.
+       (mov<mode>): Modify RTL expand to support standard move patterns in NEON
+       and IWMMXT with mode iterator V8HF.
+       (movv8hf): Define RTL expand to support standard "movv8hf" pattern in
+       NEON and MVE.
+       * config/arm/vfp.md (neon_immediate_valid_for_move): Rename to
+       simd_immediate_valid_for_move.
+
+
+2020-03-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * config/i386/i386.md (*movsi_internal): Call ix86_output_ssemov
+       for TYPE_SSEMOV.  Remove ext_sse_reg_operand and TARGET_AVX512VL
+       check.
+       * config/i386/predicates.md (ext_sse_reg_operand): Removed.
+
+2020-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94167
+       * tree-inline.c (insert_init_stmt): Don't gimple_regimplify_operands
+       DEBUG_STMTs.
+
+       PR tree-optimization/94166
+       * tree-ssa-reassoc.c (sort_by_mach_mode): Use SSA_NAME_VERSION
+       as secondary comparison key.
+
+2020-03-16  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/94125
+       * tree-loop-distribution.c
+       (loop_distribution::break_alias_scc_partitions): Update post order
+       number for merged scc.
+
+2020-03-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * config/i386/i386.c (ix86_output_ssemov): Handle MODE_SI and
+       MODE_SF.
+       * config/i386/i386.md (*movsf_internal): Call ix86_output_ssemov
+       for TYPE_SSEMOV.  Remove TARGET_PREFER_AVX256, TARGET_AVX512VL
+       and ext_sse_reg_operand check.
+
+2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * common.opt: Avoid redundancy in the help text.
+       * config/arc/arc.opt: Likewise.
+       * config/cr16/cr16.opt: Likewise.
+
+2020-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93566
+       * tree-nested.c (convert_nonlocal_omp_clauses,
+       convert_local_omp_clauses): Handle {,in_,task_}reduction clauses
+       with C/C++ array sections.
+
+2020-03-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * config/i386/i386.md (*movdi_internal): Call ix86_output_ssemov
+       for TYPE_SSEMOV.  Remove ext_sse_reg_operand and TARGET_AVX512VL
+       check.
+
+2020-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-fold.c (gimple_fold_builtin_strncpy): Change
+       "a an" to "an" in a comment.
+       * hsa-common.h (is_a_helper): Likewise.
+       * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise.
+       * config/arc/arc.c (arc600_corereg_hazard): Likewise.
+       * config/s390/s390.c (s390_indirect_branch_via_thunk): Likewise.
+
+2020-03-13  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/92379
+       * config/rs6000/rs6000.c (num_insns_constant_multi): Don't shift a
+       64-bit value by 64 bits (UB).
+
+2020-03-13  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/92303
+       * lra-spills.c (remove_pseudos): Try to simplify memory subreg.
+
+2020-03-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/94148
+       PR rtl-optimization/94042
+       * df-core.c (BB_LAST_CHANGE_AGE): Delete.
+       (df_worklist_propagate_forward): New parameter last_change_age, use
+       that instead of bb->aux.
+       (df_worklist_propagate_backward): Ditto.
+       (df_worklist_dataflow_doublequeue): Use a local array last_change_age.
+
+2020-03-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94163
+       * tree-ssa-pre.c (create_expression_by_pieces): Check
+       whether alignment would be zero.
+
+2020-03-13  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94157
+       * lto-wrapper.c (run_gcc): Use concat for appending
+       to collect_gcc_options.
+
+2020-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94121
+       * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
+       instead of GEN_INT.
+
+2020-03-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * config/i386/i386.c (ix86_output_ssemov): Handle MODE_DF.
+       * config/i386/i386.md (*movdf_internal): Call ix86_output_ssemov
+       for TYPE_SSEMOV.  Remove TARGET_AVX512F, TARGET_PREFER_AVX256,
+       TARGET_AVX512VL and ext_sse_reg_operand check.
+
+2020-03-13  Bu Le  <bule1@huawei.com>
+
+       PR target/94154
+       * config/aarch64/aarch64.opt (-param=aarch64-float-recp-precision=)
+       (-param=aarch64-double-recp-precision=): New options.
+       * doc/invoke.texi: Document them.
+       * config/aarch64/aarch64.c (aarch64_emit_approx_div): Use them
+       instead of hard-coding the choice of 1 for float and 2 for double.
+
+2020-03-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/94119
+       * resource.h (clear_hashed_info_until_next_barrier): Declare.
+       * resource.c (clear_hashed_info_until_next_barrier): New function.
+       * reorg.c (add_to_delay_list): Fix formatting.
+       (relax_delay_slots): Call clear_hashed_info_until_next_barrier on
+       the next instruction after removing a BARRIER.
+
+2020-03-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/92071
+       * expmed.c (store_integral_bit_field): For fields larger than a word,
+       call extract_bit_field on the value if the mode is BLKmode.  Remove
+       specific path for big-endian targets and tidy things up a little bit.
+
+2020-03-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/90275
+       * cse.c (cse_insn): Delete no-op register moves too.
+
+2020-03-12  Darius Galis  <darius.galis@cyberthorstudios.com>
+
+       * config/rx/rx.md (CTRLREG_CPEN): Remove.
+       * config/rx/rx.c (rx_print_operand): Remove CTRLREG_CPEN support.
+
+2020-03-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94103
+       * tree-ssa-sccvn.c (visit_reference_op_load): Avoid type
+       punning when the mode precision is not sufficient.
+
+2020-03-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * config/i386/i386.c (ix86_output_ssemov): Handle MODE_DI,
+       MODE_V1DF and MODE_V2SF.
+       * config/i386/mmx.md (MMXMODE:*mov<mode>_internal): Call
+       ix86_output_ssemov for TYPE_SSEMOV.  Remove ext_sse_reg_operand
+       check.
+
+2020-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/tm.texi.in (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change
+       ASM_OUTPUT_ALIGNED_DECL in description to ASM_OUTPUT_ALIGNED_LOCAL
+       and ASM_OUTPUT_DECL to ASM_OUTPUT_LOCAL.
+       * doc/tm.texi: Regenerated.
+
+       PR tree-optimization/94130
+       * tree-ssa-dse.c: Include gimplify.h.
+       (increment_start_addr): If stmt has lhs, drop the lhs from call and
+       set it after the call to the original value of the first argument.
+       Formatting fixes.
+       (decrement_count): Formatting fix.
+
+2020-03-11  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/arm/arm-builtins.c
+       (arm_init_simd_builtin_scalar_types): New.
+       * config/arm/arm_neon.h (vld2_bf16): Used new builtin type.
+       (vld2q_bf16): Used new builtin type.
+       (vld3_bf16): Used new builtin type.
+       (vld3q_bf16): Used new builtin type.
+       (vld4_bf16): Used new builtin type.
+       (vld4q_bf16): Used new builtin type.
+       (vld2_dup_bf16): Used new builtin type.
+       (vld2q_dup_bf16): Used new builtin type.
+       (vld3_dup_bf16): Used new builtin type.
+       (vld3q_dup_bf16): Used new builtin type.
+       (vld4_dup_bf16): Used new builtin type.
+       (vld4q_dup_bf16): Used new builtin type.
+
+2020-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94134
+       * config/pdp11/pdp11.c (pdp11_asm_output_var): Call switch_to_section
+       at the start to switch to data section.  Don't print extra newline if
+       .globl directive has not been emitted.
+
+2020-03-11  Richard Biener  <rguenther@suse.de>
+
+       * match.pd ((T *)(ptr - ptr-cst) -> &MEM[ptr + -ptr-cst]):
+       New pattern.
+
+2020-03-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/93961
+       * tree.c (variably_modified_type_p) <RECORD_TYPE>: Recurse into fields
+       whose type is a qualified union.
+
+2020-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94121
+       * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
+       instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.
+
+       PR bootstrap/93962
+       * value-prof.c (dump_histogram_value): Use abs_hwi instead of
+       std::abs.
+       (get_nth_most_common_value): Use abs_hwi instead of abs.
+
+       PR middle-end/94111
+       * dfp.c (decimal_to_binary): Only use decimal128ToString if from->cl
+       is rvc_normal, otherwise use real_to_decimal to print the number to
+       string.
+
+       PR tree-optimization/94114
+       * tree-loop-distribution.c (generate_memset_builtin): Call
+       rewrite_to_non_trapping_overflow even on mem.
+       (generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow even
+       on dest and src.
+
+2020-03-10  Jeff Law  <law@redhat.com>
+
+       * config/bfin/bfin.md (movsi_insv): Add length attribute.
+
+2020-03-10  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/93709
+       * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check
+       NAN and SIGNED_ZEROR for smax/smin.
+
+2020-03-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       PR target/90763
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
+       clause to handle P9V_BUILTIN_VEC_LXVL with const arguments.
+
+2020-03-10  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * loop-iv.c (find_simple_exit): Make it static.
+       * cfgloop.h: Remove the corresponding prototype.
+
+2020-03-10  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * ddg.c (create_ddg): Fix intendation.
+       (set_recurrence_length): Likewise.
+       (create_ddg_all_sccs): Likewise.
+
+2020-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94088
+       * config/i386/i386.md (*testqi_ext_3): Call ix86_match_ccmode with
+       CCZmode instead of CCNOmode if operands[2] has DImode and pos + len
+       is 32.
+
+2020-03-09  Jason Merrill  <jason@redhat.com>
+
+       * gdbinit.in (pgs): Fix typo in documentation.
+
+2020-03-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       Revert:
+
+       2020-02-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93564
+       * ira-color.c (assign_hard_reg): Prefer smaller hard regno when we
+       do not honor reg alloc order.
+
+2020-03-09  Andrew Pinski  <apinski@marvell.com>
+
+       PR inline-asm/94095
+       * doc/extend.texi (x86 Operand Modifiers): Fix column
+       for 'A' modifier.
+
+2020-03-09  Martin Liska  <mliska@suse.cz>
+
+       PR target/93800
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Remove set of str_align_loops and str_align_jumps as these
+       should be set in previous 2 conditions in the function.
+
+2020-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94045
+       * params.opt (-param=max-find-base-term-values=): New option.
+       * alias.c (find_base_term): Add cut-off for number of visited VALUEs
+       in a single toplevel find_base_term call.
+
+2020-03-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/91598
+       * config/aarch64/aarch64-builtins.c (TYPES_TERNOPU_LANE): Add define.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_vec_<su>mult_lane<Qlane>): Add new insn for widening lane mul.
+       (aarch64_vec_<su>mlal_lane<Qlane>): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def: Add intrinsics.
+       * config/aarch64/arm_neon.h:
+       (vmlal_lane_s16): Expand using intrinsics rather than inline asm.
+       (vmlal_lane_u16): Likewise.
+       (vmlal_lane_s32): Likewise.
+       (vmlal_lane_u32): Likewise.
+       (vmlal_laneq_s16): Likewise.
+       (vmlal_laneq_u16): Likewise.
+       (vmlal_laneq_s32): Likewise.
+       (vmlal_laneq_u32): Likewise.
+       (vmull_lane_s16): Likewise.
+       (vmull_lane_u16): Likewise.
+       (vmull_lane_s32): Likewise.
+       (vmull_lane_u32): Likewise.
+       (vmull_laneq_s16): Likewise.
+       (vmull_laneq_u16): Likewise.
+       (vmull_laneq_s32): Likewise.
+       (vmull_laneq_u32): Likewise.
+       * config/aarch64/iterators.md (Vcondtype): New iterator for lane mul.
+       (Qlane): Likewise.
+
+2020-03-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * aarch64/aarch64-simd.md (aarch64_mla_elt<mode>): Correct lane syntax.
+       (aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
+       (aarch64_mls_elt<mode>): Likewise.
+       (aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
+       (aarch64_fma4_elt<mode>): Likewise.
+       (aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
+       (aarch64_fma4_elt_to_64v2df): Likewise.
+       (aarch64_fnma4_elt<mode>): Likewise.
+       (aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
+       (aarch64_fnma4_elt_to_64v2df): Likewise.
+
+2020-03-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-sve2.md (@aarch64_sve_<sve_int_op><mode>:
+       Specify movprfx attribute.
+       (@aarch64_sve_<sve_int_op>_lane_<mode>): Likewise.
+
+2020-03-06  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/94065
+       * config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for
+       cmodel=large.
+       (TARGET_NO_FP_IN_TOC): Same.
+       * config/rs6000/aix71.h: Same.
+       * config/rs6000/aix72.h: Same.
+
+2020-03-06  Andrew Pinski  <apinski@marvell.com>
+           Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/93996
+       * haifa-sched.c (remove_notes): Be more careful when adding
+       REG_SAVE_NOTE.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/arm/arm_neon.h (vld2_bf16): New.
+       (vld2q_bf16): New.
+       (vld3_bf16): New.
+       (vld3q_bf16): New.
+       (vld4_bf16): New.
+       (vld4q_bf16): New.
+       (vld2_dup_bf16): New.
+       (vld2q_dup_bf16): New.
+       (vld3_dup_bf16): New.
+       (vld3q_dup_bf16): New.
+       (vld4_dup_bf16): New.
+       (vld4q_dup_bf16): New.
+       * config/arm/arm_neon_builtins.def
+       (vld2): Changed to VAR13 and added v4bf, v8bf
+       (vld2_dup): Changed to VAR8 and added v4bf, v8bf
+       (vld3): Changed to VAR13 and added v4bf, v8bf
+       (vld3_dup): Changed to VAR8 and added v4bf, v8bf
+       (vld4): Changed to VAR13 and added v4bf, v8bf
+       (vld4_dup): Changed to VAR8 and added v4bf, v8bf
+       * config/arm/iterators.md (VDXBF2): New iterator.
+       *config/arm/neon.md (neon_vld2): Use new iterators.
+       (neon_vld2_dup<mode): Use new iterators.
+       (neon_vld3<mode>): Likewise.
+       (neon_vld3qa<mode>): Likewise.
+       (neon_vld3qb<mode>): Likewise.
+       (neon_vld3_dup<mode>): Likewise.
+       (neon_vld4<mode>): Likewise.
+       (neon_vld4qa<mode>): Likewise.
+       (neon_vld4qb<mode>): Likewise.
+       (neon_vld4_dup<mode>): Likewise.
+       (neon_vld2_dupv8bf): New.
+       (neon_vld3_dupv8bf): Likewise.
+       (neon_vld4_dupv8bf): Likewise.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/arm/arm_neon.h (bfloat16x4x2_t): New typedef.
+       (bfloat16x8x2_t): New typedef.
+       (bfloat16x4x3_t): New typedef.
+       (bfloat16x8x3_t): New typedef.
+       (bfloat16x4x4_t): New typedef.
+       (bfloat16x8x4_t): New typedef.
+       (vst2_bf16): New.
+       (vst2q_bf16): New.
+       (vst3_bf16): New.
+       (vst3q_bf16): New.
+       (vst4_bf16): New.
+       (vst4q_bf16): New.
+       * config/arm/arm-builtins.c (v2bf_UP): Define.
+       (VAR13): New.
+       (arm_init_simd_builtin_types): Init Bfloat16x2_t eltype.
+       * config/arm/arm-modes.def (V2BF): New mode.
+       * config/arm/arm-simd-builtin-types.def
+       (Bfloat16x2_t): New entry.
+       * config/arm/arm_neon_builtins.def
+       (vst2): Changed to VAR13 and added v4bf, v8bf
+       (vst3): Changed to VAR13 and added v4bf, v8bf
+       (vst4): Changed to VAR13 and added v4bf, v8bf
+       * config/arm/iterators.md (VDXBF): New iterator.
+       (VQ2BF): New iterator.
+       *config/arm/neon.md (neon_vst2<mode>): Used new iterators.
+       (neon_vst2<mode>): Used new iterators.
+       (neon_vst3<mode>): Used new iterators.
+       (neon_vst3<mode>): Used new iterators.
+       (neon_vst3qa<mode>): Used new iterators.
+       (neon_vst3qb<mode>): Used new iterators.
+       (neon_vst4<mode>): Used new iterators.
+       (neon_vst4<mode>): Used new iterators.
+       (neon_vst4qa<mode>): Used new iterators.
+       (neon_vst4qb<mode>): Used new iterators.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def
+       (bfcvtn): New built-in function.
+       (bfcvtn_q): New built-in function.
+       (bfcvtn2): New built-in function.
+       (bfcvt): New built-in function.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_bfcvtn<q><mode>): New pattern.
+       (aarch64_bfcvtn2v8bf): New pattern.
+       (aarch64_bfcvtbf): New pattern.
+       * config/aarch64/arm_bf16.h (float32_t): New typedef.
+       (vcvth_bf16_f32): New intrinsic.
+       * config/aarch64/arm_bf16.h (vcvt_bf16_f32): New intrinsic.
+       (vcvtq_low_bf16_f32): New intrinsic.
+       (vcvtq_high_bf16_f32): New intrinsic.
+       * config/aarch64/iterators.md (V4SF_TO_BF): New mode iterator.
+       (UNSPEC_BFCVTN): New UNSPEC.
+       (UNSPEC_BFCVTN2): New UNSPEC.
+       (UNSPEC_BFCVT): New UNSPEC.
+       * config/arm/types.md (bf_cvt): New type.
+
+2020-03-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.md ("tabort"): Get rid of two consecutive
+       blanks in format string.
+
+2020-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       PR target/89346
+       * config/i386/i386-protos.h (ix86_output_ssemov): New prototype.
+       * config/i386/i386.c (ix86_get_ssemov): New function.
+       (ix86_output_ssemov): Likewise.
+       * config/i386/sse.md (VMOVE:mov<mode>_internal): Call
+       ix86_output_ssemov for TYPE_SSEMOV.  Remove TARGET_AVX512VL
+       check.
+       (*movxi_internal_avx512f): Call ix86_output_ssemov for TYPE_SSEMOV.
+       (*movoi_internal_avx): Call ix86_output_ssemov for TYPE_SSEMOV.
+       Remove ext_sse_reg_operand and TARGET_AVX512VL check.
+       (*movti_internal): Likewise.
+       (*movtf_internal): Call ix86_output_ssemov for TYPE_SSEMOV.
+
+2020-03-05  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/91890
+       * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Remove LOC argument.
+       Use gimple_or_expr_nonartificial_location.
+       (check_bounds_overlap): Drop LOC argument to maybe_diag_access_bounds.
+       Use gimple_or_expr_nonartificial_location.
+       * gimple.c (gimple_or_expr_nonartificial_location): New function.
+       * gimple.h (gimple_or_expr_nonartificial_location): Declare it.
+       * tree-ssa-strlen.c (maybe_warn_overflow): Use
+       gimple_or_expr_nonartificial_location.
+       (maybe_diag_stxncpy_trunc, handle_builtin_stxncpy_strncat): Likewise.
+       (maybe_warn_pointless_strcmp): Likewise.
+
+2020-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94046
+       * config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of
+       SRC and MASK arguments to __m128 from __m128d.
+       (_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256
+       from __m256d.
+       (_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128
+       from __m128d.
+       * config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C
+       argument to __m128i from __m128d.
+       (_mm256_permute2_pd): Fix first cast of C argument to __m256i from
+       __m256d.
+       (_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128.
+       (_mm256_permute2_ps): Fix first cast of C argument to __m256i from
+       __m256.
+
+2020-03-05  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/arm/arm_neon.h (vbfmmlaq_f32): New.
+       (vbfmlalbq_f32): New.
+       (vbfmlaltq_f32): New.
+       (vbfmlalbq_lane_f32): New.
+       (vbfmlaltq_lane_f32): New.
+       (vbfmlalbq_laneq_f32): New.
+       (vbfmlaltq_laneq_f32): New.
+       * config/arm/arm_neon_builtins.def (vmmla): New.
+       (vfmab): New.
+       (vfmat): New.
+       (vfmab_lane): New.
+       (vfmat_lane): New.
+       (vfmab_laneq): New.
+       (vfmat_laneq): New.
+       * config/arm/iterators.md (BF_MA): New int iterator.
+       (bt): New int attribute.
+       (VQXBF): Copy of VQX with V8BF.
+       * config/arm/neon.md (neon_vmmlav8bf): New insn.
+       (neon_vfma<bt>v8bf): New insn.
+       (neon_vfma<bt>_lanev8bf): New insn.
+       (neon_vfma<bt>_laneqv8bf): New expand.
+       (neon_vget_high<mode>): Changed iterator to VQXBF.
+       * config/arm/unspecs.md (UNSPEC_BFMMLA): New UNSPEC.
+       (UNSPEC_BFMAB): New UNSPEC.
+       (UNSPEC_BFMAT): New UNSPEC.
+
+2020-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93399
+       * tree-pretty-print.h (pretty_print_string): Declare.
+       * tree-pretty-print.c (pretty_print_string): Remove forward
+       declaration, no longer static.  Change nbytes parameter type
+       from unsigned to size_t.
+       * print-rtl.c (print_value) <case CONST_STRING>: Use
+       pretty_print_string and for shrink way too long strings.
+
+2020-03-05  Richard Biener  <rguenther@suse.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Treat POINTER_PLUS_EXPR
+       last operand as signed when looking for memset offset.  Formatting
+       fix.
+
+2020-03-04  Andrew Pinski  <apinski@marvell.com>
+
+       PR bootstrap/93962
+       * value-prof.c (dump_histogram_value): Use std::abs.
+
+2020-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93986
+       * tree-ssa-strlen.c (maybe_warn_overflow): Convert all wide_int
+       operands to the same precision widest_int to avoid ICEs.
+
+2020-03-04  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/87560
+       * rs6000-cpus.def (OTHER_ALTIVEC_MASKS): New #define.
+       * rs6000.c (rs6000_disable_incompatible_switches): Add table entry
+       for OPTION_MASK_ALTIVEC.
+
+2020-03-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config.gcc: Include the glibc-stdint.h header for zTPF.
+
+2020-03-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_secondary_memory_needed): Disallow
+       direct FPR-GPR copies.
+       (s390_register_info_gprtofpr): Disallow GPR content to be saved in
+       FPRs.
+
+2020-03-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_emit_prologue): Specify the 2 new
+       operands to the prologue_tpf expander.
+       (s390_emit_epilogue): Likewise.
+       (s390_option_override_internal): Do error checking and setup for
+       the new options.
+       * config/s390/tpf.h (TPF_TRACE_PROLOGUE_CHECK)
+       (TPF_TRACE_EPILOGUE_CHECK, TPF_TRACE_PROLOGUE_TARGET)
+       (TPF_TRACE_EPILOGUE_TARGET, TPF_TRACE_PROLOGUE_SKIP_TARGET)
+       (TPF_TRACE_EPILOGUE_SKIP_TARGET): New macro definitions.
+       * config/s390/tpf.md ("prologue_tpf", "epilogue_tpf"): Add two new
+       operands for the check flag and the branch target.
+       * config/s390/tpf.opt ("mtpf-trace-hook-prologue-check")
+       ("mtpf-trace-hook-prologue-target")
+       ("mtpf-trace-hook-epilogue-check")
+       ("mtpf-trace-hook-epilogue-target", "mtpf-trace-skip"): New
+       options.
+       * doc/invoke.texi: Document -mtpf-trace-skip option. The other
+       options are for debugging purposes and will not be documented
+       here.
+
+2020-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/93888
+       * tree-inline.c (copy_decl_to_var): Copy DECL_BY_REFERENCE flag.
+
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Add offseti
+       argument.  Change pd argument so that it can be modified.  Turn
+       constant non-CONSTRUCTOR store into non-constant if it is too large.
+       Adjust offset and size of CONSTRUCTOR or non-constant store to avoid
+       overflows.
+       (vn_walk_cb_data::vn_walk_cb_data, vn_reference_lookup_3): Adjust
+       callers.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93964
+       * graphite-isl-ast-to-gimple.c
+       (gcc_expression_from_isl_ast_expr_id): Add intermediate
+       conversion for pointer to integer converts.
+       * graphite-scop-detection.c (assign_parameter_index_in_region):
+       Relax assert.
+
+2020-03-04  Martin Liska  <mliska@suse.cz>
+
+       PR c/93886
+       PR c/93887
+       * doc/invoke.texi: Clarify --help=language and --help=common
+       interaction.
+
+2020-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94001
+       * tree-tailcall.c (process_assignment): Before comparing op1 to
+       *ass_var, verify *ass_var is non-NULL.
+
+2020-03-04  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/93995
+       * config/riscv/riscv.c (riscv_emit_float_compare): Using NE to compare
+       the result of IOR.
+
+2020-03-03  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm_bf16.h (vcvtah_f32_bf16, vcvth_bf16_f32): New.
+       * config/arm/arm_neon.h (vcvt_f32_bf16, vcvtq_low_f32_bf16): New.
+       (vcvtq_high_f32_bf16, vcvt_bf16_f32): New.
+       (vcvtq_low_bf16_f32, vcvtq_high_bf16_f32): New.
+       * config/arm/arm_neon_builtins.def (vbfcvt, vbfcvt_high): New entries.
+       (vbfcvtv4sf, vbfcvtv4sf_high): Likewise.
+       * config/arm/iterators.md (VBFCVT, VBFCVTM): New mode iterators.
+       (V_bf_low, V_bf_cvt_m): New mode attributes.
+       * config/arm/neon.md (neon_vbfcvtv4sf<VBFCVT:mode>): New.
+       (neon_vbfcvtv4sf_highv8bf, neon_vbfcvtsf): New.
+       (neon_vbfcvt<VBFCVT:mode>, neon_vbfcvt_highv8bf): New.
+       (neon_vbfcvtbf_cvtmode<mode>, neon_vbfcvtbf): New
+       * config/arm/unspecs.md (UNSPEC_BFCVT, UNSPEC_BFCVT_HIG): New.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * tree-ssa-sccvn.h (vn_reference_lookup): Add mask argument.
+       * tree-ssa-sccvn.c (struct vn_walk_cb_data): Add mask and masked_result
+       members, initialize them in the constructor and if mask is non-NULL,
+       artificially push_partial_def {} for the portions of the mask that
+       contain zeros.
+       (vn_walk_cb_data::finish): If mask is non-NULL, set masked_result to
+       val and return (void *)-1.  Formatting fix.
+       (vn_reference_lookup_pieces): Adjust vn_walk_cb_data initialization.
+       Formatting fix.
+       (vn_reference_lookup): Add mask argument.  If non-NULL, don't call
+       fully_constant_vn_reference_p nor vn_reference_lookup_1 and return
+       data.mask_result.
+       (visit_nary_op): Handle BIT_AND_EXPR of a memory load and INTEGER_CST
+       mask.
+       (visit_stmt): Formatting fix.
+
+2020-03-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93946
+       * alias.h (refs_same_for_tbaa_p): Declare.
+       * alias.c (refs_same_for_tbaa_p): New function.
+       * tree-ssa-alias.c (ao_ref_alias_set): For a NULL ref return
+       zero.
+       * tree-ssa-scopedtables.h
+       (avail_exprs_stack::lookup_avail_expr): Add output argument
+       giving access to the hashtable entry.
+       * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
+       Likewise.
+       * tree-ssa-dom.c: Include alias.h.
+       (dom_opt_dom_walker::optimize_stmt): Validate TBAA state before
+       removing redundant store.
+       * tree-ssa-sccvn.h (vn_reference_s::base_set): New member.
+       (ao_ref_init_from_vn_reference): Adjust prototype.
+       (vn_reference_lookup_pieces): Likewise.
+       (vn_reference_insert_pieces): Likewise.
+       * tree-ssa-sccvn.c: Track base alias set in addition to alias
+       set everywhere.
+       (eliminate_dom_walker::eliminate_stmt): Also check base alias
+       set when removing redundant stores.
+       (visit_reference_op_store): Likewise.
+       * dse.c (record_store): Adjust valdity check for redundant
+       store removal.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/26877
+       * config/s390/s390.h (OPTION_DEFAULT_SPECS): Reorder.
+
+       PR rtl-optimization/94002
+       * explow.c (plus_constant): Punt if cst has VOIDmode and
+       get_pool_mode is different from mode.
+
+2020-03-03  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (leigitimate_small_data_address_p): Check if an
+       address has an offset which fits the scalling constraint for a
+       load/store operation.
+       (legitimate_scaled_address_p): Update use
+       leigitimate_small_data_address_p.
+       (arc_print_operand): Likewise.
+       (arc_legitimate_address_p): Likewise.
+       (legitimate_small_data_address_p): Likewise.
+
+2020-03-03  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (fmasf4_fpu): Use accl_operand predicate.
+       (fnmasf4_fpu): Likewise.
+
+2020-03-03  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (adddi3): Early expand the 64bit operation into
+       32bit ops.
+       (subdi3): Likewise.
+       (adddi3_i): Remove pattern.
+       (subdi3_i): Likewise.
+
+2020-03-03  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (eh_return): Add length info.
+
+2020-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fanalyzer-show-duplicate-count): New.
+
+2020-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -Wanalyzer-stale-setjmp-buffer to the list of options enabled
+       by -fanalyzer.
+
+2020-03-02  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93997
+       * config/i386/i386.md (movstrict<mode>): Allow only
+       registers with VALID_INT_MODE_P modes.
+
+2020-03-02  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (dpp_move<mode>): New.
+       (reduc_insn): Use 'U' and 'B' operand codes.
+       (reduc_<reduc_op>_scal_<mode>): Allow all types.
+       (reduc_<reduc_op>_scal_v64di): Delete.
+       (*<reduc_op>_dpp_shr_<mode>): Allow all 1reg types.
+       (*plus_carry_dpp_shr_v64si): Change to ...
+       (*plus_carry_dpp_shr_<mode>): ... this and allow all 1reg int types.
+       (mov_from_lane63_v64di): Change to ...
+       (mov_from_lane63_<mode>): ... this, and allow all 64-bit modes.
+       * config/gcn/gcn.c (gcn_expand_dpp_shr_insn): Increase buffer size.
+       Support UNSPEC_MOV_DPP_SHR output formats.
+       (gcn_expand_reduc_scalar): Add "use_moves" reductions.
+       Add "use_extends" reductions.
+       (print_operand_address): Add 'I' and 'U' codes.
+       * config/gcn/gcn.md (unspec): Add UNSPEC_MOV_DPP_SHR.
+
+2020-03-02  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c: Fix typo in comment about
+       C++ standard version.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/92721
+       * calls.c (init_attr_rdwr_indices): Correctly handle attribute.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93829
+       * tree-ssa-strlen.c (count_nonzero_bytes): Set the size to that
+         of a pointer in the outermost ADDR_EXPRs.
+
+2020-02-28  Jeff Law  <law@redhat.com>
+
+       * config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19.
+       * config/v850/v850.c (v850_asm_trampoline_template): Update
+       accordingly.
+
+2020-02-28  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/93937
+       * config/rs6000/vsx.md (vsx_extract_<mode>_<VS_scalar>mode_var):
+       Delete insn.
+
+2020-02-28  Martin Liska  <mliska@suse.cz>
+
+       PR other/93965
+       * configure.ac: Improve detection of ld_date by requiring
+       either two dashes or none.
+       * configure: Regenerate.
+
+2020-02-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93564
+       * ira-color.c (assign_hard_reg): Prefer smaller hard regno when we
+       do not honor reg alloc order.
+
+2020-02-27  Joel Hutton  <Joel.Hutton@arm.com>
+
+       PR target/87612
+       * config/aarch64/aarch64.c (aarch64_override_options): Fix
+       misleading warning string.
+
+2020-02-27  Martin Sebor  <msebor@redhat.com>
+
+       * doc/invoke.texi (-Wbuiltin-declaration-mismatch): Fix a typo.
+
+2020-02-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/93932
+       * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
+       Split the insn into two parts.  This insn only does variable
+       extract from a register.
+       (vsx_extract_<mode>_var_load, VSX_D iterator): New insn, do
+       variable extract from memory.
+       (vsx_extract_v4sf_var): Split the insn into two parts.  This insn
+       only does variable extract from a register.
+       (vsx_extract_v4sf_var_load): New insn, do variable extract from
+       memory.
+       (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Split the insn
+       into two parts.  This insn only does variable extract from a
+       register.
+       (vsx_extract_<mode>_var_load, VSX_EXTRACT_I iterator): New insn,
+       do variable extract from memory.
+
+2020-02-27  Martin Jambor  <mjambor@suse.cz>
+           Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93707
+       * ipa-cp.c (same_node_or_its_all_contexts_clone_p): Replaced with
+       new function calls_same_node_or_its_all_contexts_clone_p.
+       (cgraph_edge_brings_value_p): Use it.
+       (cgraph_edge_brings_value_p): Likewise.
+       (self_recursive_pass_through_p): Return false if caller is a clone.
+       (self_recursive_agg_pass_through_p): Likewise.
+
+2020-02-27  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR middle-end/92152
+       * alias.c (ends_tbaa_access_path_p): Break out from ...
+       (component_uses_parent_alias_set_from): ... here.
+       * alias.h (ends_tbaa_access_path_p): Declare.
+       * tree-ssa-alias.c (access_path_may_continue_p): Break out from ...;
+       handle trailing arrays past end of tbaa access path.
+       (aliasing_component_refs_p): ... here; likewise.
+       (nonoverlapping_refs_since_match_p): Track TBAA segment of the access
+       path; disambiguate also past end of it.
+       (nonoverlapping_component_refs_p): Use only TBAA segment of the access
+       path.
+
+2020-02-27  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * (__ARM_NUM_LANES, __arm_lane, __arm_lane_q): Move to the
+       beginning of the file.
+       (vcreate_bf16, vcombine_bf16): New.
+       (vdup_n_bf16, vdupq_n_bf16): New.
+       (vdup_lane_bf16, vdup_laneq_bf16): New.
+       (vdupq_lane_bf16, vdupq_laneq_bf16): New.
+       (vduph_lane_bf16, vduph_laneq_bf16): New.
+       (vset_lane_bf16, vsetq_lane_bf16): New.
+       (vget_lane_bf16, vgetq_lane_bf16): New.
+       (vget_high_bf16, vget_low_bf16): New.
+       (vreinterpret_bf16_u8, vreinterpretq_bf16_u8): New.
+       (vreinterpret_bf16_u16, vreinterpretq_bf16_u16): New.
+       (vreinterpret_bf16_u32, vreinterpretq_bf16_u32): New.
+       (vreinterpret_bf16_u64, vreinterpretq_bf16_u64): New.
+       (vreinterpret_bf16_s8, vreinterpretq_bf16_s8): New.
+       (vreinterpret_bf16_s16, vreinterpretq_bf16_s16): New.
+       (vreinterpret_bf16_s32, vreinterpretq_bf16_s32): New.
+       (vreinterpret_bf16_s64, vreinterpretq_bf16_s64): New.
+       (vreinterpret_bf16_p8, vreinterpretq_bf16_p8): New.
+       (vreinterpret_bf16_p16, vreinterpretq_bf16_p16): New.
+       (vreinterpret_bf16_p64, vreinterpretq_bf16_p64): New.
+       (vreinterpret_bf16_f32, vreinterpretq_bf16_f32): New.
+       (vreinterpret_bf16_f64, vreinterpretq_bf16_f64): New.
+       (vreinterpretq_bf16_p128): New.
+       (vreinterpret_s8_bf16, vreinterpretq_s8_bf16): New.
+       (vreinterpret_s16_bf16, vreinterpretq_s16_bf16): New.
+       (vreinterpret_s32_bf16, vreinterpretq_s32_bf16): New.
+       (vreinterpret_s64_bf16, vreinterpretq_s64_bf16): New.
+       (vreinterpret_u8_bf16, vreinterpretq_u8_bf16): New.
+       (vreinterpret_u16_bf16, vreinterpretq_u16_bf16): New.
+       (vreinterpret_u32_bf16, vreinterpretq_u32_bf16): New.
+       (vreinterpret_u64_bf16, vreinterpretq_u64_bf16): New.
+       (vreinterpret_p8_bf16, vreinterpretq_p8_bf16): New.
+       (vreinterpret_p16_bf16, vreinterpretq_p16_bf16): New.
+       (vreinterpret_p64_bf16, vreinterpretq_p64_bf16): New.
+       (vreinterpret_f32_bf16, vreinterpretq_f32_bf16): New.
+       (vreinterpretq_p128_bf16): New.
+       * config/arm/arm_neon_builtins.def (VDX): Add V4BF.
+       (V_elem): Likewise.
+       (V_elem_l): Likewise.
+       (VD_LANE): Likewise.
+       (VQX) Add V8BF.
+       (V_DOUBLE): Likewise.
+       (VDQX): Add V4BF and V8BF.
+       (V_two_elem, V_three_elem, V_four_elem): Likewise.
+       (V_reg): Likewise.
+       (V_HALF): Likewise.
+       (V_double_vector_mode): Likewise.
+       (V_cmp_result): Likewise.
+       (V_uf_sclr): Likewise.
+       (V_sz_elem): Likewise.
+       (Is_d_reg): Likewise.
+       (V_mode_nunits): Likewise.
+       * config/arm/neon.md (neon_vdup_lane): Enable for BFloat16.
+
+2020-02-27  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (VEC_SUBDWORD_MODE): New mode iterator.
+       (<expander><mode>2<exec>): Change modes to VEC_ALL1REG_INT_MODE.
+       (<expander><mode>3<exec>): Likewise.
+       (<expander><mode>3): New.
+       (v<expander><mode>3): New.
+       (<expander><mode>3): New.
+       (<expander><mode>3<exec>): Rename to ...
+       (<expander>v64si3<exec>): ... this, and change modes to V64SI.
+       * config/gcn/gcn.md (mnemonic): Use '%B' for not.
+
+2020-02-27  Alexandre Oliva <oliva@adacore.com>
+
+       * config/vx-common.h (NO_DOLLAR_IN_LABEL, NO_DOT_IN_LABEL): Leave
+       them alone on vx7.
+
+2020-02-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93508
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle _CHK like
+       non-_CHK variants.  Valueize their length arguments.
+
+2020-02-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93953
+       * tree-vect-slp.c (slp_copy_subtree): Avoid keeping a reference
+       to the hash-map entry.
+
+2020-02-27  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md (mov<mode>): Add transformations for BI subregs.
+
+2020-02-27  Mark Williams  <mwilliams@fb.com>
+
+       * dwarf2out.c (file_name_acquire): Call remap_debug_filename.
+       * lto-opts.c (lto_write_options): Drop -fdebug-prefix-map,
+       -ffile-prefix-map and -fmacro-prefix-map.
+       * lto-streamer-out.c: Include file-prefix-map.h.
+       (lto_output_location): Remap the file part of locations.
+
+2020-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/93949
+       * gimplify.c (gimplify_init_constructor): Don't promote readonly
+       DECL_REGISTER variables to TREE_STATIC.
+
+       PR tree-optimization/93582
+       PR tree-optimization/93945
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle memset with
+       non-zero INTEGER_CST second argument and ref->offset or ref->size
+       not a multiple of BITS_PER_UNIT.
+
+2020-02-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/install.texi (Binaries): Update description of BullFreeware.
+
+2020-02-26  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR c++/90467
+
+       * doc/invoke.texi (Option Summary): Re-alphabetize warnings in
+       C++ Language Options, Warning Options, and Static Analyzer
+       Options lists.  Document negative form of options enabled by
+       default.  Move some things around to more accurately sort
+       warnings by category.
+       (C++ Dialect Options, Warning Options, Static Analyzer
+       Options): Document negative form of options when enabled by
+       default.  Move some things around to more accurately sort
+       warnings by category.  Add some missing index entries.
+       Light copy-editing.
+
+2020-02-26  Carl Love  <cel@us.ibm.com>
+
+       PR target/91276
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions available on
+       ISA 2.07): The builtin-function name __builtin_crypto_vpmsumb is only
+       for the vector unsigned short arguments.  It is also listed as the
+       name of the built-in for arguments vector unsigned short,
+       vector unsigned int and vector unsigned long long built-ins.  The
+       name of the builtins for these arguments should be:
+       __builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and
+       __builtin_crypto_vpmsumd respectively.
+
+2020-02-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_print_slp_tree): Also dump ref count
+       and load permutation.
+
+2020-02-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/93843
+       * optabs-tree.c (supportable_convert_operation): Reject types with
+       scalar modes.
+
+2020-02-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/bar-chart.o.
+
+2020-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93820
+       * gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE
+       argument to ALL_INTEGER_CST_P boolean.
+       (imm_store_chain_info::try_coalesce_bswap): Adjust caller.
+       (imm_store_chain_info::coalesce_immediate_stores): Likewise.  Handle
+       adjacent INTEGER_CST store into merged_store->only_constants like
+       overlapping one.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/93912
+       * config/sh/sh.c (expand_cbranchdi4): Fix comment typo, probablity
+       -> probability.
+       * cfghooks.c (verify_flow_info): Likewise.
+       * predict.c (combine_predictions_for_bb): Likewise.
+       * bb-reorder.c (connect_better_edge_p): Likewise.  Fix comment typo,
+       sucessor -> successor.
+       (find_traces_1_round): Fix comment typo, destinarion -> destination.
+       * omp-expand.c (expand_oacc_for): Fix comment typo, sucessors ->
+       successors.
+       * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Fix dump
+       message typo, sucessors -> successors.
+
+2020-02-25  Martin Sebor  <msebor@redhat.com>
+
+       * doc/extend.texi (attribute access): Correct an example.
+
+2020-02-25  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_scalar_builtin_types):
+       Add simd_bf.
+       (aarch64_init_simd_builtin_scalar_types): Register simd_bf.
+       (VAR15, VAR16): New.
+       * config/aarch64/iterators.md (VALLDIF): Enable for V4BF and V8BF.
+       (VD): Enable for V4BF.
+       (VDC): Likewise.
+       (VQ): Enable for V8BF.
+       (VQ2): Likewise.
+       (VQ_NO2E): Likewise.
+       (VDBL, Vdbl): Add V4BF.
+       (V_INT_EQUIV, v_int_equiv): Add V4BF and V8BF.
+       * config/aarch64/arm_neon.h (bfloat16x4x2_t): New typedef.
+       (bfloat16x8x2_t): Likewise.
+       (bfloat16x4x3_t): Likewise.
+       (bfloat16x8x3_t): Likewise.
+       (bfloat16x4x4_t): Likewise.
+       (bfloat16x8x4_t): Likewise.
+       (vcombine_bf16): New.
+       (vld1_bf16, vld1_bf16_x2): New.
+       (vld1_bf16_x3, vld1_bf16_x4): New.
+       (vld1q_bf16, vld1q_bf16_x2): New.
+       (vld1q_bf16_x3, vld1q_bf16_x4): New.
+       (vld1_lane_bf16): New.
+       (vld1q_lane_bf16): New.
+       (vld1_dup_bf16): New.
+       (vld1q_dup_bf16): New.
+       (vld2_bf16): New.
+       (vld2q_bf16): New.
+       (vld2_dup_bf16): New.
+       (vld2q_dup_bf16): New.
+       (vld3_bf16): New.
+       (vld3q_bf16): New.
+       (vld3_dup_bf16): New.
+       (vld3q_dup_bf16): New.
+       (vld4_bf16): New.
+       (vld4q_bf16): New.
+       (vld4_dup_bf16): New.
+       (vld4q_dup_bf16): New.
+       (vst1_bf16, vst1_bf16_x2): New.
+       (vst1_bf16_x3, vst1_bf16_x4): New.
+       (vst1q_bf16, vst1q_bf16_x2): New.
+       (vst1q_bf16_x3, vst1q_bf16_x4): New.
+       (vst1_lane_bf16): New.
+       (vst1q_lane_bf16): New.
+       (vst2_bf16): New.
+       (vst2q_bf16): New.
+       (vst3_bf16): New.
+       (vst3q_bf16): New.
+       (vst4_bf16): New.
+       (vst4q_bf16): New.
+
+2020-02-25  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/aarch64/iterators.md (VDQF_F16) Add V4BF and V8BF.
+       (VALL_F16): Likewise.
+       (VALLDI_F16): Likewise.
+       (Vtype): Likewise.
+       (Vetype): Likewise.
+       (vswap_width_name): Likewise.
+       (VSWAP_WIDTH): Likewise.
+       (Vel): Likewise.
+       (VEL): Likewise.
+       (q): Likewise.
+       * config/aarch64/arm_neon.h (vset_lane_bf16, vsetq_lane_bf16): New.
+       (vget_lane_bf16, vgetq_lane_bf16): New.
+       (vcreate_bf16): New.
+       (vdup_n_bf16, vdupq_n_bf16): New.
+       (vdup_lane_bf16, vdup_laneq_bf16): New.
+       (vdupq_lane_bf16, vdupq_laneq_bf16): New.
+       (vduph_lane_bf16, vduph_laneq_bf16): New.
+       (vreinterpret_bf16_u8, vreinterpretq_bf16_u8): New.
+       (vreinterpret_bf16_u16, vreinterpretq_bf16_u16): New.
+       (vreinterpret_bf16_u32, vreinterpretq_bf16_u32): New.
+       (vreinterpret_bf16_u64, vreinterpretq_bf16_u64): New.
+       (vreinterpret_bf16_s8, vreinterpretq_bf16_s8): New.
+       (vreinterpret_bf16_s16, vreinterpretq_bf16_s16): New.
+       (vreinterpret_bf16_s32, vreinterpretq_bf16_s32): New.
+       (vreinterpret_bf16_s64, vreinterpretq_bf16_s64): New.
+       (vreinterpret_bf16_p8, vreinterpretq_bf16_p8): New.
+       (vreinterpret_bf16_p16, vreinterpretq_bf16_p16): New.
+       (vreinterpret_bf16_p64, vreinterpretq_bf16_p64): New
+       (vreinterpret_bf16_f16, vreinterpretq_bf16_f16): New
+       (vreinterpret_bf16_f32, vreinterpretq_bf16_f32): New.
+       (vreinterpret_bf16_f64, vreinterpretq_bf16_f64): New.
+       (vreinterpretq_bf16_p128): New.
+       (vreinterpret_s8_bf16, vreinterpretq_s8_bf16): New.
+       (vreinterpret_s16_bf16, vreinterpretq_s16_bf16): New.
+       (vreinterpret_s32_bf16, vreinterpretq_s32_bf16): New.
+       (vreinterpret_s64_bf16, vreinterpretq_s64_bf16): New.
+       (vreinterpret_u8_bf16, vreinterpretq_u8_bf16): New.
+       (vreinterpret_u16_bf16, vreinterpretq_u16_bf16): New.
+       (vreinterpret_u32_bf16, vreinterpretq_u32_bf16): New.
+       (vreinterpret_u64_bf16, vreinterpretq_u64_bf16): New.
+       (vreinterpret_p8_bf16, vreinterpretq_p8_bf16): New.
+       (vreinterpret_p16_bf16, vreinterpretq_p16_bf16): New.
+       (vreinterpret_p64_bf16, vreinterpretq_p64_bf16): New.
+       (vreinterpret_f32_bf16, vreinterpretq_f32_bf16): New.
+       (vreinterpret_f64_bf16,vreinterpretq_f64_bf16): New.
+       (vreinterpret_f16_bf16,vreinterpretq_f16_bf16): New.
+       (vreinterpretq_p128_bf16): New.
+
+2020-02-25  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm_neon.h (vbfdot_f32, vbfdotq_f32): New
+       (vbfdot_lane_f32, vbfdotq_laneq_f32): New.
+       (vbfdot_laneq_f32, vbfdotq_lane_f32): New.
+       * config/arm/arm_neon_builtins.def (vbfdot): New entry.
+       (vbfdot_lanev4bf, vbfdot_lanev8bf): Likewise.
+       * config/arm/iterators.md (VSF2BF): New attribute.
+       * config/arm/neon.md (neon_vbfdot<VCVTF:mode>): New entry.
+       (neon_vbfdot_lanev4bf<VCVTF:mode>): Likewise.
+       (neon_vbfdot_lanev8bf<VCVTF:mode>): Likewise.
+
+2020-02-25  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.md (required_for_purecode): New attribute.
+       (enabled): Handle required_for_purecode.
+       * config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to
+       work with -mpure-code.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/93908
+       * combine.c (find_split_point): For store into ZERO_EXTRACT, and src
+       with mask.
+
+2019-02-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
+
+2020-02-25  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * doc/install.texi (--enable-checking): Adjust wording.
+
+2020-02-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93868
+       * tree-vect-slp.c (slp_copy_subtree): New function.
+       (vect_attempt_slp_rearrange_stmts): Copy the SLP tree before
+       re-arranging stmts in it.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93874
+       * passes.c (pass_manager::dump_passes): Create a cgraph node for the
+       dummy function and remove it at the end.
+
+       PR translation/93864
+       * config/lm32/lm32.c (lm32_setup_incoming_varargs): Fix comment typo
+       paramter -> parameter.
+       * config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Likewise.
+       * ipa-prop.h (struct ipa_agg_replacement_value): Likewise.
+
+2020-02-24  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * doc/install.texi (--enable-checking): Properly document current
+       behavior.
+       (--enable-stage1-checking): Minor clarification about bootstrap.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       * doc/invoke.texi (-Wnanalyzer-tainted-array-index): Note that
+       -fanalyzer-checker=taint is also required.
+       (-fanalyzer-checker=): Note that providing this option enables the
+       given checker, and doing so may be required for checkers that are
+       disabled by default.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fanalyzer-verbosity=): "2" only shows
+       significant control flow events; add a "3" which shows all
+       control flow events; the old "3" becomes "4".
+
+2020-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Consider
+       pd.offset and pd.size to be counted in bits rather than bytes, add
+       support for maxsizei that is not a multiple of BITS_PER_UNIT and
+       handle bitfield stores and loads.
+       (vn_reference_lookup_3): Don't call ranges_known_overlap_p with
+       uncomparable quantities - bytes vs. bits.  Allow push_partial_def
+       on offsets/sizes that aren't multiple of BITS_PER_UNIT and adjust
+       pd.offset/pd.size to be counted in bits rather than bytes.
+       Formatting fix.  Rename shadowed len variable to buflen.
+
+2020-02-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+           Kugan Vivekandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       PR driver/47785
+       * gcc.c (putenv_COLLECT_AS_OPTIONS): New function.
+       (driver::main): Call putenv_COLLECT_AS_OPTIONS.
+       * opts-common.c (parse_options_from_collect_gcc_options): New function.
+       (prepend_xassembler_to_collect_as_options): Likewise.
+       * opts.h (parse_options_from_collect_gcc_options): Declare prototype.
+       (prepend_xassembler_to_collect_as_options): Likewise.
+       * lto-opts.c (lto_write_options): Stream assembler options
+       in COLLECT_AS_OPTIONS.
+       * lto-wrapper.c (xassembler_options_error): New static variable.
+       (get_options_from_collect_gcc_options): Move parsing options code to
+       parse_options_from_collect_gcc_options and call it.
+       (merge_and_complain): Validate -Xassembler options.
+       (append_compiler_options): Handle OPT_Xassembler.
+       (run_gcc): Append command line -Xassembler options to
+       collect_gcc_options.
+       * doc/invoke.texi: Add documentation about using Xassembler
+       options with LTO.
+
+2020-02-24  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_emit_float_compare): Change the code gen
+       for LTGT.
+       (riscv_rtx_costs): Update cost model for LTGT.
+
+2020-02-23  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93564
+       * ira-color.c (struct update_cost_queue_elem): New member start.
+       (queue_update_cost, get_next_update_cost): Add new arg start.
+       (allocnos_conflict_p): New function.
+       (update_costs_from_allocno): Add new arg conflict_cost_update_p.
+       Add checking conflicts with allocnos_conflict_p.
+       (update_costs_from_prefs, restore_costs_from_copies): Adjust
+       update_costs_from_allocno calls.
+       (update_conflict_hard_regno_costs): Add checking conflicts with
+       allocnos_conflict_p.  Adjust calls of queue_update_cost and
+       get_next_update_cost.
+       (assign_hard_reg): Adjust calls of queue_update_cost.  Add
+       debugging print.
+       (bucket_allocno_compare_func): Restore previous version.
+
+2020-02-21  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.c (pa_function_value): Fix check for word and
+       double-word size when handling aggregate return values.
+       * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate
+       that homogeneous SFmode and DFmode aggregates are passed and returned
+       in general registers.
+
+2020-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR translation/93759
+       * opts.c (print_filtered_help): Translate help before appending
+       messages to it rather than after that.
+
+2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/PR92989
+       * lra-lives.c (process_bb_lives): Restore the original order
+       of the bb liveness update.  Call make_hard_regno_dead for each
+       register clobbered at the start of an EH receiver.
+
+2020-02-18  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93763
+       * ipa-cp.c (self_recursively_generated_p): Mark self-dependent value as
+       self-recursively generated.
+
+2020-02-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/93860
+       * config/darwin-c.c (pop_field_alignment): Adjust quoting of
+       error string.
+
+2020-02-21  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * doc/sourcebuild.texi (arm_v8_1m_mve_ok):
+       Document new target supports option.
+
+2020-02-21  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm_neon.h (vmmlaq_s32, vmmlaq_u32, vusmmlaq_s32): New.
+       * config/arm/arm_neon_builtins.def (smmla, ummla, usmmla): New.
+       * config/arm/iterators.md (MATMUL): New iterator.
+       (sup): Add UNSPEC_MATMUL_S, UNSPEC_MATMUL_U, and UNSPEC_MATMUL_US.
+       (mmla_sfx): New attribute.
+       * config/arm/neon.md (neon_<sup>mmlav16qi): New.
+       * config/arm/unspecs.md (UNSPEC_MATMUL_S, UNSPEC_MATMUL_U): New.
+       (UNSPEC_MATMUL_US): New.
+
+2020-02-21  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm.md: Prevent scalar shifts from being used when big
+       endian is enabled.
+
+2020-02-21  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93586
+       * tree-ssa-alias.c (nonoverlapping_array_refs_p): Finish array walk
+       after mismatched array refs; do not sure type size information to
+       recover from unmatched referneces with !flag_strict_aliasing_p.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (gather_load<mode>): Rename to ...
+       (gather_load<mode>v64si): ... this and set operand 2 to V64SI.
+       (scatter_store<mode>): Rename to ...
+       (scatter_store<mode>v64si): ... this and set operand 1 to V64SI.
+       (scatter<mode>_exec): Delete. Move contents ...
+       (mask_scatter_store<mode>): ... here, and rename that to ...
+       (mask_gather_load<mode>v64si): ... this. Set operand 2 to V64SI.
+       Remove mode conversion.
+       (mask_gather_load<mode>): Rename to ...
+       (mask_scatter_store<mode>v64si): ... this. Set operand 1 to V64SI.
+       Remove mode conversion.
+       * config/gcn/gcn.c (gcn_expand_scaled_offsets): Remove mode conversion.
+
+2020-02-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93845
+       * tree-sra.c (verify_sra_access_forest): Only test access size of
+       scalar types.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align VGPR pairs.
+       * config/gcn/gcn-valu.md (addv64di3): Remove early-clobber.
+       (addv64di3_exec): Likewise.
+       (subv64di3): Likewise.
+       (subv64di3_exec): Likewise.
+       (addv64di3_zext): Likewise.
+       (addv64di3_zext_exec): Likewise.
+       (addv64di3_zext_dup): Likewise.
+       (addv64di3_zext_dup_exec): Likewise.
+       (addv64di3_zext_dup2): Likewise.
+       (addv64di3_zext_dup2_exec): Likewise.
+       (addv64di3_sext_dup2): Likewise.
+       (addv64di3_sext_dup2_exec): Likewise.
+       (<expander>v64di3): Likewise.
+       (<expander>v64di3_exec): Likewise.
+       (*<reduc_op>_dpp_shr_v64di): Likewise.
+       (*plus_carry_dpp_shr_v64di): Likewise.
+       * config/gcn/gcn.md (adddi3): Likewise.
+       (addptrdi3): Likewise.
+       (<expander>di3): Likewise.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (vec_seriesv64di): Use gen_vec_duplicatev64di.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Add SVE
+       support.  Use aarch64_emit_mult instead of emitting multiplication
+       instructions directly.
+       * config/aarch64/aarch64-sve.md (sqrt<mode>2, rsqrt<mode>2)
+       (@aarch64_rsqrte<mode>, @aarch64_rsqrts<mode>): New expanders.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_mult): New function.
+       (aarch64_emit_approx_div): Add SVE support.  Use aarch64_emit_mult
+       instead of emitting multiplication instructions directly.
+       * config/aarch64/iterators.md (SVE_COND_FP_BINARY_OPTAB): New iterator.
+       * config/aarch64/aarch64-sve.md (div<mode>3, @aarch64_frecpe<mode>)
+       (@aarch64_frecps<mode>): New expanders.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (AARCH64_APPROX_MODE): Operate
+       on and produce uint64_ts rather than ints.
+       (AARCH64_APPROX_NONE, AARCH64_APPROX_ALL): Change to uint64_ts.
+       (cpu_approx_modes): Change the fields from unsigned int to uint64_t.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Don't create
+       an unused xmsk register when handling approximate rsqrt.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted
+       flag_finite_math_only condition.
+
+2020-02-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93828
+       * config/i386/mmx.md (*vec_extractv2sf_1): Match source operand
+       to destination operand for shufps alternative.
+       (*vec_extractv2si_1): Ditto.
+
+2020-02-20  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/93658
+       * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
+       vector modes.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93831
+       * config/darwin.c (darwin_override_options): Change 64b to 64-bit mode.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93830
+       * common/config/avr/avr-common.c: Remote trailing "|".
+
+2020-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * collect2.c (maybe_run_lto_and_relink): Fix typo in
+       comment.
+
+2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93767
+       * tree-vect-data-refs.c (vect_compile_time_alias): Remove the
+       access-size bias from the offset calculations for negative strides.
+
+2020-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * collect2.c (c_file, o_file): Make const again.
+       (ldout,lderrout, dump_ld_file): Remove.
+       (tool_cleanup): Avoid calling not signal-safe functions.
+       (maybe_run_lto_and_relink): Avoid possible signal handler
+       access to unintialzed memory (lto_o_files).
+       (main): Avoid leaking temp files in $TMPDIR.
+       Initialize c_file/o_file with concat, which avoids exposing
+       uninitialized memory to signal handler, which calls unlink(!).
+       Avoid calling maybe_unlink when the main function returns,
+       since the atexit handler is already doing this.
+       * collect2.h (dump_ld_file, ldout, lderrout): Remove.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93776
+       * tree-sra.c (create_access): Do not create zero size accesses.
+       (get_access_for_expr): Do not search for zero sized accesses.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93667
+       * tree-sra.c (scalarizable_type_p): Return false if record fields
+       do not follow wach other.
+
+2020-01-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_output_move) Using fmv.x.w/fmv.w.x
+       rather than fmv.x.s/fmv.s.x.
+
+2020-02-18  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def
+       (intrinsic_vec_smult_lo_): New.
+       (intrinsic_vec_umult_lo_): Likewise.
+       (vec_widen_smult_hi_): Likewise.
+       (vec_widen_umult_hi_): Likewise.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_intrinsic_vec_<su>mult_lo_<mode>): New.
+       * config/aarch64/arm_neon.h (vmull_high_s8): Use intrinsics.
+       (vmull_high_s16): Likewise.
+       (vmull_high_s32): Likewise.
+       (vmull_high_u8): Likewise.
+       (vmull_high_u16): Likewise.
+       (vmull_high_u32): Likewise.
+       (vmull_s8): Likewise.
+       (vmull_s16): Likewise.
+       (vmull_s32): Likewise.
+       (vmull_u8): Likewise.
+       (vmull_u16): Likewise.
+       (vmull_u32): Likewise.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (stream_out_histogram_value): Restore LTO PGO
+       bootstrap by missing removal of invalid sanity check.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/92518
+       * ipa-icf-gimple.c (func_checker::compare_gimple_assign):
+       Always compare LHS of gimple_assign.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93583
+       * cgraph.c (cgraph_node::verify_node): Verify MALLOC attribute
+       and return type of functions.
+       * ipa-param-manipulation.c (ipa_param_adjustments::adjust_decl):
+       Drop MALLOC attribute for void functions.
+       * ipa-pure-const.c (funct_state_summary_t::duplicate): Drop
+       malloc_state for a new VOID clone.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/92924
+       * common.opt: Add -fprofile-reproducibility.
+       * doc/invoke.texi: Document it.
+       * value-prof.c (dump_histogram_value):
+       Document and support behavior for counters[0]
+       being a negative value.
+       (get_nth_most_common_value): Handle negative
+       counters[0] in respect to flag_profile_reproducible.
+
+2020-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/93797
+       * cgraph.c (verify_speculative_call): Use speculative_id instead of
+       speculative_uid in messages.  Remove trailing whitespace from error
+       message.  Use num_speculative_call_targets instead of
+       num_speculative_targets in a message.
+       (cgraph_node::verify_node): Use call_stmt instead of cal_stmt in
+       edge messages and stmt instead of cal_stmt in reference message.
+
+       PR tree-optimization/93780
+       * tree-ssa.c (non_rewritable_lvalue_p): Check valid_vector_subparts_p
+       before calling build_vector_type.
+       (execute_update_addresses_taken): Likewise.
+
+       PR driver/93796
+       * params.opt (-param=ipa-max-switch-predicate-bounds=): Fix help
+       typo, functoin -> function.
+       * tree.c (free_lang_data_in_decl): Fix comment typo,
+       functoin -> function.
+       * ipa-visibility.c (cgraph_externally_visible_p): Likewise.
+
+2020-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic.c (print_any_cwe): Don't call get_cwe_url if URLs
+       won't be printed.
+       (print_option_information): Don't call get_option_url if URLs
+       won't be printed.
+
+2020-02-17  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-emutls.c (new_emutls_decl, emutls_common_1): Complete
+       handling of register_common-less targets.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93760
+       * ipa-devirt.c (odr_types_equivalent_p): Fix grammar.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93755
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Fix double quotes.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR other/93756
+       * config/rx/elf.opt: Fix typo.
+
+2020-02-17  Richard Biener  <rguenther@suse.de>
+
+       PR c/86134
+       * opts-global.c (print_ignored_options): Use inform and
+       amend message.
+
+2020-02-17  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/93047
+       * config/rs6000/rs6000.md (untyped_call): Add emit_clobber.
+
+2020-02-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93743
+       * config/i386/i386.md (atan2xf3): Swap operands 1 and 2.
+       (atan2<mode>3): Update operand order in the call to gen_atan2xf3.
+
+2020-02-15  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Add -std=c++20.
+
+2020-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93744
+       * match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0,
+       A - ((A - B) & -(C cmp D)) -> (C cmp D) ? B : A,
+       A + ((B - A) & -(C cmp D)) -> (C cmp D) ? B : A): For GENERIC, make
+       sure @2 in the first and @1 in the other patterns has no side-effects.
+
+2020-02-15  David Malcolm  <dmalcolm@redhat.com>
+           Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR 87488
+       PR other/93168
+       * config.in (DIAGNOSTICS_URLS_DEFAULT): New define.
+       * configure.ac (--with-diagnostics-urls): New configuration
+       option, based on --with-diagnostics-color.
+       (DIAGNOSTICS_URLS_DEFAULT): New define.
+       * config.h: Regenerate.
+       * configure: Regenerate.
+       * diagnostic.c (diagnostic_urls_init): Handle -1 for
+       DIAGNOSTICS_URLS_DEFAULT from configure-time
+       --with-diagnostics-urls=auto-if-env by querying for a GCC_URLS
+       and TERM_URLS environment variable.
+       * diagnostic-url.h (diagnostic_url_format): New enum type.
+       (diagnostic_urls_enabled_p): rename to...
+       (determine_url_format): ... this, and change return type.
+       * diagnostic-color.c (parse_env_vars_for_urls): New helper function.
+       (auto_enable_urls): Disable URLs on xfce4-terminal, gnome-terminal,
+       the linux console, and mingw.
+       (diagnostic_urls_enabled_p): rename to...
+       (determine_url_format): ... this, and adjust.
+       * pretty-print.h (pretty_printer::show_urls): rename to...
+       (pretty_printer::url_format): ... this, and change to enum.
+       * pretty-print.c (pretty_printer::pretty_printer,
+       pp_begin_url, pp_end_url, test_urls): Adjust.
+       * doc/install.texi (--with-diagnostics-urls): Document the new
+       configuration option.
+       (--with-diagnostics-color): Document the existing interaction
+       with GCC_COLORS better.
+       * doc/invoke.texi (-fdiagnostics-urls): Add GCC_URLS and TERM_URLS
+       vindex reference.  Update description of defaults based on the above.
+       (-fdiagnostics-color): Update description of how -fdiagnostics-color
+       interacts with GCC_COLORS.
+
+2020-02-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/93704
+       * config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in
+       conjunction with TARGET_GNU_TLS in early return.
+
+2020-02-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * rtlanal.c (rtx_cost): Handle a SET up front. Avoid division if
+       the mode is not wider than UNITS_PER_WORD.
+
+2020-02-14  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93516
+       * tree-sra.c (propagate_subaccesses_from_rhs): Do not create
+       access of the same type as the parent.
+       (propagate_subaccesses_from_lhs): Likewise.
+
+2020-02-14 Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/93724
+       * config/i386/avx512vbmi2intrin.h
+       (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16,
+       _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
+       _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32,
+       _m512_shrdi_epi64, _m512_mask_shrdi_epi64,
+       _m512_maskz_shrdi_epi64, _mm512_shldi_epi16,
+       _mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16,
+       _mm512_shldi_epi32, _mm512_mask_shldi_epi32,
+       _mm512_maskz_shldi_epi32, _mm512_shldi_epi64,
+       _mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo
+       of lacking a closing parenthesis.
+       * config/i386/avx512vbmi2vlintrin.h
+       (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16,
+       _mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32,
+       _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32,
+       _m256_shrdi_epi64, _m256_mask_shrdi_epi64,
+       _m256_maskz_shrdi_epi64, _mm256_shldi_epi16,
+       _mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16,
+       _mm256_shldi_epi32, _mm256_mask_shldi_epi32,
+       _mm256_maskz_shldi_epi32, _mm256_shldi_epi64,
+       _mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64,
+       _mm_shrdi_epi16, _mm_mask_shrdi_epi16,
+       _mm_maskz_shrdi_epi16, _mm_shrdi_epi32,
+       _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32,
+       _mm_shrdi_epi64, _mm_mask_shrdi_epi64,
+       _m_maskz_shrdi_epi64, _mm_shldi_epi16,
+       _mm_mask_shldi_epi16, _mm_maskz_shldi_epi16,
+       _mm_shldi_epi32, _mm_mask_shldi_epi32,
+       _mm_maskz_shldi_epi32, _mm_shldi_epi64,
+       _mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto.
+
+2020-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93656
+       * config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at
+       the target function entry.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * common/config/arc/arc-common.c (arc_option_optimization_table):
+       Disable if-conversion step when optimized for size.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_conditional_register_usage): R0-R3 and
+       R12-R15 are always in ARCOMPACT16_REGS register class.
+       * config/arc/arc.opt (mq-class): Deprecate.
+       * config/arc/constraint.md ("q"): Remove dependency on mq-class
+       option.
+       * doc/invoke.texi (mq-class): Update text.
+       * common/config/arc/arc-common.c (arc_option_optimization_table):
+       Update list.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_insn_cost): New function.
+       (TARGET_INSN_COST): Define.
+       * config/arc/arc.md (cost): New attribute.
+       (add_n): Use arc_nonmemory_operand.
+       (ashlsi3_insn): Likewise, also update constraints.
+       (ashrsi3_insn): Likewise.
+       (rotrsi3): Likewise.
+       (add_shift): Likewise.
+       * config/arc/predicates.md (arc_nonmemory_operand): New predicate.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (mulsidi_600): Correctly select mlo/mhi
+       registers.
+       (umulsidi_600): Likewise.
+
+2020-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93696
+       * config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8,
+       _mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8,
+       _mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8,
+       _mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W,
+       pass __A to the builtin followed by __W instead of __A followed by
+       __B.
+       * config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32,
+       _mm512_mask_popcnt_epi64): Likewise.
+       * config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32,
+       _mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64,
+       _mm256_mask_popcnt_epi64): Likewise.
+
+       PR tree-optimization/93582
+       * fold-const.h (shift_bytes_in_array_left,
+       shift_bytes_in_array_right): Declare.
+       * fold-const.c (shift_bytes_in_array_left,
+       shift_bytes_in_array_right): New function, moved from
+       gimple-ssa-store-merging.c, no longer static.
+       * gimple-ssa-store-merging.c (shift_bytes_in_array): Move
+       to gimple-ssa-store-merging.c and rename to shift_bytes_in_array_left.
+       (shift_bytes_in_array_right): Move to gimple-ssa-store-merging.c.
+       (encode_tree_to_bitpos): Use shift_bytes_in_array_left instead of
+       shift_bytes_in_array.
+       (verify_shift_bytes_in_array): Rename to ...
+       (verify_shift_bytes_in_array_left): ... this.  Use
+       shift_bytes_in_array_left instead of shift_bytes_in_array.
+       (store_merging_c_tests): Call verify_shift_bytes_in_array_left
+       instead of verify_shift_bytes_in_array.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): For native_encode_expr
+       / native_interpret_expr where the store covers all needed bits,
+       punt on PDP-endian, otherwise allow all involved offsets and sizes
+       not to be byte-aligned.
+
+       PR target/93673
+       * config/i386/sse.md (k<code><mode>): Drop mode from last operand and
+       use const_0_to_255_operand predicate instead of immediate_operand.
+       (avx512dq_fpclass<mode><mask_scalar_merge_name>,
+       avx512dq_vmfpclass<mode><mask_scalar_merge_name>,
+       vgf2p8affineinvqb_<mode><mask_name>,
+       vgf2p8affineqb_<mode><mask_name>): Drop mode from
+       const_0_to_255_operand predicated operands.
+
+2020-02-12  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (comparison shortening peepholes): Use
+       a mode iterator to merge the HImode and SImode peepholes.
+
+2020-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93663
+       * real.c (is_even): Make static.  Function comment fix.
+       (is_halfway_below): Make static, don't assert R is not inf/nan,
+       instead return false for those.  Small formatting fixes.
+
+2020-02-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93646
+       * tree-ssa-strlen.c (handle_builtin_stxncpy): Rename...
+       (handle_builtin_stxncpy_strncat): ...to this.  Change first argument.
+       Issue only -Wstringop-overflow strncat, never -Wstringop-truncation.
+       (strlen_check_and_optimize_call): Adjust callee name.
+
+2020-02-12  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (comparison shortening peepholes): Drop
+       (and (xor)) variant.  Combine other two into single peephole.
+
+2020-02-12  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR rtl-optimization/93565
+       * config/aarch64/aarch64.c (aarch64_rtx_costs): Add CTZ costs.
+
+2020-02-12  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64-simd.md
+       (aarch64_zero_extend<GPI:mode>_reduc_plus_<VDQV_E:mode>): New pattern.
+       * config/aarch64/aarch64.md (popcount<mode>2): Use it instead of
+       generating separate ADDV and zero_extend patterns.
+       * config/aarch64/iterators.md (VDQV_E): New iterator.
+
+2020-02-12  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (cpymemsi, movmd): Remove dead patterns,
+       expanders, splits, etc.
+       (movmd_internal_<mode>, movmd splitter, movstr, movsd): Likewise.
+       (stpcpy_internal_<mode>, stpcpy splitter): Likewise.
+       (peepholes to convert QI/HI mode pushes to SI mode pushes): Likewise.
+       * config/h8300/h8300.c (h8300_swap_into_er6): Remove unused function.
+       (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise
+       * config/h8300/h8300-protos.h (h8300_swap_into_er6): Remove unused
+       function prototype.
+       (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise.
+
+2020-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93670
+       * config/i386/sse.md (VI48F_256_DQ): New mode iterator.
+       (avx512vl_vextractf128<mode>): Use it instead of VI48F_256.  Remove
+       TARGET_AVX512DQ from condition.
+       (vec_extract_lo_<mode><mask_name>): Use <mask_avx512dq_condition>
+       instead of <mask_mode512bit_condition> in condition.  If
+       TARGET_AVX512DQ is false, emit vextract*64x4 instead of
+       vextract*32x8.
+       (vec_extract_lo_<mode><mask_name>): Drop <mask_avx512dq_condition>
+       from condition.
+
+2020-02-12  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR target/91052
+       * ira.c (combine_and_move_insns): Skip multiple_sets def_insn.
+
+2020-02-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_debug_print_mode): Don't use sizeof
+       where strlen is more legible.
+       (rs6000_builtin_vectorized_libmass): Ditto.
+       (rs6000_print_options_internal): Ditto.
+
+2020-02-11  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93683
+       * tree-ssa-alias.c (stmt_kills_ref_p): Avoid using LHS when not set.
+
+2020-02-11  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/predicates.md (cint34_operand): Rename the
+       -mprefixed-addr option to be -mprefixed.
+       * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Rename
+       the -mprefixed-addr option to be -mprefixed.
+       (OTHER_FUTURE_MASKS): Likewise.
+       (POWERPC_MASKS): Likewise.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
+       the -mprefixed-addr option to be -mprefixed.  Change error
+       messages to refer to -mprefixed.
+       (num_insns_constant_gpr): Rename the -mprefixed-addr option to be
+       -mprefixed.
+       (rs6000_legitimate_offset_address_p): Likewise.
+       (rs6000_mode_dependent_address): Likewise.
+       (rs6000_opt_masks): Change the spelling of "-mprefixed-addr" to be
+       "-mprefixed" for target attributes and pragmas.
+       (address_to_insn_form): Rename the -mprefixed-addr option to be
+       -mprefixed.
+       (rs6000_adjust_insn_length): Likewise.
+       * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Rename the
+       -mprefixed-addr option to be -mprefixed.
+       (ASM_OUTPUT_OPCODE): Likewise.
+       * config/rs6000/rs6000.md (prefixed insn attribute): Rename the
+       -mprefixed-addr option to be -mprefixed.
+       * config/rs6000/rs6000.opt (-mprefixed): Rename the
+       -mprefixed-addr option to be prefixed.  Change the option from
+       being undocumented to being documented.
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Document the
+       -mprefixed option.  Update the -mpcrel documentation to mention
+       -mprefixed.
+
+2020-02-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       * ira-conflicts.c (print_hard_reg_set): Correct output for sets
+       including FIRST_PSEUDO_REGISTER - 1.
+       * ira-color.c (print_hard_reg_set): Ditto.
+
+2020-02-11  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config/arm/arm-builtins.c (enum arm_type_qualifiers): 
+       (USTERNOP_QUALIFIERS): New define.
+       (USMAC_LANE_QUADTUP_QUALIFIERS): New define.
+       (SUMAC_LANE_QUADTUP_QUALIFIERS): New define.
+       (arm_expand_builtin_args): Add case ARG_BUILTIN_LANE_QUADTUP_INDEX.
+       (arm_expand_builtin_1): Add qualifier_lane_quadtup_index.
+       * config/arm/arm_neon.h (vusdot_s32): New.
+       (vusdot_lane_s32): New.
+       (vusdotq_lane_s32): New.
+       (vsudot_lane_s32): New.
+       (vsudotq_lane_s32): New.
+       * config/arm/arm_neon_builtins.def (usdot, usdot_lane,sudot_lane): New.
+       * config/arm/iterators.md (DOTPROD_I8MM): New.
+       (sup, opsuffix): Add <us/su>.
+       * config/arm/neon.md (neon_usdot, <us/su>dot_lane: New.
+       * config/arm/unspecs.md (UNSPEC_DOT_US, UNSPEC_DOT_SU): New.
+
+2020-02-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93661
+       PR tree-optimization/93662
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Properly guard
+       tree_to_poly_int64.
+       * tree-sra.c (get_access_for_expr): Likewise.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93637
+       * config/i386/sse.md (VI_256_AVX2): New mode iterator.
+       (vcond_mask_<mode><sseintvecmodelower>): Use it instead of VI_256.
+       Change condition from TARGET_AVX2 to TARGET_AVX.
+
+2020-02-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR other/93641
+       * config/darwin-c.c (darwin_cfstring_ref_p): Fix up last
+       argument of strncmp.
+
+2020-02-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       Try to generate zero-based comparisons.
+       * config/cris/cris.c (cris_reduce_compare): New function.
+       * config/cris/cris-protos.h  (cris_reduce_compare): Add prototype.
+       * config/cris/cris.md ("cbranch<mode>4", "cbranchdi4", "cstoredi4")
+       (cstore<mode>4"): Apply cris_reduce_compare in expanders.
+
+2020-02-10  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/91913
+       * config/arm/arm.md (movsi_compare0): Allow SP as a source register
+       in Thumb state and also as a destination in Arm state.  Add T16
+       variants.
+
+2020-02-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * md.texi (Define Subst): Match closing paren in example.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/58218
+       PR other/93641
+       * config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last
+       arguments of strncmp.
+
+2020-02-10  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93203
+       * ipa-cp.c (ipcp_lattice::add_value): Add source with same call edge
+       but different source value.
+       (adjust_callers_for_value_intersection): New function.
+       (gather_edges_for_value): Adjust order of callers to let a
+       non-self-recursive caller be the first element.
+       (self_recursive_pass_through_p): Add a new parameter "simple", and
+       check generalized self-recursive pass-through jump function.
+       (self_recursive_agg_pass_through_p): Likewise.
+       (find_more_scalar_values_for_callers_subset): Compute value from
+       pass-through jump function for self-recursive.
+       (intersect_with_plats): Cleanup previous implementation code for value
+       itersection with self-recursive call edge.
+       (intersect_with_agg_replacements): Likewise.
+       (intersect_aggregates_with_edge): Deduce value from pass-through jump
+       function for self-recursive call edge.  Cleanup previous implementation
+       code for value intersection with self-recursive call edge.
+       (decide_whether_version_node): Remove dead callers and adjust order
+       to let a non-self-recursive caller be the first element.
+
+2020-02-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * recog.c: Move pass_split_before_sched2 code in front of
+       pass_split_before_regstack.
+       (pass_data_split_before_sched2): Rename pass to split3 from split4.
+       (pass_data_split_before_regstack): Rename pass to split4 from split3.
+       (rest_of_handle_split_before_sched2): Remove.
+       (pass_split_before_sched2::execute): Unconditionally call
+       split_all_insns.
+       (enable_split_before_sched2): New function.
+       (pass_split_before_sched2::gate): Use enable_split_before_sched2.
+       (pass_split_before_regstack::gate): Ditto.
+       * config/nds32/nds32.c (nds32_split_double_word_load_store_p):
+       Update name check for renamed split4 pass.
+       * config/sh/sh.c (register_sh_passes): Update pass insertion
+       point for renamed split4 pass.
+
+2020-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_adjust_omp_clauses_1): Promote
+       DECL_IN_CONSTANT_POOL variables into "omp declare target" to avoid
+       copying them around between host and target.
+
+2020-02-08  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/91927
+       * config/aarch64/aarch64-simd.md (movmisalign<mode>): Check
+       STRICT_ALIGNMENT also.
+
+2020-02-08  Jim Wilson  <jimw@sifive.com>
+
+       PR target/93532
+       * config/riscv/riscv.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
+
+2020-02-08  Uroš Bizjak  <ubizjak@gmail.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/65782
+       * config/i386/i386.h (CALL_USED_REGISTERS): Make
+       xmm16-xmm31 call-used even in 64-bit ms-abi.
+
+2020-02-07  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (simd_smmla): New entry.
+       (simd_ummla, simd_usmmla): Likewise.
+       * config/aarch64/aarch64-simd.md (aarch64_simd_<sur>mmlav16qi): New.
+       * config/aarch64/arm_neon.h (vmmlaq_s32, vmmlaq_u32): New.
+       (vusmmlaq_s32): New.
+
+2020-02-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93519
+       * tree-inline.c (fold_marked_statements): Do a PRE walk,
+       skipping unreachable regions.
+       (optimize_inline_calls): Skip folding stmts when we didn't
+       inline.
+
+2020-02-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/85667
+       * config/i386/i386.c (function_arg_ms_64): Add a type argument.
+       Don't return aggregates with only SFmode and DFmode in SSE
+       register.
+       (ix86_function_arg): Pass arg.type to function_arg_ms_64.
+
+2020-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93122
+       * config/rs6000/rs6000-logue.c
+       (rs6000_emit_probe_stack_range_stack_clash): Always use gen_add3_insn,
+       if it fails, move rs into end_addr and retry.  Add
+       REG_FRAME_RELATED_EXPR note whenever it returns more than one insn or
+       the insn pattern doesn't describe well what exactly happens to
+       dwarf2cfi.c.
+
+       PR target/93594
+       * config/i386/predicates.md (avx_identity_operand): Remove.
+       * config/i386/sse.md (*avx_vec_concat<mode>_1): Remove.
+       (avx_<castmode><avxsizesuffix>_<castmode>,
+       avx512f_<castmode><avxsizesuffix>_256<castmode>): Change patterns to
+       a VEC_CONCAT of the operand and UNSPEC_CAST.
+       (avx512f_<castmode><avxsizesuffix>_<castmode>): Change pattern to
+       a VEC_CONCAT of VEC_CONCAT of the operand and UNSPEC_CAST with
+       UNSPEC_CAST.
+
+       PR target/93611
+       * config/i386/i386.c (ix86_lea_outperforms): Make sure to clear
+       recog_data.insn if distance_non_agu_define changed it.
+
+2020-02-06  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/93569
+       * config/rs6000/rs6000.c (reg_to_non_prefixed): Before ISA 3.0
+       we only had X-FORM (reg+reg) addressing for vectors.  Also before
+       ISA 3.0, we only had X-FORM addressing for scalars in the
+       traditional Altivec registers.
+
+2020-02-06  <zhongyunde@huawei.com>
+           Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93561
+       * lra-assigns.c (spill_for): Check that tested hard regno is not out of
+       hard register range.
+
+2020-02-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (aarch64_movk<mode>): Add a type
+       attribute.
+
+2020-02-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Handle the case
+       where the low and the high 32 bits are equal to each other specially,
+       with an rldimi instruction.
+
+2020-02-06  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm-cpus.in: Set profile M for armv8.1-m.main.
+
+2020-02-06  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm-tables.opt: Regenerate.
+
+2020-02-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/87763
+       * config/aarch64/aarch64-protos.h (aarch64_movk_shift): Declare.
+       * config/aarch64/aarch64.c (aarch64_movk_shift): New function.
+       * config/aarch64/aarch64.md (aarch64_movk<mode>): New pattern.
+
+2020-02-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/87763
+       * config/aarch64/aarch64.md (*ashiftsi_extvdi_bfiz): New pattern.
+
+2020-02-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def
+       (bfmlaq): New built-in function.
+       (bfmlalb): New built-in function.
+       (bfmlalt): New built-in function.
+       (bfmlalb_lane): New built-in function.
+       (bfmlalt_lane): New built-in function.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_bfmmlaqv4sf): New pattern.
+       (aarch64_bfmlal<bt>v4sf): New pattern.
+       (aarch64_bfmlal<bt>_lane<q>v4sf): New pattern.
+       * config/aarch64/arm_neon.h (vbfmmlaq_f32): New intrinsic.
+       (vbfmlalbq_f32): New intrinsic.
+       (vbfmlaltq_f32): New intrinsic.
+       (vbfmlalbq_lane_f32): New intrinsic.
+       (vbfmlaltq_lane_f32): New intrinsic.
+       (vbfmlalbq_laneq_f32): New intrinsic.
+       (vbfmlaltq_laneq_f32): New intrinsic.
+       * config/aarch64/iterators.md (BF_MLA): New int iterator.
+       (bt): New int attribute.
+
+2020-02-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*pushtf): Emit "#" instead of
+       calling gcc_unreachable in insn output.
+       (*pushxf): Ditto.
+       (*pushdf): Ditto.
+       (*pushsf_rex64): Ditto for alternatives other than 1.
+       (*pushsf): Ditto for alternatives other than 1.
+
+2020-02-06  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/91971
+       PR gcov-profile/93466
+       * coverage.c (coverage_init): Revert mangling of
+       path into filename.  It can lead to huge filename length.
+       Creation of subfolders seem more natural.
+
+2020-02-06  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR target/93300
+       * config/arm/arm.c (arm_block_arith_comp_libfuncs_for_mode): New.
+       (arm_init_libfuncs): Add BFmode support to block spurious BF libfuncs.
+       Use arm_block_arith_comp_libfuncs_for_mode for HFmode.
+
+2020-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93594
+       * config/i386/predicates.md (avx_identity_operand): New predicate.
+       * config/i386/sse.md (*avx_vec_concat<mode>_1): New
+       define_insn_and_split.
+
+       PR libgomp/93515
+       * omp-low.c (use_pointer_for_field): For nested constructs, also
+       look for map clauses on target construct.
+       (scan_omp_1_stmt) <case GIMPLE_OMP_TARGET>: Bump temporarily
+       taskreg_nesting_level.
+
+       PR libgomp/93515
+       * gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
+       shared clause, call omp_notice_variable on outer context if any.
+
+2020-02-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92003
+       * symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has
+       non-zero address even if weak and not yet defined.
+
+2020-02-05  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/92765
+       * gimple-fold.c (get_range_strlen_tree): Handle MEM_REF and PARM_DECL.
+       * tree-ssa-strlen.c (compute_string_length): Remove.
+       (determine_min_objsize): Remove.
+       (get_len_or_size): Add an argument.  Call get_range_strlen_dynamic.
+       Avoid using type size as the upper bound on string length.
+       (handle_builtin_string_cmp): Add an argument.  Adjust.
+       (strlen_check_and_optimize_call): Pass additional argument to
+       handle_builtin_string_cmp.
+
+2020-02-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*pushdi2_rex64 peephole2): Remove.
+       (*pushdi2_rex64 peephole2): Unconditionally split after
+       epilogue_completed.
+       (*ashl<mode>3_doubleword): Ditto.
+       (*<shift_insn><mode>3_doubleword): Ditto.
+
+2020-02-05  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/93568
+       * config/rs6000/rs6000.c (get_vector_offset): Fix
+
+2020-02-05  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Use / not space.
+
+2020-02-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi
+       (Special Functions for Debugging the Analyzer): Update description
+       of __analyzer_dump_exploded_nodes.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/92190
+       * config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper): Only
+       include sets and not clobbers in the vzeroupper pattern.
+       * config/i386/sse.md (*avx_vzeroupper): Require in insn condition that
+       the parallel has 17 (64-bit) or 9 (32-bit) elts.
+       (*avx_vzeroupper_1): New define_insn_and_split.
+
+       PR target/92190
+       * recog.c (pass_split_after_reload::gate): For STACK_REGS targets,
+       don't run when !optimize.
+       (pass_split_before_regstack::gate): For STACK_REGS targets, run even
+       when !optimize.
+
+2020-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90648
+       * genmatch.c (dt_node::gen_kids_1): Emit number of argument
+       checks before matching calls.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-alias.c (aliasing_matching_component_refs_p): Fix up
+       function comment typo.
+
+       PR middle-end/93555
+       * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or
+       simd_clone_create failed when i == 0, adjust clone->nargs by
+       clone->inbranch.
+
+2020-02-05  Martin Liska  <mliska@suse.cz>
+
+       PR c++/92717
+       * doc/invoke.texi: Document that one should
+       not combine ASLR and -fpch.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93538
+       * match.pd (addr EQ/NE ptr): Amend to handle &ptr->x EQ/NE ptr.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/91123
+       * tree-ssa-sccvn.c (vn_walk_cb_data::finish): New method.
+       (vn_walk_cb_data::last_vuse): New member.
+       (vn_walk_cb_data::saved_operands): Likewsie.
+       (vn_walk_cb_data::~vn_walk_cb_data): Release saved_operands.
+       (vn_walk_cb_data::push_partial_def): Use finish.
+       (vn_reference_lookup_2): Update last_vuse and use finish if
+       we've saved operands.
+       (vn_reference_lookup_3): Use finish and update calls to
+       push_partial_defs everywhere.  When translating through
+       memcpy or aggregate copies save off operands and alias-set.
+       (eliminate_dom_walker::eliminate_stmt): Restore VN_WALKREWRITE
+       operation for redundant store removal.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92819
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Avoid
+       generating more stmts than before.
+
+2020-02-04  Martin Liska  <mliska@suse.cz>
+
+       * config/arm/arm.c (arm_gen_far_branch): Move the function
+       outside of selftests.
+
+2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (adjust_vec_address_pcrel): New helper
+       function to adjust PC-relative vector addresses.
+       (rs6000_adjust_vec_address): Call adjust_vec_address_pcrel to
+       handle vectors with PC-relative addresses.
+
+2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (reg_to_non_prefixed): Add forward
+       reference.
+       (hard_reg_and_mode_to_addr_mask): Delete.
+       (rs6000_adjust_vec_address): If the original vector address
+       was REG+REG or REG+OFFSET and the element is not zero, do the add
+       of the elements in the original address before adding the offset
+       for the vector element.  Use address_to_insn_form to validate the
+       address using the register being loaded, rather than guessing
+       whether the address is a DS-FORM or DQ-FORM address.
+
+2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (get_vector_offset): New helper function
+       to calculate the offset in memory from the start of a vector of a
+       particular element.  Add code to keep the element number in
+       bounds if the element number is variable.
+       (rs6000_adjust_vec_address): Move calculation of offset of the
+       vector element to get_vector_offset.
+       (rs6000_split_vec_extract_var): Do not do the initial AND of
+       element here, move the code to get_vector_offset.
+
+2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add some
+       gcc_asserts.
+
+2020-02-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md: Improve documentation.
+
+2020-02-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/93548
+       * config/arm/t-arm: ($(srcdir)/config/arm/arm-tune.md)
+       ($(srcdir)/config/arm/arm-tables.opt): Use move-if-change.
+
+2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.gcc: Remove "carrizo" support.
+       * config/gcn/gcn-opts.h (processor_type): Likewise.
+       * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Likewise.
+       * config/gcn/gcn.opt (gpu_type): Likewise.
+       * config/gcn/t-omp-device: Likewise.
+
+2020-02-03  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR target/91816
+       * config/arm/arm-protos.h: New function arm_gen_far_branch prototype.
+       * config/arm/arm.c (arm_gen_far_branch): New function
+       arm_gen_far_branch.
+       * config/arm/arm.md: Update b<cond> for Thumb2 range checks.
+
+2020-02-03  Julian Brown  <julian@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi: Update mention of OpenACC version to 2.6.
+
+2020-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93533
+       * config/s390/s390.md (popcounthi2_z196): Fix up expander to emit
+       valid RTL to sum up the lowest and second lowest bytes of the popcnt
+       result.
+
+2020-02-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/91333
+       * ira-color.c (struct allocno_color_data): Add member
+       hard_reg_prefs.
+       (init_allocno_threads): Set the member up.
+       (bucket_allocno_compare_func): Add compare hard reg
+       prefs.
+
+2020-01-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+       nios2: Support for GOT-relative DW_EH_PE_datarel encoding.
+
+       * configure.ac [nios2-*-*]: Check HAVE_AS_NIOS2_GOTOFF_RELOCATION.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+       * config/nios2/nios2.h (ASM_PREFERRED_EH_DATA_FORMAT): Fix handling
+       for PIC when HAVE_AS_NIOS2_GOTOFF_RELOCATION.
+       (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
+
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * configure: Regenerate.
+
+2020-01-31  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/91333
+       * ira-color.c (bucket_allocno_compare_func): Move conflict hard
+       reg preferences comparison up.
+
+2020-01-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.h (TARGET_SVE_BF16): New macro.
+       * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtnt): Move to
+       aarch64-sve-builtins-base.h.
+       * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtnt): Move to
+       aarch64-sve-builtins-base.cc.
+       * config/aarch64/aarch64-sve-builtins-base.h (svbfdot, svbfdot_lane)
+       (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
+       (svcvtnt): Declare.
+       * config/aarch64/aarch64-sve-builtins-base.cc (svbfdot, svbfdot_lane)
+       (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
+       (svcvtnt): New functions.
+       * config/aarch64/aarch64-sve-builtins-base.def (svbfdot, svbfdot_lane)
+       (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
+       (svcvtnt): New functions.
+       (svcvt): Add a form that converts f32 to bf16.
+       * config/aarch64/aarch64-sve-builtins-shapes.h (ternary_bfloat)
+       (ternary_bfloat_lane, ternary_bfloat_lanex2, ternary_bfloat_opt_n):
+       Declare.
+       * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_element_type):
+       Treat B as bfloat16_t.
+       (ternary_bfloat_lane_base): New class.
+       (ternary_bfloat_def): Likewise.
+       (ternary_bfloat): New shape.
+       (ternary_bfloat_lane_def): New class.
+       (ternary_bfloat_lane): New shape.
+       (ternary_bfloat_lanex2_def): New class.
+       (ternary_bfloat_lanex2): New shape.
+       (ternary_bfloat_opt_n_def): New class.
+       (ternary_bfloat_opt_n): New shape.
+       * config/aarch64/aarch64-sve-builtins.cc (TYPES_cvt_bfloat): New macro.
+       * config/aarch64/aarch64-sve.md (@aarch64_sve_<sve_fp_op>vnx4sf)
+       (@aarch64_sve_<sve_fp_op>_lanevnx4sf): New patterns.
+       (@aarch64_sve_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>)
+       (@cond_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>): Likewise.
+       (*cond_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>): Likewise.
+       (@aarch64_sve_cvtnt<VNx8BF_ONLY:mode>): Likewise.
+       * config/aarch64/aarch64-sve2.md (@aarch64_sve2_cvtnt<mode>): Key
+       the pattern off the narrow mode instead of the wider one.
+       * config/aarch64/iterators.md (VNx8BF_ONLY): New mode iterator.
+       (UNSPEC_BFMLALB, UNSPEC_BFMLALT, UNSPEC_BFMMLA): New unspecs.
+       (sve_fp_op): Handle them.
+       (SVE_BFLOAT_TERNARY_LONG): New int itertor.
+       (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise.
+
+2020-01-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/arm_sve.h: Include arm_bf16.h.
+       * config/aarch64/aarch64-modes.def (BF): Move definition before
+       VECTOR_MODES.  Remove separate VECTOR_MODES for V4BF and V8BF.
+       (SVE_MODES): Handle BF modes.
+       * config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle
+       BF modes.
+       (aarch64_full_sve_mode): Likewise.
+       * config/aarch64/iterators.md (SVE_STRUCT): Add VNx16BF, VNx24BF
+       and VNx32BF.
+       (SVE_FULL, SVE_FULL_HSD, SVE_ALL): Add VNx8BF.
+       (Vetype, Vesize, Vctype, VEL, Vel, VEL_INT, V128, v128, vwcore)
+       (V_INT_EQUIV, v_int_equiv, V_FP_EQUIV, v_fp_equiv, vector_count)
+       (insn_length, VSINGLE, vsingle, VPRED, vpred, VDOUBLE): Handle the
+       new SVE BF modes.
+       * config/aarch64/aarch64-sve-builtins.h (TYPE_bfloat): New
+       type_class_index.
+       * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_arith): New macro.
+       (TYPES_all_data): Add bf16.
+       (TYPES_reinterpret1, TYPES_reinterpret): Likewise.
+       (register_tuple_type): Increase buffer size.
+       * config/aarch64/aarch64-sve-builtins.def (svbfloat16_t): New type.
+       (bf16): New type suffix.
+       * config/aarch64/aarch64-sve-builtins-base.def (svabd, svadd, svaddv)
+       (svcmpeq, svcmpge, svcmpgt, svcmple, svcmplt, svcmpne, svmad, svmax)
+       (svmaxv, svmin, svminv, svmla, svmls, svmsb, svmul, svsub, svsubr):
+       Change type from all_data to all_arith.
+       * config/aarch64/aarch64-sve-builtins-sve2.def (svaddp, svmaxp)
+       (svminp): Likewise.
+
+2020-01-31  Dennis Zhang  <dennis.zhang@arm.com>
+           Matthew Malcomson  <matthew.malcomson@arm.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi (f32mm): Document new AArch64 -march= extension.
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
+       __ARM_FEATURE_SVE_MATMUL_INT8, __ARM_FEATURE_SVE_MATMUL_FP32 and
+       __ARM_FEATURE_SVE_MATMUL_FP64 as appropriate.  Don't define
+       __ARM_FEATURE_MATMUL_FP64.
+       * config/aarch64/aarch64-option-extensions.def (fp, simd, fp16)
+       (sve): Add AARCH64_FL_F32MM to the list of extensions that should
+       be disabled at the same time.
+       (f32mm): New extension.
+       * config/aarch64/aarch64.h (AARCH64_FL_F32MM): New macro.
+       (AARCH64_FL_F64MM): Bump to the next bit up.
+       (AARCH64_ISA_F32MM, TARGET_SVE_I8MM, TARGET_F32MM, TARGET_SVE_F32MM)
+       (TARGET_SVE_F64MM): New macros.
+       * config/aarch64/iterators.md (SVE_MATMULF): New mode iterator.
+       (UNSPEC_FMMLA, UNSPEC_SMATMUL, UNSPEC_UMATMUL, UNSPEC_USMATMUL)
+       (UNSPEC_TRN1Q, UNSPEC_TRN2Q, UNSPEC_UZP1Q, UNSPEC_UZP2Q, UNSPEC_ZIP1Q)
+       (UNSPEC_ZIP2Q): New unspeccs.
+       (DOTPROD_US_ONLY, PERMUTEQ, MATMUL, FMMLA): New int iterators.
+       (optab, sur, perm_insn): Handle the new unspecs.
+       (sve_fp_op): Handle UNSPEC_FMMLA.  Resort.
+       * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use
+       TARGET_SVE_F64MM instead of separate tests.
+       (@aarch64_<DOTPROD_US_ONLY:sur>dot_prod<vsi2qi>): New pattern.
+       (@aarch64_<DOTPROD_US_ONLY:sur>dot_prod_lane<vsi2qi>): Likewise.
+       (@aarch64_sve_add_<MATMUL:optab><vsi2qi>): Likewise.
+       (@aarch64_sve_<FMMLA:sve_fp_op><mode>): Likewise.
+       (@aarch64_sve_<PERMUTEQ:optab><mode>): Likewise.
+       * config/aarch64/aarch64-sve-builtins.cc (TYPES_s_float): New macro.
+       (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): Use it.
+       (TYPES_s_signed): New macro.
+       (TYPES_s_integer): Use it.
+       (TYPES_d_float): New macro.
+       (TYPES_d_data): Use it.
+       * config/aarch64/aarch64-sve-builtins-shapes.h (mmla): Declare.
+       (ternary_intq_uintq_lane, ternary_intq_uintq_opt_n, ternary_uintq_intq)
+       (ternary_uintq_intq_lane, ternary_uintq_intq_opt_n): Likewise.
+       * config/aarch64/aarch64-sve-builtins-shapes.cc (mmla_def): New class.
+       (svmmla): New shape.
+       (ternary_resize2_opt_n_base): Add TYPE_CLASS2 and TYPE_CLASS3
+       template parameters.
+       (ternary_resize2_lane_base): Likewise.
+       (ternary_resize2_base): New class.
+       (ternary_qq_lane_base): Likewise.
+       (ternary_intq_uintq_lane_def): Likewise.
+       (ternary_intq_uintq_lane): New shape.
+       (ternary_intq_uintq_opt_n_def): New class
+       (ternary_intq_uintq_opt_n): New shape.
+       (ternary_qq_lane_def): Inherit from ternary_qq_lane_base.
+       (ternary_uintq_intq_def): New class.
+       (ternary_uintq_intq): New shape.
+       (ternary_uintq_intq_lane_def): New class.
+       (ternary_uintq_intq_lane): New shape.
+       (ternary_uintq_intq_opt_n_def): New class.
+       (ternary_uintq_intq_opt_n): New shape.
+       * config/aarch64/aarch64-sve-builtins-base.h (svmmla, svsudot)
+       (svsudot_lane, svtrn1q, svtrn2q, svusdot, svusdot_lane, svusmmla)
+       (svuzp1q, svuzp2q, svzip1q, svzip2q): Declare.
+       * config/aarch64/aarch64-sve-builtins-base.cc (svdot_lane_impl):
+       Generalize to...
+       (svdotprod_lane_impl): ...this new class.
+       (svmmla_impl, svusdot_impl): New classes.
+       (svdot_lane): Update to use svdotprod_lane_impl.
+       (svmmla, svsudot, svsudot_lane, svtrn1q, svtrn2q, svusdot)
+       (svusdot_lane, svusmmla, svuzp1q, svuzp2q, svzip1q, svzip2q): New
+       functions.
+       * config/aarch64/aarch64-sve-builtins-base.def (svmmla): New base
+       function, with no types defined.
+       (svmmla, svusmmla, svsudot, svsudot_lane, svusdot, svusdot_lane): New
+       AARCH64_FL_I8MM functions.
+       (svmmla): New AARCH64_FL_F32MM function.
+       (svld1ro): Depend only on AARCH64_FL_F64MM, not on AARCH64_FL_V8_6.
+       (svmmla, svtrn1q, svtrn2q, svuz1q, svuz2q, svzip1q, svzip2q): New
+       AARCH64_FL_F64MM function.
+       (REQUIRED_EXTENSIONS):
+
+2020-01-31  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (addv64di3_exec): Allow one '0' in each
+       alternative only.
+
+2020-01-31  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movoi_internal_avx): Do not check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.  Remove MODE_V8SF handling.
+       (*movti_internal): Do not check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
+       (*movtf_internal): Move check for TARGET_SSE2 and size optimization
+       just after check for TARGET_AVX.
+       (*movdf_internal): Ditto.
+       * config/i386/mmx.md (*mov<mode>_internal): Do not check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
+       * config/i386/sse.md (mov<mode>_internal): Only check
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL with V2DFmode.  Move check
+       for TARGET_SSE2 and size optimization just after check for TARGET_AVX.
+       (<sse>_andnot<mode>3<mask_name>): Move check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL after check for TARGET_AVX.
+       (<code><mode>3<mask_name>): Ditto.
+       (*andnot<mode>3): Ditto.
+       (*andnottf3): Ditto.
+       (*<code><mode>3): Ditto.
+       (*<code>tf3): Ditto.
+       (*andnot<VI:mode>3): Remove
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling.
+       (<mask_codefor><code><VI48_AVX_AVX512F:mode>3<mask_name>): Ditto.
+       (*<code><VI12_AVX_AVX512F:mode>3): Ditto.
+       (sse4_1_blendv<ssemodesuffix>): Ditto.
+       * config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL):
+       Explain that tune applies to 128bit instructions only.
+
+2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * config/gcn/mkoffload.c (process_asm): Add sgpr_count and vgpr_count
+       to definition of hsa_kernel_description.  Parse assembly to find SGPR
+       and VGPR count of kernel and store in hsa_kernel_description.
+
+2020-01-31  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/91838
+       * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case
+       to truncate if allowed or reject combination.
+
+2020-01-31  Andrew Stubbs  <ams@codesourcery.com>
+
+       * tree-ssa-loop-ivopts.c (get_iv): Use sizetype for zero-step.
+       (find_inv_vars_cb): Likewise.
+
+2020-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+       * calls.c (special_function_p): Split out the check for DECL_NAME
+       being non-NULL and fndecl being extern at file scope into a
+       new maybe_special_function_p and call it.  Drop check for fndecl
+       being non-NULL that was after a usage of DECL_NAME (fndecl).
+       * tree.h (maybe_special_function_p): New inline function.
+
+2020-01-30  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (gather<mode>_exec): Move contents ...
+       (mask_gather_load<mode>): ... here, and zero-initialize the
+       destination.
+       (maskload<mode>di): Zero-initialize the destination.
+       * config/gcn/gcn.c:
+
+2020-01-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93356
+       * doc/analyzer.texi (Limitations): Note that constraints on
+       floating-point values are currently ignored.
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/93384
+       * symtab.c (symtab_node::noninterposable_alias): If localalias
+       already exists, but is not usable, append numbers after it until
+       a unique name is found.  Formatting fix.
+
+       PR middle-end/93505
+       * combine.c (simplify_comparison) <case ROTATE>: Punt on out of range
+       rotate counts.
+
+2020-01-30  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (print_operand): Handle LTGT.
+       * config/gcn/predicates.md (gcn_fp_compare_operator): Allow ltgt.
+
+2020-01-30  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST
+       and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.
+
+2020-01-30  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
+       without a DECL in .data.rel.ro.local.
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93494
+       * config/arm/arm.md (uaddvdi4): Actually emit what gen_uaddvsi4
+       returned.
+
+       PR target/91824
+       * config/i386/sse.md
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext): Renamed to ...
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext): ... this.  Use
+       any_extend code iterator instead of always zero_extend.
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext_lt): Renamed to ...
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_lt): ... this.
+       Use any_extend code iterator instead of always zero_extend.
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext_shift): Renamed to ...
+       (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_shift): ... this.
+       Use any_extend code iterator instead of always zero_extend.
+       (*sse2_pmovmskb_ext): New define_insn.
+       (*sse2_pmovmskb_ext_lt): New define_insn_and_split.
+
+       PR target/91824
+       * config/i386/i386.md (*popcountsi2_zext): New define_insn_and_split.
+       (*popcountsi2_zext_falsedep): New define_insn.
+
+2020-01-30  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
+
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR bootstrap/93409
+       * config/gcn/gcn-hsa.h (ASM_SPEC): Add -mattr=-code-object-v3 as
+       LLVM's assembler changed the default in version 9.
+
+2020-01-24  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/89689
+       * builtins.def (BUILT_IN_OBJECT_SIZE): Make it const rather than pure.
+
+2020-01-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       Revert:
+
+       2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/87763
+       * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract
+       simplification to handle subregs as well as bare regs.
+       * config/i386/i386.md (*testqi_ext_3): Match QI extracts too.
+
+2020-01-29  Joel Hutton  <Joel.Hutton@arm.com>
+
+       PR target/93221
+       * ira.c (ira): Revert use of simplified LRA algorithm.
+
+2020-01-29  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/92706
+       * tree-sra.c (struct access): Fields first_link, last_link,
+       next_queued and grp_queued renamed to first_rhs_link, last_rhs_link,
+       next_rhs_queued and grp_rhs_queued respectively, new fields
+       first_lhs_link, last_lhs_link, next_lhs_queued and grp_lhs_queued.
+       (struct assign_link): Field next renamed to next_rhs, new field
+       next_lhs.  Updated comment.
+       (work_queue_head): Renamed to rhs_work_queue_head.
+       (lhs_work_queue_head): New variable.
+       (add_link_to_lhs): New function.
+       (relink_to_new_repr): Also relink LHS lists.
+       (add_access_to_work_queue): Renamed to add_access_to_rhs_work_queue.
+       (add_access_to_lhs_work_queue): New function.
+       (pop_access_from_work_queue): Renamed to
+       pop_access_from_rhs_work_queue.
+       (pop_access_from_lhs_work_queue): New function.
+       (build_accesses_from_assign): Also add links to LHS lists and to LHS
+       work_queue.
+       (child_would_conflict_in_lacc): Renamed to
+       child_would_conflict_in_acc.  Adjusted parameter names.
+       (create_artificial_child_access): New parameter set_grp_read, use it.
+       (subtree_mark_written_and_enqueue): Renamed to
+       subtree_mark_written_and_rhs_enqueue.
+       (propagate_subaccesses_across_link): Renamed to
+       propagate_subaccesses_from_rhs.
+       (propagate_subaccesses_from_lhs): New function.
+       (propagate_all_subaccesses): Also propagate subaccesses from LHSs to
+       RHSs.
+
+2020-01-29  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/92706
+       * tree-sra.c (struct access): Adjust comment of
+       grp_total_scalarization.
+       (find_access_in_subtree): Look for single children spanning an entire
+       access.
+       (scalarizable_type_p): Allow register accesses, adjust callers.
+       (completely_scalarize): Remove function.
+       (scalarize_elem): Likewise.
+       (create_total_scalarization_access): Likewise.
+       (sort_and_splice_var_accesses): Do not track total scalarization
+       flags.
+       (analyze_access_subtree): New parameter totally, adjust to new meaning
+       of grp_total_scalarization.
+       (analyze_access_trees): Pass new parameter to analyze_access_subtree.
+       (can_totally_scalarize_forest_p): New function.
+       (create_total_scalarization_access): Likewise.
+       (create_total_access_and_reshape): Likewise.
+       (total_should_skip_creating_access): Likewise.
+       (totally_scalarize_subtree): Likewise.
+       (analyze_all_variable_accesses): Perform total scalarization after
+       subaccess propagation using the new functions above.
+       (initialize_constant_pool_replacements): Output initializers by
+       traversing the access tree.
+
+2020-01-29  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (verify_sra_access_forest): New function.
+       (verify_all_sra_access_forests): Likewise.
+       (create_artificial_child_access): Set parent.
+       (analyze_all_variable_accesses): Call the verifier.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (cgraph_edge::resolve_speculation): Only lookup direct edge
+       if called on indirect edge.
+       (cgraph_edge::redirect_call_stmt_to_callee): Lookup indirect edge of
+       speculative call if needed.
+
+2020-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93428
+       * tree-vect-slp.c (vect_build_slp_tree_2): Compute the load
+       permutation when the load node is created.
+       (vect_analyze_slp_instance): Re-use it here.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-prop.c (update_indirect_edges_after_inlining): Fix warning.
+
+2020-01-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93272
+       * ira-lives.c (process_out_of_region_eh_regs): New function.
+       (process_bb_node_lives): Call it.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * coverage.c (read_counts_file): Make error message lowercase.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * profile-count.c (profile_quality_display_names): Fix ordering.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/93318    
+       * cgraph.c (cgraph_add_edge_to_call_site_hash): Update call site
+       hash only when edge is first within the sequence.
+       (cgraph_edge::set_call_stmt): Update handling of speculative calls.
+       (symbol_table::create_edge): Do not set target_prob.
+       (cgraph_edge::remove_caller): Watch for speculative calls when updating
+       the call site hash.
+       (cgraph_edge::make_speculative): Drop target_prob parameter.
+       (cgraph_edge::speculative_call_info): Remove.
+       (cgraph_edge::first_speculative_call_target): New member function.
+       (update_call_stmt_hash_for_removing_direct_edge): New function.
+       (cgraph_edge::resolve_speculation): Rewrite to new API.
+       (cgraph_edge::speculative_call_for_target): New member function.
+       (cgraph_edge::make_direct): Rewrite to new API; fix handling of
+       multiple speculation targets.
+       (cgraph_edge::redirect_call_stmt_to_callee): Likewise; fix updating
+       of profile.
+       (verify_speculative_call): Verify that targets form an interval.
+       * cgraph.h (cgraph_edge::speculative_call_info): Remove.
+       (cgraph_edge::first_speculative_call_target): New member function.
+       (cgraph_edge::next_speculative_call_target): New member function.
+       (cgraph_edge::speculative_call_target_ref): New member function.
+       (cgraph_edge;:speculative_call_indirect_edge): New member funtion.
+       (cgraph_edge): Remove target_prob.
+       * cgraphclones.c (cgraph_node::set_call_stmt_including_clones):
+       Fix handling of speculative calls.
+       * ipa-devirt.c (ipa_devirt): Fix handling of speculative cals.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * ipa-inline.c (speculation_useful_p): Use new speculative call API.
+       * ipa-profile.c (dump_histogram): Fix formating.
+       (ipa_profile_generate_summary): Watch for overflows.
+       (ipa_profile): Do not require probablity to be 1/2; update to new API.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Update to new API.
+       (update_indirect_edges_after_inlining): Update to new API.
+       * ipa-utils.c (ipa_merge_profiles): Rewrite merging of speculative call
+       profiles.
+       * profile-count.h: (profile_probability::adjusted): New.
+       * tree-inline.c (copy_bb): Update to new speculative call API; fix
+       updating of profile.
+       * value-prof.c (gimple_ic_transform): Rename to ...
+       (dump_ic_profile): ... this one; update dumping.
+       (stream_in_histogram_value): Fix formating.
+       (gimple_value_profile_transformations): Update.
+
+2020-01-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/91461
+       * config/i386/i386.md (*movoi_internal_avx): Remove
+       TARGET_SSE_TYPELESS_STORES check.
+       (*movti_internal): Prefer TARGET_AVX over
+       TARGET_SSE_TYPELESS_STORES.
+       (*movtf_internal): Likewise.
+       * config/i386/sse.md (mov<mode>_internal): Prefer TARGET_AVX over
+       TARGET_SSE_TYPELESS_STORES.  Remove "<MODE_SIZE> == 16" check
+       from TARGET_SSE_TYPELESS_STORES.
+
+2020-01-28  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-core.h (warning_at): Rename overload to...
+       (warning_meta): ...this.
+       (emit_diagnostic_valist): Delete decl of overload taking
+       diagnostic_metadata.
+       * diagnostic.c (emit_diagnostic_valist): Likewise for defn.
+       (warning_at): Rename overload taking diagnostic_metadata to...
+       (warning_meta): ...this.
+
+2020-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93439
+       * tree-parloops.c (create_loop_fn): Move clique bookkeeping...
+       * tree-cfg.c (move_sese_region_to_fn): ... here.
+       (verify_types_in_gimple_reference): Verify used cliques are
+       tracked.
+
+2020-01-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/91399
+       * config/i386/i386-options.c (set_ix86_tune_features): Add an
+       argument of a pointer to struct gcc_options and pass it to
+       parse_mtune_ctrl_str.
+       (ix86_function_specific_restore): Pass opts to
+       set_ix86_tune_features.
+       (ix86_option_override_internal): Likewise.
+       (parse_mtune_ctrl_str): Add an argument of a pointer to struct
+       gcc_options and use it for x_ix86_tune_ctrl_string.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/87763
+       * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract
+       simplification to handle subregs as well as bare regs.
+       * config/i386/i386.md (*testqi_ext_3): Match QI extracts too.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vectorizable_reduction): Fail gracefully
+       for reduction chains that (now) include a call.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/92822
+       * tree-ssa-forwprop.c (simplify_vector_constructor): When filling
+       out the don't-care elements of a vector whose significant elements
+       are duplicates, make the don't-care elements duplicates too.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93434
+       * tree-predcom.c (split_data_refs_to_components): Record which
+       components have had aliasing loads removed.  Prevent store-store
+       commoning for all such components.
+
+2020-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93418
+       * config/i386/i386.c (ix86_fold_builtin) <do_shift>: If mask is not
+       -1 or is_vshift is true, use new_vector with number of elts npatterns
+       rather than new_unary_operation.
+
+       PR tree-optimization/93454
+       * gimple-fold.c (fold_array_ctor_reference): Perform
+       elt_size.to_uhwi () just once, instead of calling it in every
+       iteration.  Punt if that value is above size of the temporary
+       buffer.  Decrease third native_encode_expr argument when
+       bufoff + elt_sz is above size of buf.
+
+2020-01-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/mips.c (mips_declare_object_name)
+       [USE_GNU_UNIQUE_OBJECT]: Support use of gnu_unique_object.
+
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/93403
+       * tree-profile.c (gimple_init_gcov_profiler): Generate
+       both __gcov_indirect_call_profiler_v4 and
+       __gcov_indirect_call_profiler_v4_atomic.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92822
+       * config/aarch64/aarch64-simd.md (aarch64_get_half<mode>): New
+       expander.
+       (@aarch64_split_simd_mov<mode>): Use it.
+       (aarch64_simd_mov_from_<mode>low): Add a GPR alternative.
+       Leave the vec_extract patterns to handle 2-element vectors.
+       (aarch64_simd_mov_from_<mode>high): Likewise.
+       (vec_extract<VQMOV_NO2E:mode><Vhalf>): New expander.
+       (vec_extractv2dfv1df): Likewise.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Match
+       jump conditions for *compare_condjump<GPI:mode>.
+
+2020-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93276
+       * digraph.cc (test_edge::test_edge): Specify template for base
+       class initializer.
+
+2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_rtx_costs): Update mul64 cost.
+
+2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (gen_mlo): Remove.
+       (gen_mhi): Likewise.
+       * config/arc/arc.c (AUX_MULHI): Define.
+       (arc_must_save_reister): Special handling for r58/59.
+       (arc_compute_frame_size): Consider mlo/mhi registers.
+       (arc_save_callee_saves): Emit fp/sp move only when emit_move
+       paramter is true.
+       (arc_conditional_register_usage): Remove TARGET_BIG_ENDIAN from
+       mlo/mhi name selection.
+       (arc_restore_callee_saves): Don't early restore blink when ISR.
+       (arc_expand_prologue): Add mlo/mhi saving.
+       (arc_expand_epilogue): Add mlo/mhi restoring.
+       (gen_mlo): Remove.
+       (gen_mhi): Remove.
+       * config/arc/arc.h (DBX_REGISTER_NUMBER): Correct register
+       numbering when MUL64 option is used.
+       (DWARF2_FRAME_REG_OUT): Define.
+       * config/arc/arc.md (arc600_stall): New pattern.
+       (VUNSPEC_ARC_ARC600_STALL): Define.
+       (mulsi64): Use correct mlo/mhi registers.
+       (mulsi_600): Clean it up.
+       * config/arc/predicates.md (mlo_operand): Remove any dependency on
+       TARGET_BIG_ENDIAN.
+       (mhi_operand): Likewise.
+
+2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+           Petro Karashchenko  <petro.karashchenko@ring.com>
+
+       * config/arc/arc.c (arc_is_uncached_mem_p): Check struct
+       attributes if needed.
+       (prepare_move_operands): Generate special unspec instruction for
+       direct access.
+       (arc_isuncached_mem_p): Propagate uncached attribute to each
+       structure member.
+       * config/arc/arc.md (VUNSPEC_ARC_LDDI): Define.
+       (VUNSPEC_ARC_STDI): Likewise.
+       (ALLI): New mode iterator.
+       (mALLI): New mode attribute.
+       (lddi): New instruction pattern.
+       (stdi): Likewise.
+       (stdidi_split): Split instruction for architectures which are not
+       supporting ll64 option.
+       (lddidi_split): Likewise.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/92989
+       * lra-lives.c (process_bb_lives): Update the live-in set before
+       processing additional clobbers.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/93170
+       * cselib.c (cselib_invalidate_regno_val): New function, split out
+       from...
+       (cselib_invalidate_regno): ...here.
+       (cselib_invalidated_by_call_p): New function.
+       (cselib_process_insn): Iterate over all the hard-register entries in
+       REG_VALUES and invalidate any that cross call-clobbered registers.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * dojump.c (split_comparison): Use HONOR_NANS rather than
+       HONOR_SNANS when splitting LTGT.
+
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       PR driver/91220
+       * opts.c (print_filtered_help): Exclude language-specific
+       options from --help=common unless enabled in all FEs.
+
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       * opts.c (print_help): Exclude params from
+       all except --help=param.
+
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       PR target/93274
+       * config/i386/i386-features.c (make_resolver_func):
+       Align the code with ppc64 target implementation.
+       Do not generate a unique name for resolver function.
+
+2020-01-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93397
+       * tree-vect-slp.c (vect_analyze_slp_instance): Delay
+       converted reduction chain SLP graph adjustment.
+
+2020-01-26  Marek Polacek  <polacek@redhat.com>
+
+       PR sanitizer/93436
+       * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
+       null DECL_NAME.
+
+2020-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92601
+       * tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING
+       of complete types.
+
+2020-01-26  Darius Galis  <darius.galis@cyberthorstudios.com>
+
+       * config/rx/rx.md (setmemsi): Added rx_allow_string_insns constraint
+       (rx_setmem): Likewise.
+
+2020-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93412
+       * config/i386/i386.md (*addv<dwi>4_doubleword, *subv<dwi>4_doubleword):
+       Use nonimmediate_operand instead of x86_64_hilo_general_operand and
+       drop <di> from constraint of last operand.
+
+       PR target/93430
+       * config/i386/sse.md (*avx_vperm_broadcast_<mode>): Disallow for
+       TARGET_AVX2 and V4DFmode not in the split condition, but in the
+       pattern condition, though allow { 0, 0, 0, 0 } broadcast always.
+
+2020-01-25  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93166
+       * ipa-cp.c (get_info_about_necessary_edges): Remove value
+       check assertion.
+
+2020-01-24  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/92788
+       * tree-ssa-threadedge.c (thread_across_edge): Check EDGE_COMPLEX
+       not EDGE_ABNORMAL.
+
+2020-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93395
+       * config/i386/sse.md (*avx_vperm_broadcast_v4sf,
+       *avx_vperm_broadcast_<mode>,
+       <sse2_avx_avx512f>_vpermil<mode><mask_name>,
+       *<sse2_avx_avx512f>_vpermilp<mode><mask_name>):
+       Move before avx2_perm<mode>/avx512f_perm<mode>.
+
+       PR target/93376
+       * simplify-rtx.c (simplify_const_unary_operation,
+       simplify_const_binary_operation): Punt for mode precision above
+       MAX_BITSIZE_MODE_ANY_INT.
+
+2020-01-24  Andrew Pinski  <apinski@marvell.com>
+
+       * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Change
+       alu.shift_reg to 0.
+
+2020-01-24  Jeff Law  <law@redhat.com>
+
+       PR target/13721
+       * config/h8300/h8300.c (h8300_print_operand): Only call byte_reg
+       for REGs.  Call output_operand_lossage to get more reasonable
+       diagnostics.
+
+2020-01-24  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (vec_cmp<mode>di): Use
+       gcn_fp_compare_operator.
+       (vec_cmpu<mode>di): Use gcn_compare_operator.
+       (vec_cmp<u>v64qidi): Use gcn_compare_operator.
+       (vec_cmp<mode>di_exec): Use gcn_fp_compare_operator.
+       (vec_cmpu<mode>di_exec): Use gcn_compare_operator.
+       (vec_cmp<u>v64qidi_exec): Use gcn_compare_operator.
+       (vec_cmp<mode>di_dup): Use gcn_fp_compare_operator.
+       (vec_cmp<mode>di_dup_exec): Use gcn_fp_compare_operator.
+       (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): Use
+       gcn_fp_compare_operator.
+       (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): Use
+       gcn_fp_compare_operator.
+       (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): Use
+       gcn_fp_compare_operator.
+       (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): Use
+       gcn_fp_compare_operator.
+
+2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
+
+       * doc/install.texi (Cross-Compiler-Specific Options): Document
+       `--with-toolexeclibdir' option.
+
+2020-01-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * target.def (flags_regnum): Also mention effect on delay slot filling.
+       * doc/tm.texi: Regenerate.
+
+2020-01-23  Jeff Law  <law@redhat.com>
+
+       PR translation/90162
+       * config/h8300/h8300.c (h8300_option_override): Fix diagnostic text.
+
+2020-01-23  Mikael Tillenius  <mti-1@tillenius.com>
+
+       PR target/92269
+       * config/h8300/h8300.h (FUNCTION_PROFILER): Fix emission of
+       profiling label
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/93402
+       * postreload.c (reload_combine_recognize_pattern): Don't try to adjust
+       USE insns.
+
+2020-01-23  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
+
+       * config.in: Regenerated.
+       * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to 1
+       for TARGET_LIBC_GNUSTACK.
+       * configure: Regenerated.
+       * configure.ac: Define TARGET_LIBC_GNUSTACK if glibc version is
+       found to be 2.31 or greater.
+
+2020-01-23  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
+
+       * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to
+       TARGET_SOFT_FLOAT.
+       * config/mips/mips.c (TARGET_ASM_FILE_END): Define to ...
+       (mips_asm_file_end): New function. Delegate to
+       file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK is true.
+       * config/mips/mips.h (NEED_INDICATE_EXEC_STACK): Define to 0.
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93376
+       * config/i386/i386-modes.def (POImode): New mode.
+       (MAX_BITSIZE_MODE_ANY_INT): Change from 128 to 160.
+       * config/i386/i386.md (DPWI): New mode attribute.
+       (addv<mode>4, subv<mode>4): Use <DPWI> instead of <DWI>.
+       (QWI): Rename to...
+       (QPWI): ... this.  Use POI instead of OI for TImode.
+       (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1,
+       *subv<dwi>4_doubleword, *subv<dwi>4_doubleword_1): Use <QPWI>
+       instead of <QWI>.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/93341
+       * config/aarch64/aarch64.md (UNSPEC_SPECULATION_TRACKER_REV): New
+       unspec.
+       (speculation_tracker_rev): New pattern.
+       * config/aarch64/aarch64-speculation.cc (aarch64_do_track_speculation):
+       Use speculation_tracker_rev to track the inverse condition.
+
+2020-01-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93381
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Take
+       alias-set of the def as argument and record the first one.
+       (vn_walk_cb_data::first_set): New member.
+       (vn_reference_lookup_3): Pass the alias-set of the current def
+       to push_partial_def.  Fix alias-set used in the aggregate copy
+       case.
+       (vn_reference_lookup): Consistently set *last_vuse_ptr.
+       * real.c (clear_significand_below): Fix out-of-bound access.
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93346
+       * config/i386/i386.md (*bmi2_bzhi_<mode>3_2, *bmi2_bzhi_<mode>3_3):
+       New define_insn patterns.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi (check-function-bodies): Add an
+       optional target/xfail selector.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/93124
+       * auto-inc-dec.c (merge_in_block): Don't add auto inc/decs to
+       bare USE and CLOBBER insns.
+
+2020-01-22  Andrew Pinski  <apinski@marvell.com>
+
+       * config/arc/arc.c (output_short_suffix): Check insn for nullness.
+
+2020-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93307
+       * gdbinit.in (break-on-saved-diagnostic): Update for move of
+       diagnostic_manager into "ana" namespace.
+       * selftest-run-tests.c (selftest::run_tests): Update for move of
+       selftest::run_analyzer_selftests to
+       ana::selftest::run_analyzer_selftests.
+
+2020-01-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * cfgexpand.c (union_stack_vars): Update the size.
+
+2020-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93381
+       * tree-ssa-structalias.c (find_func_aliases): Assume offsetting
+       throughout, handle all conversions the same.
+
+2020-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93335
+       * config/aarch64/aarch64.c (aarch64_expand_subvti): Only use
+       gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate
+       predicate, not whenever it is CONST_INT.  Otherwise, force_reg it.
+       Call force_reg on high_in2 unconditionally.
+
+2020-01-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92924
+       * profile.c (compute_value_histograms): Divide
+       all counter values.
+
+2020-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91298
+       * output.h (assemble_name_resolve): Declare.
+       * varasm.c (assemble_name_resolve): New function.
+       (assemble_name): Use it.
+       * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define.
+
+2020-01-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/sourcebuild.texi (Texinfo Manuals, Front End): Refer to
+       update_web_docs_git instead of update_web_docs_svn.
+
+2020-01-21  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/9311
+       * config/aarch64/aarch64.md (tlsgd_small_<mode>): Have operand 0
+       as PTR mode. Have operand 1 as being modeless, it can be P mode.
+       (*tlsgd_small_<mode>): Likewise.
+       * config/aarch64/aarch64.c (aarch64_load_symref_appropriately)
+       <case SYMBOL_SMALL_TLSGD>: Call gen_tlsgd_small_* with a ptr_mode
+       register.  Convert that register back to dest using convert_mode.
+
+2020-01-21  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Use INTVAL
+       instead of XINT.
+
+2020-01-21  H.J. Lu  <hongjiu.lu@intel.com>
+           Uros Bizjak    <ubizjak@gmail.com>
+
+       PR target/93319
+       * config/i386/i386.c (ix86_tls_module_base): Replace Pmode
+       with ptr_mode.
+       (legitimize_tls_address): Do GNU2 TLS address computation in
+       ptr_mode and zero-extend result to Pmode.
+       *  config/i386/i386.md (@tls_dynamic_gnu2_64_<mode>): Replace
+       :P with :PTR and Pmode with ptr_mode.
+       (*tls_dynamic_gnu2_lea_64_<mode>): Likewise.
+       (*tls_dynamic_gnu2_call_64_<mode>): Likewise.
+       (*tls_dynamic_gnu2_combine_64_<mode>): Likewise.
+
+2020-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93333
+       * config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify
+       the last two operands are CONST_INT_P before using them as such.
+
+2020-01-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.def: Use get_typenode_from_name
+       to get the integer element types.
+
+2020-01-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.h
+       (function_expander::convert_to_pmode): Declare.
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_expander::convert_to_pmode): New function.
+       (function_expander::get_contiguous_base): Use it.
+       (function_expander::prepare_gather_address_operands): Likewise.
+       * config/aarch64/aarch64-sve-builtins-sve2.cc
+       (svwhilerw_svwhilewr_impl::expand): Likewise.
+
+2020-01-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/92424
+       * config/aarch64/aarch64.c (aarch64_declare_function_name): Set
+       cfun->machine->label_is_assembled.
+       (aarch64_print_patchable_function_entry): New.
+       (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define.
+       * config/aarch64/aarch64.h (struct machine_function): New field,
+       label_is_assembled.
+
+2020-01-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR ipa/93315
+       * ipa-profile.c (ipa_profile): Delete call_sums and set it to
+       NULL on exit.
+
+2020-01-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/93318    
+       * cgraph.c (cgraph_edge::resolve_speculation,
+       cgraph_edge::redirect_call_stmt_to_callee): Fix update of
+       call_stmt_site_hash.
+
+2020-01-21  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000.c (common_mode_defined): Remove
+       unused variable.
+
+2020-01-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92328
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Preserve
+       type when value-numbering same-sized store by inserting a
+       VIEW_CONVERT_EXPR.
+       (eliminate_dom_walker::eliminate_stmt): When eliminating
+       a redundant store handle bit-reinterpretation of the same value.
+
+2020-01-21  Andrew Pinski  <apinski@marvel.com>
+
+       PR tree-opt/93321
+       * tree-into-ssa.c (prepare_block_for_update_1): Split out
+       from ...
+       (prepare_block_for_update): This.  Use a worklist instead of
+       recursing.
+
+2020-01-21  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm.c (clear_operation_p):
+       Initialise last_regno, skip first iteration
+       based on the first_set value and use ints instead
+       of the unnecessary HOST_WIDE_INTs.
+
+2020-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93073
+       * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for
+       compare_mode other than SFmode or DFmode.
+
+2020-01-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/93304
+       * config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New.
+       * config/riscv/riscv.c (riscv_hard_regno_rename_ok): New.
+       * config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined.
+
+2020-01-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (neoversen1_tunings): Set jump_align to 4.
+
+2020-01-20  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/93242
+       * targhooks.c (default_print_patchable_function_entry): Use
+       output_asm_insn to emit the nop instruction.
+
+2020-01-20  Fangrui Song  <maskray@google.com>
+
+       PR middle-end/93194
+       * targhooks.c (default_print_patchable_function_entry): Align to
+       POINTER_SIZE.
+
+2020-01-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93319
+       * config/i386/i386.c (legitimize_tls_address): Pass Pmode to
+       gen_tls_dynamic_gnu2_64.  Compute GNU2 TLS address in ptr_mode.
+       * config/i386/i386.md (tls_dynamic_gnu2_64): Renamed to ...
+       (@tls_dynamic_gnu2_64_<mode>): This.  Replace DI with P.
+       (*tls_dynamic_gnu2_lea_64): Renamed to ...
+       (*tls_dynamic_gnu2_lea_64_<mode>): This.  Replace DI with P.
+       Remove the {q} suffix from lea.
+       (*tls_dynamic_gnu2_call_64): Renamed to ...
+       (*tls_dynamic_gnu2_call_64_<mode>): This.  Replace DI with P.
+       (*tls_dynamic_gnu2_combine_64): Renamed to ...
+       (*tls_dynamic_gnu2_combine_64_<mode>): This.  Replace DI with P.
+       Pass Pmode to gen_tls_dynamic_gnu2_64.
+
+2020-01-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1.
+
+2020-01-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins-base.cc
+       (svld1ro_impl::memory_vector_mode): Remove parameter name.
+
+2020-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR debug/92763
+       * dwarf2out.c (prune_unused_types): Unconditionally mark
+       called function DIEs.
+
+2020-01-20  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/93199
+       * tree-eh.c (struct leh_state): Add
+       new field outer_non_cleanup.
+       (cleanup_is_dead_in): Pass leh_state instead
+       of eh_region.  Add a checking that state->outer_non_cleanup
+       points to outer non-clean up region.
+       (lower_try_finally): Record outer_non_cleanup
+       for this_state.
+       (lower_catch): Likewise.
+       (lower_eh_filter): Likewise.
+       (lower_eh_must_not_throw): Likewise.
+       (lower_cleanup): Likewise.
+
+2020-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93094
+       * tree-vectorizer.h (vect_loop_versioning): Adjust.
+       (vect_transform_loop): Likewise.
+       * tree-vectorizer.c (try_vectorize_loop_1): Pass down
+       loop_vectorized_call to vect_transform_loop.
+       * tree-vect-loop.c (vect_transform_loop): Pass down
+       loop_vectorized_call to vect_loop_versioning.
+       * tree-vect-loop-manip.c (vect_loop_versioning): Use
+       the earlier discovered loop_vectorized_call.
+
+2020-01-19  Eric S. Raymond <esr@thyrsus.com>
+
+       * doc/contribute.texi: Update for SVN -> Git transition.
+       * doc/install.texi: Likewise.
+
+2020-01-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/93318
+       * cgraph.c (cgraph_edge::make_speculative): Increase number of
+       speculative targets.
+       (verify_speculative_call): New function
+       (cgraph_node::verify_node): Use it.
+       * ipa-profile.c (ipa_profile): Fix formating; do not set number of
+       speculations.
+
+2020-01-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/93318
+       * cgraph.c (cgraph_edge::resolve_speculation): Fix foramting.
+       (cgraph_edge::make_direct): Remove all indirect targets.
+       (cgraph_edge::redirect_call_stmt_to_callee): Use make_direct..
+       (cgraph_node::verify_node): Verify that only one call_stmt or
+       lto_stmt_uid is set.
+       * cgraphclones.c (cgraph_edge::clone): Set only one call_stmt or
+       lto_stmt_uid.
+       * lto-cgraph.c (lto_output_edge): Simplify streaming of stmt.
+       (lto_output_ref): Simplify streaming of stmt.
+       * lto-streamer-in.c (fixup_call_stmt_edges_1): Clear lto_stmt_uid.
+
+2020-01-18  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins-base.cc (memory_vector_mode):
+       Mark parameter unused.
+
+2020-01-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config.gcc <obsolete targets>: Add crisv32-*-* and cris-*-linux*
+
+2019-01-18  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * varpool.c (ctor_useable_for_folding_p): Fix grammar.
+
+2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * Makefile.in: Add coroutine-passes.o.
+       * builtin-types.def (BT_CONST_SIZE): New.
+       (BT_FN_BOOL_PTR): New.
+       (BT_FN_PTR_PTR_CONST_SIZE_BOOL): New.
+       * builtins.def (DEF_COROUTINE_BUILTIN): New.
+       * coroutine-builtins.def: New file.
+       * coroutine-passes.cc: New file.
+       * function.h (struct GTY function): Add a bit to indicate that the
+       function is a coroutine component.
+       * internal-fn.c (expand_CO_FRAME): New.
+       (expand_CO_YIELD): New.
+       (expand_CO_SUSPN): New.
+       (expand_CO_ACTOR): New.
+       * internal-fn.def (CO_ACTOR): New.
+       (CO_YIELD): New.
+       (CO_SUSPN): New.
+       (CO_FRAME): New.
+       * passes.def: Add pass_coroutine_lower_builtins,
+       pass_coroutine_early_expand_ifns.
+       * tree-pass.h (make_pass_coroutine_lower_builtins): New.
+       (make_pass_coroutine_early_expand_ifns): New.
+       * doc/invoke.texi: Document the fcoroutines command line
+       switch.
+
+2020-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/vfp.md (*clear_vfp_multiple): Remove unused variable.
+
+       PR target/93312
+       * config/arm/arm.c (clear_operation_p): Don't use REGNO until
+       after checking the argument is a REG.  Don't use REGNO (reg)
+       again to set last_regno, reuse regno variable instead.
+
+2020-01-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Limitations): Add note about NaN.
+
+2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Sudakshina Das  <sudi.das@arm.com>
+
+       * config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg
+       and valid immediate.
+       (ashrdi3): Generate thumb2_asrl for both reg and valid immediate.
+       (lshrdi3): Generate thumb2_lsrl for valid immediates.
+       * config/arm/constraints.md (Pg): New.
+       * config/arm/predicates.md (long_shift_imm): New.
+       (arm_reg_or_long_shift_imm): Likewise.
+       * config/arm/thumb2.md (thumb2_asrl): New immediate alternative.
+       (thumb2_lsll): Likewise.
+       (thumb2_lsrl): New.
+
+2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Sudakshina Das  <sudi.das@arm.com>
+
+       * config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE.
+       (ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE.
+       * config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd
+       register pairs for doubleword quantities for ARMv8.1M-Mainline.
+       * config/arm/thumb2.md (thumb2_asrl): New.
+       (thumb2_lsll): Likewise.
+
+2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove
+       unused variable.
+
+2020-01-17  Alexander Monakov  <amonakov@ispras.ru>
+
+       * gdbinit.in (help-gcc-hooks): New command.
+       (pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc,
+       pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update
+       documentation.
+
+2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use the
+       correct target macro.
+
+2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       (aarch64_sve_ld1ro_operand_p): New.
+       * config/aarch64/aarch64-sve-builtins-base.cc
+       (class load_replicate): New.
+       (class svld1ro_impl): New.
+       (class svld1rq_impl): Change to inherit from load_replicate.
+       (svld1ro): New sve intrinsic function base.
+       * config/aarch64/aarch64-sve-builtins-base.def (svld1ro):
+       New DEF_SVE_FUNCTION.
+       * config/aarch64/aarch64-sve-builtins-base.h
+       (svld1ro): New decl.
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_expander::add_mem_operand): Modify assert to allow
+       OImode.
+       * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): New
+       pattern.
+       * config/aarch64/aarch64.c
+       (aarch64_sve_ld1rq_operand_p): Implement in terms of ...
+       (aarch64_sve_ld1rq_ld1ro_operand_p): This.
+       (aarch64_sve_ld1ro_operand_p): New.
+       * config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec.
+       * config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New.
+       * config/aarch64/predicates.md
+       (aarch64_sve_ld1ro_operand_{b,h,w,d}): New.
+
+2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64):
+       Introduce this ACLE specified predefined macro.
+       * config/aarch64/aarch64-option-extensions.def (f64mm): New.
+       (fp): Disabling this disables f64mm.
+       (simd): Disabling this disables f64mm.
+       (fp16): Disabling this disables f64mm.
+       (sve): Disabling this disables f64mm.
+       * config/aarch64/aarch64.h (AARCH64_FL_F64MM): New.
+       (AARCH64_ISA_F64MM): New.
+       (TARGET_F64MM): New.
+       * doc/invoke.texi (f64mm): Document new option.
+
+2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (generic_tunings): Add branch fusion.
+       (neoversen1_tunings): Likewise.
+
+2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/92692
+       * config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
+       Add assert to ensure prolog has been emitted.
+       (aarch64_split_atomic_op): Likewise.
+       * config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
+       Use epilogue_completed rather than reload_completed.
+       (aarch64_atomic_exchange<mode>): Likewise.
+       (aarch64_atomic_<atomic_optab><mode>): Likewise.
+       (atomic_nand<mode>): Likewise.
+       (aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
+       (atomic_fetch_nand<mode>): Likewise.
+       (aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
+       (atomic_nand_fetch<mode>): Likewise.
+
+2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/93133
+       * config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false
+       for FP modes.
+       (REVERSE_CONDITION): Delete.
+       * config/aarch64/iterators.md (CC_ONLY): New mode iterator.
+       (CCFP_CCFPE): Likewise.
+       (e): New mode attribute.
+       * config/aarch64/aarch64.md (ccmp<GPI:mode>): Rename to...
+       (@ccmp<CC_ONLY:mode><GPI:mode>): ...this, using CC_ONLY instead of CC.
+       (fccmp<GPF:mode>, fccmpe<GPF:mode>): Merge into...
+       (@ccmp<CCFP_CCFPE:mode><GPF:mode>): ...this combined pattern.
+       (@ccmp<CC_ONLY:mode><GPI:mode>_rev): New pattern.
+       (@ccmp<CCFP_CCFPE:mode><GPF:mode>_rev): Likewise.
+       * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update
+       name of generator from gen_ccmpdi to gen_ccmpccdi.
+       (aarch64_gen_ccmp_next): Use code_for_ccmp.  If we want to reverse
+       the previous comparison but aren't able to, use the new ccmp_rev
+       patterns instead.
+
+2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimplify.c (gimplify_return_expr): Use poly_int_tree_p rather
+       than testing directly for INTEGER_CST.
+       (gimplify_target_expr, gimplify_omp_depend): Likewise.
+
+2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93292
+       * tree-vect-stmts.c (vectorizable_comparison): Punt also if
+       get_vectype_for_scalar_type returns NULL.
+
+2020-01-16  Jan Hubicka  <hubicka@ucw.cz>
+
+       * params.opt (-param=max-predicted-iterations): Increase range from 0.
+       * predict.c (estimate_loops): Add 1 to param_max_predicted_iterations.
+
+2020-01-16  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-fnsummary.c (estimate_calls_size_and_time): Fix formating of
+       dump.
+       * params.opt: (max-predicted-iterations): Set bounds.
+       * predict.c (real_almost_one, real_br_prob_base,
+       real_inv_br_prob_base, real_one_half, real_bb_freq_max): Remove.
+       (propagate_freq): Add max_cyclic_prob parameter; cap cyclic
+       probabilities; do not truncate to reg_br_prob_bases.
+       (estimate_loops_at_level): Pass max_cyclic_prob.
+       (estimate_loops): Compute max_cyclic_prob.
+       (estimate_bb_frequencies): Do not initialize real_*; update calculation
+       of back edge prob.
+       * profile-count.c (profile_probability::to_sreal): New.
+       * profile-count.h (class sreal): Move up in file.
+       (profile_probability::to_sreal): Declare.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config/arm/arm.c
+       (arm_invalid_conversion): New function for target hook.
+       (arm_invalid_unary_op): New function for target hook.
+       (arm_invalid_binary_op): New function for target hook.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config.gcc: Add arm_bf16.h.
+       * config/arm/arm-builtins.c (arm_mangle_builtin_type): Fix comment.
+       (arm_simd_builtin_std_type): Add BFmode.
+       (arm_init_simd_builtin_types): Define element types for vector types.
+       (arm_init_bf16_types): New function.
+       (arm_init_builtins): Add arm_init_bf16_types function call.
+       * config/arm/arm-modes.def: Add BFmode and V4BF, V8BF vector modes.
+       * config/arm/arm-simd-builtin-types.def: Add V4BF, V8BF.
+       * config/arm/arm.c (aapcs_vfp_sub_candidate):  Add BFmode.
+       (arm_hard_regno_mode_ok): Add BFmode and tidy up statements.
+       (arm_vector_mode_supported_p): Add V4BF, V8BF.
+       (arm_mangle_type):  Add __bf16.
+       * config/arm/arm.h: Add V4BF, V8BF to VALID_NEON_DREG_MODE, 
+       VALID_NEON_QREG_MODE respectively. Add export arm_bf16_type_node,
+       arm_bf16_ptr_type_node.
+       * config/arm/arm.md: Add BFmode to movhf expand, mov pattern and
+       define_split between ARM registers.
+       * config/arm/arm_bf16.h: New file.
+       * config/arm/arm_neon.h: Add arm_bf16.h and Bfloat vector types.
+       * config/arm/iterators.md: (ANY64_BF, VDXMOV, VHFBF, HFBF, fporbf): New.
+       (VQXMOV): Add V8BF.
+       * config/arm/neon.md: Add BF vector types to movhf NEON move patterns.
+       * config/arm/vfp.md: Add BFmode to movhf patterns.
+
+2020-01-16  Mihail Ionescu  <mihail.ionescu@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm-cpus.in (mve, mve_float): New features.
+       (dsp, mve, mve.fp): New options.
+       * config/arm/arm.h (TARGET_HAVE_MVE, TARGET_HAVE_MVE_FLOAT): Define.
+       * config/arm/t-rmprofile: Map v8.1-M multilibs to v8-M.
+       * doc/invoke.texi: Document the armv8.1-m mve and dps options.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm-cpus.in (ARMv8_1m_main): Redefine as an extension to
+       Armv8-M Mainline.
+       * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove
+       error for using -mcmse when targeting Armv8.1-M Mainline.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm.md (nonsecure_call_internal): Do not force memory
+       address in r4 when targeting Armv8.1-M Mainline.
+       (nonsecure_call_value_internal): Likewise.
+       * config/arm/thumb2.md (nonsecure_call_reg_thumb2): Make memory address
+       a register match_operand again.  Emit BLXNS when targeting
+       Armv8.1-M Mainline.
+       (nonsecure_call_value_reg_thumb2): Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): Declare early.
+       (cmse_nonsecure_call_inline_register_clear): Define new lazy_fpclear
+       variable as true when floating-point ABI is not hard.  Replace
+       check against TARGET_HARD_FLOAT_ABI by checks against lazy_fpclear.
+       Generate VLSTM and VLLDM instruction respectively before and
+       after a function call to cmse_nonsecure_call function.
+       * config/arm/unspecs.md (VUNSPEC_VLSTM): Define unspec.
+       (VUNSPEC_VLLDM): Likewise.
+       * config/arm/vfp.md (lazy_store_multiple_insn): New define_insn.
+       (lazy_load_multiple_insn): Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm.c (vfp_emit_fstmd): Declare early.
+       (arm_emit_vfp_multi_reg_pop): Likewise.
+       (cmse_nonsecure_call_inline_register_clear): Abstract number of VFP
+       registers to clear in max_fp_regno.  Emit VPUSH and VPOP to save and
+       restore callee-saved VFP registers.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm.c (arm_emit_multi_reg_pop): Declare early.
+       (cmse_nonsecure_call_clear_caller_saved): Rename into ...
+       (cmse_nonsecure_call_inline_register_clear): This.  Save and clear
+       callee-saved GPRs as well as clear ip register before doing a nonsecure
+       call then restore callee-saved GPRs after it when targeting
+       Armv8.1-M Mainline.
+       (arm_reorg): Adapt to function rename.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm-protos.h (clear_operation_p): Adapt prototype.
+       * config/arm/arm.c (clear_operation_p): Extend to be able to check a
+       clear_vfp_multiple pattern based on a new vfp parameter.
+       (cmse_clear_registers): Generate VSCCLRM to clear VFP registers when
+       targeting Armv8.1-M Mainline.
+       (cmse_nonsecure_entry_clear_before_return): Clear VFP registers
+       unconditionally when targeting Armv8.1-M Mainline architecture.  Check
+       whether VFP registers are available before looking call_used_regs for a
+       VFP register.
+       * config/arm/predicates.md (clear_multiple_operation): Adapt to change
+       of prototype of clear_operation_p.
+       (clear_vfp_multiple_operation): New predicate.
+       * config/arm/unspecs.md (VUNSPEC_VSCCLRM_VPR): New volatile unspec.
+       * config/arm/vfp.md (clear_vfp_multiple): New define_insn.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm-protos.h (clear_operation_p): Declare.
+       * config/arm/arm.c (clear_operation_p): New function.
+       (cmse_clear_registers): Generate clear_multiple instruction pattern if
+       targeting Armv8.1-M Mainline or successor.
+       (output_return_instruction): Only output APSR register clearing if
+       Armv8.1-M Mainline instructions not available.
+       (thumb_exit): Likewise.
+       * config/arm/predicates.md (clear_multiple_operation): New predicate.
+       * config/arm/thumb2.md (clear_apsr): New define_insn.
+       (clear_multiple): Likewise.
+       * config/arm/unspecs.md (VUNSPEC_CLRM_APSR): New volatile unspec.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm.c (fp_sysreg_names): Declare and define.
+       (use_return_insn): Also return false for Armv8.1-M Mainline.
+       (output_return_instruction): Skip FPSCR clearing if Armv8.1-M
+       Mainline instructions are available.
+       (arm_compute_frame_layout): Allocate space in frame for FPCXTNS
+       when targeting Armv8.1-M Mainline Security Extensions.
+       (arm_expand_prologue): Save FPCXTNS if this is an Armv8.1-M
+       Mainline entry function.
+       (cmse_nonsecure_entry_clear_before_return): Clear IP and r4 if
+       targeting Armv8.1-M Mainline or successor.
+       (arm_expand_epilogue): Fix indentation of caller-saved register
+       clearing.  Restore FPCXTNS if this is an Armv8.1-M Mainline
+       entry function.
+       * config/arm/arm.h (TARGET_HAVE_FP_CMSE): New macro.
+       (FP_SYSREGS): Likewise.
+       (enum vfp_sysregs_encoding): Define enum.
+       (fp_sysreg_names): Declare.
+       * config/arm/unspecs.md (VUNSPEC_VSTR_VLDR): New volatile unspec.
+       * config/arm/vfp.md (push_fpsysreg_insn): New define_insn.
+       (pop_fpsysreg_insn): Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm-cpus.in (armv8_1m_main): New feature.
+       (ARMv4, ARMv4t, ARMv5t, ARMv5te, ARMv5tej, ARMv6, ARMv6j, ARMv6k,
+       ARMv6z, ARMv6kz, ARMv6zk, ARMv6t2, ARMv6m, ARMv7, ARMv7a, ARMv7ve,
+       ARMv7r, ARMv7m, ARMv7em, ARMv8a, ARMv8_1a, ARMv8_2a, ARMv8_3a,
+       ARMv8_4a, ARMv8_5a, ARMv8m_base, ARMv8m_main, ARMv8r): Reindent.
+       (ARMv8_1m_main): New feature group.
+       (armv8.1-m.main): New architecture.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm.c (arm_arch8_1m_main): Define and default initialize.
+       (arm_option_reconfigure_globals): Initialize arm_arch8_1m_main.
+       (arm_options_perform_arch_sanity_checks): Error out when targeting
+       Armv8.1-M Mainline Security Extensions.
+       * config/arm/arm.h (arm_arch8_1m_main): Declare.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (aarch64_bfdot,
+       aarch64_bfdot_lane, aarch64_bfdot_laneq): New.
+       * config/aarch64/aarch64-simd.md (aarch64_bfdot, aarch64_bfdot_lane,
+       aarch64_bfdot_laneq): New.
+       * config/aarch64/arm_bf16.h (vbfdot_f32, vbfdotq_f32,
+       vbfdot_lane_f32, vbfdotq_lane_f32, vbfdot_laneq_f32,
+       vbfdotq_laneq_f32): New.
+       * config/aarch64/iterators.md (UNSPEC_BFDOT, Vbfdottype,
+       VBFMLA_W, VBF): New.
+       (isquadop): Add V4BF, V8BF.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config/aarch64/aarch64-builtins.c: (enum aarch64_type_qualifiers):
+       New qualifier_lane_quadtup_index, TYPES_TERNOP_SSUS,
+       TYPES_QUADOPSSUS_LANE_QUADTUP, TYPES_QUADOPSSSU_LANE_QUADTUP.
+       (aarch64_simd_expand_args): Add case SIMD_ARG_LANE_QUADTUP_INDEX.
+       (aarch64_simd_expand_builtin): Add qualifier_lane_quadtup_index.
+       * config/aarch64/aarch64-simd-builtins.def (usdot, usdot_lane,
+       usdot_laneq, sudot_lane,sudot_laneq): New.
+       * config/aarch64/aarch64-simd.md (aarch64_usdot): New.
+       (aarch64_<sur>dot_lane): New.
+       * config/aarch64/arm_neon.h (vusdot_s32): New.
+       (vusdotq_s32): New.
+       (vusdot_lane_s32): New.
+       (vsudot_lane_s32): New.
+       * config/aarch64/iterators.md (DOTPROD_I8MM): New iterator.
+       (UNSPEC_USDOT, UNSPEC_SUDOT): New unspecs.
+
+2020-01-16  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Fix
+       obvious spacing issue.
+
+2020-01-16  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-sccvn.c(vn_reference_lookup_3): Check lhs for
+       !storage_order_barrier_p.
+
+2020-01-16  Andrew Pinski  <apinski@marvell.com>
+
+       * sched-int.h (_dep): Add unused bit-field field for the padding.
+       * sched-deps.c (init_dep_1): Init unused field.
+
+2020-01-16  Andrew Pinski  <apinski@marvell.com>
+
+       * optabs.h (create_expand_operand): Initialize target field also.
+
+2020-01-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR tree-optimization/92429
+       * tree-ssa-loop-niter.h (simplify_replace_tree): Add parameter.
+       * tree-ssa-loop-niter.c (simplify_replace_tree): Add parameter to
+       control folding.
+       * tree-vect-loop.c (update_epilogue_vinfo): Do not fold when replacing
+       tree.
+
+2020-01-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_split_sve_subreg_move): Apply
+       aarch64_sve_int_mode to each mode.
+
+2020-01-15  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Overview): Add note about
+       -fdump-ipa-analyzer.
+
+2020-01-15  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR tree-optimization/93231
+       * tree-ssa-forwprop.c (optimize_count_trailing_zeroes): Check
+       input_type is unsigned.  Use tree_to_shwi for shift constant.
+       Check CST_STRING element size is CHAR_TYPE_SIZE bits.
+       (simplify_count_trailing_zeroes): Add test to handle known non-zero
+       inputs more efficiently.
+
+2020-01-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movsf_internal): Do not require
+       SSE2 ISA for alternatives 14 and 15.
+
+2020-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93273
+       * tree-eh.c (sink_clobbers): If we already visited the destination
+       block do not defer insertion.
+       (pass_lower_eh_dispatch::execute): Maintain BB_VISITED for
+       the purpose of defered insertion.
+
+2020-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Bump to 10.0.1.
+
+2020-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93247
+       * tree-vect-loop.c (update_epilogue_loop_vinfo): Check the access
+       type of the stmt that we're going to vectorize.
+
+2020-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-slp.c (vectorize_slp_instance_root_stmt): Use a
+       VIEW_CONVERT_EXPR if the vectorized constructor has a diffeent
+       type from the lhs.
+
+2020-01-15  Martin Liska  <mliska@suse.cz>
+
+       * ipa-profile.c (ipa_profile_read_edge_summary): Do not allow
+       2 calls of streamer_read_hwi in a function call.
+
+2020-01-15  Richard Biener  <rguenther@suse.de>
+
+       * alias.c (record_alias_subset): Avoid redundant work when
+       subset is already recorded.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdiagnostics-show-cwe): Add note that some of
+       the analyzer options provide CWE identifiers.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * tree-diagnostic-path.cc (path_summary::event_range::print):
+       When testing for UNKNOWN_LOCATION, look through ad-hoc wrappers
+       using get_pure_location.
+
+2020-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93262
+       * tree-ssa-dse.c (maybe_trim_memstar_call): For *_chk builtins,
+       perform head trimming only if the last argument is constant,
+       either all ones, or larger or equal to head trim, in the latter
+       case decrease the last argument by head_trim.
+
+       PR tree-optimization/93249
+       * tree-ssa-dse.c: Include builtins.h and gimple-fold.h.
+       (maybe_trim_memstar_call): Move head_trim and tail_trim vars to
+       function body scope, reindent.  For BUILTIN_IN_STRNCPY*, don't
+       perform head trim unless we can prove there are no '\0' chars
+       from the source among the first head_trim chars.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/function-set.o.
+
+2020-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93009
+       * config/i386/sse.md
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1,
+       *<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1,
+       *<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1,
+       *<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Use
+       just a single alternative instead of two, make operands 1 and 2
+       commutative.
+
+2020-01-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/91576
+       * ipa-devirt.c (odr_types_equivalent_p): Compare TREE_ADDRESSABLE and
+       TYPE_MODE.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (lang_opt_files): Add analyzer.opt.
+       (ANALYZER_OBJS): New.
+       (OBJS): Add digraph.o, graphviz.o, ordered-hash-map-tests.o,
+       tristate.o and ANALYZER_OBJS.
+       (TEXI_GCCINT_FILES): Add analyzer.texi.
+       * common.opt (-fanalyzer): New driver option.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac (--disable-analyzer, ENABLE_ANALYZER): New option.
+       (gccdepdir): Also create depdir for "analyzer" subdir.
+       * digraph.cc: New file.
+       * digraph.h: New file.
+       * doc/analyzer.texi: New file.
+       * doc/gccint.texi ("Static Analyzer") New menu item.
+       (analyzer.texi): Include it.
+       * doc/invoke.texi ("Static Analyzer Options"): New list and new section.
+       ("Warning Options"): Add static analysis warnings to the list.
+       (-Wno-analyzer-double-fclose): New option.
+       (-Wno-analyzer-double-free): New option.
+       (-Wno-analyzer-exposure-through-output-file): New option.
+       (-Wno-analyzer-file-leak): New option.
+       (-Wno-analyzer-free-of-non-heap): New option.
+       (-Wno-analyzer-malloc-leak): New option.
+       (-Wno-analyzer-possible-null-argument): New option.
+       (-Wno-analyzer-possible-null-dereference): New option.
+       (-Wno-analyzer-null-argument): New option.
+       (-Wno-analyzer-null-dereference): New option.
+       (-Wno-analyzer-stale-setjmp-buffer): New option.
+       (-Wno-analyzer-tainted-array-index): New option.
+       (-Wno-analyzer-use-after-free): New option.
+       (-Wno-analyzer-use-of-pointer-in-stale-stack-frame): New option.
+       (-Wno-analyzer-use-of-uninitialized-value): New option.
+       (-Wanalyzer-too-complex): New option.
+       (-fanalyzer-call-summaries): New warning.
+       (-fanalyzer-checker=): New warning.
+       (-fanalyzer-fine-grained): New warning.
+       (-fno-analyzer-state-merge): New warning.
+       (-fno-analyzer-state-purge): New warning.
+       (-fanalyzer-transitivity): New warning.
+       (-fanalyzer-verbose-edges): New warning.
+       (-fanalyzer-verbose-state-changes): New warning.
+       (-fanalyzer-verbosity=): New warning.
+       (-fdump-analyzer): New warning.
+       (-fdump-analyzer-callgraph): New warning.
+       (-fdump-analyzer-exploded-graph): New warning.
+       (-fdump-analyzer-exploded-nodes): New warning.
+       (-fdump-analyzer-exploded-nodes-2): New warning.
+       (-fdump-analyzer-exploded-nodes-3): New warning.
+       (-fdump-analyzer-supergraph): New warning.
+       * doc/sourcebuild.texi (dg-require-dot): New.
+       (dg-check-dot): New.
+       * gdbinit.in (break-on-saved-diagnostic): New command.
+       * graphviz.cc: New file.
+       * graphviz.h: New file.
+       * ordered-hash-map-tests.cc: New file.
+       * ordered-hash-map.h: New file.
+       * passes.def (pass_analyzer): Add before
+       pass_ipa_whole_program_visibility.
+       * selftest-run-tests.c (selftest::run_tests): Call
+       selftest::ordered_hash_map_tests_cc_tests.
+       * selftest.h (selftest::ordered_hash_map_tests_cc_tests): New
+       decl.
+       * shortest-paths.h: New file.
+       * timevar.def (TV_ANALYZER): New timevar.
+       (TV_ANALYZER_SUPERGRAPH): Likewise.
+       (TV_ANALYZER_STATE_PURGE): Likewise.
+       (TV_ANALYZER_PLAN): Likewise.
+       (TV_ANALYZER_SCC): Likewise.
+       (TV_ANALYZER_WORKLIST): Likewise.
+       (TV_ANALYZER_DUMP): Likewise.
+       (TV_ANALYZER_DIAGNOSTICS): Likewise.
+       (TV_ANALYZER_SHORTEST_PATHS): Likewise.
+       * tree-pass.h (make_pass_analyzer): New decl.
+       * tristate.cc: New file.
+       * tristate.h: New file.
+
+2020-01-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93254
+       * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for
+       alternatives 9 and 10.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * attribs.c (excl_hash_traits::empty_zero_p): New static constant.
+       * gcov.c (function_start_pair_hash::empty_zero_p): Likewise.
+       * graphite.c (struct sese_scev_hash::empty_zero_p): Likewise.
+       * hash-map-tests.c (selftest::test_nonzero_empty_key): New selftest.
+       (selftest::hash_map_tests_c_tests): Call it.
+       * hash-map-traits.h (simple_hashmap_traits::empty_zero_p):
+       New static constant, using the value of = H::empty_zero_p.
+       (unbounded_hashmap_traits::empty_zero_p): Likewise, using the value
+       from default_hash_traits <Value>.
+       * hash-map.h (hash_map::empty_zero_p): Likewise, using the value
+       from Traits.
+       * hash-set-tests.c (value_hash_traits::empty_zero_p): Likewise.
+       * hash-table.h (hash_table::alloc_entries): Guard the loop of
+       calls to mark_empty with !Descriptor::empty_zero_p.
+       (hash_table::empty_slow): Conditionalize the memset call with a
+       check that Descriptor::empty_zero_p; otherwise, loop through the
+       entries calling mark_empty on them.
+       * hash-traits.h (int_hash::empty_zero_p): New static constant.
+       (pointer_hash::empty_zero_p): Likewise.
+       (pair_hash::empty_zero_p): Likewise.
+       * ipa-devirt.c (default_hash_traits <type_pair>::empty_zero_p):
+       Likewise.
+       * ipa-prop.c (ipa_bit_ggc_hash_traits::empty_zero_p): Likewise.
+       (ipa_vr_ggc_hash_traits::empty_zero_p): Likewise.
+       * profile.c (location_triplet_hash::empty_zero_p): Likewise.
+       * sanopt.c (sanopt_tree_triplet_hash::empty_zero_p): Likewise.
+       (sanopt_tree_couple_hash::empty_zero_p): Likewise.
+       * tree-hasher.h (int_tree_hasher::empty_zero_p): Likewise.
+       * tree-ssa-sccvn.c (vn_ssa_aux_hasher::empty_zero_p): Likewise.
+       * tree-vect-slp.c (bst_traits::empty_zero_p): Likewise.
+       * tree-vectorizer.h
+       (default_hash_traits<scalar_cond_masked_key>::empty_zero_p):
+       Likewise.
+
+2020-01-14  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * cfgloopanal.c (average_num_loop_insns): Free bbs when early return,
+       fix typo on return value.
+
+2020-01-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR ipa/69678
+       * cgraph.c (symbol_table::create_edge): Init speculative_id and
+       target_prob.
+       (cgraph_edge::make_speculative): Add param for setting speculative_id
+       and target_prob.
+       (cgraph_edge::speculative_call_info): Update comments and find reference
+       by speculative_id for multiple indirect targets.
+       (cgraph_edge::resolve_speculation): Decrease the speculations
+       for indirect edge, drop it's speculative if not direct target
+       left. Update comments.
+       (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
+       (cgraph_node::dump): Print num_speculative_call_targets.
+       (cgraph_node::verify_node): Don't report error if speculative
+       edge not include statement.
+       (cgraph_edge::num_speculative_call_targets_p): New function.
+       * cgraph.h (int common_target_id): Remove.
+       (int common_target_probability): Remove.
+       (num_speculative_call_targets): New variable.
+       (make_speculative): Add param for setting speculative_id.
+       (cgraph_edge::num_speculative_call_targets_p): New declare.
+       (target_prob): New variable.
+       (speculative_id): New variable.
+       * ipa-fnsummary.c (analyze_function_body): Create and duplicate
+         call summaries for multiple speculative call targets.
+       * cgraphclones.c (cgraph_node::create_clone): Clone speculative_id.
+       * ipa-profile.c (struct speculative_call_target): New struct.
+       (class speculative_call_summary): New class.
+       (class speculative_call_summaries): New class.
+       (call_sums): New variable.
+       (ipa_profile_generate_summary): Generate indirect multiple targets summaries.
+       (ipa_profile_write_edge_summary): New function.
+       (ipa_profile_write_summary): Stream out indirect multiple targets summaries.
+       (ipa_profile_dump_all_summaries): New function.
+       (ipa_profile_read_edge_summary): New function.
+       (ipa_profile_read_summary_section): New function.
+       (ipa_profile_read_summary): Stream in indirect multiple targets summaries.
+       (ipa_profile): Generate num_speculative_call_targets from
+       profile summaries.
+       * ipa-ref.h (speculative_id): New variable.
+       * ipa-utils.c (ipa_merge_profiles): Update with target_prob.
+       * lto-cgraph.c (lto_output_edge): Remove indirect common_target_id and
+       common_target_probability.   Stream out speculative_id and
+       num_speculative_call_targets.
+       (input_edge): Likewise.
+       * predict.c (dump_prediction): Remove edges count assert to be
+       precise.
+       * symtab.c (symtab_node::create_reference): Init speculative_id.
+       (symtab_node::clone_references): Clone speculative_id.
+       (symtab_node::clone_referring): Clone speculative_id.
+       (symtab_node::clone_reference): Clone speculative_id.
+       (symtab_node::clear_stmts_in_references): Clear speculative_id.
+       * tree-inline.c (copy_bb): Duplicate all the speculative edges
+       if indirect call contains multiple speculative targets.
+       * value-prof.h  (check_ic_target): Remove.
+       * value-prof.c  (gimple_value_profile_transformations):
+       Use void function gimple_ic_transform.
+       * value-prof.c  (gimple_ic_transform): Handle topn case.
+       Fix comment typos.  Change it to a void function.
+
+2020-01-13  Andrew Pinski  <apinski@marvell.com>
+
+       * config/aarch64/aarch64-cores.def (octeontx2): New define.
+       (octeontx2t98): New define.
+       (octeontx2t96): New define.
+       (octeontx2t93): New define.
+       (octeontx2f95): New define.
+       (octeontx2f95n): New define.
+       (octeontx2f95mm): New define.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi (-mcpu=): Document the new cpu types.
+
+2020-01-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/33799 - destroy return value if local cleanup throws.
+       * gimplify.c (gimplify_return_expr): Handle COMPOUND_EXPR.
+
+2020-01-13  Martin Liska  <mliska@suse.cz>
+
+       * ipa-cp.c (get_max_overall_size): Use newly
+       renamed param param_ipa_cp_unit_growth.
+       * params.opt: Remove legacy param name.
+
+2020-01-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93213
+       * tree-ssa-strlen.c (handle_store): Only allow single-byte nul-over-nul
+       stores to be eliminated.
+
+2020-01-13  Martin Liska  <mliska@suse.cz>
+
+       * opts.c (print_help): Do not print CL_PARAM
+       and CL_WARNING for CL_OPTIMIZATION.
+
+2020-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR driver/92757
+       * doc/invoke.texi (Warning Options): Add caveat about some warnings
+       depending on optimization settings.
+
+2020-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/90838
+       * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
+       SCALAR_INT_TYPE_MODE directly in CTZ_DEFINED_VALUE_AT_ZERO macro
+       argument rather than to initialize temporary for targets that
+       don't use the mode argument at all.  Initialize ctzval to avoid
+       warning at -O0.
+
+2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * tree.h (OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT): New definition.
+       * tree-core.h: Document it.
+       * gimplify.c (gimplify_omp_workshare): Set it.
+       * omp-low.c (lower_omp_target): Use it.
+       * tree-pretty-print.c (dump_omp_clause): Print it.
+
+       * omp-low.c (lower_omp_target) <OMP_CLAUSE_USE_DEVICE_PTR etc.>:
+       Assert that for OpenACC we always have 'GOMP_MAP_USE_DEVICE_PTR'.
+
+2020-01-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (OBJS): Add tree-diagnostic-path.o.
+       * common.opt (fdiagnostics-path-format=): New option.
+       (diagnostic_path_format): New enum.
+       (fdiagnostics-show-path-depths): New option.
+       * coretypes.h (diagnostic_event_id_t): New forward decl.
+       * diagnostic-color.c (color_dict): Add "path".
+       * diagnostic-event-id.h: New file.
+       * diagnostic-format-json.cc (json_from_expanded_location): Make
+       non-static.
+       (json_end_diagnostic): Call context->make_json_for_path if it
+       exists and the diagnostic has a path.
+       (diagnostic_output_format_init): Clear context->print_path.
+       * diagnostic-path.h: New file.
+       * diagnostic-show-locus.c (colorizer::set_range): Special-case
+       when printing a run of events in a diagnostic_path so that they
+       all get the same color.
+       (layout::m_diagnostic_path_p): New field.
+       (layout::layout): Initialize it.
+       (layout::print_any_labels): Don't colorize the label text for an
+       event in a diagnostic_path.
+       (gcc_rich_location::add_location_if_nearby): Add
+       "restrict_to_current_line_spans" and "label" params.  Pass the
+       former to layout.maybe_add_location_range; pass the latter
+       when calling add_range.
+       * diagnostic.c: Include "diagnostic-path.h".
+       (diagnostic_initialize): Initialize context->path_format and
+       context->show_path_depths.
+       (diagnostic_show_any_path): New function.
+       (diagnostic_path::interprocedural_p): New function.
+       (diagnostic_report_diagnostic): Call diagnostic_show_any_path.
+       (simple_diagnostic_path::num_events): New function.
+       (simple_diagnostic_path::get_event): New function.
+       (simple_diagnostic_path::add_event): New function.
+       (simple_diagnostic_event::simple_diagnostic_event): New ctor.
+       (simple_diagnostic_event::~simple_diagnostic_event): New dtor.
+       (debug): New overload taking a diagnostic_path *.
+       * diagnostic.def (DK_DIAGNOSTIC_PATH): New.
+       * diagnostic.h (enum diagnostic_path_format): New enum.
+       (json::value): New forward decl.
+       (diagnostic_context::path_format): New field.
+       (diagnostic_context::show_path_depths): New field.
+       (diagnostic_context::print_path): New callback field.
+       (diagnostic_context::make_json_for_path): New callback field.
+       (diagnostic_show_any_path): New decl.
+       (json_from_expanded_location): New decl.
+       * doc/invoke.texi (-fdiagnostics-path-format=): New option.
+       (-fdiagnostics-show-path-depths): New option.
+       (-fdiagnostics-color): Add "path" to description of default
+       GCC_COLORS; describe it.
+       (-fdiagnostics-format=json): Document how diagnostic paths are
+       represented in the JSON output format.
+       * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
+       Add optional params "restrict_to_current_line_spans" and "label".
+       * opts.c (common_handle_option): Handle
+       OPT_fdiagnostics_path_format_ and
+       OPT_fdiagnostics_show_path_depths.
+       * pretty-print.c: Include "diagnostic-event-id.h".
+       (pp_format): Implement "%@" format code for printing
+       diagnostic_event_id_t *.
+       (selftest::test_pp_format): Add tests for "%@".
+       * selftest-run-tests.c (selftest::run_tests): Call
+       selftest::tree_diagnostic_path_cc_tests.
+       * selftest.h (selftest::tree_diagnostic_path_cc_tests): New decl.
+       * toplev.c (general_init): Initialize global_dc->path_format and
+       global_dc->show_path_depths.
+       * tree-diagnostic-path.cc: New file.
+       * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Make
+       non-static.  Drop "diagnostic" param in favor of storing the
+       original value of "where" and re-using it.
+       (virt_loc_aware_diagnostic_finalizer): Update for dropped param of
+       maybe_unwind_expanded_macro_loc.
+       (tree_diagnostics_defaults): Initialize context->print_path and
+       context->make_json_for_path.
+       * tree-diagnostic.h (default_tree_diagnostic_path_printer): New
+       decl.
+       (default_tree_make_json_for_path): New decl.
+       (maybe_unwind_expanded_macro_loc): New decl.
+
+2020-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93210
+       * fold-const.h (native_encode_initializer,
+       can_native_interpret_type_p): Declare.
+       * fold-const.c (native_encode_string): Fix up handling with off != -1,
+       simplify.
+       (native_encode_initializer): New function, moved from dwarf2out.c.
+       Adjust to native_encode_expr compatible arguments, including dry-run
+       and partial extraction modes.  Don't handle STRING_CST.
+       (can_native_interpret_type_p): No longer static.
+       * gimple-fold.c (fold_ctor_reference): For native_encode_expr, verify
+       offset / BITS_PER_UNIT fits into int and don't call it if
+       can_native_interpret_type_p fails.  If suboff is NULL and for
+       CONSTRUCTOR fold_{,non}array_ctor_reference returns NULL, retry with
+       native_encode_initializer.
+       (fold_const_aggregate_ref_1): Formatting fix.
+       * dwarf2out.c (native_encode_initializer): Moved to fold-const.c.
+       (tree_add_const_value_attribute): Adjust caller.
+
+       PR tree-optimization/90838
+       * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
+       SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of
+       CTZ_DEFINED_VALUE_AT_ZERO.
+
+2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/93027
+       * lra-constraints.c (match_reload): Permit input operands have the
+       same mode as output while other input operands have a different
+       mode.
+
+2020-01-10  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR tree-optimization/90838
+       * tree-ssa-forwprop.c (check_ctz_array): Add new function.
+       (check_ctz_string): Likewise.
+       (optimize_count_trailing_zeroes): Likewise.
+       (simplify_count_trailing_zeroes): Likewise.
+       (pass_forwprop::execute): Try ctz simplification.
+       * match.pd: Add matching for ctz idioms.
+
+2020-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_invalid_conversion): New function
+       for target hook.
+       (aarch64_invalid_unary_op): New function for target hook.
+       (aarch64_invalid_binary_op): New function for target hook.
+
+2020-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * config.gcc: Add arm_bf16.h.
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_simd_builtin_std_type): Add BFmode.
+       (aarch64_init_simd_builtin_types): Define element types for vector
+       types.
+       (aarch64_init_bf16_types): New function.
+       (aarch64_general_init_builtins): Add arm_init_bf16_types function call.
+       * config/aarch64/aarch64-modes.def: Add BFmode and V4BF, V8BF vector
+       modes.
+       * config/aarch64/aarch64-simd-builtin-types.def: Add BF SIMD types.
+       * config/aarch64/aarch64-simd.md: Add BF vector types to NEON move
+       patterns.
+       * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): Add V4BF.
+       (AARCH64_VALID_SIMD_QREG_MODE): Add V8BF.
+       * config/aarch64/aarch64.c
+       (aarch64_classify_vector_mode): Add support for BF types.
+       (aarch64_gimplify_va_arg_expr): Add support for BF types.
+       (aarch64_vq_mode): Add support for BF types.
+       (aarch64_simd_container_mode): Add support for BF types.
+       (aarch64_mangle_type): Add support for BF scalar type.
+       * config/aarch64/aarch64.md: Add BFmode to movhf pattern.
+       * config/aarch64/arm_bf16.h: New file.
+       * config/aarch64/arm_neon.h: Add arm_bf16.h and Bfloat vector types.
+       * config/aarch64/iterators.md: Add BF types to mode attributes.
+       (HFBF, GPF_TF_F16_MOV, VDMOV, VQMOV, VQMOV_NO2Em VALL_F16MOV): New.
+
+2020-01-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93173 - incorrect tree sharing.
+       * gimplify.c (copy_if_shared): No longer static.
+       * gimplify.h: Declare it.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi (-msve-vector-bits=): Document that
+       -msve-vector-bits=128 now generates VL-specific code for
+       little-endian targets.
+       * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Use
+       build_vector_type_for_mode to construct the data vector types.
+       * config/aarch64/aarch64.c (aarch64_convert_sve_vector_bits): Generate
+       VL-specific code for -msve-vector-bits=128 on little-endian targets.
+       (aarch64_simd_container_mode): Always prefer Advanced SIMD modes
+       for 128-bit vectors.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_evpc_sel): Fix gen_vcond_mask
+       invocation.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_builtin_vectorized_function): Check for specific vector modes,
+       rather than checking the number of elements and the element mode.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use
+       get_related_vectype_for_scalar_type rather than build_vector_type
+       to create the index type for a conditional reduction.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (update_epilogue_loop_vinfo): Update DR_REF
+       for any type of gather or scatter, including strided accesses.
+
+2020-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * tree-vectorizer.h (get_dr_vinfo_offset): Add missing function
+        comment.
+
+2020-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Use
+       get_dr_vinfo_offset
+       * tree-vect-loop.c (update_epilogue_loop_vinfo):  Remove orig_drs_init
+       parameter and its use to reset DR_OFFSET's.
+       (vect_transform_loop): Remove orig_drs_init argument.
+       * tree-vect-loop-manip.c (vect_update_init_of_dr): Update the offset
+       member of dr_vec_info rather than the offset of the associated
+       data_reference's innermost_loop_behavior.
+       (vect_update_init_of_dr): Pass dr_vec_info instead of data_reference.
+       (vect_do_peeling): Remove orig_drs_init parameter and its construction.
+       * tree-vect-stmts.c (check_scan_store): Replace use of DR_OFFSET with
+       get_dr_vinfo_offset.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+
+2020-01-10  Richard Biener  <rguenther@suse.de>
+
+       * gimple-ssa-store-merging
+       (pass_store_merging::terminate_all_aliasing_chains): Cache alias info.
+
+2020-01-10  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93217
+       * ipa-inline-analysis.c (offline_size): Make proper parenthesis
+       encapsulation that was there before r280040.
+
+2020-01-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93199
+       * tree-eh.c (sink_clobbers): Move clobbers to out-of-IL
+       sequences to avoid walking them again for secondary opportunities.
+       (pass_lower_eh_dispatch::execute): Instead actually insert
+       them here.
+
+2020-01-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93199
+       * tree-eh.c (redirect_eh_edge_1): Avoid some work if possible.
+       (cleanup_all_empty_eh): Walk landing pads in reverse order to
+       avoid quadraticness.
+
+2020-01-10  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (param_ipa_sra_max_replacements): Mark as Optimization.
+       * ipa-sra.c (pull_accesses_from_callee): New parameter caller, use it
+       to get param_ipa_sra_max_replacements.
+       (param_splitting_across_edge): Pass the caller to
+       pull_accesses_from_callee.
+
+2020-01-10  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (param_ipcp_unit_growth): Mark as Optimization.
+       * ipa-cp.c (max_new_size): Removed.
+       (orig_overall_size): New variable.
+       (get_max_overall_size): New function.
+       (estimate_local_effects): Use it.  Adjust dump.
+       (decide_about_value): Likewise.
+       (ipcp_propagate_stage): Do not calculate max_new_size, just store
+       orig_overall_size.  Adjust dump.
+       (ipa_cp_c_finalize): Clear orig_overall_size instead of max_new_size.
+
+2020-01-10  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (param_ipa_max_agg_items): Mark as Optimization
+       * ipa-cp.c (merge_agg_lats_step): New parameter max_agg_items, use
+       instead of param_ipa_max_agg_items.
+       (merge_aggregate_lattices): Extract param_ipa_max_agg_items from
+       optimization info for the callee.
+
+2020-01-09  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * lto-streamer-in.c (input_function): Remove streamed-in inline debug
+       markers if debug_inline_points is false.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config.gcc (aarch64*-*-*): Add aarch64-sve-builtins-sve2.o to
+       extra_objs.
+       * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on
+       aarch64-sve-builtins-base.def, aarch64-sve-builtins-sve2.def and
+       aarch64-sve-builtins-sve2.h.
+       (aarch64-sve-builtins-sve2.o): New rule.
+       * config/aarch64/aarch64.h (AARCH64_ISA_SVE2_AES): New macro.
+       (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3): Likewise.
+       (AARCH64_ISA_SVE2_SM4, TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Likewise.
+       (TARGET_SVE2_SHA, TARGET_SVE2_SM4): Likewise.
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Handle
+       TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3 and
+       TARGET_SVE2_SM4.
+       * config/aarch64/aarch64-sve.md: Update comments with SVE2
+       instructions that are handled here.
+       (@cond_asrd<mode>): Generalize to...
+       (@cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>): ...this.
+       (*cond_asrd<mode>_2): Generalize to...
+       (*cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>_2): ...this.
+       (*cond_asrd<mode>_z): Generalize to...
+       (*cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>_z): ...this.
+       * config/aarch64/aarch64.md (UNSPEC_LDNT1_GATHER): New unspec.
+       (UNSPEC_STNT1_SCATTER, UNSPEC_WHILEGE, UNSPEC_WHILEGT): Likewise.
+       (UNSPEC_WHILEHI, UNSPEC_WHILEHS): Likewise.
+       * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt<mode>): New
+       pattern.
+       (@aarch64_gather_ldnt_<ANY_EXTEND:optab><SVE_FULL_SDI:mode><SVE_PARTIAL_I:mode>)
+       (@aarch64_scatter_stnt<mode>): Likewise.
+       (@aarch64_scatter_stnt_<SVE_FULL_SDI:mode><SVE_PARTIAL_I:mode>)
+       (@aarch64_mul_lane_<mode>): Likewise.
+       (@aarch64_sve_suqadd<mode>_const): Likewise.
+       (*<sur>h<addsub><mode>): Generalize to...
+       (@aarch64_pred_<SVE2_COND_INT_BINARY_REV:sve_int_op><mode>): ...this
+       new pattern.
+       (@cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>): New expander.
+       (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_2): New pattern.
+       (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_3): Likewise.
+       (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_any): Likewise.
+       (*cond_<SVE2_COND_INT_BINARY_NOREV:sve_int_op><mode>_z): Likewise.
+       (@aarch64_sve_<SVE2_INT_BINARY:sve_int_op><mode>):: Likewise.
+       (@aarch64_sve_<SVE2_INT_BINARY:sve_int_op>_lane_<mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_INT_SHIFT:sve_int_op><mode>): Likewise.
+       (@cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>): New expander.
+       (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_2): New pattern.
+       (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_3): Likewise.
+       (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_any): Likewise.
+       (@aarch64_sve_<SVE2_INT_TERNARY:sve_int_op><mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_TERNARY_LANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_add_mul_lane_<mode>): Likewise.
+       (@aarch64_sve_sub_mul_lane_<mode>): Likewise.
+       (@aarch64_sve2_xar<mode>): Likewise.
+       (@aarch64_sve2_bcax<mode>): Likewise.
+       (*aarch64_sve2_eor3<mode>): Rename to...
+       (@aarch64_sve2_eor3<mode>): ...this.
+       (@aarch64_sve2_bsl<mode>): New expander.
+       (@aarch64_sve2_nbsl<mode>): Likewise.
+       (@aarch64_sve2_bsl1n<mode>): Likewise.
+       (@aarch64_sve2_bsl2n<mode>): Likewise.
+       (@aarch64_sve_add_<SHIFTRT:sve_int_op><mode>): Likewise.
+       (*aarch64_sve2_sra<mode>): Add MOVPRFX support.
+       (@aarch64_sve_add_<VRSHR_N:sve_int_op><mode>): New pattern.
+       (@aarch64_sve_<SVE2_INT_SHIFT_INSERT:sve_int_op><mode>): Likewise.
+       (@aarch64_sve2_<USMAX:su>aba<mode>): New expander.
+       (*aarch64_sve2_<USMAX:su>aba<mode>): New pattern.
+       (@aarch64_sve_<SVE2_INT_BINARY_WIDE:sve_int_op><mode>): Likewise.
+       (<su>mull<bt><Vwide>): Generalize to...
+       (@aarch64_sve_<SVE2_INT_BINARY_LONG:sve_int_op><mode>): ...this new
+       pattern.
+       (@aarch64_sve_<SVE2_INT_BINARY_LONG_lANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_<SVE2_INT_SHIFT_IMM_LONG:sve_int_op><mode>)
+       (@aarch64_sve_add_<SVE2_INT_ADD_BINARY_LONG:sve_int_op><mode>)
+       (@aarch64_sve_add_<SVE2_INT_ADD_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_qadd_<SVE2_INT_QADD_BINARY_LONG:sve_int_op><mode>)
+       (@aarch64_sve_qadd_<SVE2_INT_QADD_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_sub_<SVE2_INT_SUB_BINARY_LONG:sve_int_op><mode>)
+       (@aarch64_sve_sub_<SVE2_INT_SUB_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_qsub_<SVE2_INT_QSUB_BINARY_LONG:sve_int_op><mode>)
+       (@aarch64_sve_qsub_<SVE2_INT_QSUB_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
+       (@aarch64_sve_<SVE2_FP_TERNARY_LONG:sve_fp_op><mode>): New patterns.
+       (@aarch64_<SVE2_FP_TERNARY_LONG_LANE:sve_fp_op>_lane_<mode>)
+       (@aarch64_sve_<SVE2_INT_UNARY_NARROWB:sve_int_op><mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_UNARY_NARROWT:sve_int_op><mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_BINARY_NARROWB:sve_int_op><mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_BINARY_NARROWT:sve_int_op><mode>): Likewise.
+       (<SHRNB:r>shrnb<mode>): Generalize to...
+       (@aarch64_sve_<SVE2_INT_SHIFT_IMM_NARROWB:sve_int_op><mode>): ...this
+       new pattern.
+       (<SHRNT:r>shrnt<mode>): Generalize to...
+       (@aarch64_sve_<SVE2_INT_SHIFT_IMM_NARROWT:sve_int_op><mode>): ...this
+       new pattern.
+       (@aarch64_pred_<SVE2_INT_BINARY_PAIR:sve_int_op><mode>): New pattern.
+       (@aarch64_pred_<SVE2_FP_BINARY_PAIR:sve_fp_op><mode>): Likewise.
+       (@cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>): New expander.
+       (*cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>_2): New pattern.
+       (*cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>_z): Likewise.
+       (@aarch64_sve_<SVE2_INT_CADD:optab><mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_CMLA:optab><mode>): Likewise.
+       (@aarch64_<SVE2_INT_CMLA:optab>_lane_<mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_CDOT:optab><mode>): Likewise.
+       (@aarch64_<SVE2_INT_CDOT:optab>_lane_<mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): Likewise.
+       (@cond_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): New expander.
+       (*cond_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): New pattern.
+       (@aarch64_sve2_cvtnt<mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): Likewise.
+       (@cond_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): New expander.
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>_any): New pattern.
+       (@aarch64_sve2_cvtxnt<mode>): Likewise.
+       (@aarch64_pred_<SVE2_U32_UNARY:sve_int_op><mode>): Likewise.
+       (@cond_<SVE2_U32_UNARY:sve_int_op><mode>): New expander.
+       (*cond_<SVE2_U32_UNARY:sve_int_op><mode>): New pattern.
+       (@aarch64_pred_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): Likewise.
+       (@cond_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): New expander.
+       (*cond_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): New pattern.
+       (@aarch64_sve2_pmul<mode>): Likewise.
+       (@aarch64_sve_<SVE2_PMULL:optab><mode>): Likewise.
+       (@aarch64_sve_<SVE2_PMULL_PAIR:optab><mode>): Likewise.
+       (@aarch64_sve2_tbl2<mode>): Likewise.
+       (@aarch64_sve2_tbx<mode>): Likewise.
+       (@aarch64_sve_<SVE2_INT_BITPERM:sve_int_op><mode>): Likewise.
+       (@aarch64_sve2_histcnt<mode>): Likewise.
+       (@aarch64_sve2_histseg<mode>): Likewise.
+       (@aarch64_pred_<SVE2_MATCH:sve_int_op><mode>): Likewise.
+       (*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_cc): Likewise.
+       (*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_ptest): Likewise.
+       (aarch64_sve2_aes<CRYPTO_AES:aes_op>): Likewise.
+       (aarch64_sve2_aes<CRYPTO_AESMC:aesmc_op>): Likewise.
+       (*aarch64_sve2_aese_fused, *aarch64_sve2_aesd_fused): Likewise.
+       (aarch64_sve2_rax1, aarch64_sve2_sm4e, aarch64_sve2_sm4ekey): Likewise.
+       (<su>mulh<r>s<mode>3): Update after above pattern name changes.
+       * config/aarch64/iterators.md (VNx16QI_ONLY, VNx4SF_ONLY)
+       (SVE_STRUCT2, SVE_FULL_BHI, SVE_FULL_HSI, SVE_FULL_HDI)
+       (SVE2_PMULL_PAIR_I): New mode iterators.
+       (UNSPEC_ADCLB, UNSPEC_ADCLT, UNSPEC_ADDHNB, UNSPEC_ADDHNT, UNSPEC_BDEP)
+       (UNSPEC_BEXT, UNSPEC_BGRP, UNSPEC_CADD90, UNSPEC_CADD270, UNSPEC_CDOT)
+       (UNSPEC_CDOT90, UNSPEC_CDOT180, UNSPEC_CDOT270, UNSPEC_CMLA)
+       (UNSPEC_CMLA90, UNSPEC_CMLA180, UNSPEC_CMLA270, UNSPEC_COND_FCVTLT)
+       (UNSPEC_COND_FCVTNT, UNSPEC_COND_FCVTX, UNSPEC_COND_FCVTXNT)
+       (UNSPEC_COND_FLOGB, UNSPEC_EORBT, UNSPEC_EORTB, UNSPEC_FADDP)
+       (UNSPEC_FMAXP, UNSPEC_FMAXNMP, UNSPEC_FMLALB, UNSPEC_FMLALT)
+       (UNSPEC_FMLSLB, UNSPEC_FMLSLT, UNSPEC_FMINP, UNSPEC_FMINNMP)
+       (UNSPEC_HISTCNT, UNSPEC_HISTSEG, UNSPEC_MATCH, UNSPEC_NMATCH)
+       (UNSPEC_PMULLB, UNSPEC_PMULLB_PAIR, UNSPEC_PMULLT, UNSPEC_PMULLT_PAIR)
+       (UNSPEC_RADDHNB, UNSPEC_RADDHNT, UNSPEC_RSUBHNB, UNSPEC_RSUBHNT)
+       (UNSPEC_SLI, UNSPEC_SRI, UNSPEC_SABDLB, UNSPEC_SABDLT, UNSPEC_SADDLB)
+       (UNSPEC_SADDLBT, UNSPEC_SADDLT, UNSPEC_SADDWB, UNSPEC_SADDWT)
+       (UNSPEC_SBCLB, UNSPEC_SBCLT, UNSPEC_SMAXP, UNSPEC_SMINP)
+       (UNSPEC_SQCADD90, UNSPEC_SQCADD270, UNSPEC_SQDMULLB, UNSPEC_SQDMULLBT)
+       (UNSPEC_SQDMULLT, UNSPEC_SQRDCMLAH, UNSPEC_SQRDCMLAH90)
+       (UNSPEC_SQRDCMLAH180, UNSPEC_SQRDCMLAH270, UNSPEC_SQRSHRNB)
+       (UNSPEC_SQRSHRNT, UNSPEC_SQRSHRUNB, UNSPEC_SQRSHRUNT, UNSPEC_SQSHRNB)
+       (UNSPEC_SQSHRNT, UNSPEC_SQSHRUNB, UNSPEC_SQSHRUNT, UNSPEC_SQXTNB)
+       (UNSPEC_SQXTNT, UNSPEC_SQXTUNB, UNSPEC_SQXTUNT, UNSPEC_SSHLLB)
+       (UNSPEC_SSHLLT, UNSPEC_SSUBLB, UNSPEC_SSUBLBT, UNSPEC_SSUBLT)
+       (UNSPEC_SSUBLTB, UNSPEC_SSUBWB, UNSPEC_SSUBWT, UNSPEC_SUBHNB)
+       (UNSPEC_SUBHNT, UNSPEC_TBL2, UNSPEC_UABDLB, UNSPEC_UABDLT)
+       (UNSPEC_UADDLB, UNSPEC_UADDLT, UNSPEC_UADDWB, UNSPEC_UADDWT)
+       (UNSPEC_UMAXP, UNSPEC_UMINP, UNSPEC_UQRSHRNB, UNSPEC_UQRSHRNT)
+       (UNSPEC_UQSHRNB, UNSPEC_UQSHRNT, UNSPEC_UQXTNB, UNSPEC_UQXTNT)
+       (UNSPEC_USHLLB, UNSPEC_USHLLT, UNSPEC_USUBLB, UNSPEC_USUBLT)
+       (UNSPEC_USUBWB, UNSPEC_USUBWT): New unspecs.
+       (UNSPEC_SMULLB, UNSPEC_SMULLT, UNSPEC_UMULLB, UNSPEC_UMULLT)
+       (UNSPEC_SMULHS, UNSPEC_SMULHRS, UNSPEC_UMULHS, UNSPEC_UMULHRS)
+       (UNSPEC_RSHRNB, UNSPEC_RSHRNT, UNSPEC_SHRNB, UNSPEC_SHRNT): Move
+       further down file.
+       (VNARROW, Ventype): New mode attributes.
+       (Vewtype): Handle VNx2DI.  Fix typo in comment.
+       (VDOUBLE): New mode attribute.
+       (sve_lane_con): Handle VNx8HI.
+       (SVE_INT_UNARY): Include ss_abs and ss_neg for TARGET_SVE2.
+       (SVE_INT_BINARY): Likewise ss_plus, us_plus, ss_minus and us_minus.
+       (sve_int_op, sve_int_op_rev): Handle the above codes.
+       (sve_pred_int_rhs2_operand): Likewise.
+       (MULLBT, SHRNB, SHRNT): Delete.
+       (SVE_INT_SHIFT_IMM): New int iterator.
+       (SVE_WHILE): Add UNSPEC_WHILEGE, UNSPEC_WHILEGT, UNSPEC_WHILEHI
+       and UNSPEC_WHILEHS for TARGET_SVE2.
+       (SVE2_U32_UNARY, SVE2_INT_UNARY_NARROWB, SVE2_INT_UNARY_NARROWT)
+       (SVE2_INT_BINARY, SVE2_INT_BINARY_LANE, SVE2_INT_BINARY_LONG)
+       (SVE2_INT_BINARY_LONG_LANE, SVE2_INT_BINARY_NARROWB)
+       (SVE2_INT_BINARY_NARROWT, SVE2_INT_BINARY_PAIR, SVE2_FP_BINARY_PAIR)
+       (SVE2_INT_BINARY_PAIR_LONG, SVE2_INT_BINARY_WIDE): New int iterators.
+       (SVE2_INT_SHIFT_IMM_LONG, SVE2_INT_SHIFT_IMM_NARROWB): Likewise.
+       (SVE2_INT_SHIFT_IMM_NARROWT, SVE2_INT_SHIFT_INSERT, SVE2_INT_CADD)
+       (SVE2_INT_BITPERM, SVE2_INT_TERNARY, SVE2_INT_TERNARY_LANE): Likewise.
+       (SVE2_FP_TERNARY_LONG, SVE2_FP_TERNARY_LONG_LANE, SVE2_INT_CMLA)
+       (SVE2_INT_CDOT, SVE2_INT_ADD_BINARY_LONG, SVE2_INT_QADD_BINARY_LONG)
+       (SVE2_INT_SUB_BINARY_LONG, SVE2_INT_QSUB_BINARY_LONG): Likewise.
+       (SVE2_INT_ADD_BINARY_LONG_LANE, SVE2_INT_QADD_BINARY_LONG_LANE)
+       (SVE2_INT_SUB_BINARY_LONG_LANE, SVE2_INT_QSUB_BINARY_LONG_LANE)
+       (SVE2_COND_INT_UNARY_FP, SVE2_COND_FP_UNARY_LONG): Likewise.
+       (SVE2_COND_FP_UNARY_NARROWB, SVE2_COND_INT_BINARY): Likewise.
+       (SVE2_COND_INT_BINARY_NOREV, SVE2_COND_INT_BINARY_REV): Likewise.
+       (SVE2_COND_INT_SHIFT, SVE2_MATCH, SVE2_PMULL): Likewise.
+       (optab): Handle the new unspecs.
+       (su, r): Remove entries for UNSPEC_SHRNB, UNSPEC_SHRNT, UNSPEC_RSHRNB
+       and UNSPEC_RSHRNT.
+       (lr): Handle the new unspecs.
+       (bt): Delete.
+       (cmp_op, while_optab_cmp, sve_int_op): Handle the new unspecs.
+       (sve_int_op_rev, sve_int_add_op, sve_int_qadd_op, sve_int_sub_op)
+       (sve_int_qsub_op): New int attributes.
+       (sve_fp_op, rot): Handle the new unspecs.
+       * config/aarch64/aarch64-sve-builtins.h
+       (function_resolver::require_matching_pointer_type): Declare.
+       (function_resolver::resolve_unary): Add an optional boolean argument.
+       (function_resolver::finish_opt_n_resolution): Add an optional
+       type_suffix_index argument.
+       (gimple_folder::redirect_call): Declare.
+       (gimple_expander::prepare_gather_address_operands): Add an optional
+       bool parameter.
+       * config/aarch64/aarch64-sve-builtins.cc: Include
+       aarch64-sve-builtins-sve2.h.
+       (TYPES_b_unsigned, TYPES_b_integer, TYPES_bh_integer): New macros.
+       (TYPES_bs_unsigned, TYPES_hs_signed, TYPES_hs_integer): Likewise.
+       (TYPES_hd_unsigned, TYPES_hsd_signed): Likewise.
+       (TYPES_hsd_integer): Use TYPES_hsd_signed.
+       (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): New macros.
+       (TYPES_s_unsigned): Likewise.
+       (TYPES_s_integer): Use TYPES_s_unsigned.
+       (TYPES_sd_signed, TYPES_sd_unsigned): New macros.
+       (TYPES_sd_integer): Use them.
+       (TYPES_d_unsigned): New macro.
+       (TYPES_d_integer): Use it.
+       (TYPES_d_data, TYPES_cvt_long, TYPES_cvt_narrow_s): New macros.
+       (TYPES_cvt_narrow): Likewise.
+       (DEF_SVE_TYPES_ARRAY): Include the new types macros above.
+       (preds_mx): New variable.
+       (function_builder::add_overloaded_function): Allow the new feature
+       set to be more restrictive than the original one.
+       (function_resolver::infer_pointer_type): Remove qualifiers from
+       the pointer type before printing it.
+       (function_resolver::require_matching_pointer_type): New function.
+       (function_resolver::resolve_sv_displacement): Handle functions
+       that don't support 32-bit vector indices or svint32_t vector offsets.
+       (function_resolver::finish_opt_n_resolution): Take the inferred type
+       as a separate argument.
+       (function_resolver::resolve_unary): Optionally treat all forms in
+       the same way as normal merging functions.
+       (gimple_folder::redirect_call): New function.
+       (function_expander::prepare_gather_address_operands): Add an argument
+       that says whether scaled forms are available.  If they aren't,
+       handle scaling of vector indices and don't add the extension and
+       scaling operands.
+       (function_expander::map_to_unspecs): If aarch64_sve isn't available,
+       fall back to using cond_* instead.
+       * config/aarch64/aarch64-sve-builtins-functions.h (rtx_code_function):
+       Split out the member variables into...
+       (rtx_code_function_base): ...this new base class.
+       (rtx_code_function_rotated): Inherit rtx_code_function_base.
+       (unspec_based_function): Split out the member variables into...
+       (unspec_based_function_base): ...this new base class.
+       (unspec_based_function_rotated): Inherit unspec_based_function_base.
+       (unspec_based_function_exact_insn): New class.
+       (unspec_based_add_function, unspec_based_add_lane_function)
+       (unspec_based_lane_function, unspec_based_pred_function)
+       (unspec_based_qadd_function, unspec_based_qadd_lane_function)
+       (unspec_based_qsub_function, unspec_based_qsub_lane_function)
+       (unspec_based_sub_function, unspec_based_sub_lane_function): New
+       typedefs.
+       (unspec_based_fused_function): New class.
+       (unspec_based_mla_function, unspec_based_mls_function): New typedefs.
+       (unspec_based_fused_lane_function): New class.
+       (unspec_based_mla_lane_function, unspec_based_mls_lane_function): New
+       typedefs.
+       (CODE_FOR_MODE1): New macro.
+       (fixed_insn_function): New class.
+       (while_comparison): Likewise.
+       * config/aarch64/aarch64-sve-builtins-shapes.h (binary_long_lane)
+       (binary_long_opt_n, binary_narrowb_opt_n, binary_narrowt_opt_n)
+       (binary_to_uint, binary_wide, binary_wide_opt_n, compare, compare_ptr)
+       (load_ext_gather_index_restricted, load_ext_gather_offset_restricted)
+       (load_gather_sv_restricted, shift_left_imm_long): Declare.
+       (shift_left_imm_to_uint, shift_right_imm_narrowb): Likewise.
+       (shift_right_imm_narrowt, shift_right_imm_narrowb_to_uint): Likewise.
+       (shift_right_imm_narrowt_to_uint, store_scatter_index_restricted)
+       (store_scatter_offset_restricted, tbl_tuple, ternary_long_lane)
+       (ternary_long_opt_n, ternary_qq_lane_rotate, ternary_qq_rotate)
+       (ternary_shift_left_imm, ternary_shift_right_imm, ternary_uint)
+       (unary_convert_narrowt, unary_long, unary_narrowb, unary_narrowt)
+       (unary_narrowb_to_uint, unary_narrowt_to_uint, unary_to_int): Likewise.
+       * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication):
+       Also add an initial argument for unary_convert_narrowt, regardless
+       of the predication type.
+       (build_32_64): Allow loads and stores to specify MODE_none.
+       (build_sv_index64, build_sv_uint_offset): New functions.
+       (long_type_suffix): New function.
+       (binary_imm_narrowb_base, binary_imm_narrowt_base): New classes.
+       (binary_imm_long_base, load_gather_sv_base): Likewise.
+       (shift_right_imm_narrow_wrapper, ternary_shift_imm_base): Likewise.
+       (ternary_resize2_opt_n_base, ternary_resize2_lane_base): Likewise.
+       (unary_narrowb_base, unary_narrowt_base): Likewise.
+       (binary_long_lane_def, binary_long_lane): New shape.
+       (binary_long_opt_n_def, binary_long_opt_n): Likewise.
+       (binary_narrowb_opt_n_def, binary_narrowb_opt_n): Likewise.
+       (binary_narrowt_opt_n_def, binary_narrowt_opt_n): Likewise.
+       (binary_to_uint_def, binary_to_uint): Likewise.
+       (binary_wide_def, binary_wide): Likewise.
+       (binary_wide_opt_n_def, binary_wide_opt_n): Likewise.
+       (compare_def, compare): Likewise.
+       (compare_ptr_def, compare_ptr): Likewise.
+       (load_ext_gather_index_restricted_def,
+       load_ext_gather_index_restricted): Likewise.
+       (load_ext_gather_offset_restricted_def,
+       load_ext_gather_offset_restricted): Likewise.
+       (load_gather_sv_def): Inherit from load_gather_sv_base.
+       (load_gather_sv_restricted_def, load_gather_sv_restricted): New shape.
+       (shift_left_imm_def, shift_left_imm): Likewise.
+       (shift_left_imm_long_def, shift_left_imm_long): Likewise.
+       (shift_left_imm_to_uint_def, shift_left_imm_to_uint): Likewise.
+       (store_scatter_index_restricted_def,
+       store_scatter_index_restricted): Likewise.
+       (store_scatter_offset_restricted_def,
+       store_scatter_offset_restricted): Likewise.
+       (tbl_tuple_def, tbl_tuple): Likewise.
+       (ternary_long_lane_def, ternary_long_lane): Likewise.
+       (ternary_long_opt_n_def, ternary_long_opt_n): Likewise.
+       (ternary_qq_lane_def): Inherit from ternary_resize2_lane_base.
+       (ternary_qq_lane_rotate_def, ternary_qq_lane_rotate): New shape
+       (ternary_qq_opt_n_def): Inherit from ternary_resize2_opt_n_base.
+       (ternary_qq_rotate_def, ternary_qq_rotate): New shape.
+       (ternary_shift_left_imm_def, ternary_shift_left_imm): Likewise.
+       (ternary_shift_right_imm_def, ternary_shift_right_imm): Likewise.
+       (ternary_uint_def, ternary_uint): Likewise.
+       (unary_convert): Fix typo in comment.
+       (unary_convert_narrowt_def, unary_convert_narrowt): New shape.
+       (unary_long_def, unary_long): Likewise.
+       (unary_narrowb_def, unary_narrowb): Likewise.
+       (unary_narrowt_def, unary_narrowt): Likewise.
+       (unary_narrowb_to_uint_def, unary_narrowb_to_uint): Likewise.
+       (unary_narrowt_to_uint_def, unary_narrowt_to_uint): Likewise.
+       (unary_to_int_def, unary_to_int): Likewise.
+       * config/aarch64/aarch64-sve-builtins-base.cc (unspec_cmla)
+       (unspec_fcmla, unspec_cond_fcmla, expand_mla_mls_lane): New functions.
+       (svasrd_impl): Delete.
+       (svcadd_impl::expand): Handle integer operations too.
+       (svcmla_impl::expand, svcmla_lane::expand): Likewise, using the
+       new functions to derive the unspec numbers.
+       (svmla_svmls_lane_impl): Replace with...
+       (svmla_lane_impl, svmls_lane_impl): ...these new classes.  Handle
+       integer operations too.
+       (svwhile_impl): Rename to...
+       (svwhilelx_impl): ...this and inherit from while_comparison.
+       (svasrd): Use unspec_based_function.
+       (svmla_lane): Use svmla_lane_impl.
+       (svmls_lane): Use svmls_lane_impl.
+       (svrecpe, svrsqrte): Handle unsigned integer operations too.
+       (svwhilele, svwhilelt): Use svwhilelx_impl.
+       * config/aarch64/aarch64-sve-builtins-sve2.h: New file.
+       * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
+       * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise.
+       * config/aarch64/aarch64-sve-builtins.def: Include
+       aarch64-sve-builtins-sve2.def.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sve_arith_immediate_p)
+       (aarch64_sve_sqadd_sqsub_immediate_p): Add a machine_mode argument.
+       * config/aarch64/aarch64.c (aarch64_sve_arith_immediate_p)
+       (aarch64_sve_sqadd_sqsub_immediate_p): Likewise.  Handle scalar
+       immediates as well as vector ones.
+       * config/aarch64/predicates.md (aarch64_sve_arith_immediate)
+       (aarch64_sve_sub_arith_immediate, aarch64_sve_qadd_immediate)
+       (aarch64_sve_qsub_immediate): Update calls accordingly.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve2.md: Add banner comments.
+       (<su>mulh<r>s<mode>3): Move further up file.
+       (<su>mull<bt><Vwide>, <r>shrnb<mode>, <r>shrnt<mode>)
+       (*aarch64_sve2_sra<mode>): Move further down file.
+       * config/aarch64/t-aarch64 (s-check-sve-md): Check aarch64-sve2.md too.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (SVE_WHILE): Add UNSPEC_WHILERW
+       and UNSPEC_WHILEWR.
+       (while_optab_cmp): Handle them.
+       * config/aarch64/aarch64-sve.md
+       (*while_<while_optab_cmp><GPI:mode><PRED_ALL:mode>_ptest): Make public
+       and add a "@" marker.
+       * config/aarch64/aarch64-sve2.md (check_<raw_war>_ptrs<mode>): Use it
+       instead of gen_aarch64_sve2_while_ptest.
+       (@aarch64_sve2_while<cmp_op><GPI:mode><PRED_ALL:mode>_ptest): Delete.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (UNSPEC_WHILE_LE): Rename to...
+       (UNSPEC_WHILELE): ...this.
+       (UNSPEC_WHILE_LO): Rename to...
+       (UNSPEC_WHILELO): ...this.
+       (UNSPEC_WHILE_LS): Rename to...
+       (UNSPEC_WHILELS): ...this.
+       (UNSPEC_WHILE_LT): Rename to...
+       (UNSPEC_WHILELT): ...this.
+       * config/aarch64/iterators.md (SVE_WHILE): Update accordingly.
+       (cmp_op, while_optab_cmp): Likewise.
+       * config/aarch64/aarch64.c (aarch64_sve_move_pred_via_while): Likewise.
+       * config/aarch64/aarch64-sve-builtins-base.cc (svwhilele): Likewise.
+       (svwhilelt): Likewise.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins-shapes.h (unary_count): Delete.
+       (unary_to_uint): Define.
+       * config/aarch64/aarch64-sve-builtins-shapes.cc (unary_count_def)
+       (unary_count): Rename to...
+       (unary_to_uint_def, unary_to_uint): ...this.
+       * config/aarch64/aarch64-sve-builtins-base.def: Update accordingly.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins-functions.h
+       (code_for_mode_function): New class.
+       (CODE_FOR_MODE0, QUIET_CODE_FOR_MODE0): New macros.
+       * config/aarch64/aarch64-sve-builtins-base.cc (svcompact_impl)
+       (svext_impl, svmul_lane_impl, svsplice_impl, svtmad_impl): Delete.
+       (svcompact, svext, svsplice): Use QUIET_CODE_FOR_MODE0.
+       (svmul_lane, svtmad): Use CODE_FOR_MODE0.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (addsub): New code attribute.
+       * config/aarch64/aarch64-simd.md (aarch64_<su_optab><optab><mode>):
+       Re-express as...
+       (aarch64_<su_optab>q<addsub><mode>): ...this, making the same change
+       in the asm string and attributes.  Fix indentation.
+       * config/aarch64/aarch64-sve.md (@aarch64_<su_optab><optab><mode>):
+       Re-express as...
+       (@aarch64_sve_<optab><mode>): ...this.
+       * config/aarch64/aarch64-sve-builtins.h
+       (function_expander::expand_signed_unpred_op): Delete.
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_expander::expand_signed_unpred_op): Likewise.
+       (function_expander::map_to_rtx_codes): If the optab isn't defined,
+       try using code_for_aarch64_sve instead.
+       * config/aarch64/aarch64-sve-builtins-base.cc (svqadd_impl): Delete.
+       (svqsub_impl): Likewise.
+       (svqadd, svqsub): Use rtx_code_function instead.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (SRHSUB, URHSUB): Delete.
+       (HADDSUB, sur, addsub): Remove them.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-nrv.c (pass_return_slot::execute): Handle all internal
+       functions the same way, rather than singling out those that
+       aren't mapped directly to optabs.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * target.def (compatible_vector_types_p): New target hook.
+       * hooks.h (hook_bool_const_tree_const_tree_true): Declare.
+       * hooks.c (hook_bool_const_tree_const_tree_true): New function.
+       * doc/tm.texi.in (TARGET_COMPATIBLE_VECTOR_TYPES_P): New hook.
+       * doc/tm.texi: Regenerate.
+       * gimple-expr.c: Include target.h.
+       (useless_type_conversion_p): Use targetm.compatible_vector_types_p.
+       * config/aarch64/aarch64.c (aarch64_compatible_vector_types_p): New
+       function.
+       (TARGET_COMPATIBLE_VECTOR_TYPES_P): Define.
+       * config/aarch64/aarch64-sve-builtins.cc (gimple_folder::convert_pred):
+       Use the original predicate if it already has a suitable type.
+
+2020-01-09  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.h (cgraph_edge): Make remove, set_call_stmt, make_direct,
+       resolve_speculation and redirect_call_stmt_to_callee static.  Change
+       return type of set_call_stmt to cgraph_edge *.
+       * auto-profile.c (afdo_indirect_call): Adjust call to
+       redirect_call_stmt_to_callee.
+       * cgraph.c (cgraph_edge::set_call_stmt): Make return cgraph-edge *,
+       make the this pointer explicit, adjust self-recursive calls and the
+       call top make_direct.  Return the resulting edge.
+       (cgraph_edge::remove): Make this pointer explicit.
+       (cgraph_edge::resolve_speculation): Likewise, adjust call to remove.
+       (cgraph_edge::make_direct): Likewise, adjust call to
+       resolve_speculation.
+       (cgraph_edge::redirect_call_stmt_to_callee): Likewise, also adjust
+       call to set_call_stmt.
+       (cgraph_update_edges_for_call_stmt_node): Update call to
+       set_call_stmt and remove.
+       * cgraphclones.c (cgraph_node::set_call_stmt_including_clones):
+       Renamed edge to master_edge.  Adjusted calls to set_call_stmt.
+       (cgraph_node::create_edge_including_clones): Moved "first" definition
+       of edge to the block where it was used.  Adjusted calls to
+       set_call_stmt.
+       (cgraph_node::remove_symbol_and_inline_clones): Adjust call to
+       cgraph_edge::remove.
+       * cgraphunit.c (walk_polymorphic_call_targets): Adjusted calls to
+       make_direct and redirect_call_stmt_to_callee.
+       * ipa-fnsummary.c (redirect_to_unreachable): Adjust calls to
+       resolve_speculation and make_direct.
+       * ipa-inline-transform.c (inline_transform): Adjust call to
+       redirect_call_stmt_to_callee.
+       (check_speculations_1):: Adjust call to resolve_speculation.
+       * ipa-inline.c (resolve_noninline_speculation): Adjust call to
+       resolve-speculation.
+       (inline_small_functions): Adjust call to resolve_speculation.
+       (ipa_inline): Likewise.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Adjust call to
+       make_direct.
+       * ipa-visibility.c (function_and_variable_visibility): Make iteration
+       safe with regards to edge removal, adjust calls to
+       redirect_call_stmt_to_callee.
+       * ipa.c (walk_polymorphic_call_targets): Adjust calls to make_direct
+       and redirect_call_stmt_to_callee.
+       * multiple_target.c (create_dispatcher_calls): Adjust call to
+       redirect_call_stmt_to_callee
+       (redirect_to_specific_clone): Likewise.
+       * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
+       Adjust calls to cgraph_edge::remove.
+       * tree-inline.c (copy_bb): Adjust call to set_call_stmt.
+       (redirect_all_calls): Adjust call to redirect_call_stmt_to_callee.
+       (expand_call_inline): Adjust call to cgraph_edge::remove.
+
+2020-01-09  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: Set Optimization for
+       param_max_speculative_devirt_maydefs.
+
+2020-01-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93200
+       PR fortran/92956
+       * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type.
+
+2020-01-09  Martin Liska  <mliska@suse.cz>
+
+       * auto-profile.c (auto_profile): Use opt_for_fn
+       for a parameter.
+       * ipa-cp.c (ipcp_lattice::add_value): Likewise.
+       (propagate_vals_across_arith_jfunc): Likewise.
+       (hint_time_bonus): Likewise.
+       (incorporate_penalties): Likewise.
+       (good_cloning_opportunity_p): Likewise.
+       (perform_estimation_of_a_value): Likewise.
+       (estimate_local_effects): Likewise.
+       (ipcp_propagate_stage): Likewise.
+       * ipa-fnsummary.c (decompose_param_expr): Likewise.
+       (set_switch_stmt_execution_predicate): Likewise.
+       (analyze_function_body): Likewise.
+       * ipa-inline-analysis.c (offline_size): Likewise.
+       * ipa-inline.c (early_inliner): Likewise.
+       * ipa-prop.c (ipa_analyze_node): Likewise.
+       (ipcp_transform_function): Likewise.
+       * ipa-sra.c (process_scan_results): Likewise.
+       (ipa_sra_summarize_function): Likewise.
+       * params.opt: Rename ipcp-unit-growth to
+       ipa-cp-unit-growth.  Add Optimization for various
+       IPA-related parameters.
+
+2020-01-09  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93054
+       * gimplify.c (gimplify_expr): Deal with NOP definitions.
+
+2020-01-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93040
+       * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit.
+
+2020-01-09  Georg-Johann Lay  <avr@gjlay.de>
+
+       * common/config/avr/avr-common.c (avr_option_optimization_table)
+       [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.
+
+2020-01-09  Martin Liska  <mliska@suse.cz>
+
+       * cgraphclones.c (symbol_table::materialize_all_clones):
+       Use cgraph_node::dump_name.
+
+2020-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/93202
+       * config/riscv/riscv.c (riscv_print_operand_reloc): Use
+       output_operand_lossage instead of gcc_unreachable.
+       * doc/md.texi (riscv f constraint): Fix typo.
+
+       PR target/93141
+       * config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
+       SWI.  Use <general_hilo_operand> instead of <general_operand>.  Use
+       CONST_SCALAR_INT_P instead of CONST_INT_P.
+       (*subv<mode>4_1): Rename to ...
+       (subv<mode>4_1): ... this.
+       (*subv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
+       define_insn_and_split patterns.
+       (*subv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
+       patterns.
+
+2020-01-08  David Malcolm  <dmalcolm@redhat.com>
+
+       * vec.c (class selftest::count_dtor): New class.
+       (selftest::test_auto_delete_vec): New test.
+       (selftest::vec_c_tests): Call it.
+       * vec.h (class auto_delete_vec): New class template.
+       (auto_delete_vec<T>::~auto_delete_vec): New dtor.
+
+2020-01-08  David Malcolm  <dmalcolm@redhat.com>
+
+       * sbitmap.h (auto_sbitmap): Add operator const_sbitmap.
+
+2020-01-08  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
+       use of TLS_MODEL_LOCAL_EXEC when not pic.
+
+2020-01-08  David Malcolm  <dmalcolm@redhat.com>
+
+       * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix
+       memory leak.
+
+2020-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93187
+       * config/i386/i386.md (*stack_protect_set_2_<mode> peephole2,
+       *stack_protect_set_3 peephole2): Also check that the second
+       insns source is general_operand.
+
+       PR target/93174
+       * config/i386/i386.md (addcarry<mode>_0): Use nonimmediate_operand
+       predicate for output operand instead of register_operand.
+       (addcarry<mode>, addcarry<mode>_1): Likewise.  Add alternative with
+       memory destination and non-memory operands[2].
+
+2020-01-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Use ::dump_name or
+       ::dump_asm_name instead of (::name or ::asm_name).
+       * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
+       * cgraphunit.c (walk_polymorphic_call_targets): Likewise.
+       (analyze_functions): Likewise.
+       (expand_all_functions): Likewise.
+       * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
+       (propagate_bits_across_jump_function): Likewise.
+       (dump_profile_updates): Likewise.
+       (ipcp_store_bits_results): Likewise.
+       (ipcp_store_vr_results): Likewise.
+       * ipa-devirt.c (dump_targets): Likewise.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * ipa-hsa.c (check_warn_node_versionable): Likewise.
+       (process_hsa_functions): Likewise.
+       * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise.
+       (set_alias_uids): Likewise.
+       * ipa-inline-transform.c (save_inline_function_body): Likewise.
+       * ipa-inline.c (recursive_inlining): Likewise.
+       (inline_to_all_callers_1): Likewise.
+       (ipa_inline): Likewise.
+       * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
+       (ipa_propagate_frequency): Likewise.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+       (remove_described_reference): Likewise.
+       * ipa-pure-const.c (worse_state): Likewise.
+       (check_retval_uses): Likewise.
+       (analyze_function): Likewise.
+       (propagate_pure_const): Likewise.
+       (propagate_nothrow): Likewise.
+       (dump_malloc_lattice): Likewise.
+       (propagate_malloc): Likewise.
+       (pass_local_pure_const::execute): Likewise.
+       * ipa-visibility.c (optimize_weakref): Likewise.
+       (function_and_variable_visibility): Likewise.
+       * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
+       (ipa_discover_variable_flags): Likewise.
+       * lto-streamer-out.c (output_function): Likewise.
+       (output_constructor): Likewise.
+       * tree-inline.c (copy_bb): Likewise.
+       * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
+       * varpool.c (symbol_table::remove_unreferenced_decls): Likewise.
+
+2020-01-08  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93199
+       * tree-eh.c (sink_clobbers): Update virtual operands for
+       the first and last stmt only.  Add a dry-run capability.
+       (pass_lower_eh_dispatch::execute): Perform clobber sinking
+       after CFG manipulations and in RPO order to catch all
+       secondary opportunities reliably.
+
+2020-01-08  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/93182
+       * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
+
+2019-01-08  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93199
+       * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified.
+       * tree-ssa-loop-im.c (move_computations_worker): Properly adjust
+       virtual operand, also updating SSA use.
+       * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
+       Update stmt after resetting virtual operand.
+       (tree_loop_interchange::move_code_to_inner_loop): Likewise.
+       * gimple-iterator.c (gsi_remove): When not removing the stmt
+       permanently do not delink immediate uses or mark the stmt modified.
+
+2020-01-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name.
+       (ipa_call_context::estimate_size_and_time): Likewise.
+       (inline_analyze_function): Likewise.
+
+2020-01-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Use systematically
+       dump_asm_name.
+
+2020-01-08  Georg-Johann Lay  <avr@gjlay.de>
+
+       Add -nodevicespecs option for avr.
+
+       PR target/93182
+       * config/avr/avr.opt (-nodevicespecs): New driver option.
+       * config/avr/driver-avr.c (avr_devicespecs_file): Only issue
+       "-specs=device-specs/..." if that option is not set.
+       * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
+
+2020-01-08  Georg-Johann Lay  <avr@gjlay.de>
+
+       Implement 64-bit double functions for avr.
+
+       PR target/92055
+       * config.gcc (tm_defines) [target=avr]: Support --with-libf7,
+       --with-double-comparison.
+       * doc/install.texi: Document them.
+       * config/avr/avr-c.c (avr_cpu_cpp_builtins)
+       <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
+       <WITH_DOUBLE_COMPARISON>: New built-in defines.
+       * doc/invoke.texi (AVR Built-in Macros): Document them.
+       * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
+       * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
+       * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
+
+2020-01-08  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/93188
+       * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
+       armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
+       when only building rm-profile multilibs.
+
+2020-01-08  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93084
+       * ipa-cp.c (self_recursively_generated_p): Find matched aggregate
+       lattice for a value to check.
+       (propagate_vals_across_arith_jfunc): Add an assertion to ensure
+       finite propagation in self-recursive scc.
+
+2020-01-08  Luo Xiong Hu  <luoxhu@linux.ibm.com>
+
+       * ipa-inline.c (caller_growth_limits): Restore the AND.
+
+2020-01-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator.
+       (VEC_ALLREG_ALT): New iterator.
+       (VEC_ALLREG_INT_MODE): New iterator.
+       (VCMP_MODE): New iterator.
+       (VCMP_MODE_INT): New iterator.
+       (vec_cmpu<mode>di): Use VCMP_MODE_INT.
+       (vec_cmp<u>v64qidi): New define_expand.
+       (vec_cmp<mode>di_exec): Use VCMP_MODE.
+       (vec_cmpu<mode>di_exec): New define_expand.
+       (vec_cmp<u>v64qidi_exec): New define_expand.
+       (vec_cmp<mode>di_dup): Use VCMP_MODE.
+       (vec_cmp<mode>di_dup_exec): Use VCMP_MODE.
+       (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>): Rename ...
+       (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): ... to this.
+       (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>_exec): Rename ...
+       (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): ... to this.
+       (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>): Rename ...
+       (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): ... to this.
+       (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec): Rename ...
+       (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): ... to
+       this.
+       * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes.
+       * config/gcn/gcn.md (expander): Add sign_extend and zero_extend.
+
+2020-01-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/constraints.md (DA): Update description and match.
+       (DB): Likewise.
+       (Db): New constraint.
+       * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second
+       parameter.
+       * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter.
+       Implement 'Db' mixed immediate type.
+       * config/gcn/gcn-valu.md (addcv64si3<exec_vcc>): Rework constraints.
+       (addcv64si3_dup<exec_vcc>): Delete.
+       (subcv64si3<exec_vcc>): Rework constraints.
+       (addv64di3): Rework constraints.
+       (addv64di3_exec): Rework constraints.
+       (subv64di3): Rework constraints.
+       (addv64di3_dup): Delete.
+       (addv64di3_dup_exec): Delete.
+       (addv64di3_zext): Rework constraints.
+       (addv64di3_zext_exec): Rework constraints.
+       (addv64di3_zext_dup): Rework constraints.
+       (addv64di3_zext_dup_exec): Rework constraints.
+       (addv64di3_zext_dup2): Rework constraints.
+       (addv64di3_zext_dup2_exec): Rework constraints.
+       (addv64di3_sext_dup2): Rework constraints.
+       (addv64di3_sext_dup2_exec): Rework constraints.
+
+2020-01-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented
+       existing target checks.
+
+2020-01-07  Richard Biener  <rguenther@suse.de>
+
+       * doc/install.texi: Bump minimal supported MPC version.
+
+2020-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * langhooks-def.h (lhd_simulate_enum_decl): Declare.
+       (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it.
+       * langhooks.c: Include stor-layout.h.
+       (lhd_simulate_enum_decl): New function.
+       * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call
+       handle_arm_sve_h for the LTO frontend.
+       (register_vector_type): Cope with null returns from pushdecl.
+
+2020-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p)
+       (aarch64_sve::nvectors_if_data_type): Replace with...
+       (aarch64_sve::builtin_type_p): ...this.
+       * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h.
+       (find_vector_type): Delete.
+       (add_sve_type_attribute): New function.
+       (lookup_sve_type_attribute): Likewise.
+       (register_builtin_types): Add an "SVE type" attribute to each type.
+       (register_tuple_type): Likewise.
+       (svbool_type_p, nvectors_if_data_type): Delete.
+       (mangle_builtin_type): Use lookup_sve_type_attribute.
+       (builtin_type_p): Likewise.  Add an overload that returns the
+       number of constituent vector and predicate registers.
+       * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete.
+       (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p
+       instead of aarch64_sve_argument_p.
+       (aarch64_takes_arguments_in_sve_regs_p): Likewise.
+       (aarch64_pass_by_reference): Likewise.
+       (aarch64_function_value_1): Likewise.
+       (aarch64_return_in_memory): Likewise.
+       (aarch64_layout_arg): Likewise.
+
+2020-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93156
+       * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second
+       least significant bit is always clear.
+
+       PR tree-optimization/93118
+       * match.pd ((x >> c) << c -> x & (-1<<c)): Add nop_convert?.  Add new
+       simplifier with two intermediate conversions.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: Add Optimization for various parameters.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/83411
+       * doc/extend.texi: Explain cloning for target_clone
+       attribute.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * common.opt: Make in Optimization option
+       as it is affected by -O0, which is an Optimization
+       option.
+       * tree-inline.c (tree_inlinable_function_p):
+       Use opt_for_fn for warn_inline.
+       (expand_call_inline): Likewise.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * common.opt: Make flag_ree as optimization
+       attribute. 
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR optimization/92860
+       * params.opt: Mark param_min_crossjump_insns with Optimization
+       keyword.
+
+2020-01-07  Luo Xiong Hu  <luoxhu@linux.ibm.com>
+
+       * ipa-inline-analysis.c (estimate_growth): Fix typo.
+       * ipa-inline.c (caller_growth_limits): Use OR instead of AND.
+
+2020-01-06  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New
+       helper function to return the valid addressing formats for a given
+       hard register and mode.
+       (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask.
+
+       * config/rs6000/constraints.md (Q constraint): Update
+       documentation.
+       * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint
+       documentation.
+
+       * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
+       Use 'Q' for doing vector extract from memory.
+       (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
+       memory.
+       (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
+       doing vector extract from memory.
+       (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
+       extract from memory.
+
+       * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support
+       for the offset being 34-bits when -mcpu=future is used.
+
+2020-01-06  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md: Revert change to use ordered_comparison_operator
+       instead of cmpib_comparison_operator in cmpib patterns.
+       * config/pa/predicates.md (cmpib_comparison_operator): Revert removal
+       of cmpib_comparison_operator.  Revise comment.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
+       in an IFN_DIV_POW2 node to be equal.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
+       (vect_check_scalar_mask): ...this.
+       (vectorizable_store, vectorizable_load): Update call accordingly.
+       (vectorizable_call): Use vect_check_scalar_mask to check the mask
+       argument in calls to conditional internal functions.
+
+2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
+       '0' matching inputs.
+       (subv64di3_exec): Likewise.
+
+2020-01-06  Bryan Stenson  <bryan@siliconvortex.com>
+
+       * config/mips/mips.c (vr4130_align_insns): Fix typo.
+       * doc/md.texi (movstr): Likewise.
+
+2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
+       clobber.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
+       Depend on...
+       (s-aarch64-tune-md): ...this new stamp file.  Pipe the new contents
+       to a temporary file and use move-if-change to update the real
+       file where necessary.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
+       rather than Upa for CPY /M.
+
+2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
+       immediate.
+
+2020-01-06  Martin Liska  <mliska@suse.cz>
+
+    PR tree-optimization/92860
+    * params.opt: Mark param_max_combine_insns with Optimization
+    keyword. 
+
+2020-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93141
+       * config/i386/i386.md (SWIDWI): New mode iterator.
+       (DWI, dwi): Add TImode variants.
+       (addv<mode>4): Use SWIDWI iterator instead of SWI.  Use
+       <general_hilo_operand> instead of <general_operand>.  Use
+       CONST_SCALAR_INT_P instead of CONST_INT_P.
+       (*addv<mode>4_1): Rename to ...
+       (addv<mode>4_1): ... this.
+       (QWI): New mode attribute.
+       (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
+       define_insn_and_split patterns.
+       (*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
+       patterns.
+       (uaddv<mode>4): Use SWIDWI iterator instead of SWI.  Use
+       <general_hilo_operand> instead of <general_operand>.
+       (*addcarry<mode>_1): New define_insn.
+       (*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
+
+2020-01-03  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
+
+       * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
+       Use "call" instead of "set".
+
+2020-01-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/92917
+       * ipa-cp.c (print_all_lattices): Skip functions without info.
+
+2020-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93089
+       * config/i386/i386-options.c (ix86_simd_clone_adjust): If
+       TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
+       simd clones.  If TARGET_PREFER_AVX256, use prefer-vector-width=512
+       for 'e' simd clones.
+
+       PR target/93089
+       * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
+       entry.
+       (mprefer-vector-width=): Add Save.
+       * config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
+       -mprefer-vector-width= if non-zero.  Fix up -mfpmath= comment.
+       (ix86_debug_options, ix86_function_specific_print): Adjust
+       ix86_target_string callers.
+       (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
+       (ix86_valid_target_attribute_tree): Likewise.
+       * config/i386/i386-options.h (ix86_target_string): Add PVW argument.
+       * config/i386/i386-expand.c (ix86_expand_builtin): Adjust
+       ix86_target_string caller.
+
+       PR target/93110
+       * config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
+       emitting ASHIFTRT, XOR and MINUS by hand.  Use gen_int_mode with QImode
+       instead of gen_int_shift_amount + convert_modes.
+
+       PR rtl-optimization/93088
+       * loop-iv.c (find_single_def_src): Punt after looking through
+       128 reg copies for regs with single definitions.  Move definitions
+       to first uses.
+
+2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm-c.c (arm_cpu_builtins): Define
+       __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
+       __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
+       __ARM_BF16_FORMAT_ALTERNATIVE when enabled.
+       * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
+       * config/arm/arm-tables.opt: Regenerated.
+       * config/arm/arm.c (arm_option_reconfigure_globals): Initialize
+       arm_arch_i8mm and arm_arch_bf16 when enabled.
+       * config/arm/arm.h (TARGET_I8MM): New macro.
+       (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
+       * config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
+       * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
+       * config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
+       (v8_6_a_simd_variants): New.
+       (v8_*_a_simd_variants): Add i8mm and bf16.
+       * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.
+
+2020-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/93087
+       * predict.c (compute_function_frequency): Don't call
+       warn_function_cold on functions that already have cold attribute.
+
+2020-01-01  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR target/67834
+       * config/pa/pa.c (pa_elf_select_rtx_section): New.  Put references to
+       COMDAT group function labels in .data.rel.ro.local section.
+       * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
+
+       PR target/93111
+       * config/pa/pa.md (scc): Use ordered_comparison_operator instead of
+       comparison_operator in B and S integer comparisons.  Likewise, use
+       ordered_comparison_operator instead of cmpib_comparison_operator in
+       cmpib patterns.
+       * config/pa/predicates.md (cmpib_comparison_operator): Remove.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * gcc.c (process_command): Update copyright notice dates.
+       * gcov-dump.c (print_version): Ditto.
+       * gcov.c (print_version): Ditto.
+       * gcov-tool.c (print_version): Ditto.
+       * gengtype.c (create_file): Ditto.
+       * doc/cpp.texi: Bump @copying's copyright year.
+       * doc/cppinternals.texi: Ditto.
+       * doc/gcc.texi: Ditto.
+       * doc/gccint.texi: Ditto.
+       * doc/gcov.texi: Ditto.
+       * doc/install.texi: Ditto.
+       * doc/invoke.texi: Ditto.
+
+2020-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa.c (walk_polymorphic_call_targets): Fix updating of overall
+       summary.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93098
+       * match.pd (popcount): For shift amounts, use integer_onep
+       or wi::to_widest () == cst instead of tree_to_uhwi () == cst
+       tests.  Make sure that precision is power of two larger than or equal
+       to 16.  Ensure shift is never negative.  Use HOST_WIDE_INT_UC macro
+       instead of ULL suffixed constants.  Formatting fixes.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2020 b/gcc/ada/ChangeLog-2020
new file mode 100644 (file)
index 0000000..5ce188d
--- /dev/null
@@ -0,0 +1,13978 @@
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Move
+       to spec to allow inlining.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * checks.adb: Remove, not used.
+       * checks.ads: Likewise.
+       * exp_ch6.adb: Likewise.
+       * exp_ch7.adb: Likewise.
+       * exp_ch7.ads: Likewise.
+       * exp_fixd.adb: Likewise.
+       * exp_tss.adb: Likewise.
+       * exp_tss.ads: Likewise.
+       * exp_util.adb: Likewise.
+       * exp_util.ads: Likewise.
+       * gnat1drv.adb: Likewise.
+       * libgnat/s-finmas.adb: Likewise.
+       * libgnat/s-finmas.ads: Likewise.
+       * libgnat/system-aix.ads: Likewise.
+       * libgnat/system-darwin-arm.ads: Likewise.
+       * libgnat/system-darwin-ppc.ads: Likewise.
+       * libgnat/system-darwin-x86.ads: Likewise.
+       * libgnat/system-djgpp.ads: Likewise.
+       * libgnat/system-dragonfly-x86_64.ads: Likewise.
+       * libgnat/system-freebsd.ads: Likewise.
+       * libgnat/system-hpux-ia64.ads: Likewise.
+       * libgnat/system-hpux.ads: Likewise.
+       * libgnat/system-linux-alpha.ads: Likewise.
+       * libgnat/system-linux-arm.ads: Likewise.
+       * libgnat/system-linux-hppa.ads: Likewise.
+       * libgnat/system-linux-ia64.ads: Likewise.
+       * libgnat/system-linux-m68k.ads: Likewise.
+       * libgnat/system-linux-mips.ads: Likewise.
+       * libgnat/system-linux-ppc.ads: Likewise.
+       * libgnat/system-linux-riscv.ads: Likewise.
+       * libgnat/system-linux-s390.ads: Likewise.
+       * libgnat/system-linux-sh4.ads: Likewise.
+       * libgnat/system-linux-sparc.ads: Likewise.
+       * libgnat/system-linux-x86.ads: Likewise.
+       * libgnat/system-lynxos178-ppc.ads: Likewise.
+       * libgnat/system-lynxos178-x86.ads: Likewise.
+       * libgnat/system-mingw.ads: Likewise.
+       * libgnat/system-qnx-aarch64.ads: Likewise.
+       * libgnat/system-rtems.ads: Likewise.
+       * libgnat/system-solaris-sparc.ads: Likewise.
+       * libgnat/system-solaris-x86.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp.ads: Likewise.
+       * libgnat/system-vxworks-arm.ads: Likewise.
+       * libgnat/system-vxworks-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks-e500-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc.ads: Likewise.
+       * libgnat/system-vxworks-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks-x86-vthread.ads: Likewise.
+       * libgnat/system-vxworks-x86.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64.ads: Likewise.
+       * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-arm.ads: Likewise.
+       * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+       * repinfo.adb: Likewise.
+       * repinfo.ads: Likewise.
+       * rtsfind.ads: Likewise.
+       * sem_aux.adb: Likewise.
+       * sem_aux.ads: Likewise.
+       * sem_ch13.adb: Likewise.
+       * sem_ch13.ads: Likewise.
+       * sem_util.adb (Validity_Checks_Suppressed, TSS,
+       Is_All_Null_Statements, Known_Non_Negative,
+       Non_Limited_Designated_Type, Get_Binary_Nkind, Get_Unary_Nkind,
+       Is_Protected_Operation, Number_Components, Package_Body,
+       Validate_Independence, Independence_Checks): Likewise; update
+       comments.
+       * targparm.adb: Likewise.
+       * targparm.ads (AAM, AAM_Str, Fractional_Fixed_Ops,
+       Frontend_Layout, Make_Detach_Call, Target_Has_Fixed_Ops, Detach,
+       Back_End_Layout, Create_Dynamic_SO_Ref, Get_Dynamic_SO_Entity,
+       Is_Dynamic_SO_Ref, Is_Static_SO_Ref,
+       Fractional_Fixed_Ops_On_Target): Likewise.
+       * validsw.adb (Save_Validity_Check_Options,
+       Set_Default_Validity_Check_Options): Likewise.
+       * validsw.ads: Likewise.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * symbols.ads, symbols.adb: Removed no longer used.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.adb (New_Requires_Transient_Scope): Renamed
+       Requires_Transient_Scope.
+       (Requires_Transient_Scope, Old_Requires_Transient_Scope,
+       Results_Differ): Removed.
+       * debug.adb: Remove -gnatdQ.
+
+2020-12-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valrea.adb (Need_Extra): Fix comment.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Case_Statement): Move modification of
+       Unblocked_Exit_Count after early return statements; fix typo in
+       comment.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Case_Statement): Change local variable
+       Exp to constant; remove unreferenced Last_Choice variable;
+       reduce scope of other variables.
+       (Analyze_If_Statement): Reduce scope of a local variable; add
+       comment.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * opt.ads (Multiple_Unit_Index): Refine type from Int to Nat.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (In_Check_Node): Add guard and rename Node to
+       Par, just like it is done in surrounding routines, e.g.
+       In_Assertion_Expression_Pragma and In_Generic_Formal_Package.
+
+2020-12-17  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
+       libgnat/a-cdlili.adb, libgnat/a-cdlili.ads,
+       libgnat/a-cidlli.adb, libgnat/a-cidlli.ads,
+       libgnat/a-cobove.adb, libgnat/a-cobove.ads,
+       libgnat/a-coinve.adb, libgnat/a-coinve.ads,
+       libgnat/a-convec.adb, libgnat/a-convec.ads: Add *_Vector
+       operations, remove default for Count, rename Append_One to be
+       Append.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Declare_Expression): Need to establish a
+       transient scope in case Expression (N) requires actions to be
+       wrapped.  Code cleanup.
+       * exp_ch7.adb, exp_ch11.adb: Code cleanup.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch3.adb (P_Identifier_Declarations): Reuse
+       Error_Msg_Ada_2020_Feature for object renaming without subtype.
+       * par-ch4.adb (P_Primary): Likewise for target name.
+       (P_Iterated_Component_Association): Likewise for iterated
+       component.
+       (P_Declare_Expression): Likewise for declare expression.
+       * par-ch6.adb (P_Formal_Part): Likewise for aspect on formal
+       parameter.
+       * sem_aggr.adb (Resolve_Delta_Aggregate): Ditto.
+       * sem_ch8.adb (Analyze_Object_Renaming): Reuse
+       Error_Msg_Ada_2020_Feature.
+       * sem_ch13.adb (Validate_Aspect_Aggregate): Reuse
+       Error_Msg_Ada_2020_Feature; use lower case for "aspect" and
+       don't use underscore for "Ada_2020"; don't give up on analysis
+       in Ada 2012 mode.
+       (Validate_Aspect_Stable_Properties): Reuse
+       Error_Msg_Ada_2020_Feature; use lower case for "aspect"; minor
+       style fixes.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Request a compile
+       time error replacement in Apply_Compile_Time_Constraint_Error
+       in case of an invalid field.
+       * sem_ch3.adb (Create_Constrained_Components): Take advantage of
+       Gather_Components also in the case of a record extension and
+       also constrain records in the case of compile time known discriminant
+       values, as already done in gigi.
+       * sem_util.ads, sem_util.adb (Gather_Components): New parameter
+       Allow_Compile_Time to allow compile time known (but non static)
+       discriminant values, needed by Create_Constrained_Components,
+       and new parameter Include_Interface_Tag.
+       (Is_Dependent_Component_Of_Mutable_Object): Use Original_Node to
+       perform check on the original tree.
+       (Is_Object_Reference): Likewise.  Only call Original_Node when
+       relevant via a new function Safe_Prefix.
+       (Is_Static_Discriminant_Component, In_Check_Node): New.
+       (Is_Actual_Out_Or_In_Out_Parameter): New.
+       * exp_ch4.adb (Expand_N_Selected_Component): Remove no longer needed
+       code preventing evaluating statically discriminants in more cases.
+       * exp_ch5.adb (Expand_N_Loop_Statement): Simplify expansion of loops
+       with an N_Raise_xxx_Error node to avoid confusing the code generator.
+       (Make_Component_List_Assign): Try to find a constrained type to
+       extract discriminant values from, so that the case statement
+       built gets an opportunity to be folded by
+       Expand_N_Case_Statement.
+       (Expand_Assign_Record): Update comments, code cleanups.
+       * sem_attr.adb (Analyze_Attribute): Perform most of the analysis
+       on the original prefix node to deal properly with a prefix rewritten
+       as a N_Raise_xxx_Error.
+       * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Handle properly
+       a discrete subtype definition being rewritten as N_Raise_xxx_Error.
+       * sem_ch8.adb (Analyze_Object_Renaming): Handle N_Raise_xxx_Error
+       nodes as part of the expression being renamed.
+       * sem_eval.ads, sem_eval.adb (Fold, Eval_Selected_Component): New.
+       (Compile_Time_Known_Value, Expr_Value, Expr_Rep_Value): Evaluate
+       static discriminant component values.
+       * sem_res.adb (Resolve_Selected_Component): Call
+       Eval_Selected_Component.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Remove
+       folding of discrete values.
+       * exp_intr.adb (Expand_Unc_Conversion): Analyze, resolve and
+       evaluate (if possible) calls to instances of
+       Ada.Unchecked_Conversion after they have been expanded into
+       N_Unchecked_Type_Conversion.
+       * sem_eval.adb (Eval_Unchecked_Conversion): Add folding of
+       discrete values.
+
+2020-12-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise.
+       * exp_imgv.adb (Expand_Value_Attribute): Use RE_Value_Long_Float in
+       lieu of RE_Value_Long_Long_Float as fallback for fixed-point types.
+       Also use it for Long_Long_Float if it has same size as Long_Float.
+       * libgnat/s-imgrea.adb: Replace Powten_Table with Powen_LLF.
+       * libgnat/s-powflt.ads: New file.
+       * libgnat/s-powlfl.ads: Likewise.
+       * libgnat/s-powtab.ads: Rename to...
+       * libgnat/s-powllf.ads: ...this.
+       * libgnat/s-valflt.ads: Add with clause for System.Powten_Flt and
+       pass its table as actual parameter to System.Val_Real.
+       * libgnat/s-vallfl.ads: Likewise for System.Powten_LFlt.
+       * libgnat/s-valllf.ads: Likewise for System.Powten_LLF.
+       * libgnat/s-valrea.ads: Add Maxpow and Powten_Address parameters.
+       * libgnat/s-valrea.adb: Add pragma Warnings (Off).
+       (Need_Extra): New boolean constant.
+       (Precision_Limit): Set it according to Need_Extra.
+       (Impl): Adjust actual parameter.
+       (Integer_to_Rea): Add assertion on the machine radix. Take into
+       account the extra digit only if Need_Extra is true.  Reimplement
+       the computation of the final value for bases 2, 4, 8, 10 and 16.
+       * libgnat/s-valued.adb (Impl): Adjust actual parameter.
+       (Scan_Decimal): Add pragma Unreferenced.
+       (Value_Decimal): Likewise.
+       * libgnat/s-valuef.adb (Impl): Adjust actual parameter.
+       * libgnat/s-valuer.ads (Floating): Remove.
+       (Round): New formal parameter.
+       * libgnat/s-valuer.adb (Round_Extra): New procedure.
+       (Scan_Decimal_Digits): Use it to round the extra digit if Round
+       is set to True in the instantiation.
+       (Scan_Integral_Digits): Likewise.
+
+2020-12-17  Erwan Le Guillou  <leguillou@adacore.com>
+
+       * libgnat/system-lynxos178-ppc.ads,
+       libgnat/system-lynxos178-x86.ads: Fix small typo in comments.
+
+2020-12-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_dbug.adb (Get_Encoded_Name): Generate encodings for fixed
+       point types only if -fgnat-encodings=all is specified.
+
+2020-12-17  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Build_Discriminant_Checks): Add condition to
+       replace references to the current instance of the type when we
+       are within an Init_Proc.
+       (Replace_Current_Instance): Examine a given node and replace the
+       current instance of the type with the corresponding _init
+       formal.
+       (Search_And_Replace_Current_Instance): Traverse proc which calls
+       Replace_Current_Instance in order to replace all references
+       within a given expression.
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch12.adb (P_Formal_Derived_Type_Definition): Complain
+       about formal type with aspect specification, which only become
+       legal in Ada 2020.
+       * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Reuse
+       Error_Msg_Ada_2005_Extension.
+       (P_Entry_Declaration): Likewise.
+       * scng.adb (Scan): Improve diagnostics for target_name; emit
+       error, but otherwise continue in earlier than Ada 2020 modes.
+
+2020-12-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * libgnat/a-cbsyqu.ads (Implementation): Provide a box
+       initialization for the element array used internally to
+       represent the queue, so that its components are properly
+       initialized if the given element type has default
+       initialization. Suppress warnings on the rest of the package in
+       case the element type has no default or discriminant, because it
+       is bound to be confusing to the user.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.adb (Inherit_Predicate_Flags): No-op before Ada 2012.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call, Make_Init_Call): Take protected
+       types into account.
+       * sem_util.ads: Fix typo.
+
+2020-12-17  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb: Rework error messages.
+       * exp_ch3.adb: Likewise.
+       * freeze.adb: Likewise.
+       * lib-load.adb: Likewise.
+       * par-ch12.adb: Likewise.
+       * par-ch3.adb: Likewise.
+       * par-ch4.adb: Likewise.
+       * par-ch9.adb: Likewise.
+       * sem_aggr.adb: Likewise.
+       * sem_attr.adb: Likewise.
+       * sem_cat.adb: Likewise.
+       * sem_ch10.adb: Likewise.
+       * sem_ch12.adb: Likewise.
+       (Instantiate_Type): Fix CODEFIX comment, applicable only on
+       continuation message, and identify the second message as a
+       continuation.
+       * sem_ch13.adb: Rework error messages.
+       * sem_ch3.adb: Likewise.
+       * sem_ch4.adb: Likewise.
+       * sem_ch5.adb: Likewise.
+       * sem_ch6.adb: Likewise.
+       * sem_ch8.adb: Likewise.
+       * sem_ch9.adb: Likewise.
+       * sem_prag.adb: Likewise.
+       * sem_res.adb: Likewise.
+       * sem_util.adb: Likewise.
+       (Wrong_Type): Fix CODEFIX comment, applicable only on
+       continuation message, and identify the second message as a
+       continuation.
+       * symbols.adb: Rework error messages.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_attr.adb (OK_Self_Reference): Return True if node does not
+       come from source (e.g. a rewritten aggregate).
+
+2020-12-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Parse_Aspect_Stable_Properties): Fix style;
+       limit the scope of local variables; remove extra assignment in
+       Extract_Entity.
+       (Validate_Aspect_Stable_Properties): Simplify with procedural
+       Next.
+
+2020-12-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * ali.ads, ali.adb, bindo-writers.adb, lib-writ.adb (Scope):
+       Renamed to IS_Scope.
+
+2020-12-16  Joffrey Huguet  <huguet@adacore.com>
+
+       * libgnat/a-strfix.ads: Add postconditions and contract cases to
+       subprograms.
+
+2020-12-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): If iterator
+       filter is present, preanalyze filter without expansion.
+       (Analyze_Loop_Parameter_Specification): When
+       loop_Parameter_Specification is rewritten as
+       Iterator_Specification, transfer Iterator_Filter if present.
+
+2020-12-16  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-objrea.ads (Object_Arch): Add ARM enum
+       * libgnat/s-objrea.adb (Initialize): Add EM_ARM case.
+       (Read_Address): Add ARM case to 32bit read.
+       * Makefile.rtl: Add trasym units to the runtime for armhf-linux.
+
+2020-12-16  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-expect.adb (Non_Blocking_Spawn): Deallocate elements
+       on Arg_List after calling Set_Up_Child_Communications.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch3.adb (P_Modular_Type_Definition): Remove colon from
+       error message.
+       * sem_ch11.adb (Check_Duplication): Likewise.
+       * sem_ch3.adb (Derived_Type_Declaration): Likewise.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch12.adb (P_Formal_Object_Declarations): Refine types to
+       Pos.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * impunit.adb (Not_Impl_Defined_Unit): Fix typo in iteration
+       over Non_Imp_File_Names_12 array.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch9.adb, sem_warn.adb: Simplify membership test.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb, exp_util.adb, sem_ch4.adb, sem_disp.adb,
+       sem_elab.adb: Simplify membership test.
+
+2020-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-powtab.ads (Maxpow): Use explicit formula in comment.
+
+2020-12-16  Philippe Gil  <gil@adacore.com>
+
+       * libgnarl/s-tporft.adb (Register_Foreign_Thread): Set
+       Global_Task_Lock_Nesting before using allocator.
+
+2020-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valrea.adb (Maxexp32): New constant array.
+       (Maxexp64): Likewise.
+       (Maxexp80): Likewise.
+       (Integer_to_Real): New local constants Maxexp and B.
+       When the exponent is too negative, do the divison in two steps.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst
+       (Test_Case): Change integer to float literals.
+       * gnat_rm.texi: Regenerate.
+
+2020-12-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Add a codefix
+       for extra parentheses around aspect Annotate expression; reject
+       "(null record)" aggregate and extra parentheses around aspect
+       Test_Case expression.
+       * sem_prag.adb (Analyze_Pragma): Reject "null", "(null record)"
+       and extra parentheses around pragma Contract_Cases; likewise for
+       pragma Subprogram_Variant.
+
+2020-12-16  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * adaint.h (__gnat_in_child_after_fork): New flag to express
+       child process side after fork call.
+       * adaint.c (__gnat_portable_spawn): Set flag
+       __gnat_in_child_after_fork.
+       * expect.c (__gnat_expect_fork): Set __gnat_in_child_after_fork
+       to one on child side.
+       * libgnat/memtrack.adb
+       (In_Child_After_Fork): Flag to disable memory tracking.
+       (Allow_Trace): New routine defining if memory should be tracked.
+       (Alloc, Realloc, Free): Use Allow_Trace in "if" condition
+       instead of First_Call.
+
+2020-12-16  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-tifiio.adb: Mark body not in SPARK.
+       * libgnat/a-tifiio.ads: Mark spec in SPARK.
+       * libgnat/a-tifiio__128.adb: Mark body not in SPARK.
+
+2020-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuer.adb (Scan_Decimal_Digits): Tweak overflow test.
+       (Scan_Integral_Digits): Likewise.
+
+2020-12-16  Pascal Obry  <obry@adacore.com>
+
+       * s-oscons-tmplt.c: Add some OS constants.
+
+2020-12-15  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-sercom__linux.adb (Set): Use cfsetospeed and
+       cfsetispeed to set the baud rate. Clear non-blocking serial port
+       status when blocking is requested.
+
+2020-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valrea.adb (Integer_to_Real): Always use Extra.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch5.adb (P_Condition): Simplify condition for warning
+       about extra parens and make it easier to understand.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.ads (Error_Msg_Ada_2005_Extension): New routine (spec).
+       * errout.adb (Error_Msg_Ada_2005_Extension): New routine (body).
+       * par-ch10.adb: Reuse new routine; correct casing for "LIMITED
+       WITH".
+       * par-ch11.adb: Likewise.
+       * par-ch12.adb: Likewise.
+       * par-ch3.adb: Likewise.
+       * par-ch4.adb: Likewise; replace "box" with "<>".
+       * par-ch6.adb: Likewise.
+       * par-ch9.adb: Likewise; correct casing for "THEN ABORT".
+
+2020-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_ugn/gnat_and_program_execution.rst: Minor fix.
+       * gnat_ugn.texi: Regenerate.
+       * libgnat/s-valuer.ads (Precision_Limit): New formal parameter.
+       * libgnat/s-valuer.adb (Precision_Limit): Remove.
+       (Scan_Decimal_Digits): Robustify overflow check.
+       (Scan_Integral_Digits): Likewise.
+       * libgnat/s-valrea.adb: Add assertion on the size of the unsigned
+       type and instantiate System.Value_R with the mantissa limit.
+       (Integer_to_Real): Add Extra parameter and take it into account.
+       (Scan_Real): Pass Extra to Integer_to_Real.
+       (Value_Real): Likewise.
+       * libgnat/s-valued.adb: Add assertion on the size of the unsigned
+       type and instantiate System.Value_R with the mantissa limit.
+       * libgnat/s-valuef.adb: Likewise.
+
+2020-12-15  Justin Squirek  <squirek@adacore.com>
+
+       * contracts.adb, contracts.ads (Build_Postconditions_Procedure):
+       Add declarations for Postcond_Enabled,
+       Result_Object_For_Postcondition, and
+       Return_Success_For_Postcond, and place all postconditions within
+       an if statement to control their execution for interactions when
+       cleanup actions get generated.
+       (Get_Postcond_Enabled): Created to fetch object declared to
+       handle new expansion of postconditions.
+       (Get_Result_Object_For_Postcond): Created to fetch object
+       declared to handle new expansion of postconditions.
+       (Get_Return_Success_For_Postcond): Created to fetch object
+       declared to handle new expansion of postconditions.
+       * einfo.adb, einfo.ads: Modify flag Stores_Attribute_Old_Prefix
+       to apply to constants, variables, and types.
+       * exp_ch6.adb (Add_Return): Add assignment to
+       Return_Success_For_Postcond.
+       (Expand_Non_Function_Return): Add assignment to
+       Return_Success_For_Postcond
+       (Expand_Simple_Function_Return): Add assignment to
+       Result_Object_For_Postcond and Return_Success_For_Postcond.
+       * exp_ch7.adb (Build_Finalization_Master): Mark finalization
+       masters which finalize types created store 'Old objects as
+       storing 'Old objects.
+       (Build_Finalizer): Created to generated a unified and special
+       expansion for finalization when postconditions are present.
+       (Build_Finalizer_Helper): Renamed Build_Finalizer and added
+       parameter to facilitate the creation of separate finalization
+       routines for 'Old objects and general objects.
+       (Create_Finalizer): Add condition for the insertion of the
+       finalizer spec to avoid malformed trees.
+       (Expand_Cleanup_Actions): Move _postconditions and related
+       declarations to the new declarative section.  Fix the loop to
+       properly stop at the subprogram declaration for the
+       postconditions procedure and exclude its body from being moved
+       to the new list of declarations to avoid freezing issues.
+       * exp_prag.adb (Expand_Attributes): Mark temporary created to
+       store 'Old objects as storing a 'Old attribute.
+       * sem_ch6.adb (Find_What_Applies_To): Remove strange exception
+       to postconditions when traversing the scope stack.
+       * sem_prag.adb (Find_Related_Declaration_Or_Body): Use the newly
+       created Enclosing_HSS function to find the HSS for a potentially
+       nested statement.
+       * sem_util.adb, sem_util.ads (Declare_Indirect_Temp): Mark types
+       created to store 'Old objects as storing 'Old attributes.
+       (Enclosing_HSS): Created to find the enclosing handled sequence
+       of statements for a given statement.
+       * snames.ads-tmpl: Add multiple names to aid in the expansion of
+       finalization and to control the evaluation of postconditions.
+       Including _finalization_controller, a new routine to centralize
+       finalization actions and postcondition evaluation.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch5.adb (P_Loop_Parameter_Specification): Complain about
+       missing -gnat2020 switch.
+       (P_Iterator_Specification): Likewise.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify with
+       Append_New.
+
+2020-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Remove s-fatsfl$(objext)
+       and add s-valflt$(objext), s-vallfl$(objext), s-valllf$(objext).
+       * exp_attr.adb (Find_Fat_Info): Merge Short_Float and Float cases.
+       * exp_imgv.adb (Expand_Value_Attribute): Replace RE_Value_Real with
+       RE_Value_Long_Long_Float for fixed-point types and use appropriate
+       base type for floating-point types.
+       * rtsfind.ads (RTU_Id): Remove System_Fat_IEEE_Long_Float,
+       System_Fat_IEEE_Short_Float and System_Val_Real, add System_Val_Flt,
+       System_Val_LFlt and System_Val_LLF.
+       (RE_Id): Remove RE_Attr_IEEE_Long, RE_Fat_IEEE_Long,
+       RE_Attr_IEEE_Short, RE_Fat_IEEE_Short, RE_Attr_Short_Float, add
+       RE_Value_Float, RE_Value_Long_Float, RE_Value_Long_Long_Float,
+       (RE_Unit_Table): Likewise.
+       * libgnat/a-ticoau.ads: Add with clause for Float_Aux and make the
+       package generic.
+       (Get): Change parameter types to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-ticoau.adb: Remove clause and renaming for Float_Aux.
+       (Get): Change parameter types to Num.
+       (Gets): Likewise.
+       (Put): Likewise.
+       (Puts): Likewise.  Add conversion to Long_Long_Float.
+       * libgnat/a-ticoio.adb: Remove with clause for Ada.Text_IO, add with
+       clause for Float_Aux, add with and use clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux and
+       Complex_Aux on Float, Long_Float, and Long_Long_Float.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.
+       (Get): Call appropriate Gets routine from auxiliary package.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-tideau.adb: Remove with and use clause for Float_Aux.
+       * libgnat/a-tifiau.adb: Likewise.
+       * libgnat/a-tifiio.adb: Add with and use clause for System.Val_LLF.
+       Instantiate Float_Aux on Long_Long_Float.
+       (Get): Adjust call to Get routine from auxiliary package.
+       (Get): Adjust call to Gets routine from auxiliary package.
+       (Put): Adjust call to Put routine from auxiliary package.
+       (Put): Adjust call to Puts routine from auxiliary package.
+       * libgnat/a-tifiio__128.adb: Likewise.
+       (Get): Likewise.
+       (Get): Likewise.
+       (Put): Likewise.
+       (Put): Likewise.
+       * libgnat/a-tiflau.ads: Make the package generic.
+       (Get): Change parameter type to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-tiflau.adb: Remove clauses for System.Val_Real.
+       (Get): Change parameter type to Num and call Scan routine.
+       (Gets): Likewise.
+       (Load_Real): Move to...
+       (Put): Change parameter type and add conversion to Long_Long_Float.
+       (Puts): Likewise.
+       * libgnat/a-tiflio.adb: Add with and use clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
+       Long_Float and Long_Long_Float.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.
+       (Get): Call previous variant.
+       (Get): Call appropriate Gets routine from auxiliary package.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call previous variant.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-tigeau.ads (Load_Real): New procedure.
+       * libgnat/a-tigeau.adb (Load_Real): ...here.
+       * libgnat/a-wtcoau.ads: Add with clause for Float_Aux and make the
+       package generic.
+       (Get): Change parameter types to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-wtcoau.adb: Remove clause and renaming for Float_Aux.
+       (Get): Change parameter types to Num.
+       (Gets): Likewise.
+       (Put): Likewise.
+       (Puts): Likewise.  Add conversion to Long_Long_Float.
+       * libgnat/a-wtcoio.ads: Remove use clause for Complex_Types and use
+       qualified names throughout accordingly.
+       * libgnat/a-wtcoio.adb: Remove clause for Ada.Unchecked_Conversion,
+       add with clause for Float_Aux, add clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types.
+       Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and
+       Long_Long_Float.  Remove LLF subtype and TFT instantiation.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.
+       (Get): Call appropriate Gets routine from auxiliary package.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-wtdeau.adb: Remove with and use clause for Float_Aux.
+       * libgnat/a-wtfiau.adb: Likewise.
+       * libgnat/a-wtfiio.adb: Add with and use clause for System.Val_LLF.
+       Instantiate Float_Aux on Long_Long_Float.
+       (Get): Adjust call to Get routine from auxiliary package.
+       (Get): Adjust call to Gets routine from auxiliary package.
+       (Put): Adjust call to Put routine from auxiliary package.
+       (Put): Adjust call to Puts routine from auxiliary package.
+       * libgnat/a-wtfiio__128.adb: Likewise.
+       (Get): Likewise.
+       (Get): Likewise.
+       (Put): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtflau.ads: Make the package generic.
+       (Get): Change parameter type to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-wtflau.adb: Remove clauses for System.Val_Real.
+       (Get): Change parameter type to Num and call Scan routine. Set
+       Ptr parameter lazily.
+       (Gets): Likewise.
+       (Load_Real): Move to...
+       (Put): Change parameter type and add conversion to Long_Long_Float.
+       Bump buffer length to Max_Real_Image_Length.
+       (Puts): Likewise.
+       * libgnat/a-wtflio.adb: Add with and use clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
+       Long_Float and Long_Long_Float.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.  Add
+       pragma Unsuppress (Range_Check) and manual validity check.
+       (Get): Call appropriate Gets routine from auxiliary package. Add
+       pragma Unsuppress (Range_Check) and manual validity check.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-wtgeau.ads (Load_Real): New procedure.
+       * libgnat/a-wtgeau.adb (Load_Real): ...here.
+       * libgnat/a-ztcoau.ads: Add with clause for Float_Aux and make the
+       package generic.
+       (Get): Change parameter types to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-ztcoau.adb: Remove clause and renaming for Float_Aux.
+       (Get): Change parameter types to Num.
+       (Gets): Likewise.
+       (Put): Likewise.
+       (Puts): Likewise.  Add conversion to Long_Long_Float.
+       * libgnat/a-ztcoio.ads: Remove use clause for Complex_Types and use
+       qualified names throughout accordingly.
+       * libgnat/a-ztcoio.adb: Remove clause for Ada.Unchecked_Conversion,
+       add with clause for Float_Aux, add clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types.
+       Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and
+       Long_Long_Float. Remove LLF subtype and TFT instantiation.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.
+       (Get): Call appropriate Gets routine from auxiliary package.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-ztdeau.adb: Remove with and use clause for Float_Aux.
+       * libgnat/a-ztfiau.adb: Likewise.
+       * libgnat/a-ztfiio.adb: Add with and use clause for System.Val_LLF.
+       Instantiate Float_Aux on Long_Long_Float.
+       (Get): Adjust call to Get routine from auxiliary package.
+       (Get): Adjust call to Gets routine from auxiliary package.
+       (Put): Adjust call to Put routine from auxiliary package.
+       (Put): Adjust call to Puts routine from auxiliary package.
+       * libgnat/a-ztfiio__128.adb: Likewise.
+       (Get): Likewise.
+       (Get): Likewise.
+       (Put): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztflau.ads: Make the package generic.
+       (Get): Change parameter type to Num.
+       (Put): Likewise.
+       (Gets): Likewise.
+       (Puts): Likewise.
+       * libgnat/a-ztflau.adb: Remove clauses for System.Val_Real.
+       (Get): Change parameter type to Num and call Scan routine. Set
+       Ptr parameter lazily.
+       (Gets): Likewise.
+       (Load_Real): Move to...
+       (Put): Change parameter type and add conversion to Long_Long_Float.
+       Bump buffer length to Max_Real_Image_Length.
+       (Puts): Likewise.
+       * libgnat/a-ztflio.adb: Add with and use clauses for System.Val_Flt,
+       System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
+       Long_Float and Long_Long_Float.
+       (OK_Float): New boolean constant.
+       (OK_Long_Float): Likewise.
+       (Get): Call appropriate Get routine from auxiliary package.  Add
+       pragma Unsuppress (Range_Check) and manual validity check.
+       (Get): Call appropriate Gets routine from auxiliary package. Add
+       pragma Unsuppress (Range_Check) and manual validity check.
+       (Put): Call appropriate Put routine from auxiliary package.
+       (Put): Call appropriate Puts routine from auxiliary package.
+       * libgnat/a-ztgeau.ads (Load_Real): New procedure.
+       * libgnat/a-ztgeau.adb (Load_Real): ...here.
+       * libgnat/s-fatsfl.ads: Delete.
+       * libgnat/s-valflt.ads: New package.
+       * libgnat/s-vallfl.ads: Likewise.
+       * libgnat/s-valllf.ads: Likewise.
+       * libgnat/s-valrea.ads: Make generic. Add assertions, defensive
+       code and clarify intent.
+       (Scan_Real): Change parameter type to Num.
+       (Value_Real): Likewise.
+       * libgnat/s-valrea.adb: Instantiate Value_R on Uns.
+       (Integer_to_Real): Change parameter and result to Num.
+       Call Float_Control.Reset only if the mantissa is 64 bits.  Use
+       a divide to compute the final value if the scale is negative.
+       (Scan_Real): Change result to Num.
+       (Value_Real): Likewise.
+       * libgnat/s-valuer.adb: Add assertions, defensive code and
+       clarify intent.
+       (F_Limit): Delete.
+       (I_Limit): Likewise.
+       (Precision_Limit): Always use the integer limit.
+       * libgnat/s-fatgen.adb: Add pragma Annotate.
+
+2020-12-15  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-tiflio.adb: Mark body not in SPARK.
+       * libgnat/a-tiflio.ads: Mark spec in SPARK.
+
+2020-12-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Build_Procedure_Body_Form): Adjust, the
+       declaration of the procedure form is now insert before the
+       original function body rather than after.
+       (Expand_N_Subprogram_Declaration): Deal with private types whose
+       full views are arrays.
+       * exp_unst.adb (Unnest_Subprogram): Deal with private types.
+       (Needs_Fat_Pointer): Code cleanup.
+       * freeze.adb (Freeze_Subprogram): Ditto.
+       * exp_util.adb (Build_Procedure_Form): Insert the procedure form
+       decl before and not after.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build missing
+       spec when needed for Transform_Function_Array.
+       * sem_util.adb (Get_Fullest_View): Deal with null entity.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Simplify code
+       for aspect Priority.
+       * sem_prag.adb (Analyze_Pragma): Simplify code for pragma
+       Priority.
+
+2020-12-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): Do not crash on
+       a block with no Identifier. Code cleanups.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Reuse existing code for
+       attribute Value when analyzing attributes Wide_Value and
+       Wide_Wide_Value.
+
+2020-12-15  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-diopit.adb (Find): Fix possible infinite recursion
+       in Find iterator.
+       * libgnat/g-diopit.ads (Find): Update comments accordingly.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Callable and Terminated attributes; refactor calls to Set_Etype
+       occurring in both THEN and ELSE branches of an IF statement for
+       attribute Storage_Size.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Wide_Wide_Width, Wide_Width and Width attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Pred and Succ attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Size, Object_Size and Value_Size attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Consistently call
+       Check_Fixed_Point_Type before checking the number of attribute
+       expressions (like it is done for floating point types); reuse
+       Check_Fixed_Point_Type_0.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb (Make_Tags): Remove call to UI_To_Int.
+       * sem_attr.adb (Check_Array_Type): Likewise; also, refine type
+       of a local variable.
+       (Analyze_Attribute): Likewise.
+       (Get_Enclosing_Object): Likewise.
+       * sem_util.adb (Get_Enum_Lit_From_Pos): Likewise.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       First_Bit/Last_Bit and Position attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Machine_Radix and Mantissa attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Machine_Overflows and Machine_Rounds attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Large, Small, Safe_Large and Safe_Small attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Epsilon, Model_Epsilon, Model_Small, Safe_First and Safe_Las
+       attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Emax, Machine_Emax, Machine_Emin, Machine_Mantissa, Model_Emin,
+       Model_Mantissa and Safe_Emax attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Denorm and Signed_Zeros attributes.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Adjacent, Copy_Sign and Remainder attributes.
+       (Check_Floating_Point_Type_2): Fix style in comment.
+
+2020-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Compose, Leading_Part and Scaling attributes.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Resolve second parameter of
+       attribute Scaling just like it is resolved for a similar
+       attribute Compose.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       First/Last, First_Bit/Last_Bit and First_Valid/Last_Valid
+       attributes.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge similar code for
+       Truncation and other floating point attributes.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Merge identical code for
+       Ceiling, Floor, Fraction, Machine, Machine_Rounding, Model,
+       Rounding and Unbiased_Rounding.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Adjust documentation.
+       (OK_Get_32): Compare the object size of the base type.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       * libgnat/a-tifiio__128.adb: Adjust documentation.
+       (OK_Get_32): Compare the object size of the base type.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+       * libgnat/a-wtfiio.adb (OK_Get_32): Likewise.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise
+       * libgnat/a-wtfiio__128.adb (OK_Get_32): Likewise.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+       * libgnat/a-ztfiio.adb (OK_Get_32): Likewise.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise
+       * libgnat/a-ztfiio__128.adb (OK_Get_32): Likewise.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb (Get): Replace Current_Input with Current_In.
+       * libgnat/a-tifiio__128.adb: (Get): Likewise.
+       * libgnat/a-wtcoio.adb (Get): Likewise.
+       (Put): Replace Current_Output with Current_Out.
+       * libgnat/a-wtdeio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtdeio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtenio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtfiio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtfiio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtflio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtinio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtinio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtmoio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-wtmoio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztcoio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztdeio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztdeio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztenio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztfiio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztfiio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztflio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztinio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztinio__128.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztmoio.adb (Get): Likewise.
+       (Put): Likewise.
+       * libgnat/a-ztmoio__128.adb (Get): Likewise.
+       (Put): Likewise.
+
+2020-12-14  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb, sem_util.ads (In_Generic_Formal_Package):
+       Created to identify type declarations occurring within generic
+       formal packages.
+       * sem_res.adb (Resolve_Allocator): Add condition to avoid
+       emitting an error for allocators when the type being allocated
+       is class-wide and from a generic formal package.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb (Tiny80): Add alignment clause.
+
+2020-12-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_util.adb (Process_Current_Value_Condition): Add assertion.
+       * libgnat/s-fatgen.adb (Scaling): Add annotation.
+
+2020-12-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Fold_Shift): Compute values using the base type.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb: Add with clause for Interfaces and use
+       type clause for Interfaces.Unsigned_64.
+       (Small): Comment out.
+       (Tiny): Likewise.
+       (Tiny16): New integer constant.
+       (Tiny32): Likewise.
+       (Tiny64): Likewise.
+       (Tiny80): New integer array constant.
+       (Pred): Declare a local overlay for Tiny.
+       (Succ): Likewise.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix again packed
+       array type in complex cases where array is Volatile.
+       * exp_util.adb (Remove_Side_Effects): Do not force a renaming to
+       be handled by the back-end.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb: Remove use clause for
+       System.Unsigned_Types.
+       (Scaling): Add renaming of System.Unsigned_Types and use type
+       clause for Long_Long_Unsigned.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.ads (Compose): Add pragma Inline.
+       (Copy_Sign): Likewise.
+       (Exponent): Likewise.
+       (Fraction): Likewise.
+       * libgnat/s-fatgen.adb: Remove with clause for System, add
+       with and use clauses for System.Unsigned_Types.
+       Add pragma Warnings (Off) for non-static constants.
+       Remove precomputed tables of powers of radix and add a few
+       constants describing the floating-point format.
+       (Gradual_Scaling): Delete.
+       (Copy_Sign): Reimplement directly.
+       (Decompose): Likewise.
+       (Scaling): Likewise.
+       (Pred): Speed up.
+       (Succ): Likewise.
+       (Truncation): Tidy up.
+       (Valid): Move constants to library level.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (CV_Cache): Remove initialization at elaboration.
+
+2020-12-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Correct documentation of the -gnatw.K switch to say that it
+       disables rather than activates the warning.
+       * gnat_ugn.texi: Regenerate.
+
+2020-12-14  Doug Rupp  <rupp@adacore.com>
+
+       * tracebak.c: Add a section for ARM Linux.
+
+2020-12-14  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * par-ch3.adb (P_Discriminant_Part_Opt): Parse aspects, update
+       documentation.
+       * par-ch6.adb (P_Return_Statement): Likewise.
+       * par-ch9.adb (P_Entry_Index_Specification): Likewise.
+
+2020-12-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Move
+       generation of the call for DIC check past the optional
+       generation of calls to controlled Initialize procedures.
+       * exp_ch3.adb
+       (Build_Array_Init_Proc.Init_One_Dimension.Possible_DIC_Call):
+       Suppress generation of a DIC call when the array component type
+       is controlled.  The call will now be generated later inside the
+       array's DI (Deep_Initialize) procedure.
+       * exp_ch7.adb
+       (Make_Deep_Array_Body.Build_Initialize_Statements): Generate a
+       DIC call (when needed by the array component type) after any
+       call to the component type's controlled Initialize procedure, or
+       generate the DIC call by itself if there's no Initialize to
+       call.
+       * sem_aggr.adb (Resolve_Record_Aggregate.Add_Association):
+       Simplify condition to only test Is_Box_Init_By_Default (previous
+       condition was overkill, as well as incorrect in some cases).
+       * sem_elab.adb (Active_Scenarios.Output_Call): For
+       Default_Initial_Condition, suppress call to
+       Output_Verification_Call when the subprogram is a partial DIC
+       procedure.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Round>:
+       Adjust commentary and set the Rounded_Result flag on the type
+       conversion node when the node is needed.
+       * exp_ch4.adb (Expand_N_Type_Conversion): Minor tweak.
+       (Fixup_Universal_Fixed_Operation): Look through the type conversion
+       only when it is to Universal_Real.
+       * exp_fixd.adb: Remove with and use clauses for Snames.
+       (Build_Divide): Remove redundant test.
+       (Expand_Convert_Float_To_Fixed): Use Rounded_Result flag on the
+       node to set the truncation parameter.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Refinement_Clause): Simplify recently
+       added code for preventing cascaded errors.
+
+2020-12-14  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Is_Build_In_Place_Result_Type): Further narrow
+       the conditions under which we enable build-in-place for
+       controlled types.
+
+2020-12-14  Yannick Moy  <moy@adacore.com>
+
+       * sem_warn.adb (Output_Non_Modified_In_Out_Warnings): Use right
+       warning control character 'k' in both comment and call to
+       Errout_Msg_N.
+
+2020-12-14  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Refine the
+       error message for missing Part_Of on constituent. Avoid
+       cascading error.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Depends_In_Decl_Part): Replace early
+       returns with goto Leave.
+       (Collect_Subprogram_Inputs_Outputs): Fix style in comment.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.ads (Valid): Add again pragma Inline.
+       * libgnat/s-fatgen.adb (Valid): Improve commentary, tidy up left
+       and right, and remove superfluous trick for denormalized numbers.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Find_Role): Constant object of
+       access-to-constant and access-to-subprogram types are not
+       writable.
+       (Collect_Subprogram_Inputs_Outputs): In-parameters of
+       access-to-variable type can act as outputs of the Depends
+       contracts.
+
+2020-12-14  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sa_messages.ads: Reference Subprogram_Variant in the comment
+       for Assertion_Check.
+       * sem_prag.adb (Analyze_Pragma): Add Subprogram_Variant as an
+       ID_ASSERTION_KIND; move Default_Initial_Condition as an
+       RM_ASSERTION_KIND.
+
+2020-12-14  Yannick Moy  <moy@adacore.com>
+
+       * inline.adb (Cannot_Inline): Add No_Info parameter to disable
+       info message.
+       * inline.ads (Cannot_Inline): When No_Info is set to True, do
+       not issue info message in GNATprove mode, but still mark the
+       subprogram as not always inlined.
+       * sem_res.adb (Resolve_Call): Always call Cannot_Inline inside
+       an assertion expression.
+
+2020-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-imguti.ads (Set_Decimal_Digits): Adjust documentation.
+
+2020-12-10  Ed Schonberg  <schonberg@adacore.com>
+
+       PR ada/98230
+       * exp_attr.adb (Expand_N_Attribute_Reference, case Mod): Use base
+       type of argument to obtain static bound and required size.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in: Remove ^L characters.
+       * gcc-interface/decl.c (create_concat_name): Add cast.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (maybe_make_gnu_thunk): Return false if the
+       target is local and thunk and target do not have the same context.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (lvalue_for_aggregate_p): Also return true
+       for return statements.
+       * gcc-interface/utils.c (gnat_write_global_declarations): Use the
+       maximum index for the dummy object to avoid a name collision.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>: Put
+       back the "else" unduly removed.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Call_to_gnu): Also create a temporary for
+       the return value if the LHS is a bit-field and the return type is
+       a type padding a self-referential type.
+       (gnat_to_gnu): Do not remove the padding on the result if it is too
+       small with regard to the natural padding size.
+
+2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (convert) <INTEGER_TYPE>: Call fold_convert
+       in the cases where convert_to_integer is not called.
+       <BOOLEAN_TYPE>: Call fold_convert instead of convert_to_integer.
+
+2020-12-07  Matthias Klose  <doko@ubuntu.com>
+
+       PR ada/97504
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <mips*-*-linux*>: Use wraplf
+       version of Aux_Long_Long_Float.
+
+2020-11-30  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * libgnat/s-trasym.ads: Update the list of supported platforms.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Makefile.in, gcc-interface/trans.c: Remove ^L
+       characters.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Makefile.in (GNATLIBFLAGS): Enable checks by
+       default.
+       * libgnat/s-bitfie.ads: Suppress alignment checks.
+       * libgnat/s-bituti.adb: Minor reformatting.
+       * libgnat/s-secsta.adb (SS_Allocate): Support Size = 0.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch3.adb (Replace_Discr_Ref): Removed, no longer needed.
+
+2020-11-30  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Process_Statements): Replace low-level membership
+       test with a high-level wrapper.
+
+2020-11-30  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Set_Assignment_Type): Combine calls to Ekind
+       using membership test.
+       (Should_Transform_BIP_Assignment): Replace assignment to a
+       "Result" variable with simple return statements; avoid repeated
+       calls to Unqual_Conv by declaring a local constant.
+
+2020-11-30  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-xref.adb (Generate_Reference): Fix reference to
+       Analyze_Assignment.
+       * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Reuse existing
+       utility function.
+
+2020-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * contracts.adb (Check_Type_Or_Object_External_Properties): Make
+       sure to exclude all return objects from the SPARK legality rule
+       on effectively volatile variables.
+       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use the fast
+       track only when the declaration of the return object can be
+       dropped.
+
+2020-11-30  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads (Is_Partial_DIC_Procedure): New function.
+       (Partial_DIC_Procedure): New procedure.
+       * einfo.adb (Is_Partial_DIC_Procedure): New function to return
+       whether a subprogram is a partial Default_Initial_Condition
+       procedure by checking the name (to avoid adding a new field).
+       (DIC_Procedure): Add a test that excludes partial DIC procedures
+       from being returned.
+       (Partial_DIC_Procedure): New procedure to return the partial DIC
+       procedure of a type, if it has one (otherwise returns Empty).
+       (Set_DIC_Procedure): Remove check for duplicate DIC procedures.
+       * exp_aggr.adb (Gen_Assign): Generate a call to the type's DIC
+       procedure in the case where an array component is default
+       initialized (due to an association with a box).
+       (Build_Record_Aggr_Code): For an extension aggregate, generate a
+       call to the ancestor type's DIC procedure (if any) when the
+       ancestor part is a subtype mark. For a record component
+       association that was specified with a box (tested for by
+       checking the new flag Was_Default_Init_Box_Association),
+       generate a call to the component type's DIC procedure (if it has
+       one).
+       * exp_ch4.adb (Expand_N_Allocator): When the allocated object is
+       default initialized and the designated type has a DIC aspect,
+       generate a call to the DIC procedure.
+       * exp_util.ads (Build_DIC_Call): Change the formal Obj_Id to
+       name Obj_Name, and change its type from Entity_Id to Node_Id
+       (and update comment).
+       (Build_DIC_Procedure_Body): Add formal Partial_DIC, remove
+       formal For_Freeze, and update comment accordingly.
+       (Build_DIC_Procedure_Declaration): Add formal Partial_DIC and
+       update comment.
+       * exp_util.adb
+       (Build_DIC_Call): Revised to use its Obj_Name (formerly Obj_Id)
+       formal directly rather than calling New_Occurrence_Of on it, to
+       allow arbitrary names to be passed rather than being limited to
+       Entity_Ids.
+       (Build_DIC_Procedure_Body): Call Add_Parent_DICs to generate
+       checks for DICs associated with any parent types, implementing
+       the required "additive" semantics for DICs. When building a DIC
+       procedure body for a partial view (when Partial_DIC is True),
+       call Add_Own_DIC when the type has its own DIC.  In the case of
+       "full" DIC procedures, a call is generated to any partial DIC
+       procedure of the type (unless the procedure has a null body),
+       along with checks for any DICs inherited by the full view.
+       (Build_DIC_Procedure_Declaration): Add handling for partial DIC
+       procedures.  For the suffix of a regular DIC procedure's name,
+       use "DIC" (instead of "Default_Initial_Condition"), and for the
+       suffix of a partial DIC procedure's name, use "Partial_DIC".
+       (Add_DIC_Check): Add the DIC pragma to the list of seen pragmas
+       (Pragmas_Seen).
+       (Add_Inherited_Tagged_DIC): Remove the formals Par_Typ,
+       Deriv_Typ, and Obj_Id, and add formal Expr, which denotes DIC's
+       expression. Remove the call to Replace_References (which is now
+       done in Add_Inherited_DICs).
+       (Add_Inherited_DICs): New procedure to locate a DIC pragma
+       associated with a parent type, replace its references
+       appropriately (such as any current instance references), and add
+       a check for the DIC.
+       (Add_Own_DIC): Add an Obj_Id formal to allow caller to pass the
+       _init formal of the generated DIC procedure.
+       (Add_Parent_DICs): New procedure to traverse a type's parents,
+       looking for DICs associated with those and calling
+       Add_Inherited_DICs to apply the appropriate DIC checks.
+       (Is_Verifiable_DIC_Pragma): Treat pragmas that have an Empty
+       first argument the same as a pragma without any arguments
+       (returning False for that case).
+       * exp_ch3.adb (Init_One_Dimension): Generate calls to the
+       component's DIC procedure when needed.
+       (Possible_DIC_Call): New function nested in Init_One_Dimension
+       to build a call to the array component type's DIC-checking
+       function when appropriate.
+       (Build_Array_Init_Proc): The presence of a DIC on the component
+       type is an additional condition for generating an init proc for
+       an array type.
+       (Build_Init_Statements): When the record component's type has a
+       DIC, and the component declaration does not have an
+       initialization expression, generate a call to the component
+       type's DIC procedure.
+       (Expand_N_Object_Declaration): Modify the call to Build_DIC_Call
+       to pass a new occurrence of the object's defining id rather than
+       the id itself.
+       (Freeze_Type): Only build a type's DIC procedure (if it has one)
+       for types that are not interfaces.
+       * exp_spark.adb (Expand_SPARK_N_Freeze_Type): Remove From_Freeze
+       actual and add a ??? comment.
+       (Expand_SPARK_N_Object_Declaration): Modify call to
+       Build_DIC_Call to pass a new occurrence of the object id rather
+       than the object id itself.
+       * sem_aggr.adb (Resolve_Record_Aggregate): Declare local flag
+       Is_Box_Init_By_Default and set it in cases where the component
+       association has a box and the component is being initialized by
+       default (as opposed to initialized by an initialization
+       expression associated with the component's declaration).
+       (Add_Association): If the association has a box for a component
+       initialized by default, the flag
+       Was_Default_Init_Box_Association is set on the new component
+       association (for later testing during expansion).
+       (Get_Value): Reset Is_Box_Init_By_Default to False.
+       * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Rearrange code
+       to build DIC procedure bodies for a (noninterface) type that
+       Has_Own_DIC (for partial type views) or Has_DIC (for full type
+       views) as appropriate.
+       * sem_ch13.adb (Analyze_Aspect_Specifications,
+       Aspect_Default_Initial_Condition): Add an extra argument to the
+       DIC pragma to denote the type associated with the pragma (for
+       use in Build_DIC_Procedure_Body).
+       * sem_prag.adb (Analyze_Pragma): Allow two arguments for pragma
+       Default_Initial_Condition.  If not already present, add an extra
+       argument denoting the type that the pragma is associated with.
+       * sem_util.adb (Propagate_DIC_Attributes): Retrieve any partial
+       DIC procedure associated with the type and add it to the type's
+       list of subprograms (Subprograms_For_Type).
+       * sinfo.ads (Was_Default_Init_Box_Association): New flag on
+       N_Component_Association nodes.  Add subprograms to get and set
+       flag, as well as updating the documentation.
+       * sinfo.adb (Was_Default_Init_Box_Association): New function to
+       retrieve the corresponding flag (Flag14).
+       (Set_Was_Default_Init_Box_Association): New procedure to set the
+       corresponding flag (Flag14).
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch6.adb (P_Formal_Part): Remove extra call to Scan.
+       * par-tchk.adb: Minor reformatting.
+
+2020-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-nbnbre.adb (Float_Conversions): Instantiate Conv
+       package only once in the body.
+       (Fixed_Conversions.Float_Aux): New instance.
+       (Fixed_Conversions.Conv_I): Likewise.
+       (Fixed_Conversions.Conv_U): Likewise.
+       (Fixed_Conversions.LLLI): New subtype.
+       (Fixed_Conversions.LLLU): Likewise.
+       (Fixed_Conversions.Too_Large): New constant.
+       (Fixed_Conversions.To_Big_Real): Reimplement.
+       (Fixed_Conversions.From_Big_Real): Likewise.
+
+2020-11-30  Bob Duff  <duff@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Avoid crash in case
+       of conditional expression.
+
+2020-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst (Pool_Address):
+       Fix pasto.
+       (Small_Denominator): New entry.
+       (Small_Numerator): Likewise.
+       * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.9):
+       Relax conditions on 128-bit smalls and integer-only implementation.
+       * gnat_rm.texi: Regenerate.
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Fore>:
+       Relax conditions on integer implementation for ordinary fixed-point
+       types and pass a third parameter to the routine.
+       <Attribute_Small_Denominator>: Raise Program_Error.
+       <Attribute_Small_Numerator>: Likewise.
+       * exp_fixd.adb (Expand_Convert_Fixed_To_Fixed): Use a scaled divide
+       if the numerator and denominator of the small ratio are sufficiently
+       small integers.
+       (Expand_Convert_Fixed_To_Integer): Use a scaled divide if numerator
+       and denominator of the small value are sufficiently small integers.
+       (Expand_Convert_Integer_To_Fixed): Likewise.
+       * exp_imgv.adb (Expand_Image_Attribute): Relax the conditions on the
+       integer implementation for ordinary fixed-point types.
+       (Expand_Value_Attribute): Likewise.
+       * freeze.adb (Freeze_Fixed_Point_Type): Relax conditions on 128-bit
+       smalls.
+       * sem_attr.adb (Analyze_Attribute) <Attribute_Small_Denominator>:
+       Check no arguments, fixed-point and set type to Universal_Integer.
+       <Attribute_Small_Numerator>: Likewise.
+       (Eval_Attribute) <Attribute_Small_Denominator>: Fold statically.
+       <Attribute_Small_Numerator>: Likewise.
+       * snames.ads-tmpl (Name_Small_Denominator): New attribute name.
+       (Name_Small_Numerator): Likewise.
+       (Attribute_Id): Add Attribute_Small_{Denominator,Numerator}.
+       * libgnat/a-tifiio.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/a-tifiio__128.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (Need_128): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/a-wtfiio.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/a-wtfiio__128.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (Need_128): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/a-ztfiio.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/a-ztfiio__128.adb (Exact): Delete.
+       (Need_64): Likewise.
+       (Need_128): Likewise.
+       (OK_Get_32): New boolean constant.
+       (OK_Put_32): Likewise.
+       (OK_Get_64): Likewise.
+       (OK_Put_64): Likewise.
+       (OK_Get_128): Likewise.
+       (OK_Put_128): Likewise.
+       (E): Adjust.
+       (Get procedures): Likewise.
+       (Put procedures): Likewise.
+       * libgnat/s-fore_f.ads (Fore_Fixed): Adjust signature.
+       * libgnat/s-fore_f.adb (Fore_Fixed): Reimplement.
+       * libgnat/s-fofi32.ads (Fore_Fixed32): Adjust signature.
+       * libgnat/s-fofi64.ads (Fore_Fixed64): Likewise.
+       * libgnat/s-fofi128.ads (Fore_Fixed128): Likewise.
+       * libgnat/s-imagef.ads: Adjust description.
+       * libgnat/s-imagef.adb (Maxdigs): Move around.
+       (Set_Image_Integer): Remove assertion.
+       * libgnat/s-valuef.ads: Adjust description.
+       * libgnat/s-valuef.adb (Integer_To_Fixed): Minor tweak.
+
+2020-11-30  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Describe -gnateb switch.
+       * doc/gnat_ugn/the_gnat_compilation_model.rst: Mention -gnateb
+       switch in configuration pragma files section.
+       * gnat_ugn.texi: Regenerate.
+       * lib-writ.adb (Write_ALI): Strip directories from configuration
+       files path if needed.
+       * opt.ads: Declare Config_Files_Store_Basename option.
+       * par.adb (Par): Save configuration file checksum.
+       * switch-c.adb (Scan_Front_End_Switches): Set
+       Config_Files_Store_Basename true if -gnateb is present.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_dist.adb (RCI_Cache): Initialize.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * terminals.c (allocate_pty_desc): Copy one less byte since the
+       last byte will always be set to 0.
+
+2020-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst (-xdr):
+       Document that XDR is not supported for 128-bit integer types.
+       * gnat_ugn.texi: Regenerate.
+       * exp_strm.adb (Build_Elementary_Input_Call): Deal with types
+       larger than Long_Long_Integer.
+       (Build_Elementary_Write_Call): Likewise.
+       * rtsfind.ads (RE_Id): Add RE_I_LLL{I,U] and RE_W_LLL{I,U}.
+       (RE_Unit_Table): Add entries for them.
+       * libgnat/s-stratt.ads (I_LLLI): New inline function.
+       (I_LLLU): Likewise.
+       (W_LLLI): New inline procedure.
+       (W_LLLU): Likewise.
+       * libgnat/s-stratt.adb (S_LLLI): New subtype of SEA.
+       (S_LLLU): Likewise.
+       (From_LLLI): New instance of Unchecked_Conversion.
+       (From_LLLU): Likewise.
+       (To_LLLI): Likewise.
+       (To_LLLU): Likewise.
+       (I_LLLI): Implement.
+       (I_LLLU): Likewise.
+       (W_LLLI): Likewise.
+       (W_LLLU): Likewise.
+
+2020-11-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Check the
+       signature of the private operation Get_Element_Access to prevent
+       accidental use of a user-defined homonym subprogram.
+
+2020-11-30  Yannick Moy  <moy@adacore.com>
+
+       * spark_xrefs.ads: Add comment for Heap that it may remain
+       Empty.
+
+2020-11-30  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-sercom__linux.adb (Set): Fix control flags of the
+       serial port setting.
+
+2020-11-30  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-sercom__linux.adb: Minor style fixes.
+
+2020-11-30  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Get_Current_Value_Condition): Don't use current
+       value tracking in GNATprove mode.
+       * sem_res.adb (Resolve_Comparison_Op): Remove incomplete
+       special-casing for folding in GNATprove mode.
+
+2020-11-30  Bob Duff  <duff@adacore.com>
+
+       * errout.adb (Error_Msg_NEL): Do not call Set_Posted if errors
+       are being ignored.
+       (Error_Msg): Change Errors_Must_Be_Ignored to use the getter.
+       * sem_ch8.adb (Find_Direct_Name): Do not skip all the error
+       checks when ignoring errors, but instead do not add an entry to
+       the Urefs table if errors are being ignored.
+       * exp_ch5.adb: Minor comment fix.
+
+2020-11-30  Yannick Moy  <moy@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.
+
+2020-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuef.adb (Integer_To_Fixed): Do not modify numerator
+       or denominator in order to reduce the exponent.
+
+2020-11-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * ali-util.adb (Get_File_Checksum): Remove dead code.
+       * exp_ch4.adb (Expand_Boolean_Operator, Expand_N_Op_Not,
+       Make_Boolean_Array_Op): Take Transform_Function_Array into
+       account.
+       * exp_ch6.adb (Expand_Call_Helper): Update comment. Code
+       cleanup.
+       * exp_util.adb (Build_Procedure_Form): Use new predefined name
+       Name_UP_RESULT.
+       * snames.ads-tmpl (Name_UP_RESULT): New predefined name.  Code
+       cleanup: remove unused names from the project parser, moved to
+       gprbuild sources.
+       * xsnamest.adb: Add support for uppercase names.
+
+2020-11-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Enter_Name): When an inherited operation for a
+       local derived type is hidden by an explicit declaration of a
+       non-overloadable entity in the same scope, make the inherited
+       operation non-visible to prevent its accidental use elsewhere.
+
+2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR ada/97504
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <hppa*-*-hpux*>: Use wraplf
+       version of Aux_Long_Long_Float.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuef.adb (Integer_To_Fixed): Take into account the
+       extra digit when scaling up the input.
+       * libgnat/s-valuer.adb (Scan_Decimal_Digits): Restrict previous
+       change to fixed-point types.
+       (Scan_Integral_Digits): Likewise.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Parent_Is_Boolean): Simplify.
+       (Resolve_Op_Not): Reduce scope of a local variable.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * cstand.adb: Simplify with Append_New_Elmt.
+       * sem_util.adb: Likewise.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Fold_Shift): Fix evaluation of Shift_Right on
+       negative values.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Expand_Call): Properly split
+       Transform_Function_Array and Modify_Tree_For_C.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.ads (Compile_Time_Compare): Restore parameter Diff to
+       be of an access type.
+       * sem_eval.adb (Compile_Time_Compare): Adapt body and callers.
+       * sem_attr.adb (Eval_Attribute): Adapt callers.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuer.adb (Scan_Decimal_Digits): Round Extra.
+       (Scan_Integral_Digits): Likewise.
+
+2020-11-27  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb (Selected_Range_Checks): Adapt the condition for
+       applying range checks so that it is not done inside generics.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Build_Double_Divide): Only use a 128-bit
+       division if one of the operands is larger than 64 bits.
+       (Build_Double_Divide_Code): Likewise.
+       (Build_Scaled_Divide): Likewise.
+       (Build_Scaled_Divide_Code): Likewise.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-os_lib.adb (To_GM_Time): Return valid and consistent
+       values for Invalid_Time.
+
+2020-11-27  Steve Baird  <baird@adacore.com>
+
+       * snames.ads-tmpl: Define new Name_Stable_Properties Name_Id
+       value.
+       * aspects.ads, aspects.adb: Add new Aspect_Stable_Properties
+       enumeration literal to Aspect_Id type. Add Class_Present
+       parameter to Find_Aspect and related
+       functions (Find_Value_Of_Aspect and Has_Aspect).
+       * sem_util.adb (Has_Nontrivial_Precondition): Fix
+       previously-latent bug uncovered by adding Class_Present
+       parameter to Aspect.Find_Aspect. The code was wrong before, but
+       with the change the bug was more likely to make a user-visible
+       difference.
+       * sem_ch6.adb (Analyze_Operator_Symbol): If a string literal
+       like "abs" or "-" occurs in a Stable_Properties aspect
+       specification, then it is to be interpreted as an operator
+       symbol and not as a string literal.
+       * sem_ch13.ads: Export new Parse_Aspect_Stable_Properties
+       function, analogous to the existing Parse_Aspect_Aggregate
+       exported procedure.
+       * sem_ch13.adb: (Parse_Aspect_Stable_Properties): New function;
+       analogous to existing Parse_Aspect_Aggregate.
+       (Validate_Aspect_Stable_Properties): New procedure; analogous to
+       existing Validate_Aspect_Aggregate. Called from the same case
+       statement (casing on an Aspect_Id value) where
+       Validate_Aspect_Aggregate is called.
+       (Resolve_Aspect_Stable_Properties): New procedure; analogous to
+       existing Resolve_Aspect_Aggregate. Called from the same two case
+       statements (each casing on an Aspect_Id value) where
+       Resolve_Aspect_Aggregate is called.
+       (Analyze_Aspect_Specifications): Set Has_Delayed_Aspects and
+       Is_Delayed_Aspect attributes for Aspect_Stable_Properties aspect
+       specifications.
+       (Check_Aspect_At_End_Of_Declarations): The syntactic
+       "expression" for a Stable_Properties aspect specification is not
+       semantically an expression; it doesn't have a type. Thus, force
+       T to be empty in this case.
+       * contracts.adb (Expand_Subprogram_Contract): Add call to new
+       local procedure,
+       Expand_Subprogram_Contract.Add_Stable_Property_Contracts, which
+       generates Postcondition pragmas corresponding to stable property
+       checks.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst:
+       (Assertion_Policy): Move "Default_Initial_Condition" from
+       ID_ASSERTION_KIND to RM_ASSERTION_KIND section.
+       * gnat_rm.texi: Regenerate.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst
+       (Assertion_Policy): Add "Default_Initial_Condition",
+       "Initial_Condition" and "Subprogram_Variant".
+       * gnat_rm.texi: Regenerate.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Is_Valid_Assertion_Kind): Return False on
+       "Assertion_Policy"
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * make.adb (GNAT_Flag): Change to "-gnatg".
+       (Compile): Adjust comments accordingly.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Rewrite_Comparison): Add assertion to confirm
+       that evaluation folds comparisons with static operands; when
+       folding comparison with non-static operands, the resulting
+       literal is non-static.
+       * sem_eval.adb (Eval_Relational_Op): Refactor nested IF
+       statement for the special case in the THEN branch; move code for
+       the "general case" out of the ELSE branch.
+       * sem_res.adb (Resolve_Comparison_Op): Only apply a dubious
+       special-case for GNATprove in the GNATprove_Mode.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.ads (Compile_Time_Compare): Change parameter Diff
+       from access to mode out.
+       * sem_eval.adb (Compile_Time_Compare): Adapt body and callers.
+       * sem_attr.adb (Eval_Attribute): Adapt callers.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Multiply): Move down block calling
+       Narrow_Large_Operation if the type is Universal_Integer.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-nbnbre.adb: Remove clauses for System.Img_Real and
+       add them for System.Unsigned_Types.
+       (Float_Conversions.To_Big_Real): Reimplement.
+       (Float_Conversions.From_Big_Real): Likewise.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads (Determine_Range_To_Discrete): New procedure.
+       * checks.adb (Apply_Scalar_Range_Check): Call it to determine
+       a range for the expression when the target type is discrete.
+       And also apply the tests for discrete types to fixed-point
+       types when they are treated as integers.
+       (Apply_Type_Conversion_Checks): Apply checks to conversions
+       involving fixed-point types when they are treated as integers.
+       (Determine_Range) <N_Type_Conversion>: Factor out code into...
+       (Determine_Range_To_Discrete): ...this new procedure and add
+       support for fixed-point types when they are treated as integers.
+       * einfo.ads (Type_High_Bound): Remove obsolete sentence.
+       (Type_Low_Bound): Likewise.
+       * exp_ch4.adb (Discrete_Range_Check): Remove obsolete code.
+       (Real_Range_Check): Likewise.
+       (Expand_N_Type_Conversion): In case of a no-op conversion, clear
+       the Do_Range_Check flag on the operand before substituting it.
+       Remove calls to Real_Range_Check and Discrete_Range_Check that
+       are not guarded by the Do_Range_Check flag, and an assertion.
+       * sem_res.adb (Resolve_Type_Conversion): Always apply range
+       checks in GNATprove mode; in normal mode, use the updated type
+       of the operand in the test against Universal_Fixed.  Remove
+       obsolete code setting the Do_Range_Check flag at the end.
+
+2020-11-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Change "Ref Manual" to RM;
+       replace uses of an unnecessary "Ok" variable with RETURN
+       statements; replace nested IF with ELSIF.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/s-tasren.adb (Local_Complete_Rendezvous): Always call
+       Defer_Abort.
+       * libgnat/a-except.adb: Abort does not need to be deferred.
+       * libgnarl/s-tpobop.adb (Exceptional_Complete_Entry_Body): Abort
+       never needs to be undeferred here.
+       * exp_ch11.adb (Expand_Exception_Handlers): Remove difference
+       between ZCX and SJLJ.
+       * exp_ch9.adb (Expand_N_Asynchronous_Select): Remove different
+       handling for sjlj.
+       * exp_sel.ads, exp_sel.adb (Build_Abort_Block,
+       Build_Abort_Block_Handler): Ditto.
+
+2020-11-27  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): declare new Check_No_Return
+       function and call it.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): Consistently use
+       New_Copy_Tree instead of New_Copy.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Build_Conversion): Adjust head comment.
+       (Build_Divide): Likewise.
+       (Build_Double_Divide): Likewise.
+       (Build_Multiply): Likewise.
+       (Build_Rem): Likewise.
+       (Build_Scaled_Divide): Likewise.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New
+       variant taking an Unsigned_128.
+       * libgnat/a-nbnbin.adb (To_Big_Integer): Add support for 128
+       bits signed and unsigned types.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-imagef.adb (Set_Image_Fixed): Pass the full value
+       of the quotient to Set_Image_Integer during the first round and
+       adjust the handling of the minus sign.
+
+2020-11-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbre.adb ("=", "<"): Fix.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuer.adb (Scan_Raw_Real): Move pragma Annotate around
+       and adjust its parameters.
+
+2020-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Build_Double_Divide): Use the RM size of types and
+       a more precise estimate for the size of the denominator.
+       (Build_Double_Divide_Code): Likewise.
+       (Build_Multiply): Use a more precise estimate for the size of the
+       result.
+       (Build_Scaled_Divide):  Use the RM size of types and a more precise
+       estimate for the size of the numerator.
+       (Build_Scaled_Divide_Code): Likewise.
+
+2020-11-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * Makefile.rtl <sparc*-sun-solaris*> (THREADSLIB): Remove.
+       (MISCLIB): Remove -lposix4.
+       <*86-*-solaris2*>: Likewise.
+       * libgnarl/s-osinte__solaris.ads (System.OS_Interface): Remove
+       -lposix4 -lthread.
+
+2020-11-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbre.adb (To_Big_Real): Do not loose precision.
+
+2020-11-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Check for AI12-0401.
+
+2020-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise.
+       (GNATRTL_128BIT_OBJS): Likewise.
+       (GNATRTL_128BIT_PAIRS): Add new 128-bit variants.
+       * cstand.adb (Create_Standard): Create Standard_Integer_128.
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Document
+       new limits on 64-bit platforms in entry for 3.5.9(10).
+       * gnat_rm.texi: Regenerate.
+       * exp_attr.adb: Add with and use clauses for Urealp.
+       (Expand_N_Attribute_Reference) <Attribute_Fore>: Call new routines
+       for decimal fixed-point types and common ordinary fixed-point types.
+       * exp_ch4.adb (Real_Range_Check): Extend conversion trick to all
+       ordinary fixed-point types and use Small_Integer_Type_For.
+       * exp_fixd.adb: Add with and use clauses for Ttypes.
+       (Build_Divide): Add special case for 32-bit values and deal with
+       128-bit types.
+       (Build_Double_Divide): Deal with 128-bit types.
+       (Build_Double_Divide_Code): Likewise.  Do not apply conversions
+       before calling Build_Multiply.
+       (Build_Multiply): Likewise.  Add special case for 32-bit values.
+       (Build_Scaled_Divide): Deal with 128-bit types.
+       (Build_Scaled_Divide_Code): Likewise.  Fix size computation.  Do not
+       apply conversions before calling Build_Multiply.
+       (Do_Multiply_Fixed_Fixed): Minor tweak.
+       (Integer_Literal): Deal with 128-bit values.
+       * exp_imgv.adb (Has_Decimal_Small): Delete.
+       (Expand_Image_Attribute): Call new routines for common ordinary
+       fixed-point types.
+       (Expand_Value_Attribute): Likewise.
+       (Expand_Width_Attribute): Add new expansion for fixed-point types.
+       * freeze.adb (Freeze_Entity): Move error checks for ordinary
+       fixed-point types to...
+       (Freeze_Fixed_Point_Type): ...here.  Deal with 128-bit types and
+       adjust limitations for 32-bnt and 64-bit types.
+       * rtsfind.ads (RTU_Id): Add entries for new System_Fore, System_Img,
+       and System_Val units and remove them for obsolete units.
+       (RE_Id): Add entries for Double_Divide128, Scaled_Divide128, the new
+       Fore, Image, Value routines and remove them for obsolete units.
+       (RE_Unit_Table): Likewise.
+       * sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration): Deal with
+       128-bit types.
+       * stand.ads (Standard_Entity_Type): Add Standard_Integer_128.
+       * uintp.ads (Uint_31): New deferred constant.
+       (Uint_Minus_18): Likewise.
+       (Uint_Minus_31): Likewise.
+       (Uint_Minus_76): Likewise.
+       (Uint_Minus_127): Likewise.
+       * urealp.ads (Ureal_2_31): New function.
+       (Ureal_2_63): Likewise.
+       (Ureal_2_127): Likewise.
+       (Ureal_2_M_127): Likewise.
+       (Ureal_2_10_18): Likewise.
+       (Ureal_M_2_10_18): Likewise.
+       (Ureal_9_10_36): Likewise.
+       (Ureal_M_9_10_36): Likewise.
+       (Ureal_10_76): Likewise.
+       (Ureal_M_10_76): Likewise.
+       (Ureal_10_36): Delete.
+       (Ureal_M_10_36): Likewise.
+       * urealp.adb (UR_2_10_18): New variable.
+       (UR_9_10_36): Likewise.
+       (UR_10_76): Likewise.
+       (UR_M_2_10_18): Likewise.
+       (UR_M_9_10_36): Likewise.
+       (UR_M_10_76): Likewise.
+       (UR_2_31): Likewise.
+       (UR_2_63): Likewise.
+       (UR_2_127): Likewise.
+       (UR_2_M_127): Likewise.
+       (UR_10_36): Delete.
+       (UR_M_10_36): Likewise.
+       (Initialize): Initialize them.
+       (UR_Write): Do not use awkward Ada literal style.
+       (Ureal_2_10_18): New function.
+       (Ureal_9_10_36): Likewise.
+       (Ureal_10_76): Likewise.
+       (Ureal_2_31): Likewise.
+       (Ureal_2_63): Likewise.
+       (Ureal_2_127): Likewise.
+       (Ureal_2_M_127): Likewise.
+       (Ureal_M_2_10_18): Likewise.
+       (Ureal_M_9_10_36): Likewise.
+       (Ureal_10_76): Likewise.
+       (Ureal_M_10_76): Likewise.
+       (Ureal_10_36): Delete.
+       (Ureal_M_10_36): Likewise.
+       * libgnat/a-decima__128.ads: New file.
+       * libgnat/a-tideau.ads, libgnat/a-tideau.adb: Reimplement as
+       generic unit.
+       * libgnat/a-tideio.adb: Reimplement.
+       * libgnat/a-tideio__128.adb: New file.
+       * libgnat/a-tifiau.ads, libgnat/a-tifiau.adb: New generic unit.
+       * libgnat/a-tifiio.adb: Move bulk of implementation to s-imagef
+       and reimplement.
+       * libgnat/a-tifiio__128.adb: New file.
+       * libgnat/a-tiflau.adb (Get): Minor consistency fix.
+       (Gets): Likewise.
+       * libgnat/a-wtdeau.ads, libgnat/a-wtdeau.adb: Reimplement as
+       generic unit.
+       * libgnat/a-wtdeio.adb: Reimplement.
+       * libgnat/a-wtdeio__128.adb: New file.
+       * libgnat/a-wtfiau.ads, libgnat/a-wtfiau.adb: New generic unit.
+       * libgnat/a-wtfiio.adb: Reimplement.
+       * libgnat/a-wtfiio__128.adb: New file.
+       * libgnat/a-ztdeau.ads, libgnat/a-ztdeau.adb: Reimplement as
+       generic unit.
+       * libgnat/a-ztdeio.adb: Reimplement.
+       * libgnat/a-ztdeio__128.adb: New file.
+       * libgnat/a-ztfiau.ads, libgnat/a-ztfiau.adb: New generic unit.
+       * libgnat/a-ztfiio.adb: Reimplement.
+       * libgnat/a-ztfiio__128.adb: New file.
+       * libgnat/g-rannum.adb (Random_Decimal_Fixed): Use a subtype of the
+       appropiate size for the instantiation.
+       (Random_Ordinary_Fixed): Likewise.
+       * libgnat/s-arit32.ads, libgnat/s-arit32.adb: New support unit.
+       * libgnat/s-fode128.ads: New instantiation.
+       * libgnat/s-fode32.ads: Likewise.
+       * libgnat/s-fode64.ads: Likewise.
+       * libgnat/s-fofi128.ads: Likewise.
+       * libgnat/s-fofi32.ads: Likewise.
+       * libgnat/s-fofi64.ads: Likewise.
+       * libgnat/s-fore_d.ads, libgnat/s-fore_d.adb: New generic unit.
+       * libgnat/s-fore_f.ads, libgnat/s-fore_f.adb: Likewise.
+       * libgnat/s-fore.ads, libgnat/s-fore.adb: Rename into...
+       * libgnat/s-forrea.ads, libgnat/s-forrea.adb: ...this.
+       * libgnat/s-imaged.ads, libgnat/s-imaged.adb: New generic unit.
+       * libgnat/s-imagef.ads, libgnat/s-imagef.adb: Likewise, taken
+       from a-tifiio.adb.
+       * libgnat/s-imde128.ads: New instantiation.
+       * libgnat/s-imde32.ads: Likewise.
+       * libgnat/s-imde64.ads: Likewise.
+       * libgnat/s-imfi128.ads: Likewise.
+       * libgnat/s-imfi32.ads: Likewise.
+       * libgnat/s-imfi64.ads: Likewise.
+       * libgnat/s-imgdec.ads, libgnat/s-imgdec.adb: Delete.
+       * libgnat/s-imglld.ads, libgnat/s-imglld.adb: Likewise.
+       * libgnat/s-imgrea.adb (Set_Image_Real): Replace Sign local variable
+       with Minus local variable for the sake of consistency.
+       * libgnat/s-imguti.ads, libgnat/s-imguti.adb: New support unit.
+       * libgnat/s-vade128.ads: New instantiation.
+       * libgnat/s-vade32.ads: Likewise.
+       * libgnat/s-vade64.ads: Likewise.
+       * libgnat/s-vafi128.ads: Likewise.
+       * libgnat/s-vafi32.ads: Likewise.
+       * libgnat/s-vafi64.ads: Likewise.
+       * libgnat/s-valdec.ads, libgnat/s-valdec.adb: Delete.
+       * libgnat/s-vallld.ads, libgnat/s-vallld.adb: Likewise.
+       * libgnat/s-valued.ads, libgnat/s-valued.adb: New generic unit.
+       * libgnat/s-valuef.ads, libgnat/s-valuef.adb: Likewise.
+       * libgnat/s-valuei.adb: Minor rewording.
+       * libgnat/s-valrea.adb: Move bulk of implementation to...
+       * libgnat/s-valuer.ads, libgnat/s-valuer.adb: ...here.  New
+       generic unit.
+       * libgnat/system-aix.ads (Max_Mantissa): Adjust.
+       * libgnat/system-darwin-arm.ads (Max_Mantissa): Likewise.
+       * libgnat/system-darwin-ppc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-darwin-x86.ads (Max_Mantissa): Likewise.
+       * libgnat/system-djgpp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-dragonfly-x86_64.ads (Max_Mantissa): Likewise.
+       * libgnat/system-freebsd.ads (Max_Mantissa): Likewise.
+       * libgnat/system-hpux-ia64.ads (Max_Mantissa): Likewise.
+       * libgnat/system-hpux.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-alpha.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-arm.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-hppa.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-ia64.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-m68k.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-mips.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-ppc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-riscv.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-s390.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-sh4.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-sparc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-linux-x86.ads (Max_Mantissa): Likewise.
+       * libgnat/system-lynxos178-ppc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-lynxos178-x86.ads (Max_Mantissa): Likewise.
+       * libgnat/system-mingw.ads (Max_Mantissa): Likewise.
+       * libgnat/system-qnx-aarch64.ads (Max_Mantissa): Likewise.
+       * libgnat/system-rtems.ads (Max_Mantissa): Likewise.
+       * libgnat/system-solaris-sparc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-solaris-x86.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-arm-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-arm-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-arm.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-e500-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-e500-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-e500-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-e500-vthread.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc-ravenscar.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc-vthread.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-ppc.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-x86-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-x86-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-x86-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-x86-vthread.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks-x86.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Max_Mantissa):
+       Likewise.
+       * libgnat/system-vxworks7-aarch64.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-arm-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-arm.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-e500-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-e500-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-e500-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-ppc-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-ppc-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-ppc-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-ppc64-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-x86-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-x86-rtp-smp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-x86-rtp.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-x86_64-kernel.ads (Max_Mantissa): Likewise.
+       * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Max_Mantissa): Likewise.
+
+2020-11-26  Liaiss Merzougue  <merzougue@adacore.com>
+
+       * libgnat/s-imgrea.ads (Image_Ordinary_Fixed_Point): Add a
+       remark concerning the irrelevant use of Inf and -0.0
+
+2020-11-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * osint-c.adb (Set_Output_Object_File_Name): Add support for
+       .c output file.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb, sem_ch8.adb, sem_prag.adb: Use
+       Is_Generic_Subprogram instead of low-level membership tests.
+
+2020-11-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.adb (Analyze_Call_And_Resolve): Reformatted a comment.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Fixed a typo.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Membership_Op): Replace pragma Warnings
+       with pragma Assert.
+
+2020-11-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Call_And_Resolve): Add information to the
+       error message on an illegal procedure call, when the illegality
+       is due to the presence of a component of the full view of the
+       target object, as well as a procedure with the same name (See RM
+       4.1.3 (9.2/3)).
+
+2020-11-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       when the restriction is a configuration pragma and specifies
+       No_Tasking, a global flag is set to reject task declarations,
+       and to prevent the construction of Master entities. The flag
+       must not be set if the pragma is a Restriction_Warning, in which
+       case task declarationns are allowed.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-stzhas.adb (Wide_Wide_Hash): Instantiate inside a
+       wrapper function.
+       * libgnat/a-stzhas.ads (Wide_Wide_Hash): Likewise; remove wrong
+       comment, because this is indeed a RM unit, as described in Ada
+       RM A.4.8 (1/3).
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Eval_Slice): Refactor repeated calls to Prefix
+       with a local constant (named just like in Resolve_Slice).
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Eval_Slice): Emit warning not just for
+       constants, but for any objects.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb (Indicate_Name_And_Type): Fix whitespace in
+       comment.
+       * sem_res.adb (Resolve_Call): Remove redundant parens.
+       * sem_util.adb (Set_Entity_With_Checks): Remove extra call to
+       Set_Entity.
+
+2020-11-26  Bob Duff  <duff@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate): Call Set_No_Initialization
+       on the N_Allocator node that is supposed to allocate on the
+       secondary stack.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch13.adb, exp_ch9.adb, sem_ch8.adb, sem_util.adb: Replace
+       a combination of Is_Protected_Type and Is_Task_Type by
+       Is_Concurrent_Type.
+
+2020-11-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/s-tassta.adb (Task_Wrapper): Fix computation of
+       Pattern_Size.
+
+2020-11-26  Bob Duff  <duff@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type): Remove propagation of
+       Has_Own_Invariants to the first subtype. This is a no-op,
+       because the current (incorrect) version of Has_Own_Invariants
+       calls Base_Type.
+       * sem_prag.adb, sem_util.adb: Pass the base type to
+       Set_Has_Own_Invariants.
+
+2020-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Aft_Value): Adjust documentation.
+       (Scale_Value): Likewise.
+
+2020-11-26  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Use the unexpanded
+       operand when generating accessibility checks.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-cbhase.adb (Read): Remove extra whitespace.
+       * libgnat/a-cbmutr.ads (Read): Likewise.
+       * libgnat/a-cborse.adb (Read): Likewise.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch7.adb, exp_util.adb, freeze.adb: Rewrite with
+       Is_Access_Object_Type.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Raise
+       exception.
+       (Analyze_Pragma): Remove detection of rewritten pragmas.
+
+2020-11-26  Joffrey Huguet  <huguet@adacore.com>
+
+       * libgnat/a-strmap.ads: Add preconditions and postconditions to
+       all subprograms.
+
+2020-11-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Resolve_Equality_Op): Warn when -gnatwq is used
+       (the default) and the problematic case is encountered.
+
+2020-11-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Issue a continuation message
+       to give proper recommendation here.
+
+2020-11-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Expand_Subtype_From_Expr): A typo correction,
+       plus other minor reformatting.
+
+2020-11-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Formal_Package): If previous matched
+       entity is overloadable, advance in the list of actuals of the
+       actual package, to prevent an erroneous match of two adjacent
+       overloadable homonyms with the same entity.
+
+2020-11-26  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (First_Selector): Utility routine to return the
+       first selector or choice in an association.
+       (Check_Return_Construct_Accessibility): Modify loop to handle
+       named associations when iterating through discriminants.
+
+2020-11-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb: Fix casing from "Instantiation" to
+       "instantiation".
+
+2020-11-25  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Is_Uninitialized_Aggregate): Move...
+       * exp_util.adb (Is_Uninitialized_Aggregate): ... here.
+       (Expand_Subtype_From_Expr): If the expression is an
+       uninitialized aggregate, capture subtype for declared object and
+       remove expression to suppress further superfluous expansion.
+
+2020-11-25  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_eval.adb (Subtypes_Statically_Compatible): Scalar types
+       with compatible static bounds are statically compatible if
+       predicates are compatible, even if they are not static subtypes.
+       Same for private types without discriminants.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch11.adb (Expand_N_Raise_Statement): Use Is_Entity_Name
+       consistently in tests on the name of the statement.
+       * exp_prag.adb (Expand_Pragma_Check): In the local propagation
+       case, wrap the raise statement in a block statement.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration): Move
+       "Nam" constant after the body of a nested subprogram; change "T"
+       from variable to constant.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * make.adb (Scan_Make_Arg): Merge ELSIF branches for -u and -U.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst
+       (Has_Tagged_Values): Document based on the existing description
+       of Has_Access_Type and the comment for Has_Tagged_Component,
+       which is where frontend evaluates this attribute.
+       * gnat_rm.texi: Regenerate.
+       * sem_attr.adb (Analyze_Attribute): Merge processing of
+       Has_Access_Type and Has_Tagged_Component attributes.
+       * sem_util.adb (Has_Access_Type): Fix casing in comment.
+       * sem_util.ads (Has_Tagged_Component): Remove wrong (or
+       outdated) comment about the use of this routine to implement the
+       equality operator.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_Size_Attribute): Remove whitespace;
+       simplify with a membership test, which are now allowed in the
+       frontend code.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Fix inconsistent calls to
+       Make_Aitem_Pragma.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Check_Expr_Constants): Simplify with
+       Is_Named_Number.
+       * sem_prag.adb (Process_Convention): Likewise.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Detect aspect identifiers
+       with membership tests.
+       (Check_Aspect_At_End_Of_Declarations): Likewise.
+       (Freeze_Entity_Checks): Likewise; a local constant is no longer
+       needed.
+       (Is_Operational_Item): Similar simplification for attribute
+       identifiers.
+       (Is_Type_Related_Rep_Item): Likewise.
+       (Resolve_Iterable_Operation): Detect names with a membership
+       test.
+       (Validate_Independence): Replace repeated Ekind with a
+       membership test.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Replace duplicate of
+       Effective_Reads.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb: Use composite wrappers (e.g.
+       Is_Subprogram_Or_Entry) and membership tests where it appears to
+       improve clarity.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb (Is_Standard_Character_Type,
+       Is_Standard_String_Type): Simplify.
+       (Last_Formal): Use procedural variant of Next_Formal.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb: Replace "E" with Entity_Id in local object
+       declarations.
+
+2020-11-25  Steve Baird  <baird@adacore.com>
+
+       * exp_ch2.adb (Expand_Entity_Reference): A new local predicate
+       Is_Object_Renaming_Name indicates whether a given expression
+       occurs (after looking through qualified expressions and type
+       conversions) as the name of an object renaming declaration. If
+       Current_Value is available but this new predicate is True, then
+       ignore the availability of Current_Value.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Type): Remove extra whitespace.
+       (Validate_Access_Type_Instance): Remove dead (and duplicated)
+       code.
+
+2020-11-25  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Possible_Side_Effect_In_SPARK): Replace hyphen
+       with a space in "side-effect" (two instances).
+
+2020-11-25  Justin Squirek  <squirek@adacore.com>
+
+       * doc/gnat_rm/intrinsic_subprograms.rst (Shifts and Rotates):
+       Document behavior on negative numbers
+       * gnat_rm.texi: Regenerate.
+       * sem_eval.adb (Fold_Shift): Set modulus to be based on the RM
+       size for non-modular integer types.
+
+2020-11-25  Olivier Hainque  <hainque@adacore.com>
+
+       * adaint.c (__gnat_copy_attribs): Reinstate code based on utime
+       for timestamp processing on VxWorks 6.
+
+2020-11-25  Yannick Moy  <moy@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Only remove side-effects
+       in GNATprove mode when this is useful.
+       * sem_res.adb (Set_Slice_Subtype): Make sure in GNATprove mode
+       to define the Itype when needed, so that run-time errors can be
+       analyzed.
+       * sem_util.adb (Enclosing_Declaration): Correctly take into
+       account renaming declarations.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-rannum.adb (Random_Discrete): Specifically deal with
+       the case where the size of the base type is larger than 64 bits.
+
+2020-11-25  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Access_Type_Declaration): Set Etype before
+       checking for volatility compatibility.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/g-rannum.ads (Random): New functions returning 128-bit.
+       * libgnat/g-rannum.adb (Random): Implement them and alphabetize.
+       (To_Signed): New unchecked conversion function for 128-bit.
+
+2020-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch7.adb (Build_Finalization_Master, Build_Finalizer,
+       Build_Object_Declarations, Make_Deep_Array_Body,
+       Wrap_Transient_Expression): Call Set_Debug_Info_Needed on
+       temporaries when Debug_Generated_Code is True.
+
+2020-11-25  Liaiss Merzougue  <merzougue@adacore.com>
+
+       * libgnat/s-imagei.adb
+       (Set_Digits): Rewrite the procedure to remove recursion.
+       (Image_Integer, Set_Image_Integer): Update assertions and remove
+       redundant ones.
+       * libgnat/s-imageu.adb
+       (Set_Image_Unsigned): Rewrite the procedure to remove recursion.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Attribute_Constrained_Static_Value): Fix body
+       box.
+       * sem_attr.adb (Eval_Attribute): Replace repeated calls to
+       Attribute_Name with a captured value of the Attribute_Id; also,
+       remove extra parens around Is_Generic_Type.
+
+2020-11-25  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Emit error on wrong argument
+       nkind.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb, sem_prag.adb: Use Is_Named_Number.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb, exp_util.adb: Fix style and typos in comments.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): A variable that
+       is only incremented in the code has now type Nat; conversion is
+       now unnecessary.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Global_Item): Call SPARK_Msg_NE with the
+       entity, not with its identifier.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * opt.ads (Generate_Asm): New flag.
+       * osint-c.adb (Set_Output_Object_File_Name): Accept any
+       extension when generating assembly.
+       * adabkend.adb (Scan_Compiler_Args): Recognize -S.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb, exp_ch4.adb, exp_intr.adb, sem_ch8.adb,
+       sem_res.adb, sem_type.adb, sem_util.adb: Reuse Is_Packed_Array.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Access_Check): Remove unbalanced paren.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Fix typo in
+       comment.
+
+2020-11-24  Justin Squirek  <squirek@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Mark relevant pragmas as ghost
+       when they are within a ghost region.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb, freeze.adb, sem_ch12.adb, sem_prag.adb: Reuse
+       In_Same_List.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Is_Loop_Pragma): Avoid repeated calls to
+       Original_Node; remove unnecessary IF statement.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Rewrite
+       with a CASE statement.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Replace calls to
+       Sloc with a local constant Loc; remove call to
+       Analyze_And_Resolve and return, which is exactly what happens
+       anyway (and other branches in the Constrained declare block
+       appear to rely on analysis, resolution and returning happening
+       in all cases).
+       * sem_util.adb: Remove useless parens.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Object_Reference): Delta and extension
+       aggregates are objects.
+
+2020-11-24  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * libgnat/s-rident.ads (System.Rident): Register new restriction
+       IDs.
+       * par-ch13.adb (Get_Aspect_Specifications): Add restriction check.
+       * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Register No_Unrecognized_Aspects restriction.
+       * sem_prag.adb (Analyze_Pragma): Add restriction check.
+       * snames.ads-tmpl: Create restriction names.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Declared_Within): Return True for objects
+       declared within the attribute Loop_Entry prefix itself.
+
+2020-11-24  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Process_Discriminants): Correctly set right
+       context for analyzing default value of discriminant.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_type.adb (Add_One_Interp.Is_Universal_Operation): Account
+       for universal_access = operator.
+       (Disambiguate): Take into account preference on universal_access
+       = operator when relevant.
+       (Disambiguate.Is_User_Defined_Anonymous_Access_Equality): New.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_util.adb (Is_Finalizable_Transient): Take into account return
+       statements containing N_Expression_With_Actions. Also clean up a
+       condition to make it more readable.
+       * exp_ch6.adb: Fix typo.
+
+2020-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-wtdeio.adb (TFT): Delete and adjust throughout.
+       * libgnat/a-wtenau.adb (TFT): Likewise.
+       * libgnat/a-wtfiio.adb (TFT): Likewise.
+       * libgnat/a-wtflio.adb (TFT): Likewise.
+       * libgnat/a-wtinio.adb (TFT): Likewise.
+       * libgnat/a-wtinio__128.adb (TFT): Likewise.
+       * libgnat/a-wtmoio.adb (TFT): Likewise.
+       * libgnat/a-wtmoio__128.adb (TFT): Likewise.
+       * libgnat/a-ztdeio.adb (TFT): Likewise.
+       * libgnat/a-ztenau.adb (TFT): Likewise.
+       * libgnat/a-ztfiio.adb (TFT): Likewise.
+       * libgnat/a-ztflio.adb (TFT): Likewise.
+       * libgnat/a-ztinio.adb (TFT): Likewise.
+       * libgnat/a-ztinio__128.adb (TFT): Likewise.
+       * libgnat/a-ztmoio.adb (TFT): Likewise.
+       * libgnat/a-ztmoio__128.adb (TFT): Likewise.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Validate_Literal_Aspect): Add support for named
+       numbers and in particular overload of the Real_Literal function.
+       * sem_res.adb (Resolve): Add support for named numbers in
+       Real_Literal and Integer_Literal resolution.
+       * einfo.adb, einfo.ads (Related_Expression,
+       Set_Related_Expression): Allow E_Function.
+       * uintp.ads (UI_Image_Max): Bump size of buffer to avoid loosing
+       precision.
+       * sem_eval.adb: Fix typo in comment.
+       * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads (From_String):
+       Return a Valid_Big_Integer.
+       * libgnat/a-nbnbre.adb, libgnat/a-nbnbre.ads (From_String): New
+       variant taking two strings. Return a Valid_Big_Real.
+
+2020-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations) <Explicit_Freeze_Check>: Test
+       that the instance is in a statement sequence instead of local scope.
+       (Freeze_Subprogram_Body): Use the special delayed placement with
+       regard to the parent instance only if its Sloc is strictly greater.
+       (Install_Body): Likewise.
+
+2020-11-24  Steve Baird  <baird@adacore.com>
+
+       * sem_ch13.adb (Validate_Literal_Aspect): Call to Base_Type
+       needed in order to correctly check result type of String_Literal
+       function when the first named subtype differs from the base
+       type (e.g.:
+       type T is range 1 .. 10 with String_Literal => ... ;
+       ).
+
+2020-11-24  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Global_Item): Handle specially the
+       current instance of a PO.
+       * sem_util.ads (Is_Effectively_Volatile,
+       Is_Effectively_Volatile_For_Reading): Add parameter
+       Ignore_Protected.
+       * sem_util.adb (Is_Effectively_Volatile,
+       Is_Effectively_Volatile_For_Reading): Add parameter
+       Ignore_Protected to compute the query results ignoring protected
+       objects/types.
+       (Is_Effectively_Volatile_Object,
+       Is_Effectively_Volatile_Object_For_Reading): Adapt to new
+       signature.
+
+2020-11-24  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Update documentation on -gnatyk.
+       * gnat_ugn.texi: Regenerate.
+
+2020-11-24  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch10.adb (Analyze_Compilation_Unit): Move aspects from
+       body to the newly created spec.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Simplify
+       handling of function calls and remove bug in handling of
+       transient objects.  Minor reformatting along the way.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.adb (From_String): Implement fully.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Array_Aggregate): If the choice is
+       a subtype_indication then call
+       Resolve_Discrete_Subtype_Indication; both for choices
+       immediately inside array delta aggregates and inside
+       iterated_component_association within array delta aggregates.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-load.adb, lib-writ.adb, lib.adb, par-load.adb,
+       rtsfind.adb, sem_ch10.adb: Use Present where possible.
+
+2020-11-24  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Depends_Global): Reject Global and
+       Depends on null procedure.
+
+2020-11-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbre.adb (From_String): Handle properly '_'
+       characters.
+
+2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Array_Aggregate,
+       Expand_SPARK_N_Aggregate): Remove, no longer needed.
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): Only
+       remove references in the analyzed expression when generating
+       code and the expression needs to be analyzed anew after being
+       rewritten into a loop.
+
+2020-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Complete
+       entry of 3.5.9(10).
+       * gnat_rm.texi: Regenerate.
+
+2020-11-20  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * adaint.c (__gnat_number_of_cpus): Check for the presence of
+       _SC_NPROCESSORS_ONLN rather than a list of OS-specific macros
+       to decide whether to use `sysconf'.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/97911
+       * gcc-interface/Make-lang.in (ada.serial): Change from goal to a
+       variable.
+       (.PHONY): Drop ada.serial and ada.prev.
+       (gnat1$(exeext)): Depend on $(ada.serial) rather than ada.serial.
+
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/97805
+       * adaint.c: Include climits in C++ and limits.h otherwise.
+
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_dbug.adb (Is_Handled_Scale_Factor): Delete.
+       (Get_Encoded_Name): Do not call it.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>:
+       Tidy up and always use a meaningful description for arbitrary
+       scale factors.
+       * gcc-interface/misc.c (gnat_get_fixed_point_type_info): Remove
+       obsolete block and adjust the description of the scale factor.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc-interface/Make-lang.in (ada.serial): New goal.
+       (.PHONY): Add ada.serial ada.prev.
+       (gnat1$(exeext)): Depend on ada.prev.  Call LINK_PROGRESS.
+
+2020-11-18  Matthias Klose  <doko@ubuntu.com>
+
+       PR ada/97859
+       * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h: Remove ^L characters throughout.
+       * gcc-interface/decl.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       * gcc-interface/utils2.c: Likewise.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Do not explicitly
+       go to the base type for the Has_Constrained_Partial_View flag.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (build_binary_op_trapv): Convert operands
+       to the result type before doing generic overflow checking.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (can_be_lower_p): Remove.
+       (Regular_Loop_to_gnu): Add ENTRY_COND unconditionally if
+       BOTTOM_COND is non-zero.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: In case
+       the constant is not being defined, get the expression in type
+       annotation mode only if its type is elementary.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Op_Shift>: Also convert
+       GNU_MAX_SHIFT if the type of the operation has been changed.
+       * gcc-interface/utils.c (can_materialize_object_renaming_p): Add
+       pair of missing parentheses.
+
+2020-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Makefile.in: Force target_cpu to powerpc if the
+       nominal target is powerpc64-suse-linux.
+
+2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc-interface/misc.c (gnat_printable_name): Change
+       DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN.
+
+2020-10-28  Alexandre Oliva  <oliva@adacore.com>
+
+       PR ada/97504
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS> <riscv*-*-*>: Use wraplf
+       version of Aux_Long_Long_Float.
+
+2020-10-27  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl: Add vx7r2cert spec file to ARM, PowerPC and x86
+       targets.
+       * vxworks7-cert-rtp-link.spec: New spec file.
+
+2020-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-spogwa object.
+       * libgnat/g-spogwa.adb: Fix style errors.
+
+2020-10-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Array_Aggregate): Dedicated
+       routine for array aggregates; mostly reuses existing code, but
+       calls itself recursively for multi-dimensional array aggregates.
+       (Expand_SPARK_N_Aggregate): Call Expand_SPARK_Array_Aggregate to
+       do the actual expansion, starting from the first index of the
+       array type.
+
+2020-10-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): new
+       internal subprogram Remove_References, to reset semantic
+       information on each reference to the index variable of the
+       association, so that Collect_Aggregate_Bounds can work properly
+       on multidimensional arrays with nested associations, and
+       subsequent expansion into loops can verify that dimensions of
+       each subaggregate are compatible.
+
+2020-10-27  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Append_Copies): Handle N_Parameter_Associations.
+
+2020-10-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada_get_targ.adb (Digits_From_Size): Delete.
+       (Width_From_Size): Likewise.
+       * get_targ.adb (Digits_From_Size): Likewise.
+       (Width_From_Size): Likewise.
+       * get_targ.ads (Digits_From_Size): Likewise.
+       (Width_From_Size): Likewise.
+       * ttypes.ads: Remove with clause for Get_Targ.
+       (Standard_Short_Short_Integer_Width): Delete.
+       (Standard_Short_Integer_Width): Likewise.
+       (Standard_Integer_Width): Likewise.
+       (Standard_Long_Integer_Width): Likewise.
+       (Standard_Long_Long_Integer_Width): Likewise.
+       (Standard_Long_Long_Long_Integer_Width): Likewise.
+       (Standard_Short_Float_Digits): Likewise.
+       (Standard_Float_Digits): Likewise.
+       (Standard_Long_Float_Digits): Likewise.
+       (Standard_Long_Long_Float_Digits): Likewise.
+       * gnat1drv.adb (Adjust_Global_Switches): Adjust.
+
+2020-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb, freeze.adb, gnat1drv.adb, opt.ads, sem_ch6.adb
+       (Transform_Function_Array): New flag, split from Modify_Tree_For_C.
+       * exp_unst.adb: Minor reformatting.
+
+2020-10-27  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socpol.adb (Wait): Do not exit from loop on EINTR
+       error and timeout is over.
+
+2020-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): If the aggregate
+       includes an Others_Choice in an association that is an
+       Iterated_Component_Association, generate a proper loop for it.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Add missing sign in documentation.
+       * libgnat/s-imgrea.ads: Minor fixes in commentary.
+
+2020-10-26  Pat Rogers  <rogers@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Include
+       "Jorvik" in pragma Profile description.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-26  Bob Duff  <duff@adacore.com>
+
+       * sem_attr.adb (Check_Image_Type): Remove "|", so the compiler
+       will not crash.
+       * errout.ads: Improve comment. This has nothing to do with
+       -gnatQ.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Minor editions to documentation.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Causes_Contract_Freezing): Extend condition to
+       match the one in Analyze_Subprogram_Body_Helper. This routine is
+       used both as an assertion at the very start of
+       Freeze_Previous_Contracts and to detect previous declaration for
+       which Freeze_Previous_Contracts has been executed.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Move around documentaton paragraph.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Add
+       guard for a call to Set_Last_Assignment with the same condition
+       as the assertion in that routine and explain why this guard
+       fails in GNATprove mode.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Adjust
+       the entries of 3.5.9(8) and 3.5.9(10).
+       * gnat_rm.texi: Regenerate.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Change the range of supported Small
+       values.
+       (E0, E1, E2): Adjust factors.
+       (Exact): Return false if the Small does not fit in 64 bits.
+
+2020-10-26  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.adb (Wait_On_Socket): Boolean parameter
+       For_Read changed to Event parameter of type
+       GNAT.Sockets.Poll.Wait_Event_Set.  Implementation is simplified
+       and based on call to GNAT.Sockets.Poll.Wait now.
+
+2020-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-tifiio.adb: Minor editions to documentation.
+
+2020-10-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch12.adb (Restore_Private_Views): Do not lose the
+       information provided by Is_Generic_Actual_Type in GNATprove
+       mode.
+
+2020-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
+       on formal parameters of all dispatching operations.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Fix typos in
+       error message.
+
+2020-10-26  Olivier Hainque  <hainque@adacore.com>
+
+       * libgnat/s-dwalin.adb (Symbolic_Traceback): Always emit the hex
+       address at the beginning of an entry if suppression is not
+       requested. Consistently output a "???" for the subprogram name
+       when it is unknown.
+
+2020-10-26  Doug Rupp  <rupp@adacore.com>
+
+       * s-oscons-tmplt.c (_nfds_t): Use sizeof (unsigned long int).
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): Move code for
+       iterated_element_association to
+       Build_Iterated_Element_Association.
+
+2020-10-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch12.adb (Needs_Body_Instantiated): In GNATprove mode, do
+       not instantiate bodies outside of the main unit.
+
+2020-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Array_Aggregate): For an
+       association that is an iterated component association, attach
+       the copy of the expression to the tree prior to analysis, in
+       order to preserve its context. This is needed when verifying
+       static semantic rules that depend on context, for example that a
+       use of 'Old appears only within a postcondition.
+
+2020-10-26  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Document that
+       --no-comments-fill is now the default.
+
+2020-10-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_aggr.adb (Resolve_Extension_Aggregate): When testing for
+       an aggregate that is illegal due to having an ancestor type that
+       has unknown discriminants, add an "or else" condition testing
+       whether the aggregate type has unknown discriminants and that
+       Partial_View_Has_Unknown_Discr is also set on the ancestor type.
+       Extend the comment, including adding ??? about a possible
+       simpler test.
+
+2020-10-26  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-cihama.adb, libgnat/a-cohama.adb,
+       libgnat/a-cohase.adb (Delete): Set Position.Position, and
+       assert.
+
+2020-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name.Undefined): Handle known unit
+       names with 3 selectors.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Add missing call
+       to Enter_Name, just like it is called for
+       iterated_component_association in Expand_SPARK_N_Aggregate.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Reuse local
+       constant Expr and the Choice_List routine.
+       (Expand_SPARK_N_Aggregate): Reuse local constant Expr.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): Fix typos in
+       comments.
+
+2020-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch6.adb (P_Formal_Part): Ada 2020 supports scanning
+       aspects on formal parameters.
+       * doc/gnat_rm/implementation_defined_aspects.rst (Aspect
+       Unreferenced): Update documentation.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Type_Refs): When an entity in an expression
+       function is a type, freeze the entity and not just its type,
+       which would be incomplete when the type is derived and/or
+       tagged.
+
+2020-10-26  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_Update_Attribute): Handle
+       subtype_indication just like in Expand_Delta_Array_Aggregate.
+
+2020-10-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * Makefile.rtl: Add GNATRTL_128BIT_PAIRS/OBJS for 64bit
+       PowerPC Darwin cases.
+
+2020-10-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * adaint.c: On Darwin platforms, define st_atim to
+       st_atimespec. Likwise st_mtim to st_mtimespec.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo.
+
+2020-10-23  Alexandre Oliva  <oliva@adacore.com>
+
+       PR ada/97504
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Select wraplf version
+       of Aux_Long_Long_Float for s390 and remaining sparc and
+       powerpc targets.
+
+2020-10-23  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * Makefile.rtl (GNATRTL_SOCKETS_OBJS): New object
+       g-socpol$(objext) New source files noted: g-socpol.adb,
+       g-socpol.ads, g-socpol__dummy.adb, g-socpol__dummy.ads,
+       g-sopowa.adb, g-sopowa__posix.adb, g-sopowa__mingw.adb,
+       g-spogwa.adb, g-spogwa.ads.
+       * impunit.adb (Non_Imp_File_Names_95): New base filename
+       g-socpol in "GNAT Library Units" section for GNAT.Sockets.Poll
+       unit.
+       * libgnat/g-socket.ads, libgnat/g-socket.adb:
+       (Raise_Socket_Error): Moved from body to private part of
+       specification to use in GNAT.Sockets.Poll.
+       * libgnat/g-socpol.ads, libgnat/g-socpol.adb: Main unit of the
+       implementation.
+       * libgnat/g-socpol__dummy.ads, libgnat/g-socpol__dummy.adb:
+       Empty unit for the systems without sockets support.
+       * libgnat/g-spogwa.ads, libgnat/g-spogwa.adb: Generic unit
+       implementing sockets poll on top of select system call.
+       * libgnat/g-sopowa.adb (Wait): Separate implementation for
+       operation systems with poll system call support.
+       * libgnat/g-sopowa__posix.adb (Wait): Separate implementation
+       for POSIX select system call.
+       * libgnat/g-sopowa__mingw.adb (Wait): Separate implementation
+       for Windows select system call.
+       * gsocket.h (_WIN32_WINNT): Increase to 0x0600 for winsock2.h to
+       allow WSAPoll related definitions.
+       * s-oscons-tmplt.c: Fix comment next to #endif for
+       #if defined (__linux__) || defined (__ANDROID__) line.  Include
+       <poll.h> for all except VxWorks and Windows.
+       (SIZEOF_nfds_t): New definition.
+       (SIZEOF_fd_type): New definition.
+       (SIZEOF_pollfd_events): New definition.
+       (POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL): New
+       definitions for VxWorks to be able to emulate poll on top of
+       select in it.  Define POLLPRI as zero on Windows as it is not
+       supported there.
+       (Poll_Linkname): New definition, because the poll system call
+       has different name in Windows and POSIX.
+
+2020-10-23  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Apply_Accessibility_Check): Skip checks against
+       the extra accessibility of a function result when in Ada 2005
+       mode or earlier.
+       * exp_ch3.adb (Build_Initialization_Call): Modify accessibility
+       level calls to use Accessibility_Level.
+       (Expand_N_Object_Declaration): Modify accessibility level calls
+       to use Accessibility_Level.
+       * exp_ch4.adb (Expand_Allocator_Expression): Add static check
+       for anonymous access discriminants. Remove unneeded propagation
+       of accessibility actual.
+       (Expand_N_In): Modify accessibility level calls to use
+       Accessibility_Level.
+       (Expand_N_Type_Conversion): Modify accessibility level calls to
+       use Accessibility_Level.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Modify
+       accessibility level calls to use Accessibility_Level.
+       * exp_ch6.adb (Expand_Call_Helper): Rewrite accessibility
+       calculation for the extra accessibility of result actual in
+       function calls, and modify accessibility level calls to use
+       Accessibility_Level.
+       (Check_Against_Result_Level): Removed.
+       * exp_ch9.adb (Expand_N_Requeue_Statement): Add dynamic
+       accessibility check for requeues
+       * sem_attr.adb (Resolve_Attribute): Modify accessibility level
+       calls to use Accessibility_Level.
+       * sem_ch13.adb (Associate_Storage_Pool): Modify accessibility
+       level calls to use Accessibility_Level.
+       * sem_ch4.adb (Analyze_Call): Add static check for explicitly
+       aliased formals in function calls within return statements.
+       * sem_ch6.adb (Check_Return_Construct_Accessibility): Rewrite
+       routine to account for non-aggregate return objects.
+       (Generate_Minimum_Accessibility): Created.
+       (Analyze_Call): Modify accessibility level calls to use
+       Accessibility_Level.
+       (Analyze_Subprogram_Body_Helper): Add generation of minimum
+       accessibility for the extra accessibility of the function
+       result.
+       * sem_ch9.adb (Analyze_Requeue): Modify accessibility level
+       calls to use Accessibility_Level.
+       * sem_res.adb: (Check_Aliased_Parameters): Modify accessibility
+       level calls to use Accessibility_Level.
+       (Valid_Conversion): Modify accessibility level calls to use
+       Accessibility_Level.
+       * sem_util.adb, sem_util.ads (Accessibility_Level_Helper):
+       Renamed to Accessibility_Level, add detection for functions in
+       prefix notation, and add cases where to return zero when
+       specified. Modified to take new, more descriptive, parameters.
+       (Accessibility_Level): Created.
+       (Function_Call_Level): Removed.
+       (Function_Call_Or_Allocator_Level): Created to centralize the
+       calculation accessibility levels for function calls and
+       allocators.
+       (Static_Accessibility_Level): Removed.
+       (Dynamic_Accessibility_Level): Removed.
+       (Get_Dynamic_Accessibility): Renamed from Get_Accessibility.
+       (In_Return_Value): Created to determine if a given expression
+       contributes to the current function's return value.
+       (Is_Master): Created.
+       (Is_Explicitly_Aliased): Created
+
+2020-10-23  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Document
+       --no-comments-fill.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
+       Analyze_Subprogram_Body_Stub_Contract): Fix missing references
+       to Subprogram_Variant where similar references to Contract_Cases
+       are present.
+       * sem_prag.adb (Analyze_Contract_Case, Analyze_Variant): Check
+       that aggregate parameter has no expressions.
+       (Analyze_Pragma): Replace Contract_Cases with Subprogram_Variant
+       in a copy-pasted comment.
+
+2020-10-23  Philippe Gil  <gil@adacore.com>
+
+       * libgnat/g-socket.ads: Fix comment typo.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Remove uage
+       restrictions in conjunction with Atomic and Aliased.
+       * gnat_rm.texi: Regenerate.
+       * aspects.ads (Aspect_Id): Add Aspect_Full_Access_Only.
+       (Is_Representation_Aspect): Likewise.
+       (Aspect_Names): Likewise.
+       (Aspect_Delay): Likewise.
+       * einfo.ads (Is_Atomic_Or_VFA): Rename into...
+       (Is_Full_Access): ...this.
+       (Is_Volatile_Full_Access): Document new usage for Full_Access_Only.
+       * einfo.adb (Is_Atomic_Or_VFA): Rename into...
+       (Is_Full_Access): ...this.
+       * freeze.ads (Is_Atomic_VFA_Aggregate): Rename into...
+       (Is_Full_Access_Aggregate): ...this.
+       * freeze.adb (Is_Atomic_VFA_Aggregate): Rename into...
+       (Is_Full_Access_Aggregate): ...this.  Adjust to above renaming.
+       (Freeze_Array_Type): Likewise.
+       (Freeze_Entity): Likewise.
+       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Likewise.
+       (Expand_Record_Aggregate): Likewise.
+       * exp_ch4.adb (Expand_N_Op_Eq): Likewise.
+       * exp_ch5.adb (Expand_Assign_Array): Likewise.
+       * exp_ch8.adb (Evaluation_Required): Likewise.
+       * layout.adb (Layout_Type): Likewise.
+       (Set_Composite_Alignment): Likewise.
+       * sem_aux.ads (Has_Rep_Item): Delete.
+       * sem_aux.adb (Has_Rep_Item): Likewise.
+       * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Implement
+       new legality rules in C.6(12).
+       * sem_ch12.adb (Instantiate_Object): Likewise.
+       * sem_res.adb (Resolve_Actuals): Likewise.
+       * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Deal with aspect
+       Full_Access_Only.
+       (Check_False_Aspect_For_Derived_Type): Likewise.
+       (Make_Pragma_From_Boolean_Aspect): Test for the presence of Expr.
+       Deal with aspect Full_Access_Only.
+       (Analyze_Aspects_At_Freeze_Point): Likewise.
+       (Analyze_One_Aspect): Do not set Delay_Required to true even for
+       Always_Delay boolean aspects if they have no expression.  Force
+       Delay_Required to true for aspect Full_Access_Only in all cases.
+       Reject aspect Full_Access_Only if not in Ada 2020 mode.
+       (Check_Aspect_At_End_Of_Declarations): Deal with empty expression.
+       (Check_Aspect_At_Freeze_Point): Likewise.
+       (Rep_Item_Entity): Delete.
+       (Inherit_Aspects_At_Freeze_Point): Align handling for Bit_Order
+       with that for Scalar_Storage_Order.
+       * sem_prag.adb (Check_Atomic_VFA): Delete.
+       (Check_VFA_Conflicts): Likewise.
+       (Check_Full_Access_Only): New procedure.
+       (Process_Atomic_Independent_Shared_Volatile): Call to implement
+       the new legality checks in C.6(8/2) and mark the entity last.
+       (Analyze_Pragma) <Pragma_Atomic_Components>: Remove obsolete check.
+       * sem_util.ads (Is_Atomic_Or_VFA_Object): Rename into...
+       (Is_Full_Access_Object): ...this.
+       (Is_Subcomponent_Of_Atomic_Object): Rename into...
+       (Is_Subcomponent_Of_Full_Access_Object): ...this.
+       * sem_util.adb (Inherit_Rep_Item_Chain): Use Present_In_Rep_Item.
+       (Is_Atomic_Or_VFA_Object): Rename into...
+       (Is_Full_Access_Object): ...this.
+       (Is_Subcomponent_Of_Atomic_Object): Rename into...
+       (Is_Subcomponent_Of_Full_Access_Object): ...this and adjust.
+       * snames.ads-tmpl (Name_Full_Access_Only): New name of aspect.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for renaming.
+       (promote_object_alignment): Likewise.
+       (gnat_to_gnu_field): Likewise.  Rename local variable and use
+       specific qualifier in error message for Volatile_Full_Access.
+       * gcc-interface/trans.c (lvalue_required_p): Likewise.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * lib-writ.ads, lib-writ.adb (Write_ALI): No longer read
+       existing ALI files in -gnatc mode.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/g-socthi__mingw.adb (C_Select): Fix logic in code and
+       make it explicit that we are checking against null values before
+       dereferencing them.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): For an enumeration type
+       subject to pragma Discard_Names, convert 'Pos to Long_Long_Integer
+       before applying 'Img to the result.
+
+2020-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Type_Refs): Add guard on freezing of the
+       designated type of an access type appearing in the expression,
+       when expression includes an explicit dereference whose prefix
+       includes a function call.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Handle
+       subtype_indication; do not apply range checks for ranges; add
+       comment saying that others_choices is not allowed.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Aggregate,
+       Expand_SPARK_Delta_Or_Update): Expand
+       Iterated_Component_Association occurring within delta
+       aggregates.
+       (Expand_SPARK): Apply SPARK-specific expansion to ordinary
+       aggregates.
+
+2020-10-23  Johannes Kanig  <kanig@adacore.com>
+
+       * exp_util.adb, exp_util.ads
+       (Containing_Package_With_Ext_Axioms,
+       Has_Annotate_Pragma_For_External_Axiomatizations): Removed.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Removed code
+       related to external axiomatizations.
+       * einfo.ads
+       (Is_Generic_Actual_Subprogram): Removed comment about external
+       axiomatization.
+
+2020-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Do not call
+       Resolve_Container_Aggregate if compilation version is earlier
+       than Ada_2020.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Improve
+       documentation of pragma Abort_Defer.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-23  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Etype_Or_Dim3): New function.
+       (Expand_Pragma_Cuda_Execute): Use Etype_Or_Dim3 for temporary
+       decls.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-fileio.adb (Open): Fix setting of Tempfile.
+
+2020-10-23  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Get_Launch_Kernel_Arg_Type): Renamed to
+       Get_Nth_Arg_Type and made more generic.
+       (Build_Dim3_Declaration): Now builds a CUDA.Internal.Dim3
+       instead of a CUDA.Vector_Types.Dim3.
+       (Build_Shared_Memory_Declaration): Now infers needed type from
+       Launch_Kernel instead of using a hard-coded type.
+       (Expand_Pragma_CUDA_Execute): Build additional temporaries to
+       store Grids and Blocks.
+       * rtsfind.ads: Move Launch_Kernel from public to internal
+       package.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Complete_Object_Operation): Only mark entities
+       referenced if we are compiling the extended main unit.
+       * sem_attr.adb (Analyze_Attribute [Attribute_Tag]): Record a
+       reference on the type and its scope.
+
+2020-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Is_Uninitialized_Aggregate): Recognize an array
+       aggregate with box initialization, scalar components, and no
+       component default values.
+       (Freeze_Entity, Check_Address_Clause): Call it, and simplify
+       freeze code for entity by removing useless assignment.
+
+2020-10-23  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Check_Abstract_Overriding): Subprogram renamings
+       cannot be overridden.
+       (Derive_Subprogram): Enable setting attribute
+       Requires_Overriding on functions with controlling access results
+       of record extensions with a null extension part require
+       overriding (AI95-00391/06).
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Push scope of
+       the implicit loop before entering name of the index parameter,
+       not after; enter name no matter if the identifier has been
+       decorated before.
+
+2020-10-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Analyze_Call): In the case where the call is not
+       overloaded, check for a call to an abstract nondispatching
+       operation and flag an error.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Rewrite again code enabling
+       or disabling the support for 128-bit integer types.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * alloc.ads, aspects.adb, aspects.ads, atree.adb, atree.ads,
+       casing.adb, casing.ads, csets.adb, csets.ads, debug.adb, debug.ads,
+       einfo.adb, einfo.ads, elists.adb, elists.ads, fname.adb, fname.ads,
+       gnatvsn.adb, gnatvsn.ads, hostparm.ads, indepsw-aix.adb,
+       indepsw-darwin.adb, indepsw-gnu.adb, indepsw.adb, indepsw.ads,
+       krunch.adb, krunch.ads, lib-list.adb, lib-sort.adb, lib.adb, lib.ads,
+       namet-sp.adb, namet-sp.ads, namet.adb, namet.ads, nlists.adb,
+       nlists.ads, opt.adb, opt.ads, output.adb, output.ads, rident.ads,
+       scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, sem_aux.ads,
+       sem_aux.adb, sfn_scan.adb, sinfo.adb, sinfo.ads, sinput.adb,
+       sinput.ads, snames.adb-tmpl, snames.ads-tmpl, stand.ads,
+       stringt.adb, stringt.ads, table.adb, table.ads, types.adb,
+       types.ads, uintp.adb, uintp.ads, uname.adb, uname.ads,
+       urealp.adb, urealp.ads, vast.adb, vast.ads, widechar.adb,
+       widechar.ads: Update header.
+
+2020-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.adb (From_String): Take advantage of
+       Long_Long_Long_Integer.
+       * libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New
+       function taking a Long_Long_Long_Integer.
+
+2020-10-23  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Call_Helper): In the selected
+       component case, test if a prefix is a function call and whether
+       the subprogram call is not being used in its entirety and use
+       the Innermost_Master_Scope_Depth in that case.
+       (Innermost_Master_Scope_Depth): Test against the node_par
+       instead of its identifier to avoid misattributing unnamed blocks
+       as not being from source.
+       (Function_Call_Level): Add calculation for whether a subprogram
+       call is initializing an object in its entirety.
+       (Subprogram_Call_Level): Renamed to Function_Call_Level.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_External_Properties): Rewrite to match the
+       SPARK RM description.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Check_Type_Or_Object_External_Properties):
+       Cleanup.
+
+2020-10-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Set the
+       output parameter Expr_Val to the (implicit) pragma argument even
+       when returning early.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_128BIT_PAIRS): Add i-cexten.ads.
+       * debug.adb (d.H): Document new usage.
+       * doc/gnat_rm/representation_clauses_and_pragmas.rst (Size Clauses):
+       Document new limit on 64-bit platforms.
+       (Component_Size Clauses): Likewise.
+       (Pragma Pack for Arrays): Likewise.
+       (Pragma Pack for Records): Likewise.
+       (Record Representation Clauses): Likewise.
+       * gnat_rm.texi: Regenerate.
+       * gnat1drv.adb (Adjust_Global_Switches): Rewrite code enabling or
+       disabling the support for 128-bit integer types.
+       * switch-c.adb (Scan_Front_End_Switches): Do not deal with e128.
+       * usage.adb (Write_Switch_Char): Do not print -gnate128 switch.
+       * libgnat/i-cexten__128.ads: New file.
+
+2020-10-22  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads (Has_Limited_View): New synthesized attribute.
+       * einfo.adb (Has_Limited_View): New synthesized attribute.
+       (Set_Limited_View): Complete assertion.
+       * sem_ch10.ads (Is_Visible_Through_Renamings): Make this routine
+       public to invoke it from Find_Expanded_Name and avoid reporting
+       spurious errors on renamings of limited-with packages.
+       (Load_Needed_Body): Moved to have this spec alphabetically
+       ordered.
+       * sem_ch10.adb (Is_Visible_Through_Renamings): Moved to library
+       level.
+       (Is_Limited_Withed_Unit): New subprogram.
+       * sem_ch3.adb (Access_Type_Declaration): Adding protection to
+       avoid reading attribute Entity() when not available.
+       * sem_ch8.adb (Analyze_Package_Renaming): Report error on
+       renamed package not visible through context clauses.
+       (Find_Expanded_Name): Report error on renamed package not
+       visible through context clauses; handle special case where the
+       prefix is a renaming of a (now visible) shadow package.
+
+2020-10-22  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Get_Launch_Kernel_Arg_Type): New function.
+       (Build_Shared_Memory_Declaration): Use
+       Get_Launch_Kernel_Arg_Type.
+       (Build_Stream_Declaration): Use Get_Launch_Kernel_Arg_Type.
+       * rtsfind.ads: Remove RO_IC_Unsigned_Long_Long.
+
+2020-10-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-imenne.adb, libgnat/s-imgrea.adb: Add assertions.
+
+2020-10-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-imgrea.adb (Set_Image_Real): Update annotations.
+
+2020-10-22  Steve Baird  <baird@adacore.com>
+
+       * aspects.ads: Introduce the subtype Nonoverridable_Aspect_Id,
+       whose Static_Predicate reflects the list of nonoverridable
+       aspects given in Ada RM 13.1.1(18.7).
+       * sem_util.ads, sem_util.adb: Add two new visible subprograms,
+       Check_Inherited_Nonoverridable_Aspects and Is_Confirming. The
+       former is used to check the consistency of inherited
+       nonoverridable aspects from multiple sources. The latter
+       indicates whether two aspect specifications for a nonoverridable
+       aspect are confirming. Because of compatibility concerns in
+       compiling QGen, Is_Confirming always returns True if
+       Relaxed_RM_Semantics (i.e., -gnatd.M) is specified.
+       * sem_ch3.adb (Derived_Type_Declaration): Call new
+       Check_Inherited_Nonoverridable_Aspects procedure if interface
+       list is non-empty.
+       * sem_ch9.adb (Check_Interfaces): Call new
+       Check_Inherited_Nonoverridable_Aspects procedure if interface
+       list is non-empty.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): When an explicit
+       aspect specification overrides an inherited nonoverridable
+       aspect, check that the explicit specification is confirming.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.ads (Check_Compile_Time_Size): Adjust size limit.
+
+2020-10-22  Richard Kenner  <kenner@adacore.com>
+
+       * sprint.adb (pg, po, ps): Use {Push,Pop}_Output.
+       * treepr.adb (pl, pn): Likewise.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_advice.rst: Minor fix.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-22  Steve Baird  <baird@adacore.com>
+
+       * sem_util.adb (Is_Container_Aggregate): A new local predicates
+       which indicates whether a given expression is a container
+       aggregate. The implementation of this function is incomplete; in
+       the unusual case of a record aggregate (i.e., not a container
+       aggregate) of a type whose Aggregate aspect is specified, the
+       function will incorrectly return True.
+       (Immediate_Context_Implies_Is_Potentially_Unevaluated): Improve
+       handling of aggregate components.
+       (Is_Repeatedly_Evaluated): Test for container aggregate
+       components along with existing test for array aggregate
+       components.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms.
+
+2020-10-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): If the
+       construct includes an iterator filter it corresponds to an
+       Iterated_Element_Association, so build the proper node for it.
+       * exp_aggr.adb (Expand_Container_Aggregate, Aggregate_Size): If
+       the component is an Iterated_Element_Association, treat it as
+       having a non-static size.
+
+2020-10-22  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * scng.adb (Scan): Check if any letter of the token is
+       uppercase.
+
+2020-10-22  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Level_Helper): Conversions to
+       named access types get the level associated with the named
+       access type.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Has_Constrained_Partial_View): Add "base type" marker.
+
+2020-10-22  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.adb (Has_Constrained_Partial_View): Apply Base_Type to Id.
+       * sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Remove
+       "not Is_Generic_Type" test and call
+       Object_Type_Has_Constrained_Partial_View instead of
+       Has_Constrained_Partial_View. Improve related error message to
+       say "does not statically match" instead of just "does not
+       match".
+
+2020-10-22  Steve Baird  <baird@adacore.com>
+
+       * sem_util.ads, sem_util.adb: Declare and implement a new
+       predicate, Derivation_Too_Early_To_Inherit.  This function
+       indicates whether a given derived type fails to inherit a given
+       streaming-related attribute from its parent type because the
+       declaration of the derived type precedes the corresponding
+       attribute_definition_clause of the parent.
+       * exp_tss.adb (Find_Inherited_TSS): Call
+       Derivation_Too_Early_To_Inherit instead of unconditionally
+       assuming that a parent type's streaming attribute is available
+       for inheritance by an immediate descendant type.
+       * sem_attr.adb (Stream_Attribute_Available): Call
+       Derivation_Too_Early_To_Inherit instead of unconditionally
+       assuming that a parent type's streaming attribute is available
+       for inheritance by an immediate descendant type.
+       * exp_attr.adb (Default_Streaming_Unavailable): A new predicate;
+       given a type, indicates whether predefined (as opposed to
+       user-defined) streaming operations for the type should be
+       implemented by raising Program_Error.
+       (Expand_N_Attribute_Reference): For each of the 4
+       streaming-related attributes (i.e., Read, Write, Input, Output),
+       after determining that no user-defined implementation is
+       available (including a Stream_Convert pragma), call
+       Default_Streaming_Unavailable; if that call returns True, then
+       implement the streaming operation as "raise Program_Error;".
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Apply_Float_Conversion_Check): Saturate the bounds
+       of the check to those of the base type of the expression.
+
+2020-10-22  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Apply_Accessibility_Check): Modify condition to
+       avoid flawed optimization and use Get_Accessibility over
+       Extra_Accessibility.
+       * exp_attr.adb: Remove inclusion of Exp_Ch2.adb.
+       * exp_ch2.adb, exp_ch2.ads (Param_Entity): Moved to sem_util.
+       * exp_ch3.ads (Init_Proc_Level_Formal): New function.
+       * exp_ch3.adb (Build_Init_Procedure): Add extra accessibility
+       formal for init procs when the associated type is a limited
+       record.
+       (Build_Initialization_Call): Add condition to handle propagation
+       of the new extra accessibility paramter actual needed for init
+       procs.
+       (Init_Proc_Level_Formal): Created to fetch a the extra
+       accessibility parameter associated with init procs if one
+       exists.
+       * exp_ch4.adb (Build_Attribute_Reference): Modify static check
+       to be dynamic.
+       * exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Move logic
+       used to expand conditional expressions used as actuals for
+       anonymous access formals.
+       (Expand_Call_Helper): Remove extranious accessibility
+       calculation logic.
+       * exp_util.adb: Remove inclusion of Exp_Ch2.adb.
+       * par-ch3.adb (P_Array_Type_Definition): Properly set
+       Aliased_Present on access definitions
+       * sem_attr.adb (Resolve_Attribute): Replace instances for
+       Object_Access_Level with Static_Accessibility_Level.
+       * sem_ch13.adb (Storage_Pool): Replace instances for
+       Object_Access_Level with Static_Accessibility_Level.
+       * sem_ch6.adb (Check_Return_Construct_Accessibility): Replace
+       instances for Object_Access_Level with
+       Static_Accessibility_Level.
+       * sem_ch9.adb (Analyze_Requeue): Replace instances for
+       Object_Access_Level with Static_Accessibility_Level.
+       * sem_res.adb (Check_Aliased_Parameter,
+       Check_Allocator_Discrim_Accessibility, Valid_Conversion):
+       Replace instances for Object_Access_Level with
+       Static_Accessibility_Level.
+       * sem_util.adb, sem_util.ads (Accessibility_Level_Helper):
+       Created to centralize calculation of accessibility levels.
+       (Build_Component_Subtype): Replace instances for
+       Object_Access_Level with Static_Accessibility_Level.
+       (Defining_Entity): Add extra parameter to dictate whether an
+       error is raised or empty is return in the case of an irrelevant
+       N.
+       (Dynamic_Accessibility_Level): Rewritten to use
+       Accessibility_Level_Helper.
+       (Is_View_Conversion): Check membership against Etype to capture
+       nodes like explicit dereferences which have types but are not
+       expanded names or identifers.
+       (Object_Access_LeveL): Removed.
+       (Param_Entity): Moved from sem_util.
+       (Static_Accessibility_Level): Created as a replacement to
+       Object_Access_Level, it also uses Accessibility_Level_Helper for
+       its implementation.
+       * snames.ads-tmpl: Added new name for extra accessibility
+       parameter in init procs.
+
+2020-10-22  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Contract_Cases,
+       Expand_Pragma_Loop_Variant): Reuse Append_New_To.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo.
+       (Analyze_Pre_Post_Condition): Refactor repeated calls to
+       Defining_Entity.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Minor
+       fixes.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-22  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Check_Unused_Withs): Move local variables from
+       to a nested procedure; Lunit is passed as a parameter to
+       Check_System_Aux and its type is refined from Node_Id to
+       Entity_Id; Cnode is now a constant.
+
+2020-10-22  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnat/s-rident.ads (Profile_Info): Use a common profile
+       definition for Jorvik and GNAT Extended Ravenscar, using the
+       GNAT Extended Ravenscar definition.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to
+       the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
+       the EXTRA_GNATRTL_NONTASKING_OBJS list.
+
+2020-10-22  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_prag.adb (Process_Convention,
+       Process_Import_Or_Interface): Fix error message.
+
+2020-10-22  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch13.adb (Make_Aitem_Pragma): Turn into function. This
+       removes a side-effect on the Aitem variable.
+       (Analyze_Aspect_Specifications): Handle Suppress and Unsuppress
+       aspects differently from the Linker_Section aspect.
+       (Ceck_Aspect_At_Freeze_Point): Don't expect Suppress/Unsuppress
+       to be delayed anymore.
+
+2020-10-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb: (Resolve_Container_Aggregate): For an indexed
+       container, verify that expressions and component associations
+       are not both present.
+       * exp_aggr.adb: Code reorganization, additional comments.
+       (Expand_Container_Aggregate): Use Aggregate_Size for Iterated_
+       Component_Associations for indexed aggregates. If present, the
+       default value of the formal in the constructor function is used
+       when the size of the aggregate cannot be determined statically.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Fix oversight for Bit_Position.
+
+2020-10-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Check_Ambiguous_Aggregate): When a
+       subprogram call is found to be ambiguous, check whether
+       ambiguity is caused by an aggregate actual.  and indicate that
+       it should carry a type qualification.
+       * sem_ch4.adb (Traverse_Hoonyms, Try_Primitive_Operation): Call
+       it.
+       * sem_res.adb (Report_Ambiguous_Argument): Call it.
+
+2020-10-22  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Check_One_Unit): Avoid repeated calls by using a
+       local variable Lunit; remove local constant Eitem, which was
+       identical to Lunit.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <x86*-vxworks*>: Select
+       nolibm and wraplf variants like other vxworks ports.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       PR c/94722
+       * gcc-interface/utils.c (handle_no_stack_protect_attribute):
+       New.
+       (handle_stack_protect_attribute): Add error message for a
+       no_stack_protector function.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <lynxos178>: Rely on
+       Aux_Long_Float for all real types.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use Long Float-based
+       variant of Aux_Short_Float and Aux_Float on vxworks targets.
+       * libgnat/a-nashfl__wraplf.ads: New.
+       * libgnat/a-nuaufl__wraplf.ads: New.
+
+2020-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <sparc*-sun-solaris>:
+       Use wraplf version of a-nallfl.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use
+       a-nallfl__wraplf.ads on aarch64-* and ppc*-linux-gnu targets.
+       * libgnat/a-nallfl__wraplf.ads: New.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc-interface/trans.c: Include tree-nested.h
+       (walk_nesting_tree): Update for new nested function info.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-llltio, a-lllwti,
+       a-lllzti and remove a-timoau, a-wtmoau and a-ztmoau.
+       (GNATRTL_128BIT_PAIRS): Add a-tiinio.adb, a-timoio.adb, a-wtinio.adb,
+       a-wtmoio.adb, a-ztinio.adb and a-ztmoio.adb.
+       * impunit.adb (Non_Imp_File_Names_95): Add a-llltio, a-lllwti and
+       a-lllzti.
+       * krunch.ads: Document trick for Ada.Long_Long_Long_Integer_*_IO.
+       * krunch.adb (Krunch): Add trick for Ada.Long_Long_Long_Integer_*_IO.
+       * libgnat/a-llltio.ads: Instantiate Ada.Text_IO.Integer_IO.
+       * libgnat/a-lllwti.ads: Instantiate Ada.Wide_Text_IO.Integer_IO.
+       * libgnat/a-lllzti.ads: Instantiate Ada.Wide_Wide_Text_IO.Integer_IO.
+       * libgnat/a-tigeau.ads (Load_Integer): New procedure.
+       * libgnat/a-tigeau.adb (Load_Integer): Likewise.
+       * libgnat/a-tiinau.ads, libgnat/a-tiinau.adb: Change to generic
+       package.
+       * libgnat/a-tiinio.adb: Instantiate it.
+       * libgnat/a-tiinio__128.adb: Likewise.
+       * libgnat/a-timoau.ads, libgnat/a-timoau.adb: Change to generic
+       package.
+       * libgnat/a-timoio.adb: Instantiate it.
+       * libgnat/a-timoio__128.adb: Likewise.
+       * libgnat/a-wtgeau.ads (Load_Integer): New procedure.
+       * libgnat/a-wtgeau.adb (Load_Integer): Likewise.
+       * libgnat/a-wtinau.ads, libgnat/a-wtinau.adb: Change to generic
+       package.
+       * libgnat/a-wtinio.adb: Instantiate it.
+       * libgnat/a-wtinio__128.adb: Likewise.
+       * libgnat/a-wtmoau.ads, libgnat/a-wtmoau.adb: Change to generic
+       package.
+       * libgnat/a-wtmoio.adb: Instantiate it.
+       * libgnat/a-wtmoio__128.adb: Likewise.
+       * libgnat/a-ztgeau.ads (Load_Integer): New procedure.
+       * libgnat/a-ztgeau.adb (Load_Integer): Likewise.
+       * libgnat/a-ztinau.ads, libgnat/a-ztinau.adb: Change to generic
+       package.
+       * libgnat/a-ztinio.adb: Instantiate it.
+       * libgnat/a-ztinio__128.adb: Likewise.
+       * libgnat/a-ztmoau.ads, libgnat/a-ztmoau.adb: Change to generic
+       package.
+       * libgnat/a-ztmoio.adb: Instantiate it.
+       * libgnat/a-ztmoio__128.adb: Likewise.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Subprogram_Body): Do not move the freeze
+       node of the package body enclosing the instance when its parent
+       is in the same declarative part as the freeze node of the parent.
+
+2020-10-21  Steve Baird  <baird@adacore.com>
+
+       * exp_ch6.adb (Insert_Post_Call_Actions): When a function's
+       result type requires finalization and we decide to make copy of
+       a call to the function and subsequently refer only to the copy,
+       then don't forget to finalize the original function result
+       object.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-widint,
+       s-widthi, s-widuns, s-widuns.
+       (GNATRTL_128BIT_OBJS): Add s-imglllb, s-imgllli, s-imglllu, s-imglllw,
+       s-valllli, s-vallllu, s-widllli, s-widlllu.
+       * exp_imgv.adb (Expand_Image_Attribute): Deal with 128-bit types.
+       (Expand_Value_Attribute): Likewise.
+       (Expand_Width_Attribute): Likewise.
+       * exp_put_image.adb (Build_Elementary_Put_Image_Call): Likewise.
+       * krunch.adb (Krunch): Deal with s-img, s-val and s-wid prefixes.
+       * rtsfind.ads (RTU_Id): Add System_Img_LLLI, System_Img_LLLU,
+       System_Val_LLLI, System_Val_LLL, System_Wid_Int, System_Wid_LLLI,
+       System_Wid_LLLU, System_Wid_Uns).
+       (RE_Id): Add RE_Image_Long_Long_Long_Integer,
+       RE_Image_Long_Long_Long_Unsigned,
+       RE_Put_Image_Long_Long_Long_Integer,
+       RE_Put_Image_Long_Long_Long_Unsigned,
+       RE_Long_Long_Long_Unsigned, RE_Value_Long_Long_Long_Integer,
+       RE_Value_Long_Long_Long_Unsigned, RE_Width_Integer,
+       RE_Width_Long_Long_Long_Integer, RE_Width_Long_Long_Long_Unsigned,
+       RE_Width_Unsigned, RE_Image_Long_Long_Long_Integer,
+       RE_Image_Long_Long_Long_Unsigned, RE_Put_Image_Long_Long_Long_Integer,
+       RE_Put_Image_Long_Long_Long_Unsigned, RE_Long_Long_Long_Unsigned,
+       RE_Value_Long_Long_Long_Integer, RE_Value_Long_Long_Long_Unsigned,
+       RE_Width_Integer, RE_Width_Long_Long_Long_Integer,
+       RE_Width_Long_Long_Long_Unsigned, RE_Width_Unsigned.
+       * libgnat/s-imageb.ads, libgnat/s-imageb.adb: New generic
+       package.
+       * libgnat/s-imagei.ads, libgnat/s-imagei.adb: Likewise.
+       * libgnat/s-imageu.ads, libgnat/s-imageu.adb: Likewise.
+       * libgnat/s-imagew.ads, libgnat/s-imagew.adb: Likewise.
+       * libgnat/s-imgbiu.ads: Instantiate System.Image_B.
+       * libgnat/s-imgbiu.adb: Add pragma No_Body.
+       * libgnat/s-imgint.ads: Instantiate System.Image_I.
+       * libgnat/s-imgint.adb: Add pragma No_Body.
+       * libgnat/s-imgllb.ads: Instantiate System.Image_B.
+       * libgnat/s-imgllb.adb: Add pragma No_Body0
+       * libgnat/s-imglli.ads: Instantiate System.Image_I.
+       * libgnat/s-imglli.adb: Add pragma No_Body.
+       * libgnat/s-imglllb.ads: Instantiate System.Image_B.
+       * libgnat/s-imgllli.ads: Instantiate System.Image_I.
+       * libgnat/s-imglllu.ads: Instantiate System.Image_U.
+       * libgnat/s-imglllw.ads: Instantiate System.Image_W.
+       * libgnat/s-imgllu.ads: Instantiate System.Image_U.
+       * libgnat/s-imgllu.adb: Add pragma No_Body.
+       * libgnat/s-imgllw.ads: Instantiate System.Image_W.
+       * libgnat/s-imgllw.adb: Add pragma No_Body.
+       * libgnat/s-imgrea.adb: Remove clauses for System.Unsigned_Types.
+       * libgnat/s-imguns.ads: Instantiate System.Image_U.
+       * libgnat/s-imguns.adb: Add pragma No_Body.
+       * libgnat/s-imgwiu.ads: Instantiate System.Image_W.
+       * libgnat/s-imgwiu.adb: Add pragma No_Body.
+       * libgnat/s-putima.ads (Long_Long_Long_Unsigned): New subtype.
+       (Put_Image_Long_Long_Long_Unsigned): New procedure.
+       * libgnat/s-putima.adb (Small): Rename to Integer_Images.
+       (Large): Rename to LL_Integer_Images.
+       (LLL_Integer_Images): New instantiation.
+       (Put_Image_Long_Long_Long_Integer): New renaming.
+       (Put_Image_Long_Long_Long_Unsigned): Likewise.
+       * libgnat/s-valint.ads: Instantiate System.Value_I.
+       * libgnat/s-valint.adb: Add pragma No_Body.
+       * libgnat/s-vallli.ads: Instantiate System.Value_I.
+       * libgnat/s-vallli.adb: Add pragma No_Body.
+       * libgnat/s-valllli.ads: Instantiate System.Value_I.
+       * libgnat/s-vallllu.ads: Instantiate System.Value_U.
+       * libgnat/s-valllu.ads: Instantiate System.Value_U.
+       * libgnat/s-valllu.adb: Add pragma No_Body.
+       * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
+       package.
+       * libgnat/s-valueu.ads, libgnat/s-valueu.adb: Likewise.
+       * libgnat/s-valuns.ads: Instantiate System.Value_U.
+       * libgnat/s-valuns.adb: Add pragma No_Body.
+       * libgnat/s-widint.ads: Instantiate System.Width_I.
+       * libgnat/s-widlli.ads: Likewise.
+       * libgnat/s-widlli.adb: Add pragma No_Body.
+       * libgnat/s-widllli.ads: Instantiate System.Width_I.
+       * libgnat/s-widlllu.ads: Instantiate System.Width_U.
+       * libgnat/s-widllu.ads: Likewise.
+       * libgnat/s-widllu.adb: Add pragma No_Body.
+       * libgnat/s-widthi.ads, libgnat/s-widthi.adb: New generic
+       package.
+       * libgnat/s-widthu.ads, libgnat/s-widthu.adb: Likewise.
+       * libgnat/s-widuns.ads: Instantiate System.Width_U.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * set_targ.adb (DTN): Fix oversight.
+       (Read_Target_Dependent_Values): Do not error out on missing
+       Long_Long_Long_Size entry and reuse Long_Long_Size for it.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Gen_Loop): Analyze copy of the expression in the
+       scope of the implicit loop with name of the index parameter
+       visible.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_128BIT_PAIRS): New variable.
+       (GNATRTL_128BIT_OBJS): Likewise.
+       (Windows): In 64-bit mode, add the former to LIBGNAT_TARGET_PAIRS and
+       the latter to EXTRA_GNATRTL_NONTASKING_OBJS.
+       (x86_64/linux): Likewise, but unconditionally.
+       (GNATRTL_NONTASKING_OBJS): Add s-aridou, s-exponn, s-expont,
+       s-exponu.
+       * ada_get_targ.adb (Get_Long_Long_Long_Size): New function.
+       * checks.adb (Apply_Arithmetic_Overflow_Strict): Use Integer_Type_For
+       to find an appropriate integer type; if it does not exist and the max
+       integer size is larger than 64, use the 128-bit arithmetic routines.
+       * cstand.adb (Create_Standard): Build Standard_Long_Long_Long_Integer
+       and its base type.  Use it for Etype of Any_Integer, Any_Modular and
+       Any_Numeric.  Use its size for Build Standard_Long_Long_Long_Unsigned
+       and Universal_Integer.
+       (Print_Standard): Print Long_Long_Long_Integer.
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Mod>: Adjust
+       comment.
+       * exp_ch3.adb (Simple_Init_Initialize_Scalars_Type): Deal with 128-bit
+       types.
+       * exp_ch4.adb (Expand_Array_Comparison): Likewise.
+       (Expand_N_Op_Expon): Likewise.
+       (Narrow_Large_Operation): Likewise.
+       * exp_dbug.adb (Bounds_Match_Size): Handle 128-bit size.
+       * exp_fixd.adb (Build_Double_Divide_Code): Use RE_Double_Divide64.
+       * exp_intr.adb (Expand_Binary_Operator_Call): Handle 128-bit size.
+       * exp_pakd.ads (E_Array): Extend range to 127.
+       (Bits_Id): Fill in up to 127.
+       (Get_Id): Likewise.
+       (GetU_Id): Likewise.
+       (Set_Id): Likewise.
+       (SetU_Id): Likewise.
+       * exp_pakd.adb (Revert_Storage_Order): Handle 128-bit size.
+       * exp_util.adb (Integer_Type_For): Likewise.
+       (Small_Integer_Type_For): Likewise.
+       * fname.adb (Is_Predefined_File_Name): Do not return False for names
+       larger than 12 characters if they start with "s-".
+       * freeze.adb (Adjust_Esize_For_Alignment): Change the maximum value
+       to System_Max_Integer_Size.
+       (Check_Suspicious_Modulus): Adjust comment.
+       (Freeze_Entity): Likewise.
+       * get_targ.ads (Get_Long_Long_Long_Size): New function.
+       * get_targ.adb (Get_Long_Long_Long_Size): Likewise.
+       (Width_From_Size): Deal with 128-bit size.
+       * gnat1drv.adb (Adjust_Global_Switches): Deal with 128-bit types.
+       * impunit.adb (Get_Kind_Of_File): Bump buffer size.  Accept files with
+       13 characters if they start with 's'.  Compare slice of Buffer.
+       (Not_Impl_Defined_Unit): Accept files with 13 characters if they start
+       with 's'.
+       * krunch.ads: Document length for 128-bit support units.
+       * krunch.adb (Krunch): Set length to 9 for 128-bit support units.
+       * layout.adb (Layout_Type): Use System_Max_Integer_Size as alignment
+       limit.
+       * rtsfind.ads (RTU_Id): Add System_Arith_128,
+       System_Compare_Array_Signed_128, System_Compare_Array_Unsigned_128,
+       System_Exn_LLLI, System_Exp_LLLU, System_Pack_[65..127].
+       (RE_Id): Add RE_Integer_128, RE_Unsigned_128, RE_Add_With_Ovflo_Check128
+       RE_Multiply_With_Ovflo_Check128, RE_Subtract_With_Ovflo_Check128,
+       RE_Bswap_128, RE_Compare_Array_S128, RE_Compare_Array_U128,
+       RE_Exn_Long_Long_Long_Integer, RE_Exp_Long_Long_Long_Integer,
+       RE_Exp_Long_Long_Long_Unsigned, RE_Bits_[65-127], RE_Get_[65-127],
+       RE_Set_[65-127], RE_IS_Is16, RE_IS_Iu16, RE_Integer_128 and
+       RE_Unsigned_128.  Rename RE_Add_With_Ovflo_Check, RE_Double_Divide,
+       RE_Multiply_With_Ovflo_Check, RE_Scaled_Divide and
+       RE_Subtract_With_Ovflo_Check.  Remove RE_IS_Iz1, RE_IS_Iz2, RE_IS_Iz4,
+       RE_IS_Iz8, RE_Long_Unsigned, RE_Short_Unsigned, RE_Short_Short_Unsigned
+       (RE_Unit_Table): Likewise.
+       * sem_aux.adb (Corresponding_Unsigned_Type): Deal with a size equal to
+       that of Standard_Long_Long_Long_Integer.
+       (First_Subtype): Deal with Standard_Long_Long_Long_Integer'Base.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Attribute_Size>:
+       Check the size against powers of 2 and System_Max_Integer_Size for
+       objects as well.
+       (Set_Enum_Esize): Deal with 128-bit bounds.
+       * sem_ch3.adb (Set_Modular_Size): Handle 128-bit size.
+       (Modular_Type_Declaration): Deal with 128-bit types.
+       (Signed_Integer_Type_Declaration): Support derivation from
+       Standard_Long_Long_Long_Integer.
+       * sem_ch4.adb (Analyze_Mod): Handle 128-bit modulus.
+       * sem_intr.adb: Add with and use clauses for Ttypes.
+       (Check_Shift): Handle 128-bit size and modulus.
+       * sem_prag.adb (Analyze_Pragma) <Pragma_Initialize_Scalars>: Deal
+       with Signed_128 and Unsigned_128.
+       (Analyze_Integer_Value): Handle 128-bit size.
+       * sem_util.ads (Addressable): Adjust description.
+       * sem_util.adb (Addressable): Return true for 128 if the system
+       supports 128 bits.
+       (Set_Invalid_Binder_Values): Deal with Signed_128 and Unsigned_128.
+       * set_targ.ads (Long_Long_Long_Size): New variable.
+       * set_targ.adb (S_Long_Long_Long_Size): New constant.
+       (DTN): Add entry for S_Long_Long_Long_Size.
+       (DTV): Add entry for Long_Long_Long_Size.
+       (Set_Targ): Set Long_Long_Long_Size.
+       * snames.ads-tmpl (Name_Max_Integer_Size): New attribute name.
+       (Name_Signed_128): New scalar name.
+       (Name_Unsigned_128): Likewise.
+       (Scalar_Id): Adjust.
+       (Integer_Scalar_Id): Likewise.
+       (Attribute_Id): Add Attribute_Max_Integer_Size.
+       * stand.ads (Standard_Entity_Type): Add S_Long_Long_Long_Integer.
+       (Standard_Long_Long_Long_Integer): New renaming.
+       (Universal_Integer): Adjust description.
+       (Standard_Long_Long_Long_Unsigned): New variable.
+       * switch-c.adb (Scan_Front_End_Switches): Deal with -gnate128.
+       * ttypes.ads (Standard_Long_Long_Long_Integer_Size): New variable.
+       (Standard_Long_Long_Long_Integer_Width): Likewise.
+       (System_Max_Integer_Size): Turn into variable.
+       (System_Max_Binary_Modulus_Power): Likewise.
+       * uintp.ads (Uint_127): New constant.
+       * uintp.adb (UI_Power_2): Extednd to 128.
+       (UI_Power_10): Likewise.
+       (UI_Expon): Deal with exponent up to 128 specially.
+       * usage.adb (Write_Switch_Char): Print -gnate128 switch.
+       * libgnat/a-tifiio.adb (Put_Scaled): Call Scaled_Divide64.
+       * libgnat/interfac__2020.ads (Integer_128): New integer type.
+       (Unsigned_128): New modular type.
+       (Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left,
+       Rotate_Right): New intrinsic functions operating on it.
+       * libgnat/s-aridou.ads, libgnat/s-aridou.adb: New generic
+       package.
+       * libgnat/s-arit64.ads, libgnat/s-arit64.adb: Instantiate
+       System.Arithmetic_Double.
+       * libgnat/s-arit128.ads, libgnat/s-arit128.adb: Likewise.
+       * libgnat/s-bytswa.ads: Add with clause for Interfaces, use subtypes
+       of unsigned types defined in Interfaces and add Bswap_128.
+       * libgnat/s-casi128.ads, libgnat/s-casi128.adb: New package.
+       * libgnat/s-caun128.ads, libgnat/s-caun128.adb: Likewise.
+       * libgnat/s-exnint.ads: Instantiate System.Exponn.
+       * libgnat/s-exnint.adb: Add pragma No_Body.
+       * libgnat/s-exnlli.ads: Instantiate System.Exponn.
+       * libgnat/s-exnlli.adb: Add pragma No_Body.
+       * libgnat/s-exnllli.ads: Instantiate System.Exponn.
+       * libgnat/s-expint.ads: Likewise.
+       * libgnat/s-expint.adb: Add pragma No_Body.
+       * libgnat/s-explli.ads: Instantiate System.Exponn.
+       * libgnat/s-explli.adb: Add pragma No_Body.
+       * libgnat/s-expllli.ads: Instantiate System.Exponn.
+       * libgnat/s-explllu.ads: Instantiate System.Exponu.
+       * libgnat/s-expllu.ads: Likewise.
+       * libgnat/s-expllu.adb: Add pragma No_Body.
+       * libgnat/s-exponn.ads, libgnat/s-exponn.adb: New generic
+       function.
+       * libgnat/s-expont.ads, libgnat/s-expont.adb: Likewise.
+       * libgnat/s-exponu.ads, libgnat/s-exponu.adb: Likewise.
+       * libgnat/s-expuns.ads, libgnat/s-expuns.adb: Likewise.
+       * libgnat/s-pack65.ads, libgnat/s-pack65.adb: New package.
+       * libgnat/s-pack66.ads, libgnat/s-pack66.adb: New package.
+       * libgnat/s-pack67.ads, libgnat/s-pack67.adb: New package.
+       * libgnat/s-pack68.ads, libgnat/s-pack68.adb: New package.
+       * libgnat/s-pack69.ads, libgnat/s-pack69.adb: New package.
+       * libgnat/s-pack70.ads, libgnat/s-pack70.adb: New package.
+       * libgnat/s-pack71.ads, libgnat/s-pack71.adb: New package.
+       * libgnat/s-pack72.ads, libgnat/s-pack72.adb: New package.
+       * libgnat/s-pack73.ads, libgnat/s-pack73.adb: New package.
+       * libgnat/s-pack74.ads, libgnat/s-pack74.adb: New package.
+       * libgnat/s-pack75.ads, libgnat/s-pack75.adb: New package.
+       * libgnat/s-pack76.ads, libgnat/s-pack76.adb: New package.
+       * libgnat/s-pack77.ads, libgnat/s-pack77.adb: New package.
+       * libgnat/s-pack78.ads, libgnat/s-pack78.adb: New package.
+       * libgnat/s-pack79.ads, libgnat/s-pack79.adb: New package.
+       * libgnat/s-pack80.ads, libgnat/s-pack80.adb: New package.
+       * libgnat/s-pack81.ads, libgnat/s-pack81.adb: New package.
+       * libgnat/s-pack82.ads, libgnat/s-pack82.adb: New package.
+       * libgnat/s-pack83.ads, libgnat/s-pack83.adb: New package.
+       * libgnat/s-pack84.ads, libgnat/s-pack84.adb: New package.
+       * libgnat/s-pack85.ads, libgnat/s-pack85.adb: New package.
+       * libgnat/s-pack86.ads, libgnat/s-pack86.adb: New package.
+       * libgnat/s-pack87.ads, libgnat/s-pack87.adb: New package.
+       * libgnat/s-pack88.ads, libgnat/s-pack88.adb: New package.
+       * libgnat/s-pack89.ads, libgnat/s-pack89.adb: New package.
+       * libgnat/s-pack90.ads, libgnat/s-pack90.adb: New package.
+       * libgnat/s-pack91.ads, libgnat/s-pack91.adb: New package.
+       * libgnat/s-pack92.ads, libgnat/s-pack92.adb: New package.
+       * libgnat/s-pack93.ads, libgnat/s-pack93.adb: New package.
+       * libgnat/s-pack94.ads, libgnat/s-pack94.adb: New package.
+       * libgnat/s-pack95.ads, libgnat/s-pack95.adb: New package.
+       * libgnat/s-pack96.ads, libgnat/s-pack96.adb: New package.
+       * libgnat/s-pack97.ads, libgnat/s-pack97.adb: New package.
+       * libgnat/s-pack98.ads, libgnat/s-pack98.adb: New package.
+       * libgnat/s-pack99.ads, libgnat/s-pack99.adb: New package.
+       * libgnat/s-pack100.ads, libgnat/s-pack100.adb: New package.
+       * libgnat/s-pack101.ads, libgnat/s-pack101.adb: New package.
+       * libgnat/s-pack102.ads, libgnat/s-pack102.adb: New package.
+       * libgnat/s-pack103.ads, libgnat/s-pack103.adb: New package.
+       * libgnat/s-pack104.ads, libgnat/s-pack104.adb: New package.
+       * libgnat/s-pack105.ads, libgnat/s-pack105.adb: New package.
+       * libgnat/s-pack106.ads, libgnat/s-pack106.adb: New package.
+       * libgnat/s-pack107.ads, libgnat/s-pack107.adb: New package.
+       * libgnat/s-pack108.ads, libgnat/s-pack108.adb: New package.
+       * libgnat/s-pack109.ads, libgnat/s-pack109.adb: New package.
+       * libgnat/s-pack110.ads, libgnat/s-pack110.adb: New package.
+       * libgnat/s-pack111.ads, libgnat/s-pack111.adb: New package.
+       * libgnat/s-pack112.ads, libgnat/s-pack112.adb: New package.
+       * libgnat/s-pack113.ads, libgnat/s-pack113.adb: New package.
+       * libgnat/s-pack114.ads, libgnat/s-pack114.adb: New package.
+       * libgnat/s-pack115.ads, libgnat/s-pack115.adb: New package.
+       * libgnat/s-pack116.ads, libgnat/s-pack116.adb: New package.
+       * libgnat/s-pack117.ads, libgnat/s-pack117.adb: New package.
+       * libgnat/s-pack118.ads, libgnat/s-pack118.adb: New package.
+       * libgnat/s-pack119.ads, libgnat/s-pack119.adb: New package.
+       * libgnat/s-pack120.ads, libgnat/s-pack120.adb: New package.
+       * libgnat/s-pack121.ads, libgnat/s-pack121.adb: New package.
+       * libgnat/s-pack122.ads, libgnat/s-pack122.adb: New package.
+       * libgnat/s-pack123.ads, libgnat/s-pack123.adb: New package.
+       * libgnat/s-pack124.ads, libgnat/s-pack124.adb: New package.
+       * libgnat/s-pack125.ads, libgnat/s-pack125.adb: New package.
+       * libgnat/s-pack126.ads, libgnat/s-pack126.adb: New package.
+       * libgnat/s-pack127.ads, libgnat/s-pack127.adb: New package.
+       * libgnat/s-rannum.ads (Random): New function returning 128-bit.
+       * libgnat/s-rannum.adb (Random): Implement it.
+       * libgnat/s-scaval.ads: Add with clause for Interfaces, use subtypes
+       of unsigned types defined in Interfaces.
+       * libgnat/s-scaval.adb: Add use clause for Interfaces.
+       * libgnat/s-scaval__128.ads, libgnat/s-scaval__128.adb: New
+       package.
+       * libgnat/s-unstyp.ads (Long_Long_Long_Unsigned): New modular type.
+       (Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left,
+       Rotate_Right): New intrinsic functions operating on it.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Add
+       Long_Long_Long_Integer to the list of predefined integer types.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-21  Yannick Moy  <moy@adacore.com>
+
+       * ada_get_targ.adb (Width_From_Size): Add case for 128 bits.
+       Reorder declarations in the same order as get_targ.adb to
+       facilitate diffs.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Expand_N_Aggregate): Refactor repeated calls to
+       Etype (N).
+       (Build_Array_Aggr_Code): Fix whitespace.
+
+2020-10-21  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * adaint.c (__gnat_file_time): Use regular arithmetic instead of
+       __builtin_*_overflow routines if GCC version 4 or less and
+       compiler is g++.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Use Choice_List, which
+       internally calls either Choice or Discrete_Choices, depending on
+       the context.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): Use
+       existing defining identifier for index parameter.
+
+2020-10-21  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Build_Task_Activation_Call): Do not generate a
+       call to activate tasks if we are within the scope of a protected
+       type and pragma Detect_Blocking is active.
+
+2020-10-21  Liaiss Merzougue  <merzougue@adacore.com>
+
+       * libgnat/s-carsi8.adb (Compare_Array_S8): Add pragma Assert to
+       avoid warning concerning Left_Len and RighLen value regarding
+       Bytes_Compared_As_Words.
+       * libgnat/s-carun8.adb (Compare_Array_U8): Likewise.
+       * libgnat/s-geveop.adb (Binary_Operation, Unary_Operation): Add
+       pragma Assert concerning divide by 0 warning.
+       * libgnat/s-imgcha.adb (Image_Character): Code update to prevent
+       constant operation warning.
+       (Image_Character): Add pragma Assert concerning the unchecked
+       String size.
+       * libgnat/s-imgdec.adb
+       (Round): Upate loop code to prevent warning concerning
+       Digs'First access.
+       (Round): Add pragma assert.
+       (Set): Add pragma Assert for the unchecked string size.
+       (Set_Digits): Add pragma Assert for the input range.
+       (Set_Decimal_Digits): Add pragma Assert.
+       (Set_Blank_And_Sign): Add pragma Assert for the input range.
+       * libgnat/s-arit64.adb (DoubleDivide): Add pragma Assert
+       concerning Du /= 0.
+       (Multiply_With_Ovflo_Check): Add pragma Annotate to avoid
+       warning concerning unsigned -> signed conversion.
+       * libgnat/s-imguns.adb (Set_Image_Unsigned): Add pragma Assert
+       to prevent overflow check warning.  Add pragma Assert for
+       controlling S'First = 1.
+       * libgnat/s-imgrea.adb (Image_Floating_Point, Set, Set_Digs,
+       Set_Special_Fill, Convert_Integer): Add pragma Annotate to
+       prevent overflow check warning.
+       (Set_Image_Real): Add pragma Annotate to avoid dead code warning
+       on float check. Add pragma Assert to prevent overflow check
+       warning.
+       * libgnat/s-imgwiu.adb (Set_Digits, Set_Image_Width_Unsigned):
+       Add pragma assert to prevent overflow check warning.
+       * libgnat/s-imgllu.adb (Set_Image_Long_Long_Unsigned): Add
+       pragma assert to prevent overflow check warning.
+       * libgnat/s-imgint.adb (Set_Digits): Add Assert for input
+       constraint and to prevent overflow check warning, create
+       Non_Positive subtype, and change the T parameter as Non_Positive
+       instead Integer.
+       (Set_Image_Integer): Add pragma assert to prevent overflow check
+       warning.
+       * libgnat/s-imglli.adb (Set_Digits): Add Assert for input
+       constraint and to prevent overflow check warning, create
+       Non_Positive subtype, and change the T parameter as Non_Positive
+       instead Integer.
+       (Set_Image_Long_Long_Integer): Add pragma assert to prevent
+       overflow check warning.
+       * libgnat/s-fatgen.adb (Decompose, Pred, Succ): Add pragma
+       Annotate to prevent dead code due to invalid float check.
+       * libgnat/s-imenne.adb (Image_Enumeration_8,
+       Image_Enumeration_16, Image_Enumeration_32): Add pragma Assert
+       to prevent overflow check warning.  Add Names_Index subtype for
+       restricting Index_table content.
+
+2020-10-21  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Insert_Post_Call_Actions): Test for
+       N_Explicit_Dereference as part of the existing test for function
+       calls.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Check_Strict_Alignment): Do not set the flag for
+       a bit-packed array type, even if it is a by-reference type.
+
+2020-10-21  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * adaint.c (__gnat_file_time): New routine.
+       (__gnat_copy_attribs): Copy timestamps in nanoseconds.
+       * libgnat/a-direct.adb (C_Modification_Time): Bind to
+       __gnat_file_time.
+       (Modification_Time): Call to C_Modification_Time.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association):
+       Expression's copy and now has the same parent as the original
+       expression.
+       (Resolve_Array_Aggregate): Add ??? comment about a still
+       existing minor issue that led to discovery of the above crash.
+
+2020-10-21  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Install_Parents_Of_Generic_Context): Simplify
+       functionality; collect and install parents of generic child
+       package.
+       (Remove_Parents_Of_Generic_Context): Code cleanup.
+       (Instantiate_Package_Body): Hide parents of generic context from
+       visibility before installing the parent instance; restore their
+       visibility when the instance is analyzed
+
+2020-10-21  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-osinte__lynxos178e.ads: Remove -mthreads switch.
+
+2020-10-21  Patrick Bernardi  <bernardi@adacore.com>
+
+       * env.c (__gnat_setenv): call setenv for VxWorks 7 kernel mode.
+       (__gnat_environ): envGet takes an int instead of a NULL pointer.
+       (__gnat_unsetenv): call unsetenv for VxWorks 7 kernel mode.
+       (__gnat_clearenv): use __gnat_unsetenv to clear environment
+       variables.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Subprogram_Body): Call
+       Package_Freeze_Node to retrieve the freeze node for the
+       enclosing body of the generic.
+
+2020-10-21  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Modify calls to
+       Add_Extra_Actual to use Extra_Accessibility instead of
+       Get_Accessibility for the EF parameter.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): Whitespace cleanup.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Make minimum
+       accessibility a constant object.
+
+2020-10-21  Patrick Bernardi  <bernardi@adacore.com>
+
+       * env.c (__gnat_environ): For VxWorks kernel simply return the
+       result of the envGet call. Do this for VxWorks 6 and 7 as they
+       both support the same API.
+
+2020-10-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch7.adb (Build_Finalizer): Disable warnings on referenced
+       entity.
+
+2020-10-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.ads, sem_ch3.adb, sem_util.adb: Fix comments.
+
+2020-10-21  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Type): Propagate convention of
+       class-wide parent.
+
+2020-10-21  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cofove.adb (Copy): Add explanation in case of
+       Capacity_Error.
+       (Insert_Space): Raise Capacity_Error if the new length is
+       greater than the capacity.
+       (Reserve_Capacity): Raise Capacity_Error instead of
+       Constraint_Error.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Constrain_Decimal, Constrain_Enumeration,
+       Constrain_Float, Constrain_Integer, Constrain_Ordinary_Fixed):
+       Refine parameter type from Node_Id to Entity_Id.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sprint.adb (po): Set Dump_Freeze_Null to False; align colons.
+       (ps): Likewise.
+
+2020-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sinfo.ads, sinfo.adb: The flag Box_Present can appear in
+       Iterated_Element_Association nodes.
+       * sem_aggr.adb (Resolve_Aggregate): Call
+       Resolve_Container_Aggregate when type of context has
+       corresponding aspect.
+       * sem_type.adb (Covers): In Ada_2020 an aggregate is compatible
+       with a type that carries the corresponding aspect.
+       * exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not
+       create declarations and bodies for inherited primitive functions
+       of null extensions that dispatch on result, when current scope
+       includes an immediately visible non-overloadable homonym of the
+       function.
+       * libgnat/a-cborse.adb, libgnat/a-cborse.ads,
+       libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
+       libgnat/a-cborma.adb, libgnat/a-cborma.ads,
+       libgnat/a-cbhama.adb, libgnat/a-cbhama.ads,
+       libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
+       libgnat/a-convec.ads, libgnat/a-ciorse.ads,
+       libgnat/a-cihase.ads, libgnat/a-cihase.adb,
+       libgnat/a-ciorma.ads, libgnat/a-cihama.ads,
+       libgnat/a-cihama.adb, libgnat/a-cidlli.ads,
+       libgnat/a-cidlli.adb, libgnat/a-coinve.adb,
+       libgnat/a-cobove.adb, libgnat/a-cobove.ads,
+       libgnat/a-convec.adb, libgnat/a-coinve.ads,
+       libgnat/a-coorse.ads, libgnat/a-cohase.adb,
+       libgnat/a-cohase.ads, libgnat/a-coorma.ads,
+       libgnat/a-cohama.adb, libgnat/a-cohama.ads,
+       libgnat/a-cdlili.ads: Add primitive function Empty for use in
+       aspect Aggregate, and add corresponding body or expression
+       function.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.adb (Has_Aspect_Specifications_Flag): Add
+       N_Parameter_Specification.
+       * par-ch13.adb (Aspect_Specifications_Present): Also handle case
+       of an unknown aspect on the last formal parameter (terminated by
+       a Tok_Right_Paren). Minor reformatting.
+       * par-ch6.adb (P_Formal_Part): Scan aspects on formal
+       parameters.
+       * par.adb: Fix typos.
+       * sem_ch6.adb (Process_Formals): Add processing of aspects and
+       in particular Unreferenced aspect for now.
+       * sinfo.ads: Allow ASPECT_SPECIFICATIONS on a
+       PARAMETER_SPECIFICATION.
+       * doc/gnat_rm/implementation_defined_aspects.rst
+       (Aspect Unreferenced): Update documentation.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Get_Accessibility): Refine result
+       type from Node_Id to Entity_Id.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb, exp_attr.adb, sem_ch13.adb, sem_util.adb: Use
+       Is_Formal where possible.
+
+2020-10-20  Steve Baird  <baird@adacore.com>
+
+       * sem_util.ads: Declare a new package, Old_Attr_Util, which in
+       turn declares two more packages, Conditional_Evaluation and
+       Indirect_Temps. Conditional_Evaluation provides a predicate for
+       deciding whether a given 'Old attribute reference is eligible
+       for conditional evaluation and, in the case where it is
+       eligible, a function that constructs the Boolean-valued
+       condition that is to be evaluated at run time in deciding
+       whether to evaluate the attribute prefix.  Indirect_Temps
+       provides support for declaring a temporary which is only
+       initialized conditionally; more specifically, an access type and
+       a variable of that type are declared (unconditionally) and then
+       the variable is (conditionally) initialized with an allocator.
+       The existence of the access type and the pointer variable is
+       hidden from clients, except that a predicate,
+       Is_Access_Type_For_Indirect_Temp, is provided for identifying
+       such access types. This is needed because we want such an access
+       type to be treated like a "normal" access type (specifically
+       with respect to finalization of allocated objects). Other parts
+       of the compiler treat access types differently if
+       Comes_From_Source is False, or if the secondary stack storage
+       pool is used; this predicate is used to disable this special
+       treatment.
+       * sem_attr.adb (Uneval_Old_Msg): Improve message text to reflect
+       Ada202x changes.
+       (Analyze_Attribute): A previously-illegal 'Old attribute
+       reference is accepted in Ada2020 if it is eligible for
+       conditional evaluation.
+       * sem_res.adb (Valid_Conversion): Do not treat a rewritten 'Old
+       attribute like other rewrite substitutions. This makes a
+       difference, for example, in the case where we are generating the
+       expansion of a membership test of the form "Saooaaat'Old in
+       Named_Access_Type"; in this case Valid_Conversion needs to
+       return True (otherwise the expansion will be False - see the
+       call site in exp_ch4.adb).
+       * exp_attr.adb (Expand_N_Attribute_Reference): When expanding a
+       'Old attribute reference, test for the case where the reference
+       is eligible for conditional evaluation. In that case, use the
+       new "indirect temporary" mechanism provided by Sem_Util.
+       * exp_prag.adb
+       (Expand_Attributes_In_Consequence.Expand_Attributes): If
+       Sem_Util.Indirect_Temp_Needed indicates that there could be
+       correctness problems associated with the old expansion scheme
+       for dealing with 'Old attributes in contract cases consequences,
+       then we use the new "indirect temporary" mechanism provided by
+       Sem_Util instead. We do not want to do this unconditionally.
+       * sem_util.adb: Provide a body for the new Old_Attr_Util
+       package. Further work is needed in several areas for
+       correctness:
+       - The function Is_Repeatedly_Evaluated does not deal with
+       container aggregates yet.
+       - The function Is_Known_On_Entry does not deal with interactions
+       with the Global aspect.
+       Each area where more work is needed is indicated with a "???"
+       comment in the code; a more detailed description can be found
+       there. Some optimization opportunties are similarly indicated
+       with a "???" comment.
+       * exp_ch3.adb (Freeze_Type): In deciding whether to generate
+       expansion for the list controller of an access type, take the
+       predicate Is_Access_Type_For_Indirect_Temp into account. If the
+       predicate yields True, then generate the expansion.
+       * exp_util.adb (Build_Allocate_Deallocate_Proc): We don't
+       normally finalize allocated objects that are allocated on the
+       secondary stack. Add an exception to this rule if the predicate
+       Is_Access_Type_For_Indirect_Temp yields True.  As a result of
+       this exception, we have to deal with the fact that gigi expects
+       a different parameter profile if we are using the secondary
+       stack pool; the Pool and Alignment parameters must be omitted in
+       this case.
+
+2020-10-20  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Install_Parents_Of_Generic_Context,
+       Remove_Parents_Of_Generic_Context): New subprograms.
+       (Instantiate_Package_Body): Adding assertions to ensure that
+       installed parents are properly removed.
+
+2020-10-20  Claire Dross  <dross@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Emit a warning on 'Update
+       when Warn_On_Obsolescent_Feature is set to True.
+
+2020-10-20  Richard Kenner  <kenner@adacore.com>
+
+       * gnat_cuda.adb (Build_Register_Function_Call): Make procedure
+       call instead of function, rename to
+       Build_Register_Procedure_Call.
+       (Build_CUDA_Init_Proc): Make procedure call instead of function.
+
+2020-10-20  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Branch): Properly anticipate expansion of
+       conditional expressions producing object declarations in
+       addition to assignment statements, and rename formal.
+
+2020-10-20  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb (Write_Source_Code_Line): Adopt display closer to
+       GCC format.
+       (Output_Messages): Deal specially with info messages.
+       * erroutc.adb (Prescan_Message): Fix bug leading to check
+       messages being considered as error messages in pretty output
+       mode.
+
+2020-10-20  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Properly handle the case
+       where the condition of a conditional expression has been
+       optimized out when calculating the value of an extra
+       accessibility parameter.
+
+2020-10-20  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Change "_" to "-".
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Warn on not fully
+       initialized box aggregate.
+       * sem_aggr.ads: Fix typo.
+       * sem_res.adb (Resolve_Actuals): Fix typo in error message
+       format marking it incorrectly as a continuation message.
+       * sem_elab.adb (Check_Internal_Call_Continue): Similarly, add
+       missing primary message in case of a call to an actual generic
+       subprogram.
+       * sem_warn.adb (Check_References): Do not warn on read but never
+       assigned variables if the type is partially initialized.
+       * libgnat/a-except.ads, libgnat/a-ststun.ads,
+       libgnat/g-sechas.ads, libgnat/a-cbdlli.ads,
+       libgnat/a-cfdlli.ads, libgnat/a-cobove.ads,
+       libgnat/a-cohata.ads, libgnat/a-crbltr.ads,
+       libgnat/a-cbmutr.ads, libgnat/a-crdlli.ads,
+       libgnat/a-cbsyqu.ads: Address new warning.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Update doc on -gnatwv.
+       * gnat_ugn.texi: Regenerate.
+
+2020-10-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Mark static
+       expression functions as inlined.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * contracts.adb (Is_Prologue_Renaming): This function was
+       missing support for E_Constant which can also be generated in
+       protected objects.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * bindgen.adb (Gen_Bind_Env_String): Generate Ada 2012 compatible
+       strings. Code cleanup.
+
+2020-10-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb, sem_util.ads: Comment fix.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Check_Constrained_Object): Suppress discriminant
+       checks when the type has default discriminants and comes from
+       expansion of a "for of" loop.
+
+2020-10-20  Bob Duff  <duff@adacore.com>
+
+       * atree.ads: Make Default_Node a constant.  Remove the
+       modification of Comes_From_Source, and use a separate flag for
+       that.  Change Sloc to 0; it always overwritten, and never left
+       as the No_Location value.
+       (Print_Statistics): Move to spec so we can call it from
+       gnat1drv.
+       (Num_Nodes): Rename to clarify that this is approximate.
+       Correct comment: nodes and entities are never deleted, the count
+       is never decremented, and this is not used by Xref.
+       (Initialize): Correct comment: Error_List is not created here.
+       Other minor naming and comment changes.
+       * atree.adb (Extend_Node, New_Copy, New_Entity, New_Node):
+       Streamline these. Simplify and improve efficiency.  Move code
+       from Allocate_Initialize_Node to these, where it can be executed
+       unconditionally.  Take advantage of automatic zeroing of the
+       Nodes table.
+       (Allocate_Initialize_Node): Remove this. It was an efficiency
+       bottleneck, and somewhat complicated, because it was called from
+       4 places, and had all sorts of conditionals to check where it
+       was called from. Better to move most of that code to the call
+       sites, where it can be executed (or not) unconditionally.
+       (Allocate_New_Node): New procedure to partly replace
+       Allocate_Initialize_Node (called from just 2 of those 4 places).
+       (Comes_From_Source_Default): New flag written/read by
+       Set_Comes_From_Source_Default/Get_Comes_From_Source_Default.
+       This allows us to make Default_Node into a constant with
+       all-zeros value.
+       (Set_Paren_Count_Of_Copy): New procedure to avoid duplicated
+       code.
+       (Report): New procedure to encapsulate the call to the reporting
+       procedure.
+       (Atree_Private_Part): We now need a body for this package, to
+       contain package body Nodes.
+       (Approx_Num_Nodes_And_Entities): Was Num_Nodes.  For efficiency,
+       compute the answer from Nodes.Last. That way we don't need to
+       increment a counter on every node creation. Other minor naming
+       and comment changes.
+       * gnat1drv.adb: Call Atree.Print_Statistics if -gnatd.A switch
+       was given.  Add comment documenting the new order dependency (we
+       must process the command line before calling Atree.Initialize).
+       * debug.adb: Document -gnatd.A.
+       * einfo.adb, sinfo.adb: Remove useless Style_Checks pragmas.
+       * nlists.ads (Allocate_List_Tables): Inline makes node creation
+       a little faster.
+       * nlists.adb (Initialize): Remove local constant E, which didn't
+       seem to add clarity.
+       * treepr.adb (Print_Init): Use renamed
+       Approx_Num_Nodes_And_Entities function.
+       * types.ads: Change the Low and High bounds as described above.
+       * types.h: Change Low and High bounds to match types.ads.
+       * sem_ch8.adb, namet.adb, namet.ads: Move the computation of
+       Last_Name_Id from sem_ch8 to namet, and correct it to not assume
+       Name_Ids are positive.
+       * ali.adb, ali-util.adb, bindo-writers.adb, exp_dist.adb,
+       fmap.adb, fname-uf.adb, osint.adb: Fix various hash functions to
+       avoid assuming the various ranges are positive. Note that "mod"
+       returns a nonnegative result when the second operand is
+       positive. "rem" can return negative values in that case (in
+       particular, if the first operand is negative, which it now is).
+       * switch-c.adb: Allow switch -gnaten to control the value of
+       Nodes_Size_In_Meg.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Remove traling whitespaces.
+       * opt.ads (Nodes_Size_In_Meg): New Variable.
+
+2020-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Always generate a renaming
+       that is handled by the front-end in the case of an indexed or a
+       selected component whose prefix has a nonstandard representation.
+
+2020-10-20  Pat Rogers  <rogers@adacore.com>
+
+       * doc/gnat_rm/the_gnat_library.rst: Add Ada.Task_Initialization.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-20  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb: (Error_Msg-Internal): Pass the location for a line
+       insertion if any in the message.
+       (Output_Messages: Add display of source code lines if -gnatdF is
+       set.
+       (Write_Source_Code_Line): Code clean up.
+       * erroutc.adb (Prescan_Message): Apply prescan for continuation
+       lines when -gnatdF is set, and record presence of line
+       insertion.
+       * erroutc.ads (Has_Insertion_Line): New global for prescan.
+       (Error_Msg_Object): Add field to record line insertion if
+       present.
+       * errutil.adb (Error_Msg): Pass no location for Insertion_Sloc.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Case_Statement): Do not generate
+       validity check when possible.
+
+2020-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_Iterated_Component): Reorganize code to
+       ensure that Loop_Id is properly initialized on all paths, and
+       remove code duplication.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Propagate predicate
+       function to full view of the created type as well, if it was
+       created.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Merge handling of
+       Simple_Storage_Pool and Storage_Pool.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * aspects.ads: Introduce Subprogram_Variant aspect with the
+       following properties: GNAT-specific, with mandatory expression,
+       not a representation aspect, never delayed.
+       * contracts.adb (Expand_Subprogram_Contract): Mention new aspect
+       in the comment.
+       (Add_Contract_Item): Support addition of pragma
+       Subprogram_Variant to N_Contract node.
+       (Analyze_Entry_Or_Subprogram_Contract): Mention new aspect in
+       the comment; add pragma Subprogram_Variant to N_Contract node.
+       (Build_Postconditions_Procedure): Adapt call to
+       Insert_Before_First_Source_Declaration, which is now reused in
+       expansion of new aspect.
+       (Process_Contract_Cases_For): Also process Subprogram_Variant,
+       which is stored in N_Contract node together with Contract_Cases.
+       * contracts.ads (Analyze_Entry_Or_Subprogram_Contract): Mention
+       new aspect in the comment.
+       (Analyze_Entry_Or_Subprogram_Body_Contract): Likewise.
+       * einfo.adb (Get_Pragma): Support retrieval of new pragma.
+       * einfo.ads (Get_Pragma): Likewise.
+       * exp_ch6.adb (Check_Subprogram_Variant): New routine for
+       emitting call to check Subprogram_Variant expressions at run
+       time.
+       (Expand_Call_Helper): Check Subprogram_Variant expressions at
+       recursive calls.
+       * exp_prag.adb (Make_Op): Moved from expansion of pragma
+       Loop_Variant to Exp_Util, so it is now reused for expansion of
+       pragma Subprogram_Variant.
+       (Process_Variant): Adapt call to Make_Op after moving it to
+       Exp_Util.
+       (Expand_Pragma_Subprogram_Variant): New routine.
+       * exp_prag.ads (Expand_Pragma_Subprogram_Variant): Likewise.
+       * exp_util.adb (Make_Variant_Comparison): Moved from Exp_Prag
+       (see above).
+       * exp_util.ads (Make_Variant_Comparison): Likewise.
+       * inline.adb (Remove_Aspects_And_Pragmas): Handle aspect/pragma
+       Subprogram_Variant just like similar contracts.
+       * par-prag.adb (Prag): Likewise.
+       * sem.adb (Insert_Before_First_Source_Declaration): Moved from
+       Contracts (see above).
+       * sem.ads (Insert_Before_First_Source_Declaration): Likewise.
+       * sem_ch12.adb: Mention new aspect in the comment about
+       "Implementation of Generic Contracts", just like similar aspects
+       are mentioned there.
+       * sem_ch13.adb (Insert_Pragma): Mention new aspect in the
+       comment, because this routine is now used for Subprogram_Variant
+       just like for other similar aspects.
+       (Analyze_Aspect_Specifications): Mention new aspect in comments;
+       it is handled just like aspect Contract_Cases.
+       (Check_Aspect_At_Freeze_Point): Do not expect aspect
+       Subprogram_Variant just like we don't expect aspect
+       Contract_Cases.
+       * sem_prag.adb (Ensure_Aggregate_Form): Now also used for pragma
+       Subprogram_Variant, so update comment.
+       (Analyze_Pragma): Add initial checks for pragma
+       Subprogram_Variant.
+       (Analyze_Subprogram_Variant_In_Decl_Part): New routine with
+       secondary checks on the new pragma.
+       (Sig_Flags): Handle references within pragma Subprogram_Variant
+       expression just like references in similar pragma
+       Contract_Cases.
+       (Is_Valid_Assertion_Kind): Handle Subprogram_Variant just like
+       other similar contracts.
+       * sem_prag.ads (Analyze_Subprogram_Variant_In_Decl_Part): New
+       routine.
+       * sem_res.adb (Same_Or_Aliased_Subprograms): Moved to Sem_Util,
+       so it can be reused for detection of recursive calls where
+       Subprogram_Variant needs to be verified.
+       * sem_util.adb (Is_Subprogram_Contract_Annotation): Handle new
+       Subprogram_Variant annotation just like other similar
+       annotations.
+       (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
+       * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
+       aspect in the comment.
+       (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
+       * sinfo.ads (N_Contract): Document handling of
+       Subprogram_Variant.
+       * snames.ads-tmpl: Add name for the internally generated
+       procedure with checks for Subprogram_Variant expression, name
+       for the new aspect and new pragma corresponding to aspect
+       Subprogram_Variant.
+
+2020-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.ads: Reorder declaration.
+
+2020-10-19  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch4.adb: (P_Aggregate_Or_Paren_Expr): Recognize
+       Iterated_Element_Component.
+       (P_Iterated_Component_Association): Rebuild node as an Iterated_
+       Element_Association when Key_Expression is present, and attach
+       either the Loop_Parameter_Specification or the
+       Iterator_Specification to the new node.
+       * sem_aggr.adb: (Resolve_Container_Aggregate):
+       Resolve_Iterated_Association handles bota Iterated_Component_
+       and Iterated_Element_Associations, in which case it analyzes and
+       resoles the orresponding Key_Expression.
+       * exp_aggr.adb (Expand_Iterated_Component): If a Key_Expression
+       is present, use it as the required parameter in the call to the
+       insertion routine for the destination container aggregate. Call
+       this routine for both kinds of Iterated_Associations.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate): Enable needed range checks.
+
+2020-10-19  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+       Set the Warnings_Off flag on the pointer object used in the
+       expansion of iterators and similar.
+
+2020-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (PowerPC/Linux): Use s-taspri__posix.ads instead
+       of s-taspri__posix-noaltstack.ads for s-taspri.ads.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Add_Call): Remove excessive condition and
+       unnecessary call to Set_Has_Predicates.
+
+2020-10-19  Yannick Moy  <moy@adacore.com>
+
+       * debug.adb: Use debug switch -gnatdF for this alternative
+       display of messages.
+       * errout.adb (Output_Messages): Alternative display when -gnatdF
+       is used.
+       * erroutc.adb (Output_Msg_Text): Likewise.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Check_Untagged_Equality): Check for AI12-0352.
+
+2020-10-19  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Add_View_Conversion_Invariants): Do not insert
+       generated invariant checks when the call is a function call.
+       These tests are properly inserted in the code in procedure
+       Insert_Post_Call_Actions, which takes care of finding the proper
+       insertion point for the checks.
+       (Insert_Post_Call_Actions): Add question marks to indicate
+       possible gap in handling function calls that appear as aggregate
+       components.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * contracts.adb (Process_Preconditions_For): Do not exclude
+       instances.
+       * sem_ch4.adb (Analyze_Quantified_Expression): Disable spurious
+       warning on internally generated variables.
+
+2020-10-19  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * debug.adb: Document -gnatd_c flag as being used for CUDA.
+       * gnat_cuda.ads: New file.
+       * gnat_cuda.adb: New file.
+       * rtsfind.ads: Add Interfaces_C_Strings package and
+       RE_Fatbin_Wrapper, RE_Register_Fat_Binary,
+       RE_Register_Fat_Binary_End, RE_Register_Function, RE_Chars_Ptr,
+       RE_New_Char_Array entities.
+       * rtsfind.adb: Create new Interfaces_C_Descendant subtype,
+       handle it.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Call CUDA init
+       procedure.
+       * sem_prag.adb (Analyze_Pragma): Call Add_Cuda_Kernel procedure.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add gnat_cuda.o.
+
+2020-10-19  Bob Duff  <duff@adacore.com>
+
+       * ghost.adb (Whole_Object_Ref): New function to compute the name
+       of the whole object.
+       (Mark_And_Set_Ghost_Assignment): Rewrite to use
+       Whole_Object_Ref.  We need to partly analyze the left-hand side
+       in order to distinguish expanded names and record components.
+       * lib-xref.ads, lib-xref.adb (Deferred_References): Move table
+       to body, and add Defer_Reference to update the table, avoiding
+       duplicates.
+       (Generate_Reference): Avoid duplicates.
+       * sem_ch8.ads, sem_ch8.adb (Find_Direct_Name): Remove _OK
+       parameters, which are no longer needed. Ignore errors in
+       Ignore_Errors mode.
+       * sem_util.ads, sem_util.adb (Preanalyze_Without_Errors): Make
+       this public, so we can call it from Ghost.
+       * errout.ads, scng.adb, sem_prag.adb: Minor.
+
+2020-10-19  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Check if type
+       depends on discriminant.
+
+2020-10-19  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-coinve.adb, libgnat/a-cidlli.adb (Put_Image): Call
+       Iterate.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Properly apply
+       subtype constraints when using a Default_Value.
+       * freeze.adb: Fix typo.
+
+2020-10-19  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix bug
+       where a call to Error_Msg_N leads to crash due to
+       Error_Msg_Name_1 being removed by the call, while a subsequent
+       call to Error_Msg_N tries to use it. The variable
+       Error_Msg_Name_1 should be restored prior to the next call. Also
+       add checking for the new rules.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * checks.adb (Apply_Type_Conversion_Checks): Minor code clean
+       up.
+       * exp_ch4.adb (Discrete_Range_Check): Optimize range checks.
+       Update comments.
+       (Expand_N_Type_Conversion): Generate range check when rewriting
+       a type conversion if needed. Add assertion.
+       * exp_ch6.adb (Expand_Simple_Function_Return): Minor code clean
+       up.
+       * sem_res.adb (Resolve_Type_Conversion): Apply range check when
+       needed.  Update comments.
+
+2020-10-19  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-textio.ads: Update top-level comment.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): Simplify condition for by-copy
+       types.
+
+2020-10-19  Yannick Moy  <moy@adacore.com>
+
+       * errout.ads: Add comment regarding lack of preservation of
+       Errout state across successive calls to the API.
+
+2020-10-19  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the
+       base type to recognize various cases of access types.
+       * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb,
+       libgnat/a-cbhama.ads, libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
+       libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads, libgnat/a-cborma.adb,
+       libgnat/a-cborma.ads, libgnat/a-cborse.adb, libgnat/a-cborse.ads,
+       libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, libgnat/a-cidlli.adb,
+       libgnat/a-cidlli.ads, libgnat/a-cihama.adb, libgnat/a-cihama.ads,
+       libgnat/a-cihase.adb, libgnat/a-cihase.ads, libgnat/a-cimutr.adb,
+       libgnat/a-cimutr.ads, libgnat/a-ciorma.adb, libgnat/a-ciorma.ads,
+       libgnat/a-ciormu.adb, libgnat/a-ciormu.ads, libgnat/a-ciorse.adb,
+       libgnat/a-ciorse.ads, libgnat/a-coboho.adb, libgnat/a-coboho.ads,
+       libgnat/a-cobove.adb, libgnat/a-cobove.ads, libgnat/a-cohama.adb,
+       libgnat/a-cohama.ads, libgnat/a-cohase.adb, libgnat/a-cohase.ads,
+       libgnat/a-coinho.adb, libgnat/a-coinho.ads,
+       libgnat/a-coinho__shared.adb, libgnat/a-coinho__shared.ads,
+       libgnat/a-coinve.adb, libgnat/a-coinve.ads, libgnat/a-comutr.adb,
+       libgnat/a-comutr.ads, libgnat/a-coorma.adb, libgnat/a-coorma.ads,
+       libgnat/a-coormu.adb, libgnat/a-coormu.ads, libgnat/a-coorse.adb,
+       libgnat/a-coorse.ads, libgnat/a-strunb.adb, libgnat/a-strunb.ads,
+       libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads:
+       Implement Put_Image attibute.
+       * libgnat/a-stteou.ads, libgnat/s-putima.ads,
+       libgnat/a-stouut.ads, libgnat/a-stoubu.adb: Make
+       Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
+       System.Put_Images Pure, so they can be with'ed by Pure units
+       that should have Put_Image defined.
+       * libgnat/a-stouut.adb: Add missing column adjustments, and
+       remove a redundant one.
+       * libgnat/s-putima.adb (Put_Arrow): New routine to print an
+       arrow. Avoids adding a with clause to some containers.
+
+2020-10-19  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Require matching
+       parens or brackets.
+       * par.adb, par-tchk.adb (T_Right_Bracket): New procedure to give
+       an error on missing ].
+
+2020-10-19  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name): Do not trust in the decoration
+       of the Entity attribute in constants associated with
+       discriminals of protected types.
+
+2020-10-19  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Context): When the enclosing
+       subprogram is abstract, bypass early return if the call is
+       tag-indeterminate, to continue with the later error checking.
+
+2020-10-19  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch7.adb (Uninstall_Declarations): Uninstall the
+       declaration of a subtype declaration defined in the private part
+       of a package.
+
+2020-10-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify code since
+       we are always under -gnatX if we encounter a Tok_Left_Bracket.
+       * scng.adb (Scan): [] is an aggregate under -gnatX and a wide
+       character otherwise.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Cleanup.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (Is_Direct_Deep_Call): Refine type from Node_Id to
+       Entity_Id.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (May_Fold): Detect all operators, i.e. both binary
+       and unary ones.
+
+2020-10-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Expand_Inlined_Call): Simplify repeated calls to
+       Nkind.
+
+2020-10-18  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Compile Ada.Numerics
+       child units Aux_Generic_Float, Aux_Long_Long_Float, Aux_Long_Float,
+       Aux_Float, Aux_Short_Float, Aux_Compat, and Aux_Linker_Options.
+       (X86_TARGET_PAIRS): Drop dummy body for Aux.  Use x86 version
+       of Aux_Compat.
+       (X86_64_TARGET_PAIRS): Likewise.
+       (LIBGNAT_TARGET_PAIRS): On VxWorks, select the nolibm
+       variants.  Drop the darwin version of Aux.  Drop the redundant
+       libc-x86 numaux variants on x86* kfreebsd variants.
+       * libgnat/a-nagefl.ads: New Aux_Generic_Float.
+       * libgnat/a-naliop.ads: New Aux_Linker_Options.
+       * libgnat/a-naliop__nolibm.ads: New.
+       * libgnat/a-nallfl.ads: New Aux_Long_Long_Float.
+       * libgnat/a-nalofl.ads: New Aux_Long_Float.
+       * libgnat/a-nuaufl.ads: New Aux_Float.
+       * libgnat/a-nashfl.ads: New Aux_Short_Float.
+       * libgnat/a-ngcefu.adb (Exp): Factor out the Im (X) passed to
+       Sin and Cos in the Complex variant too.
+       * libgnat/a-ngcoty.adb: Switch to Aux_Generic_Float.  Drop
+       redundant conversions.
+       * libgnat/a-ngelfu.adb: Likewise.
+       * libgnat/a-nuauco.ads: New Aux_Compat.
+       * libgnat/a-nuauco__x86.ads: New.
+       * libgnat/a-numaux.ads: Replace with Compat wrapper.
+       * libgnat/a-numaux__darwin.adb: Remove.
+       * libgnat/a-numaux__darwin.ads: Remove.
+       * libgnat/a-numaux__dummy.adb: Remove.
+       * libgnat/a-numaux__libc-x86.ads: Remove.
+       * libgnat/a-numaux__vxworks.ads: Remove.
+
+2020-10-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
+       freeze.adb, sem_aggr.adb, sem_attr.adb, sem_ch13.adb,
+       sem_ch13.ads, sem_ch6.adb, sem_eval.adb, sem_util.adb: Fix style
+       and typos.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_cat.adb (Is_Primary): Handle N_Range properly.
+
+2020-10-16  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * elists.ads (New_Elmt_List): New functions.
+       * elists.adb (New_Elmt_List): New functions.
+       * exp_prag.adb: Add dependency on Elists.
+       (Expand_Pragma_CUDA_Execute): New function.
+       (Expand_N_Pragma): Add call to Expand_Pragma_CUDA_Execute.
+       * rtsfind.ads: Add CUDA.Internal, CUDA.Runtime, System.C
+       packages and RE_Push_Call_Configuration,
+       RE_Pop_Call_Configuration, RE_Launch_Kernel, RO_IC_Unsigned,
+       RO_IC_Unsigned_Long_Long entities.
+       * rtsfind.adb: Extend Interfaces_Descendant to include
+       Interfaces_C.
+
+2020-10-16  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Name): Allow Tok_Left_Bracket in two places to
+       call P_Qualified_Expression. We don't need to modify other
+       places that call P_Qualified_Expression, because a
+       qualified_expression is a name in Ada 2012 and higher, so P_Name
+       is the right place.  The parser already parses aggregates with
+       brackets; we just need to allow that in qualified expressions.
+
+2020-10-16  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Check_Generic_Child_Unit): When the child unit
+       is a renaming of a generic child unit then traverse the scope
+       containing the renaming declaration to locate the instance of
+       its parent.  Otherwise the parent is not installed and the
+       frontend cannot process the instantiation.
+
+2020-10-16  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-numeri.ads: Remove the greek letter.
+
+2020-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Refine previous patch
+       to use root type (and not base type) on enumeration types.
+
+2020-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Use the base type
+       instead of the root type when type of object is private. Remove
+       Ada_2020 guard, because it has been checked during prior
+       analysis. Use Underlying_Type in all cases, as it is a no-op on
+       types that are not private.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.ads, snames.ads-tmpl: Add support for
+       Exclusive_Functions aspect.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Ditto.
+       * exp_ch9.adb (Build_Protected_Subprogram_Body): Take aspect
+       Exclusive_Functions into account.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in: Update dependencies on system.ads,
+       add gnatbind switch -t to avoid timestamp inconsistencies during
+       build.
+       * libgnat/system.ads: Move...
+       * gcc-interface/system.ads: ... here.
+
+2020-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_eval.adb (Subtypes_Statically_Match): Retrieve
+       discriminant constraints from the two types via new function
+       Original_Discriminant_Constraint rather than
+       Discriminant_Constraint.
+       (Original_Discriminant_Constraint): New function to locate the
+       nearest explicit discriminant constraint associated with a type
+       that may possibly have inherited a constraint from an ancestor
+       type.
+
+2020-10-16  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): Remove obsolete
+       comment and code.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/95953
+       * libgnat/a-suenco.adb (Convert): Fix handling of third UTF-8
+       byte.
+
+2020-10-16  Steve Baird  <baird@adacore.com>
+
+       * exp_util.adb (Is_Related_To_Func_Return): Cope with the case
+       where the FE introduces a type conversion.
+
+2020-10-16  Chris Martin  <cmartin@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Access_Variable): New function.
+       (Is_Synchronized_Object): Call new function when determining if
+       a constant can be regarded as synchronized.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+       Call Set_BIP_Initialization_Call systematically.
+       * exp_ch7.adb (Process_Transient_In_Scope): Take
+       BIP_Initialization_Call into account to decide where to insert
+       the Hook.
+
+2020-10-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_View_Conversion): Detect qualified types.
+       * sem_util.ads (Is_Actual_In_Out_Parameter): Fix style in
+       comment.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * scil_ll.adb, sem_scil.adb: Update assertions.
+
+2020-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Min_Max): Handle the case where attribute
+       name (qualified by required type) appears as the reducer of a
+       'Reduce attribute reference.
+       (Resolve_Attribute) <Reduce>: Handle properly the presence of a
+       procedure or an attribute reference Min/Max as a reducer.
+       * exp_attr.adb (Expand_Attribute_Reference) <Reduce>: New
+       subprogram Build_Stat, to construct the combining statement
+       which appears in the generated loop for Reduce, and which is
+       either a function call when the reducer is a function or an
+       attribute, or a procedure call when reducer is an appropriate
+       procedure.  BuilD_Stat is used both when the prefix of 'Reduce
+       is a value sequence and when it is an object
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate): Allocate result of string
+       concatenation on secondary stack when relevant.
+
+2020-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Declare_Expression): Retrieve the created
+       block entity that is the scope of the local declarations, from
+       either a local object declaration or an object renaming
+       declaration. The block entity does not have an explicit
+       declaration, but appears as the scope of all locally declared
+       objects.
+
+2020-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/system-aix.ads: Likewise.
+       * libgnat/system-darwin-arm.ads: Likewise.
+       * libgnat/system-darwin-ppc.ads: Likewise.
+       * libgnat/system-darwin-x86.ads: Likewise.
+       * libgnat/system-djgpp.ads: Likewise.
+       * libgnat/system-dragonfly-x86_64.ads: Likewise.
+       * libgnat/system-freebsd.ads: Likewise.
+       * libgnat/system-hpux-ia64.ads: Likewise.
+       * libgnat/system-hpux.ads: Likewise.
+       * libgnat/system-linux-alpha.ads: Likewise.
+       * libgnat/system-linux-arm.ads: Likewise.
+       * libgnat/system-linux-hppa.ads: Likewise.
+       * libgnat/system-linux-ia64.ads: Likewise.
+       * libgnat/system-linux-m68k.ads: Likewise.
+       * libgnat/system-linux-mips.ads: Likewise.
+       * libgnat/system-linux-ppc.ads: Likewise.
+       * libgnat/system-linux-riscv.ads: Likewise.
+       * libgnat/system-linux-s390.ads: Likewise.
+       * libgnat/system-linux-sh4.ads: Likewise.
+       * libgnat/system-linux-sparc.ads: Likewise.
+       * libgnat/system-linux-x86.ads: Likewise.
+       * libgnat/system-lynxos178-ppc.ads: Likewise.
+       * libgnat/system-lynxos178-x86.ads: Likewise.
+       * libgnat/system-mingw.ads: Likewise.
+       * libgnat/system-qnx-aarch64.ads: Likewise.
+       * libgnat/system-rtems.ads: Likewise.
+       * libgnat/system-solaris-sparc.ads: Likewise.
+       * libgnat/system-solaris-x86.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp.ads: Likewise.
+       * libgnat/system-vxworks-arm.ads: Likewise.
+       * libgnat/system-vxworks-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks-e500-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc.ads: Likewise.
+       * libgnat/system-vxworks-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks-x86-vthread.ads: Likewise.
+       * libgnat/system-vxworks-x86.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64.ads: Likewise.
+       * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-arm.ads: Likewise.
+       * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl, gnat1drv.adb, expander.adb
+       doc/gnat_rm/implementation_defined_pragmas.rst,
+       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_ugn/the_gnat_compilation_model.rst, exp_ch5.ads,
+       exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+       exp_util.ads, libgnarl/s-osinte__aix.adb,
+       libgnarl/s-osinte__android.adb, libgnarl/s-osinte__darwin.adb,
+       libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__hpux-dce.adb,
+       libgnarl/s-osinte__lynxos178.adb, libgnarl/s-osinte__posix.adb,
+       libgnarl/s-osinte__qnx.adb, libgnarl/s-osinte__rtems.adb,
+       libgnarl/s-osinte__solaris.adb, libgnarl/s-osinte__vxworks.adb,
+       libgnarl/s-osinte__x32.adb, libgnarl/s-solita.adb,
+       libgnarl/s-taasde.adb, libgnarl/s-taprob.adb,
+       libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb,
+       libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
+       libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
+       libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
+       libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
+       libgnarl/s-taskin.adb, libgnarl/s-taspri__dummy.ads,
+       libgnarl/s-taspri__hpux-dce.ads, libgnarl/s-taspri__lynxos.ads,
+       libgnarl/s-taspri__mingw.ads,
+       libgnarl/s-taspri__posix-noaltstack.ads,
+       libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads,
+       libgnarl/s-taspri__vxworks.ads, libgnarl/s-tassta.adb,
+       libgnarl/s-tasuti.adb, libgnarl/s-tposen.adb,
+       libgnat/a-except.adb, libgnat/a-except.ads,
+       libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
+       libgnat/s-mastop.ads, libgnat/s-soflin.adb,
+       libgnat/s-stalib.adb, libgnat/s-stalib.ads,
+       libgnat/s-stchop.adb, libgnat/s-stchop.ads,
+       libgnat/s-stchop__limit.ads, libgnat/s-traceb.ads,
+       libgnat/s-traent.adb, libgnat/s-traent.ads,
+       libgnat/s-trasym.adb, libgnat/s-trasym.ads,
+       libgnat/s-trasym__dwarf.adb, opt.adb, opt.ads, par-prag.adb,
+       sem_prag.adb, snames.ads-tmpl, switch-c.adb, targparm.adb,
+       targparm.ads, usage.adb: Remove support for -gnatP and pragma
+       Polling.
+       * gnat_ugn.texi: Regenerate.
+       * libgnat/a-excpol.adb, libgnat/a-excpol__abort.adb: Removed.
+
+2020-10-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Array_Type_Declaration): Create itype with unique
+       name.
+
+2020-10-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Limit scope of a
+       local object by hiding it from local subprograms; simplify
+       nested if-then-if-then condition for an Ada 83 restriction.
+       (Array_Type_Declaration): Confirm with assertion when the else
+       branch is executed.
+       (Find_Type_Of_Object): Simplify membership test with a subtype
+       range.
+
+2020-10-16  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Global_In_Decl_Part): Update check to
+       reject volatile object for reading.
+       * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Update
+       check to reject volatile object for reading.
+       * sem_util.adb, sem_util.ads
+       (Check_Nonvolatile_Function_Profile,
+       Has_Effectively_Volatile_Profile): Detect use of volatile object
+       for reading.
+       (Has_Enabled_Property): Accept constants as well.
+       (Is_Effectively_Volatile_For_Reading): New function based on
+       existing Is_Effectively_Volatile.
+       (Is_Effectively_Volatile_Object_For_Reading): Adapted from the
+       existing Is_Effectively_Volatile_Object, using a shared
+       implementation in Is_Effectively_Volatile_Object_Shared.
+
+2020-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): In the case
+       of an if-statement, call Unnest_If_Statement to determine
+       whether there are nested subprograms in any of the statement
+       lists of the "if" parts that require a wrapping procedure to
+       handle possible up-level refeferences.
+       (Unnest_Block): Call Check_Unnesting_In_Handlers to do unnesting
+       of subprograms in exception handlers of the block statement.
+       (Unnest_If_Statement): New procedure to traverse the parts of an
+       if-statement and create wrapper procedures as needed to
+       encapsulate nested subprograms that may make up-level
+       references.
+       (Check_Stmts_For_Subp_Unnesting): New support procedure in
+       Unnest_If_Statement to traverse a statement list looking for
+       top-level subprogram bodies that require wrapping inside a
+       procedure (via Unnest_Statement_List) as well as possibly having
+       other statements (block, loop, if) that may themselves require
+       an unnesting transformation (via
+       Check_Unnesting_In_Decls_Or_Stmts).
+       (Unnest_Statement_List): New support procedure to traverse the
+       statements of a statement list that contains subprogram bodies
+       at the top level and replace the statement list with a wrapper
+       procedure body encapsulating the statements and a call to the
+       procedure.
+
+2020-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Check_OK_Stream_Convert_Function): Check for
+       abstract subprograms.
+
+2020-10-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
+       (No_Local_Timing_Events): Package Timing_Events is a child of
+       Ada.Real_Time, not of Ada.
+       * gnat_rm.texi: Regenerate.
+
+2020-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst: Document the
+       new Max_Integer_Size attribute.
+       * gnat_rm.texi: Regenerate.
+       * exp_attr.adb (Get_Integer_Type): Call Small_Integer_Type_For.
+       (Expand_N_Attribute_Reference) <Attribute_Pred>: Replace selection
+       code with call to Integer_Type_For.
+       <Attribute_Succ>: Likewise.
+       <Attribute_Val>: Likewise.
+       <Attribute_Valid>: Likewise.
+       <Attribute_Max_Integer_Size>: Raise Program_Error.
+       * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Replace selection
+       code with call to Integer_Type_For.
+       (Simple_Init_Initialize_Scalars_Type): Use Long_Long_Unsigned and
+       System_Max_Integer_Size to size the largest integer type.
+       * exp_pakd.adb (Compute_Linear_Subscript): Minor tweak.
+       (Create_Packed_Array_Impl_Type): Use Small_Integer_Type_For.
+       * exp_util.ads (Integer_Type_For): New function.
+       (Small_Integer_Type_For): Likewise.
+       * exp_util.adb (Adjust_Condition): Use Integer_Type_For.
+       (Component_May_Be_Bit_Aligned): Use System_Max_Integer_Size.
+       (Integer_Type_For): New function.
+       (Small_Integer_Type_For): Likewise.
+       (Matching_Standard_Type): Use Small_Integer_Type_For.
+       (Needs_Constant_Address): Replace 64 with System_Max_Integer_Size.
+       * freeze.adb (Set_Small_Size): Likewise.
+       (Size_Known): Likewise.
+       (Check_Suspicious_Modulus): Likewise.
+       (Check_Large_Modular_Array): Likewise.
+       (Freeze_Entity): Likewise.
+       * layout.adb (Layout_Type): Likewise.
+       * sem_aggr.adb: Add with and use clauses for Ttypes.
+       (Resolve_Aggregate): Replace 64 with System_Max_Integer_Size.
+       * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Max_Integer_Size.
+       * sem_attr.adb (Analyze_Attribute) <Attribute_Max_Integer_Size>: New
+       (Eval_Attribute): Likewise.
+       * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Change max
+       scalar size to System_Max_Integer_Size.
+       (Check_Array_Type): Replace 64 with System_Max_Integer_Size and
+       remove superfluous test.
+       (OK_Component): Likewise.
+       * sem_ch5.adb: Add with and use clauses for Ttypes.
+       (Analyze_Assignment): Replace 64 with System_Max_Integer_Size.
+       * snames.ads-tmpl (Name_Max_Integer_Size): New attribute name.
+       (Attribute_Id): Add Attribute_Max_Integer_Size.
+       * ttypes.ads (System_Max_Integer_Size): New constant.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch10.adb (Install_With_Clause): Fix implementation of Ada
+       2005 AI-262 by taking into account generic packages.  Minor
+       reformatting.
+       * libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause
+       on runtime unit spec.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, einfo.adb (Scope_Depth_Value,
+       Set_Scope_Depth_Value): Add assertions on valid nodes and update
+       documentation accordingly.
+       (Write_Field22_Name): Sync with change in Scope_Depth_Value.
+       * sem_ch8.adb (Find_Direct_Name): Fix call to Scope_Depth_Value.
+
+2020-10-15  Javier Miranda  <miranda@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Adding semantic support of
+       Standard to Default_Storage_Pool.
+       * freeze.adb (Freeze_Entity): If pragma Default_Storage_Pool
+       applies and it is set to Standard then use the global pool as
+       the associated storage pool of the access type.
+
+2020-10-15  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.ads (Might_Have_Tasks): Update documentation.
+       * exp_ch6.adb (Might_Have_Tasks): Return also true when the type
+       has tasks.
+       (Make_Build_In_Place_Call_In_Allocator): Code cleanup.
+       * exp_ch3.adb (Ensure_Activation_Chain_And_Master,
+       Expand_N_Full_Type_Declaration, Expand_N_Object_Declaration):
+       Code cleanup.
+
+2020-10-15  Steve Baird  <baird@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): Generate "infinite
+       recursion" warning message even if run-time predicate checking
+       is disabled.
+       * exp_ch6.adb (Expand_Simple_Function_Return): In testing
+       whether the returned expression is a function call, look for the
+       case where the call has been transformed into a dereference of
+       an access value that designates the result of a function call.
+       * sem_ch3.adb (Analyze_Object_Declaration): Legality checking
+       for a static expression is unaffected by assertion policy (and,
+       in particular, enabling/disabling of subtype predicates.  To get
+       the right legality checking, we need to call
+       Check_Expression_Against_Static_Predicate for a static
+       expression even if predicate checking is disabled for the given
+       predicate-bearing subtype.  On the other hand, we don't want to
+       call Make_Predicate_Check unless predicate checking is enabled.
+       * sem_ch7.adb (Uninstall_Declarations.Preserve_Full_Attributes):
+       Preserve the Predicates_Ignored attribute.
+       * sem_eval.adb (Check_Expression_Against_Static_Predicate):
+       Previously callers ensured that this procedure was only called
+       if predicate checking was enabled; that is no longer the case,
+       so predicates-disabled case must be handled.
+       * sem_prag.adb (Analyze_Pragma): Fix bug in setting
+       Predicates_Ignored attribute in Predicate pragma case.
+
+2020-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Fixed_Point_Type): Do not scale the bounds
+       of a declared subtype using the 'Small of the type;  this is
+       done during resolution of the bound itself, unlike what is done
+       for the bounds of the base type, which are used to determine its
+       required size. Previous code performed this scaling twice,
+       leading to meaningless values for such a subtype.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Bad_Predicated_Subtype_Use): Emit an
+       unconditional error, not a conditional warning.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Process_Subtype): Combine guards for
+       Null_Exclusion_Present in May_Have_Null_Exclusion; use this
+       combined guard when checking AI-231.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion
+       with assertion in Null_Exclusion_Present; clarify the scope of
+       local variables.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Fix style.
+       (Make_Index): Refactor to avoid repeated detection of subtype
+       indication; add comment.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA
+       package unless necessary; rename local Tmp variable; iterate
+       with procedural Next.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Array_Type_Declaration): Refine type of a local
+       variable.
+       (Make_Index): Simplify to avoid assignment with a type entity
+       and then backtracking by reassigning to Empty; remove excessive
+       whitespace.
+       * sem_ch9.adb (Analyze_Entry_Body): Remove extra parens.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Access_Subprogram_Declaration): Remove extra
+       parens.
+       (Make_Index): Remove excessive calls to Is_Type.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.adb (Enter_Name): Remove unnecessary conditions in
+       Enter_Name that come from the beginning of times.
+
+2020-10-15  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part
+       of comment, and reformat.
+
+2020-10-15  Boris Yakobowski  <yakobowski@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
+       'Initialized in CodePeer mode.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb (Reset_Entity): Protect against malformed tree.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Add_Predicates): Prevent analyzing twice the
+       same pragma in case an inner package references the type with a
+       predicate (as opposed to defining the type).
+
+2020-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer.
+       * libgnat/a-cofove.adb (Int): Likewise.
+       * libgnat/a-cgcaso.adb (T): Likewise.
+       * libgnat/a-cogeso.adb (T): Likewise.
+       * libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb: Replace list of N_Defining_... enumerations with
+       N_Entity.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of
+       parameter.
+       (Constrain_Index): Likewise.
+       (Array_Type_Declaration): Refine type of a local counter
+       variable; remove a trivially useless initialization.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both
+       identifiers and expanded names; use high-level Is_Scalar_Type
+       instead of low-level membership test.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support
+       for Shift_Right_Arithmetic and for signed integers.
+       * exp_ch4.adb (Expand_N_Op_Rotate_Left,
+       Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left,
+       Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code
+       cleanup to ensure a consistent handling. Update comments and add
+       assertion.
+
+2020-10-15  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Visible_Component): Enable this code for task
+       and protected types, as well as record and private types.
+       * sem_ch13.ads (Replace_Type_References_Generic): Update
+       comment.  Move the efficiency comment into the body, because
+       it's about the implementation.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch13.adb (Get_Aspect_Specifications): Generate a warning
+       rather than an error on unknown aspects unless -gnatd2 is used.
+       (Aspect_Specifications_Present): Improve detection of unknown
+       aspects.
+       * debug.adb (Debug_Flag_2): Update document.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Call): Do not try to inline intrinsic
+       calls.
+
+2020-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires
+       a non-private type.
+       * sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to
+       Resolve_Aspect_Aggregate, to handle the case when the
+       corresponding name appearing in the aspect specification for an
+       indexed aggregate is an overloaded operation.
+       * libgnat/a-convec.ads, libgnat/a-convec.adb,
+       libgnat/a-coinve.ads, libgnat/a-coinve.adb,
+       libgnat/a-cobove.ads, libgnat/a-cobove.adb,
+       libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
+       libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
+       libgnat/a-cohama.ads, libgnat/a-cihama.ads,
+       libgnat/a-cbhama.ads, libgnat/a-cborma.ads,
+       libgnat/a-ciorma.ads, libgnat/a-coorma.ads,
+       libgnat/a-cihase.ads, libgnat/a-cohase.ads,
+       libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
+       libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect
+       Aggregate to types declared in standard containers, as well as
+       new subprograms where required.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create,
+       First_Cursor, Advance, Has_Element): New.
+
+2020-10-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: Add target pair for interfac.ads.
+       * libgnat/interfac.ads: Add a comment.
+       * libgnat/interfac__2020.ads: New, used for bootstrap purposes.
+       * sem_util.adb (Is_Static_Function): Always return False for pre
+       Ada 2020 to e.g. ignore the Static aspect in Interfaces for
+       Ada < 2020.
+
+2020-10-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Move special-casing for
+       GNATprove to be applied to all object declarations.
+
+2020-10-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * libgnat/a-ngelfu.ads (Sin, Cos): Make the single-argument
+       functions inline.
+
+2020-10-11  Alexandre Oliva  <oliva@adacore.com>
+
+       * libgnat/a-numaux.ads: Make all imports Intrinsic.
+       * libgnat/a-numaux__darwin.ads: Likewise.
+       * libgnat/a-numaux__libc-x86.ads: Likewise.
+       * libgnat/a-numaux__vxworks.ads: Likewise.
+
+2020-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the end locus
+       of body and declaration earlier.
+
+2020-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (maybe_saturate_size): Add ALIGN parameter
+       and round down the result to ALIGN.
+       (gnat_to_gnu_entity): Adjust calls to maybe_saturate_size.
+
+2020-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc-interface/trans.c (gigi): Adjust build_optimization_node
+       caller.
+
+2020-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h: Fix pilot error in previous change.
+       * gcc-interface/gigi.h (enum standard_datatypes): Add ADT_mulv128_decl.
+       (mulv128_decl): New macro.
+       (get_target_long_long_long_size): Declare.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Use a maximum size of
+       128 bits for discrete types if Enable_128bit_Types is true.
+       * gcc-interface/targtyps.c: Include target.h.
+       (get_target_long_long_long_size): New function.
+       * gcc-interface/trans.c (gigi): Initialize mulv128_decl if need be.
+       (build_binary_op_trapv): Call it for 128-bit multiplication.
+       * gcc-interface/utils.c (make_type_from_size): Enforce a maximum
+       size of 128 bits if Enable_128bit_Types is true.
+
+2020-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (lvalue_for_aggr_p) <N_Object_Declaration>:
+       Return false unconditionally.
+
+2020-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Clear
+       the SLOC of the expression of a tag.
+
+2020-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Only give
+       a warning for the overlay of an aliased array with an unconstrained
+       nominal subtype if the address is absolute.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (type_has_variable_size): New function.
+       (create_field_decl): In the packed case, also force byte alignment
+       when the type of the field has variable size.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (get_array_bit_stride): Return TYPE_ADA_SIZE
+       for record and union types.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_get_fixed_point_type): Bail out only
+       when the GNAT encodings are specifically used.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Only
+       create extra subtypes for discriminants if the RM size of the base
+       type of the index type is lower than that of the index type.
+
+2020-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (set_rm_size): Do not take into account the
+       Value_Size clause if it is not for the entity itself.
+
+2020-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (build_subst_list): For a definition, make
+       sure to instantiate the SAVE_EXPRs generated by the elaboration of
+       the constraints in front of the elaboration of the type itself.
+
+2020-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c: Include tree-pass.h.
+       (internal_error_function): Call emergency_dump_function.
+
+2020-09-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * fe.h, opt.ads (Enable_128bit_Types): New.
+       * stand.ads (Standard_Long_Long_Long_Integer,
+       S_Long_Long_Long_Integer): New.
+
+2020-09-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Get_Fullest_View): New procedure.
+       * exp_unst.adb (Check Static_Type): Do all processing on fullest
+       view of specified type.
+
+2020-08-27  Martin Liska  <mliska@suse.cz>
+
+       * gcc-interface/trans.c (gigi): Set exact argument of a vector
+       growth function to true.
+       (Attribute_to_gnu): Likewise.
+
+2020-07-27  Alexandre Oliva  <oliva@adacore.com>
+
+       * switch.adb (Is_Internal_GCC_Switch): Revert accidental
+       reintroduction of auxbase and auxbase-strip.
+
+2020-07-27  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Restrict the check on matching
+       aliased components to view conversions of array types that are
+       not placed in an instance. In such case at runtime an object is
+       created.
+       * sem_util.ads (Is_Actual_In_Out_Parameter, Is_View_Conversion):
+       New subprograms.
+       * sem_util.adb (Is_Actual_In_Out_Parameter, Is_View_Conversion):
+       New subprograms.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * lib-xref.adb (Generate_Reference): Protect against malformed
+       tree in case of severe errors.
+       * sem_ch8.adb (Add_Implicit_Operator): Ditto.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * opt.ads (Ada_Version_Runtime): Set to Ada_2020.
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Propagate
+       Is_Independent flag to subtypes.
+       * libgnarl/s-taprop__linux.adb: Adapt to Ada 2020 warning.
+       * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
+       libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
+       libgnat/a-nbnbre.ads, libgnat/a-stobbu.adb,
+       libgnat/a-stobbu.ads, libgnat/a-stobfi.adb,
+       libgnat/a-stobfi.ads, libgnat/a-stoubu.adb,
+       libgnat/a-stoubu.ads, libgnat/a-stoufi.adb,
+       libgnat/a-stoufi.ads, libgnat/a-stoufo.adb,
+       libgnat/a-stoufo.ads, libgnat/a-stouut.adb,
+       libgnat/a-stouut.ads, libgnat/a-strsto.ads,
+       libgnat/a-ststbo.adb, libgnat/a-ststbo.ads,
+       libgnat/a-ststun.adb, libgnat/a-ststun.ads,
+       libgnat/a-stteou.ads, libgnat/s-aoinar.ads,
+       libgnat/s-aomoar.ads, libgnat/s-atopex.ads,
+       libgnat/s-putaim.adb, libgnat/s-putaim.ads,
+       libgnat/s-putima.adb, libgnat/s-putima.ads: Remove pragma
+       Ada_2020, now redundant.
+
+2020-07-27  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Modify addition of the extra
+       accessibility parameter to take into account the extra
+       accessibility of formals within the calling subprogram.
+
+2020-07-27  Bob Duff  <duff@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Add Root_Type, so
+       constrained subtypes work.
+
+2020-07-27  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Arg1, Arg2, Arg3): Removed.
+       (Arg_N): New function.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Allow values in Ada
+       2020 mode.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Refine 6.4.1 rules as per
+       AI12-0377.
+
+2020-07-27  Bob Duff  <duff@adacore.com>
+
+       * errout.ads, errout.adb (Error_Msg_Ada_2020_Feature): New
+       procedure analogous to Error_Msg_Ada_2012_Feature.
+       * sem_attr.adb (Analyze_Image_Attribute): Use
+       Error_Msg_Ada_2012_Feature and Error_Msg_Ada_2020_Feature to
+       indicate that Object'Image is allowed in Ada 2012, and that
+       'Image is allowed for any type in Ada 2020.
+
+2020-07-27  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/a-strunb.adb (Sum, Mul, Saturated_Sum, Saturated_Mul):
+       New routines.  Use them when resulting string size more that
+       length of the strings in parameters.
+       (Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side
+       of condition to avoid overflow.
+       * libgnat/a-strunb__shared.adb (Sum, Mul): New routines.
+       (Allocate): New routine with 2 parameters.  Use routine above
+       when resulting string size more that length of the strings in
+       parameters.
+       (Aligned_Max_Length): Do not try to align to more than Natural'Last.
+       (Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side
+       of condition to avoid overflow.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute): Remove dead code.
+
+2020-07-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb,
+       einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb,
+       exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
+       exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
+       exp_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb,
+       exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb,
+       exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb,
+       inline.adb, lib-writ.adb, lib-xref-spark_specific.adb,
+       lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb,
+       par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+       par-prag.adb, par-util.adb, par_sco.adb, pprint.adb,
+       repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb,
+       sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb,
+       sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
+       sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb,
+       sem_ch8.adb, sem_ch9.adb, sem_dim.adb, sem_disp.adb,
+       sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb,
+       sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+       sem_scil.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
+       sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb,
+       treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by
+       membership tests.
+
+2020-07-27  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, Pragma_Max_Entry_Queue_Length):
+       Refine error message to indicate that the pragma must apply to
+       an entry declaration, not just an entry.
+
+2020-07-27  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator):
+       Revert previous patch, and add a missing type conversion to
+       displace the pointer to the allocated object to reference the
+       target dispatch table.
+
+2020-07-27  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Restore restrictive check on
+       view conversions which required matching value of
+       Has_Aliased_Components of formals and actuals. Required to avoid
+       the regression of ACATS b460005.
+
+2020-07-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Package_Body): Add commentary for a
+       nesting issue with parent handling and private view switching.
+       (Switch_View): Do not skip specific private-dependent subtypes.
+
+2020-07-27  Patrick Bernardi  <bernardi@adacore.com>
+
+       * Makefile.rtl: Remove X86_TARGET_PAIRS for x86-lynx178elf.
+
+2020-07-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Analyze_Address_Specification_Clause): Do not
+       emit a warning when a constant declaration in a generic unit
+       overlays a generic In_Parameter.
+
+2020-07-27  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Check_Abstract_Overriding): Remove Scope
+       comparison test from test related to initial implementation of
+       AI12-0042, plus remove the related ??? comment.
+       (Derive_Subprogram): Add test requiring that the type extension
+       appear in the visible part of its enclosing package when
+       checking the overriding requirement of 7.3.2(6.1/4), as
+       clarified by AI12-0382.
+
+2020-07-27  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference) Extend
+       existing workaround to 'Pos.
+
+2020-07-27  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-rannum.ads, libgnat/s-rannum.adb: Add Put_Image.
+       This will be inherited by the language-defined packages
+       Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random.
+       * libgnat/a-convec.ads, libgnat/a-convec.adb: Add Put_Image.
+       * libgnat/s-putima.ads: Add pragma Preelaborate, so this can be
+       imported into containers packages.
+       * libgnat/s-putima.adb: Move Digit to private part; otherwise
+       reference to Base is illegal in Preelaborate generic.
+       * exp_put_image.adb (Build_Record_Put_Image_Procedure): Use the
+       base type.
+
+2020-07-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.ads: Declare CUDA_Global as aspect.
+       * einfo.ads: Use Flag118 for the Is_CUDA_Kernel flag.
+       (Set_Is_CUDA_Kernel): New function.
+       (Is_CUDA_Kernel): New function.
+       * einfo.adb (Set_Is_CUDA_Kernel): New function.
+       (Is_CUDA_Kernel): New function.
+       * par-prag.adb (Prag): Ignore Pragma_CUDA_Execute and
+       Pragma_CUDA_global.
+       * rtsfind.ads: Define CUDA.Driver_Types.Stream_T and
+       CUDA.Vector_Types.Dim3 entities
+       * rtsfind.adb: Define CUDA_Descendant subtype.
+       (Get_Unit_Name): Handle CUDA_Descendant packages.
+       * sem_prag.ads: Mark CUDA_Global as aspect-specifying pragma.
+       * sem_prag.adb (Analyze_Pragma): Validate Pragma_CUDA_Execute and
+       Pragma_CUDA_Global.
+       * snames.ads-tmpl: Define Name_CUDA_Execute and Name_CUDA_Global.
+
+2020-07-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.ads (Same_Representation): Renamed as
+       Has_Compatible_Representation because now the order of the arguments
+       are taken into account; its formals are also renamed as Target_Type
+       and Operand_Type.
+       * sem_ch13.adb (Same_Representation): Renamed and moved to place the
+       routine in alphabetic order.
+       * sem_attr.adb (Prefix_With_Safe_Accessibility_Level): New subprogram.
+       (Resolve_Attribute): Check that the prefix of attribute Access
+       does not have a value conversion of an array type.
+       * sem_res.adb (Resolve_Actuals): Remove restrictive check on view
+       conversions which required matching value of Has_Aliased_Components of
+       formals and actuals.
+       * exp_ch4.adb (Handle_Changed_Representation): Update call to
+       Same_Representation.
+       (Expand_N_Type_Conversion): Update call to Same_Representation.
+       * exp_ch5.adb (Change_Of_Representation): Update call to
+       Same_Representation.
+       * exp_ch6.adb (Add_Call_By_Copy_Code): Update call to
+       Same_Representation.
+       (Expand_Actuals): Update call to Same_Representation.
+       (Expand_Call_Helper): Update call to Same_Representation.
+
+2020-07-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * output.ads (Push_Output, Pop_Output): New procedures.
+       * output.adb (FD_Array, FD_Stack, FD_Stack_Idx): New type and vars.
+       (Push_Output, Pop_Output): New procedures.
+
+2020-07-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Full_Type_Declaration): Ensure a _master
+       declaration on limited types that might have tasks.
+       * exp_ch9.adb (Build_Master_Renaming): For private types, if we
+       are processing declarations in the private part, ensure that
+       master is inserted before its full declaration; otherwise the
+       master renaming may be inserted in the public part of the
+       package (and hence before the declaration of its _master
+       variable).
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): A renames-as-body
+       freezes the expression of any expression function that it
+       renames.
+
+2020-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Container_Aggregate): Add semantic
+       checks for indexed aggregates, including component associations
+       and iterated component associations.
+       * exp_aggr.adb (Expand_Iterated_Component): New subprogram,
+       subsidiary of Expand_Container_Aggreggate, used for positional,
+       named, and indexed aggregates.
+       (Aggregate_Size): New subprogram to precompute the size of an
+       indexed aggregate prior to call to allocate it.
+       (Expand_Range_Component): New subprogram so generate loop for a
+       component association given by a range or a subtype name in an
+       indexed aggregate.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * bindo-diagnostics.adb (Output_Invocation_Related_Suggestions):
+       Use Cumulative_Restrictions.Set, because Restriction_Active only
+       works at compile time.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * gnatbind.adb (Gnatbind): For No_Tasks_Unassigned_To_CPU, check
+       that CPU has been set on the main subprogram.
+       (Restriction_Could_Be_Set): Don't print
+       No_Tasks_Unassigned_To_CPU if it would violate the
+       above-mentioned rule. Up to now, all restrictions were checked
+       by the compiler, with the binder just checking for consistency.
+       But the compiler can't know which subprogram is the main, so
+       it's impossible to check this one at compile time.
+       * restrict.ads, restrict.adb: Misc refactoring. Change Warning
+       to Warn, for consistency, since most already use Warn.
+       (Set_Restriction): New convenience routine.
+       * sem_ch13.adb (Attribute_CPU): Check
+       No_Tasks_Unassigned_To_CPU.
+       * sem_prag.adb (Pragma_CPU): Check No_Tasks_Unassigned_To_CPU.
+       Misc refactoring.
+       * tbuild.ads, tbuild.adb (Sel_Comp): New functions for building
+       selected components.
+
+2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * impunit.adb (Non_Imp_File_Names_95): Remove duplicate entry.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: replace a-numaux__x86.ads by
+       a-numaux__libc-x86.ads and a-numaux__x86.adb by
+       a-numaux__dummy.adb.
+       * libgnat/a-numaux__x86.ads, libgnat/a-numaux__x86.adb: Removed.
+       * libgnat/a-numaux__dummy.adb: New.
+
+2020-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Load_Parent_Of_Generic): If an ancestor is an
+       instance whose source appears within a formal package of the
+       current unit, there is no body of the ancestor needed to
+       complete the current generic compilation.
+
+2020-07-16  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-thread__ae653.adb (taskVarAdd): Defunct, so remove.
+       (Current_ATSD):  Make it a TLS variable.
+       (OK): Move to package scope.
+       (System.Storage_Elements): Import and Use.
+
+2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Accept_Statement): Set Parent of the
+       created block entity to the created block statement.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * scng.adb (Scan): Detect wide characters not in NFKC.
+       * libgnat/a-chahan.adb, libgnat/a-chahan.ads,
+       libgnat/a-wichha.adb, libgnat/a-wichha.ads,
+       libgnat/a-wichun.adb, libgnat/a-wichun.ads,
+       libgnat/a-zchhan.adb, libgnat/a-zchhan.ads,
+       libgnat/a-zchuni.adb, libgnat/a-zchuni.ads (Is_NFKC): New.
+       * libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_NFKC):
+       New.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-rident.ads (Restriction_Id): Add
+       No_Tasks_Unassigned_To_CPU.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * exp_aggr.adb (Max_Aggregate_Size): Use the small size of 64
+       when copying is needed (for example, for the initialization of a
+       local variable, and for assignment statements). Use the larger
+       size when static allocation can be done without copying.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-rident.ads (No_Dynamic_CPU_Assignment): New
+       restriction. Add it to all relevant profiles.
+       * sem_ch13.adb (Attribute_CPU): Check No_Dynamic_CPU_Assignment
+       restriction.
+       (Attribute_CPU, Attribute_Dispatching_Domain,
+       Attribute_Interrupt_Priority): Remove error checks -- these are
+       checked in the parser.
+       * sem_prag.adb (Pragma_CPU): Check No_Dynamic_CPU_Assignment
+       restriction.  We've got a little violation of DRY here.
+       * sem.ads, sem_ch3.ads: Minor comment fix.
+
+2020-07-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): When the prefix type is
+       an access type, change it to the designated type, change the
+       prefix to an explicit dereference, and emit a ?d? warning for
+       the implicit dereference. Include a ??? comment questioning
+       whether this is the right context in which to perform the
+       implicit dereferencing.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Validate_Literal_Aspect): Ensure that the
+       parameter is not aliased. Minor reformatting.
+       * sem_util.adb (Statically_Names_Object): Update comment.
+
+2020-07-16  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_case.adb (Build_Choice): Set Is_Static_Expression flag.
+       (Lit_Of): Update specification to mention Is_Static_Expression
+       flag.
+       * sem_ch13.adb (Membership_Entry): Check for N_Others_Choice.
+
+2020-07-16  Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.adb (Null_Exclusions_Match): New function to check
+       that the null exclusions match, including in the case addressed
+       by this AI.
+       (Check_Conformance): Remove calls to Comes_From_Source
+       when calling Null_Exclusions_Match. These are not
+       needed, as indicated by an ancient "???" comment.
+
+2020-07-16  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Remove flawed test for
+       whether "statically deeper" accessibility rules apply to a given
+       target type and instead use the new routine
+       Statically_Deeper_Relation_Applies.
+       (Statically_Deeper_Relation_Applies): Created to centralize the
+       calculation of whether a target type within a conversion must
+       have static accessibility checks.
+       * sem_ch13.adb (Check_One_Function): Minor comment revision.
+
+2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h (Is_OK_Static_Expression): Delete.
+       * sem_eval.ads (Is_OK_Static_Expression): Remove WARNING note.
+
+2020-07-16  Justin Squirek  <squirek@adacore.com>
+
+       * einfo.adb, einfo.ads (Is_Named_Access_Type): Created for
+       readability.
+       * sem_ch6.adb (Check_Return_Construct_Accessibility): Add
+       special cases for formals.
+       * sem_util.adb (Object_Access_Level): Add handling of access
+       attributes and named access types in the general case.
+
+2020-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_case.adb (Build_Choice): Simplify.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * frontend.adb: Disable Initialize_Scalars on runtime files.
+
+2020-07-16  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Add
+       Comes_From_Source call.
+
+2020-07-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Expand_Access_To_Protected_Op): Initialize
+       variable Sub to Empty to avoid false positive reported by
+       Codepeer.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Note_Redundant_Use): Add missing warning tag.
+       Do not check for redundant use clauses in predefined units to avoid
+       misleading warnings that may occur as part of a rtsfind load.
+
+2020-07-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Has_By_Protected_Procedure_Prefixed_View): New
+       subprogram.
+       (Expand_Access_To_Protected_Op): Adding support for prefixed
+       class-wide view with By_Protected_Procedure convention.
+       * sem_attr.adb (Get_Convention): New subprogram.
+       (Get_Kind): Adapted to use Get_Convention.
+       * sem_ch4.adb (Try_By_Protected_Procedure_Prefixed_View): New
+       subprogram.
+       (Analyze_Selected_Component): Invoke
+       Try_By_Protected_Procedure_Prefixed_View.
+       * sem_util.ads (Is_By_Protected_Procedure): New subprogram.
+       * sem_util.adb (Is_By_Protected_Procedure): New subprogram.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-ststop.ads: Fix typo.
+       * libgnat/s-ststop.adb (Read, Write): Fix block number
+       computation to avoid overflows in case of large strings.
+
+2020-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-genbig.adb ("**"): Remove capacity limit check.
+       Improve code by using an extended return.
+       (Normalize): Perform capacity limit check here instead which is
+       the centralized place where (potentially large) big integers are
+       allocated.
+
+2020-07-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Handle the case of
+       applying an invariant check for a conversion to a class-wide
+       type whose root type has a type invariant, when the conversion
+       appears within the immediate scope of the type and the
+       expression is of a specific tagged type.
+       * sem_ch3.adb (Is_Private_Primitive): New function to determine
+       whether a primitive subprogram is a private operation.
+       (Check_Abstract_Overriding): Enforce the restriction imposed by
+       AI12-0042 of requiring overriding of an inherited nonabstract
+       private operation when the ancestor has a class-wide type
+       invariant and the ancestor's private operation is visible.
+       (Derive_Subprogram): Set Requires_Overriding on a subprogram
+       inherited from a visible private operation of an ancestor to
+       which a Type_Invariant'Class expression applies.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Find_Overlaid_Entity): Fix style in comment.
+       (Note_Possible_Modification): Simplify repeated calls to Ekind.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (Flatten): Adjust description.
+       (Convert_To_Positional): Remove obsolete ??? comment and use
+       Compile_Time_Known_Value in the final test.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): Extended to
+       recognzize the similar Iterated_Element_Association. This node
+       is only generated when an explicit Key_Expression is given.
+       Otherwise the distinction between the two iterated forms is done
+       during semantic analysis.
+       * sinfo.ads: New node N_Iterated_Element_Association, for
+       Ada202x container aggregates.  New field Key_Expression.
+       * sinfo.adb: Subprograms for new node and newn field.
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): Handle
+       the case where the Iteration_Scheme is an
+       Iterator_Specification.
+       * exp_aggr.adb (Wxpand_Iterated_Component): Handle a component
+       with an Iterated_Component_Association, generate proper loop
+       using given Iterator_Specification.
+       * exp_util.adb (Insert_Axtions): Handle new node as other
+       aggregate components.
+       * sem.adb, sprint.adb: Handle new node.
+       * tbuild.adb (Make_Implicit_Loop_Statement): Handle properly a
+       loop with an Iterator_ specification.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-stposu.adb (Allocate_Any_Controlled): Fix logic in
+       lock/unlock.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Object_Reference): Return True on
+       N_Target_Name.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Add proper
+       handling of Aspect_Predicate_Failure, consistent with
+       Check_Aspect_At_Freeze_Point.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Check_Aspect_Too_Late): Mention -gnat2020 switch
+       in error message.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Delayed Freezing and Elaboration): Adjust description.
+       * freeze.adb (Freeze_Object_Declaration): Likewise.
+       * sem_ch3.adb (Delayed_Aspect_Present): Likewise.  Do not return
+       true for Alignment.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Do not always delay
+       for Alignment.  Moreover, for Alignment and various Size aspects,
+       do not delay if the expression is an attribute whose prefix is the
+       Standard package.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Requires_Atomic_Or_Volatile_Copy): Return false
+       inside an initialization procedure.
+
+2020-07-15  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_util.adb (Is_Renaming): Add ekind checks.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Remove doc on obsolete
+       tools.
+       * gnat_ugn.texi: Regenerate.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Type_Conversion): Protect against null
+       entity.  Add proper tag for -gnatwr warning.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Analyze_Procedure_Call): Detect use of operators
+       in a procedure call.
+       * sem_util.adb: Minor edit.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Apply scalar
+       range checks against the base type of an index type, not against
+       the index type itself.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Delayed Freezing and Elaboration): Minor tweaks.
+       Document the discrepancy between the aspect and the non-aspect
+       cases for alignment settings in object declarations.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch3.adb (Freeze_Type): Remove warning in expander,
+       replaced by a corresponding error in sem_ch13.adb. Replace
+       RTE_Available by RTU_Loaded to avoid adding unnecessary
+       dependencies.
+       * sem_ch13.adb (Associate_Storage_Pool): New procedure.
+       (Analyze_Attribute_Definition_Clause
+       [Attribute_Simple_Storage_Pool| Attribute_Storage_Pool]): Call
+       Associate_Storage_Pool to add proper legality checks on
+       subpools.
+
+2020-07-15  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
+       libgnat/a-cbhama.adb, libgnat/a-cbhama.ads,
+       libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
+       libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads,
+       libgnat/a-cborma.adb, libgnat/a-cborma.ads,
+       libgnat/a-cborse.adb, libgnat/a-cborse.ads,
+       libgnat/a-cbprqu.adb, libgnat/a-cbprqu.ads,
+       libgnat/a-cbsyqu.adb, libgnat/a-cbsyqu.ads,
+       libgnat/a-cdlili.adb, libgnat/a-cdlili.ads,
+       libgnat/a-cidlli.adb, libgnat/a-cidlli.ads,
+       libgnat/a-cihama.adb, libgnat/a-cihama.ads,
+       libgnat/a-cihase.adb, libgnat/a-cihase.ads,
+       libgnat/a-cimutr.adb, libgnat/a-cimutr.ads,
+       libgnat/a-ciorma.adb, libgnat/a-ciorma.ads,
+       libgnat/a-ciormu.adb, libgnat/a-ciormu.ads,
+       libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
+       libgnat/a-cohama.adb, libgnat/a-cohama.ads,
+       libgnat/a-cohase.adb, libgnat/a-cohase.ads,
+       libgnat/a-coinve.adb, libgnat/a-coinve.ads,
+       libgnat/a-comutr.adb, libgnat/a-comutr.ads,
+       libgnat/a-convec.adb, libgnat/a-convec.ads,
+       libgnat/a-coorma.adb, libgnat/a-coorma.ads,
+       libgnat/a-coormu.adb, libgnat/a-coormu.ads,
+       libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add SPARK_Mode =>
+       Off.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Delayed_Aspect_Present): Fix oversight in loop.
+       * freeze.adb (Freeze_Object_Declaration): Use Declaration_Node
+       instead of Parent for the sake of consistency.
+
+2020-07-15  Javier Miranda  <miranda@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute): Resolve overloaded
+       N_Selected_Component prefix of 'Access. Required to handle
+       overloaded prefixed view of protected subprograms.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_ugn/about_this_guide.rst: Remove old section and
+       update for Ada 202x.
+       * doc/gnat_ugn/getting_started_with_gnat.rst: Add a system
+       requirements section. Remove obsolete section and minimal
+       rewording on the getting started section.
+       * gnat_ugn.texi: Regenerate.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): Use short-circuit operator
+       (style).
+       * sem_res.adb (Resolve_Indexed_Component): Fix style in comment.
+       * sem_util.adb (Is_Effectively_Volatile_Object): Handle slices
+       just like indexed components; handle qualified expressions and
+       type conversions lie in Is_OK_Volatile_Context.
+       (Is_OK_Volatile_Context): Handle qualified expressions just like
+       type conversions.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Atomic_Components): Simplify with Ekind_In.
+       (Complex_Representation): Fix type of E_Id, which just like when
+       for pragma Atomic_Components will hold an N_Identifier node, not
+       an entity.
+       * sem_util.adb (Is_Effectively_Volatile): Refactor to avoid
+       unnecessary computation.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * inline.adb, inline.ads
+       (Inline_Static_Expression_Function_Call): Renamed
+       Inline_Static_Function_Call.
+       * sem_ch13.adb (Analyze_Aspect_Static): Allow static intrinsic
+       imported functions under -gnatX.
+       * sem_util.ads, sem_util.adb (Is_Static_Expression_Function):
+       Renamed Is_Static_Function.
+       (Is_Static_Expression_Function_Call): Renamed
+       Is_Static_Function_Call.
+       * sem_ch6.adb, sem_elab.adb, sem_res.adb: Update calls to
+       Is_Static_Function*.
+       * sem_eval.adb (Fold_Dummy, Eval_Intrinsic_Call, Fold_Shift):
+       New.
+       (Eval_Call): Add support for intrinsic calls, code refactoring.
+       (Eval_Entity_Name): Code refactoring.
+       (Eval_Logical_Op): Update comment.
+       (Eval_Shift): Call Fold_Shift. Update comments.
+       * par-prag.adb (Par [Pragma_Extensions_Allowed]): Set
+       Ada_Version to Ada_Version_Type'Last to handle
+       Extensions_Allowed (On) consistently.
+       * opt.ads (Extensions_Allowed): Update documentation.
+       * sem_attr.adb: Update comment.
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Update
+       documentation of Extensions_Allowed.
+       * gnat_rm.texi: Regenerate.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): Ensure
+       Typ is never accessed uninitialized.
+
+2020-07-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix typo.
+       * gnat_rm.texi: Regenerate.
+       * libgnat/s-secsta.ads (Memory_Alignment): Likewise.
+
+2020-07-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb: Add a comma and fix a typo (machinary =>
+       machinery) in comment.
+       * exp_aggr.adb: Reformat, fix capitalization, and add a couple
+       of commas in a comment. Adjust columns in several code
+       fragments.
+       * sem_aggr.adb: Reformat and add a comma in a comment.
+
+2020-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use the Sloc of
+       the delay statement in the expansion.
+
+2020-07-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): New
+       procedure, internal to Resolve_Container_Aggregate, to complete
+       semantic analysis of Iterated_Component_Associations.
+       * exp_aggr.adb (Expand_Iterated_Component): New procedure,
+       internal to Expand_Container_Aggregate, to expand the construct
+       into an implicit loop that performs individual insertions into
+       the target aggregate.
+
+2020-07-15  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_Allocator): Normalize
+       the associated node for internally generated objects to be like
+       their SOAAT counter-parts.
+
+2020-07-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/g-socket.adb (Wait_On_Socket): Fix potentially
+       uninitialized variable.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name): Fix code to match the comment.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>:
+       Issue an unconditional warning for an overlay that changes the
+       scalar storage order.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch8.adb (Is_Actual_Parameter): Fix processing when parent
+       is a procedure call statement; extend comment.
+
+2020-07-10  Bob Duff  <duff@adacore.com>
+
+       * sem_res.adb (Resolve_Expression_With_Actions): Check the rules
+       of AI12-0368, and mark the declare expression as static or known
+       at compile time as appropriate.
+       * sem_ch4.adb: Minor reformatting.
+       * libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Allow up to 9
+       replacement parameters. I'm planning to use this in the test
+       case for this ticket.
+
+2020-07-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create a
+       proper signature when the access type denotes a parameterless
+       subprogram.
+       * exp_ch6.adb (Expand_Call): Handle properly a  parameterless
+       indirect call when the corresponding access type has contracts.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb
+       (Convert_To_Positional): Add Dims local variable
+       and pass it in calls to Is_Flat and Flatten.
+       (Check_Static_Components): Pass Dims in call to
+       Is_Static_Element.
+       (Nonflattenable_Next_Aggr): New predicate.
+       (Flatten): Add Dims parameter and Expr local variable.  Call
+       Nonflattenable_Next_Aggr in a couple of places.  In the case
+       when an Others choice is present, check that the element is
+       either static or a nested aggregate that can be flattened,
+       before disregarding the replication limit for elaboration
+       purposes.  Check that a nested array is flattenable in the case
+       of a multidimensional array in any position.  Remove redundant
+       check in the Others case and pass Dims in call to
+       Is_Static_Element.  Use Expr variable.
+       (Is_Flat): Change type of Dims parameter from Int to Nat.
+       (Is_Static_Element): Add Dims parameter.  Replace tests on
+       literals with call to Compile_Time_Known_Value.  If everything
+       else failed and the dimension is 1, preanalyze the expression
+       before calling again Compile_Time_Known_Value on it.  Return
+       true for null.
+       (Late_Expansion): Do not expand further if the assignment to the
+       target can be done directly by the back end.
+
+2020-07-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * osint-c.adb (Set_File_Name): Preserve casing of file.
+       * osint.adb (File_Names_Equal): New.
+       (Executable_Name): Use File_Equal instead of
+       Canonical_Case_File_Name.
+
+2020-07-10  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-socket.adb (Wait_On_Socket): Fix memory leaks and
+       file descriptor leaks.  A memory leak was created each time the
+       routine was called without a selector (Selector = Null). Also,
+       in case of exception in the routine a memory leak and descriptor
+       leak was created as the created file selector was not closed.
+
+2020-07-10  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-socket.adb: Minor style fixes.
+
+2020-07-10  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb
+       (Immediate_Context_Implies_Is_Potentially_Unevaluated): New
+       subprogram.
+       (Is_Potentially_Unevaluated): Do not stop climbing the tree on
+       the first candidate subexpression; required to handle nested
+       expressions.
+
+2020-07-10  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_aggr.adb, exp_spark.adb, sem_ch13.ads, sem_ch13.adb,
+       snames.ads-tmpl: Minor reformatting and typo fixes.
+
+2020-07-10  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Has_Enabled_Property): Add handling of
+       non-variable objects.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Check_Completion): Refactor chained
+       if-then-elsif-...  statement to be more like a case
+       statement (note: we can't simply use case statement because of
+       Is_Intrinsic_Subprogram in the first condition).
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.ads (E_Protected_Object): Enumeration literal removed.
+       * lib-xref.ads (Xref_Entity_Letters): Remove reference to
+       removed literal.
+       * sem_ch3.adb (Check_Completion): Likewise.
+       * sem_util.adb (Has_Enabled_Property): Likewise.
+
+2020-07-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb (Max_Aggregate_Size): Use small limit for
+       aggregate inside subprograms.
+       * sprint.adb (Sprint_Node_Actual [N_Object_Declaration]): Do not
+       print the initialization expression if the No_Initialization
+       flag is set.
+       * sem_util.ads, sem_util.adb (Predicate_Enabled): New.
+       * exp_ch4.adb (Expand_N_Type_Conversion): Code cleanup and apply
+       predicate check consistently.
+       * exp_ch6.adb (Expand_Actuals.By_Ref_Predicate_Check): Ditto.
+       * sem_ch3.adb (Analyze_Object_Declaration): Ditto.
+       * exp_ch3.adb (Build_Assignment): Revert handling of predicate
+       check for allocators with qualified expressions, now handled in
+       Freeze_Expression directly.
+       * sem_aggr.adb: Fix typos.
+       * checks.adb: Code refactoring: use Predicate_Enabled.
+       (Apply_Predicate_Check): Code cleanup.
+       * freeze.adb (Freeze_Expression): Freeze the subtype mark before
+       a qualified expression on an allocator.
+       * exp_util.ads, exp_util.adb (Within_Internal_Subprogram):
+       Renamed Predicate_Check_In_Scope to clarify usage, refine
+       handling of predicates within init procs which should be enabled
+       when the node comes from source.
+       * sem_ch13.adb (Freeze_Entity_Checks): Update call to
+       Predicate_Check_In_Scope.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_Array_Comparison): Reformat.
+       (Expand_Concatenate): Use standard size values directly and use
+       Standard_Long_Long_Unsigned instead of RE_Long_Long_Unsigned.
+       (Expand_Modular_Op): Use Standard_Long_Long_Integer in case the
+       modulus is larger than Integer.
+       (Expand_N_Op_Expon): Use standard size value directly.
+       (Narrow_Large_Operation): Use Uint instead of Nat for sizes and
+       use a local variable for the size of the type.
+       (Get_Size_For_Range): Return Uint instead of Nat.
+       (Is_OK_For_Range): Take Uint instead of Nat.
+
+2020-07-10  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator):
+       Build the internal anonymous access type using as a reference
+       the designated type imposed by the context (instead of using the
+       return type of the called function).
+
+2020-07-10  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Protect call to
+       Is_Valued_Procedure.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Process_Discriminants): Revert recent change to
+       location of Set_Ekind; detect effectively volatile discriminants
+       by their type only.
+
+2020-07-10  Joffrey Huguet  <huguet@adacore.com>
+
+       * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Add global
+       contract (Global => null) to all functions.
+
+2020-07-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * aspects.ads: Add Aspect_Aggregate.
+       * exp_aggr.adb (Expand_Container_Aggregate): Expand positional
+       container aggregates into separate initialization and insertion
+       operations.
+       * sem_aggr.ads (Resolve_Container_Aggregate): New subprogram.
+       * sem_aggr.adb (Resolve_Container_Aggregate): Parse aspect
+       aggregate, establish element types and key types if present, and
+       resolve aggregate components.
+       * sem_ch13.ads (Parse_Aspect_Aggregate): Public subprogram used
+       in validation, resolution and expansion of container aggregates
+       * sem_ch13.adb
+       (Parse_Aspect_Aggregate): Retrieve names of primitives specified
+       in aspect specification.
+       (Validate_Aspect_Aggregate): Check legality of specified
+       operations given in aspect specification, before nane
+       resolution.
+       (Resolve_Aspect_Aggregate): At freeze point resolve operations
+       and verify that given operations have the required profile.
+       * sem_res.adb (Resolve): Call Resolve_Aspect_Aggregate if aspect
+       is present for type.
+       * snames.ads-tmpl: Add names used in aspect Aggregate: Empty,
+       Add_Named, Add_Unnamed, New_Indexed, Assign_Indexed.
+
+2020-07-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-shabig.o.
+       * libgnat/s-shabig.ads: New file to share definitions.
+       * libgnat/s-genbig.ads, libgnat/s-genbig.adb: Reorganized to
+       make it more generic and flexible in terms of memory allocation
+       and data structure returned.
+       (To_String): Moved to System.Generic_Bignums to allow sharing
+       this code.
+       (Big_And, Big_Or, Big_Shift_Left, Big_Shift_Right): New.
+       * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Adapt to new
+       System.Generic_Bignums spec.
+       * libgnat/a-nbnbin.adb: Likewise.
+       (To_String): Moved to System.Generic_Bignums to allow sharing
+       this code.
+       * libgnat/a-nbnbre.adb (Normalize): Fix handling of Num = 0
+       leading to an exception.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Expr_Types): Replace call to Find_Aspect
+       with call to Find_Value_Of_Aspect and adjust accordingly.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.adb (Write_Field24_Name): Handle E_Loop_Parameter.
+       * freeze.adb (Freeze_Expr_Types): Freeze the iterator type used as
+       Default_Iterator of the name of an N_Iterator_Specification node.
+
+2020-07-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Determine_Range): Deal with Min and Max attributes.
+       * exp_ch6.adb (Expand_Call_Helper): When generating code to pass
+       the accessibility level to the caller in the case of an actual
+       which is an if-expression, also remove the nodes created after
+       the declaration of the dummy temporary.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use Natural as
+       the type of the minimum accessibility level object.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Process_Discriminants): Set Ekind of the
+       processed discriminant entity before passing to
+       Is_Effectively_Volatile, which was crashing on a failed
+       assertion.
+       * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Prevent
+       call to No_Caching_Enabled with entities other than variables,
+       which was crashing on a failed assertion.
+       (Analyze_Pragma): Style cleanups.
+       * sem_util.adb (Is_Effectively_Volatile): Enforce comment with
+       an assertion; prevent call to No_Caching_Enabled with entities
+       other than variables.
+       (Is_Effectively_Volatile_Object): Only call
+       Is_Effectively_Volatile on objects, not on types.
+       (No_Caching_Enabled): Enforce comment with an assertion.
+
+2020-07-10  Yannick Moy  <moy@adacore.com>
+
+       * debug.adb: Update comments to free usage of -gnatdF.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Refactored from
+       Expand_SPARK_N_Attribute_Reference; rewrite into N_Aggregate or
+       N_Delta_Aggregate depending on what is being rewritten.
+       (Expand_SPARK_N_Delta_Aggregate): New routine to expand
+       delta_aggregate.
+       (Expand_SPARK_N_Attribute_Reference): Call the refactored
+       routine.
+
+2020-07-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Fix
+       expansion of attribute Update.
+
+2020-07-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem.adb (Walk_Library_Items): Fix handling of Ghost units.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tracebak.c [generic implementation]: Add pragma GCC diagnostic
+       to disable warning about __builtin_frame_address.
+
+2020-07-08  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * socket.c [_WIN32] (__gnat_minus_500ms): Parentheses around &&
+       operations.  Remove notes about TN in comment.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * adaint.h (__gnat_expect_portable_execvp): Fix prototype.
+       (__gnat_expect_poll): Likewise.
+       * expect.c [_WIN32]: Include adaint.h file.
+       (__gnat_waitpid): Remove useless variable.
+       (__gnat_expect_portable_execvp): Add ATTRIBUTE_UNUSED on parameter.
+       * raise-gcc.c [SEH] (__gnat_personality_v0): Add ATTRIBUTE_UNUSED.
+       * socket.c [_WIN32] (__gnat_getservbyport): Add ATTRIBUTE_UNUSED on
+       a couple of parameters.
+       (__gnat_gethostbyname): Likewise.
+       (__gnat_gethostbyaddr): Likewise.
+       (__gnat_getservbyname): Likewise.
+       (__gnat_last_socket_in_set): Use variables local to loops.
+       (__gnat_socket_ioctl): Cast 3rd parameter to proper type if _WIN32.
+       (__gnat_inet_pton): Cast 2nd parameter to proper type if _WIN32.
+       * sysdep.c (__gnat_localtime_tzoff): Remove superfluous test.
+       * terminals.c [_WIN32]: Include io.h file.
+       (is_gui_app): Remove useless variables and fix unsigned comparison.
+       (nt_spawnve): Add ATTRIBUTE_UNUSED on first parameter.  Initialize a
+       local variable and remove others that are useless.  Add missing cast
+       (__gnat_setup_child_communication): Remove useless variable and call
+       Use proper formatting string in call to sprintf.
+       (__gnat_setup_parent_communication): Cast to proper type.
+       (find_child_console): Fix prototype and remove useless variable.
+       (find_process_handle): Likewise.
+       (_gnat_interrupt_process): Move to after __gnat_interrupt_pid.
+       (__gnat_reset_tty): Add ATTRIBUTE_UNUSED on parameter, remove return
+       (__gnat_setup_winsize): Add ATTRIBUTE_UNUSED on all parameters.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Allocator): In the subtype mark case, do
+       not apply constraint checks if the No_Initialization flag is set.
+
+2020-07-08  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb
+       (Build_Class_Wide_Master): Insert the declaration of _Master
+       before its use; required to avoid assertion failure in the
+       backend.
+
+2020-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/i-cexten.ads (long_long, unsigned_long_long): Now
+       subtypes of Interfaces.C types.
+       * libgnat/a-calcon.ads, libgnat/a-calcon.adb
+       (To_Unix_Nano_Time): Use Interfaces.C.long_long instead of
+       Interfaces.C.Extensions.long_long.
+
+2020-07-08  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * debug.adb: Document new switch.
+       * exp_ch6.adb (Warn_BIP): New function that warns if the switch
+       is on.  Call it from Make_Build_In_Place_* functions.  Warn_BIP
+       is not needed in Make_Build_In_Place_Iface_*, because those call
+       Make_Build_In_Place_Call_In_Object_Declaration or similar.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * erroutc.adb (Matches): Fix comments.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Has_Decl_In_List): New predicate to check that an
+       entity is declared in a list of nodes.
+       (Freeze_Expression): Use it to deal with Expression_With_Actions,
+       short-circuit expression, if- and case-expression and ensure that
+       the freeze node is put onto their Actions list if the entity is
+       declared locally.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (In_Expanded_Body): Return true for the body of a
+       generated predicate function.
+
+2020-07-08  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_attr.adb: Remove hyphens in comments, plus minor code
+       reformatting.
+       * sem_ch13.adb: Fix typo (that => than).
+       * sem_util.adb: Add hyphen in comment ("class-wide").
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type): Add comment on implementation
+       choice for byte-packed array types.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Correct prefix of 'Result
+       this prefix is a generic function but the enclosing aspect or
+       pragma is attached to its instance.
+       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Analyze
+       generic subprogram formal parameters (including the implicit
+       result of a generic function) and only then analyse its aspects,
+       because with Relaxed_Initialization the aspect expression might
+       refer to those formal parameters.
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Accept
+       aspect on generic subprograms; install formal parameters of a
+       generic subprogram but not formal parameters of the generic unit
+       itself (the previous code was inspired by aspects Post and
+       Depends, where both kinds of formals are allowed).
+       * sem_util.ads (Enter_Name): Fix name of a subprogram referenced
+       in comment.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
+       Analyze_Aspect_Specifications after setting Ekind of the
+       analyzed entity.
+       * sem_ch13.adb (Analyze_Aspect_Yield): Remove minimal decoration
+       of generic subprograms.
+
+2020-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Process_Inline): Check for duplicate
+       pragma+aspect Inline. Minor code cleanup.
+       (Check_Duplicate_Pragma): Add warning for duplicate
+       pragma [No_]Inline under -gnatwr.
+       * sinfo.ads, sinfo.adb (Next_Rep_Item): Allow N_Null_Statement
+       which can appear when a pragma is rewritten.
+       * sem_util.ads, sem_util.adb, bindo-writers.adb: Fix bad
+       copy/paste now flagged.
+       * libgnat/s-mmap.ads: Remove redundant pragma Inline.
+
+2020-07-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Build_Class_Wide_Clone_Body): Update entities to
+       refer to the right spec.
+
+2020-07-08  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Predicate_Failure): Check that the type has
+       predicates.  Remove the setting of Has_Delayed_Aspects and
+       Freeze_Node, because (if the code is legal) it should have
+       already been done by the predicate aspect.
+
+2020-07-08  Gary Dismukes  <dismukes@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): Typo
+       corrections.
+
+2020-07-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * par.adb (P_Iterator_Specification): Make public for use in
+       other parser subprograms.
+       * par-ch4.adb (P_Iterated_Component_Association): In Ada_2020,
+       recognize use of Iterator_Specification in an element iterator.
+       To simplify disambiguation between the two iterator forms, mark
+       the component association as carrying an Iterator_Specification
+       only when the element iterator (using "OF") is used.
+       * par-ch5.adb (P_Loop_Parameter_Specification): In Ada_2020,
+       parse iterator filter when present.
+       (P_Iterator_Specification): Ditto.  Remove declaration of
+       P_Iterator_Specification, now in parent unit.
+       * exp_ch5.adb (Expand_N_Loop_Statement): Apply Iterator filter
+       when present.
+       (Expand_Iterator_Loop_Over_Array): Ditto.
+       (Expand_Iterator_Loop_Over_Container): Ditto.
+       * sem_aggr.adb (Resolve_Array_Aggregate): Emit error nessage if
+       an iterated component association includes a iterator
+       specificcation with an element iterator, i.e. one that uses the
+       OF keyword.
+       * sem_ch5.adb (Analyze_Iterator_Specification): Analyze Iterator
+       filter when present.
+       (Analyze_Loop_Parameter_Specification): Ditto.
+       * sinfo.adb: Suprogram bodies for new syntactic element
+       Iterator_Filter.
+       * sinfo.ads: Add Iterator_Filter to relevant nodes.  Structure
+       of Component_Association and Iteroted_Component_Association
+       nodes is modified to take into account the possible  presence of
+       an iterator specification in the latter.
+
+2020-07-08  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Attribute_Loop_Entry): New
+       function for GNATProve.
+
+2020-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch13.adb (Analyze_Record_Representation_Clause,
+       Check_Record_Representation_Clause): Add expected and actual
+       size to error message.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Safe_To_Capture_Value): Return
+       True for in-parameters.
+
+2020-07-08  Justin Squirek  <squirek@adacore.com>
+
+       * exp_attr.adb (Expand_Attribute): Set
+       Stores_Attribute_Old_Prefix to generated renamings of 'Old
+       constants for later use in generating finalization routines.
+       * exp_ch7.adb (Build_Finalizer): Minor reformatting. Use "or
+       else" operators.
+
+2020-07-08  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): Remove ugly code
+       that was copying the return expression, resetting Analyzed
+       flags, etc. for the return expression of static expression
+       functions.
+       * inline.adb (Inline_Static_Expression_Function_Call): Set the
+       Parent of the copied expression to that of the call. This avoids
+       a blowup in Insert_Actions when GNATprove_Mode is set and there
+       are nested SEF calls. Add ??? comment.
+       * sem_ch6.adb (Analyze_Expression_Function): In the case of a
+       static expression function, create a new copy of the expression
+       and replace the function's expression with the copy; the
+       original expression is used in the expression function's body
+       and will be analyzed and rewritten, and we need to save a clean
+       copy for later use in processing static calls to the function.
+       This allows removing the kludgy code that was in
+       Expand_Simple_Function_Return.
+       * sem_eval.adb (Eval_Qualified_Expression): Return immediately
+       if any errors have been posted on the qualified expression, to
+       avoid blowups when GNATprove_Mode is enabled (or with -gnatd.F),
+       since illegal static expressions are handled differently in that
+       case and attempting to fold such expressions would fail.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * repinfo.adb (Compute_Max_Length): Skip hidden discriminants.
+       (List_Record_Layout): Likewise.
+       (List_Structural_Record_Layout): Use First_Discriminant instead
+       of First_Stored_Discriminant and Next_Discriminant instead of
+       Next_Stored_Discriminant to walk the list of discriminants.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Analyze
+       optional boolean expressions.
+       * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): Adapt
+       query; update comment.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.ads (Current_Value): Fix typo in comment.
+       * exp_ch2.adb (Expand_Current_Value): Remove unnecessary "Start
+       of processing ..." comment.
+       * exp_util.adb (Set_Entity_Current_Value): Fix unbalanced paren
+       in comment.
+       (Get_Current_Value_Condition): Fix layout in comment.
+       * sem_ch5.adb (Analyze_Cond_Then): Replace commented condition
+       with pragma Assert.
+
+2020-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch5.adb (Expand_N_If_Statement): Detect True/False
+       prefixed with Standard.
+
+2020-07-08  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Add freeze node
+       for the Underlying_Full_View if it exists. The freeze node is
+       what triggers the generation of the predicate function.
+       * freeze.adb: Minor reformatting.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Narrow_Large_Operation): Use the base type instead
+       of the first subtype of standard integer types as narrower type.
+
+2020-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type): Use Ctyp more consistently.
+       Move code setting the alignment in the non-packed case to...
+       * layout.adb (Layout_Type): ...here.
+
+2020-07-07  Bob Duff  <duff@adacore.com>
+
+       * treepr.adb (Print_Node): Add code to test Is_Extension.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): Add ??? comment. Protect
+       against malformed tree in case of errors.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb, sem_ch10.adb, sem_ch12.adb, sem_ch8.adb: Use
+       Is_Generic_Subprogram.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch8.adb (Analyze_Use_Package): Replace low-level,
+       error-prone Ekind_In tests with high-level Is_Generic_Subprogram
+       and Is_Subprogram.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Check_Formal_Subprogram_Conformance): New
+       subprogram to handle checking without systematically emitting an
+       error.
+       (Check_Conformance): Update call to
+       Check_Formal_Subprogram_Conformance and fix handling of Conforms
+       and Errmsg parameters.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Tagged_Membership): Generate a call to
+       CW_Membership instead of using Build_CW_Membership.
+       (Expand_N_In): Remove wrong handling of null access types and
+       corresponding comment.
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): Generate a
+       call to CW_Membership instead of using Build_CW_Membership.
+       * rtsfind.ads: Add CW_Membership.
+       * exp_atag.ads, exp_atag.adb (Build_CW_Membership): Removed.
+       * einfo.ads: Fix typo.
+       * libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Moved
+       back to spec.
+
+2020-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create
+       proper subprogram specification for body, using names in the
+       subprogram declaration but distinct entities.
+       * exp_ch6.adb (Expand_Call): If this is an indirect call
+       involving a subprogram wrapper, insert pointer parameter in list
+       of actuals with a parameter association, not as a positional
+       parameter.
+
+2020-07-07  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Branch): Verify the original node is a
+       conditional expression before recursing further.
+       (Insert_Level_Assign): Transform assertion into an explicit
+       raise.
+
+2020-07-07  Steve Baird  <baird@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Generalize static evaluation of
+       Size attribute references to also handle
+       Max_Size_In_Storage_Elements references.
+
+2020-07-07  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Is_Potentially_Unevaluated): Code cleanup.
+
+2020-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads (Expander Routines): Update the description of the
+       Do_Range_Check mechanism.
+       * checks.adb (Selected_Range_Checks): Fix typo.
+       * exp_ch9.adb: Add with and use clause for Checks.
+       (Actual_Index_Expression): Generate a range check if requested.
+       (Entry_Index_Expression): Likewise.
+       * sem_attr.adb (Resolve_Attribute) <Attribute_Count>: Call
+       Apply_Scalar_Range_Check instead of Apply_Range_Check.
+       * sem_ch9.adb (Analyze_Accept_Statement): Likewise.
+       * sem_res.adb (Resolve_Entry): Likewise, after having set the
+       actual index type on the prefix of the indexed component.
+       (Resolve_Indexed_Component): Remove useless conditional construct.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
+       Process_Preconditions_For): Freeze expression that has been
+       relocated to pragma Precondition, not the expression which is
+       still in the aspect.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Check_Conformance): Remove unnecessary (and
+       wrong) code.
+       * sem_ch8.adb (Check_Null_Exclusion): Post error at proper
+       location.  Introduce new helper Null_Exclusion_Mismatch and fix
+       implementation wrt formal subprograms used in generic bodies.
+       (Analyze_Subprogram_Renaming): Fix missing setting of
+       Error_Msg_Sloc.
+       (Analyze_Object_Renaming): Replace "in Anonymous_Access_Kind" by
+       Is_Anonymous_Access_Type.
+       * sem_util.adb (Has_Null_Exclusion): Fix handling of
+       N_Parameter_Specification.
+       * sem_ch12.adb (Instantiate_Object): Replace "in
+       Anonymous_Access_Kind" by Is_Anonymous_Access_Type.
+
+2020-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Expr_Types): Freeze the designated type of
+       the explicit dereference.
+
+2020-07-07  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Is_Potentially_Unevaluated): Protect reading
+       attribute Etype.
+
+2020-07-07  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.adb (Value, Parse_ISO_8601): Unsuppress
+       checks, and don't rely on 'Valid.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: Remove dead code.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Document gnatbind -xdr switch.
+       * gnat_ugn.texi: Regenerate.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+       (Validity Checking): Add "p" to the list of switches enabled by
+       -gnatVa.
+       * gnat_ugn.texi: Regenerate.
+
+2020-07-07  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add call
+       to Check_Restriction_No_Specification_Of_Aspect.
+       * sem_prag.adb (Analyze_Pragma): Likewise.
+       * restrict.ads (Check_Restriction_No_Specification_Of_Aspect):
+       Mention possible new node kinds in documentation.
+       * restrict.adb (Check_Restriction_No_Specification_Of_Aspect):
+       Retrieve aspect id from different fields if given node is an
+       N_Pragma or an N_Attribute_Definition_Clause.
+
+2020-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * contracts.adb (Add_Invariant_And_Predicate_Checks): Relax the
+       condition for doing invariant checks so that in-mode parameters
+       of procedures are also checked (required by AI05-0289, and
+       restricted to procedures by AI12-0044). This is done in a
+       procedure's nested postconditions procedure.
+       * exp_ch6.adb (Expand_Actuals): Also perform postcall invariant
+       checks for in parameters of procedures (but not functions).
+       Moved invariant-checking code to end of Expand_Actuals
+       (including the nested function Is_Public_Subp).
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Make Index_Type
+       a constant.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Expand_N_Delta_Aggregate): Use type of the delta
+       base expression for the anonymous object of the delta aggregate.
+
+2020-07-07  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads (Interval_Lists): Reordering routine.
+       * sem_util.adb (Interval_Lists): Reordering routines to keep
+       them alphabetically ordered.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute): Do not call
+       Check_Non_Static_Context.
+
+2020-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_elab.adb (Is_Guaranteed_ABE): Take into account null
+       procedures.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Reuse Is_Assignable.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Add scalar
+       range checks for 'Update on arrays just like for 'Update on
+       records.
+       * sem_attr.adb (Analyze_Array_Component_Update): Do not set
+       range checks for single-dimensional arrays.
+       (Resolve_Attribute): Do not set range checks for both single-
+       and multi- dimensional arrays.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem.ads (Sem): Fix description.
+
+2020-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Relaxed_Parameter): Fix for protected
+       entries.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Scalar_Range_Check): Use Is_RTE.
+
+2020-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.ads: Document newly supported format.  Add
+       ISO_Time constant, for convenience.
+       * libgnat/g-catiio.adb (Image_Helper): New helper function to do
+       all the formatting work, called by the two exported Image
+       functions.  Add support for "%:::z" here. Add a Time_Zone
+       parameter used by the "%:::z" processing. This parameter is not
+       used for the actual time zone computations; local time is always
+       used for that, for ease of implementation reasons.  It would
+       make sense to use Append throughout this function, but that's a
+       cleanup for another day.
+       (Image): Modify these to pass the local time zone, or the
+       specified time zone, as appropriate.
+
+2020-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.ads: Change the regular expression that
+       documents the allowed format to match what ISO-8601 allows.
+       * libgnat/g-catiio.adb (Scan_Subsecond): Rewrite so it doesn't
+       assume the subsecond comes last.
+       (Parse_ISO_8601): Parse an optional subsecond, followed by an
+       optional time zone, rather than making these alternatives to
+       each other.
+
+2020-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.adb (Parse_ISO_8601): Minor cleanups:
+       Give some objects clearer names.
+       Make some objects more local to where they are used.
+       Remove some validity checks that can't fail, because some of
+       the variables tested have been moved so they're not visible here.
+       Anyway, Wrong_Syntax is about errors in the input, not data
+       validity.
+       Use Time_Zone_Seen instead of Local_Sign = ' ' to determine
+       that a time zone indication was seen.
+       We don't need to distinguish two different kinds of
+       syntax error (End_Of_Source_Reached and Wrong_Syntax),
+       so use Wrong_Syntax always.
+       Remove comment, "Certain scanning scenarios may handle
+       this exception on their own."; there are no such scenarios.
+
+2020-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.ads, libgnat/g-catiio.adb (Image): New
+       function. It might seem like the local-time Image should be
+       implemented in terms of the Time_Zone Image, but that would be
+       far harder to implement, so we do it the other way around.
+
+2020-07-06  Thomas Quinot  <quinot@adacore.com>
+
+       * libgnat/g-sechas.ads, libgnat/g-sechas.adb: Refactor to use
+       Stream_Element_Array as the internal buffer type.
+       * libgnat/g-shshco.adb: Adjust to use Stream_Element_Offset
+       instead of Integer as the index in the internal state buffer.
+
+2020-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst, errout.ads,
+       erroutc.adb, exp_ch4.adb, exp_ch6.adb, freeze.adb: Comment
+       rewording/reformatting/typo fixes.  Replace "ie." with "that is"
+       in comment; "can not" -> "cannot", and remove an extraneous
+       underscore in another comment.
+       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2020-07-06  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads (Interval_Lists.Aggregate_Intervals): New
+       subprogram.
+       * sem_util.adb (Has_Null_Others_Choice,
+       Non_Static_Or_Null_Range, Interval_Lists.Aggregate_Intervals):
+       New subprograms.
+       (Is_Potentially_Unevaluated): Adding support to detect
+       potentially unevaluated components of array aggregates.
+
+2020-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/g-catiio.adb (Parse_ISO_8601): New name for
+       Parse_ISO_8861_UTC.  8601 is the correct ISO standard number.
+       Also, "UTC" was confusing. All Time values are represented in
+       UTC, but the ISO 8601 date strings include a time zone.
+       If a time zone was specified, call
+       Ada.Calendar.Formatting.Time_Of instead of
+       GNAT.Calendar.Time_Of, because the latter adjusts to the current
+       time zone, whereas we want to use (just) the time zone specified
+       in the ISO string.  This allows us to pass Time_Zone instead to
+       Time_Of, instead of adjusting by Local_Disp by hand.
+       If no time zone was specified, call GNAT.Calendar.Time_Of as
+       before.
+       Use expanded names to clarify which Time_Of is being called.
+       Remove redundant comment, and move nonredundant part of the
+       commment to the spec.
+       (Value): Minor: use "not in" instead of "or else".
+       * libgnat/g-catiio.ads: Comment moved here. Correct the ISO
+       standard number.
+       * libgnat/g-calend.adb: Add ??? comments.
+       * libgnat/a-calend.ads, libgnat/a-calend.adb: Update obsolete
+       comments regarding the representation of type Time. Move the
+       information about the epoch (year 2150) to the spec, and avoid
+       uttering "2150" more than once.
+       * libgnat/a-catizo.ads (Time_Offset): Add comment.
+
+2020-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Find_Component): If the target type is a derived
+       record type and the required component is a discriminant that is
+       renamed in the derived type declaration, use the name of the
+       original discriminant to locate the intended target component.
+
+2020-07-06  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations): Add check for errors on
+       the generic formal before continuing with instantiation.
+
+2020-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
+       libgnat/a-nbnbin__gmp.adb: Use more Valid_Big_Integer.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.ads (Get_Index_Subtype): Fix duplicate "Last".
+
+2020-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sinfo.ads: Indicate that Field 1 of an N_Delta_Aggregate is
+       unused. Previously it was erroneously labelled as holding an
+       Expressions list, in analogy with other aggregate constructs,
+       but there are no Expressions attached to this node syntactically
+       or semantically.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Check if constant has an
+       initialization expression.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply
+       scalar range checks.
+       * sem_attr.adb (Resolve_Attribute): Do not set scalar range
+       checks when resolving attribute Update.
+
+2020-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute, Attribute_Constrained): Issue
+       a warning if the attribute prefix is a current instance
+       reference within an aspect of a type or subtype.
+       (Address_Checks): Replace test of Is_Object (Ent) with
+       Is_Object_Reference (P) so that testing for current instances
+       will be done.
+       (Eval_Attribute): Add test for current instance reference, to
+       ensure that we still fold array attributes when current
+       instances are involved, since value prefixes are allowed for
+       array attributes, and will now be excluded by
+       Is_Object_Reference.
+       * sem_util.ads (Is_Current_Instance_Reference_In_Type_Aspect):
+       New exported query function.
+       * sem_util.adb (Is_Object_Reference): Return False for the case
+       where N is a current instance reference within an
+       aspect_specification of a type or subtype (basically if the
+       reference occurs within a predicate, invariant, or DIC aspect
+       expression).
+       (Is_Current_Instance_Reference_In_Type_Aspect): New function
+       that tests whether a node is a reference to a current instance
+       formal of a predicate, invariant, or
+       Default_Initial_Condition (DIC) subprogram.
+
+2020-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Declare_Expression): New subprogram, to
+       install the scope holding local declarations of the expression,
+       before completing its resolution.
+       (Resolve): For an Expression_With_Actions that comes from a
+       source occurrence of a Declare_Expression, call new subprogram.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Reuse SPARK_Implicit_Load.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Propagate
+       exception when switch -gnatdk is used and no previous errors are
+       present.
+       * sem_eval.adb (Compile_Time_Known_Value, Is_In_Range):
+       Likewise.
+       * sem_warn.adb (Operand_Has_Warnings_Suppressed): Likewise.
+
+2020-07-06  Richard Kenner  <kenner@adacore.com>
+
+       * exp_unst.adb (Needs_Fat_Pointer): Don't check for formal.
+       (Unnest_Subprogram): Use 'Unchecked_Access instead of 'Access
+       when populating activation record.
+
+2020-07-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Rename parameter
+       from Bit_Packed_Array to Force.
+       (Expand_Actuals): Do not apply BIP processing if the subprogram
+       is intrinsic.  Adjust calls to Add_Simple_Call_By_Copy_Code and
+       add one for In parameters whose actual is a CPP constructor call.
+
+2020-07-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Do not apply range checks in
+       the case of 'Pos applied to an integer type here.
+
+2020-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): If the type is an
+       Unchecked_Union, and the expression is an aggregate. complete
+       the analysis and resolution of the aggregate, and treat like a
+       regular object declaration, instead of as a renaming
+       declarattion.
+
+2020-07-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch9.adb (Is_Potentially_Large_Family): Add documentation.
+       (Actual_Index_Expression): Use Entry_Index_Type.
+       (Build_Entry_Count_Expression): Likewise.
+       (Build_Find_Body_Index): Likewise.
+       (Collect_Entry_Families): Likewise. Use directly the bounds of
+       the index type to find out whether the family is large.
+       (Entry_Index_Expression): Likewise.
+
+2020-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Range): Resolve both low and high bounds
+       with the range type.
+
+2020-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.ads (Is_Representation_Aspect):
+       Default_Component_Value is a representation aspect.
+       * sem_ch13.adb (Check_Aspect_Too_Late, Rep_Item_Too_Late): Relax
+       RM 13.1(10) rule wrt primitive operations for Ada 202x.
+
+2020-07-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Move to library
+       level and use a new predicate Is_OK_Aggregate to recognize the
+       aggregates suitable for direct assignment by the back-end.
+       (Convert_Array_Aggr_In_Allocator): If neither in CodePeer mode nor
+       generating C code, generate a direct assignment instead of further
+       expanding if Aggr_Assignment_OK_For_Backend returns true.
+
+2020-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_aux.adb: Add a with clause for Nlists.
+       (Nearest_Ancestor): Test for the case of concurrent
+       types (testing for both Is_Concurrent_Type and
+       Is_Concurrent_Record_Type), and return the first ancestor in the
+       Interfaces list if present (otherwise will return Empty if no
+       interfaces).
+       * sem_ch13.adb (Build_Predicate_Functions): Add a ??? comment
+       about missing handling for adding predicates when they can be
+       inherited from multiple progenitors.
+
+2020-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch6.adb (P_Return_Object_Declaration): Set
+       Has_Init_Expression flag.
+
+2020-07-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * debug.adb (d.K): Document new usage.
+       * fe.h (Debug_Flag_Dot_KK): Declare.
+       * gcc-interface/decl.c (gnat_to_gnu_field): Give an error when the
+       component overlaps with the parent subtype, except with -gnatd.K.
+
+2020-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_Set_Membership): Expand the membership test
+       using left associativity instead of right associativity.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (build_binary_op): Remove space.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Minor tweaks.
+       Call Has_Constrained_Partial_View on base type of designated type.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (gnat_write_global_declarations): Output
+       integral global variables first and the imported functions later.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (elaborate_expression_1): When GNAT encodings
+       are not used, do not create a variable for debug info purposes if
+       the expression is itself a user-declared variable.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_RENAMED_OBJECT): Delete.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always use
+       the stabilized reference directly for renaming and create a variable
+       pointing to it separately if requested.
+       * gcc-interface/misc.c (gnat_print_decl): Adjust for deletion.
+       * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
+       (gnat_to_gnu) <N_Object_Renaming_Declaration>:
+       Do not deal with side-effects here.
+       <N_Exception_Renaming_Declaration>: Likewise.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (elaborate_expression): Replace calls to
+       Is_OK_Static_Expression with Compile_Time_Known_Value.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
+       debug type to the base type and only if the subtype is artificial.
+
+2020-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do
+       not test Is_Bit_Packed_Array in the memset path.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (lvalue_required_for_attribute_p): Do not deal
+       with 'Pos or 'Val.
+       (Attribute_to_gnu): Likewise.
+       * gcc-interface/utils.c (create_field_decl): Small formatting fix.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (adjust_for_implicit_deref): Delete.
+       (maybe_implicit_deref): Likewise.
+       (Attribute_to_gnu): Replace calls to maybe_implicit_deref by calls
+       to maybe_padded_object.
+       (Call_to_gnu): Likewise.
+       (gnat_to_gnu) <N_Indexed_Component>: Likewise.
+       <N_Slice>: Likewise.
+       <N_Selected_Component>: Likewise.
+       <N_Free_Statement>: Remove call to adjust_for_implicit_deref and
+       manually make sure that the designated type is complete.
+       * gcc-interface/utils2.c (build_simple_component_ref): Add comment.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_param): Tidy up.
+       (gnat_to_gnu_subprog_type): For a variadic C function, do not
+       build unnamed parameters and do not add final void node.
+       * gcc-interface/misc.c: Include snames.h.
+       * gcc-interface/trans.c (Attribute_to_gnu): Tidy up.
+       (Call_to_gnu): Implement support for unnamed parameters in a
+       variadic C function.
+       * gcc-interface/utils.c: Include snames.h.
+       (copy_type): Tidy up.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
+       range checks to allocators here.
+
+2020-06-19  Justin Squirek  <squirek@adacore.com>
+
+       * lib.adb (Check_Same_Extended_Unit): Add check to determine if
+       the body for the subunits exist in the same file as their
+       specifications.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (In_Place_Assign_OK): In an allocator context,
+       check the bounds of an array aggregate against those of the
+       designated type, except if the latter is unconstrained.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Is_Visible_Component): Reason only on the private
+       status of the original type in an instance body.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Qualified_Expression): Do not override the
+       type of the node when it is unconstrained if it is for an allocator.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Allocator): Call Resolve_Qualified_Expression
+       on the qualified expression, if any, instead of doing an incomplete
+       type resolution manually.
+       (Resolve_Qualified_Expression): Apply predicate check to operand.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): In an instance body,
+       also invoke Find_Component_In_Instance on the parent subtype of
+       a derived tagged type immediately visible.  Remove obsolete case.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Get_Integer_Type): Return the largest supported
+       unsigned integer type if need be.
+
+2020-06-19  Justin Squirek  <squirek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Known_Condition): Add general sanity
+       check that asserts the original source node being checked
+       contains an entity. If not, it could be the result of special
+       case expansion for type conversions.
+
+2020-06-19  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Do not indicate
+       that the function has a completion if it appears within a Ghost
+       generic package.
+
+2020-06-19  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if
+       ... raise Constraint_Error".
+
+2020-06-19  Justin Squirek  <squirek@adacore.com>
+
+       * widechar.adb, widechar.ads (Skip_Wide): Catch validity check
+       failure when skipping over characters, and update comment to
+       reflect Skip_Wide's usage in error printing.
+
+2020-06-19  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.ads (Ensure_Activation_Chain_And_Master): New
+       subprogram.
+       * exp_ch3.adb (Ensure_Activation_Chain_And_Master): New
+       subprogram that factorizes code.
+       (Expand_N_Object_Declaration): Call new subprogram.
+       * sem_ch6.adb (Analyze_Function_Return): Returning a
+       build-in-place unconstrained array type defer the full analysis
+       of the returned object to avoid generating the corresponding
+       constrained subtype; otherwise the bounds would be created in
+       the stack and a dangling reference would be returned pointing to
+       the bounds.
+
+2020-06-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
+       libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
+       libgnat/a-nbnbre.ads: Update spec according to AI12-0366.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.ads: Remove excessive whitespace in declarations of
+       functions for check suppression.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch7.adb (Hide_Public_Entities): Split handling of objects
+       and subprograms, and do not reject the latter upfront in nested
+       instance specs if there are no referencer subprograms at all.
+       (Analyze_Package_Body_Helper): Also call Hide_Public_Entities on
+       nested generic instances.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Reject illegal positional
+       component associations; fix syntax in comment about named
+       component associations.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Modify a nested
+       Get_Component_Type routine to return a component and not just
+       its type; use this routine to decorate the identifier within the
+       delta aggregate.
+
+2020-06-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Find_Equality_Types.Check_Access_Attribute): New.
+       (Find_Equality_Types): Move universal_access related checks at
+       the end of the processing and add call to
+       Check_Access_Attribute.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_prag.adb (Process_Convention): Revert previous change.
+
+2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads (Apply_Static_Length_Check): Move up.
+       (Apply_Range_Check): Add parameter Insert_Node.
+       * checks.adb (Apply_Selected_Range_Checks): Merge into...
+       (Apply_Range_Check): ...this.  Add parameter Insert_Node,
+       pass it as Warn_Node to Selected_Range_Checks and use it
+       as insertion point for the checks.
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Rewrite block
+       dealing with the range checks for the subtype indication.
+       Use local variable and call Apply_Range_Check in both cases.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Call Ensure_Valid
+       on the expression of an object declaration that captures the
+       value of 'Old prefix.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Add comment.
+       * sem_attr.adb (Analyze_Attribute): Add ??? comment.
+       * sem_util.ads (Valid_Scalars): This routine is only used for
+       'Valid_Scalars and not for 'Valid.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Do not call
+       Scalar_Part_Present on the array component's type.
+       (Build_Array_VS_Func): Remove Comp_Typ parameter, because it can
+       be easily computed from the Array_Top parameter *and redundant
+       parameters are confusing and error-prone).
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Build_Record_VS_Func): Strip privacy and type
+       derivation from the root type when 'Valid_Scalars is applied to
+       a class-wide type.
+
+2020-06-19  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Parameter_Validity_Checks): Remove testing
+       of Check_Validity_Of_Parameters for every formal parameter and
+       function result.
+
+2020-06-19  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Add missing
+       warning tag.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Get_Size_For_Range): Only make sure to return a
+       size lower than that of the original type if possible.
+       * libgnat/s-rannum.adb (Random_Discrete): Back out optimization
+       added for 32-bit types.
+
+2020-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.ads, sem_ch6.adb (Check_Formal_Conformance): New
+       subprogram.
+       (Check_Conformance): Move code to Check_Formal_Conformance.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Check for formal
+       conformance when needed.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Narrow_Large_Operation): New procedure to try
+       and narrow large arithmetic and comparison operations.
+       (Expand_N_In): Call it.
+       (Expand_N_Op_Abs): Likewise.
+       (Expand_N_Op_Add): Likewise.
+       (Expand_N_Op_Divide): Likewise.
+       (Expand_N_Op_Eq): Likewise.
+       (Expand_N_Op_Ge): Likewise.
+       (Expand_N_Op_Gt): Likewise.
+       (Expand_N_Op_Le): Likewise.
+       (Expand_N_Op_Lt): Likewise.
+       (Expand_N_Op_Minus): Likewise.
+       (Expand_N_Op_Mod): Likewise.
+       (Expand_N_Op_Multiply): Likewise.
+       (Expand_N_Op_Ne): Likewise.
+       (Expand_N_Op_Plus): Likewise.
+       (Expand_N_Op_Rem): Likewise.
+       (Expand_N_Op_Subtract): Likewise.
+       (Expand_N_Type_Conversion): Use Convert_To procedure.
+       * exp_ch9.adb (Is_Pure_Barrier) <N_Identifier>: Skip all
+       numeric types.
+       <N_Type_Conversion>: Use explicit criterion.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint
+       and predicate checks for the qualified expression on entry,
+       followed by constraint and predicate checks for the allocator
+       itself, and return early if this results in a static error.
+       (Expand_N_Allocator): Do not do the same here.  Instead apply
+       constraint and predicate checks for arrays in the subtype
+       indication case.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
+       range checks to allocators here.
+
+2020-06-18  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (BIP_Suffix_Kind, Is_Build_In_Place_Entity): Move
+       declarations...
+       * exp_ch6.ads: Here.
+       * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Do not rely
+       on the name of the scope to locate the extra formal BIPalloc
+       since they are copied when the pointer type associated with
+       dispatching calls is built; rely on routines
+       Is_Build_In_Place_Entity and BIP_Suffix_Kind.
+       * exp_disp.adb (Expand_Dispatching_Call): Set the scope of the
+       first extra formal of the internally built pointer type.
+       * sem_ch3.adb (Derive_Subprogram): Do not inherit extra formals
+       from a limited interface parent since limitedness is not
+       inherited in such case (AI-419) and this affects the extra
+       formals.
+       * sprint.adb (Write_Itype): Output extra formals of subprogram
+       types.
+
+2020-06-18  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * errout.adb (Write_Error_Summary): Display number of warnings
+       treated as errors.
+       * errutil.ads: Update comment.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Analyze_Attribute) <Asm_{In,Out}put>: Alphabetize.
+       <Component_Size>: Add check for universal integer attribute.
+       <Aft>, <Bit_Order>, <Definite>, <Max_Alignment_For_Allocation>,
+       <Scalar_Storage_Order>: Raise Program_Error on them.
+       * sem_attr.adb (Eval_Attribute) <Component_Size>: Add comment on
+       the packed array case.
+
+2020-06-18  Steve Baird  <baird@adacore.com>
+
+       * sem_util.adb (Object_Access_Level): Treat a 'Old attribute
+       reference like an aggregate in determining its static
+       accessibility level; after the evaluation of the relevant
+       post-condition, the implicitly declared constant associated with
+       an Old attribute reference ceases to exist. Similarly for
+       Loop_Entry attribute.
+       * exp_ch6.adb (Expand_Call_Helper): For an attribute reference
+       that is expanded into a reference to an implicitly declared
+       constant (e.g., a 'Old or 'Loop_Entry attribute), compute the
+       dynamic accessibility level of that constant by looking at the
+       declaration of the constant (as opposed to looking at the
+       attribute reference).
+
+2020-06-18  Steve Baird  <baird@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a
+       default initial condition check for the declaration of an
+       imported object.
+
+2020-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: Add s-statxd.o.
+       * bindgen.adb (Gen_Adainit): Add support for XDR_Stream.
+       * bindusg.adb (Display): Add mention of -xdr.
+       * gnatbind.adb: Process -xdr switch.
+       * init.c (__gl_xdr_stream): New.
+       * opt.ads (XDR_Stream): New.
+       * libgnat/s-stratt__xdr.adb: Rename to...
+       * libgnat/s-statxd.adb: this and adjust.
+       * libgnat/s-statxd.ads: New.
+       * libgnat/s-stratt.ads, libgnat/s-stratt.adb: Choose between
+       default and XDR implementation at runtime.
+       * libgnat/s-ststop.ads: Update comments.
+       * doc/gnat_rm/implementation_advice.rst: Update doc on XDR
+       streaming.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute) <To_Address>: Use the address
+       size of the target instead of the host when checking the value of
+       a static expression.  Also use standard idiom for exponentiation.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_prag.adb (Process_Convention): Give a warning on C_Variadic_n
+       being applied to a subprogram with exactly n parameters.
+
+2020-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/s-osinte__linux.ads, libgnat/g-io.adb,
+       libgnat/g-socket.adb, libgnat/g-socthi.adb,
+       libgnat/g-socthi.ads, libgnat/g-socthi__vxworks.adb,
+       libgnat/g-socthi__vxworks.ads, libgnat/g-sothco.ads,
+       libgnat/s-io.adb, libgnat/a-except.adb: Fix function profile
+       mismatch with imported C functions.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Remove superfluous calls
+       to Relocate_Node and merge calls to Analyze and Resolve in a
+       couple of places.  Do not attempt to generate a range check
+       for an actual parameter against the formal's type of a derived
+       subprogram after generating a conversion to the formal's type
+       of the parent subprogram.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Compute_Range_For_Arithmetic_Op): New procedure to
+       compute a range for an arithmetical operation extracted from...
+       (Minimize_Eliminate_Overflows): ...here.  Call it.
+       (Determine_Range_Cache_O): New cache for Original_Node nodes.
+       (Determine_Range): Call Compute_Range_For_Arithmetic_Op for all
+       arithmetic expressions. Use Attribute_Id in lieu of Attribute_Name
+       for attributes. Add handling for Range_Length alongside Length.
+       Add specific handling for Alignment, Bit, First_Bit, Last_Bit,
+       Max_Size_In_Storage_Elements, Position, Bit_Position,
+       Component_Size, Object_Size, Size, Value_Size, Descriptor_Size.
+       (Enable_Overflow_Check): Omit the check for Abs and Minus if the
+       operand cannot be the largest negative number.
+       (Selected_Length_Checks): Use Pos for Number_Dimensions.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Move compile-time
+       handling of Bit_Position, Descriptor_Size, First_Bit, Last_Bit
+       and Position to...
+       * sem_attr.adb (Eval_Attribute): ...here.  Move up Alignment for
+       objects and use Compile_Time_Known_Attribute in this case too.
+
+2020-06-18  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * erroutc.ads: Declare new Is_Compile_Time_Msg boolean,
+       add new Compile_Time_Pragma field to Error_Msg_Object type.
+       (Count_Compile_Time_Pragma_Warnings): New function.
+       * erroutc.adb (Count_Compile_Time_Pragma_Warnings): New
+       function.
+       (Compilation_Errors): Take Compile_Time warnings into account
+       when tallying Errors/Warnings.
+       * errout.ads (Error_Msg): New procedure.
+       * errout.adb (Error_Msg): New procedure.
+       (Error_Msg_Internal): Set new Compile_Time_Pragma field in
+       Error_Msg_Object.
+       * errutil.adb (Error_Msg): Set new Compile_Time_Pragma field in
+       Error_Msg_Object.
+       * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass
+       True to new Error_Msg procedure.
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Update doc for
+       the Compile_Time_Warning pragma.
+       * gnat_rm.texi: Regenerate.
+       * opt.ads: Update comment.
+
+2020-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Check_Compatible_Profiles): Add explicit
+       initialization.
+
+2020-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Generate_Index_Checks): Handle
+       N_Subtype_Indication returned from Scalar_Range.
+
+2020-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, sem_ch3.adb: Minor refactorings.
+       * sem_eval.adb (Eval_Qualified_Expression): Fix reference to RM
+       rule in comment; only set a local variable Hex in the branch
+       where it is used.
+
+2020-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Check_Non_Static_Context): Use Is_RTE.
+
+2020-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Find_Equality_Types.Check_Access_Object_Types):
+       New function, used to implement RM 4.5.2 (9.6/2).
+       (Find_Equality_Types.Check_Compatible_Profiles): New function,
+       used to implement RM 4.5.2(9.7/2).
+       (Find_Equality_Types.Reference_Anonymous_Access_Type): New
+       function.
+       (Find_Equality_Types.Try_One_Interp): Fix handling of anonymous
+       access types which was accepting both too much and too little.
+       Remove accumulated special and incomplete cases for
+       instantiations, replaced by Has_Compatible_Type.
+       (Analyze_Overloaded_Selected_Component): Use
+       Is_Anonymous_Access_Type instead of Ekind_In.
+       * sem_res.adb: Code cleanup and bug fix: use
+       Is_Anonymous_Access_Type instead of Ekind_In.  Relax checking of
+       anonymous access parameter when universal_access "=" is
+       involved.
+       * sem_type.adb: Likewise.
+       (Find_Unique_Type): Move code from here...
+       (Specific_Type): ...to here. Also add missing handling of access
+       to class wide types.
+       * einfo.ads, einfo.adb (Is_Access_Object_Type): New.
+
+2020-06-18  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-strsto.ads, libgnat/a-ststbo.adb,
+       libgnat/a-ststbo.ads, libgnat/a-ststun.adb,
+       libgnat/a-ststun.ads: New files, containing packages
+       Ada.Streams.Storage, Ada.Streams.Storage.Bounded, and
+       Ada.Streams.Storage.Unbounded.
+       * impunit.adb, Makefile.rtl: Add new file names.
+
+2020-06-18  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch13.adb (Has_Good_Profile): Enforce strictness in the
+       check. Required to detect wrong profiles for Input and Output.
+       (Analyze_Stream_TSS_Definition): Minor enhancement in the text
+       of the error for class-wide attributes.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Get_Integer_Type): Pick an unsigned type based
+       on the Esize of the base type of the input type.
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_Array_Equality): For the optimization of
+       the 2-element case, build new expression lists for the indices.
+
+2020-06-18  Richard Kenner  <kenner@adacore.com>
+
+       * sem_util.adb (Enclosing_Subprogram): No longer need
+       Convention_Protected.
+
+2020-06-18  Claire Dross  <dross@adacore.com>
+
+       * sem_util.adb (Is_OK_Volatile_Context): Return False on
+       definitions of constants declared in declare expressions.
+
+2020-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_aspects.rst
+       (Relaxed_Initialization): New implementation-defined aspect.
+       * doc/gnat_rm/implementation_defined_attributes.rst
+       (Initialized): New implementation-defined attribute.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-18  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Expand_Dispatching_Call): Add missing decoration
+       of attribute Extra_Accessibility_Of_Result.
+       * freeze.adb (Check_Extra_Formals): No check required if
+       expansion is disabled; Adding check on
+       Extra_Accessibilty_Of_Result.
+       (Freeze_Subprogram): Fix decoration of
+       Extra_Accessibility_Of_Result.
+       * sem_ch3.adb (Derive_Subprogram): Fix decoration of
+       Extra_Accessibility_Of_Result
+
+2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Optimize_Length_Comparison): Accept 32-bit values
+       in the full unsigned range.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do
+       anything when the type of the node is already Universal_Integer.
+
+2020-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch10.adb (Expand_With_Clause): Add missing handling of
+       N_Generic_Subprogram_Declaration, N_Subprogram_Declaration,
+       N_Subprogram_Body.
+
+2020-06-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb: (Check_Inherited_Indexing): Check that a type
+       derived from an indexable container type cannot specify an
+       indexing aspect if the same aspect is not specified for the
+       parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a
+       specified indexing aspect for a derived type is confirming.
+
+2020-06-17  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Subp_Specification): Add ???
+       comment about the flag Has_Nested_Subprogram not being set here.
+       (Expand_N_Protected_Body): If the original body for a protected
+       subprogram has the flag Has_Nested_Subprogram set, then set that
+       flag on the new unprotected subprogram body that's created for
+       it, and reset the Scope fields of its top level declarations,
+       which have been effectively taken from the original protected
+       subprogram body. Add ??? comment about unclear testing of
+       Corresponding_Spec.
+
+2020-06-17  Javier Miranda  <miranda@adacore.com>
+
+       * aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean
+       aspect, and update the Is_Representation_Aspect, Aspect_Names,
+       and Aspect_Delay arrays.
+       * einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New
+       subprograms.
+       * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
+       Expand_Simple_Function_Return): Add calls to Yield.
+       * exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement):
+       Add calls to Yield.
+       * rtsfind.ads (RE_Yield): Adding support to generate calls to
+       the runtime service Ada.Dispatching.Yield
+       * sem_ch13.adb (Analyze_Aspect_Yield): New subprogram.
+       * sem_ch3.adb (Derive_Subprogram): Inherit attribute
+       Has_Yield_Aspect.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency
+       of Has_Yield in the actual subprogram of a generic
+       instantiation.
+       * sem_disp.adb (Check_Dispatching_Operation): Check that if the
+       Yield aspect is specified for a dispatching subprogram that
+       inherits the aspect, the specified value shall be confirming.
+       * sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that
+       the implementation kind By_Protected_Procedure cannot be applied
+       to a procedure that has aspect Yield.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of
+       the original right operand with the relocated version.
+
+2020-06-17  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram.
+       (Needs_BIP_Task_Actuals): Add support for the subprogram type
+       internally generated for dispatching calls.
+       * exp_disp.adb (Expand_Dispatching_Call): Adding code to
+       explicitly duplicate the extra formals of the target subprogram.
+       * freeze.adb (Check_Extra_Formals): New subprogram.
+       (Freeze_Subprogram): Fix decoration of Extra_Formals.
+       * sem_ch3.adb (Derive_Subprogram): Fix decoration of
+       Extra_Formals.
+
+2020-06-17  Bob Duff  <duff@adacore.com>
+
+       * par.adb (P_Basic_Declarative_Items): Update comment about
+       Declare_Expression.
+       * par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression
+       flag, and if True, skip the call to Style.Check_Indentation.
+       * par-ch4.adb (P_Declare_Expression): Fix incorrect comment.
+
+2020-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): Change error message to make
+       it more user-friendly.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads (Apply_Length_Check_On_Assignment): Declare.
+       * checks.adb (Apply_Length_Check_On_Assignment): New procedure
+       to apply a length check to an expression in an assignment.
+       * exp_ch5.adb (Expand_Assign_Array): Call it instead of calling
+       Apply_Length_Check to generate a length check.
+       * sem_ch5.adb (Analyze_Assignment): Likewise.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb (Is_Relaxed_Initialization_State): Add reference to
+       SPARK RM.
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject
+       aspect on completions of private types and deferred constants.
+       * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization):
+       Adjust comments; support queries for constants.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cstand.adb (Stloc): Change to a renaming.
+       (Staloc): Likewise.
+       (Build_Unsigned_Integer_Type): Remove Nam parameter, use local
+       constants and do not call Make_Name.
+       (Make_Dummy_Index): Use local constants.
+       (Create_Standard): Pass the name of entities as parameter in
+       calls to New_Standard_Entity and remove calls to Make_Name.
+       Adjust calls to Build_Unsigned_Integer_Type.
+       (Identifier_For): Use local constant.
+       (Make_Component): Pass the name of the component as parameter
+       in call to New_Standard_Entity and remove call to Make_Name.
+       (Make_Formal): Likewise.  Rename Formal_Name parameter into
+       Nam and use local constant.
+       (Make_Name): Delete.
+       (New_Operator): Use local constant.
+       (New_Standard_Entity): Rename S parameter into Nam and build
+       the name here.  Remove call to Make_Name.
+       (Register_Float_Type): Pass the name of the type as parameter
+       in call to New_Standard_Entity and remove call to Make_Name.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
+       Remove condition added for scalar types.
+
+2020-06-17  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust
+       colon columns; reformat comment.
+       * exp_ch3.adb
+       (Build_Access_Subprogram_Wrapper_Body): Likewise.
+       * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec
+       comment and reformat comment in body.
+       (Analyze_Full_Type_Declaration): Reformat comment.
+       (Replace_Type_Name): Fixed three typos, plus reformatting of
+       comment.
+       * sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos.
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments:
+       remove hyphen, add missing word.
+
+2020-06-17  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
+       libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
+       libgnat/a-cborma.adb, libgnat/a-cborse.adb,
+       libgnat/a-cdlili.adb, libgnat/a-chtgbk.adb,
+       libgnat/a-chtgke.adb, libgnat/a-cidlli.adb,
+       libgnat/a-cihama.adb, libgnat/a-cihase.adb,
+       libgnat/a-cimutr.adb, libgnat/a-ciorma.adb,
+       libgnat/a-ciorse.adb, libgnat/a-cobove.adb,
+       libgnat/a-cohama.adb, libgnat/a-cohase.adb,
+       libgnat/a-coinve.adb, libgnat/a-comutr.adb,
+       libgnat/a-convec.adb, libgnat/a-coorma.adb,
+       libgnat/a-coorse.adb, libgnat/a-crbtgk.adb,
+       libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering
+       checks earlier.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Get_Integer_Type): Use standard types without
+       a specific size.
+       * sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a
+       redundant intermediate conversion to Universal_Integer.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix
+       comment and enforce it with an assertion in the body.
+
+2020-06-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): For an
+       access_to_subprogram declaration that has aspect specifications,
+       call Build_Access_ Subprogram_Wrapper at once, so that pre- and
+       postcondition aspects are analyzed in the context of a
+       subprogram declaration.
+       (Build_Access_Subprogram_Wrapper): Examine aspect specifications
+       of an Access_To_Subprogram declaration. If pre- or
+       postconditions are declared for it, create declaration for
+       subprogram wrapper and add the corresponding aspect
+       specifications to it. Replace occurrences of the type name by
+       that of the generated subprogram, so that attributes 'Old and
+       'Result can appear in a postcondition.
+       * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved
+       here from sem_prag.adb.
+       * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible
+       subprogram.
+       * sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved
+       to sem_ch3.adb and exp_ch3.adb.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * atree.adb (Preserve_Comes_From_Source): Rewrite using
+       Set_Comes_From_Source and Comes_From_Source, which enforce that
+       the parameters are valid.
+       * exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb,
+       sem_res.adb: Rewrite using Preserve_Comes_From_Source.
+
+2020-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete
+       comments.
+
+2020-06-17  Gary Dismukes  <dismukes@adacore.com>
+
+       * aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean
+       aspect, and update the Is_Representation_Aspect, Aspect_Names,
+       and Aspect_Delay arrays.
+       * exp_ch6.adb (Expand_Simple_Function_Return): In the case of a
+       return for a static expression function, capture a copy of the
+       expression of the return statement before it's expanded and
+       reset its Analyzed flags. Then, just before leaving this
+       procedure, if the expression was rewritten, set the
+       Original_Node of the rewritten expression to the new copy and
+       also set the Expression of the associated static expression
+       function to designate that copy. This ensures that later copies
+       of the expression made via New_Copy_Tree will fully copy all
+       nodes of the expression tree.
+       * inline.ads (Inline_Static_Expression_Function_Call): New
+       procedure to evaluate and produce the result of a static call to
+       a static expression function.
+       * inline.adb: Add with and use for Sem_Res.
+       (Establish_Actual_Mapping_For_Inlined_Call): New procedure
+       extracted from code in Expand_Inlined_Call that traverses the
+       actuals and formals of an inlined call and in some cases creates
+       temporaries for holding the actuals, plus establishes an
+       association between formals and actuals (via the Renamed_Object
+       fields of the formals).
+       (Formal_Is_Used_Once): Function removed from Expand_Inlined_Call
+       and now nested in the above procedure.
+       (Expand_Inlined_Call): Code for doing the formal/actual
+       traversal is moved to Create_Actual_Temporaries and replaced
+       with a call to that new procedure.
+       (Inline_Static_Expression_Function_Call): New procedure to
+       evaluate a static call to a static expression function,
+       substituting actuals for their corresponding formals and
+       producing a fully folded and static result expression. The
+       function has subsidiary functions Replace_Formal and Reset_Sloc
+       that take care of doing the mapping of formals to actuals and
+       resetting the Slocs of subnodes of the mapped expression to that
+       of the call so errors will be flagged on the call rather than
+       function.
+       * sem_ch6.adb (Analyze_Expression_Function): In the case of a
+       static expression function, perform an additional preanalysis of
+       the function's expression to ensure that it's a potentially
+       static expression (according to the requirements of
+       6.8(3.2/5-3.4/5)), and issue an error if it's not. The global
+       flag Checking_Potentially_Static_Expression is set and unset
+       around this checking.
+       * sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce
+       selected requirements of the new aspect Static on expression
+       functions, including checking that the language version is
+       Ada_2020 and that the entity to which it applies is an
+       expression function whose formal parameters are of a static
+       subtype and have mode 'in', its result subtype is a static
+       subtype, and it has no pre- or postcondition aspects. A ???
+       comment is added to indicate the need for adding checking that
+       type invariants don't apply to the result type if the function
+       is a boundary entity.
+       (Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect
+       Static.
+       * sem_elab.adb (Build_Call_Marker): Return without creating a
+       call marker when the subprogram is a static expression function,
+       since no ABE checking is needed for such functions.
+       * sem_eval.ads (Checking_Potentially_Static_Expression): New
+       function to return whether the checking for potentially static
+       expressions is enabled.
+       (Set_Checking_Potentially_Static_Expression): New procedure to
+       enable or disable checking of potentially static expressions.
+       * sem_eval.adb (Checking_For_Potentially_Static_Expression): New
+       global flag for determining whether preanalysis of potentially
+       static expression is being done, which affects the behavior of
+       certain static evaluation routines.
+       (Checking_Potentially_Static_Expression): New function to return
+       whether the checking for potentially static expressions is
+       enabled.
+       (Eval_Call): When evaluating a call within a static expression
+       function with checking of potentially static expression
+       functions enabled, substitutes a static value in place of the
+       call to allow folding of the expression.
+       (Eval_Entity_Name): When evaluating a formal parameter of a
+       static expression function with checking of potentially static
+       expression functions enabled, substitutes a static value in
+       place of the reference to the formal to allow folding of the
+       expression.
+       (Set_Checking_Potentially_Static_Expression): New procedure to
+       enable or disable checking of potentially static expressions.
+       * sem_res.adb (Resolve_Call): Test for a recursive call
+       occurring within a static expression function and issue an error
+       for such a call. Prevent the establishment of a transient scope
+       in the case this is a call to a (string-returning) static
+       expression function. When calling a static expression function,
+       if no error has been posted on the function, call
+       Inline_Static_Expression_Function_Call to convert the call into
+       its equivalent static value.
+       * sem_util.ads (Is_Static_Expression_Function): New function
+       returning whether the subprogram entity passed to it is a static
+       expression function.
+       (Is_Static_Expression_Function_Call): New function to determine
+       whether the call node passed to it is a static call to a static
+       expression function.
+       * sem_util.adb (Compile_Time_Constraint_Error): Suppress
+       compile-time Constraint_Error reporting when checking for a
+       potentially static expression.
+       (Is_Static_Expression_Function): New function returning whether
+       the subprogram entity passed to it is a static expression
+       function by testing for the presence of aspect Static.
+       (Has_All_Static_Actuals): New function in
+       Is_Static_Expression_Function_Call that traverses the actual
+       parameters of a function call and returns True only when all of
+       the actuals are given by static expressions. In the case of a
+       string-returning function, we call Resolve on each actual to
+       ensure that their Is_Static_Expression flag properly reflects
+       whether they're static, to allow suppressing creation of a
+       transient scope within Resolve_Call. A prominent ??? comment is
+       added to explain this rather unconventional call to Resolve.
+       (Is_Static_Expression_Function_Call): New function that
+       determines whether a node passed to it is a call to a static
+       expression function all of whose actual parameters are given by
+       static expressions.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Optimize_Length_Comparison): New local variable to
+       record whether this may be a dynamic superflat case.
+       (Is_Optimizable): Accept 0 as lower bound and set it in this case,
+       but return false if the operand is not a length too.
+       (Rewrite_For_Equal_Lengths): New procedure.
+       Optimize the comparison of two lengths in the superflat case when
+       the arrays have the same bounds.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen
+       the comparison with System.Storage_Unit.
+       (Descriptor_Size): Clear confusion about alignment and padding.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
+       Do not replace the bound for an array type if it is public.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Optimize_Length_Comparison): Make sure the base
+       types are the same when comparing Y'Last and X'Last directly.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
+       Replace it with a direct reference to an entity which is not a
+       discriminant for constrained array types.  Add same condition
+       for scalar types.
+       <Attribute_Last>: Merge with above implementation.
+       * exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a
+       second entity whose length is compared.  Rename Prepare_64 to
+       Convert_To_Long_Long_Integer.  If the second entity is present,
+       compute the difference of the 'First attributes and compare the
+       sum of 'Last of the second entity with this difference against
+       'Last of the first entity.  Add a special case when the 'First
+       attributes are equal.  Suppress overflow checks in all cases.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads,
+       par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix
+       casing of GNATprove.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Generate_Range_Check): Simplify redundant
+       condition.
+       * sem_ch3.adb (Check_Initialization, Process_Discriminants):
+       Likewise.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
+
+2020-06-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Build_Conversion): Also preserve the
+       Conversion_OK flag of an inner conversion.
+
+2020-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion
+       that creates a renaming that removes side effects from the
+       iterated object in the GNATprove mode; then analyze reference to
+       this renaming (it is required for GNATprove and harmless for
+       GNAT).
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
+       * exp_attr.adb (Get_Integer_Type): New function returning a
+       small integer type appropriate for an enumeration type.
+       (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>: Call it.
+       <Attribute_Pos>: For an enumeration type with a standard
+       representation, expand to a conversion with Conversion_OK.
+       <Attribute_Val>: Likewise.
+       * exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when
+       the target is an enumeration type and Conversion_OK is set.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any.
+
+2020-06-16  Richard Kenner  <kenner@adacore.com>
+
+       * exp_unst.adb (Subp_Index): Change way we detect internal
+       protected subprograms.
+
+2020-06-16  Richard Kenner  <kenner@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Clarify message displayed to
+       customers.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst,
+       einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads,
+       libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb,
+       sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing.
+       * gnat_ugn.texi: Regenerate.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace
+       "Ekind ... in Object_Kind" with "Is_Object (...)".
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in
+       comment.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Evaluate_Name): Force evaluation of aggregates;
+       recursively evaluate expression of a qualified expression; fix
+       location of the comment for an attribute referenced and an
+       indexed component.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Expression): Use consistent style and
+       formatting in a couple of cases.
+
+2020-06-16  Steve Baird  <baird@adacore.com>
+
+       * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the
+       commented-out Integer_Literal aspect specification for type
+       Big_Integer.
+
+2020-06-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals,
+       Is_Build_In_Place_Entity): New subprograms.
+       (Make_Build_In_Place_Call_In_Allocator,
+       Make_Build_In_Place_Call_In_Anonymous_Context,
+       Make_Build_In_Place_Call_In_Assignment,
+       Make_Build_In_Place_Call_In_Object_Declaration): Add assertions.
+       (Needs_BIP_Task_Actuals): Add missing support for thunks.
+       (Expand_Actuals): Ensure that the BIP call has available an
+       activation chain and the _master variable.
+       * exp_ch9.adb (Find_Enclosing_Context): Initialize the list of
+       declarations of empty blocks when the _master variable must be
+       declared and the list was not available.
+
+2020-06-16  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Case_Expression): Move to be local.
+       (P_Declare_Expression): New parsing routine.
+       (P_Unparen_Cond_Expr_Etc): New name for
+       P_Unparen_Cond_Case_Quant_Expression which was missing one case
+       in its name (iterated component association), and we're adding a
+       new case (declare expression), so lets use "Etc" instead of
+       trying to pack all those things into the name.  Add call to
+       P_Declare_Expression, and check for missing parens.
+       (P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add
+       Tok_Declare.
+       * par.adb (P_Basic_Declarative_Items): Add parameter
+       Declare_Expression so we can tailor the error message about
+       incorrect bodies.
+       (P_Case_Expression): Move to body.
+       * par-ch3.adb (P_Basic_Declarative_Items): Tailor the error
+       message about incorrect bodies.
+       * par-ch7.adb (P_Package): Pass Declare_Expression => False to
+       P_Basic_Declarative_Items.
+       * sem.ads (In_Declare_Expr): Counter used to determine whether
+       we are analyzing a declare_expression. Needed to give errors
+       about things that are not allowed in declare_expression, such as
+       the 'Access attribute.
+       * sem.adb (Do_Analyze): Save/restore In_Declare_Expr.
+       * sem_ch4.adb (Analyze_Expression_With_Actions): Give this node
+       its own scope.  That seems better in general, but it is
+       necessary for declare_expressions.  For example, an identifier
+       declared in a declare_expression should not clash with the same
+       identifier in an outer scope.  If this is a declare_expression,
+       indicated by Comes_From_Source, then check legality rules, and
+       incr/decr In_Declare_Expr.
+       * sem_aggr.adb (Resolve_Aggregate): Allow an applicable index
+       constraint for a declare_expression, so if its expression is an
+       array aggregate, it can have "others => ...".
+       * sem_attr.adb (Analyze_Access_Attribute): Disallow these
+       attributes in declare_expressions. Add comment to make it clear
+       that Unrestricted_Access is included.
+       * sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the
+       now-incorrect comment in sinfo.ads that says
+       N_Expression_With_Actions has no proper scope.  Add 17-parameter
+       versions of Nkind_In.  Remove the 16-parameter versions of
+       Nkind_In.
+
+2020-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New
+       function.
+       * exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op,
+       Expand_Set_Membership.Make_Cond): Choose between primitive and
+       predefined equality for membership tests.
+
+2020-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and
+       implement AI12-0216 which clarifies the conditions under which
+       overlapping actuals in a call are illegal. If proper warnings
+       are enabled, GNAT also emits warnings in legal cases of
+       overlopping actuals.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Expression): Stop climbing the parent chain
+       at a N_{Case,If}_Expression node for a type or an entity that
+       does not come from source.
+
+2020-06-16  Steve Baird  <baird@adacore.com>
+
+       * snames.ads-tmpl: Define names of the three new aspects.
+       * aspects.ads: Define the three new aspects.
+       * sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
+       String_From_Numeric_Literal from being declared in the body of
+       package Sem_Dim to being declared in the visible part of package
+       Sem_Util.
+       * sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
+       Validate_Literal_Aspect. This is where most of the legality
+       checking occurs for an aspect specification for one of the three
+       new aspects, as well as resolution of the subprogram named in
+       the aspect specification. Follow example of other aspects (e.g.,
+       Validate_Literal_Aspect is called in much the same way as
+       Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
+       small amount of legality checking is performed in
+       Analyze_One_Aspect in much the same way as for Default_Value or
+       Default_Component_Value aspects). Most of the work is done in
+       Validate_Literal_Aspect.
+       * contracts.adb (Add_Contract_Item): Call
+       Validate_Literal_Aspect in much the same way that
+       Validate_Iterable_Aspect was already being called.
+       * sem_res.adb (Resolve): Rewrite a literal as a call if it is a
+       user-defined literal.  This is where the dynamic semantics of
+       the 3 new aspects are implemented.
+       * sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
+       literals that have different text but the same value (e.g.,
+       12345 and 12_345) do not conform if they are user-defined
+       literals. Introduce a new function
+       User_Defined_Numeric_Literal_Mismatch to avoid duplication in
+       making this check.
+       * sem_type.adb (Has_Compatible_Type): A numeric literal can be
+       compatible with a non-numeric type (and a string literal can be
+       compatible with a non-string type) if it can be interpreted as a
+       user-defined literal.
+
+2020-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation
+       of AI05-0115 by checking the correct type.
+
+2020-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Specification): Generate error
+       message for functions returning interfaces.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Membership_Entry): Relax assertion to also
+       recognize qualified identifiers.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Evaluate_Name): Force evaluation of operators.
+
+2020-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality
+       nodes for membership tests with singletons.
+       (Analyze_User_Defined_Binary_Op): Always perform the analysis
+       since nodes coming from the expander also may refer to non
+       standard operators as part of membership expansion.
+       * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of
+       equality node.
+       * sem_type.ads: Fix typo in comment.
+
+2020-06-16  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Add
+       Check_Not_Incomplete_Type call.
+
+2020-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.adb: Add closing paren in a comment.
+       * sem_util.adb: Correct comment typo (aggreate => aggregate).
+
+2020-06-16  Javier Miranda  <miranda@adacore.com>
+
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Code cleanup.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (In_Expanded_Body): Remove unreachable code.
+       (Freeze_Expression): Rename a couple of local variables.
+       In the case of an expanded body, also freeze locally the
+       entities declared in a nested block.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Transform_Object_Operation): Document that it
+       may be partially destructive for the parent of the node.
+       (Try_Object_Operation): Undo the changes made above on failure.
+
+2020-06-16  Javier Miranda  <miranda@adacore.com>
+
+       * restrict.adb (Global_No_Tasking): Adding
+       Targparm.Restrictions_On_Target Fixes regressions with zfp.
+
+2020-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the
+       generated body of an expression function like other bodies
+       generated during expansion (e.g. stream subprograms) so that
+       those bodies are not treated as freezing points. Handle properly
+       other global references in such completions.
+
+2020-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Remove trivially
+       useless initialization of Is_Object_Reference.
+       * sem_util.adb (Is_Object_Reference): Simplify detection of
+       binary and unary operators; literally implement rules about
+       aggregates and qualified expressions; recognize string literals
+       as object references.
+
+2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Validate_Derived_Type_Instance): Reword error
+       message for 12.5.1(8) subclause and add secondary message if
+       the incompatibility comes from the predicates.
+       * sem_ch3.adb (Check_Constraining_Discriminant): New procedure
+       to give the error required by the 3.7(15) subclause.  Mention
+       "statically" in the error message and add secondary message
+       if the incompatibility comes from the predicates.
+       (Build_Derived_Concurrent_Type): Call it when a new discriminant
+       constrains an old one.
+       (Build_Derived_Record_Type): Likewise.
+       * sem_eval.ads (Predicates_Compatible): Declare.
+       * sem_eval.adb (Predicates_Compatible): New function to implement
+       the compatibility of predicates specified by the 4.9.1 clause.
+       (Subtypes_Statically_Compatible): Call it.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_eval.ads (Predicates_Match): Fix description.
+       * sem_eval.adb (Predicates_Match): Rewrite.
+
+2020-06-15  Ed Falis  <falis@adacore.com>
+
+       * Makefile.rtl: Change name of hie/g-io__vxworks-ppc-cert.adb.
+
+2020-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Premature_Usage): Add support for subtype
+       references and replace set of if-then-else by a case statement.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Depends_In_Decl_Part,
+       Analyze_Global_In_Decl_Part): Bring back task discriminants for
+       analysis of the Global/Depends contracts; add comments.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Return_Applies_To): Document special usage for E_Block.
+       * einfo.adb (Write_Field8_Name): Write it for E_Block too.
+       * exp_ch4.adb (Expand_N_Type_Conversion): Remove implementation of
+       the check prescribed by AI05-0073.
+       * exp_ch6.adb (Apply_CW_Accessibility_Check): New procedure to apply
+       the check prescribed by AI95-344 extracted from...
+       (Expand_N_Extended_Return_Statement): Apply the check prescribed by
+       AI95-344 to the expression, if present.  Suppress only access checks
+       when analyzing the rewritten result.
+       (Expand_Simple_Function_Return): ...here.  Rename local variable.
+       Call Apply_CW_Accessibility_Check to apply the check prescribed by
+       AI95-344, but do not do it for the simple return statement generated
+       by the expansion of an extended return statement.  Apply the check
+       prescribed by AI05-0073 to all functions returning anonymous access
+       type designating a specific tagged type, but not if the expression
+       was null or tag checks are suppressed for the type, and use Not In
+       operator rather than comparing the tags explicitly.
+       * sem.adb (Analyze): Handle all Suppress values.
+       * sem_ch6.adb (Analyze_Function_Return): Do not explicitly apply
+       predicate checks in the case of an extended return statement.
+       Do not apply an implicit conversion to the anonymous access result
+       type in the case of the simple return statement generated by the
+       expansion of an extended return statement.
+       (New_Overloaded_Entity): Small comment tweak.
+       * treepr.adb (Print_Node): Fix typo in flag string.
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.ads, exp_put_image.adb
+       (Image_Should_Call_Put_Image): New function to determine whether
+       the call to Put_Image should be generated.
+       (Build_Image_Call): New procedure to generate the call to
+       Put_Image.
+       * exp_imgv.adb (Expand_Image_Attribute): Use underlying types to
+       bypass privacy (only in Ada 2020). If
+       Image_Should_Call_Put_Image is True (which happens only in Ada
+       2020), then call Build_Image_Call.
+       * rtsfind.ads, rtsfind.adb: Add the necessary declarations in
+       Ada.Strings.Text_Output.Buffers.
+       * sem_attr.adb (Check_Image_Type): Enable the Ada 2020 case.
+       * libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Use the less
+       restrictive type that allows newline characters.
+
+2020-06-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.ads (Build_Master_Declaration): Add commas.
+       * exp_ch9.adb (Build_Master_Entity): Spelling fix ("build" =>
+       "built").
+       (Build_Task_Activation_Call): Fix word order.
+
+2020-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix
+       predicate.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix
+       dealing with scopes on subprogram bodies that act as specs.
+       * sem_util.adb (Has_Relaxed_Initialization): Fix trivial
+       mistake.
+
+2020-06-15  Javier Miranda  <miranda@adacore.com>
+
+       * restrict.ads (Set_Global_No_Tasking, Global_No_Tasking): New
+       subprograms.
+       * restrict.adb (Set_Global_No_Tasking, Global_No_Tasking): New
+       subprograms.
+       * sem_ch3.adb (Access_Definition): Do not skip building masters
+       since they may be required for BIP calls.
+       (Analyze_Subtype_Declaration): Propagate attribute
+       Is_Limited_Record in class-wide subtypes and subtypes with
+       cloned subtype attribute; propagate attribute
+       Is_Limited_Interface.
+       * sem_ch6.adb (Check_Anonymous_Return): Do not skip building
+       masters since they may be required for BIP calls. Use
+       Build_Master_Declaration to declare the _master variable.
+       (Create_Extra_Formals): Add decoration of Has_Master_Entity when
+       the _master formal is added.
+       * exp_ch3.adb (Init_Formals): Adding formal to decorate it with
+       attribute Has_Master_Entity when the _master formal is added.
+       (Build_Master): Do not skip building masters since they may be
+       required for BIP calls.
+       (Expand_N_Object_Declaration): Ensure activation chain and
+       master entity for objects initialized with BIP function calls.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Adding support to detect and save restriction No_Tasking when
+       set in the run-time package System or in a global configuration
+       pragmas file.
+       * sem_util.adb (Current_Entity_In_Scope): Overload this
+       subprogram to allow searching for an entity by its Name.
+       * sem_util.ads (Current_Entity_In_Scope): Update comment.
+       * exp_ch4.adb (Expand_N_Allocator): Do not skip building masters
+       since they may be required for BIP calls.
+       * exp_ch6.ads (Might_Have_Tasks): New subprogram.
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
+       support for BIP calls returning objects that may have tasks.
+       (Make_Build_In_Place_Call_In_Allocator): Build the activation
+       chain if the result might have tasks.
+       (Make_Build_In_Place_Iface_Call_In_Allocator): Build the class
+       wide master for the result type.
+       (Might_Have_Tasks): New subprogram.
+       (Needs_BIP_Task_Actuals): Returns False when restriction
+       No_Tasking is globally set.
+       * exp_ch9.ads (Build_Master_Declaration): New subprogram.
+       * exp_ch9.adb (Build_Activation_Chain_Entity): No action
+       performed when restriction No_Tasking is globally set.
+       (Build_Class_Wide_Master): No action performed when restriction
+       No_Tasking is globally set; use Build_Master_Declaration to
+       declare the _master variable.
+       (Build_Master_Declaration): New subprogram.
+       (Build_Master_Entity): No action performed when restriction
+       No_Tasking is globally set; added support to handle transient
+       scopes and _finalizer routines.
+       (Build_Master_Renaming): No action performed when restriction
+       No_Tasking is globally set.
+       (Build_Task_Activation_Call): Skip generating the call when
+       the chain is an ignored ghost entity.
+       (Find_Master_Scope): Generalize the code that detects transient
+       scopes with master entity.
+       * einfo.ads (Has_Nested_Subprogram): Minor comment reformatting.
+
+2020-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Protect against previous
+       errors.
+       * sem_ch13.adb (Analyze_Aspect_Default_Value): Remove redundant
+       error checking, handling in Analyze_Aspect_Specifications.
+       (Analyze_Aspect_Specifications): Refine error messages on
+       Default_[Component_]Value.
+       (Check_Aspect_Too_Late): New procedure.
+       (Rep_Item_Too_Late.Is_Derived_Type_With_Constraint): Remove,
+       dead code.
+       * aspects.ads (Is_Representation_Aspect): Default_Value is a
+       representation aspect.
+
+2020-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-wichha.ads, libgnat/a-wichha.adb,
+       libgnat/a-wichun.ads, libgnat/a-wichun.adb (Is_Basic, To_Basic):
+       New.
+       * libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_Basic,
+       To_UTF_32_Basic, Decomposition_Search): New subprograms.
+       (Unicode_Decomposition): New table.
+
+2020-06-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Add_Call_By_Copy_Code): In the case of a view
+       conversion passed to a scalar out-mode parameter where the
+       formal has Default_Value set, declare the copy temp with the
+       base type of the formal's subtype and initialize the copy temp
+       with the actual's value.
+
+2020-06-15  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Case_Expression): Set default value for
+       Target to silence potential warnings.
+       (Expand_N_If_Expression): Add calculation to check when the if
+       expression is used directly in the context of an actual of an
+       anonymous access type and add a special path to force expansion
+       of the if expression in this case.
+       * exp_ch6.adb (Expand_Branch): Generate an assignment to the
+       level temporary for a given branch.
+       (Expand_Call_Helper): Add expansion to allow for creating a
+       temporary to store associated accessiblity levels on each branch
+       of the conditional expression.  Also perform expansion of
+       function calls into expressions with actions, and fixup
+       references to N with Call_Node.
+       (Insert_Level_Assign): Move through nested conditional
+       expressions to each branch.
+       * sem_util.ads, sem_util.adb (Is_Anonymous_Access_Actual): Added
+       to detect when to force expansion of if expressions.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Depends_In_Decl_Part,
+       Analyze_Global_In_Decl_Part): Do not install task discriminants
+       for analysis of the Global/Depends contracts.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Analyze_Object_Contract): Do not expect
+       Global/Depends on single protected units.
+
+2020-06-15  Justin Squirek  <squirek@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): Add missing condition to
+       trigger proper static accessiblity failiures when the target
+       type is an anonymous access.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Replace repeated Ekind with
+       Ekind_In.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch6.adb, sem_util.adb: Remove excessive parents,
+       especially since they don't make the code any easier to read.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * aspects.ads (Aspect_Id): Add Aspect_Relaxed_Initialization.
+       (Implementation_Defined_Aspect): Add new aspect.
+       (Aspect_Argument): Add new aspect with Optional_Expression
+       argument.
+       (Is_Representation_Aspect): Add new aspect as a
+       non-representation one.
+       (Aspect_Names): Add name for the new aspect.
+       (Aspect_Delay): Add new aspect as a non-delayed one.
+       * sem_ch3.adb: Minor reformatting.
+       * einfo.ads, einfo.adb (Is_Relaxed_Initialization_State): New
+       query; reuses existing code for querying abstract state options.
+       * exp_attr.adb (Expand_N_Attribute_Reference): For now ignore
+       attribute 'Initialized.
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Allow attribute
+       'Result to be used in the aspect Relaxed_Initialization
+       expression.
+       (Analyze_Attribute): Analyze attribute 'Initialized; based on
+       existing code for attribute 'Valid_Scalars.
+       (Eval_Attribute): Do not expect attribute 'Initialized, just
+       like attribute 'Valid_Scalars is not expected.
+       * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): New
+       routine.
+       (Analyze_Aspect_Specifications): Analyze new aspect in a
+       dedicated routine.
+       (Check_Aspect_At_Freeze_Point): Do not expect new aspect.
+       * sem_prag.adb (Analyze_Abstract_State): Support option
+       Relaxed_Initialization on abstract states.
+       * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): New
+       query for the GNATprove backend.
+       * snames.ads-tmpl (Snames): Add Name_Ids for the new aspect and
+       attribute; add an Attribute_Id for the new attribute.
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.adb, libgnat/s-putima.adb, libgnat/s-putima.ads,
+       rtsfind.ads: Enable Put_Image if Is_Access_Subprogram_Type (Typ).
+       Remove comment saying it's disabled in that case.  Rename
+       Put_Image_Access_Prot to be Put_Image_Access_Prot_Subp to
+       clarify that we're talking about access-to-subprogram, not
+       access-to-protected-object.
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * sem_attr.adb (Check_Image_Type): New procedure for checking
+       the type, depending on language version. Disable the Ada 2020
+       support until the corresponding expander work is done.
+       (Analyze_Image_Attribute): Call Check_Image_Type.  Rearrange the
+       code to be simplier and more logical.  When P_Type is modified,
+       modify P_Base_Type accordingly.
+       * sem_util.adb (Is_Object_Image): Do not return False if the
+       prefix is a type. X'Image should be considered an image of an
+       object iff X is an object (albeit illegal pre-2020 if
+       nonscalar).
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-putima.ads, libgnat/s-putima.adb
+       (Put_Image_Access_Subp, Put_Image_Access_Prot): New procedures
+       for printing access-to-subprogram objects.  Remove an explicit
+       " ", because Put_Image includes the annoying leading blank.
+       * rtsfind.ads: Add new procedures in s-putima.
+       * exp_put_image.adb: Call new procedures as appropriate.
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Allow private types.
+       Put_Image generates Image for numeric types, and private types
+       whose full type is numeric. This requires the Conversion_OK flag
+       for integer and floating-point types. For fixed point, we need
+       the extra conversion.
+       * exp_put_image.adb (Build_Elementary_Put_Image_Call): Remove
+       special handling of real types.
+       (Enable_Put_Image): Enable for reals.
+
+2020-06-15  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (Put_Image): Use underlying type for strings.
+       Remove unchecked union processing.
+       * exp_put_image.adb (Tagged_Put_Image_Enabled): Use -gnatd_z to
+       enable default Put_Image for tagged types.  This allows testing
+       that feature.
+       (Build_String_Put_Image_Call): Set Conversion_OK flag.
+       (Make_Component_List_Attributes): Remove unchecked union
+       processing.
+       (Enable_Put_Image): Disable for unchecked unions.  Enable for
+       nonscalar types (which were mistakenly disabled in earlier
+       changes).
+       * debug.adb: Document -gnatd_z switch.
+       * libgnat/s-putima.adb (Put_Image_String, Put_Image_Wide_String,
+       Put_Image_Wide_Wide_String): Double double-quote characters.
+       Forget about special handling of control characters for now --
+       that's rare enough to not be a priority, and it's not clear what
+       the right thing to do is anyway.
+       * namet.adb: Minor: Improve debugger-friendliness.
+       * sinfo.ads: Minor: Add "???" comment.
+
+2020-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Renaming_Declaration): Remove.
+
+2020-06-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Expression): When traversing the tree
+       looking for the proper insertion point for the freeze node of an
+       entity that is declared in an outer scope, set the candidate
+       subprogram body node properly.  Previous code has an off-by-one
+       error.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Has_Same_Storage>:
+       Do not do superfluous work.  Add the condition (X'Size /= 0) on
+       both paths and turn binary AND into short-circuit AND THEN.
+
+2020-06-15  Steve Baird  <baird@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): In the Loop_Entry case,
+       replace a call to Statically_Denotes_Object with a call to
+       Statically_Names_Object and clean up the preceding comment.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Set_Membership): Remove local variable.
+       In the non-overloaded case, call Intersect_Types on the left
+       operand and the first alternative to get the resolution type.
+       But test the subtype of the left operand to give the warning.
+
+2020-06-12  Steve Baird  <baird@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): The simpler cases of
+       violations of the aforementioned 8.6 rule are already handled
+       correctly. These include cases where the operand of the type
+       conversion is an access parameter or a stand-alone object of an
+       anonymous access type. Add code to detect violations where the
+       operand of the type conversion is an access discriminant whose
+       accessibility level is tied to one of the other simpler cases.
+       This is implemented in a new function,
+       Valid_Conversion.Is_Discrim_Of_Bad_Access_Conversion_Argument,
+       which is called in place of the previous test.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (Put_Image): Remove assertion. This assertion is
+       False in mixed-Ada-version programs.
+       * exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make
+       it easy to experiment with Put_Image on tagged types. False in
+       this version.
+       (Enable_Put_Image): Enable in pre-2020.  Workarounds: Disable
+       for tagged types if Tagged_Put_Image_Enabled is False. Disable
+       for access-to-subprogram types.  Disable if errors have been
+       detected, or Sink is unavailable.
+       (Preload_Sink): Move all conditionals here, from Sem_Ch10, so
+       they can be nearby related code in Enable_Put_Image.  Load Sink
+       only if we have seen a tagged type.  This removes the dilemma
+       about calling Preload_Sink when compiling the compiler, which
+       caused unwanted dependences.
+       * exp_put_image.ads (Preload_Sink): New formal Compilation_Unit,
+       needed to move all conditionals here, from Sem_Ch10.
+       * libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for
+       inlining, so we don't get warnings about inlining in some tests.
+       And so it can be inlined!
+       * opt.ads (Tagged_Seen): New flag (see Preload_Sink).
+       * scng.adb (Scan): Set new Tagged_Seen flag.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and
+       comments regarding Preload_Sink into Preload_Sink.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Check for AI12-0074.
+
+2020-06-12  Olivier Hainque  <hainque@adacore.com>
+
+       * libgnat/s-secsta.ads (Memory_Alignment): New constant, memory
+       alignment for chunks and allocated blocks. Initialize to
+       Standard'Maximum_Alignment * 2.
+       (Chunk_Memory): Use it.
+       * libgnat/s-secsta.adb (Round_Up): Likewise.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-prag.adb: Fix ordering.
+       * snames.ads-tmpl (Name_Test_Case, Pragma_Test_Case): Likewise.
+       * sem_prag.adb (Sig_Flags): Likewise.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Entity_Name): Fix handling of expressions
+       containing array attributes wrt Ada 83 detection.
+
+2020-06-12  Steve Baird  <baird@adacore.com>
+
+       * sem_util.ads, sem_util.adb: Define 3 new Boolean-valued
+       functions - Statically_Denotes_Entity,
+       Statically_Denotes_Object, and Statically_Names_Object. The
+       first two were taken from sem_attr.adb. The term "statically
+       names" is defined in the Ada RM and the new function
+       Statically_Names_Object is intended to reflect that definition,
+       or more precisely, as described in a comment in the code, to
+       reflect the expected future definition of that term.
+       * sem_attr.adb: Delete functions Statically_Denotes_Object and
+       Statically_Denotes_Entity; these two functions have been moved
+       to package Sem_Util. Replace call to Statically_Denotes_Object
+       with a call to Statically_Names_Object as per AI12-0217 (a
+       binding interpretation, so no Ada_Version check).
+       * exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change
+       name of function (it was previously Is_Simple_Barrier_Name)
+       because the function should return True in the case of a static
+       expression; implement this requirement.  Change function to
+       include a call to Statically_Names_Object so that, for Ada_2020
+       and later, it will return True for appropriate subcomponent
+       names.
+       (Expand_Entry_Barrier.Is_Pure_Barrier): Handle
+       N_Indexed_Component and N_Selected_Component cases by calling
+       Statically_Names_Object.
+       (Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and
+       Pure_Barriers more uniformly.  Prevent cascaded errors.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Find_Matching_Actual): Add guard on search loops
+       to detect a compilation error when using a compiler built
+       without assertions.
+       (Instantiate_Formal_Subprogram): Create a new subprogram name
+       for the actual only if formal has contract aspects and expansion
+       is enabled.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb: Add with and use clauses for Sem_Mech.
+       (Get_Base_Object): New function to get the base object of a node.
+       (In_Place_Assign_OK): Add Target_Object parameter.  Deal with a
+       qualified expression on entry.  Remove short-circuit for array
+       aggregates with a single "others" choice.  Do not look into the
+       components of the aggregate if the parent is an allocator.
+       (Check_Component): Add T_OK parameter and rewrite.
+       (Safe_Component): Invoke Check_Component with T_OK set to False.
+       (Convert_To_Assignments): Try to use an in-place assignment for
+       any target; for that, call Get_Base_Object on the target and pass
+       the result to In_Place_Assign_OK.
+       (Expand_Array_Aggregate): Use Parent_Kind and Parent_Node more
+       consistently.  For an assignment, call Get_Base_Object on the
+       target and pass the result to In_Place_Assign_OK.
+
+2020-06-12  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * socket.c (__gnat_minus_500ms): Use GetVersionEx to detect
+       Windows Server version.
+       * libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): Remade to
+       Boolean constant.
+       * libgnat/g-socket.adb (Set_Socket_Option): Use
+       Minus_500ms_Windows_Timeout constant instead of function call.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-coinho.ads, libgnat/a-coinho.adb,
+       libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb
+       (Swap): New procedure.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do nothing for
+       a subprogram declared in a protected body.
+       * exp_ch9.ads, exp_ch9.adb
+       (Build_Private_Protected_Declaration): Moved to sem_ch6.adb.
+       (Expand_N_Protected_Body): Do nothing for a subprogram declared
+       in a protected body.
+       * sem_ch6.adb (Build_Internal_Protected_Declaration): Moved from
+       exp_ch9.adb and renamed and fixed to ensure in particular that
+       such subprograms have convention Intrinsic and have no protected
+       version.
+       (Analyze_Subprogram_Body_Helper): Call
+       Build_Internal_Protected_Declaration.
+       (Move_Pragmas): Moved up and merged with the more general
+       version from Build_Private_Protected_Declaration. We only want
+       to copy selected pragmas, most pragmas are not suitable for a
+       copy on the spec.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Overriding_Indicatior): Reject an
+       overriding indicator on a subprogram declared within a protected
+       body.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb,
+       sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Entry_Call): Add call to
+       Warn_On_Overlapping_Actuals.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.ads (Is_Representation_Aspect): New array.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Check
+       13.1(9.2/5) for representation aspects.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure
+       for preloading type Sink.  This has the side effect of loading
+       various dependents, including Ada.Strings.UTF_Encoding.
+       (Enable_Put_Image): Disable Put_Image in pre-2020 versions of
+       Ada.  This limitation can probably be lifted later.  Enable for
+       tagged types except in predefined units.  Disable for CPP types;
+       Put_Image is legal, just prints the type name.
+       * sem_attr.adb (Check_Put_Image_Attribute): Don't complain about
+       Put_Image of CPP types; instead call the "unknown" version of
+       Put_Image.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove suppression
+       for internal units.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_strm.adb (Build_Elementary_Input_Call): Add support for 24
+       bits elementary types.
+       * rtsfind.ads: Add 24 bits integer streaming routines.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause
+       [Attribute_Stream_Size]): Add support for 24 bits elementary
+       types.
+       * libgnat/s-stratt.ads, libgnat/s-stratt.adb,
+       libgnat/s-stratt__xdr.adb: Add support for signed and unsigned
+       24 bits integers.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Get_Discr_Value): Cleanup.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * rtsfind.ads (RTU_Id): Add System_Address_To_Access_Conversions.
+       * sem_elab.adb (Elaboration_Phase_Active): Alphabetize.
+       (Finalize_All_Data_Structures): Likewise.
+       (Error_Preelaborated_Call): New procedure.
+       (Build_Call_Marker): Set Is_Preelaborable_Call flag in marker.
+       (Build_Access_Marker): Likewise.
+       (Build_Subprogram_Invocation): Likewise.
+       (Build_Task_Activation): Likewise.
+       (Check_Preelaborated_Call): Return when the call is preelaborable.
+       Call Error_Preelaborated_Call to give the error otherwise.
+       (Check_Elab_Call): Likewise.
+       * sem_util.adb (Is_Preelaborable_Function): New predicate.
+       (Is_Non_Preelaborable_Construct.Visit): Recurse on the
+       Explicit_Actual_Parameter field of N_Parameter_Association.
+       (Is_Non_Preelaborable_Construct.Visit_Subexpression): In Ada 2020,
+       for a call to a preelaborable function, visit the parameter list;
+       otherwise, raise Non_Preelaborable exception.
+       (Is_Preelaborable_Construct): Likewise, but recursively check the
+       parameters instead and return false upon failure, otherwise true.
+       * sinfo.ads (Is_Preelaborable_Call): New flag in call marker nodes.
+       (Is_Preelaborable_Call): New inline function.
+       (Set_Is_Preelaborable_Call): New inline procedure.
+       * sinfo.adb (Is_Preelaborable_Call): New inline function.
+       (Set_Is_Preelaborable_Call): New inline procedure.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * stringt.ads: Remove "use System;".
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): Replace call to
+       First_Discriminant by Get_Reference_Discriminant to get the
+       reference discriminant.
+       * sem_ch13.adb (Check_Indexing_Functions): Likewise.
+       * sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant
+       to get the reference discriminant.
+       * sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all
+       Ada 2012 implicit dereferences in only one place.
+       (Is_Variable): Minor tweak.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Has_Contracts): New predicate to check whether a
+       formal subprogram carries an aspect specification for a pre- or
+       postcondition.
+       (Build_Subprogram_Wrappers): If actual is overloaded, create a
+       new name to be used in call inside wrapper body. This names
+       carries the interpretations of the actual, and is resolved when
+       the body is analyzed.
+       (Build_Subprogram_Body_Wrapper): Use this generated name in
+       call.
+       (Build_Subprogram_Decl_Wrapper): Build profile of wrapper from
+       the profile of formal, and reset type entities for subsequent
+       analysis.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * debug.adb: Remove usage of -gnatd_z.
+       * exp_attr.adb, exp_put_image.ads, exp_put_image.adb: Clean up
+       the enable/disable code. If Put_Image is disabled for a type,
+       systematically call the "unknown" version.  Improve comments.
+       Consolidate workarounds.  Remove usage of -gnatd_z.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_elab.adb: Fix typos in comments.
+
+2020-06-12  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Object_Access_Level): Add processing of implicit
+       dereferences.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
+       libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
+       libgnat/a-nbnbre.ads: Update Put_Image, and uncomment the aspect
+       specification.  Add pragmas Ada_2020.
+       * libgnat/a-stouut.ads, libgnat/a-stteou.ads: Add Preelaborate,
+       because the Big_Numbers packages have Preelaborate, and now
+       depend on these Text_Output packages.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (No_Return): Document it for all subprograms.
+       * einfo.adb (Set_No_Return): Adjust assertion accordingly.
+       * sem_ch3.adb (Check_Abstract_Overriding): Implement the
+       check prescribed by RM 6.5.1(6/2) here instead of...
+       (Derive_Subprogram): Adjust comment accordingly.
+       * sem_disp.adb (Override_Dispatching_Operation): ...here.
+       Remove superfluous return statement.
+       * sem_ch6.adb (Check_No_Return_Expression): New procedure.
+       (Analyze_Function_Return): Call it to implement the check
+       prescribed by AI12-0269 for simple return statements of
+       No_Return functions, and also checks extended statements.
+       (Analyze_Return_Statement): Only give an error on a return
+       statement in No_Return procedures.  Use idiomatic form.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Adjust error
+       message for No_Return renaming subprogram.
+       * sem_prag.adb (Analyze_Pragma) <Pragma_No_Return>: Accept
+       it on functions and generic functions in Ada 2020.
+
+2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Implicit_Dereference): In an instance,
+       reset the type of the prefix if it is private before building
+       the dereference.
+
+2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_util.adb (Safe_Unchecked_Type_Conversion): Add missing
+       Is_Type guard before calling Has_Discriminants on Etype.
+
+2020-06-11  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-nbnbin__gmp.adb: There's no Optional_Big_Integer
+       anymore.  Invalid_Big_Integer is not used.
+       Greatest_Common_Divisor returns Big_Positive.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Get_Value): Refine type of the Compon parameter.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Refine type of
+       Others_Box.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, exp_ch7.adb, exp_ch9.adb, exp_smem.adb, lib.adb,
+       nlists.adb, sem.adb, sem_aggr.adb, sem_ch3.adb, sem_ch6.adb,
+       sem_ch8.adb, sem_dim.adb, sem_res.adb, sem_util.adb,
+       sem_warn.adb: Replace uses of Next function with procedure.
+
+2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_pakd.ads: Add paragraph about scalar storage order.
+       * exp_pakd.adb (Install_PAT): Do not set the scalar storage
+       order of the PAT here but...
+       (Set_PB_Type): ...here instead and...
+       (Create_Packed_Array_Impl_Type): ...here as well.
+       * rtsfind.ads (RE_Id): Add RE_Rev_Packed_Bytes{1,2,4}.
+       (RE_Unit_Table): Likewise.
+       * libgnat/s-unstyp.ads (Rev_Packed_Bytes1): New derived type.
+       (Rev_Packed_Bytes2): Likewise.
+       (Rev_Packed_Bytes4): Likewise.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb, sem_ch6.adb, sem_res.adb, sem_util.ads: Fix
+       references to SPARK RM 7.1.3 rule numbers.
+
+2020-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code,
+       remove inner predicate Is_Covered_Formal, preserve warning for
+       two overlapping composite types when only one is writable, and
+       for two overlapping and writable elementary types.
+
+2020-06-11  Steve Baird  <baird@adacore.com>
+
+       * contracts.adb (Add_Contract_Item): Support specifying
+       volatility refinement aspects for types.
+       (Analyze_Contracts): Add call to Analyze_Type_Contract in the
+       case of a contract for a type.
+       (Freeze_Contracts): Add call to Analyze_Type_Contract in the
+       case of a contract for a type.
+       (Check_Type_Or_Object_External_Properties): A new procedure
+       which performs the work that needs to be done for both object
+       declarations and types.
+       (Analyze_Object_Contract): Add a call to
+       Check_Type_Or_Object_External_Properties and remove the code in
+       this procedure which did much of the work that is now performed
+       by that call.
+       (Analyze_Type_Contract): Implement this new routine as nothing
+       more than a call to Check_Type_Or_Object_External_Properties.
+       * contracts.ads: Update comment for Add_Contract_To_Item because
+       types can have contracts.  Follow (questionable) precedent and
+       declare new routine Analyze_Type_Contract as visible (following
+       example of Analyze_Object_Contract), despite the fact that it is
+       never called from outside of the package where it is declared.
+       * einfo.adb (Contract, Set_Contract): Id argument can be a type;
+       support this case.
+       (Write_Field34_Name): Field name is "contract" for a type.
+       * einfo.ads: Update comment describing Contract attribute.
+       * sem_ch3.adb (Build_Derived_Numeric_Type): Is_Volatile should
+       return same answer for all subtypes of a given type. Thus, when
+       building the base type for something like type Volatile_1_To_10
+       is range 1 .. 10 with Volatile; that basetype should be marked
+       as being volatile.
+       (Access_Type_Declaration): Add SPARK-specific legality check
+       that the designated type of an access type shall be compatible
+       with respect to volatility with the access type.
+       * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Add
+       SPARK-specific legality check that an actual type parameter in
+       an instantiation shall be compatible with respect to volatility
+       with the corresponding formal type.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Perform checks
+       for aspect specs for the 4 volatility refinement aspects that
+       were already being performed for all language-defined aspects.
+       * sem_prag.adb (Analyze_External_Property_In_Decl_Part,
+       Analyze_Pragma): External properties (other than No_Caching) may
+       be specified for a type, including a generic formal type.
+       * sem_util.ads: Declare new subprograms - Async_Readers_Enabled,
+       Async_Writers_Enabled, Effective_Reads, Effective_Writes, and
+       Check_Volatility_Compatibility.
+       * sem_util.adb (Async_Readers_Enabled, Async_Writers_Enabled,
+       Effective_Reads, Effective_Writes): Initial implementation of
+       new functions for querying aspect values.
+       (Check_Volatility_Compatibility): New procedure intended for use
+       in checking all SPARK legality rules of the form "<> shall be
+       compatible with respect to volatility with <>".
+       (Has_Enabled_Property): Update comment because Item_Id can be a
+       type.  Change name of nested Variable_Has_Enabled_Property
+       function to Type_Or_Variable_Has_Enabled_Property; add a
+       parameter to that function because recursion may be needed,
+       e.g., in the case of a derived typ).  Cope with the case where
+       the argument to Has_Enabled_Property is a type.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Add_Association): Add assertion about the formal
+       parameters.
+       (Propagate_Discriminants): Always add an explicit component
+       association, so that an "others => <>" association is never
+       needed.
+
+2020-06-11  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.adb (Build_Elementary_Put_Image_Call): If the
+       underlying type is real, call Put_Image_Unknown.
+       (Build_Unknown_Put_Image_Call): Pass the type name to
+       Put_Image_Unknown.
+       * libgnat/s-putima.ads, libgnat/s-putima.adb
+       (Put_Image_Unknown): Add Type_Name parameter.  Remove
+       overly-detailed documentation of what it does; better to leave
+       it open.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Build_Constrained_Array_Type,
+       Build_Constrained_Discriminated_Type): Skip unnecessary loop
+       iterations.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Build_Constrained_Itype): Move to Sem_Util.
+       * sem_ch3.adb (Build_Subtype, Inherit_Predicate_Flags): Move...
+       * sem_util.adb (Build_Subtype): Here.  Add parameters for
+       references to objects previously declared in enclosing scopes.
+       (Inherit_Predicate_Flags): And here, because it is called by
+       Build_Subtype.
+       * sem_util.ads (Build_Overriding_Spec): Reorder alphabetically.
+       (Build_Subtype): Moved from Sem_Ch3; comments updated.
+       (Build_Constrained_Itype): Moved from Sem_Aggr; comments
+       updated.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Case_Table_Type): Change index type from Nat to
+       Pos.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Build_Constrained_Itype): Previously a declare
+       block, now a separate procedure; the only change is that now
+       New_Assoc_List might include components and an others clause,
+       which we ignore (while we deal with discriminants exactly as we
+       did before); extend a ??? comment about how this routine is
+       different from the Build_Subtype
+       (Resolve_Record_Aggregate): Create a constrained itype not just
+       for the outermost record aggregate, but for its inner record
+       aggregates as well.
+
+2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Build_Discriminant_Checks): Build an explicit
+       dereference when the type is an access type.
+       * exp_atag.adb (Build_CW_Membership): Add explicit dereferences.
+       (Build_Get_Access_Level): Likewise.
+       (Build_Get_Alignment): Likewise.
+       (Build_Inherit_Prims): Likewise.
+       (Build_Get_Transportable): Likewise.
+       (Build_Set_Size_Function): Likewise.
+       * exp_ch3.adb (Build_Offset_To_Top_Function): Likewise.
+       * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
+       (Expand_N_Indexed_Component ): Remove code dealing with implicit
+       dereferences.
+       (Expand_N_Selected_Component): Likewise.
+       (Expand_N_Slice): Likewise.
+       * exp_ch9.adb (Add_Formal_Renamings): Add explicit dereference.
+       (Expand_Accept_Declarations): Likewise.
+       (Build_Simple_Entry_Call): Remove code dealing with implicit
+       dereferences.
+       (Expand_N_Requeue_Statement): Likewise.
+       * exp_disp.adb (Expand_Dispatching_Call): Build an explicit
+       dereference when the controlling type is an access type.
+       * exp_spark.adb (Expand_SPARK_N_Selected_Component): Delete.
+       (Expand_SPARK_N_Slice_Or_Indexed_Component): Likewise.
+       (Expand_SPARK): Do not call them.
+       * sem_ch4.adb (Process_Implicit_Dereference_Prefix): Delete.
+       (Process_Indexed_Component): Call Implicitly_Designated_Type
+       to get the designated type for an implicit dereference.
+       (Analyze_Overloaded_Selected_Component): Do not insert an
+       explicit dereference here.
+       (Analyze_Selected_Component): Likewise.
+       (Analyze_Slice): Call Implicitly_Designated_Type to get the
+       designated type for an implicit dereference.
+       * sem_ch8.adb (Has_Components): New predicate extracted from...
+       (Is_Appropriate_For_Record): ...this.  Delete.
+       (Is_Appropriate_For_Entry_Prefix): Likewise.
+       (Analyze_Renamed_Entry): Deal with implicit dereferences.
+       (Find_Selected_Component): Do not insert an explicit dereference
+       here.  Call Implicitly_Designated_Type to get the designated type
+       for an implicit dereference.  Call Has_Components, Is_Task_Type
+       and Is_Protected_Type directly.  Adjust test for error.
+       * sem_res.adb (Resolve_Implicit_Dereference): New procedure.
+       (Resolve_Call): Call Resolve_Indexed_Component last.
+       (Resolve_Entry): Call Resolve_Implicit_Dereference on the prefix.
+       (Resolve_Indexed_Component): Call Implicitly_Designated_Type to
+       get the designated type for an implicit dereference and
+       Resolve_Implicit_Dereference on the prefix at the end.
+       (Resolve_Selected_Component): Likewise.
+       (Resolve_Slice): Likewise.  Do not apply access checks here.
+       * sem_util.ads (Implicitly_Designated_Type): Declare.
+       * sem_util.adb (Copy_And_Maybe_Dereference): Simplify.
+       (Implicitly_Designated_Type): New function.
+       (Object_Access_Level): Fix typo.
+       * sem_warn.adb (Check_Unset_Reference): Test Comes_From_Source
+       on the original node.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb: Minor reformatting.
+       * exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Recognize
+       aggregates of the Ada.Tags.Object_Specific_Data type as static.
+       * sem_aggr.adb (Check_Static_Discriminated_Subtype): Deconstruct
+       and do not call it from Build_Constrained_Itype.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb (Make_Secondary_DT): Internally generated OSD
+       tables are now constant.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Backend_Processing_Possible): Remove useless
+       call.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * opt.ads (Building_Static_Dispatch_Tables): Fix punctuation in
+       comment.
+
+2020-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-stposu.ads (Root_Storage_Pool_With_Subpools,
+       Root_Subpool): Mark with Preelaborable_Initialization.
+
+2020-06-11  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Conditional_Entry_Call): Replace call to
+       New_Copy_List by calls to the new routine
+       New_Copy_Separate_List.
+       * sem_util.ads (New_Copy_Separate_List, New_Copy_Separate_Tree):
+       New routines.
+       * sem_util.adb (New_Copy_Separate_List, New_Copy_Separate_Tree):
+       New routines.
+       (New_Copy_Tree): Extend the machinery that detects syntactic
+       nodes to handle lists of indentifiers with field More_Ids;
+       otherwise such nodes are erroneously handled as semantic nodes.
+       Copy aspect specifications attached to nodes.
+       * sem_ch12.adb (Copy_Generic_Node): Protect reading attribute
+       Etype.
+
+2020-06-11  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Do not set the
+       Has_Predicates flag when the Predicate_Failure aspect is seen.
+       It is legal (but pointless) to use this aspect without a
+       predicate.  If we set the flag, we generate a half-baked
+       Predicate procedure, and if that procedure is nested, it causes
+       unnesting to crash.
+
+2020-06-11  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove
+       special processing of protected types, because those are handled
+       by Build_Protected_Put_Image_Call.
+       (Enable_Put_Image): Use the switch -gnatd_z to control enabling
+       of Put_Image. Disable Put_Image for types in Remote_Types
+       packages.
+       * debug.adb: Document -gnatd_z switch.
+       * exp_imgv.adb, libgnat/a-stteou.ads, opt.ads: Minor cleanups.
+
+2020-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Add label to the
+       outer loop and use it in the exit statement.
+
+2020-06-11  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch3.adb (Build_Assignment): Generate predicate check if
+       subtype mark has predicate.
+
+2020-06-11  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Expand_N_Attribute_Reference): Use original
+       nodes where required to avoid looking at the expanded tree.
+
+2020-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-catizo.ads, libgnat/a-nbnbin.ads,
+       libgnat/a-nbnbre.ads, libgnat/a-nubinu.ads,
+       libgnat/s-aoinar.ads, libgnat/s-aomoar.ads,
+       libgnat/s-aotase.ads, libgnat/s-stopoo.ads: Remove aspects that
+       we will not implement.
+
+2020-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add,
+       Atomic_Fetch_And_Subtract): Add fallback using
+       compare-and-exchange, in case the integer type does not map to a
+       machine type.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-aomoar.ads, libgnat/s-aomoar.adb: New files.
+       * libgnat/s-atopar.ads: Move...
+       * libgnat/s-aoinar.ads: Here.
+       * libgnat/s-atopar.adb: Move...
+       * libgnat/s-aoinar.adb: Here.
+       * impunit.adb: Update list of runtime files.
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS=): Adjust.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * snames.ads-tmpl (Name_Characters_Assertion_Check,
+       Name_Containers_Assertion_Check,
+       Name_Interfaces_Assertion_Check, Name_IO_Assertion_Check,
+       Name_Numerics_Assertion_Check, Name_Strings_Assertion_Check,
+       Name_System_Assertion_Check): New constants.
+       * types.ads (Characters_Assertion_Check,
+       Containers_Assertion_Check, Interfaces_Assertion_Check,
+       IO_Assertion_Check, Numerics_Assertion_Check,
+       Strings_Assertion_Check, System_Assertion_Check): New constants.
+       (All_Checks): Update accordingly.
+
+2020-06-10  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty
+       if Etype of record component has predicates.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Statements): Implement the notion of
+       "require late initialization".
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.adb (Copy_And_Maybe_Dereference): Temporarily copy
+       the parent node of the original tree when dereferencing.
+
+2020-06-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Add a warning when
+       two actuals in a call overlap, both are composite types that may
+       be passed by reference, and only one of them is writable.
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_In): Use an expression with actions to
+       insert the PE raise statement for the Unchecked_Union case.
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Analyze_Call): Use idiomatic condition.
+       * sem_res.adb (Resolve_Call): Remove obsolete code.
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.adb (Copy_And_Maybe_Dereference): New function.
+       (Build_Access_Record_Constraint): Use it to copy the prefix.
+       (Build_Actual_Array_Constraint): Likewise.
+       (Build_Actual_Record_Constraint): Likewise.
+
+2020-06-10  Bob Duff  <duff@adacore.com>
+
+       * sem_prag.adb (Invariant): Remove the pragma removing code.  It
+       doesn't work to remove the pragma, because various flags are set
+       during Build_Invariant_Procedure_Declaration and
+       Build_Invariant_Procedure_Body that need to be set to avoid the
+       spurious warnings.
+       * exp_util.adb (Make_Invariant_Call): Avoid calling the
+       invariant-checking procedure if the body is empty. This is an
+       optimization.
+
+2020-06-10  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric
+       switches description.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * repinfo-input.ads, repinfo-input.adb, repinfo.adb,
+       repinfo.ads: Update header.
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (In_Place_Assign_OK): Do not necessarily return
+       false for a type with discriminants.
+       (Convert_To_Assignments): Use Parent_Node and Parent_Kind more
+       consistently.  In the in-place assignment case, first apply a
+       discriminant check if need be, and be prepared for a rewritten
+       aggregate as a result.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * atree.adb, contracts.adb, debug.adb, freeze.adb,
+       repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb,
+       sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
+       sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb,
+       sem_prag.adb: Remove more references to ASIS.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-secsta.adb (Round_Up): Fix typo in exception
+       message.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch4.adb (P_Membership_Test): Fix typo in a grammar rule.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
+       expansion of First and Last attributes.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Remove folding
+       for Enum_Rep attribute.
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
+       duplicated code for folding Enum_Rep attribute.
+       * sem_attr.adb (Eval_Attribute): Relax condition for folding
+       Enum_Rep attribute; previously dead code is now executed when
+       the attribute prefix is an enumeration literal; refine type in
+       processing of Enum_Val.
+
+2020-06-10  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations): Adjust the machinery that
+       takes care of late body overriding of initialize, adjust,
+       finalize.  Remove ASIS mode code.
+
+2020-06-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads (Access_Subprogram_Wrapper): New attribute of
+       Subprogram_Type entities. Denotes subprogram constructed for
+       Access_To_Subprogram types that include pre- and postconditions.
+       * einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper.
+       * exp_ch6.adb (Expand_Call): An indirect call through an
+       Access_To_subprogram that includes contracts is rewritten as a
+       call to the corresponding Access_ ubprogram_Wrapper. Handle
+       derived types that inherit contract from parent.
+       * sem_prag.adb (Build_Access_Subprogram_Wrapper): Build
+       subprogram declaration for subprogram that incorporates the
+       contracts of an Access_To_Subprogram type declaration. Build
+       corresponding body and attach it to freeze actions for type.
+       * sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper):
+       Utility that uses signature of the subprogram to determine
+       whether it is a generated wrapper for an Access_To_Subprogram
+       type.
+
+2020-06-10  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * par-ch6.adb (P_Subprogram): Make sure the specification
+       belongs to a procedure.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (All_Membership_Choices_Static): Assert an AST
+       property documented in sinfo.ads and simplify an excessive
+       condition.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Fix a copy-paste
+       mistake in comment.
+       * sem_res.adb (Flag_Effectively_Volatile_Objects): Fix a type in
+       the SPARK RM rule number.
+       * exp_ch4.adb, sem_util.adb: Fix style in single line comments.
+
+2020-06-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aux.ads, sem_aux.adb (Get_Low_Bound): Remove.
+
+2020-06-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * scn.adb (Determine_License): Remove.
+
+2020-06-10  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Add condition to
+       handle processing of objects initialized by a call to a function
+       return an anonymous access type.
+       * exp_ch6.adb, exp_ch6.ads
+       (Has_Unconstrained_Access_Discriminants): Moved to sem_util.adb
+       (Needs_Result_Accessibility_Level): Moved to sem_util.adb
+       * sem_util.adb, sem_util.ads
+       (Has_Unconstrained_Access_Discriminants): Moved from exp_ch6.adb
+       (Needs_Result_Accessibility_Level): Moved from exp_ch6.adb
+       * sem_res.adb (Valid_Conversion): Add condition for the special
+       case where the operand of a conversion is the result of an
+       anonymous access type
+
+2020-06-10  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * par-ch6.adb (P_Subprogram): Reject duplicate subprogram
+       declarations.
+
+2020-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Insert_Post_Call_Actions): Deal with the context
+       of an if-expression and with a call written in prefixed notation.
+
+2020-06-10  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads: Minor reformatting of a comment.
+       * exp_aggr.adb: Minor reformatting and a grammar correction.
+       * exp_attr.adb: Minor reformatting and a typo fix in some
+       comments.
+       * sem_ch12.adb: Fix three typos in comments.
+
+2020-06-09  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch6.adb (New_Overloaded_Entity): Add missing call to check
+       subtype conformance of overriding dispatching primitive.
+       * sem_eval.adb (Subtypes_Statically_Match): Handle derivations
+       of private subtypes.
+       * libgnat/g-exptty.adb, libgnat/g-exptty.ads
+       (Set_Up_Communications): Fix the profile since null-exclusion is
+       missing in the access type formals.
+       * sem_disp.ads (Check_Operation_From_Private_View): Adding
+       documentation.
+
+2020-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (XEINFO section): Update format description.
+       (Is_Subprogram_Or_Entry): Move pragma to regular section.
+       (Is_Subprogram_Or_Generic_Subprogram): Likewise.
+       * xeinfo.adb (Get_B4): Rename to...
+       (Get_B0): ...this.
+       (Translate_Expr): New procedure extracted from...
+       (XEinfo): ...here.  Try to apply Get_B0 first and then
+       call Translate_Expr to translate supported constructs.
+
+2020-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Freeze_Subprogram): Deal with convention C_Family.
+       * freeze.adb (Freeze_Profile): Likewise.  Add missing guard.
+       * sem_mech.adb (Set_Mechanisms): Likewise.
+       * lib-xref.adb (Output_Import_Export_Info): Ditto for C_Variadic.
+       * repinfo.adb (List_Subprogram_Info): Likewise.
+       * sem_prag.adb (Set_Convention_From_Pragma): Move main checks for
+       Stdcall to...
+       (Process_Convention): ...here.  Add checks for C_Variadic.
+       * snames.ads-tmpl: Add Name_C_Variadic_0 .. Name_C_Variadic_16.
+       Use consistent format for subtype declarations.
+       (Convention_Id): Add Convention_C_Variadic_0 .. C_Variadic_16
+       and move Convention_CPP up.
+       (Convention_C_Family): New subtype of Convention_Id.
+       (Convention_C_Variadic): Likewise.
+       (Foreign_Convention): Use explicit upper bound.
+       Add pragma Inline for Is_Configuration_Pragma_Name,
+       Is_Function_Attribute_Name, Is_Internal_Attribute_Name
+       and Is_Procedure_Attribute_Name.
+       * snames.adb-tmpl (Get_Convention_Id): Deal with Name_Variadic_n.
+       (Get_Convention_Name): Deal with Convention_Variadic_n.
+       * types.h (Convention_Id): New typedef.
+       * xsnamest.adb (Name2): New variable.
+       (Is_Conv): New pattern.
+       (Get_Subt1): Likewise.
+       (Get_Subt2): Likewise.
+       Output subtypes of Convention_Id into the C header file.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch9.adb,
+       exp_disp.adb, exp_util.adb: Add comments related to errors that
+       should be moved to semantic analysis. Also replace "?" with "??"
+       in warning messages.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-strunb__shared.ads, libgnat/a-strunb__shared.adb
+       (Reference, Unreference): No-op for Empty_Shared_String.
+       Remove unneeded calls to Reference.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Assignment): Remove kludge for
+       AI05-0087.
+       * sem_ch12.adb (Validate_Derived_Type_Instance): Implement
+       AI05-0087 retroactively since it's a binding interpretation.
+
+2020-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Has_Foreign_Convention): Fix description.
+       (Component_Alignment): Move around.
+       (Has_DIC): Likewise.
+       (Has_Interrupt_Handler): Likewise.
+       (Has_Invariants): Likewise.
+       (Is_Atomic_Or_VFA): Likewise.
+       (Next_Index): Likewise.
+       (Scope_Depth): Likewise.
+       (Init_Component_Size): Likewise.
+       (Init_Component_Location): Likewise.
+       (Init_Size): Likewise.
+       (Inline Pragmas for functions): Add Corresponding_Function,
+       Corresponding_Procedure, Entry_Max_Queue_Lengths_Array,
+       Finalize_Storage_Only, Has_DIC, Has_Invariants,
+       Initialization_Statements, Is_Anonymous_Access_Type,
+       Next_Stored_Discriminant, Address_Clause, Alignment_Clause,
+       Float_Rep, Has_Foreign_Convention, Has_Non_Limited_View,
+       Is_Constant_Object, Is_Discriminal, Is_Finalizer, Is_Null_State,
+       Is_Prival, Is_Protected_Component, Is_Protected_Record_Type,
+       Is_Subprogram_Or_Entry, Is_Task_Record_Type, Size_Clause,
+       Stream_Size_Clause, Type_High_Bound, Type_Low_Bound, Known_*,
+       Unknown_*.
+       (Inline Pragmas for procedures): Add Set_Corresponding_Function,
+       Set_Corresponding_Procedure, Set_Finalize_Storage_Only,
+       Set_Float_Rep, Set_Initialization_Statements,
+       Init_Normalized_First_Bit, Init_Normalized_Position,
+       Init_Normalized_Position_Max.
+       * einfo.adb (Was_Hidden): Move around.
+       (Is_Packed_Array): Likewise.
+       (Model_Emin_Value): Likewise.
+       (Model_Epsilon_Value): Likewise.
+       (Model_Mantissa_Value): Likewise.
+       (Model_Small_Value): Likewise.
+
+2020-06-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
+       exact match between formal and actual for aspects Atomic and
+       Volatile only for formal derived types.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_util.adb (Side_Effect_Free): Improve handling of
+       N_Aggregate.
+
+2020-06-09  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark
+       type.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb (Max_Aggregate_Size): New function to factorize
+       code.
+       (Convert_To_Positional, Aggr_Size_OK): Use Max_Aggregate_Size.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New.
+       * exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when
+       relevant.
+
+2020-06-09  Justin Squirek  <squirek@adacore.com>
+
+       * einfo.ads (Returns_By_Ref): Modify documentation to reflect
+       that Returns_By_Ref can be applied to E_Subprogram_Type
+       entities.
+
+2020-06-09  Justin Squirek  <squirek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Modify expansion
+       of 'Overlaps_Storage to take into account zero sized arrays.
+
+2020-06-09  Bob Duff  <duff@adacore.com>
+
+       * bindo-graphs.adb, bindo-graphs.ads: For each invocation graph,
+       record the corresponding library graph.
+       * bindo-writers.adb (Write_Invocation_Graph_Vertex): Print the
+       lib item name. Remove library graph parameters.
+       * bindo-augmentors.adb, bindo-augmentors.ads,
+       bindo-builders.adb, bindo-diagnostics.adb,
+       bindo-diagnostics.ads, bindo-elaborators.adb: Remove library
+       graph parameters.
+
+2020-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): Extend trick used for
+       aggregates to qualified aggregates and object declarations
+       * einfo.ads (Has_Own_DIC): Mention the underlying full view.
+       (Has_Own_Invariants): Likewise.
+       (Has_Predicates): Likewise.
+       * exp_util.adb (Build_DIC_Procedure_Declaration): Do not deal
+       with base types explicitly but with underlying full views.
+       (Build_Invariant_Procedure_Declaration): Likewise.
+       * sem_ch13.adb (Build_Predicate_Functions): Do not deal with
+       the full view manually but call Propagate_Predicate_Attributes
+       to propagate attributes to views.
+       (Build_Predicate_Function_Declaration): Likewise.
+       * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Build bodies
+       for private full views with an underlying full view.
+       (Build_Derived_Private_Type): Small comment tweak.
+       (Complete_Private_Subtype): Call Propagate_Predicate_Attributes.
+       (Process_Full_View): Do not deal with base types explicitly for
+       DIC and Invariant attributes.  Deal with underlying full views
+       for them.  Call Propagate_Predicate_Attributes and deal with
+       underlying full views for them.
+       * sem_ch7.adb (Preserve_Full_Attributes): Do not cross propagate
+       DIC and Invariant attributes between full type and its base type.
+       Propagate Predicate attributes from the full to the private view.
+       * sem_ch9.adb (Analyze_Protected_Type_Declaration): Likewise.
+       (Analyze_Task_Type_Declaration): Likewise.
+       * sem_util.ads (Get_Views): Remove Full_Base parameter and add
+       UFull_Typ parameter.
+       (Propagate_Predicate_Attributes): New procedure.
+       * sem_util.adb (Get_Views): Remove Full_Base parameter and add
+       UFull_Typ parameter.  Retrieve the Corresponding_Record_Type
+       from the underlying full view, if any.
+       (Propagate_DIC_Attributes): Remove useless tests.
+       (Propagate_Invariant_Attributes): Likewise.
+       (Propagate_Predicate_Attributes): New procedure.
+
+2020-06-09  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch5.adb (Expand_Predicated_Loop): Perserve the original
+       loop identifier within the expansion.
+
+2020-06-09  Bob Duff  <duff@adacore.com>
+
+       * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder enumerals
+       to reflect the order of adding edges. Clarify comments.
+       * bindo-graphs.adb (Add_Edge_Kind_Check): Correct the
+       assertions.  Reorder the "when"s to match the order of adding
+       edges, and therefore the order of enumerals in type
+       Library_Graph_Edge_Kind.  Change names to "Old_" and "New_" to
+       clarify what's what.  Combine Invocation_Edge into the "<="
+       test.  Fix the "raise Program_Error" message, which was
+       backwards.
+
+2020-06-09  Bob Duff  <duff@adacore.com>
+
+       * bindo-graphs.adb (Add_Edge_Kind_Check): Add the Image of the
+       old and new Kinds to the raise Program_Error message.
+
+2020-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Is_Visible_Component): Do not special-case
+       bodies of instances.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_N_In): Fix handling of null exclusion.
+
+2020-06-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
+       exact match between formal and actual for aspects Atomic,
+       Atomic_Component, Volatile, and Volatile_Components.
+
+2020-06-09  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
+       the --no-separate-return switch of gnatpp.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_warn.adb (Warn_On_Constant_Valid_Condition): Add proper
+       warning tag.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_type.adb (Covers): Fix implementation of AI05-0149.
+       * sem_res.adb: Fix typo.
+
+2020-06-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch9.adb (Build_Master_Renaming): Make name in renaming
+       declaration unique by adding a numeric suffix, to prevent
+       accidental name conflict when several instantiations of a
+       package containing an access_to_incomplete type that designate
+       tasks appear in the same scope.
+
+2020-06-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnarl/a-synbar.ads, libgnarl/a-synbar.adb,
+       libgnarl/a-synbar__posix.ads, libgnarl/a-synbar__posix.adb
+       (Ada.Synchronous_Barriers): Annotate with SPARK_Mode => Off.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Eval_Relational_Op, Eval_String_Literal,
+       Eval_Type_Conversion): Relax rules on relational operators and
+       type conversions of static string types.
+
+2020-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type):
+       Take Default_Value and Default_Component_Value into account.
+       * sem_ch3.adb (Analyze_Object_Declaration): Update comment.
+
+2020-06-09  Bob Duff  <duff@adacore.com>
+
+       * bindo-graphs.adb (Add_Edge_Kind_Check): Disable failing part
+       of the assertion.
+
+2020-06-08  Steve Baird  <baird@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma.Set_Ravenscar_Profile): Add
+       appropriate call to Set_Restriction_No_Dependence if Ada_Version
+       >= Ada2012 and Profile is either Ravenscar or a GNAT-defined
+       Ravenscar variant (i.e., not Jorvik).
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch5.adb: Fix typo.
+       * sem_ch8.adb (Analyze_Renamed_Primitive_Operation): Check that
+       the prefix of a prefixed view must be renamable as an object.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_cat.ads: Fix typo.
+       * sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): Add
+       handling of N_Attribute_Definition_Clause.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Call
+       Validate_Remote_Access_To_Class_Wide_Type for Storage_Size and
+       Storage_Pool.
+       * sem_attr.adb, exp_ch4.adb: Update comments.
+
+2020-06-08  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch4.adb (Analyze_One_Call): Add extra condition to the
+       predicate for deciding when a given controlled call is visible.
+
+2020-06-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Port
+       changes in frontend expander.
+
+2020-06-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (All_Membership_Choices_Static): Fix style.
+
+2020-06-08  Steve Baird  <baird@adacore.com>
+
+       * libgnat/s-rident.ads: Add Jorvik to the Profile_Name
+       enumeration type.  Add an element for Jorvik to the array
+       aggregate that is the initial value of the constant
+       Profile_Info.
+       * targparm.adb (Get_Target_Parameters): Handle "pragma Profile
+       (Jorvik);" similarly to "pragma Profile (Ravenscar);".
+       * snames.ads-tmpl: Declare Name_Jorvik Name_Id. Unlike
+       Ravenscar, Jorvik is not a pragma name and has no corresponding
+       element in the Pragma_Id enumeration type; this means that its
+       declaration must not occur between those of First_Pragma_Name
+       and Last_Pragma_Name.
+       * sem_prag.adb (Analyze_Pragma): Add call to
+       Set_Ravenscar_Profile for Jorvik, similar to the existing calls
+       for Ravenscar and the GNAT Ravenscar variants.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Update Get_Object_Name
+       to go through N_Qualified_Expression and N_Type_Conversion.  Fix
+       another case of wrong usage of E_Anonymous_Access_Type instead
+       of Anonymous_Access_Kind.
+       * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Work
+       on the original node.
+       (Is_Aliased_View): Take into account N_Qualified_Expression.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Eval_Type_Conversion): Fix handling of
+       enumeration to integer conversions.
+       * exp_attr.adb (Expand_N_Attribute_Reference
+       [Attribute_Enum_Rep]): Remove special casing for first-level
+       renaming, best left to the general folding mechanism via
+       Eval_Type_Conversion.
+
+2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.adb (New_Copy): Do not clear Has_Dynamic_Range_Check.
+       * checks.ads (Append_Range_Checks): Remove Flag_Node parameter.
+       (Insert_Range_Checks): Likewise and remove default value of
+       Static_Loc parameter.
+       * checks.adb (Append_Range_Checks): Remove Flag_Node parameter.
+       Do not test and set Has_Dynamic_Range_Check.
+       (Insert_Range_Checks): Likewise and remove default value of
+       Static_Loc parameter.
+       * csinfo.adb (CSinfo): Remove 'L' from [NEUB]_Fields pattern and
+       do not handle Has_Dynamic_Range_Check.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Remove argument
+       in call to Insert_Range_Checks.
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Do not fiddle
+       with Has_Dynamic_Range_Check.
+       (Process_Range_Expr_In_Decl): Remove argument in calls to
+       Insert_Range_Checks and Append_Range_Checks.
+       * sinfo.ads (Has_Dynamic_Range_Check): Delete.
+       (Set_Has_Dynamic_Range_Check): Likewise.
+       * sinfo.adb (Has_Dynamic_Range_Check): Delete.
+       (Set_Has_Dynamic_Range_Check): Likewise.
+       * treepr.adb (Print_Node): Do not print Has_Dynamic_Range_Check.
+
+2020-06-08  Steve Baird  <baird@adacore.com>
+
+       * sem_ch13.ads: Export new function
+       All_Membership_Choices_Static.
+       * sem_ch13.adb: Implement new function
+       All_Membership_Choices_Static.  This involves moving the
+       functions Is_Static_Choice and All_Membership_Choices_Static,
+       which were previously declared within the function
+       Is_Predicate_Static, out to library level so that they can be
+       called by the new function. The already-exisiting code in
+       Is_Predicate_Static which became the body of
+       All_Membership_Choices_Static is replaced with a call to the new
+       function in order to avoid duplication.
+       * exp_ch9.adb (Is_Pure_Barrier): Several changes needed to
+       implement rules of AI12-0290 and RM D.7's definition of
+       "pure-barrier-eligible". These changes include adding a call to
+       the new function Sem_13.All_Membership_Choices_Static, as per
+       the "see 4.9" in RM D.7(1.6/5).
+
+2020-06-08  Richard Kenner  <kenner@adacore.com>
+
+       * exp_unst.adb (Visit_Node): When visiting array attribute
+       nodes, in addition to checking the type of Get_Referenced_Object
+       of the prefix, also check the actual type of the prefix.
+
+2020-06-08  Gary Dismukes  <dismukes@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): Refine test for being in a
+       subprogram body to account for no Corresponding_Body case,
+       avoiding blowups arising due to other changes here.
+       * exp_ch4.adb (Expand_N_Qualified_Expression): Apply predicate
+       checks, if any, after constraint checks are applied.
+       * sem_eval.ads (Check_Expression_Against_Static_Predicate): Add
+       Check_Failure_Is_Error formal for conditionalizing warning vs.
+       error messages.
+       * sem_eval.adb (Check_Expression_Against_Static_Predicate):
+       Issue an error message rather than a warning when the new
+       Check_Failure_Is_Error formal is True. In the nonstatic or
+       Dynamic_Predicate case where the predicate is known to fail,
+       emit the check to ensure that folded cases get checks applied.
+       * sem_res.adb (Resolve_Qualified_Expression): Call
+       Check_Expression_Against_Static_Predicate, passing True for
+       Check_Failure_Is_Error, to ensure we reject static predicate
+       violations. Remove code that was conditionally calling
+       Apply_Predicate_Check, which is no longer needed, and that check
+       procedure shouldn't be called from a resolution routine in any
+       case. Also remove associated comment about preventing infinite
+       recursion and consistency with Resolve_Type_Conversion, since
+       that handling was already similarly removed from
+       Resolve_Type_Convesion at some point.
+       (Resolve_Type_Conversion): Add passing of True for
+       Check_Failure_Is_Error parameter on call to
+       Check_Expression_Against_Static_Predicate, to ensure that static
+       conversion cases that violate a predicate are rejected as
+       errors.
+
+2020-06-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * snames.ads-tmpl (Name_SPARK): Restore after being deleted.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb,
+       par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads,
+       scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb,
+       sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
+       sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+       sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl,
+       gnatbind.adb, libgnat/s-rident.ads,
+       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+       Remove processing of SPARK_05 restriction.
+       * gnat_rm.texi: Regenerate.
+       * opt.ads: Remove processing of old checksum which is now
+       handled by gprbuild directly.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): Relax rules related to null
+       exclusions and generic objects. Handle all anonymous types
+       consistently and not just E_Anonymous_Access_Type.
+       * sem_ch8.adb (Analyze_Object_Renaming): Change wording so that
+       it applies to both renamings and instantiations to avoid
+       confusion.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-textio.ads (File_Mode): Fix typo in comment.
+
+2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Indexed_Component): Do not give a warning
+       for a nonatomic component of an atomic array which is subject to
+       an address clause in Ada 2020 mode.
+       (Resolve_Selected_Component): Likewise for an atomic record.
+
+2020-06-08  Philippe Gil  <gil@adacore.com>
+
+       * doc/gnat_ugn/the_gnat_compilation_model.rst: in "Handling
+       Files with Multiple Units" part documents gnatname use for
+       unmodified files handling and gnatchop use for files
+       refactoring.
+       * gnat_ugn.texi: Regenerate.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst:
+       Enum_Rep/Enum_Val are standard Ada 202x attributes.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-08  Javier Miranda  <miranda@adacore.com>
+
+       * exp_aggr.adb (Safe_Component): Remove code that considers as
+       unsafe components that are aggregates; such removal allows the
+       frontend to proceed and evaluate if they are safe by means of
+       invoking Safe_Aggregate.
+
+2020-06-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply
+       standard expansion to attributes First and Last.
+
+2020-06-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb, exp_util.ads, exp_util.adb (Get_Index_Subtype):
+       Move from the body of Exp_Attr to Exp_Util and expose from the
+       spec.
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Replace
+       duplicated code with a call to Get_Index_Subtype.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Simplify code by moving
+       many special cases to Is_Object_Reference and removing others by
+       only checking renamings coming from sources.
+       * sem_util.adb (Is_Object_Reference): Update for AI12-0226 and
+       add more regular handling of 'Priority. Remove special cases no
+       longer needed now that we are only checking renamings coming
+       from sources.
+
+2020-06-08  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cofove.adb (Insert_Space): The computation of Index
+       generates a spurious compiler warning about a value not being in
+       range for a statically dead branch.  Silence it using pragma
+       Warnings.
+
+2020-06-08  Bob Duff  <duff@adacore.com>
+
+       * bindo-graphs.adb (function Add_Edge): Rename
+       Add_Edge_With_Return to Add_Edge; we can tell it returns because
+       it's a function, and overloading seems appropriate in this case.
+       If Activates_Task=True, and we're not going to add a new edge
+       because an existing Pred-->Succ edge already exists, then set
+       Activates_Task to True on the preexisting edge.  This ensures
+       that the message:
+       info: use pragma Restrictions (No_Entry_Calls_In_Elaboration_Code)
+       appears when appropriate, no matter in what order the edges
+       happened to be processed.
+       (procedure Add_Edge): Remove redundant assertions.
+       (Activates_Task): Other kinds of edges can have
+       Activates_Task=True.  For example, if we had a With_Edge and
+       then an Invocation_Edge with Activates_Task=True, then the
+       With_Edge has Activates_Task set to True.
+       (Add_Edge_Kind_Check): New procedure to prevent other bugs of
+       this nature. For example, if we were to sometimes call Add_Edge
+       for a Spec_Before_Body_Edge followed by Add_Edge for a
+       With_Edge, and sometimes in the other order, that would cause a
+       similar bug to what we're fixing here.
+       (Set_Is_Recorded_Edge): Val parameter is not used. Get rid of
+       it.
+       (Set_Activates_Task): New procedure to set the Activates_Task flag.
+       * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder the
+       enumeration literals to facilitate Add_Edge_Kind_Check.
+       * ali.adb (Known_ALI_Lines): The comment about "still available"
+       was wrong. Fix that by erasing the comment, and encoding the
+       relevant information in real code. Take advantage of Ada's full
+       coverage rules by removing "others =>".  Also DRY.
+
+2020-06-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch12.adb (P_Formal_Derived_Type_Definition): Handle
+       properly formal derived types that include aspect
+       specifications, so that the "with" keyword appears twice in the
+       formal type declaration.
+       * sem_ch13.adb (Has_Generic_Parent): Return true if the type
+       itself is a generic formal.
+
+2020-06-08  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * socket.c (__gnat_minus_500ms): Remove
+       IsWindowsVersionOrGreater from condition.
+
+2020-06-08  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads,
+       libgnat/a-cfhase.ads, libgnat/a-cforma.ads, libgnat/a-cforse.ads
+       (Delete): Add Depends contract.
+
+2020-06-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * snames.ads-tmpl (Name_Program_Error_Check,
+       Name_Tasking_Check): New constants.
+       * types.ads (Program_Error_Check, Tasking_Check): New constants.
+       (All_Checks): Update accordingly.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Use ??.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * cstand.adb (Create_Standard): Update comments.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * scng.adb (Scan): Fix typo to take into account all future
+       versions of Ada.
+       * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Reduce for
+       now.
+       * sem_attr.adb (Analyze_Attribute): Only allow 'Reduce under
+       -gnatX.
+       * snames.ads-tmpl (Name_Reduce): Update comment.
+
+2020-06-05  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_disp.adb (Expand_Interface_Thunk): Add comment about
+       gnatcov reliance on specific name used for thunks.
+
+2020-06-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration): For scalar types,
+       and for subtype declarations without a constraint, subtype
+       inherits Atomic flag from base type.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep):
+       Remove extra colon.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.adb (New_Copy): Clear Has_Dynamic_Range_Check on
+       subexpression nodes.
+       * checks.adb (Append_Range_Checks): Assert that the node
+       doesn't have the Has_Dynamic_Range_Check flag set.
+       (Insert_Range_Checks): Likewise.
+       * exp_ch3.adb (Expand_N_Subtype_Indication): Do not apply
+       range checks for a full type or object declaration.
+       * sem_ch3.ads: Move with and use clauses for Nlists to...
+       (Process_Range_Expr_In_Decl): Change default to No_List for
+       the Check_List parameter.
+       * sem_ch3.adb: ...here.
+       (Process_Range_Expr_In_Decl): Likewise.  When the insertion
+       node is a declaration, only insert on the list if is present
+       when the declaration involves discriminants, and only insert
+       on the node when there is no list otherwise.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Create the
+       N_Aggregate node with its Expressions field set to No_List and
+       not to an empty list.
+
+2020-06-05  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/s-os_lib.adb (Is_Dirsep): Moved from Build_Path to
+       package level to reuse.
+       (Normalize_Pathname.Final_Value): Reduce 2 'if' statements to
+       one.
+       (Normalize_Pathname.Fill_Directory): New procedure instead of
+       function Get_Directory. Remove slash to backslash conversion and
+       drive letter uppercasing on Windows.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem.adb (Assert_Done): Relax check for main unit, as it was
+       overzealous in the case of the main unit itself.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb, sem_ch8.adb, sem_util.adb: Use Is_Incomplete_Type
+       to make the code easier to read.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb: Minor reformatting.
+       * sem_util.adb (Has_Full_Default_Initialization,
+       Is_Partially_Initialized_Type, Caller_Known_Size_Record,
+       Large_Max_Size_Mutable): Iterate with
+       First_Component/Next_Component; rename Ent to Comp.
+
+2020-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use
+       Expr_Rep_Value instead of Expr_Value to obtain the equivalent
+       integer value.
+       * sem_eval.ads (Expr_Value): Document more supported cases.
+       * sem_eval.adb (Expr_Rep_Value): Copy missing cases from
+       Exp_Value.
+
+2020-06-05  Bob Duff  <duff@adacore.com>
+
+       * rtsfind.adb, rtsfind.ads: Move subtypes of RTU_Id into package
+       body, because they are not needed by clients. Change "Child_" to
+       "Descendant", because grandchildren and great grandchildren are
+       involved.  Replace all the repetitive comments with a single
+       concise one.  Change the parent subtypes to be more consistent;
+       use the most specific parent.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * rtsfind.ads, rtsfind.adb (Is_Text_IO_Special_Package): Moved
+       from the GNATprove backend to the frontend.
+
+2020-06-05  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.ads: Add comment about function only used in
+       CodePeer.
+
+2020-06-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb, (Analyze_Task_Body): After analying the task
+       body, indicate that all local variables have no delayed aspects.
+       This prevents improper later calls to
+       Check_Aspect_At_End_Of_Declarations, that would happen when the
+       constructed task_procedure body (generated during expansion) is
+       analyzed. The legality of aspect specifications that may appear
+       on local declarations has already been established, and it is in
+       general not possible to recheck them properly during expansion,
+       when visibility may not be fully established.
+
+2020-06-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-cofuve.ads (First): Add Global contract.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Set_Convention_From_Pragma): Set the convention
+       of anonymous access array components.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-calfor.ads, libgnat/a-catizo.ads,
+       libgnat/a-catizo.adb (Local_Time_Offset, Local_Image): New.
+       (UTC_Time_Offset): Now a renaming of Local_Time_Offset.
+
+2020-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Available_Full_View): New function returning
+       either the full or the underlying full view.
+       (Build_Full_Derivation): Add guard for the full view.
+       (Copy_And_Build): Retrieve the underlying full view, if any,
+       also if deriving a completion.
+       (Build_Derived_Private_Type): Use Available_Full_View throughout
+       to decide whether a full derivation must be done.
+
+2020-06-05  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb, exp_ch11.adb, exp_imgv.adb, exp_tss.ads,
+       par-ch4.adb, sem_attr.adb, sem_util.ads: Misc cleanup.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New
+       function.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_attr.ads (Attribute_Impl_Def): Remove Enum_Rep/Val.
+       * sem_attr.adb (Attribute_20): New, move Enum_Rep/Val here.
+       (Analyze_Attribute): Take Attribute_20 into account.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * restrict.ads (Unit_Array): Add a-direct.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-stopoo.ads: Mark package Pure and leave room for
+       Nonblocking once this aspect is supported.
+
+2020-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Valid_Scalars>:
+       Set the No_Truncation flag on the unchecked conversion built for
+       scalar types.
+
+2020-06-05  Bob Duff  <duff@adacore.com>
+
+       * einfo.adb, einfo.ads, exp_util.adb: Remove Invariants_Ignored
+       flag.
+       * sem_prag.adb (Invariant): Instead of setting a flag to be
+       checked elsewhere, remove the pragma as soon as it is analyzed
+       and checked for legality.
+
+2020-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads (Apply_Length_Check): Rename Ck_Node parameter to
+       Expr.
+       (Apply_Range_Check): Likewise.
+       (Get_Range_Checks): Likewise.
+       * checks.adb (Apply_Float_Conversion_Check): Likewise.
+       (Apply_Selected_Length_Checks): Likewise.
+       (Apply_Selected_Range_Checks): Likewise.
+       (Guard_Access): Likewise.
+       (Selected_Length_Checks): Likewise.  Also avoid shadowing in
+       child procedures.
+       (Selected_Range_Checks): Likewise.
+
+2020-06-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb,
+       sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change
+       Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead
+       of -gnatX switch.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/i-c.ads (long_long, unsigned_long_long): New
+       definitions.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: add a-tasini object
+       * impunit.adb (Non_Imp_File_Names_95): Add s-tasini.
+       * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: New files.
+       * libgnarl/s-taskin.ads (Global_Initialization_Handler): New.
+       * libgnarl/s-tassta.adb (Task_Wrapper): Call
+       Global_Initialization_Handler if non null.
+
+2020-06-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Build_Suprogram_Body_Wrapper,
+       Build_Subprogram_Decl_Wrapper): New suprograms, to create the
+       wrappers needed to implement contracts on formsl subprograms at
+       the point of instantiation.
+       (Build_Subprogram_Wrappers): New subprogram within
+       Analyze_Associations, calls the above when the formal subprogram
+       has contracts, and expansion is enabled.
+       (Instantiate_Formal_Subprogram): If the actual is not an entity,
+       such as a function attribute, or a synchronized operation,
+       create a function with an internal name and call it within the
+       wrapper.
+       (Analyze_Generic_Formal_Part): Analyze contracts at the end of
+       the list of formal declarations.
+       * sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the
+       aspect and corresponding pragma can appear on a formal
+       subprogram declaration.
+       (Find_Related_Declaration_Or_Body): Ditto.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call): Set the type of the object, if
+       it is unanalyzed, before calling Convert_View on it.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of
+       Disable_FE_Inline_Always.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call): Add missing guard.
+       * sem_ch3.adb (Copy_And_Build): Adjust recursive call for
+       private types.
+       (Build_Derived_Private_Type): Deal with underlying full views.
+
+2020-06-04  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
+       libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
+       libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
+       libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
+       libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
+       libgnat/a-stouut.adb, libgnat/a-stouut.ads,
+       libgnat/a-stteou.ads, libgnat/s-putaim.adb,
+       libgnat/s-putaim.ads, libgnat/s-putima.adb, libgnat/s-putima.ads
+       (Ada.Strings.Text_Output and children, System.Put_Images): New
+       runtime support for Put_Image.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add
+       exp_put_image.o.
+       * exp_put_image.adb, exp_put_image.ads: New compiler package
+       that generates calls to runtime routines that implement
+       Put_Image.
+       * Makefile.rtl: Add object files for Ada.Strings.Text_Output and
+       children and System.Put_Images.
+       * aspects.adb: Simplify initialization of Canonical_Aspect.
+       * aspects.ads: Improve documentation. Add Aspect_Put_Image.
+       * exp_attr.adb: Add support for Put_Image, by calling routines
+       in Exp_Put_Image.
+       * sem_util.adb (Is_Predefined_Dispatching_Operation): Return
+       True for new TSS_Put_Image operation.
+       * exp_ch3.adb: For tagged types, build a dispatching
+       TSS_Put_Image operation by calling routines in Exp_Put_Image.
+       * exp_disp.adb, exp_disp.ads: Make TSS_Put_Image be number 10,
+       adjusting other operations' numbers after 10. We choose 10
+       because that's the last number shared by all runtimes.
+       * exp_strm.adb: Use named notation as appropriate.
+       * exp_cg.adb, exp_tss.ads: Add TSS_Put_Image.
+       * libgnat/a-tags.ads: Modify Max_Predef_Prims for the new
+       TSS_Put_Image.
+       * impunit.adb: Add new runtime packages.
+       * rtsfind.adb, rtsfind.ads: Add support for
+       Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
+       System.Put_Images.
+       * sem_attr.adb: Error checking for Put_Image calls.
+       * sem_ch12.adb (Valid_Default_Attribute): Support for passing
+       Put_Image as a generic formal parameter.
+       * sem_ch13.adb: Analysis of Put_Image aspect. Turn it into a
+       Put_Image attribute definition clause.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Support for
+       renaming of the Put_Image attribute.
+       * snames.adb-tmpl: Fix comments.
+       * snames.ads-tmpl (Name_Put_Image): New Name_Id.
+       (Attribute_Put_Image): New Attribute_Id.
+       * tbuild.adb, tbuild.ads (Make_Increment): New utility.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (xpand_N_Attribute_Reference) <Input>: Call
+       Find_Inherited_TSS to look up the Stream_Read TSS.
+       <Output>: Likewise for the Stream_Write TSS.
+       * exp_ch7.adb (Make_Final_Call): Call Underlying_Type on
+       private types to account for underlying full views.
+       * exp_strm.ads  (Build_Record_Or_Elementary_Input_Function):
+       Remove Use_Underlying parameter.
+       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
+       Likewise and adjust accordingly.
+       * exp_tss.adb (Find_Inherited_TSS): Deal with full views.
+       Call Find_Inherited_TSS recursively on the parent type if
+       the base type is a derived type.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Take
+       into account underlying full views for derived types.
+       * sem_ch3.adb (Copy_And_Build): Look up the underlying full
+       view only for a completion.  Be prepared for private types.
+       (Build_Derived_Private_Type): Build an underlying full view
+       for a completion in the general case too.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb,
+       sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl,
+       doc/gnat_rm/implementation_defined_pragmas.rst: Remove
+       experimental support for OpenACC.
+       * gcc-interface/misc.c, gcc-interface/trans.c,
+       gcc-interface/lang.opt: Ditto.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Generate_Discriminant_Check): Remove obsolete
+       comment.
+
+2020-06-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * par-ch3.adb (P_Identifier_Declarations): Add parsing of object
+       renamings that have neither a subtype_mark nor an
+       access_definition. Issue an error if the version is earlier than
+       Ada_2020, and suggest using -gnatX.
+       * sem_ch8.adb (Analyze_Object_Renaming): Handle
+       object_renaming_declarations that don't have an explicit
+       subtype. Errors are issued when the name is inappropriate or
+       ambiguous, and otherwise the Etype of the renaming entity is set
+       from the Etype of the renamed object.
+       * sem_util.adb (Has_Null_Exclusion): Allow for the case of no
+       subtype given in an N_Object_Renaming_Declaration.
+       * sprint.adb (Sprint_Node_Actual): Handle printing of
+       N_Object_Renaming_Declarations that are specified without an
+       explicit subtype.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sinfo.ads (N_Delta_Aggregate): Document Etype field.
+       (N_Case_Expression): Likewise.
+       (Is_Syntactic_Field) <N_Quantified_Expression>: Adjust.
+       <N_Case_Expression>: Likewise.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * adaint.c: Avoid redefining IS_DIR_SEPARATOR macro.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem.adb (Walk_Library_Items): Defer processing of main spec
+       after all other specs and before processing bodies.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C.
+
+2020-06-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sinput.adb (Sloc_Range): Ignore node in the tree if it appears
+       in a unit different from that of the node whose Sloc range we
+       are computing. This is necessary when computing the source range
+       of a subprogram body whose declaration includes a pre- or
+       postcondition, because declaration and body may appear in
+       different units, and the expanded code for the body includes
+       copies of the contract code.
+
+2020-06-04  Alexandre Oliva  <oliva@adacore.com>
+
+       * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
+       dumpbase-ext.  Mark auxbase and auxbase-strip for removal.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute) <Access>: Do not generate
+       the secondary message about a missing pragma if the convention
+       of the prefix is Intrinsic.
+       * sem_ch12.adb (Instantiate_Formal_Subprogram): Only set the
+       Convention and the Is_Inlined flag on a null procedure.
+
+2020-06-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Obj_Accessibility): Change to
+       Check_Return_Construct_Accessibility to better reflect its
+       purpose.  Add loop to properly obtain the object declaration
+       from an expanded extended return statement and add calls to get
+       the original node for associated values. Also, avoid checks when
+       the return statement being examined comes from an internally
+       generated function.
+
+2020-06-04  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * adaint.c (__gnat_is_absolute_path): Check for directory
+       separator after drive and colon.
+       (IS_DIR_SEPARATOR): Define new inline substitution.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads: Update documentation about range checks and fix
+       minor other things.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Array_Type_Declaration): Apply special handling
+       of private index types to generic packages and restrict it to
+       index types defined in the current scope.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-exextr.adb (Global_Unhandled_Action): New global
+       variable.
+       (Notify_Exception): Take into account Global_Unhandled_Action
+       and fix latent race condition.
+       (Exception_Action): Mark Favor_Top_Level so that variables can
+       be atomic.
+       (Global_Action): Mark atomic to remove the need for a lock.
+       * libgnat/g-excact.ads, libgnat/g-excact.adb
+       (Register_Global_Unhandled_Action): New procedure.
+       (Register_Global_Action): Remove lock.
+       * libgnat/s-stalib.ads (Raise_Action): Mark Favor_Top_Level to
+       be compatible with Exception_Action.
+       * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix logic wrt
+       Volatile entities and entities with an address clause: the code
+       did not match the comment/intent.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Update URL and bug report
+       instructions.
+
+2020-06-04  Steve Baird  <baird@adacore.com>
+
+       * libgnat/s-imgrea.ads: Declare a named number
+       Max_Real_Image_Length with value 5200.  Provide a comment
+       explaining why this value was chosen.
+       * libgnat/s-imgrea.adb (Set_Image_Real): Increase the upper
+       bound of the local String variable Digs to
+       Max_Real_Image_Length.
+       * libgnat/a-tiflau.adb (Put): Increase the upper bound of the
+       local String variable Buf to Max_Real_Image_Length.
+       (Puts): Increase the upper bound of the local String variable
+       Buf to Max_Real_Image_Length.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/a-dynpri.adb, libgnarl/a-taside.adb,
+       libgnarl/a-taster.adb, libgnarl/s-interr.adb,
+       libgnarl/s-interr__sigaction.adb, libgnarl/s-taasde.adb,
+       libgnarl/s-taenca.adb, libgnarl/s-taenca.ads,
+       libgnarl/s-taprop.ads, libgnarl/s-taprop__hpux-dce.adb,
+       libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
+       libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
+       libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
+       libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
+       libgnarl/s-tasque.adb, libgnarl/s-tasque.ads,
+       libgnarl/s-tasren.adb, libgnarl/s-tasren.ads,
+       libgnarl/s-tassta.adb, libgnarl/s-tasuti.adb,
+       libgnarl/s-tasuti.ads, libgnarl/s-tpoben.adb,
+       libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb,
+       libgnarl/s-tposen.adb, libgnat/s-parame.ads,
+       libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads,
+       libgnat/s-parame__vxworks.ads: Remove references to Single_Lock
+       and Global_Lock.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-atopar.adb, libgnat/s-atopex.adb: Use Object_Size
+       instead of Size, otherwise many derived types will be rejected
+       (e.g. a type with a 14 bits 'Size and a 16 bits 'Object_Size).
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Copy_Generic_Node): Add special handling for a
+       conversion between access types.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Check_Generic_Actuals): Also restore the proper
+       views of the actuals of the parent instances if the formals are
+       used as actuals of the children.
+       (Instantiate_Type): Add comment.
+
+2020-06-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb: Minor editorial fixes.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Denotes_Previous_Actual): Delete.
+       (Check_Generic_Actuals): Do not special case array types whose
+       component type denotes a previous actual.  Do not special case
+       access types whose base type is private.
+       (Check_Private_View): Remove code dealing with secondary types.
+       Do not switch the views of an array because of its component.
+       (Copy_Generic_Node): Add special handling for a comparison
+       operator on array types.
+       (Instantiate_Type): Do not special case access types whose
+       designated type is private.
+       (Set_Global_Type): Do not special case array types whose
+       component type is private.
+
+2020-06-03  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch10.adb (Process_Body_Clauses): Add loop to interate
+       through all prefixes in a use_type clause so that all packages
+       in the expanded name get examined for effectiveness.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Check_Private_View): Clean up implementation of
+       second main case, when the generic sees the private declaration.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.ads: Minor reformatting.
+       * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb (Is_Valid): Add
+       convention Intrinsic. Add detection of uninitialized big reals.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Side_Effect_Free_Statements,
+       Side_Effect_Free_Loop): New functions.
+       (Has_Non_Null_Statements): Consider N_Call_Marker as a null
+       statement.
+       * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Call
+       Set_Is_Null_Loop even inside a generic instantiation.
+       (Analyze_Loop_Statement): Mark for removal loops with no side
+       effects.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * opt.ads (Allow_Integer_Address): Fix typo in comment.
+       * stand.ads (Standard_Address): New entity.
+       * cstand.adb (Create_Standard): Create it.
+       * sem_ch4.adb (Operator_Check): Convert the operands of an
+       operation with addresses and integers to Standard_Address
+       if pragma Allow_Integer_Address is in effect.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-atopar.adb (Atomic_Fetch_And_Add): Make use of an
+       equivalent static expression.
+       (Atomic_Fetch_And_Subtract): Likewise.
+       (Is_Lock_Free): Likewise.
+       * libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
+       (Atomic_Compare_And_Exchange): Likewise.
+       (Is_Lock_Free): Likewise.
+
+2020-06-03  Vadim Godunko  <godunko@adacore.com>
+
+       * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
+       libgnat/s-parame__hpux.ads: Fix typos.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): For a type conversion, do
+       not remove the side effects of the expression only if it is of
+       universal integer type.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-aotase.ads, libgnat/s-atoope.ads,
+       libgnat/s-atopar.ads, libgnat/s-atopex.ads: Update header.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Also fold the
+       conversion for literals of enumeration types.
+
+2020-06-03  Yannick Moy  <moy@adacore.com>
+
+       * rtsfind.adb (Load_RTU): Correctly set/reset global variable to
+       ignore SPARK_Mode in instances around loading.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Accept Off
+       without prior On.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Likewise.
+       * sem_prag.adb (Analyze_Pragma): Always take into account
+       SPARK_Mode Off.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * frontend.adb (Frontend): Call (dummy for now) tree checker.
+       * debug.adb: Reserve -gnatd_V for the tree checker.
+       * vast.ads, vast.adb: New files.
+       * gcc-interface/Make-lang.in: Add vast.o.
+
+2020-06-03  Justin Squirek  <squirek@adacore.com>
+
+       * libgnat/a-cborse.adb, libgnat/a-cihase.adb,
+       libgnat/a-ciorse.adb, libgnat/a-coorse.adb: Modified to use
+       'Unrestricted_Access in certain cases where static accessibility
+       errors were triggered.
+       * exp_ch6.adb (Expand_Simple_Return_Statement): Add generation
+       of dynamic accessibility checks as determined by
+       Is_Special_Aliased_Formal_Access.
+       * sem_attr.adb (Resolve_Attribute): Add call to
+       Is_Special_Aliased_Formal_Access to avoid performing static
+       checks where dynamic ones are required.
+       * sem_ch6.adb (Check_Return_Obj_Accessibility): Handle renamed
+       objects within component associations requiring special
+       accessibility checks.
+       * sem_util.adb, sem_util.ads (Is_Special_Aliased_Formal_Access):
+       Created to detect the special case where an aliased formal is
+       being compared against the level of an anonymous access return
+       object.
+       (Object_Access_Level): Remove incorrect condition leading to
+       overly permissive accessibility levels being returned on
+       explicitly aliased parameters.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Enum_Pos_To_Rep): Adjust description.
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Pred>:
+       Reimplement in the case of an enumeration type with non-standard
+       but contiguous representation.
+       <Succ>: Likewise.
+       <Val>: Likewise.
+       * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Count the
+       literals in the first loop.  If the representation is
+       contiguous, just build the index type of the array type and set
+       Enum_Pos_To_Rep to it.
+
+2020-06-03  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb (Expand_Loop_Entry_Attribute): Revise loop that
+       resets the scopes of entities associated with Loop_Id to the
+       scope of the new function, so the resetting is not restricted to
+       itypes, but excludes loop parameters and the function entity
+       itself. However, this fix is believed to be incomplete and a ???
+       comment is added to indicate that.
+
+2020-06-03  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-regexp.ads: Fix comment
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Enum_Rep>:
+       In the case of an enumeration type, do an intermediate
+       conversion to a small integer type.  Remove useless stuff.
+       <Finalization_Size>: Do not hardcode Universal_Integer and
+       fix a type mismatch in the assignment to the variable.
+       <Max_Size_In_Storage_Elements>: Likewise.
+       <From_Any>: Do not redefine the Ptyp local variable.
+       <To_Any>: Likewise.
+       <TypeCode>: Likewise.
+       <Pos>: Small tweaks.
+       <Val>: For an enumeration type with standard representation,
+       apply the range check to the expression of a convertion to
+       Universal_Integer, if any.  For an integer type, expand to
+       a mere conversion.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-rannum.adb (Random_Discrete): In the 32-bit case,
+       use the same linear implementation as in the 64-bit case when
+       the type has a contiguous representation.
+
+2020-06-03  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_util.adb (Build_Class_Wide_Clone_Decl): Call
+       Set_Debug_Info_Needed to set the Needs_Debug_Info flag on
+       Clone_Id if the flag is set on Spec_Id.
+
+2020-06-03  Yannick Moy  <moy@adacore.com>
+
+       * inline.adb (Expand_Inlined_Call): Do not suppress checks on
+       inlined code in GNATprove mode.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Has_Contiguous_Rep): Fix typo in comment.
+
+2020-06-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, einfo.adb, exp_aggr.adb, exp_ch4.adb, exp_ch6.adb,
+       exp_unst.adb, exp_util.adb, freeze.adb, inline.adb, repinfo.adb,
+       sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch13.adb,
+       sem_ch3.adb, sem_ch4.adb, sem_ch8.adb, sem_elab.adb,
+       sem_eval.adb, sem_prag.adb, sem_res.adb, sem_smem.adb,
+       sem_util.adb, treepr.adb: Replace uses of Next_ functions with
+       corresponding procedures.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Attribute_Valid): Use Standard_Long_Long_Integer
+       in lieu of Universal_Integer as large integer type.
+       * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Likewise.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-auxdec.ads (Address_Int): New.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.adb, aspects.ads, atree.adb, atree.ads, elists.adb,
+       elists.ads, fname.adb, fname.ads, gnat1drv.adb, lib.adb,
+       lib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb,
+       opt.ads, osint-c.adb, osint-c.ads, repinfo.adb, repinfo.ads,
+       sem_aux.adb, sem_aux.ads, sinput.adb, sinput.ads, stand.ads,
+       stringt.adb, stringt.ads, switch-c.adb, table.adb, table.ads,
+       uintp.adb, uintp.ads, urealp.adb, urealp.ads (Tree_Read,
+       Tree_Write): Remove generation of ASIS trees.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Remove -gnatt and -gnatct documentation.
+       * gnat_ugn.texi: Regenerate.
+       * tree_in.ads, tree_in.adb, tree_io.ads, tree_io.adb,
+       tree_gen.ads, tree_gen.adb, stand.adb: Remove.
+       * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
+       references to tree_gen.o tree_in.o tree_io.o.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * opt.ads (Disable_FE_Inline): Move around.
+       (Disable_FE_Inline_Always): Likewise.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Is_Single_Attribute_Reference): New predicate.
+       (Generate_Range_Check): Do not force the evaluation if the
+       node is a single attribute reference.
+       * exp_util.adb (Side_Effect_Free_Attribute): New predicate.
+       (Side_Effect_Free) <N_Attribute_Reference>: Call it.
+       (Remove_Side_Effects): Remove the side effects of the prefix
+       for an attribute reference whose prefix is not a name.
+
+2020-06-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): Remove processing of
+       -gnatt.
+       * usage.adb (Usage): Remove mention of -gnatt.
+
+2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sinfo.ads: Minor tweaks in commentary.
+
+2020-06-02  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib.ads (Compilation_Switches): Remove -auxbase from
+       comments.
+       * switch.ads (Is_Internal_GCC_Switch): Likewise.
+
+2020-06-02  Arnaud Charlet  <charlet@adacore.com>
+
+       * atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads,
+       exp_ch3.adb, exp_util.adb, expander.ads, expander.adb,
+       frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads,
+       opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb,
+       sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+       sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb,
+       sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads,
+       sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads,
+       tree_io.ads: Remove references to ASIS_Mode.
+
+2020-06-02  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Generate_Temporary): New subprogram of
+       Discrete_Range_Check that generates a temporary to facilitate
+       the C backend the code generation of the unchecked conversion
+       since the size of the source type may differ from the size of
+       the target type.
+
+2020-06-02  Arnaud Charlet  <charlet@adacore.com>
+
+       * ada_get_targ.adb: Bump copyright year.
+       * adabkend.adb: Likewise.
+       * adabkend.ads: Likewise.
+       * adadecode.c: Likewise.
+       * adadecode.h: Likewise.
+       * adaint.c: Likewise.
+       * adaint.h: Likewise.
+       * affinity.c: Likewise.
+       * ali-util.adb: Likewise.
+       * ali-util.ads: Likewise.
+       * ali.adb: Likewise.
+       * ali.ads: Likewise.
+       * alloc.ads: Likewise.
+       * argv-lynxos178-raven-cert.c: Likewise.
+       * argv.c: Likewise.
+       * aspects.adb: Likewise.
+       * aspects.ads: Likewise.
+       * atree.adb: Likewise.
+       * atree.ads: Likewise.
+       * atree.h: Likewise.
+       * aux-io.c: Likewise.
+       * back_end.adb: Likewise.
+       * back_end.ads: Likewise.
+       * bcheck.adb: Likewise.
+       * bcheck.ads: Likewise.
+       * binde.adb: Likewise.
+       * binde.ads: Likewise.
+       * binderr.adb: Likewise.
+       * binderr.ads: Likewise.
+       * bindgen.adb: Likewise.
+       * bindgen.ads: Likewise.
+       * bindo-augmentors.adb: Likewise.
+       * bindo-augmentors.ads: Likewise.
+       * bindo-builders.adb: Likewise.
+       * bindo-builders.ads: Likewise.
+       * bindo-diagnostics.adb: Likewise.
+       * bindo-diagnostics.ads: Likewise.
+       * bindo-elaborators.adb: Likewise.
+       * bindo-elaborators.ads: Likewise.
+       * bindo-graphs.adb: Likewise.
+       * bindo-graphs.ads: Likewise.
+       * bindo-units.adb: Likewise.
+       * bindo-units.ads: Likewise.
+       * bindo-validators.adb: Likewise.
+       * bindo-validators.ads: Likewise.
+       * bindo-writers.adb: Likewise.
+       * bindo-writers.ads: Likewise.
+       * bindo.adb: Likewise.
+       * bindo.ads: Likewise.
+       * bindusg.adb: Likewise.
+       * bindusg.ads: Likewise.
+       * butil.adb: Likewise.
+       * butil.ads: Likewise.
+       * cal.c: Likewise.
+       * casing.adb: Likewise.
+       * casing.ads: Likewise.
+       * ceinfo.adb: Likewise.
+       * checks.adb: Likewise.
+       * checks.ads: Likewise.
+       * cio.c: Likewise.
+       * clean.adb: Likewise.
+       * clean.ads: Likewise.
+       * comperr.adb: Likewise.
+       * comperr.ads: Likewise.
+       * contracts.adb: Likewise.
+       * contracts.ads: Likewise.
+       * csets.adb: Likewise.
+       * csets.ads: Likewise.
+       * csinfo.adb: Likewise.
+       * cstand.adb: Likewise.
+       * cstand.ads: Likewise.
+       * cstreams.c: Likewise.
+       * ctrl_c.c: Likewise.
+       * debug.adb: Likewise.
+       * debug.ads: Likewise.
+       * debug_a.adb: Likewise.
+       * debug_a.ads: Likewise.
+       * einfo.adb: Likewise.
+       * einfo.ads: Likewise.
+       * elists.adb: Likewise.
+       * elists.ads: Likewise.
+       * elists.h: Likewise.
+       * env.c: Likewise.
+       * env.h: Likewise.
+       * err_vars.ads: Likewise.
+       * errno.c: Likewise.
+       * errout.adb: Likewise.
+       * errout.ads: Likewise.
+       * erroutc.adb: Likewise.
+       * erroutc.ads: Likewise.
+       * errutil.adb: Likewise.
+       * errutil.ads: Likewise.
+       * eval_fat.adb: Likewise.
+       * eval_fat.ads: Likewise.
+       * exit.c: Likewise.
+       * exp_aggr.adb: Likewise.
+       * exp_aggr.ads: Likewise.
+       * exp_atag.adb: Likewise.
+       * exp_atag.ads: Likewise.
+       * exp_attr.adb: Likewise.
+       * exp_attr.ads: Likewise.
+       * exp_cg.adb: Likewise.
+       * exp_cg.ads: Likewise.
+       * exp_ch10.ads: Likewise.
+       * exp_ch11.adb: Likewise.
+       * exp_ch11.ads: Likewise.
+       * exp_ch12.adb: Likewise.
+       * exp_ch12.ads: Likewise.
+       * exp_ch13.adb: Likewise.
+       * exp_ch13.ads: Likewise.
+       * exp_ch2.adb: Likewise.
+       * exp_ch2.ads: Likewise.
+       * exp_ch3.adb: Likewise.
+       * exp_ch3.ads: Likewise.
+       * exp_ch4.adb: Likewise.
+       * exp_ch4.ads: Likewise.
+       * exp_ch5.adb: Likewise.
+       * exp_ch5.ads: Likewise.
+       * exp_ch6.adb: Likewise.
+       * exp_ch6.ads: Likewise.
+       * exp_ch7.adb: Likewise.
+       * exp_ch7.ads: Likewise.
+       * exp_ch8.adb: Likewise.
+       * exp_ch8.ads: Likewise.
+       * exp_ch9.adb: Likewise.
+       * exp_ch9.ads: Likewise.
+       * exp_code.adb: Likewise.
+       * exp_code.ads: Likewise.
+       * exp_dbug.adb: Likewise.
+       * exp_dbug.ads: Likewise.
+       * exp_disp.adb: Likewise.
+       * exp_disp.ads: Likewise.
+       * exp_dist.adb: Likewise.
+       * exp_dist.ads: Likewise.
+       * exp_fixd.adb: Likewise.
+       * exp_fixd.ads: Likewise.
+       * exp_imgv.adb: Likewise.
+       * exp_imgv.ads: Likewise.
+       * exp_intr.adb: Likewise.
+       * exp_intr.ads: Likewise.
+       * exp_pakd.adb: Likewise.
+       * exp_pakd.ads: Likewise.
+       * exp_prag.adb: Likewise.
+       * exp_prag.ads: Likewise.
+       * exp_sel.adb: Likewise.
+       * exp_sel.ads: Likewise.
+       * exp_smem.adb: Likewise.
+       * exp_smem.ads: Likewise.
+       * exp_spark.adb: Likewise.
+       * exp_spark.ads: Likewise.
+       * exp_strm.adb: Likewise.
+       * exp_strm.ads: Likewise.
+       * exp_tss.adb: Likewise.
+       * exp_tss.ads: Likewise.
+       * exp_unst.adb: Likewise.
+       * exp_unst.ads: Likewise.
+       * exp_util.adb: Likewise.
+       * exp_util.ads: Likewise.
+       * expander.adb: Likewise.
+       * expander.ads: Likewise.
+       * expect.c: Likewise.
+       * fe.h: Likewise.
+       * final.c: Likewise.
+       * fmap.adb: Likewise.
+       * fmap.ads: Likewise.
+       * fname-sf.adb: Likewise.
+       * fname-sf.ads: Likewise.
+       * fname-uf.adb: Likewise.
+       * fname-uf.ads: Likewise.
+       * fname.adb: Likewise.
+       * fname.ads: Likewise.
+       * freeze.adb: Likewise.
+       * freeze.ads: Likewise.
+       * frontend.adb: Likewise.
+       * frontend.ads: Likewise.
+       * get_scos.adb: Likewise.
+       * get_scos.ads: Likewise.
+       * get_targ.adb: Likewise.
+       * get_targ.ads: Likewise.
+       * ghost.adb: Likewise.
+       * ghost.ads: Likewise.
+       * gnat1drv.adb: Likewise.
+       * gnat1drv.ads: Likewise.
+       * gnatbind.adb: Likewise.
+       * gnatbind.ads: Likewise.
+       * gnatchop.adb: Likewise.
+       * gnatclean.adb: Likewise.
+       * gnatcmd.adb: Likewise.
+       * gnatcmd.ads: Likewise.
+       * gnatdll.adb: Likewise.
+       * gnatfind.adb: Likewise.
+       * gnatkr.adb: Likewise.
+       * gnatkr.ads: Likewise.
+       * gnatlink.adb: Likewise.
+       * gnatlink.ads: Likewise.
+       * gnatls.adb: Likewise.
+       * gnatls.ads: Likewise.
+       * gnatmake.adb: Likewise.
+       * gnatmake.ads: Likewise.
+       * gnatname.adb: Likewise.
+       * gnatname.ads: Likewise.
+       * gnatprep.adb: Likewise.
+       * gnatprep.ads: Likewise.
+       * gnatvsn.adb: Likewise.
+       * gnatxref.adb: Likewise.
+       * gprep.adb: Likewise.
+       * gprep.ads: Likewise.
+       * gsocket.h: Likewise.
+       * hostparm.ads: Likewise.
+       * impunit.adb: Likewise.
+       * impunit.ads: Likewise.
+       * indepsw-aix.adb: Likewise.
+       * indepsw-darwin.adb: Likewise.
+       * indepsw-gnu.adb: Likewise.
+       * indepsw.adb: Likewise.
+       * indepsw.ads: Likewise.
+       * init.c: Likewise.
+       * initialize.c: Likewise.
+       * inline.adb: Likewise.
+       * inline.ads: Likewise.
+       * itypes.adb: Likewise.
+       * itypes.ads: Likewise.
+       * krunch.adb: Likewise.
+       * krunch.ads: Likewise.
+       * layout.adb: Likewise.
+       * layout.ads: Likewise.
+       * lib-list.adb: Likewise.
+       * lib-load.adb: Likewise.
+       * lib-load.ads: Likewise.
+       * lib-sort.adb: Likewise.
+       * lib-util.adb: Likewise.
+       * lib-util.ads: Likewise.
+       * lib-writ.adb: Likewise.
+       * lib-writ.ads: Likewise.
+       * lib-xref-spark_specific.adb: Likewise.
+       * lib-xref.adb: Likewise.
+       * lib-xref.ads: Likewise.
+       * lib.adb: Likewise.
+       * lib.ads: Likewise.
+       * libgnarl/a-astaco.adb: Likewise.
+       * libgnarl/a-dispat.adb: Likewise.
+       * libgnarl/a-dynpri.adb: Likewise.
+       * libgnarl/a-etgrbu.ads: Likewise.
+       * libgnarl/a-exetim__darwin.adb: Likewise.
+       * libgnarl/a-exetim__default.ads: Likewise.
+       * libgnarl/a-exetim__mingw.adb: Likewise.
+       * libgnarl/a-exetim__mingw.ads: Likewise.
+       * libgnarl/a-exetim__posix.adb: Likewise.
+       * libgnarl/a-interr.adb: Likewise.
+       * libgnarl/a-interr.ads: Likewise.
+       * libgnarl/a-intnam.ads: Likewise.
+       * libgnarl/a-intnam__aix.ads: Likewise.
+       * libgnarl/a-intnam__darwin.ads: Likewise.
+       * libgnarl/a-intnam__dragonfly.ads: Likewise.
+       * libgnarl/a-intnam__dummy.ads: Likewise.
+       * libgnarl/a-intnam__freebsd.ads: Likewise.
+       * libgnarl/a-intnam__hpux.ads: Likewise.
+       * libgnarl/a-intnam__linux.ads: Likewise.
+       * libgnarl/a-intnam__lynxos.ads: Likewise.
+       * libgnarl/a-intnam__mingw.ads: Likewise.
+       * libgnarl/a-intnam__qnx.ads: Likewise.
+       * libgnarl/a-intnam__rtems.ads: Likewise.
+       * libgnarl/a-intnam__solaris.ads: Likewise.
+       * libgnarl/a-intnam__vxworks.ads: Likewise.
+       * libgnarl/a-reatim.adb: Likewise.
+       * libgnarl/a-reatim.ads: Likewise.
+       * libgnarl/a-retide.adb: Likewise.
+       * libgnarl/a-retide.ads: Likewise.
+       * libgnarl/a-rttiev.adb: Likewise.
+       * libgnarl/a-rttiev.ads: Likewise.
+       * libgnarl/a-synbar.adb: Likewise.
+       * libgnarl/a-synbar.ads: Likewise.
+       * libgnarl/a-synbar__posix.adb: Likewise.
+       * libgnarl/a-synbar__posix.ads: Likewise.
+       * libgnarl/a-sytaco.adb: Likewise.
+       * libgnarl/a-sytaco.ads: Likewise.
+       * libgnarl/a-tasatt.adb: Likewise.
+       * libgnarl/a-tasatt.ads: Likewise.
+       * libgnarl/a-taside.adb: Likewise.
+       * libgnarl/a-taside.ads: Likewise.
+       * libgnarl/a-taster.adb: Likewise.
+       * libgnarl/g-boubuf.adb: Likewise.
+       * libgnarl/g-boubuf.ads: Likewise.
+       * libgnarl/g-boumai.ads: Likewise.
+       * libgnarl/g-semaph.adb: Likewise.
+       * libgnarl/g-semaph.ads: Likewise.
+       * libgnarl/g-signal.adb: Likewise.
+       * libgnarl/g-signal.ads: Likewise.
+       * libgnarl/g-tastus.ads: Likewise.
+       * libgnarl/g-thread.adb: Likewise.
+       * libgnarl/g-thread.ads: Likewise.
+       * libgnarl/i-vxinco.adb: Likewise.
+       * libgnarl/i-vxinco.ads: Likewise.
+       * libgnarl/s-inmaop.ads: Likewise.
+       * libgnarl/s-inmaop__dummy.adb: Likewise.
+       * libgnarl/s-inmaop__posix.adb: Likewise.
+       * libgnarl/s-inmaop__vxworks.adb: Likewise.
+       * libgnarl/s-interr.adb: Likewise.
+       * libgnarl/s-interr.ads: Likewise.
+       * libgnarl/s-interr__dummy.adb: Likewise.
+       * libgnarl/s-interr__hwint.adb: Likewise.
+       * libgnarl/s-interr__sigaction.adb: Likewise.
+       * libgnarl/s-interr__vxworks.adb: Likewise.
+       * libgnarl/s-intman.ads: Likewise.
+       * libgnarl/s-intman__android.adb: Likewise.
+       * libgnarl/s-intman__dummy.adb: Likewise.
+       * libgnarl/s-intman__lynxos.adb: Likewise.
+       * libgnarl/s-intman__mingw.adb: Likewise.
+       * libgnarl/s-intman__posix.adb: Likewise.
+       * libgnarl/s-intman__qnx.adb: Likewise.
+       * libgnarl/s-intman__solaris.adb: Likewise.
+       * libgnarl/s-intman__susv3.adb: Likewise.
+       * libgnarl/s-intman__vxworks.adb: Likewise.
+       * libgnarl/s-intman__vxworks.ads: Likewise.
+       * libgnarl/s-linux.ads: Likewise.
+       * libgnarl/s-linux__alpha.ads: Likewise.
+       * libgnarl/s-linux__android.ads: Likewise.
+       * libgnarl/s-linux__hppa.ads: Likewise.
+       * libgnarl/s-linux__mips.ads: Likewise.
+       * libgnarl/s-linux__riscv.ads: Likewise.
+       * libgnarl/s-linux__sparc.ads: Likewise.
+       * libgnarl/s-linux__x32.ads: Likewise.
+       * libgnarl/s-mudido.adb: Likewise.
+       * libgnarl/s-mudido__affinity.adb: Likewise.
+       * libgnarl/s-osinte__aix.adb: Likewise.
+       * libgnarl/s-osinte__aix.ads: Likewise.
+       * libgnarl/s-osinte__android.adb: Likewise.
+       * libgnarl/s-osinte__android.ads: Likewise.
+       * libgnarl/s-osinte__darwin.adb: Likewise.
+       * libgnarl/s-osinte__darwin.ads: Likewise.
+       * libgnarl/s-osinte__dragonfly.adb: Likewise.
+       * libgnarl/s-osinte__dragonfly.ads: Likewise.
+       * libgnarl/s-osinte__dummy.ads: Likewise.
+       * libgnarl/s-osinte__freebsd.adb: Likewise.
+       * libgnarl/s-osinte__freebsd.ads: Likewise.
+       * libgnarl/s-osinte__gnu.adb: Likewise.
+       * libgnarl/s-osinte__gnu.ads: Likewise.
+       * libgnarl/s-osinte__hpux-dce.adb: Likewise.
+       * libgnarl/s-osinte__hpux-dce.ads: Likewise.
+       * libgnarl/s-osinte__hpux.ads: Likewise.
+       * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+       * libgnarl/s-osinte__linux.ads: Likewise.
+       * libgnarl/s-osinte__lynxos178.adb: Likewise.
+       * libgnarl/s-osinte__lynxos178e.ads: Likewise.
+       * libgnarl/s-osinte__mingw.ads: Likewise.
+       * libgnarl/s-osinte__posix.adb: Likewise.
+       * libgnarl/s-osinte__qnx.adb: Likewise.
+       * libgnarl/s-osinte__qnx.ads: Likewise.
+       * libgnarl/s-osinte__rtems.adb: Likewise.
+       * libgnarl/s-osinte__rtems.ads: Likewise.
+       * libgnarl/s-osinte__solaris.adb: Likewise.
+       * libgnarl/s-osinte__solaris.ads: Likewise.
+       * libgnarl/s-osinte__vxworks.adb: Likewise.
+       * libgnarl/s-osinte__vxworks.ads: Likewise.
+       * libgnarl/s-osinte__x32.adb: Likewise.
+       * libgnarl/s-proinf.adb: Likewise.
+       * libgnarl/s-proinf.ads: Likewise.
+       * libgnarl/s-qnx.ads: Likewise.
+       * libgnarl/s-solita.adb: Likewise.
+       * libgnarl/s-solita.ads: Likewise.
+       * libgnarl/s-stusta.adb: Likewise.
+       * libgnarl/s-stusta.ads: Likewise.
+       * libgnarl/s-taasde.adb: Likewise.
+       * libgnarl/s-taasde.ads: Likewise.
+       * libgnarl/s-tadeca.adb: Likewise.
+       * libgnarl/s-tadeca.ads: Likewise.
+       * libgnarl/s-tadert.adb: Likewise.
+       * libgnarl/s-tadert.ads: Likewise.
+       * libgnarl/s-taenca.adb: Likewise.
+       * libgnarl/s-taenca.ads: Likewise.
+       * libgnarl/s-taprob.adb: Likewise.
+       * libgnarl/s-taprob.ads: Likewise.
+       * libgnarl/s-taprop.ads: Likewise.
+       * libgnarl/s-taprop__dummy.adb: Likewise.
+       * libgnarl/s-taprop__hpux-dce.adb: Likewise.
+       * libgnarl/s-taprop__linux.adb: Likewise.
+       * libgnarl/s-taprop__mingw.adb: Likewise.
+       * libgnarl/s-taprop__posix.adb: Likewise.
+       * libgnarl/s-taprop__qnx.adb: Likewise.
+       * libgnarl/s-taprop__solaris.adb: Likewise.
+       * libgnarl/s-taprop__vxworks.adb: Likewise.
+       * libgnarl/s-tarest.adb: Likewise.
+       * libgnarl/s-tarest.ads: Likewise.
+       * libgnarl/s-tasdeb.adb: Likewise.
+       * libgnarl/s-tasdeb.ads: Likewise.
+       * libgnarl/s-tasinf.adb: Likewise.
+       * libgnarl/s-tasinf.ads: Likewise.
+       * libgnarl/s-tasinf__linux.adb: Likewise.
+       * libgnarl/s-tasinf__linux.ads: Likewise.
+       * libgnarl/s-tasinf__mingw.adb: Likewise.
+       * libgnarl/s-tasinf__mingw.ads: Likewise.
+       * libgnarl/s-tasinf__solaris.adb: Likewise.
+       * libgnarl/s-tasinf__solaris.ads: Likewise.
+       * libgnarl/s-tasinf__vxworks.ads: Likewise.
+       * libgnarl/s-tasini.adb: Likewise.
+       * libgnarl/s-tasini.ads: Likewise.
+       * libgnarl/s-taskin.adb: Likewise.
+       * libgnarl/s-taskin.ads: Likewise.
+       * libgnarl/s-taspri__dummy.ads: Likewise.
+       * libgnarl/s-taspri__hpux-dce.ads: Likewise.
+       * libgnarl/s-taspri__lynxos.ads: Likewise.
+       * libgnarl/s-taspri__mingw.ads: Likewise.
+       * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
+       * libgnarl/s-taspri__posix.ads: Likewise.
+       * libgnarl/s-taspri__solaris.ads: Likewise.
+       * libgnarl/s-taspri__vxworks.ads: Likewise.
+       * libgnarl/s-tasque.adb: Likewise.
+       * libgnarl/s-tasque.ads: Likewise.
+       * libgnarl/s-tasren.adb: Likewise.
+       * libgnarl/s-tasren.ads: Likewise.
+       * libgnarl/s-tasres.ads: Likewise.
+       * libgnarl/s-tassta.adb: Likewise.
+       * libgnarl/s-tassta.ads: Likewise.
+       * libgnarl/s-tasuti.adb: Likewise.
+       * libgnarl/s-tasuti.ads: Likewise.
+       * libgnarl/s-tataat.adb: Likewise.
+       * libgnarl/s-tataat.ads: Likewise.
+       * libgnarl/s-tpinop.adb: Likewise.
+       * libgnarl/s-tpinop.ads: Likewise.
+       * libgnarl/s-tpoaal.adb: Likewise.
+       * libgnarl/s-tpoben.adb: Likewise.
+       * libgnarl/s-tpoben.ads: Likewise.
+       * libgnarl/s-tpobmu.adb: Likewise.
+       * libgnarl/s-tpobmu.ads: Likewise.
+       * libgnarl/s-tpobop.adb: Likewise.
+       * libgnarl/s-tpobop.ads: Likewise.
+       * libgnarl/s-tpopmo.adb: Likewise.
+       * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
+       * libgnarl/s-tpopsp__posix.adb: Likewise.
+       * libgnarl/s-tpopsp__solaris.adb: Likewise.
+       * libgnarl/s-tpopsp__tls.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks.adb: Likewise.
+       * libgnarl/s-tporft.adb: Likewise.
+       * libgnarl/s-tposen.adb: Likewise.
+       * libgnarl/s-tposen.ads: Likewise.
+       * libgnarl/s-vxwext.adb: Likewise.
+       * libgnarl/s-vxwext.ads: Likewise.
+       * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.ads: Likewise.
+       * libgnarl/s-vxwext__noints.adb: Likewise.
+       * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.ads: Likewise.
+       * libgnarl/s-vxwext__vthreads.ads: Likewise.
+       * libgnarl/s-vxwork__aarch64.ads: Likewise.
+       * libgnarl/s-vxwork__arm.ads: Likewise.
+       * libgnarl/s-vxwork__ppc.ads: Likewise.
+       * libgnarl/s-vxwork__x86.ads: Likewise.
+       * libgnarl/thread.c: Likewise.
+       * libgnat/a-assert.adb: Likewise.
+       * libgnat/a-assert.ads: Likewise.
+       * libgnat/a-btgbso.adb: Likewise.
+       * libgnat/a-btgbso.ads: Likewise.
+       * libgnat/a-calari.adb: Likewise.
+       * libgnat/a-calari.ads: Likewise.
+       * libgnat/a-calcon.adb: Likewise.
+       * libgnat/a-calcon.ads: Likewise.
+       * libgnat/a-caldel.adb: Likewise.
+       * libgnat/a-caldel.ads: Likewise.
+       * libgnat/a-calend.adb: Likewise.
+       * libgnat/a-calend.ads: Likewise.
+       * libgnat/a-calfor.adb: Likewise.
+       * libgnat/a-calfor.ads: Likewise.
+       * libgnat/a-catizo.adb: Likewise.
+       * libgnat/a-cbdlli.adb: Likewise.
+       * libgnat/a-cbdlli.ads: Likewise.
+       * libgnat/a-cbhama.adb: Likewise.
+       * libgnat/a-cbhama.ads: Likewise.
+       * libgnat/a-cbhase.adb: Likewise.
+       * libgnat/a-cbhase.ads: Likewise.
+       * libgnat/a-cbmutr.adb: Likewise.
+       * libgnat/a-cbmutr.ads: Likewise.
+       * libgnat/a-cborma.adb: Likewise.
+       * libgnat/a-cborma.ads: Likewise.
+       * libgnat/a-cborse.adb: Likewise.
+       * libgnat/a-cborse.ads: Likewise.
+       * libgnat/a-cbprqu.adb: Likewise.
+       * libgnat/a-cbprqu.ads: Likewise.
+       * libgnat/a-cbsyqu.adb: Likewise.
+       * libgnat/a-cbsyqu.ads: Likewise.
+       * libgnat/a-cdlili.adb: Likewise.
+       * libgnat/a-cdlili.ads: Likewise.
+       * libgnat/a-cfdlli.adb: Likewise.
+       * libgnat/a-cfdlli.ads: Likewise.
+       * libgnat/a-cfhama.adb: Likewise.
+       * libgnat/a-cfhama.ads: Likewise.
+       * libgnat/a-cfhase.adb: Likewise.
+       * libgnat/a-cfhase.ads: Likewise.
+       * libgnat/a-cfinve.adb: Likewise.
+       * libgnat/a-cfinve.ads: Likewise.
+       * libgnat/a-cforma.adb: Likewise.
+       * libgnat/a-cforma.ads: Likewise.
+       * libgnat/a-cforse.adb: Likewise.
+       * libgnat/a-cforse.ads: Likewise.
+       * libgnat/a-cgaaso.adb: Likewise.
+       * libgnat/a-cgaaso.ads: Likewise.
+       * libgnat/a-cgarso.adb: Likewise.
+       * libgnat/a-cgcaso.adb: Likewise.
+       * libgnat/a-chacon.adb: Likewise.
+       * libgnat/a-chacon.ads: Likewise.
+       * libgnat/a-chahan.adb: Likewise.
+       * libgnat/a-chahan.ads: Likewise.
+       * libgnat/a-chlat9.ads: Likewise.
+       * libgnat/a-chtgbk.adb: Likewise.
+       * libgnat/a-chtgbk.ads: Likewise.
+       * libgnat/a-chtgbo.adb: Likewise.
+       * libgnat/a-chtgbo.ads: Likewise.
+       * libgnat/a-chtgke.adb: Likewise.
+       * libgnat/a-chtgke.ads: Likewise.
+       * libgnat/a-chtgop.adb: Likewise.
+       * libgnat/a-chtgop.ads: Likewise.
+       * libgnat/a-chzla1.ads: Likewise.
+       * libgnat/a-chzla9.ads: Likewise.
+       * libgnat/a-cidlli.adb: Likewise.
+       * libgnat/a-cidlli.ads: Likewise.
+       * libgnat/a-cihama.adb: Likewise.
+       * libgnat/a-cihama.ads: Likewise.
+       * libgnat/a-cihase.adb: Likewise.
+       * libgnat/a-cihase.ads: Likewise.
+       * libgnat/a-cimutr.adb: Likewise.
+       * libgnat/a-cimutr.ads: Likewise.
+       * libgnat/a-ciorma.adb: Likewise.
+       * libgnat/a-ciorma.ads: Likewise.
+       * libgnat/a-ciormu.adb: Likewise.
+       * libgnat/a-ciormu.ads: Likewise.
+       * libgnat/a-ciorse.adb: Likewise.
+       * libgnat/a-ciorse.ads: Likewise.
+       * libgnat/a-clrefi.adb: Likewise.
+       * libgnat/a-clrefi.ads: Likewise.
+       * libgnat/a-coboho.adb: Likewise.
+       * libgnat/a-coboho.ads: Likewise.
+       * libgnat/a-cobove.adb: Likewise.
+       * libgnat/a-cobove.ads: Likewise.
+       * libgnat/a-cofove.adb: Likewise.
+       * libgnat/a-cofove.ads: Likewise.
+       * libgnat/a-cofuba.adb: Likewise.
+       * libgnat/a-cofuba.ads: Likewise.
+       * libgnat/a-cofuma.adb: Likewise.
+       * libgnat/a-cofuma.ads: Likewise.
+       * libgnat/a-cofuse.adb: Likewise.
+       * libgnat/a-cofuse.ads: Likewise.
+       * libgnat/a-cofuve.adb: Likewise.
+       * libgnat/a-cofuve.ads: Likewise.
+       * libgnat/a-cogeso.adb: Likewise.
+       * libgnat/a-cogeso.ads: Likewise.
+       * libgnat/a-cohama.adb: Likewise.
+       * libgnat/a-cohama.ads: Likewise.
+       * libgnat/a-cohase.adb: Likewise.
+       * libgnat/a-cohase.ads: Likewise.
+       * libgnat/a-cohata.ads: Likewise.
+       * libgnat/a-coinho.adb: Likewise.
+       * libgnat/a-coinho.ads: Likewise.
+       * libgnat/a-coinho__shared.adb: Likewise.
+       * libgnat/a-coinho__shared.ads: Likewise.
+       * libgnat/a-coinve.adb: Likewise.
+       * libgnat/a-coinve.ads: Likewise.
+       * libgnat/a-colien.adb: Likewise.
+       * libgnat/a-colien.ads: Likewise.
+       * libgnat/a-colire.adb: Likewise.
+       * libgnat/a-colire.ads: Likewise.
+       * libgnat/a-comlin.adb: Likewise.
+       * libgnat/a-comlin.ads: Likewise.
+       * libgnat/a-comutr.adb: Likewise.
+       * libgnat/a-comutr.ads: Likewise.
+       * libgnat/a-conhel.adb: Likewise.
+       * libgnat/a-conhel.ads: Likewise.
+       * libgnat/a-convec.adb: Likewise.
+       * libgnat/a-convec.ads: Likewise.
+       * libgnat/a-coorma.adb: Likewise.
+       * libgnat/a-coorma.ads: Likewise.
+       * libgnat/a-coormu.adb: Likewise.
+       * libgnat/a-coormu.ads: Likewise.
+       * libgnat/a-coorse.adb: Likewise.
+       * libgnat/a-coorse.ads: Likewise.
+       * libgnat/a-coprnu.adb: Likewise.
+       * libgnat/a-coprnu.ads: Likewise.
+       * libgnat/a-crbltr.ads: Likewise.
+       * libgnat/a-crbtgk.adb: Likewise.
+       * libgnat/a-crbtgk.ads: Likewise.
+       * libgnat/a-crbtgo.adb: Likewise.
+       * libgnat/a-crbtgo.ads: Likewise.
+       * libgnat/a-crdlli.adb: Likewise.
+       * libgnat/a-crdlli.ads: Likewise.
+       * libgnat/a-csquin.ads: Likewise.
+       * libgnat/a-cuprqu.adb: Likewise.
+       * libgnat/a-cuprqu.ads: Likewise.
+       * libgnat/a-cusyqu.adb: Likewise.
+       * libgnat/a-cusyqu.ads: Likewise.
+       * libgnat/a-cwila1.ads: Likewise.
+       * libgnat/a-cwila9.ads: Likewise.
+       * libgnat/a-decima.adb: Likewise.
+       * libgnat/a-decima.ads: Likewise.
+       * libgnat/a-dhfina.adb: Likewise.
+       * libgnat/a-dhfina.ads: Likewise.
+       * libgnat/a-diocst.adb: Likewise.
+       * libgnat/a-diocst.ads: Likewise.
+       * libgnat/a-direct.adb: Likewise.
+       * libgnat/a-direct.ads: Likewise.
+       * libgnat/a-direio.adb: Likewise.
+       * libgnat/a-direio.ads: Likewise.
+       * libgnat/a-dirval.adb: Likewise.
+       * libgnat/a-dirval.ads: Likewise.
+       * libgnat/a-dirval__mingw.adb: Likewise.
+       * libgnat/a-einuoc.adb: Likewise.
+       * libgnat/a-einuoc.ads: Likewise.
+       * libgnat/a-elchha.adb: Likewise.
+       * libgnat/a-elchha.ads: Likewise.
+       * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
+       * libgnat/a-envvar.adb: Likewise.
+       * libgnat/a-excach.adb: Likewise.
+       * libgnat/a-except.adb: Likewise.
+       * libgnat/a-except.ads: Likewise.
+       * libgnat/a-excpol.adb: Likewise.
+       * libgnat/a-excpol__abort.adb: Likewise.
+       * libgnat/a-exctra.adb: Likewise.
+       * libgnat/a-exctra.ads: Likewise.
+       * libgnat/a-exexda.adb: Likewise.
+       * libgnat/a-exexpr.adb: Likewise.
+       * libgnat/a-exextr.adb: Likewise.
+       * libgnat/a-exstat.adb: Likewise.
+       * libgnat/a-finali.adb: Likewise.
+       * libgnat/a-finali.ads: Likewise.
+       * libgnat/a-locale.adb: Likewise.
+       * libgnat/a-locale.ads: Likewise.
+       * libgnat/a-nbnbin.adb: Likewise.
+       * libgnat/a-nbnbin__gmp.adb: Likewise.
+       * libgnat/a-nbnbre.adb: Likewise.
+       * libgnat/a-ngcefu.adb: Likewise.
+       * libgnat/a-ngcoar.adb: Likewise.
+       * libgnat/a-ngcoty.adb: Likewise.
+       * libgnat/a-ngcoty.ads: Likewise.
+       * libgnat/a-ngelfu.adb: Likewise.
+       * libgnat/a-ngelfu.ads: Likewise.
+       * libgnat/a-ngrear.adb: Likewise.
+       * libgnat/a-ngrear.ads: Likewise.
+       * libgnat/a-nudira.adb: Likewise.
+       * libgnat/a-nudira.ads: Likewise.
+       * libgnat/a-nuflra.adb: Likewise.
+       * libgnat/a-nuflra.ads: Likewise.
+       * libgnat/a-numaux.ads: Likewise.
+       * libgnat/a-numaux__darwin.adb: Likewise.
+       * libgnat/a-numaux__darwin.ads: Likewise.
+       * libgnat/a-numaux__libc-x86.ads: Likewise.
+       * libgnat/a-numaux__vxworks.ads: Likewise.
+       * libgnat/a-numaux__x86.adb: Likewise.
+       * libgnat/a-numaux__x86.ads: Likewise.
+       * libgnat/a-rbtgbk.adb: Likewise.
+       * libgnat/a-rbtgbk.ads: Likewise.
+       * libgnat/a-rbtgbo.adb: Likewise.
+       * libgnat/a-rbtgbo.ads: Likewise.
+       * libgnat/a-rbtgso.adb: Likewise.
+       * libgnat/a-rbtgso.ads: Likewise.
+       * libgnat/a-sbecin.adb: Likewise.
+       * libgnat/a-sbecin.ads: Likewise.
+       * libgnat/a-sbhcin.adb: Likewise.
+       * libgnat/a-sbhcin.ads: Likewise.
+       * libgnat/a-sblcin.adb: Likewise.
+       * libgnat/a-sblcin.ads: Likewise.
+       * libgnat/a-secain.adb: Likewise.
+       * libgnat/a-secain.ads: Likewise.
+       * libgnat/a-sequio.adb: Likewise.
+       * libgnat/a-sequio.ads: Likewise.
+       * libgnat/a-sfecin.ads: Likewise.
+       * libgnat/a-sfhcin.ads: Likewise.
+       * libgnat/a-sflcin.ads: Likewise.
+       * libgnat/a-shcain.adb: Likewise.
+       * libgnat/a-shcain.ads: Likewise.
+       * libgnat/a-siocst.adb: Likewise.
+       * libgnat/a-siocst.ads: Likewise.
+       * libgnat/a-slcain.adb: Likewise.
+       * libgnat/a-slcain.ads: Likewise.
+       * libgnat/a-ssicst.adb: Likewise.
+       * libgnat/a-ssicst.ads: Likewise.
+       * libgnat/a-stboha.adb: Likewise.
+       * libgnat/a-stmaco.ads: Likewise.
+       * libgnat/a-storio.adb: Likewise.
+       * libgnat/a-strbou.adb: Likewise.
+       * libgnat/a-strbou.ads: Likewise.
+       * libgnat/a-stream.adb: Likewise.
+       * libgnat/a-stream.ads: Likewise.
+       * libgnat/a-strfix.adb: Likewise.
+       * libgnat/a-strhas.adb: Likewise.
+       * libgnat/a-strmap.adb: Likewise.
+       * libgnat/a-strmap.ads: Likewise.
+       * libgnat/a-strsea.adb: Likewise.
+       * libgnat/a-strsea.ads: Likewise.
+       * libgnat/a-strsup.adb: Likewise.
+       * libgnat/a-strsup.ads: Likewise.
+       * libgnat/a-strunb.adb: Likewise.
+       * libgnat/a-strunb.ads: Likewise.
+       * libgnat/a-strunb__shared.adb: Likewise.
+       * libgnat/a-strunb__shared.ads: Likewise.
+       * libgnat/a-ststio.adb: Likewise.
+       * libgnat/a-ststio.ads: Likewise.
+       * libgnat/a-stunau.adb: Likewise.
+       * libgnat/a-stunau.ads: Likewise.
+       * libgnat/a-stunau__shared.adb: Likewise.
+       * libgnat/a-stunha.adb: Likewise.
+       * libgnat/a-stuten.adb: Likewise.
+       * libgnat/a-stwibo.adb: Likewise.
+       * libgnat/a-stwibo.ads: Likewise.
+       * libgnat/a-stwifi.adb: Likewise.
+       * libgnat/a-stwiha.adb: Likewise.
+       * libgnat/a-stwima.adb: Likewise.
+       * libgnat/a-stwima.ads: Likewise.
+       * libgnat/a-stwise.adb: Likewise.
+       * libgnat/a-stwise.ads: Likewise.
+       * libgnat/a-stwisu.adb: Likewise.
+       * libgnat/a-stwisu.ads: Likewise.
+       * libgnat/a-stwiun.adb: Likewise.
+       * libgnat/a-stwiun.ads: Likewise.
+       * libgnat/a-stwiun__shared.adb: Likewise.
+       * libgnat/a-stwiun__shared.ads: Likewise.
+       * libgnat/a-stzbou.adb: Likewise.
+       * libgnat/a-stzbou.ads: Likewise.
+       * libgnat/a-stzfix.adb: Likewise.
+       * libgnat/a-stzhas.adb: Likewise.
+       * libgnat/a-stzmap.adb: Likewise.
+       * libgnat/a-stzmap.ads: Likewise.
+       * libgnat/a-stzsea.adb: Likewise.
+       * libgnat/a-stzsea.ads: Likewise.
+       * libgnat/a-stzsup.adb: Likewise.
+       * libgnat/a-stzsup.ads: Likewise.
+       * libgnat/a-stzunb.adb: Likewise.
+       * libgnat/a-stzunb.ads: Likewise.
+       * libgnat/a-stzunb__shared.adb: Likewise.
+       * libgnat/a-stzunb__shared.ads: Likewise.
+       * libgnat/a-suecin.adb: Likewise.
+       * libgnat/a-suecin.ads: Likewise.
+       * libgnat/a-suenco.adb: Likewise.
+       * libgnat/a-suenst.adb: Likewise.
+       * libgnat/a-suewst.adb: Likewise.
+       * libgnat/a-suezst.adb: Likewise.
+       * libgnat/a-suhcin.adb: Likewise.
+       * libgnat/a-suhcin.ads: Likewise.
+       * libgnat/a-sulcin.adb: Likewise.
+       * libgnat/a-sulcin.ads: Likewise.
+       * libgnat/a-suteio.adb: Likewise.
+       * libgnat/a-suteio.ads: Likewise.
+       * libgnat/a-suteio__shared.adb: Likewise.
+       * libgnat/a-swbwha.adb: Likewise.
+       * libgnat/a-swmwco.ads: Likewise.
+       * libgnat/a-swunau.adb: Likewise.
+       * libgnat/a-swunau.ads: Likewise.
+       * libgnat/a-swunau__shared.adb: Likewise.
+       * libgnat/a-swuwha.adb: Likewise.
+       * libgnat/a-swuwti.adb: Likewise.
+       * libgnat/a-swuwti.ads: Likewise.
+       * libgnat/a-swuwti__shared.adb: Likewise.
+       * libgnat/a-szbzha.adb: Likewise.
+       * libgnat/a-szmzco.ads: Likewise.
+       * libgnat/a-szunau.adb: Likewise.
+       * libgnat/a-szunau.ads: Likewise.
+       * libgnat/a-szunau__shared.adb: Likewise.
+       * libgnat/a-szuzha.adb: Likewise.
+       * libgnat/a-szuzti.adb: Likewise.
+       * libgnat/a-szuzti.ads: Likewise.
+       * libgnat/a-szuzti__shared.adb: Likewise.
+       * libgnat/a-tags.adb: Likewise.
+       * libgnat/a-tags.ads: Likewise.
+       * libgnat/a-teioed.adb: Likewise.
+       * libgnat/a-teioed.ads: Likewise.
+       * libgnat/a-textio.adb: Likewise.
+       * libgnat/a-textio.ads: Likewise.
+       * libgnat/a-tiboio.adb: Likewise.
+       * libgnat/a-ticoau.adb: Likewise.
+       * libgnat/a-ticoau.ads: Likewise.
+       * libgnat/a-ticoio.adb: Likewise.
+       * libgnat/a-ticoio.ads: Likewise.
+       * libgnat/a-tideau.adb: Likewise.
+       * libgnat/a-tideau.ads: Likewise.
+       * libgnat/a-tideio.adb: Likewise.
+       * libgnat/a-tideio.ads: Likewise.
+       * libgnat/a-tienau.adb: Likewise.
+       * libgnat/a-tienau.ads: Likewise.
+       * libgnat/a-tienio.adb: Likewise.
+       * libgnat/a-tifiio.adb: Likewise.
+       * libgnat/a-tiflau.adb: Likewise.
+       * libgnat/a-tiflau.ads: Likewise.
+       * libgnat/a-tiflio.adb: Likewise.
+       * libgnat/a-tiflio.ads: Likewise.
+       * libgnat/a-tigeau.adb: Likewise.
+       * libgnat/a-tigeau.ads: Likewise.
+       * libgnat/a-tigeli.adb: Likewise.
+       * libgnat/a-tiinau.adb: Likewise.
+       * libgnat/a-tiinau.ads: Likewise.
+       * libgnat/a-tiinio.adb: Likewise.
+       * libgnat/a-tiinio.ads: Likewise.
+       * libgnat/a-timoau.adb: Likewise.
+       * libgnat/a-timoau.ads: Likewise.
+       * libgnat/a-timoio.adb: Likewise.
+       * libgnat/a-timoio.ads: Likewise.
+       * libgnat/a-tiocst.adb: Likewise.
+       * libgnat/a-tiocst.ads: Likewise.
+       * libgnat/a-tirsfi.adb: Likewise.
+       * libgnat/a-tirsfi.ads: Likewise.
+       * libgnat/a-titest.adb: Likewise.
+       * libgnat/a-undesu.adb: Likewise.
+       * libgnat/a-wichha.adb: Likewise.
+       * libgnat/a-wichun.adb: Likewise.
+       * libgnat/a-wichun.ads: Likewise.
+       * libgnat/a-witeio.adb: Likewise.
+       * libgnat/a-witeio.ads: Likewise.
+       * libgnat/a-wrstfi.adb: Likewise.
+       * libgnat/a-wrstfi.ads: Likewise.
+       * libgnat/a-wtcoau.adb: Likewise.
+       * libgnat/a-wtcoau.ads: Likewise.
+       * libgnat/a-wtcoio.adb: Likewise.
+       * libgnat/a-wtcstr.adb: Likewise.
+       * libgnat/a-wtcstr.ads: Likewise.
+       * libgnat/a-wtdeau.adb: Likewise.
+       * libgnat/a-wtdeau.ads: Likewise.
+       * libgnat/a-wtdeio.adb: Likewise.
+       * libgnat/a-wtedit.adb: Likewise.
+       * libgnat/a-wtedit.ads: Likewise.
+       * libgnat/a-wtenau.adb: Likewise.
+       * libgnat/a-wtenau.ads: Likewise.
+       * libgnat/a-wtenio.adb: Likewise.
+       * libgnat/a-wtfiio.adb: Likewise.
+       * libgnat/a-wtflau.adb: Likewise.
+       * libgnat/a-wtflau.ads: Likewise.
+       * libgnat/a-wtflio.adb: Likewise.
+       * libgnat/a-wtgeau.adb: Likewise.
+       * libgnat/a-wtgeau.ads: Likewise.
+       * libgnat/a-wtinau.adb: Likewise.
+       * libgnat/a-wtinau.ads: Likewise.
+       * libgnat/a-wtinio.adb: Likewise.
+       * libgnat/a-wtmoau.adb: Likewise.
+       * libgnat/a-wtmoau.ads: Likewise.
+       * libgnat/a-wtmoio.adb: Likewise.
+       * libgnat/a-wtmoio.ads: Likewise.
+       * libgnat/a-wttest.adb: Likewise.
+       * libgnat/a-wwboio.adb: Likewise.
+       * libgnat/a-zchhan.adb: Likewise.
+       * libgnat/a-zchuni.adb: Likewise.
+       * libgnat/a-zchuni.ads: Likewise.
+       * libgnat/a-zrstfi.adb: Likewise.
+       * libgnat/a-zrstfi.ads: Likewise.
+       * libgnat/a-ztcoau.adb: Likewise.
+       * libgnat/a-ztcoio.adb: Likewise.
+       * libgnat/a-ztcstr.adb: Likewise.
+       * libgnat/a-ztcstr.ads: Likewise.
+       * libgnat/a-ztdeau.adb: Likewise.
+       * libgnat/a-ztdeau.ads: Likewise.
+       * libgnat/a-ztdeio.adb: Likewise.
+       * libgnat/a-ztedit.adb: Likewise.
+       * libgnat/a-ztedit.ads: Likewise.
+       * libgnat/a-ztenau.adb: Likewise.
+       * libgnat/a-ztenau.ads: Likewise.
+       * libgnat/a-ztenio.adb: Likewise.
+       * libgnat/a-ztexio.adb: Likewise.
+       * libgnat/a-ztexio.ads: Likewise.
+       * libgnat/a-ztfiio.adb: Likewise.
+       * libgnat/a-ztflau.adb: Likewise.
+       * libgnat/a-ztflau.ads: Likewise.
+       * libgnat/a-ztflio.adb: Likewise.
+       * libgnat/a-ztgeau.adb: Likewise.
+       * libgnat/a-ztgeau.ads: Likewise.
+       * libgnat/a-ztinau.adb: Likewise.
+       * libgnat/a-ztinau.ads: Likewise.
+       * libgnat/a-ztinio.adb: Likewise.
+       * libgnat/a-ztmoau.adb: Likewise.
+       * libgnat/a-ztmoau.ads: Likewise.
+       * libgnat/a-ztmoio.adb: Likewise.
+       * libgnat/a-zttest.adb: Likewise.
+       * libgnat/a-zzboio.adb: Likewise.
+       * libgnat/g-allein.ads: Likewise.
+       * libgnat/g-alleve.adb: Likewise.
+       * libgnat/g-alleve.ads: Likewise.
+       * libgnat/g-alleve__hard.adb: Likewise.
+       * libgnat/g-alleve__hard.ads: Likewise.
+       * libgnat/g-altcon.adb: Likewise.
+       * libgnat/g-altcon.ads: Likewise.
+       * libgnat/g-altive.ads: Likewise.
+       * libgnat/g-alveop.adb: Likewise.
+       * libgnat/g-alveop.ads: Likewise.
+       * libgnat/g-alvety.ads: Likewise.
+       * libgnat/g-alvevi.ads: Likewise.
+       * libgnat/g-arrspl.adb: Likewise.
+       * libgnat/g-arrspl.ads: Likewise.
+       * libgnat/g-awk.adb: Likewise.
+       * libgnat/g-awk.ads: Likewise.
+       * libgnat/g-binenv.adb: Likewise.
+       * libgnat/g-binenv.ads: Likewise.
+       * libgnat/g-brapre.ads: Likewise.
+       * libgnat/g-bubsor.adb: Likewise.
+       * libgnat/g-bubsor.ads: Likewise.
+       * libgnat/g-busora.adb: Likewise.
+       * libgnat/g-busora.ads: Likewise.
+       * libgnat/g-busorg.adb: Likewise.
+       * libgnat/g-busorg.ads: Likewise.
+       * libgnat/g-byorma.adb: Likewise.
+       * libgnat/g-byorma.ads: Likewise.
+       * libgnat/g-bytswa.adb: Likewise.
+       * libgnat/g-bytswa.ads: Likewise.
+       * libgnat/g-calend.adb: Likewise.
+       * libgnat/g-calend.ads: Likewise.
+       * libgnat/g-casuti.adb: Likewise.
+       * libgnat/g-casuti.ads: Likewise.
+       * libgnat/g-catiio.adb: Likewise.
+       * libgnat/g-catiio.ads: Likewise.
+       * libgnat/g-cgi.adb: Likewise.
+       * libgnat/g-cgi.ads: Likewise.
+       * libgnat/g-cgicoo.adb: Likewise.
+       * libgnat/g-cgicoo.ads: Likewise.
+       * libgnat/g-cgideb.adb: Likewise.
+       * libgnat/g-cgideb.ads: Likewise.
+       * libgnat/g-comlin.adb: Likewise.
+       * libgnat/g-comlin.ads: Likewise.
+       * libgnat/g-comver.adb: Likewise.
+       * libgnat/g-comver.ads: Likewise.
+       * libgnat/g-cppexc.adb: Likewise.
+       * libgnat/g-cppexc.ads: Likewise.
+       * libgnat/g-crc32.adb: Likewise.
+       * libgnat/g-crc32.ads: Likewise.
+       * libgnat/g-ctrl_c.adb: Likewise.
+       * libgnat/g-ctrl_c.ads: Likewise.
+       * libgnat/g-curexc.ads: Likewise.
+       * libgnat/g-debpoo.adb: Likewise.
+       * libgnat/g-debpoo.ads: Likewise.
+       * libgnat/g-debuti.adb: Likewise.
+       * libgnat/g-debuti.ads: Likewise.
+       * libgnat/g-decstr.adb: Likewise.
+       * libgnat/g-decstr.ads: Likewise.
+       * libgnat/g-deutst.ads: Likewise.
+       * libgnat/g-diopit.adb: Likewise.
+       * libgnat/g-diopit.ads: Likewise.
+       * libgnat/g-dirope.adb: Likewise.
+       * libgnat/g-dirope.ads: Likewise.
+       * libgnat/g-dynhta.adb: Likewise.
+       * libgnat/g-dynhta.ads: Likewise.
+       * libgnat/g-dyntab.adb: Likewise.
+       * libgnat/g-dyntab.ads: Likewise.
+       * libgnat/g-eacodu.adb: Likewise.
+       * libgnat/g-encstr.adb: Likewise.
+       * libgnat/g-encstr.ads: Likewise.
+       * libgnat/g-enutst.ads: Likewise.
+       * libgnat/g-excact.adb: Likewise.
+       * libgnat/g-excact.ads: Likewise.
+       * libgnat/g-except.ads: Likewise.
+       * libgnat/g-exctra.adb: Likewise.
+       * libgnat/g-exctra.ads: Likewise.
+       * libgnat/g-expect.adb: Likewise.
+       * libgnat/g-expect.ads: Likewise.
+       * libgnat/g-exptty.adb: Likewise.
+       * libgnat/g-exptty.ads: Likewise.
+       * libgnat/g-flocon.ads: Likewise.
+       * libgnat/g-forstr.adb: Likewise.
+       * libgnat/g-forstr.ads: Likewise.
+       * libgnat/g-graphs.adb: Likewise.
+       * libgnat/g-graphs.ads: Likewise.
+       * libgnat/g-heasor.adb: Likewise.
+       * libgnat/g-heasor.ads: Likewise.
+       * libgnat/g-hesora.adb: Likewise.
+       * libgnat/g-hesora.ads: Likewise.
+       * libgnat/g-hesorg.adb: Likewise.
+       * libgnat/g-hesorg.ads: Likewise.
+       * libgnat/g-htable.adb: Likewise.
+       * libgnat/g-htable.ads: Likewise.
+       * libgnat/g-io-put__vxworks.adb: Likewise.
+       * libgnat/g-io.adb: Likewise.
+       * libgnat/g-io.ads: Likewise.
+       * libgnat/g-io_aux.adb: Likewise.
+       * libgnat/g-io_aux.ads: Likewise.
+       * libgnat/g-lists.adb: Likewise.
+       * libgnat/g-lists.ads: Likewise.
+       * libgnat/g-locfil.adb: Likewise.
+       * libgnat/g-locfil.ads: Likewise.
+       * libgnat/g-mbdira.adb: Likewise.
+       * libgnat/g-mbdira.ads: Likewise.
+       * libgnat/g-mbflra.adb: Likewise.
+       * libgnat/g-mbflra.ads: Likewise.
+       * libgnat/g-md5.adb: Likewise.
+       * libgnat/g-md5.ads: Likewise.
+       * libgnat/g-memdum.adb: Likewise.
+       * libgnat/g-memdum.ads: Likewise.
+       * libgnat/g-moreex.adb: Likewise.
+       * libgnat/g-moreex.ads: Likewise.
+       * libgnat/g-os_lib.adb: Likewise.
+       * libgnat/g-os_lib.ads: Likewise.
+       * libgnat/g-pehage.adb: Likewise.
+       * libgnat/g-pehage.ads: Likewise.
+       * libgnat/g-rannum.adb: Likewise.
+       * libgnat/g-rannum.ads: Likewise.
+       * libgnat/g-regexp.adb: Likewise.
+       * libgnat/g-regexp.ads: Likewise.
+       * libgnat/g-regist.adb: Likewise.
+       * libgnat/g-regist.ads: Likewise.
+       * libgnat/g-regpat.adb: Likewise.
+       * libgnat/g-regpat.ads: Likewise.
+       * libgnat/g-rewdat.adb: Likewise.
+       * libgnat/g-rewdat.ads: Likewise.
+       * libgnat/g-sechas.adb: Likewise.
+       * libgnat/g-sechas.ads: Likewise.
+       * libgnat/g-sehamd.adb: Likewise.
+       * libgnat/g-sehamd.ads: Likewise.
+       * libgnat/g-sehash.adb: Likewise.
+       * libgnat/g-sehash.ads: Likewise.
+       * libgnat/g-sercom.adb: Likewise.
+       * libgnat/g-sercom.ads: Likewise.
+       * libgnat/g-sercom__linux.adb: Likewise.
+       * libgnat/g-sercom__mingw.adb: Likewise.
+       * libgnat/g-sestin.ads: Likewise.
+       * libgnat/g-sets.adb: Likewise.
+       * libgnat/g-sets.ads: Likewise.
+       * libgnat/g-sha1.adb: Likewise.
+       * libgnat/g-sha1.ads: Likewise.
+       * libgnat/g-sha224.ads: Likewise.
+       * libgnat/g-sha256.ads: Likewise.
+       * libgnat/g-sha384.ads: Likewise.
+       * libgnat/g-sha512.ads: Likewise.
+       * libgnat/g-shsh32.adb: Likewise.
+       * libgnat/g-shsh32.ads: Likewise.
+       * libgnat/g-shsh64.adb: Likewise.
+       * libgnat/g-shsh64.ads: Likewise.
+       * libgnat/g-shshco.adb: Likewise.
+       * libgnat/g-shshco.ads: Likewise.
+       * libgnat/g-soccon.ads: Likewise.
+       * libgnat/g-socket.adb: Likewise.
+       * libgnat/g-socket.ads: Likewise.
+       * libgnat/g-socket__dummy.adb: Likewise.
+       * libgnat/g-socket__dummy.ads: Likewise.
+       * libgnat/g-socthi.adb: Likewise.
+       * libgnat/g-socthi.ads: Likewise.
+       * libgnat/g-socthi__dummy.adb: Likewise.
+       * libgnat/g-socthi__dummy.ads: Likewise.
+       * libgnat/g-socthi__mingw.adb: Likewise.
+       * libgnat/g-socthi__mingw.ads: Likewise.
+       * libgnat/g-socthi__vxworks.adb: Likewise.
+       * libgnat/g-socthi__vxworks.ads: Likewise.
+       * libgnat/g-soliop.ads: Likewise.
+       * libgnat/g-soliop__lynxos.ads: Likewise.
+       * libgnat/g-soliop__mingw.ads: Likewise.
+       * libgnat/g-soliop__qnx.ads: Likewise.
+       * libgnat/g-soliop__solaris.ads: Likewise.
+       * libgnat/g-sothco.adb: Likewise.
+       * libgnat/g-sothco.ads: Likewise.
+       * libgnat/g-sothco__dummy.adb: Likewise.
+       * libgnat/g-sothco__dummy.ads: Likewise.
+       * libgnat/g-souinf.ads: Likewise.
+       * libgnat/g-spchge.adb: Likewise.
+       * libgnat/g-spchge.ads: Likewise.
+       * libgnat/g-speche.adb: Likewise.
+       * libgnat/g-speche.ads: Likewise.
+       * libgnat/g-spipat.adb: Likewise.
+       * libgnat/g-spipat.ads: Likewise.
+       * libgnat/g-spitbo.adb: Likewise.
+       * libgnat/g-spitbo.ads: Likewise.
+       * libgnat/g-sptabo.ads: Likewise.
+       * libgnat/g-sptain.ads: Likewise.
+       * libgnat/g-sptavs.ads: Likewise.
+       * libgnat/g-sse.ads: Likewise.
+       * libgnat/g-ssvety.ads: Likewise.
+       * libgnat/g-sthcso.adb: Likewise.
+       * libgnat/g-stheme.adb: Likewise.
+       * libgnat/g-strhas.ads: Likewise.
+       * libgnat/g-string.adb: Likewise.
+       * libgnat/g-string.ads: Likewise.
+       * libgnat/g-strspl.ads: Likewise.
+       * libgnat/g-stseme.adb: Likewise.
+       * libgnat/g-stsifd__sockets.adb: Likewise.
+       * libgnat/g-table.adb: Likewise.
+       * libgnat/g-table.ads: Likewise.
+       * libgnat/g-tasloc.adb: Likewise.
+       * libgnat/g-tasloc.ads: Likewise.
+       * libgnat/g-timsta.adb: Likewise.
+       * libgnat/g-timsta.ads: Likewise.
+       * libgnat/g-traceb.adb: Likewise.
+       * libgnat/g-traceb.ads: Likewise.
+       * libgnat/g-trasym.adb: Likewise.
+       * libgnat/g-trasym.ads: Likewise.
+       * libgnat/g-tty.adb: Likewise.
+       * libgnat/g-tty.ads: Likewise.
+       * libgnat/g-u3spch.adb: Likewise.
+       * libgnat/g-u3spch.ads: Likewise.
+       * libgnat/g-utf_32.adb: Likewise.
+       * libgnat/g-utf_32.ads: Likewise.
+       * libgnat/g-wispch.adb: Likewise.
+       * libgnat/g-wispch.ads: Likewise.
+       * libgnat/g-wistsp.ads: Likewise.
+       * libgnat/g-zspche.adb: Likewise.
+       * libgnat/g-zspche.ads: Likewise.
+       * libgnat/g-zstspl.ads: Likewise.
+       * libgnat/gnat.ads: Likewise.
+       * libgnat/i-c.adb: Likewise.
+       * libgnat/i-cexten.ads: Likewise.
+       * libgnat/i-cobol.adb: Likewise.
+       * libgnat/i-cobol.ads: Likewise.
+       * libgnat/i-cpoint.adb: Likewise.
+       * libgnat/i-cpoint.ads: Likewise.
+       * libgnat/i-cstrea.adb: Likewise.
+       * libgnat/i-cstrea.ads: Likewise.
+       * libgnat/i-cstrin.adb: Likewise.
+       * libgnat/i-cstrin.ads: Likewise.
+       * libgnat/i-fortra.adb: Likewise.
+       * libgnat/i-pacdec.adb: Likewise.
+       * libgnat/i-pacdec.ads: Likewise.
+       * libgnat/i-vxwoio.adb: Likewise.
+       * libgnat/i-vxwoio.ads: Likewise.
+       * libgnat/i-vxwork.ads: Likewise.
+       * libgnat/i-vxwork__x86.ads: Likewise.
+       * libgnat/interfac.ads: Likewise.
+       * libgnat/memtrack.adb: Likewise.
+       * libgnat/s-addima.adb: Likewise.
+       * libgnat/s-addima.ads: Likewise.
+       * libgnat/s-addope.adb: Likewise.
+       * libgnat/s-addope.ads: Likewise.
+       * libgnat/s-aotase.adb: Likewise.
+       * libgnat/s-aotase.ads: Likewise.
+       * libgnat/s-arit64.adb: Likewise.
+       * libgnat/s-arit64.ads: Likewise.
+       * libgnat/s-assert.adb: Likewise.
+       * libgnat/s-assert.ads: Likewise.
+       * libgnat/s-atacco.adb: Likewise.
+       * libgnat/s-atacco.ads: Likewise.
+       * libgnat/s-atocou.adb: Likewise.
+       * libgnat/s-atocou.ads: Likewise.
+       * libgnat/s-atocou__builtin.adb: Likewise.
+       * libgnat/s-atocou__x86.adb: Likewise.
+       * libgnat/s-atoope.ads: Likewise.
+       * libgnat/s-atopar.adb: Likewise.
+       * libgnat/s-atopar.ads: Likewise.
+       * libgnat/s-atopex.adb: Likewise.
+       * libgnat/s-atopex.ads: Likewise.
+       * libgnat/s-atopri.adb: Likewise.
+       * libgnat/s-atopri.ads: Likewise.
+       * libgnat/s-auxdec.adb: Likewise.
+       * libgnat/s-auxdec.ads: Likewise.
+       * libgnat/s-bignum.adb: Likewise.
+       * libgnat/s-bignum.ads: Likewise.
+       * libgnat/s-bitfie.ads: Likewise.
+       * libgnat/s-bitops.adb: Likewise.
+       * libgnat/s-bitops.ads: Likewise.
+       * libgnat/s-bituti.adb: Likewise.
+       * libgnat/s-bituti.ads: Likewise.
+       * libgnat/s-boarop.ads: Likewise.
+       * libgnat/s-boustr.adb: Likewise.
+       * libgnat/s-boustr.ads: Likewise.
+       * libgnat/s-bytswa.ads: Likewise.
+       * libgnat/s-carsi8.adb: Likewise.
+       * libgnat/s-carsi8.ads: Likewise.
+       * libgnat/s-carun8.adb: Likewise.
+       * libgnat/s-carun8.ads: Likewise.
+       * libgnat/s-casi16.adb: Likewise.
+       * libgnat/s-casi16.ads: Likewise.
+       * libgnat/s-casi32.adb: Likewise.
+       * libgnat/s-casi32.ads: Likewise.
+       * libgnat/s-casi64.adb: Likewise.
+       * libgnat/s-casi64.ads: Likewise.
+       * libgnat/s-casuti.adb: Likewise.
+       * libgnat/s-casuti.ads: Likewise.
+       * libgnat/s-caun16.adb: Likewise.
+       * libgnat/s-caun16.ads: Likewise.
+       * libgnat/s-caun32.adb: Likewise.
+       * libgnat/s-caun32.ads: Likewise.
+       * libgnat/s-caun64.adb: Likewise.
+       * libgnat/s-caun64.ads: Likewise.
+       * libgnat/s-chepoo.ads: Likewise.
+       * libgnat/s-commun.adb: Likewise.
+       * libgnat/s-commun.ads: Likewise.
+       * libgnat/s-conca2.adb: Likewise.
+       * libgnat/s-conca2.ads: Likewise.
+       * libgnat/s-conca3.adb: Likewise.
+       * libgnat/s-conca3.ads: Likewise.
+       * libgnat/s-conca4.adb: Likewise.
+       * libgnat/s-conca4.ads: Likewise.
+       * libgnat/s-conca5.adb: Likewise.
+       * libgnat/s-conca5.ads: Likewise.
+       * libgnat/s-conca6.adb: Likewise.
+       * libgnat/s-conca6.ads: Likewise.
+       * libgnat/s-conca7.adb: Likewise.
+       * libgnat/s-conca7.ads: Likewise.
+       * libgnat/s-conca8.adb: Likewise.
+       * libgnat/s-conca8.ads: Likewise.
+       * libgnat/s-conca9.adb: Likewise.
+       * libgnat/s-conca9.ads: Likewise.
+       * libgnat/s-crc32.adb: Likewise.
+       * libgnat/s-crc32.ads: Likewise.
+       * libgnat/s-crtl.ads: Likewise.
+       * libgnat/s-dfmkio.ads: Likewise.
+       * libgnat/s-dfmopr.ads: Likewise.
+       * libgnat/s-dgmgop.ads: Likewise.
+       * libgnat/s-diflio.adb: Likewise.
+       * libgnat/s-diflio.ads: Likewise.
+       * libgnat/s-diflmk.ads: Likewise.
+       * libgnat/s-digemk.ads: Likewise.
+       * libgnat/s-diinio.adb: Likewise.
+       * libgnat/s-diinio.ads: Likewise.
+       * libgnat/s-dilomk.ads: Likewise.
+       * libgnat/s-dim.ads: Likewise.
+       * libgnat/s-dimkio.ads: Likewise.
+       * libgnat/s-dimmks.ads: Likewise.
+       * libgnat/s-direio.adb: Likewise.
+       * libgnat/s-direio.ads: Likewise.
+       * libgnat/s-dlmkio.ads: Likewise.
+       * libgnat/s-dlmopr.ads: Likewise.
+       * libgnat/s-dmotpr.ads: Likewise.
+       * libgnat/s-dsaser.ads: Likewise.
+       * libgnat/s-dwalin.adb: Likewise.
+       * libgnat/s-dwalin.ads: Likewise.
+       * libgnat/s-elaall.adb: Likewise.
+       * libgnat/s-elaall.ads: Likewise.
+       * libgnat/s-excdeb.adb: Likewise.
+       * libgnat/s-excdeb.ads: Likewise.
+       * libgnat/s-except.adb: Likewise.
+       * libgnat/s-except.ads: Likewise.
+       * libgnat/s-excmac__arm.adb: Likewise.
+       * libgnat/s-excmac__arm.ads: Likewise.
+       * libgnat/s-excmac__gcc.adb: Likewise.
+       * libgnat/s-excmac__gcc.ads: Likewise.
+       * libgnat/s-exctab.adb: Likewise.
+       * libgnat/s-exctab.ads: Likewise.
+       * libgnat/s-exctra.adb: Likewise.
+       * libgnat/s-exctra.ads: Likewise.
+       * libgnat/s-exnint.adb: Likewise.
+       * libgnat/s-exnint.ads: Likewise.
+       * libgnat/s-exnllf.adb: Likewise.
+       * libgnat/s-exnllf.ads: Likewise.
+       * libgnat/s-exnlli.adb: Likewise.
+       * libgnat/s-exnlli.ads: Likewise.
+       * libgnat/s-expint.adb: Likewise.
+       * libgnat/s-expint.ads: Likewise.
+       * libgnat/s-explli.adb: Likewise.
+       * libgnat/s-explli.ads: Likewise.
+       * libgnat/s-expllu.adb: Likewise.
+       * libgnat/s-expllu.ads: Likewise.
+       * libgnat/s-expmod.adb: Likewise.
+       * libgnat/s-expmod.ads: Likewise.
+       * libgnat/s-expuns.adb: Likewise.
+       * libgnat/s-expuns.ads: Likewise.
+       * libgnat/s-fatflt.ads: Likewise.
+       * libgnat/s-fatgen.adb: Likewise.
+       * libgnat/s-fatgen.ads: Likewise.
+       * libgnat/s-fatlfl.ads: Likewise.
+       * libgnat/s-fatllf.ads: Likewise.
+       * libgnat/s-fatsfl.ads: Likewise.
+       * libgnat/s-ficobl.ads: Likewise.
+       * libgnat/s-filatt.ads: Likewise.
+       * libgnat/s-fileio.adb: Likewise.
+       * libgnat/s-fileio.ads: Likewise.
+       * libgnat/s-finmas.adb: Likewise.
+       * libgnat/s-finmas.ads: Likewise.
+       * libgnat/s-finroo.adb: Likewise.
+       * libgnat/s-finroo.ads: Likewise.
+       * libgnat/s-flocon.adb: Likewise.
+       * libgnat/s-flocon.ads: Likewise.
+       * libgnat/s-flocon__none.adb: Likewise.
+       * libgnat/s-fore.adb: Likewise.
+       * libgnat/s-fore.ads: Likewise.
+       * libgnat/s-gearop.adb: Likewise.
+       * libgnat/s-gearop.ads: Likewise.
+       * libgnat/s-genbig.adb: Likewise.
+       * libgnat/s-genbig.ads: Likewise.
+       * libgnat/s-geveop.adb: Likewise.
+       * libgnat/s-geveop.ads: Likewise.
+       * libgnat/s-gloloc.adb: Likewise.
+       * libgnat/s-gloloc.ads: Likewise.
+       * libgnat/s-gloloc__mingw.adb: Likewise.
+       * libgnat/s-htable.adb: Likewise.
+       * libgnat/s-htable.ads: Likewise.
+       * libgnat/s-imenne.adb: Likewise.
+       * libgnat/s-imenne.ads: Likewise.
+       * libgnat/s-imgbiu.adb: Likewise.
+       * libgnat/s-imgbiu.ads: Likewise.
+       * libgnat/s-imgboo.adb: Likewise.
+       * libgnat/s-imgboo.ads: Likewise.
+       * libgnat/s-imgcha.adb: Likewise.
+       * libgnat/s-imgcha.ads: Likewise.
+       * libgnat/s-imgdec.adb: Likewise.
+       * libgnat/s-imgdec.ads: Likewise.
+       * libgnat/s-imgenu.adb: Likewise.
+       * libgnat/s-imgenu.ads: Likewise.
+       * libgnat/s-imgint.adb: Likewise.
+       * libgnat/s-imgint.ads: Likewise.
+       * libgnat/s-imgllb.adb: Likewise.
+       * libgnat/s-imgllb.ads: Likewise.
+       * libgnat/s-imglld.adb: Likewise.
+       * libgnat/s-imglld.ads: Likewise.
+       * libgnat/s-imglli.adb: Likewise.
+       * libgnat/s-imglli.ads: Likewise.
+       * libgnat/s-imgllu.adb: Likewise.
+       * libgnat/s-imgllu.ads: Likewise.
+       * libgnat/s-imgllw.adb: Likewise.
+       * libgnat/s-imgllw.ads: Likewise.
+       * libgnat/s-imgrea.adb: Likewise.
+       * libgnat/s-imgrea.ads: Likewise.
+       * libgnat/s-imguns.adb: Likewise.
+       * libgnat/s-imguns.ads: Likewise.
+       * libgnat/s-imgwch.adb: Likewise.
+       * libgnat/s-imgwch.ads: Likewise.
+       * libgnat/s-imgwiu.adb: Likewise.
+       * libgnat/s-imgwiu.ads: Likewise.
+       * libgnat/s-io.adb: Likewise.
+       * libgnat/s-io.ads: Likewise.
+       * libgnat/s-llflex.ads: Likewise.
+       * libgnat/s-maccod.ads: Likewise.
+       * libgnat/s-mantis.adb: Likewise.
+       * libgnat/s-mantis.ads: Likewise.
+       * libgnat/s-mastop.adb: Likewise.
+       * libgnat/s-mastop.ads: Likewise.
+       * libgnat/s-memcop.ads: Likewise.
+       * libgnat/s-memory.adb: Likewise.
+       * libgnat/s-memory.ads: Likewise.
+       * libgnat/s-mmap.adb: Likewise.
+       * libgnat/s-mmap.ads: Likewise.
+       * libgnat/s-mmauni__long.ads: Likewise.
+       * libgnat/s-mmosin__mingw.adb: Likewise.
+       * libgnat/s-mmosin__mingw.ads: Likewise.
+       * libgnat/s-mmosin__unix.adb: Likewise.
+       * libgnat/s-mmosin__unix.ads: Likewise.
+       * libgnat/s-multip.adb: Likewise.
+       * libgnat/s-objrea.adb: Likewise.
+       * libgnat/s-objrea.ads: Likewise.
+       * libgnat/s-optide.adb: Likewise.
+       * libgnat/s-os_lib.adb: Likewise.
+       * libgnat/s-os_lib.ads: Likewise.
+       * libgnat/s-osprim.ads: Likewise.
+       * libgnat/s-osprim__darwin.adb: Likewise.
+       * libgnat/s-osprim__lynxos.ads: Likewise.
+       * libgnat/s-osprim__mingw.adb: Likewise.
+       * libgnat/s-osprim__posix.adb: Likewise.
+       * libgnat/s-osprim__posix2008.adb: Likewise.
+       * libgnat/s-osprim__rtems.adb: Likewise.
+       * libgnat/s-osprim__solaris.adb: Likewise.
+       * libgnat/s-osprim__unix.adb: Likewise.
+       * libgnat/s-osprim__vxworks.adb: Likewise.
+       * libgnat/s-osprim__x32.adb: Likewise.
+       * libgnat/s-osvers__vxworks-653.ads: Likewise.
+       * libgnat/s-pack03.adb: Likewise.
+       * libgnat/s-pack03.ads: Likewise.
+       * libgnat/s-pack05.adb: Likewise.
+       * libgnat/s-pack05.ads: Likewise.
+       * libgnat/s-pack06.adb: Likewise.
+       * libgnat/s-pack06.ads: Likewise.
+       * libgnat/s-pack07.adb: Likewise.
+       * libgnat/s-pack07.ads: Likewise.
+       * libgnat/s-pack09.adb: Likewise.
+       * libgnat/s-pack09.ads: Likewise.
+       * libgnat/s-pack10.adb: Likewise.
+       * libgnat/s-pack10.ads: Likewise.
+       * libgnat/s-pack11.adb: Likewise.
+       * libgnat/s-pack11.ads: Likewise.
+       * libgnat/s-pack12.adb: Likewise.
+       * libgnat/s-pack12.ads: Likewise.
+       * libgnat/s-pack13.adb: Likewise.
+       * libgnat/s-pack13.ads: Likewise.
+       * libgnat/s-pack14.adb: Likewise.
+       * libgnat/s-pack14.ads: Likewise.
+       * libgnat/s-pack15.adb: Likewise.
+       * libgnat/s-pack15.ads: Likewise.
+       * libgnat/s-pack17.adb: Likewise.
+       * libgnat/s-pack17.ads: Likewise.
+       * libgnat/s-pack18.adb: Likewise.
+       * libgnat/s-pack18.ads: Likewise.
+       * libgnat/s-pack19.adb: Likewise.
+       * libgnat/s-pack19.ads: Likewise.
+       * libgnat/s-pack20.adb: Likewise.
+       * libgnat/s-pack20.ads: Likewise.
+       * libgnat/s-pack21.adb: Likewise.
+       * libgnat/s-pack21.ads: Likewise.
+       * libgnat/s-pack22.adb: Likewise.
+       * libgnat/s-pack22.ads: Likewise.
+       * libgnat/s-pack23.adb: Likewise.
+       * libgnat/s-pack23.ads: Likewise.
+       * libgnat/s-pack24.adb: Likewise.
+       * libgnat/s-pack24.ads: Likewise.
+       * libgnat/s-pack25.adb: Likewise.
+       * libgnat/s-pack25.ads: Likewise.
+       * libgnat/s-pack26.adb: Likewise.
+       * libgnat/s-pack26.ads: Likewise.
+       * libgnat/s-pack27.adb: Likewise.
+       * libgnat/s-pack27.ads: Likewise.
+       * libgnat/s-pack28.adb: Likewise.
+       * libgnat/s-pack28.ads: Likewise.
+       * libgnat/s-pack29.adb: Likewise.
+       * libgnat/s-pack29.ads: Likewise.
+       * libgnat/s-pack30.adb: Likewise.
+       * libgnat/s-pack30.ads: Likewise.
+       * libgnat/s-pack31.adb: Likewise.
+       * libgnat/s-pack31.ads: Likewise.
+       * libgnat/s-pack33.adb: Likewise.
+       * libgnat/s-pack33.ads: Likewise.
+       * libgnat/s-pack34.adb: Likewise.
+       * libgnat/s-pack34.ads: Likewise.
+       * libgnat/s-pack35.adb: Likewise.
+       * libgnat/s-pack35.ads: Likewise.
+       * libgnat/s-pack36.adb: Likewise.
+       * libgnat/s-pack36.ads: Likewise.
+       * libgnat/s-pack37.adb: Likewise.
+       * libgnat/s-pack37.ads: Likewise.
+       * libgnat/s-pack38.adb: Likewise.
+       * libgnat/s-pack38.ads: Likewise.
+       * libgnat/s-pack39.adb: Likewise.
+       * libgnat/s-pack39.ads: Likewise.
+       * libgnat/s-pack40.adb: Likewise.
+       * libgnat/s-pack40.ads: Likewise.
+       * libgnat/s-pack41.adb: Likewise.
+       * libgnat/s-pack41.ads: Likewise.
+       * libgnat/s-pack42.adb: Likewise.
+       * libgnat/s-pack42.ads: Likewise.
+       * libgnat/s-pack43.adb: Likewise.
+       * libgnat/s-pack43.ads: Likewise.
+       * libgnat/s-pack44.adb: Likewise.
+       * libgnat/s-pack44.ads: Likewise.
+       * libgnat/s-pack45.adb: Likewise.
+       * libgnat/s-pack45.ads: Likewise.
+       * libgnat/s-pack46.adb: Likewise.
+       * libgnat/s-pack46.ads: Likewise.
+       * libgnat/s-pack47.adb: Likewise.
+       * libgnat/s-pack47.ads: Likewise.
+       * libgnat/s-pack48.adb: Likewise.
+       * libgnat/s-pack48.ads: Likewise.
+       * libgnat/s-pack49.adb: Likewise.
+       * libgnat/s-pack49.ads: Likewise.
+       * libgnat/s-pack50.adb: Likewise.
+       * libgnat/s-pack50.ads: Likewise.
+       * libgnat/s-pack51.adb: Likewise.
+       * libgnat/s-pack51.ads: Likewise.
+       * libgnat/s-pack52.adb: Likewise.
+       * libgnat/s-pack52.ads: Likewise.
+       * libgnat/s-pack53.adb: Likewise.
+       * libgnat/s-pack53.ads: Likewise.
+       * libgnat/s-pack54.adb: Likewise.
+       * libgnat/s-pack54.ads: Likewise.
+       * libgnat/s-pack55.adb: Likewise.
+       * libgnat/s-pack55.ads: Likewise.
+       * libgnat/s-pack56.adb: Likewise.
+       * libgnat/s-pack56.ads: Likewise.
+       * libgnat/s-pack57.adb: Likewise.
+       * libgnat/s-pack57.ads: Likewise.
+       * libgnat/s-pack58.adb: Likewise.
+       * libgnat/s-pack58.ads: Likewise.
+       * libgnat/s-pack59.adb: Likewise.
+       * libgnat/s-pack59.ads: Likewise.
+       * libgnat/s-pack60.adb: Likewise.
+       * libgnat/s-pack60.ads: Likewise.
+       * libgnat/s-pack61.adb: Likewise.
+       * libgnat/s-pack61.ads: Likewise.
+       * libgnat/s-pack62.adb: Likewise.
+       * libgnat/s-pack62.ads: Likewise.
+       * libgnat/s-pack63.adb: Likewise.
+       * libgnat/s-pack63.ads: Likewise.
+       * libgnat/s-parame.adb: Likewise.
+       * libgnat/s-parame.ads: Likewise.
+       * libgnat/s-parame__ae653.ads: Likewise.
+       * libgnat/s-parame__hpux.ads: Likewise.
+       * libgnat/s-parame__rtems.adb: Likewise.
+       * libgnat/s-parame__vxworks.adb: Likewise.
+       * libgnat/s-parame__vxworks.ads: Likewise.
+       * libgnat/s-parint.adb: Likewise.
+       * libgnat/s-parint.ads: Likewise.
+       * libgnat/s-pooglo.adb: Likewise.
+       * libgnat/s-pooglo.ads: Likewise.
+       * libgnat/s-pooloc.adb: Likewise.
+       * libgnat/s-pooloc.ads: Likewise.
+       * libgnat/s-poosiz.adb: Likewise.
+       * libgnat/s-poosiz.ads: Likewise.
+       * libgnat/s-powtab.ads: Likewise.
+       * libgnat/s-purexc.ads: Likewise.
+       * libgnat/s-rannum.adb: Likewise.
+       * libgnat/s-rannum.ads: Likewise.
+       * libgnat/s-ransee.adb: Likewise.
+       * libgnat/s-ransee.ads: Likewise.
+       * libgnat/s-regexp.adb: Likewise.
+       * libgnat/s-regexp.ads: Likewise.
+       * libgnat/s-regpat.adb: Likewise.
+       * libgnat/s-regpat.ads: Likewise.
+       * libgnat/s-resfil.adb: Likewise.
+       * libgnat/s-resfil.ads: Likewise.
+       * libgnat/s-restri.adb: Likewise.
+       * libgnat/s-restri.ads: Likewise.
+       * libgnat/s-rident.ads: Likewise.
+       * libgnat/s-rpc.adb: Likewise.
+       * libgnat/s-rpc.ads: Likewise.
+       * libgnat/s-scaval.adb: Likewise.
+       * libgnat/s-scaval.ads: Likewise.
+       * libgnat/s-secsta.adb: Likewise.
+       * libgnat/s-secsta.ads: Likewise.
+       * libgnat/s-sequio.adb: Likewise.
+       * libgnat/s-sequio.ads: Likewise.
+       * libgnat/s-shasto.adb: Likewise.
+       * libgnat/s-shasto.ads: Likewise.
+       * libgnat/s-soflin.adb: Likewise.
+       * libgnat/s-soflin.ads: Likewise.
+       * libgnat/s-soliin.adb: Likewise.
+       * libgnat/s-soliin.ads: Likewise.
+       * libgnat/s-sopco3.adb: Likewise.
+       * libgnat/s-sopco3.ads: Likewise.
+       * libgnat/s-sopco4.adb: Likewise.
+       * libgnat/s-sopco4.ads: Likewise.
+       * libgnat/s-sopco5.adb: Likewise.
+       * libgnat/s-sopco5.ads: Likewise.
+       * libgnat/s-spsufi.adb: Likewise.
+       * libgnat/s-spsufi.ads: Likewise.
+       * libgnat/s-stache.adb: Likewise.
+       * libgnat/s-stache.ads: Likewise.
+       * libgnat/s-stalib.adb: Likewise.
+       * libgnat/s-stalib.ads: Likewise.
+       * libgnat/s-stausa.adb: Likewise.
+       * libgnat/s-stausa.ads: Likewise.
+       * libgnat/s-stchop.adb: Likewise.
+       * libgnat/s-stchop.ads: Likewise.
+       * libgnat/s-stchop__limit.ads: Likewise.
+       * libgnat/s-stchop__rtems.adb: Likewise.
+       * libgnat/s-stchop__vxworks.adb: Likewise.
+       * libgnat/s-stoele.adb: Likewise.
+       * libgnat/s-stoele.ads: Likewise.
+       * libgnat/s-stopoo.adb: Likewise.
+       * libgnat/s-stopoo.ads: Likewise.
+       * libgnat/s-stposu.adb: Likewise.
+       * libgnat/s-stposu.ads: Likewise.
+       * libgnat/s-stratt.adb: Likewise.
+       * libgnat/s-stratt.ads: Likewise.
+       * libgnat/s-stratt__xdr.adb: Likewise.
+       * libgnat/s-strcom.adb: Likewise.
+       * libgnat/s-strcom.ads: Likewise.
+       * libgnat/s-strhas.adb: Likewise.
+       * libgnat/s-strhas.ads: Likewise.
+       * libgnat/s-string.adb: Likewise.
+       * libgnat/s-string.ads: Likewise.
+       * libgnat/s-strops.adb: Likewise.
+       * libgnat/s-strops.ads: Likewise.
+       * libgnat/s-ststop.adb: Likewise.
+       * libgnat/s-ststop.ads: Likewise.
+       * libgnat/s-tasloc.adb: Likewise.
+       * libgnat/s-tasloc.ads: Likewise.
+       * libgnat/s-thread.ads: Likewise.
+       * libgnat/s-thread__ae653.adb: Likewise.
+       * libgnat/s-traceb.adb: Likewise.
+       * libgnat/s-traceb.ads: Likewise.
+       * libgnat/s-traceb__hpux.adb: Likewise.
+       * libgnat/s-traceb__mastop.adb: Likewise.
+       * libgnat/s-traent.adb: Likewise.
+       * libgnat/s-traent.ads: Likewise.
+       * libgnat/s-trasym.adb: Likewise.
+       * libgnat/s-trasym.ads: Likewise.
+       * libgnat/s-trasym__dwarf.adb: Likewise.
+       * libgnat/s-tsmona.adb: Likewise.
+       * libgnat/s-tsmona__linux.adb: Likewise.
+       * libgnat/s-tsmona__mingw.adb: Likewise.
+       * libgnat/s-unstyp.ads: Likewise.
+       * libgnat/s-utf_32.adb: Likewise.
+       * libgnat/s-utf_32.ads: Likewise.
+       * libgnat/s-valboo.adb: Likewise.
+       * libgnat/s-valboo.ads: Likewise.
+       * libgnat/s-valcha.adb: Likewise.
+       * libgnat/s-valcha.ads: Likewise.
+       * libgnat/s-valdec.adb: Likewise.
+       * libgnat/s-valdec.ads: Likewise.
+       * libgnat/s-valenu.adb: Likewise.
+       * libgnat/s-valenu.ads: Likewise.
+       * libgnat/s-valint.adb: Likewise.
+       * libgnat/s-valint.ads: Likewise.
+       * libgnat/s-vallld.adb: Likewise.
+       * libgnat/s-vallld.ads: Likewise.
+       * libgnat/s-vallli.adb: Likewise.
+       * libgnat/s-vallli.ads: Likewise.
+       * libgnat/s-valllu.adb: Likewise.
+       * libgnat/s-valllu.ads: Likewise.
+       * libgnat/s-valrea.adb: Likewise.
+       * libgnat/s-valrea.ads: Likewise.
+       * libgnat/s-valuns.adb: Likewise.
+       * libgnat/s-valuns.ads: Likewise.
+       * libgnat/s-valuti.adb: Likewise.
+       * libgnat/s-valuti.ads: Likewise.
+       * libgnat/s-valwch.adb: Likewise.
+       * libgnat/s-valwch.ads: Likewise.
+       * libgnat/s-veboop.adb: Likewise.
+       * libgnat/s-veboop.ads: Likewise.
+       * libgnat/s-vector.ads: Likewise.
+       * libgnat/s-vercon.adb: Likewise.
+       * libgnat/s-vercon.ads: Likewise.
+       * libgnat/s-wchcnv.adb: Likewise.
+       * libgnat/s-wchcnv.ads: Likewise.
+       * libgnat/s-wchcon.adb: Likewise.
+       * libgnat/s-wchcon.ads: Likewise.
+       * libgnat/s-wchjis.adb: Likewise.
+       * libgnat/s-wchjis.ads: Likewise.
+       * libgnat/s-wchstw.adb: Likewise.
+       * libgnat/s-wchstw.ads: Likewise.
+       * libgnat/s-wchwts.adb: Likewise.
+       * libgnat/s-wchwts.ads: Likewise.
+       * libgnat/s-widboo.adb: Likewise.
+       * libgnat/s-widboo.ads: Likewise.
+       * libgnat/s-widcha.adb: Likewise.
+       * libgnat/s-widcha.ads: Likewise.
+       * libgnat/s-widenu.adb: Likewise.
+       * libgnat/s-widenu.ads: Likewise.
+       * libgnat/s-widlli.adb: Likewise.
+       * libgnat/s-widlli.ads: Likewise.
+       * libgnat/s-widllu.adb: Likewise.
+       * libgnat/s-widllu.ads: Likewise.
+       * libgnat/s-widwch.adb: Likewise.
+       * libgnat/s-widwch.ads: Likewise.
+       * libgnat/s-win32.ads: Likewise.
+       * libgnat/s-winext.ads: Likewise.
+       * libgnat/s-wwdcha.adb: Likewise.
+       * libgnat/s-wwdcha.ads: Likewise.
+       * libgnat/s-wwdenu.adb: Likewise.
+       * libgnat/s-wwdenu.ads: Likewise.
+       * libgnat/s-wwdwch.adb: Likewise.
+       * libgnat/s-wwdwch.ads: Likewise.
+       * libgnat/system-aix.ads: Likewise.
+       * libgnat/system-darwin-arm.ads: Likewise.
+       * libgnat/system-darwin-ppc.ads: Likewise.
+       * libgnat/system-darwin-x86.ads: Likewise.
+       * libgnat/system-djgpp.ads: Likewise.
+       * libgnat/system-dragonfly-x86_64.ads: Likewise.
+       * libgnat/system-freebsd.ads: Likewise.
+       * libgnat/system-hpux-ia64.ads: Likewise.
+       * libgnat/system-hpux.ads: Likewise.
+       * libgnat/system-linux-alpha.ads: Likewise.
+       * libgnat/system-linux-arm.ads: Likewise.
+       * libgnat/system-linux-hppa.ads: Likewise.
+       * libgnat/system-linux-ia64.ads: Likewise.
+       * libgnat/system-linux-m68k.ads: Likewise.
+       * libgnat/system-linux-mips.ads: Likewise.
+       * libgnat/system-linux-ppc.ads: Likewise.
+       * libgnat/system-linux-riscv.ads: Likewise.
+       * libgnat/system-linux-s390.ads: Likewise.
+       * libgnat/system-linux-sh4.ads: Likewise.
+       * libgnat/system-linux-sparc.ads: Likewise.
+       * libgnat/system-linux-x86.ads: Likewise.
+       * libgnat/system-lynxos178-ppc.ads: Likewise.
+       * libgnat/system-lynxos178-x86.ads: Likewise.
+       * libgnat/system-mingw.ads: Likewise.
+       * libgnat/system-qnx-aarch64.ads: Likewise.
+       * libgnat/system-rtems.ads: Likewise.
+       * libgnat/system-solaris-sparc.ads: Likewise.
+       * libgnat/system-solaris-x86.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp.ads: Likewise.
+       * libgnat/system-vxworks-arm.ads: Likewise.
+       * libgnat/system-vxworks-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks-e500-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc.ads: Likewise.
+       * libgnat/system-vxworks-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks-x86-vthread.ads: Likewise.
+       * libgnat/system-vxworks-x86.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64.ads: Likewise.
+       * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-arm.ads: Likewise.
+       * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+       * libgnat/system.ads: Likewise.
+       * link.c: Likewise.
+       * live.adb: Likewise.
+       * live.ads: Likewise.
+       * locales.c: Likewise.
+       * make.adb: Likewise.
+       * make.ads: Likewise.
+       * make_util.adb: Likewise.
+       * make_util.ads: Likewise.
+       * makeusg.adb: Likewise.
+       * makeusg.ads: Likewise.
+       * mdll-fil.adb: Likewise.
+       * mdll-fil.ads: Likewise.
+       * mdll-utl.adb: Likewise.
+       * mdll-utl.ads: Likewise.
+       * mdll.adb: Likewise.
+       * mdll.ads: Likewise.
+       * mingw32.h: Likewise.
+       * mkdir.c: Likewise.
+       * namet-sp.adb: Likewise.
+       * namet-sp.ads: Likewise.
+       * namet.adb: Likewise.
+       * namet.ads: Likewise.
+       * namet.h: Likewise.
+       * nlists.adb: Likewise.
+       * nlists.ads: Likewise.
+       * nlists.h: Likewise.
+       * opt.adb: Likewise.
+       * opt.ads: Likewise.
+       * osint-b.adb: Likewise.
+       * osint-b.ads: Likewise.
+       * osint-c.adb: Likewise.
+       * osint-c.ads: Likewise.
+       * osint-l.adb: Likewise.
+       * osint-l.ads: Likewise.
+       * osint-m.adb: Likewise.
+       * osint-m.ads: Likewise.
+       * osint.adb: Likewise.
+       * osint.ads: Likewise.
+       * output.adb: Likewise.
+       * output.ads: Likewise.
+       * par-ch10.adb: Likewise.
+       * par-ch11.adb: Likewise.
+       * par-ch12.adb: Likewise.
+       * par-ch13.adb: Likewise.
+       * par-ch2.adb: Likewise.
+       * par-ch3.adb: Likewise.
+       * par-ch4.adb: Likewise.
+       * par-ch5.adb: Likewise.
+       * par-ch6.adb: Likewise.
+       * par-ch7.adb: Likewise.
+       * par-ch8.adb: Likewise.
+       * par-ch9.adb: Likewise.
+       * par-endh.adb: Likewise.
+       * par-labl.adb: Likewise.
+       * par-load.adb: Likewise.
+       * par-prag.adb: Likewise.
+       * par-sync.adb: Likewise.
+       * par-tchk.adb: Likewise.
+       * par-util.adb: Likewise.
+       * par.adb: Likewise.
+       * par.ads: Likewise.
+       * par_sco.adb: Likewise.
+       * par_sco.ads: Likewise.
+       * pprint.adb: Likewise.
+       * pprint.ads: Likewise.
+       * prep.adb: Likewise.
+       * prep.ads: Likewise.
+       * prepcomp.adb: Likewise.
+       * prepcomp.ads: Likewise.
+       * put_scos.adb: Likewise.
+       * put_scos.ads: Likewise.
+       * raise-gcc.c: Likewise.
+       * raise.c: Likewise.
+       * raise.h: Likewise.
+       * repinfo-input.adb: Likewise.
+       * repinfo-input.ads: Likewise.
+       * repinfo.adb: Likewise.
+       * repinfo.ads: Likewise.
+       * repinfo.h: Likewise.
+       * restrict.adb: Likewise.
+       * restrict.ads: Likewise.
+       * rident.ads: Likewise.
+       * rtfinal.c: Likewise.
+       * rtinit.c: Likewise.
+       * rtsfind.adb: Likewise.
+       * rtsfind.ads: Likewise.
+       * runtime.h: Likewise.
+       * s-oscons-tmplt.c: Likewise.
+       * sa_messages.adb: Likewise.
+       * sa_messages.ads: Likewise.
+       * scans.adb: Likewise.
+       * scans.ads: Likewise.
+       * scil_ll.adb: Likewise.
+       * scil_ll.ads: Likewise.
+       * scn.adb: Likewise.
+       * scn.ads: Likewise.
+       * scng.adb: Likewise.
+       * scng.ads: Likewise.
+       * scos.adb: Likewise.
+       * scos.ads: Likewise.
+       * scos.h: Likewise.
+       * sdefault.ads: Likewise.
+       * seh_init.c: Likewise.
+       * sem.adb: Likewise.
+       * sem.ads: Likewise.
+       * sem_aggr.adb: Likewise.
+       * sem_aggr.ads: Likewise.
+       * sem_attr.adb: Likewise.
+       * sem_attr.ads: Likewise.
+       * sem_aux.adb: Likewise.
+       * sem_aux.ads: Likewise.
+       * sem_case.adb: Likewise.
+       * sem_case.ads: Likewise.
+       * sem_cat.adb: Likewise.
+       * sem_cat.ads: Likewise.
+       * sem_ch10.adb: Likewise.
+       * sem_ch10.ads: Likewise.
+       * sem_ch11.adb: Likewise.
+       * sem_ch11.ads: Likewise.
+       * sem_ch12.adb: Likewise.
+       * sem_ch12.ads: Likewise.
+       * sem_ch13.adb: Likewise.
+       * sem_ch13.ads: Likewise.
+       * sem_ch2.adb: Likewise.
+       * sem_ch2.ads: Likewise.
+       * sem_ch3.adb: Likewise.
+       * sem_ch3.ads: Likewise.
+       * sem_ch4.adb: Likewise.
+       * sem_ch4.ads: Likewise.
+       * sem_ch5.adb: Likewise.
+       * sem_ch5.ads: Likewise.
+       * sem_ch6.adb: Likewise.
+       * sem_ch6.ads: Likewise.
+       * sem_ch7.adb: Likewise.
+       * sem_ch7.ads: Likewise.
+       * sem_ch8.adb: Likewise.
+       * sem_ch8.ads: Likewise.
+       * sem_ch9.adb: Likewise.
+       * sem_ch9.ads: Likewise.
+       * sem_dim.adb: Likewise.
+       * sem_dim.ads: Likewise.
+       * sem_disp.adb: Likewise.
+       * sem_disp.ads: Likewise.
+       * sem_dist.adb: Likewise.
+       * sem_dist.ads: Likewise.
+       * sem_elab.adb: Likewise.
+       * sem_elab.ads: Likewise.
+       * sem_elim.adb: Likewise.
+       * sem_elim.ads: Likewise.
+       * sem_eval.adb: Likewise.
+       * sem_eval.ads: Likewise.
+       * sem_intr.adb: Likewise.
+       * sem_intr.ads: Likewise.
+       * sem_mech.adb: Likewise.
+       * sem_mech.ads: Likewise.
+       * sem_prag.adb: Likewise.
+       * sem_prag.ads: Likewise.
+       * sem_res.adb: Likewise.
+       * sem_res.ads: Likewise.
+       * sem_scil.adb: Likewise.
+       * sem_scil.ads: Likewise.
+       * sem_smem.adb: Likewise.
+       * sem_smem.ads: Likewise.
+       * sem_type.adb: Likewise.
+       * sem_type.ads: Likewise.
+       * sem_util.adb: Likewise.
+       * sem_util.ads: Likewise.
+       * sem_warn.adb: Likewise.
+       * sem_warn.ads: Likewise.
+       * set_targ.adb: Likewise.
+       * set_targ.ads: Likewise.
+       * sfn_scan.adb: Likewise.
+       * sfn_scan.ads: Likewise.
+       * sigtramp-armdroid.c: Likewise.
+       * sigtramp-ios.c: Likewise.
+       * sigtramp-qnx.c: Likewise.
+       * sigtramp-vxworks.c: Likewise.
+       * sigtramp.h: Likewise.
+       * sinfo-cn.adb: Likewise.
+       * sinfo-cn.ads: Likewise.
+       * sinfo.adb: Likewise.
+       * sinfo.ads: Likewise.
+       * sinput-c.adb: Likewise.
+       * sinput-c.ads: Likewise.
+       * sinput-d.adb: Likewise.
+       * sinput-d.ads: Likewise.
+       * sinput-l.adb: Likewise.
+       * sinput-l.ads: Likewise.
+       * sinput.adb: Likewise.
+       * sinput.ads: Likewise.
+       * socket.c: Likewise.
+       * spark_xrefs.adb: Likewise.
+       * spark_xrefs.ads: Likewise.
+       * sprint.adb: Likewise.
+       * sprint.ads: Likewise.
+       * stand.adb: Likewise.
+       * stand.ads: Likewise.
+       * stringt.adb: Likewise.
+       * stringt.ads: Likewise.
+       * stringt.h: Likewise.
+       * style.adb: Likewise.
+       * style.ads: Likewise.
+       * styleg.adb: Likewise.
+       * styleg.ads: Likewise.
+       * stylesw.adb: Likewise.
+       * stylesw.ads: Likewise.
+       * switch-b.adb: Likewise.
+       * switch-b.ads: Likewise.
+       * switch-c.adb: Likewise.
+       * switch-c.ads: Likewise.
+       * switch-m.adb: Likewise.
+       * switch-m.ads: Likewise.
+       * switch.adb: Likewise.
+       * switch.ads: Likewise.
+       * symbols.adb: Likewise.
+       * symbols.ads: Likewise.
+       * sysdep.c: Likewise.
+       * table.adb: Likewise.
+       * table.ads: Likewise.
+       * targext.c: Likewise.
+       * targparm.adb: Likewise.
+       * targparm.ads: Likewise.
+       * tbuild.adb: Likewise.
+       * tbuild.ads: Likewise.
+       * tempdir.adb: Likewise.
+       * tempdir.ads: Likewise.
+       * terminals.c: Likewise.
+       * tracebak.c: Likewise.
+       * tree_gen.adb: Likewise.
+       * tree_gen.ads: Likewise.
+       * tree_in.adb: Likewise.
+       * tree_in.ads: Likewise.
+       * tree_io.adb: Likewise.
+       * tree_io.ads: Likewise.
+       * treepr.adb: Likewise.
+       * treepr.ads: Likewise.
+       * ttypes.ads: Likewise.
+       * types.adb: Likewise.
+       * types.ads: Likewise.
+       * types.h: Likewise.
+       * uintp.adb: Likewise.
+       * uintp.ads: Likewise.
+       * uintp.h: Likewise.
+       * uname.adb: Likewise.
+       * uname.ads: Likewise.
+       * urealp.adb: Likewise.
+       * urealp.ads: Likewise.
+       * urealp.h: Likewise.
+       * usage.adb: Likewise.
+       * usage.ads: Likewise.
+       * validsw.adb: Likewise.
+       * validsw.ads: Likewise.
+       * warnsw.adb: Likewise.
+       * warnsw.ads: Likewise.
+       * widechar.adb: Likewise.
+       * widechar.ads: Likewise.
+       * xeinfo.adb: Likewise.
+       * xnmake.adb: Likewise.
+       * xoscons.adb: Likewise.
+       * xr_tabls.adb: Likewise.
+       * xr_tabls.ads: Likewise.
+       * xref_lib.adb: Likewise.
+       * xref_lib.ads: Likewise.
+       * xsinfo.adb: Likewise.
+       * xsnamest.adb: Likewise.
+       * xtreeprs.adb: Likewise.
+       * xutil.adb: Likewise.
+       * xutil.ads: Likewise.
+
+2020-06-02  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Set attribute
+       Expansion_Delayed on aggregates that initialize an object that
+       has aspect alignment or address clause. Done to allow ther
+       initialization by means of multiple assignments.
+       * exp_ch3.adb (Expand_N_Object_Declaration): Resolve delayed
+       aggregates. This patch complements the patch applied to
+       sem_ch3.adb
+
+2020-06-02  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Ensure_Minimum_Decoration): New subprogram that
+       ensures the minimum decoration required by
+       Requires_Transient_Scope() to provide its functionality when the
+       entity is not frozen.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Divide): Remove code dealing with
+       the Treat_Fixed_As_Integer flag.
+       (Expand_N_Op_Multiply): Likewise.
+       * exp_fixd.adb (Build_Divide): Do the division in an integer
+       type long enough to hold both operands and convert the result
+       to the type of the LHS.  Do not set Treat_Fixed_As_Integer.
+       (Build_Multiply): Do not set Treat_Fixed_As_Integer.
+       (Build_Rem): Likewise.
+       * sem_ch4.adb (Analyze_Arithmetic_Op): Remove code dealing with
+       the Treat_Fixed_As_Integer flag.
+       (Check_Arithmetic_Pair): Likewise.
+       * sinfo.ads (Treat_Fixed_As_Integer): Delete.
+       (N_Has_Treat_Fixed_As_Integer): Likewise.
+       (Set_Treat_Fixed_As_Integer): Likewise.
+       * sinfo.adb (Treat_Fixed_As_Integer): Likewise.
+       (Set_Treat_Fixed_As_Integer): Likewise.
+       * sprint.ads (Syntax Extensions): Remove '#' special character.
+       * sprint.adb (Process_TFAI_RR_Flags): Delete.
+       (Sprint_Node_Actual) <N_Op_Divide>: Print '@' manually.
+       <N_Op_Multiply>: Likewise.
+       <N_Op_Mod>: Do not print '#'.
+       <N_Op_Rem>: Likewise.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (Others_Check): In the positional case, use the
+       general expression for the comparison only when needed.
+       * exp_attr.adb (Expand_Fpt_Attribute;): Use a simple conversion
+       to the target type instead of an unchecked conversion to the
+       base type to do the range check, as in the other cases.
+       (Expand_N_Attribute_Reference) <Attribute_Storage_Size>: Do the
+       Max operation in the type of the storage size variable, and use
+       Convert_To as in the other cases.
+       * tbuild.adb (Convert_To): Do not get rid of an intermediate
+       conversion to Universal_Integer here...
+       * sem_res.adb  (Simplify_Type_Conversion): ...but here instead.
+
+2020-06-02  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Update documentation
+       for --RM-style-spacing.
+
+2020-06-02  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
+       --[no-]compact switch.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): Set the type of the PAT
+       on the zero used to clear the array.
+       * exp_attr.adb (Expand_N_Attribute_Reference)
+       <Attribute_Alignment>: In the CW case, directly convert from the
+       alignment's type to the target type if the parent is an
+       unchecked conversion.
+       * sem_res.adb (Set_String_Literal_Subtype): In the dynamic case,
+       use the general expression for the upper bound only when needed.
+       Set the base type of the index as the type of the low bound.
+       (Simplify_Type_Conversion): Do an intermediate conversion to the
+       root type of the target type if the operand is an integer
+       literal.
+       * tbuild.adb (Convert_To): Get rid of an intermediate conversion
+       to Universal_Integer if the inner expression has integer tyoe.
+       * libgnat/a-sequio.adb (Byte_Swap): Make use of an equivalent
+       static expression in the case statement.
+
+2020-06-02  Thomas Quinot  <quinot@adacore.com>
+
+       * par_sco.adb (Traverse_Degenerate_Subprogram): Set statement
+       code to 'X'.
+       * scos.ads: Update comment documenting SCO data.
+
+2020-06-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_unst.adb (Register_Subprogram): Test for Address_Taken (in
+       addition to the existing test for In_Synchonized_Unit) when
+       deciding whether to reset the Reachable flag on all subprograms
+       enclosing the subprogram being registered.
+
+2020-06-02  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Obj_Accessibility): Avoid use of
+       parent node pointers so we are not relying on expansion done in
+       GNATprove mode.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference)
+       <Attribute_Alignment>: Adjust comment and compare against proper
+       type.
+
+2020-06-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_unst.adb (Visit_Node): When visiting array attribute
+       nodes, apply Get_Referenced_Object to the attribute prefix, to
+       handle prefixes denoting renamed objects by picking up the Etype
+       of the renamed object rather than the possibly unconstrained
+       nominal subtype of the renaming declaration's Entity.
+       * sem_util.ads (Get_Referenced_Object): Update comment to
+       clearly indicate that any kind of node can be passed to this
+       function.
+       * sem_util.adb (Get_Referenced_Object): Add test of Is_Object to
+       the condition, to allow for passing names that denote types and
+       subtypes.
+
+2020-06-02  Bob Duff  <duff@adacore.com>
+
+       * snames.ads-tmpl: Add comments explaining that enumeration
+       types have to be kept in synch with subtypes of Name_Id.
+
+2020-06-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Check_No_Hidden_State): Remove dead code.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Bit_Reference): Change type of
+       reference from Universal_Integer to Standard_Natural.
+
+2020-06-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Collect_States_And_Objects): Call itself on
+       declaration of nested packages; append abstract states
+       one-by-one, so that in recursive call we do not overwrite the
+       ones that have been already collected.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_atag.ads (Build_Inherit_Predefined_Prims): Change type
+       of Num_Predef_Prim parameter from Int to Nat.
+       * exp_atag.adb (Build_Range): New procedure.
+       (Build_Val): Likewise.
+       (Build_CW_Membership): Call Build_Val.
+       (Build_Get_Predefined_Prim_Op_Address): Likewise.
+       (Build_Inherit_CPP_Prims): Likewise.
+       (Build_Get_Prim_Op_Address): Likewise.
+       (Build_Set_Predefined_Prim_Op_Address): Likewise.
+       (Build_Inherit_Prims): Call Build_Range.
+       (Build_Inherit_Predefined_Prims): Likewise.  Change type of
+       Num_Predef_Prim parameter from Int to Nat.
+
+2020-06-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb: Two typo fixes.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Replace_Discriminants): Preserve the Etype of the
+       Name of N_Variant_Part nodes when rewriting it.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Signed_Integer_Type_Declaration): Change the type
+       of the bounds from Universal_Integer to Implicit_Base.
+
+2020-06-02  Arnaud Charlet  <charlet@adacore.com>
+
+       * bcheck.adb, binde.adb, bindo-diagnostics.adb, checks.adb,
+       exp_aggr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
+       exp_ch9.adb, gnatname.adb, sem_case.adb, sem_ch13.adb,
+       sem_ch5.adb, sem_prag.adb, sem_util.adb, uintp.adb, urealp.adb,
+       xoscons.adb, xr_tabls.adb, xref_lib.adb: Initialize objects more
+       explicitly and add corresponding assertions. Remove dead code.
+       Also add a few Annotate pragmas to help static analysis.
+       * libgnat/a-caldel.adb, libgnat/a-calend.adb,
+       libgnat/a-ngcoty.adb, libgnat/a-ngelfu.adb,
+       libgnat/a-ngrear.adb, libgnat/a-strfix.adb,
+       libgnat/g-calend.adb, libgnat/g-catiio.adb,
+       libgnat/g-comlin.adb, libgnat/g-debpoo.adb,
+       libgnat/g-dirope.adb, libgnat/g-hesorg.adb,
+       libgnat/g-pehage.adb, libgnat/g-socket.adb, libgnat/i-cobol.adb,
+       libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
+       libgnat/s-fatgen.adb, libgnat/s-gearop.adb,
+       libgnat/s-genbig.adb, libgnat/s-imgrea.adb,
+       libgnat/s-os_lib.adb, libgnat/s-rannum.adb,
+       libgnat/s-regpat.adb, libgnat/s-trasym__dwarf.adb,
+       libgnat/s-valrea.adb: Ditto.
+
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Replace_Components): Rename into...
+       (Replace_Discriminants): ...this.  Replace girder discriminants
+       with non-girder ones.  Do not replace components.
+       * sem_ch13.adb (Check_Record_Representation_Clause): Deal with
+       non-girder discriminants correctly.
+
+2020-06-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-xref-spark_specific.adb (Create_Heap): use a new variant
+       of Name_Enter to directly converts String to Make_Id.
+
+2020-06-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb, par-ch4.adb, par-util.adb, scans.ads, scng.adb,
+       sem_attr.adb, sem_ch4.adb, sinfo.ads: Typo corrections and minor
+       reformatting.
+
+2020-06-02  Arnaud Charlet  <charlet@adacore.com>
+
+       * snames.ads-tmpl (Name_Img, Attribute_Img): Make it an
+       attribute returning renamable functions.
+
+2020-06-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb, sem_prag.ads (Set_Overflow_Mode): New procedure
+       to set overflow mode.
+
+2020-06-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb,
+       sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb,
+       sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package
+       where possible (similarly, reuse Is_Concurrent_Type if it was
+       possible in the same expressions).
+
+2020-05-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl (ADA_INCLUDE_SRCS): Replace Makefile.adalib by
+       libada.gpr and associated project files.
+       (g-debpoo.o): Add missing rule to ensure subprograms are not reordered.
+       (setup-rts): Add generation of libgnat/libgnarl.lst.
+       (LIBGNAT_SRCS): Remove thread.c which is part of libgnarl.
+       * tracebak.c, tb-gcc.c: Merged the two files to simplify dependencies.
+       * libgnarl/libgnarl.gpr, libgnat/libada.gpr,
+       libgnat/libgnat.gpr, libgnat/libgnat_common.gpr: New files.
+       * doc/gnat_ugn/the_gnat_compilation_model.rst: Makefile.adalib
+       replaced by libada.gpr.
+       * libgnat/system-mingw.ads: Remove obsolete comment.
+       * gcc-interface/Makefile.in: Remove dependency on tb-gcc.c.
+
+2020-05-27  Martin Liska  <mliska@suse.cz>
+
+       * gnatvsn.ads: Bump Library_Version to 11.
+
+2020-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/95333
+       * gcc-interface/decl.c (gnat_to_gnu_param): Never make a variant of
+       the type.
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Define in
+       terms of DUMPS_OPTIONS.  Replace occurrences of %{d*} %:dumps
+       with it.
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc-interface/lang-specs.h: Drop auxbase and auxbase-strip.
+       Use %:dumps instead of -dumpbase.  Add %w for implicit .s
+       primary output.
+       * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
+       dumpbase-ext.  Drop auxbase and auxbase-strip.
+
+2020-05-25  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Check_No_Hidden_State): Stop propagation at
+       first block/task/entry.
+
+2020-05-25  Yannick Moy  <moy@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Document
+       changes to pragmas Compile_Time_Error/Compile_Time_Warning.
+       * gnat_rm.texi: Regenerate.
+       * libgnat/g-bytswa.adb: Change uses of Compile_Time_Error to
+       Compile_Time_Warning, as the actual expression may not always be
+       known statically.
+       * sem_prag.adb (Analyze_Pragma): Handle differently pragma
+       Compile_Time_Error in both compilation and in GNATprove mode.
+       (Validate_Compile_Time_Warning_Or_Error): Issue an error or
+       warning when the expression is not known at compile time.
+       * usage.adb: Add missing documentation for warning switches _c
+       and _r.
+       * warnsw.ads: Update comment.
+
+2020-05-25  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Obj_Accessibility): Use original
+       node to avoid looking at expansion done in GNATprove mode.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable
+       and use it throughout the function.
+       <E_Variable>: Rename local variable and adjust accordingly.  In the
+       case of a renaming, materialize the entity if the renamed object is
+       an N_Expression_With_Actions node.
+       <E_Procedure>: Use Alias accessor function consistently.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (get_array_bit_stride): Get to the debug type,
+       if any, before calling gnat_get_array_descr_info.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Tidy up.
+       (build_variant_list): Add GNAT_VARIANT_PART parameter and annotate its
+       variants if it is present.  Adjust the recursive call by passing the
+       variant subpart of variants, if any.
+       (copy_and_substitute_in_layout): Rename GNU_SUBST_LIST to SUBST_LIST
+       and adjust throughout.  For a type, pass the variant part in the
+       call to build_variant_list.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_component_type): Cap the alignment
+       of the component type according to the component size.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add a
+       description of the various types associated with the unconstrained
+       type.  Declare the fat pointer earlier.  Set the current function
+       as context on the template type, and the fat pointer type on the
+       array type.  Always mark the fat pointer type as artificial and set
+       it as the context for the pointer type to the array.  Also reuse
+       GNU_ENTITY_NAME.  Finish up the unconstrained type at the very end.
+       * gcc-interface/misc.c (gnat_get_array_descr_info): Do not handle
+       fat pointer types and tidy up accordingly.
+       * gcc-interface/utils.c (build_unc_object_type): Do not set the
+       context on the template type.
+       (gnat_pushdecl): Mark the canonical fat pointer types as artificial.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (operand_type): New static inline function.
+       * gcc-interface/trans.c (gnat_to_gnu): Do not suppress conversion
+       to the resulty type at the end for array types.
+       * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not
+       remove conversions between array types on the LHS.
+
+2020-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_aggr.ads (Is_Single_Aggregate): New function.
+       * sem_aggr.adb (Is_Others_Aggregate): Use local variable.
+       (Is_Single_Aggregate): New function to recognize an aggregate with
+       a single association containing a single choice.
+       * fe.h (Is_Others_Aggregate): Delete.
+       (Is_Single_Aggregate): New declaration.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Call
+       Is_Single_Aggregate instead of Is_Others_Aggregate.
+
+2020-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/95035
+       * gcc-interface/utils.c (packable_type_hasher::equal): Also compare
+       the scalar storage order.
+       (hash_packable_type): Also hash the scalar storage order.
+       (hash_pad_type): Likewise.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/*.[ch]: Update copyright year.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Assert that
+       the prefix is not a type.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Rename into...
+       (TYPE_BIT_PACKED_ARRAY_TYPE_P): ...this.
+       (TYPE_IS_PACKED_ARRAY_TYPE_P): Rename into...
+       (BIT_PACKED_ARRAY_TYPE_P): ...this.
+       (TYPE_IMPL_PACKED_ARRAY_P): Adjust to above renaming.
+       * gcc-interface/gigi.h (maybe_pad_type): Remove IS_USER_TYPE parameter.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust call
+       to maybe_pad_type.
+       <E_Ordinary_Fixed_Point_Type>: Remove const qualifiers for tree.
+       <E_Signed_Integer_Subtype>: Remove redundant test and redundant call
+       to associate_original_type_to_packed_array.  Turn test into assertion.
+       Call associate_original_type_to_packed_array and modify gnu_entity_name
+       accordingly.  Explicitly set the parallel type for GNAT encodings.
+       Call create_type_decl in the misaligned case before maybe_pad_type.
+       <E_Array_Type>: Do not use the name of the implementation type for a
+       packed array when not using GNAT encodings.
+       <E_Array_Subtype>: Move around setting flags. Use the result of the
+       call to associate_original_type_to_packed_array for gnu_entity_name.
+       <E_Record_Subtype>: Create XVS type and XVZ variable only if debug
+       info is requested for the type.
+       Call create_type_decl if a padded type was created for a type entity.
+       (gnat_to_gnu_component_type): Use local variable and adjust calls to
+       maybe_pad_type.
+       (gnat_to_gnu_subprog_type): Adjust call to maybe_pad_type.
+       (gnat_to_gnu_field): Likewise.
+       (validate_size): Adjust to renaming of macro.
+       (set_rm_size): Likewise.
+       (associate_original_type_to_packed_array): Adjust return type and
+       return the name of the original type if GNAT encodings are not used.
+       * gcc-interface/misc.c (gnat_get_debug_typ): Remove obsolete stuff.
+       (gnat_get_fixed_point_type_info): Remove const qualifiers for tree.
+       (gnat_get_array_descr_info): Likewise and set variables lazily.
+       Remove call to maybe_debug_type.  Simplify a few computations.
+       (enumerate_modes): Remove const qualifier for tree.
+       * gcc-interface/utils.c (make_type_from_size): Adjust to renaming.
+       (maybe_pad_type): Remove IS_USER_TYPE parameter and adjust.  Remove
+       specific code for implementation types for packed arrays.
+       (compute_deferred_decl_context): Remove const qualifier for tree.
+       (convert): Adjust call to maybe_pad_type.
+       (unchecked_convert): Likewise.
+       * gcc-interface/utils2.c (is_simple_additive_expressio): Likewise.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Use
+       build_nonshared_array_type to build the common type and declare it.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the user
+       for -fnon-call-exceptions in default mode.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (lvalue_required_p) <N_Selected_Component>:
+       Merge with N_Slice.
+       <N_Allocator>: Move to...
+       (lvalue_for_aggregate_p): ...here.  New function.
+       (Identifier_to_gnu): For an identifier with aggregate type, also
+       call lvalue_for_aggregate_p if lvalue_required_p returned false
+       before substituting the identifier with the constant.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if
+       they appear in any kind of attribute references.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Deal
+       with qualified "others" aggregates in the memset case.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the
+       mechanism in the case of an Out parameter only passed by copy-out.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (change_qualified_type): Move around.
+       (maybe_vector_array): Likewise.
+       (maybe_padded_object): New static line function.
+       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Component_Size>:
+       Remove useless code.
+       <Attr_Null_Parameter>: Remove obsolete code.
+       (Call_to_gn): Likewise.  Use maybe_padded_object to remove padding.
+       (gnat_to_gnu): Likewise.
+       <N_String_Literal>: Do not add a useless null character at the end.
+       <N_Indexed_Component>: Likewise and remove obsolete code.
+       (add_decl_expr): Likewise.
+       (maybe_implicit_deref): Likewise.
+       * gcc-interface/utils.c (maybe_unconstrained_array): Likewise.
+       * gcc-interface/utils2.c (gnat_invariant_expr): Likewise.
+
+2020-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c: Include builtins.h.
+       (known_alignment) <ADDR_EXPR>: Use DECL_ALIGN for DECL_P operands
+       and get_object_alignment for the rest.
+
+2020-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Force at
+       least the unit size for an aliased object of a constrained nominal
+       subtype whose size is variable.
+
+2020-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Deal
+       with artificial maximally-sized types designed by access types.
+       * gcc-interface/utils.c (packable_type_hash): New structure.
+       (packable_type_hasher): Likewise.
+       (packable_type_hash_table): New hash table.
+       (init_gnat_utils): Initialize it.
+       (destroy_gnat_utils): Destroy it.
+       (packable_type_hasher::equal): New method.
+       (hash_packable_type): New static function.
+       (canonicalize_packable_type): Likewise.
+       (make_packable_type): Make sure not to use too small a type for the
+       size of the new fields.  Canonicalize the type if it is named.
+
+2020-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower
+       bound and an upper bound for use by the -gnateE switch for range and
+       comparison operators.
+
+2020-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of
+       the type in LTO mode.
+
+2020-05-04  Mikael Pettersson  <mikpelinux@gmail.com>
+
+       PR bootstrap/94918
+       * mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64.
+       * s-oscons-tmplt.c (Serial_Port_Descriptor): Use System.Win32.HANDLE
+       also on Cygwin.
+
+2020-03-11  Richard Wai  <richard@annexi-strayline.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on
+       the Alias of the entitiy, if it is present, in the main assertion.
+
+2020-02-06  Alexandre Oliva <oliva@adacore.com>
+
+       * raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]:
+       Initialize barrier_cache.sp when ending phase1.
+
+2020-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatvsn.ads: Bump copyright year.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * gnat_ugn.texi: Bump @copying's copyright year.
+       * gnat_rm.texi: Likewise.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/cp/ChangeLog-2020 b/gcc/cp/ChangeLog-2020
new file mode 100644 (file)
index 0000000..593627c
--- /dev/null
@@ -0,0 +1,6596 @@
+2020-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++spec.c (LIBCXX, LIBCXX_PROFILE, LIBCXX_STATIC): New.
+       (LIBCXXABI, LIBCXXABI_PROFILE, LIBCXXABI_STATIC): New.
+       (enum stdcxxlib_kind): New.
+       (lang_specific_driver): Allow selection amongst multiple
+       c++ runtime libraries.
+
+2020-12-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/96045
+       * parser.c (cp_lexer_new_main): Adjust EOF token location.
+
+2020-12-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97597
+       * class.c (is_empty_base_ref): New.
+       (build_base_path): Add NOP_EXPR after offset.
+       * cp-tree.h (is_empty_base_ref): Declare it.
+       * call.c (unsafe_return_slot_p): Call it.
+
+2020-12-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98353
+       * init.c (build_zero_init_1): Use build_zero_cst for SCALAR_TYPE_P
+       zero initializers.
+
+2020-12-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98332
+       * constexpr.c (unshare_constructor): Check for NULL.
+       (cxx_eval_vec_init_1): Always exit early if non-constant.
+
+2020-12-22  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (has_definition): Check DECL_LANG_SPECIFIC.
+
+2020-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93480
+       * method.c (common_comparison_type): If comps[i] is a TREE_LIST,
+       use its TREE_VALUE instead.
+       (build_comparison_op): Handle array members.
+
+2020-12-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * module.cc (INCLUDE_STRING): Define.
+       (INCLUDE_VECTOR): Ditto.
+
+2020-12-22  Jason Merrill  <jason@redhat.com>
+
+       * mangle.c (write_member_name): Add assert.
+       (write_expression): Add asserts.
+
+2020-12-21  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (create_dirs): Add logging.
+       (finish_module_processing): Unlink before rename.
+
+2020-12-21  Nathan Sidwell  <nathan@acm.org>
+
+       PR bootstrap/98412
+       * mapper-client.cc: INCLUDE_STRING, INCLUDE_VECTOR.
+       (module_client::open_module_client): Avoid std::stoul.
+       * mapper-resolver.cc: INCLUDE_STRING, INCLUDE_VECTOR.
+
+2020-12-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * cp-lang.c (cxx_get_decl_init): New.
+       (cxx_omp_finish_decl_inits): New.
+       (LANG_HOOKS_GET_DECL_INIT): New.
+       (LANG_HOOKS_OMP_FINISH_DECL_INITS): New.
+       * cp-tree.h (dynamic_initializers): New.
+       * decl.c (dynamic_initializers): New.
+       * decl2.c (c_parse_final_cleanups): Add initializer entries
+       from vars to dynamic_initializers.
+
+2020-12-18  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (O_CLOEXEC, O_BINARY): Add window's support.
+       (elf_in::defrost, module_state::do_import)
+       (finish_module_processing): Use O_BINARY.
+
+2020-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98343
+       * cp-gimplify.c (source_location_table_entry_hash::pch_nx): Override
+       static member functions from ggc_remove.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (satisfying_constraint): Move up definition
+       and give it bool type.
+       (failed_type_completion_count): Replace with ...
+       (failed_type_completions): ... this.
+       (note_failed_type_completion_for_satisfaction): Append the
+       supplied argument to failed_type_completions.
+       (some_type_complete_p): Define.
+       (sat_entry::maybe_unstable): Replace with ...
+       (sat_entry::ftc_begin, sat_entry::ftc_end): ... these.
+       (satisfaction_cache::ftc_count): Replace with ...
+       (satisfaction_cache::ftc_begin): ... this.
+       (satisfaction_cache::satisfaction_cache): Adjust accordingly.
+       (satisfaction_cache::get): Adjust accordingly, using
+       some_type_complete_p.
+       (satisfaction_cache::save): Adjust accordingly.
+       (satisfying_constraint_p): Remove unused function.
+       (satisfy_constraint): Set satisfying_constraint.
+       (satisfy_declaration_constraints): Likewise.
+       * decl.c (require_deduced_type): Call
+       note_failed_type_completion_for_satisfaction.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (sat_entry::evaluating): New member.
+       (satisfaction_cache::get): If entry->evaluating, diagnose
+       self-recursive satisfaction.  Otherwise, set entry->evaluating
+       if we're not reusing a cached satisfaction result.
+       (satisfaction_cache::save): Clear entry->evaluating.
+       (satisfy_atom): Set up diagnosing_failed_constraint before the
+       first call to get().
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (failed_type_completion_count): New.
+       (note_failed_type_completion_for_satisfaction): New.
+       (sat_entry::constr): Rename to ...
+       (sat_entry::atom): ... this.
+       (sat_entry::location): New member.
+       (sat_entry::maybe_unstable): New member.
+       (sat_entry::diagnose_instability): New member.
+       (struct sat_hasher): Adjust after the above renaming.
+       (get_satisfaction, save_satisfaction): Remove.
+       (satisfaction_cache): Rewrite completely.
+       (satisfy_atom): When instantiation of the parameter mapping
+       fails, set diagnose_instability.  Propagate location from
+       inst_cache.entry to cache.entry if the secondary lookup
+       succeeded.
+       (satisfy_declaration_constraints): When
+       failed_type_completion_count differs before and after
+       satisfaction, then don't cache the satisfaction result.
+       * cp-tree.h (note_failed_type_completion_for_satisfaction):
+       Declare.
+       * pt.c (tsubst) <case TYPENAME_TYPE>: Use
+       complete_type_or_maybe_complain instead of open-coding it.
+       * typeck.c (complete_type_or_maybe_complain): Call
+       note_failed_type_completion_for_satisfaction when type
+       completion fails.
+
+2020-12-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98340
+       * module.cc (uintset<T>::hash::add): Use uintset (0u).MEMBER,
+       rather than uintset::MEMBER.
+
+2020-12-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR bootstrap/98300
+       * module.cc: Fix ::read, ::write result signedness comparisons.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * mapper-resolver.cc: Remove early include of
+       sys/socket.h.  Specify no CODY_NETWORKING instead.
+       * module.cc: Specify no CODY_NETWORKING.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_elaborated_type_specifier): Test
+       BOUND_TEMPLATE_TEMPLATE_PARM before checking for instantiation.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (dumper::push): Clangify offsetof use.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * mapper-resolver.cc: #include sys/socket before system.h
+       due to poisoned bcopy use.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (loc_spans): Make spans a pointer, not inline.
+       Adjust all accesses.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * mapper-client.cc: Include sys/socket.h before system.h.
+
+2020-12-15  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (in_template_function): Inspect cfun->decl instead of
+       current_function_decl.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc: Replace stubs with implementation.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add mapper-client &
+       mapper-resolver.
+       * mapper-client.h: New.
+       * mapper-client.cc: New.
+       * mapper-resolver.cc: New.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (do_namespace_alias): Set originating module
+       before pushing.
+
+2020-12-11  Jason Merrill  <jason@redhat.com>
+
+       PR libstdc++/97600
+       * call.c (build_user_type_conversion_1): Avoid considering
+       conversion functions that return a clearly unsuitable type.
+
+2020-12-11  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (make_binding_vec): Add CXX_MEM_STAT_INFO.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * config-lang.in (gtfiles): Add cp/module.cc.
+       * decl2.c (c_parse_final_cleanups): Add module support.
+       * lambda.c (record_lambda_scope): Call maybe_attach_decl.
+       * module.cc (maybe_attach_decl, lazy_load_specializations): Stubs.
+       (finish_module_procesing): Stub.
+       * pt.c (lookup_template_class_1): Lazy load specializations.
+       (instantiate_template_1): Likewise.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * decl2.c (c_parse_final_cleanups): Refactor loop.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (map_context_from, map_context_to): Declare.
+       * module.cc (map_context_from, map_context_to): Define.
+       * tree.c (cp_tree_equal): Check map_context_{from,to} for parm
+       context difference.  Allow NON_LVALUE_EXPR and VIEW_CONVERT_EXPR
+       with null types.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-lang.c (LANG_HOOKS_PREPROCESS_MAIN_FILE): Override.
+       (LANG_HOOKS_PREPROCESS_OPTIONS): Override.
+       (LANG_HOOKS_PREPROCESS_TOKEN): Override.
+       * cp-objcp-common.c (cp_register_dumps): Add module dump.
+       (cp_handle_option): New.
+       * cp-objcp-common.h (cp_handle_option): Declare.
+       (LANG_HOOKS_HANDLE_OPTION): Override.
+       * cp-tree.h (module_dump_id): Declare.
+       * module.cc (module_dump_id): Define.
+       (module_begin_main_file, handle_module_option)
+       (module_preproces_options): Stubs.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (lazy_specializations_p): Stub.
+       * name-lookup.h (append_imported_binding_slot)
+       (mergeable_namespacE_slots, lookup_class_binding)
+       (walk_module_binding, import_module_binding, set_module_binding)
+       (note_pending_specializations, load_pending_specializations)
+       (add_module_decl, add_imported_namespace): Declare.
+       (get_cxx_dialect_name): Declare.
+       (enum WMB_flags): New.
+       * name-lookup.c (append_imported_binding_slot)
+       (mergeable_namespacE_slots, lookup_class_binding)
+       (walk_module_binding, import_module_binding, set_module_binding)
+       (note_pending_specializations, load_pending_specializations)
+       (add_module_decl, add_imported_namespace): New.
+       (get_cxx_dialect_name): Make extern.
+
+2020-12-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/78173
+       * typeck.c (pointer_diff): Use complete_type_or_maybe_complain
+       instead of complete_type_or_else.
+
+2020-12-10  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (struct type_identity): New.
+       (make_temp_override): New.
+       * decl.c (grokdeclarator): Use it.
+       * except.c (maybe_noexcept_warning): Use it.
+       * parser.c (cp_parser_enum_specifier): Use it.
+       (cp_parser_parameter_declaration_clause): Use it.
+       (cp_parser_gnu_attributes_opt): Use it.
+       (cp_parser_std_attribute): Use it.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (do_nonmember_using_decl): Add INSERT_P parm.
+       Deal with exporting using decls.
+       (finish_nonmember_using_decl): Examine BINDING_VECTOR.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (visible_instantiation_path): Renamed.
+       * module.cc (get_originating_module_decl, lazy_load_binding)
+       (lazy_load_members, visible_instantiation_path): Stubs.
+       * name-lookup.c (STAT_TYPE_VISIBLE_P, STAT_VISIBLE): New.
+       (search_imported_binding_slot, init_global_partition)
+       (get_fixed_binding_slot): New.
+       (name_lookup::process_module_binding): New.
+       (name_lookup::search_namespace_only): Search BINDING_VECTOR.
+       (name_lookup::adl_namespace_fns): Likewise.
+       (name_lookip::search_adl): Search visible instantiation path.
+       (maybe_lazily_declare): Maybe lazy load members.
+       (implicitly_exporT_namespace): New.
+       (maybe_record_mergeable_decl): New.
+       (check_module_override): New.
+       (do_pushdecl): Deal with BINDING_VECTOR, check override.
+       (add_mergeable_namespace_entity): New.
+       (get_namespace_binding): Deal with BINDING_VECTOR.
+       (do_namespace_alias): Call set_originating_module.
+       (lookup_elaborated_type_1): Deal with BINDING_VECTOR.
+       (do_pushtag): Call set_originating_module.
+       (reuse_namespace): New.
+       (make_namespace_finish): Add FROM_IMPORT parm.
+       (push_namespace): Deal with BINDING_VECTOR & namespace reuse.
+       (maybe_save_operator_binding): Save when module CMI in play.
+       * name-lookup.h (add_mergeable_namespace_entity): Declare.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c: Include bitmap.h.
+       (enum binding_slots): New.
+       (maybe_add_fuzzy_binding): Return bool true if found.
+       (consider_binding_level): Add module support.
+       * module.cc (get_import_bitmap): Stub.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (pop_local_binding): Check for IDENTIFIER_ANON_P.
+       (update_binding): Level may be null, don't add namespaces to
+       level.
+       (newbinding_bookkeeping): New, broken out of ...
+       (do_pushdecl): ... here, call it.  Don't push anonymous decls.
+       (pushdecl, add_using_namespace): Correct comments.
+       (do_push_nested_namespace): Remove assert.
+       (make_namespace, make_namespace_finish): New, broken out of ...
+       (push_namespace): ... here.  Call them.  Add namespace to level
+       here.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * error.c (dump_module_suffix): New.
+       (dump_aggr_type, dump_simple_decl, dump_function_name): Call it.
+       * ptree.c (cxx_print_decl): Print module information.
+       * module.cc (module_name, get_importing_module): Stubs.
+
+2020-12-10  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.h (set_class_bindings): Return vector, take signed
+       'extra' parm.
+       * name-lookup.c (maybe_lazily_declare): Break out ...
+       (get_class_binding): .. of here, call it.
+       (find_member_slot): Adjust get_class_bindings call.
+       (set_class_bindings): Allow -ve extra.  Return the vector.
+       (set_identifier_type_value_with_scope): Remove checking assert.
+       (lookup_using_decl): Set decl's context.
+       (do_pushtag): Adjust set_identifier_type_value_with_scope handling.
+
+2020-12-09  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.h (struct cp_token): Add main_source_p field.
+       * parser.c (cp_lexer_new_main): Pass thought module token filter.
+       Check macros.
+       (cp_lexer_get_preprocessor_token): Set main_source_p.
+       (enum module_parse): New.
+       (cp_parser_diagnose_invalid_type_name): Deal with unrecognized
+       module-directives.
+       (cp_parser_skip_to_closing_parenthesize_1): Skip module-directivres.
+       (cp_parser_skip_to_end_of_statement): Likewise.
+       (cp_parser_skiup_to_end_of_block_or_statement): Likewise.
+       (cp_parser_translation_unit): Add module parsing calls.
+       (cp_parser_module_name, cp_parser_module_declaration): New.
+       (cp_parser_import_declaration, cp_parser_module_export): New.
+       (cp_parser_declaration): Add module export detection.
+       (cp_parser_template_declaration): Adjust 'export' error message.
+       (cp_parser_function_definition_after_declarator): Add
+       module-specific logic.
+       * module.cc (import_module, declare_module)
+       (maybe_check_all_macros): Stubs.
+
+2020-12-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97517
+       * cxx-pretty-print.c (cxx_pretty_printer::simple_type_specifier): Handle
+       NULLPTR_TYPE.
+       (pp_cxx_type_specifier_seq): Likewise.
+       (cxx_pretty_printer::type_id): Likewise.
+
+2020-12-09  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (duplicate_decls): Add module-specific redeclaration
+       logic.
+       (cxx_init_decl_processing): Export the global namespace, maybe
+       initialize modules.
+       (start_decl): Reject local-extern in a module, adjust linkage of
+       template var.
+       (xref_tag_1): Add module-specific redeclaration logic.
+       (start_enum): Likewise.
+       (finish_enum_value_list): Export unscoped members of an exported
+       enum.
+       (grokmethod): Implement p1779 linkage of in-class defined
+       functions.
+       * decl2.c (no_linkage_error): Imports are ok.
+       (c_parse_final_cleanups): Call fini_modules.
+       * lex.c (cxx_dup_lang_specific): Clear some module flags in the
+       copy.
+       * module.cc (module_kind): Define.
+       (module_may_redeclare, set_defining_module): Stubs.
+       (init_modules): Error on modules.
+       (fini_modules): Stub.
+       * rtti.c (push_abi_namespace): Save and reset module_kind.
+       (pop_abi_namespace): Restore module kind.
+       (build_dynamic_cast_1, tinfo_base_init): Adjust.
+       * semantics.c (begin_class_definition): Add module-specific logic.
+       (expand_or_defer_fn_1): Keep bodies of more fns when modules_p.
+
+2020-12-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parser.c (cp_parser_omp_allocate): New.
+       (cp_parser_omp_construct, cp_parser_pragma): Call it.
+
+2020-12-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98019
+       * cvt.c (maybe_warn_nodiscard): Check c_inhibit_evaluation_warnings.
+
+2020-12-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/59238
+       * init.c (expand_default_init): Pass tf_no_cleanup when building
+       a TARGET_EXPR to go on the RHS of an INIT_EXPR.
+       * typeck.c (cp_build_modify_expr): Likewise.
+
+2020-12-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98103
+       * constexpr.c (cxx_eval_dynamic_cast_fn): If the evaluating of vtable
+       yields a null pointer, give an error and return.  Use objtype.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (layout_class_type): Call set_instantiating_module.
+       (build_self_reference): Likewise.
+       * decl.c (grokfndecl): Call set_originating_module.
+       (grokvardecl): Likewise.
+       (grokdeclarator): Likewise.
+       * pt.c (maybe_new_partial_specialization): Call
+       set_instantiating_module, propagate DECL_MODULE_EXPORT_P.
+       (lookup_template_class_1): Likewise.
+       (tsubst_function_decl): Likewise.
+       (tsubst_decl, instantiate_template_1): Likewise.
+       (build_template_decl): Propagate module flags.
+       (tsubst_template_dcl): Likewise.
+       (finish_concept_definition): Call set_originating_module.
+       * module.cc (set_instantiating_module, set_originating_module): Stubs.
+
+2020-12-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96299
+       * cp-tree.h (build_new_op): Add overload that omits some parms.
+       (genericize_spaceship): Add location_t parm.
+       * constexpr.c (cxx_eval_binary_expression): Pass it.
+       * cp-gimplify.c (genericize_spaceship): Pass it.
+       * method.c (genericize_spaceship): Handle class-type arguments.
+       (build_comparison_op): Fall back to op</== when appropriate.
+
+2020-12-08  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_new_op_1): Set *overload for ambiguity.
+       (build_new_method_call_1): Likewise.
+
+2020-12-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * decl2.c: (is_atomic_expensive_p): New helper function.
+       (build_atomic_load_byte): Rename to...
+       (build_atomic_load_type): ... and add new parameter type.
+       (get_guard_cond): Skip the atomic here if that is expensive.
+       Use the correct type for the atomic load on certain targets.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct tinst_level): Add path & visible fields.
+       (build_cdtor_clones): Declare.
+       (match_mergeable_specialization): Use a spec_entry, add insert parm.
+       * class.c (build_cdtor_clones): Externalize.
+       * pt.c (push_tinst_level_loc): Clear new fields.
+       (match_mergeable_specialization): Adjust API.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * decl2.c (start_objects): Refactor and adjust for named module
+       initializers.
+       (finish_objects): Likewise.
+       (generate_ctor_or_dtor_function): Likewise.
+       * module.cc (module_initializer_kind)
+       (module_add_import_initializers): Stubs.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * Make-lang.in (MODULE_VERSION): Override when DEVPHASE not empty.
+       * module.cc: Comment.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (mangle_module_substitution, mangle_identifier)
+       (mangle_module_global_init): Declare.
+       * mangle.c (struct globals): Add mod field.
+        (mangle_module_substitution, mangle_identifier)
+       (mangle_module_global_init): Define.
+       (write_module, maybe_write_module): New.
+       (write_name): Call it.
+       (start_mangling): Clear mod field.
+       (finish_mangling_internal): Adjust.
+       * module.cc (mangle_module, mangle_module_fini)
+       (get_originating_module): Stubs.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (module_token_pre, module_token_cdtor)
+       (module_token_lang): Declare.
+       * lex.c: Include langhooks.
+       (struct module_token_filter): New.
+       * cp-tree.h (module_token_pre, module_token_cdtor)
+       (module_token_lang): Define.
+       * module.cc (get_module, preprocess_module, preprocessed_module):
+       Nop stubs.
+
+2020-12-08  Nathan Sidwell  <nathan@acm.org>
+
+       * Make-lang.in (MODULE_VERSION): Define.
+       * module.cc: Add includes.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98187
+       * parser.c (cp_parser_omp_parallel): For parallel master with
+       -fopenmp-simd only, just call cp_parser_omp_master instead of
+       wrapping it in OMP_PARALLEL.
+
+2020-12-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98043
+       * decl.c (pop_switch): If SWITCH_STMT_TYPE is a scoped enum type,
+       set it to the type of SWITCH_STMT_COND.
+
+2020-12-07  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (build_cplus_array_type): Add defaulted DEP parm.
+       * tree.c (set_array_type_common): Add DEP parm.
+       (build_cplus_array_type): Add DEP parm, determine dependency if
+       needed.  Mark dependency of new types.
+       (cp_build_qualified_type_real): Adjust array-building call, assert
+       no surprising dependency.
+       (strip_typedefs): Likewise.
+
+2020-12-07  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98116
+       * typeck.c (structural_comptypes): Move early outs to comptype.
+       Always check template-alias match when comparing_specializations.
+       (comptypes): Do early out checking here.
+
+2020-12-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97093
+       * constraint.cc (parameter_mapping_equivalent_p): Add some
+       sanity checks.  Clarify comment.
+       (tsubst_nested_requirement): Always perform satisfaction
+       quietly first.  If that yields an erroneous result, emit a
+       context message and replay satisfaction noisily with the
+       diagnostic normal form.
+       (finish_nested_requirement): Normalize the constraint-expression
+       twice, once with diagnostic information and once without.  Store
+       them in a TREE_LIST within the TREE_TYPE.
+       (diagnose_nested_requirement): When replaying satisfaction, use
+       the diagnostic normal form instead of renormalizing on the spot.
+
+2020-12-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97093
+       * constraint.cc (struct sat_info): Define.
+       (tsubst_nested_requirement): Pass a sat_info object to
+       satisfy_constraint.
+       (satisfy_constraint_r): Take a sat_info argument instead of
+       subst_info.
+       (satisfy_conjunction): Likewise.
+       (satisfy_disjunction): Likewise.  Instead of first evaluating
+       each branch quietly, evaluate each branch only with
+       unsatisfaction diagnostics disabled.  Exit early if evaluation
+       of a branch returns error_mark_node.
+       (satisfy_atom): Take a sat_info argument instead of subst_info.
+       Fix a comment.  Check diagnose_unsatisfaction_p() instead of
+       noisy() before replaying a substitution failure.
+       (satisfy_constraint): Take a sat_info argument instead of
+       subst_info.
+       (satisfy_associated_constraints): Likewise.
+       (satisfy_constraint_expression): Likewise.
+       (satisfy_declaration_constraints): Likewise.
+       (constraint_satisfaction_value): Likewise and adjust
+       accordingly.  Fix formatting.
+       (constraints_satisfied_p): Pass a sat_info object to
+       constraint_satisfaction_value.
+       (evaluate_concept_check): Pass a sat_info object to
+       satisfy_constraint_expression.
+       (diagnose_nested_requirement): Likewise.
+       (diagnose_constraints): Pass an appropriate sat_info object to
+       constraint_satisfaction_value.
+
+2020-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98122
+       * constexpr.c (cxx_union_active_member): New function.
+       (cxx_fold_indirect_ref_1): Add ctx argument, pass it through to
+       recursive call.  Handle UNION_TYPE.
+       (cxx_fold_indirect_ref): Add ctx argument, pass it to recursive calls
+       and cxx_fold_indirect_ref_1.
+       (cxx_eval_indirect_ref): Adjust cxx_fold_indirect_ref calls.
+
+2020-12-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93083
+       * pt.c (convert_template_argument): Handle equivalent placeholders.
+       (do_class_deduction): Look through EXPR_PACK_EXPANSION, too.
+
+2020-12-04  Jason Merrill  <jason@redhat.com>
+
+       * decl2.c (clear_consteval_vfns): Remove *.
+       * pt.c (do_auto_deduction): Remove *.
+       * parser.c (cp_parser_late_parsing_default_args): Change loop
+       to use range 'for'.
+
+2020-12-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98116
+       * cp-tree.h (comparing_typenames): Delete.
+       (cplus_build_array_type): Remove default parm.
+       * pt.c (comparing_typenames): Delete.
+       (spec_hasher::equal): Don't increment it.
+       * tree.c (set_array_type_canon): Remove dep parm.
+       (build_cplus_array_type): Remove dep parm changes.
+       (cp_build_qualified_type_real): Remove dependent array type
+       changes.
+       (strip_typedefs): Likewise.
+       * typeck.c (structural_comptypes): Revert comparing_typename
+       changes.
+
+2020-12-04  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h: Add various inline module state predicates, and
+       declare the API that will be provided by modules.cc
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/80780
+       * cp-gimplify.c (fold_builtin_source_location): Use 2 instead of 0
+       as last argument to cxx_printable_name.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (releasing_vec::operator[]): Change parameter type to
+       ptrdiff_t.
+
+2020-12-03  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (OVL_EXPORT): New.
+       (class ovl_iterator): Add get_using, exporting_p.
+       * tree.c (ovl_insert): Extend using_or_hidden meaning to include
+       an exported using.
+
+2020-12-03  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_UNINSTANTIATED_TEMPLATE_FRIEND): New.
+       * pt.c (push_template_decl): Set it.
+       (tsubst_friend_function): Clear it.
+
+2020-12-03  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (make_unbound_class_template_raw): Declare.
+       (canonical_type_parameter): Declare.
+       * decl.c (make_unbound_class_template_raw): Break out of ...
+       (make_unboud_class_template): ... here.  Call it.
+       * pt.c (canonical_type_parameter): Externalize.  Refactor & set
+       structural_equality for type parms.
+
+2020-12-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98107
+       * tree.c (build_cplus_array_type): Mark dependency of new variant.
+       (cp_build_qualified_type_real, strip_typedefs): Assert
+       TYPE_DEPENDENT_P_VALID, or not a dependent type.
+
+2020-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * cp-tree.h (cp_build_bit_cast): Declare.
+       * cp-tree.def (BIT_CAST_EXPR): New tree code.
+       * cp-objcp-common.c (names_builtin_p): Handle RID_BUILTIN_BIT_CAST.
+       (cp_common_init_ts): Handle BIT_CAST_EXPR.
+       * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
+       Likewise.
+       * parser.c (cp_parser_postfix_expression): Handle
+       RID_BUILTIN_BIT_CAST.
+       * semantics.c (cp_build_bit_cast): New function.
+       * tree.c (cp_tree_equal): Handle BIT_CAST_EXPR.
+       (cp_walk_subtrees): Likewise.
+       * pt.c (tsubst_copy): Likewise.
+       * constexpr.c (check_bit_cast_type, cxx_eval_bit_cast): New functions.
+       (cxx_eval_constant_expression): Handle BIT_CAST_EXPR.
+       (potential_constant_expression_1): Likewise.
+       * cp-gimplify.c (cp_genericize_r): Likewise.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_primary_expression): Distinguish
+       parms from vars in error.
+       (cp_parser_late_parsing_default_args): Pushdecl parms
+       as we go.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * name-lookup.c (begin_scope): Set immediate_fn_ctx_p.
+       * parser.c (cp_parser_late_parsing_default_args): Push
+       sk_function_parms scope.
+
+2020-12-03  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR c++/97947
+       * typeck2.c (digest_init_r): Handle OPAQUE_TYPE as an aggregate type.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/80780
+       PR c++/93093
+       * cp-tree.h (source_location_current_p): Declare.
+       * tree.c (source_location_current_p): New function.
+       * call.c (immediate_invocation_p): New function.
+       (build_over_call): Use it to resolve LWG3396.
+       * constexpr.c (cxx_eval_builtin_function_call): Temporarily set
+       current_function_decl from ctx->call->fundef->decl if any.
+       * cp-gimplify.c (cp_genericize_r) <case CALL_EXPR>: Fold calls
+       to immediate function std::source_location::current ().
+
+2020-12-02  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (grokdeclarator): Improve diagnostic for
+       disallowed CTAD placeholder.
+
+2020-12-02  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (check_initializer): Also look through STMT_EXPR
+       and BIND_EXPR.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (comparing_typenames): Declare.
+       * pt.c (comparing_typenames): Define.
+       (spec_hasher::equal): Increment it around comparisons.
+       * typeck.c (structural_comptypes): Adjust TYPENAME resolution
+       check.
+
+2020-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97975
+       * constexpr.c (fold_non_dependent_init): Add a tree parameter.
+       Use it.
+       * cp-tree.h (fold_non_dependent_init): Add a tree parameter with
+       a default value.
+       * typeck2.c (store_init_value): Call fold_non_dependent_expr
+       only when checking the initializer for constexpr variables.
+       Call fold_non_dependent_init instead of maybe_constant_init.
+
+2020-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97187
+       PR c++/97993
+       * pt.c (tsubst_copy_and_build) <case NEW_EXPR>: Return error_mark_node
+       if init is erroneous.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_MODULE_PURVIEW_P, DECL_MODULE_IMPORT_P)
+       (DECL_MODULE_ENTITY_P): New.
+       (DECL_MODULE_PENDING_SPECIALIZATIONS_P): New.
+       (DECL_MODULE_PENDING_MEMBERS_P): New.
+       (DECL_MODULE_ATTACHMENTS_P): New.
+       (DECL_MODULE_EXPORT_P): New.
+       (struct lang_decl_base): Shrink sel field.  Add new
+       module-specific fields.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_TINFO_P): Also for TYPE_DECLs.
+       (get_tinfo_decl_direct): Declare.
+       (get_pseudo_tinfo_index, get_pseudo_tinfo_type): Declare.
+       * rtti.c (get_tinfo_decl_direct): Externalize.
+       (get_tinfo_desc): Set DECL_TINFO_P on the typedef.
+       (get_pseudo_tinfo_index, get_pseudo_tinfo_type): New.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (maybe_add_lang_decl_raw, maybe_add_lang_type_raw):
+       Declare.
+       * lex.c (maybe_add_lang_decl_raw, maybe_add_lang_type_raw):
+       Externalize, reformat.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (build_cplus_array_type): Add defaulted DEP parm.
+       * tree.c (set_array_type_common): Add DEP parm.
+       (build_cplus_array_type): Add DEP parm, determine dependency if
+       needed.
+       (cp_build_qualified_type_real): Adjust array-building call.
+       (strip_typedefs): Likewise.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * ptree.c (cxx_print_xnode): Increase binding-vector prefix size.
+
+2020-12-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.def (BINDING_VECTOR): New.
+       * name-lookup.h (struct binding_slot): New.
+       (BINDING_VECTOR_SLOTS_PER_CLUSTER): New.
+       (struct binding_index, struct binding_cluster): New.
+       (BINDING_VECTOR_ALLOC_CLUSTERS, BINDING_VECTOR_CLUSTER_BASE)
+       (BINDING_VECTOR_CLUSTER): New.
+       (struct tree_binding_vec): New.
+       (BINDING_VECTOR_NAME, BINDING_VECTOR_GLOBAL_DUPS_P)
+       (BINDING_VECTOR_PARTITION_DUPS_P): New.
+       (BINDING_BINDING_GLOBAL_P, BINDING_BINDING_PARTITION_P): New.
+       (BINDING_VECTOR_PENDING_SPECIALIZATIONS)
+       (BINDING_VECTOR_PENDING_IS_HEADER_P)
+       (BINDING_VECTOR_PENDING_IS_PARTITION_P): New.
+       * cp-tree.h (enum cp_tree_node_structure_enum): Add
+       TS_CP_BINDING_VECTOR.
+       (union lang_tree_node): Add binding_vec field.
+       (make_binding_vec): Declare.
+       (named_decl_hash::hash, named_decl_hash::equal): Check for binding
+       vector.
+       * decl.c (cp_tree_node_structure): Add BINDING_VECTOR case.
+       * ptree.c (cxx_print_xnode): Add BINDING_VECTOR case.
+       * tree.c (make_binding_vec): New.
+
+2020-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR c++/98054
+       * cxx-pretty-print.c (pp_cxx_trait_expression):
+       Add support for __is_nothrow_{assignable,constructible}.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98072
+       * parser.c (cp_parser_omp_depobj): Suppress location wrappers when
+       parsing depend clause.
+
+2020-12-01  Nathan Sidwell  <nathan@acm.org>
+
+       * lex.c (init_reswords): Maybe enable module keywords.
+
+2020-12-01  Nathan Sidwell  <nathan@acm.org>
+
+       * lang-specs.h: Add module-related options.
+
+2020-12-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_declaration): Add a not about where
+       attributes may be placed.
+
+2020-11-27  Martin Sebor  <msebor@redhat.com>
+
+       * error.c (add_quotes): Revert previous change and use pragma to
+       suppress -Wformat-diag.
+
+2020-11-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * g++spec.c (TIMELIB, TIME_LIBRARY): Remove.
+       (lang_specific_driver): Remove TIME_LIBRARY handling.
+
+2020-11-26  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * parser.c (cp_parser_omp_var_list_no_open): Assert that array
+       section's 'low_bound', 'length' are not location wrapper nodes.
+       (cp_parser_oacc_all_clauses, cp_parser_oacc_cache): Instantiate
+       'auto_suppress_location_wrappers'.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * constraint.cc (debug_argument_list): Avoid -Wformat-diag.
+       * error.c (function_category): Same.
+       (print_template_differences): Same.
+       * logic.cc (debug): Same.
+       * name-lookup.c (lookup_using_decl): Same.
+       * parser.c (maybe_add_cast_fixit): Same.
+       (cp_parser_template_introduction): Same.
+       * typeck.c (access_failure_info::add_fixit_hint): Same.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * pt.c (tsubst_omp_clauses): Handle 'OMP_CLAUSE__CACHE_'.
+       (tsubst_expr): Handle 'OACC_CACHE'.
+
+2020-11-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97899
+       * typeck2.c (store_init_value): Don't split_nonconstant_init in a
+       template.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96929
+       * constexpr.c (cxx_eval_binary_expression): For shifts by constant
+       with MSB set, emulate older wide_int_binop behavior to preserve
+       diagnostics and -fpermissive behavior.
+
+2020-11-23  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc: New dummy file.
+       * Make-lang.in: Add rules to build module.o
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * decl.c (start_decl): Set DECL_INITIAL for initialized decls
+       before attribute processing.
+
+2020-11-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/97904
+       * pt.c (tsubst): Use verify_type_context to check the type
+       of an array element.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * parser.c (warn_for_range_copy): Warn when the loop variable is
+       initialized with a value of a different type resulting in a copy.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97846
+       * constexpr.c (potential_constant_expression_1): Reject
+       LABEL_EXPRs that use non-artifical LABEL_DECLs.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97881
+       * parser.c (warn_about_ambiguous_parse): Only assume "int" if we
+       actually saw any type-specifiers.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97839
+       * parser.c (cp_parser_lambda_declarator_opt): Don't require ().
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97427
+       * constexpr.c (cxx_set_object_constness): New function.
+       (cxx_eval_call_expression): Set new_obj for destructors too.
+       Call cxx_set_object_constness to set/unset TREE_READONLY of
+       the object under construction/destruction.
+
+2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * error.c (dump_type): Handle opaque types.
+       (dump_type_prefix): Handle opaque types.
+       (dump_type_suffix): Handle opaque types.
+       (dump_expr): Handle opaque types.
+       * pt.c (tsubst): Allow opaque types in templates.
+       (unify): Allow opaque types in templates.
+       * typeck.c (structural_comptypes): Handle comparison
+       of opaque types.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/97911
+       * Make-lang.in (c++.serial): Change from goal to a variable.
+       (.PHONY): Drop c++.serial and c++.prev.
+       (cc1plus$(exeext)): Depend on $(c++.serial) rather than c++.serial.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct spec_entry): Moved from pt.c.
+       (walk_specializations, match_mergeable_specialization)
+       (get_mergeable_specialization_flags)
+       (add_mergeable_specialization): Declare.
+       * pt.c (struct spec_entry): Moved to cp-tree.h.
+       (walk_specializations, match_mergeable_specialization)
+       (get_mergeable_specialization_flags)
+       (add_mergeable_specialization): New.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct constexpr_fundef): Moved from constexpr.c.
+       (maybe_save_constexpr_fundef): Declare.
+       (register_constexpr_fundef): Take constexpr_fundef object, return
+       void.
+       * decl.c (mabe_save_function_definition): Delete, functionality
+       moved to maybe_save_constexpr_fundef.
+       (emit_coro_helper, finish_function): Adjust.
+       * constexpr.c (struct constexpr_fundef): Moved to cp-tree.h.
+       (constexpr_fundef_hasher::equal): Constify.
+       (constexpr_fundef_hasher::hash): Constify.
+       (retrieve_constexpr_fundef): Make non-static.
+       (maybe_save_constexpr_fundef): Break out checking and duplication
+       from ...
+       (register_constexpr_fundef): ... here.  Just register the constexpr.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97523
+       * init.c (build_new): When value-initializing an array new,
+       leave the INIT as an empty vector.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97895
+       * pt.c (do_auto_deduction): Don't crash when the constructor has
+       zero elements.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97905
+       * decl.c (duplicate_decls): Relax new assert.
+
+2020-11-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_objc_valid_prefix_attributes): Check
+       for empty attributes.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (c++.serial): New goal.
+       (.PHONY): Add c++.serial c++.prev.
+       (cc1plus$(exeext)): Depend on c++.prev.  Call LINK_PROGRESS.
+
+2020-11-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97877
+       * decl.c (duplicate_decls): Deal with duplicated DECL_LOCAL_DECL_P
+       decls.  Extend decl_lang_specific checking assert.
+
+2020-11-17  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (enum cp_tree_index): Reorder to place lazy fields
+       after newly-added CPTI_MODULE_HWM.
+
+2020-11-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/97871
+       * parser.c (cp_parser_declaration): Remove checking assert.
+
+2020-11-15  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (cp_finish_decl): Only check abstractness on definition.
+       (require_complete_types_for_parms): Check abstractness here.
+       (create_array_type_for_decl): Not here.
+       (grokdeclarator, grokparms, complete_vars): Not here.
+       * pt.c (tsubst, tsubst_arg_types, tsubst_function_type): Not here.
+       * typeck2.c (struct pending_abstract_type): Remove.
+       (struct abstract_type_hasher): Remove.
+       (abstract_pending_vars, complete_type_check_abstract): Remove.
+       (abstract_virtuals_error_sfinae): Handle arrays.
+       * call.c (conv_is_prvalue): Split out from...
+       (conv_binds_ref_to_prvalue): ...here.
+       (implicit_conversion_1): Rename from implicit_conversion.
+       (implicit_conversion): An abstract prvalue is bad.
+       (convert_like_internal): Don't complain if expr is already
+       error_mark_node.
+
+2020-11-13  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (USING_DECL_UNRELATED_P): New.
+       (CONST_DECL_USING_P): New.
+       * class.c (handle_using_decl): If USING_DECL_UNRELATED_P,
+       clone the CONST_DECL.
+       * name-lookup.c (supplement_binding_1): A clone hides its
+       using-declaration.
+       (lookup_using_decl): Rewrite to separate lookup and validation.
+       (do_class_using_decl): Adjust.
+       (finish_nonmember_using_decl): Adjust.
+       * parser.c (make_location): Add cp_token overload.
+       (finish_using_decl): Split out from...
+       (cp_parser_using_declaration): ...here.  Don't look through enums.
+       (cp_parser_using_enum): New.
+       (cp_parser_block_declaration): Call it.
+       (cp_parser_member_declaration): Call it.
+       * semantics.c (finish_id_expression_1): Handle enumerator
+       used from class scope.
+
+2020-11-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * parser.c (cp_parser_asm_definition): Parse outputs for asm
+       goto too.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/77404
+       * parser.c (cp_parser_objc_class_interface): Pass the
+       location of the class name to the interface declaration.
+
+2020-11-13  Patrick Palka  <ppalka@redhat.com>
+
+       * semantics.c (finish_compound_literal): Don't wrap the original
+       compound literal in a TARGET_EXPR when inside a template.
+
+2020-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97790
+       * constexpr.c (cxx_eval_constant_expression) <case CLEANUP_POINT_EXPR,
+       case TRY_FINALLY_EXPR, case CLEANUP_STMT>: Don't pass jump_target to
+       cxx_eval_constant_expression when evaluating the cleanups.
+
+2020-11-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_declaration): Unless we are compiling for
+       Ojective-C++, warn about and discard any attributes that prefix
+       a linkage specification.
+
+2020-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * mangle.c (write_expression): Mangle __alignof_ differently
+       from alignof when the ABI version is at least 15.
+
+2020-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * cp-tree.h (cxx_sizeof_or_alignof_expr): Add bool parameter.
+       * decl.c (fold_sizeof_expr): Pass false to
+       cxx_sizeof_or_alignof_expr.
+       * parser.c (cp_parser_unary_expression): Pass std_alignof to
+       cxx_sizeof_or_alignof_expr.
+       * pt.c (tsubst_copy): Pass false to cxx_sizeof_or_alignof_expr.
+       (tsubst_copy_and_build): Pass std_alignof to
+       cxx_sizeof_or_alignof_expr.
+       * typeck.c (cxx_alignof_expr): Add std_alignof bool parameter
+       and pass it to cxx_sizeof_or_alignof_type.  Set ALIGNOF_EXPR_STD_P
+       appropriately.
+       (cxx_sizeof_or_alignof_expr): Add std_alignof bool parameter
+       and pass it to cxx_alignof_expr.  Assert op is either
+       SIZEOF_EXPR or ALIGNOF_EXPR.
+
+2020-11-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97518
+       * pt.c (tsubst_qualified_id): Use EXPR_LOCATION of the qualified-id.
+       Use it to maybe_wrap_with_location the final expression.
+
+2020-11-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97518
+       * cp-tree.h (finish_static_assert): Adjust declaration.
+       * parser.c (cp_parser_static_assert): Pass false to
+       finish_static_assert.
+       * pt.c (tsubst_expr): Pass true to finish_static_assert.
+       * semantics.c (find_failing_clause_r): New function.
+       (find_failing_clause): New function.
+       (finish_static_assert): Add a bool parameter.  Use
+       iloc_sentinel.  Call contextual_conv_bool instead of
+       perform_implicit_conversion_flags.  Don't check for INTEGER_CST before
+       calling integer_zerop.  Call find_failing_clause and maybe use its
+       location.  Print the original condition or the failing clause if
+       SHOW_EXPR_P.
+
+2020-11-10  Strager Neds  <strager.nds@gmail.com>
+
+       * decl.c (duplicate_decls): Use new overload of
+       set_decl_section_name.
+       * method.c (use_thunk): Same.
+       * optimize.c (maybe_clone_body): Same.
+       * coroutines.cc (act_des_fn): Same.
+
+2020-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/97748
+       * cvt.c (convert_to_void): Check (complain & tf_warning) in the outer
+       if rather than twice times in the inner one.  Use warn_if_unused_value.
+       Formatting fix.
+
+2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * parser.c (cp_parser_omp_target_data): Add use of
+       new c_omp_adjust_map_clauses function. Add GOMP_MAP_ATTACH_DETACH as
+       handled map clause kind.
+       (cp_parser_omp_target_enter_data): Likewise.
+       (cp_parser_omp_target_exit_data): Likewise.
+       (cp_parser_omp_target): Likewise.
+       * semantics.c (handle_omp_array_sections): Adjust COMPONENT_REF case to
+       use GOMP_MAP_ATTACH_DETACH map kind for C_ORT_OMP region type. Fix
+       interaction between reference case and attach/detach.
+       (finish_omp_clauses): Adjust bitmap checks to allow struct decl and
+       same struct field access to co-exist on OpenMP construct.
+
+2020-11-09  Marek Polacek  <polacek@redhat.com>
+
+       DR 1914
+       * parser.c (cp_parser_check_std_attribute): Return bool.  Add a
+       location_t parameter.  Return true if the attribute wasn't duplicated.
+       Give a warning instead of an error.  Check more attributes.
+       (cp_parser_std_attribute_list): Don't add duplicated attributes to
+       the list.  Pass location to cp_parser_check_std_attribute.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (norm_info::norm_info): Initialize orig_decl.
+       (norm_info::orig_decl): New data member.
+       (normalize_atom): When caching an atom for the first time,
+       compute a list of template parameters used in the targets of the
+       parameter mapping and store it in the TREE_TYPE of the mapping.
+       (get_normalized_constraints_from_decl): Set current_function_decl
+       appropriately when normalizing.  As an optimization, don't
+       set up a push_nested_class_guard when decl has no constraints.
+       (sat_hasher::hash): Use this list to hash only the template
+       arguments that are relevant to the atom.
+       (satisfy_atom): Use this list to compare only the template
+       arguments that are relevant to the atom.
+       * pt.c (keep_template_parm): Do a sanity check on the parameter's
+       index when flag_checking.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       * cp-tree.h (ATOMIC_CONSTR_MAP_INSTANTIATED_P): Define this flag
+       for ATOMIC_CONSTRs.
+       * constraint.cc (sat_hasher::hash): Use hash_atomic_constraint
+       if the flag is set, otherwise keep using a pointer hash.
+       (sat_hasher::equal): Return false if the flag's setting differs
+       on two atoms.  Call atomic_constraints_identical_p if the flag
+       is set, otherwise keep using a pointer equality test.
+       (satisfy_atom): After instantiating the parameter mapping, form
+       another ATOMIC_CONSTR using the instantiated mapping and query
+       the cache again.  Cache the satisfaction value of both atoms.
+       (diagnose_atomic_constraint): Simplify now that the supplied
+       atom has an instantiated mapping.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (atom_cache): Define this deletable hash_table.
+       (normalize_atom): Use it to cache ATOMIC_CONSTRs when not
+       generating diagnostics.
+       (sat_hasher::hash): Use htab_hash_pointer instead of
+       hash_atomic_constraint.
+       (sat_hasher::equal): Test for pointer equality instead of
+       atomic_constraints_identical_p.
+       * cp-tree.h (struct atom_hasher): Moved and renamed from ...
+       * logic.cc (struct constraint_hash): ... here.
+       (clause::m_set): Adjust accordingly.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93907
+       * constraint.cc (tsubst_parameter_mapping): Also canonicalize
+       the type arguments of a TYPE_ARGUMENT_PACk.
+
+2020-11-09  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (tsubst): Replace *_ARGUMENT_PACK code with
+       a call to tsubst_argument_pack.
+
+2020-11-09  Jason Merrill  <jason@redhat.com>
+
+       * class.c (handle_using_decl): Add an iloc_sentinel.
+
+2020-11-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97762
+       * parser.c (warn_about_ambiguous_parse): Handle the case when
+       there is no type in the decl-specifiers.
+
+2020-11-09  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (LOOKUP_FOUND_P): Add ENUMERAL_TYPE.
+       * name-lookup.c (class name_lookup): Add comments.
+       (name_lookup::adl_namespace_only): Replace with ...
+       (name_lookup::adl_class_fns): ... this and ...
+       (name_lookup::adl_namespace_fns): ... this.
+       (name_lookup::adl_namespace): Deal with inline nests here.
+       (name_lookup::adl_class): Complete the type here.
+       (name_lookup::adl_type): Call broken-out enum ..
+       (name_lookup::adl_enum): New.  No need to call the namespace adl
+       if it is class-scope.
+       (name_lookup::search_adl): Iterate over collected scopes here.
+
+2020-11-09  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (lookup_qualified_name): Expose an overload of a
+       singleton with known type.
+       (lookup_name_1): Just check the overload's type to expose it.
+       * parser.c (cp_parser_lookup_name): Do not do that check here.
+
+2020-11-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_objc_at_property_declaration): Handle
+       class keywords in @property attribute context.
+
+2020-11-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81660
+       * except.c (can_convert_eh): Change the return type to bool.  If
+       the type TO and FROM are the same, return true.
+
+2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_objc_at_property_declaration):
+       Improve parsing fidelity. Associate better location info
+       with @property attributes.  Clean up the interface to
+       objc_add_property_declaration ().
+
+2020-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/67453
+       * decl.c (duplicate_decls): Propagate DECL_ATTRIBUTES and
+       DECL_PRESERVE_P from olddecl to its clones if any.
+
+2020-11-06  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_UNDECLARED_BUILTIN_P): Delete.
+       * cp-objcp-common.c (names_bultin_p): Rename
+       DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
+       * decl.c (decls_match): Likewise.  Replace
+       DECL_UNDECLARED_BUILTIN_P with DECL_IS_UNDECLARED_BUILTIN.
+       (duplicate_decls): Likewise.
+       * decl2.c (collect_source_refs): Likewise.
+       * name-lookup.c (anticipated_builtin_p, print_binding_level)
+       (do_nonmember_using_decl): Likewise.
+       * pt.c (builtin_pack_fn_p): Likewise.
+       * typeck.c (error_args_num): Likewise.
+
+2020-11-06  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_template_declaration): Adjust 'export' warning.
+       (cp_parser_explicit_specialization): Remove unneeded bool setting.
+
+2020-11-06  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (cp_fix_function_decl_p): Do not access ipa_ref_list dirrectly.
+
+2020-11-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parser.c (cp_parser_omp_atomic): Add openacc parameter and update
+       OpenACC matching.
+       (cp_parser_omp_construct): Update call.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       * except.c (check_handlers_1): Add auto_diagnostic_group.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/78209
+       * pt.c (do_auto_deduction): If init is REFERENCE_REF_P, use its
+       first operand.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97675
+       * except.c (check_handlers_1): Use OPT_Wexceptions for the
+       warning.  Use inform for the second part of the warning.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/25814
+       * cp-tree.h (enum cp_tree_index): Add CPTI_EXPLICIT_VOID_LIST.
+       (explicit_void_list_node): Define.
+       (PARENTHESIZED_LIST_P): New macro.
+       (struct cp_declarator): Add function::parens_loc.
+       * decl.c (cxx_init_decl_processing): Initialize explicit_void_list_node.
+       (grokparms): Also break when explicit_void_list_node.
+       * parser.c (make_call_declarator): New location_t parameter.  Use it
+       to set declarator->u.function.parens_loc.
+       (cp_parser_lambda_declarator_opt): Pass UNKNOWN_LOCATION to
+       make_call_declarator.
+       (warn_about_ambiguous_parse): New function.
+       (cp_parser_init_declarator): Call warn_about_ambiguous_parse.
+       (cp_parser_declarator): Set *parenthesized_p to false rather than to
+       true.
+       (cp_parser_direct_declarator): Create a location for the function's
+       parentheses and pass it to make_call_declarator.
+       (cp_parser_parameter_declaration_clause): Return explicit_void_list_node
+       for (void).
+       (cp_parser_parameter_declaration_list): Set PARENTHESIZED_LIST_P
+       in the parameters tree.
+
+2020-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97670
+       * semantics.c (finish_omp_clauses): Look through array reductions to
+       find underlying decl to clear in the aligned_head bitmap.  Use
+       DECL_UID (t) instead of DECL_UID (OMP_CLAUSE_DECL (c)) when clearing
+       in the bitmap.  Only diagnose errors about allocate vars not being
+       privatized on the same construct on allocate clause if it has
+       a DECL_P OMP_CLAUSE_DECL.
+
+2020-11-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * constexpr.c (potential_constant_expression_1): Handle
+       expressions known to be non-constant for Objective-C.
+
+2020-11-03  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (is_byte_access_type): Don't use char_type_p.
+
+2020-11-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97663
+       * parser.c (cp_parser_init_declarator): Don't try to parse
+       C++17 deduction guides if there are any type specifiers even when
+       type is NULL.
+
+2020-11-03  Kamlesh Kumar  <kamleshbhalui@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/97453
+       DR2303
+       * pt.c (get_template_base): Consider closest base in template
+       deduction when base of base also matches.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (tsubst_expr): Simplify using decl instantiation, add
+       asserts.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (copy_fndecl_with_name):  Always not top level.
+       (build_cdtor_clones): Add update_methods parm, use it to
+       conditionally update the method vec.  Return void
+       (clone_cdtor): Adjust.
+       (clone_constructors_and_destructors): Adjust comment.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (primary_template_specialization_p): Use
+       VAR_OR_FUNCTION_DECL_P.
+       (tsubst_template_decl): Check for FUNCTION_DECL, not !TYPE && !VAR
+       for registering a specialization.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (fixup_deferred_exception_variants): Declare.
+       * parser.c (cp_parser_class_specifier_1): Call it when
+       completing deferred parses rather than creating a variant.
+       (cp_parser_member_declaration): Move comment from ...
+       (cp_parser_noexcept_specification_opt): ... here.  Refactor the
+       deferred parse.
+       * tree.c (fixup_deferred_exception_variants): New.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (tsubst_lambda_expr): Reorder extra-scope handling to match
+       the non-template case.
+       (instantiate_body): Move a couple of declarations to their
+       initializers.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (duplicate_decls): Return error_mark_node fo extern-c
+       mismatch.
+
+2020-11-03  Marek Polacek  <polacek@redhat.com>
+
+       * constexpr.c (potential_constant_expression_1): Treat
+       __PRETTY_FUNCTION__ inside a template function as
+       potentially-constant.
+       * pt.c (uses_template_parms): Call
+       instantiation_dependent_expression_p instead of
+       value_dependent_expression_p.
+       (instantiation_dependent_expression_p): Check
+       potential_constant_expression before calling
+       value_dependent_expression_p.
+
+2020-11-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97632
+       * init.c (build_new_1): Disable -Winit-list-lifetime for an unevaluated
+       operand.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.c (bind_template_template_parm): Mark the parm as a
+       template parm.
+       (cp_tree_equal): Refactor CALL_EXPR.  Use comp_template_args for
+       TREE_VECs.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * rtti.c (init_rtti_processing): Move var decl to its init.
+       (get_tinfo_decl): Likewise.  Break out creation to called helper
+       ...
+       (get_tinfo_decl_direct): ... here.
+       (build_dynamic_cast_1): Move var decls to their initializers.
+       (tinfo_base_init): Set decl's location to BUILTINS_LOCATION.
+       (get_tinfo_desc): Only push ABI namespace when needed.  Set type's
+       context.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (start_decl_1): Refactor declarations.  Fixup some
+       whitespace.
+       (lookup_and_check_tag): Fixup some whitespace.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (duplicate_decls): Refactor some template & builtin
+       handling.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct cxx_int_tree_map): Delete.
+       (struct cxx_int_tree_map_hasher): Delete.
+       * cp-gimplify.c (cxx_int_tree_map_hasher::equal): Delete.
+       (cxx_int_tree_map_hasher::hash): Delete.
+
+2020-11-02  Patrick Palka  <ppalka@redhat.com>
+
+       * class.c (finish_struct_1): Don't call clear_satisfaction_cache.
+       * constexpr.c (clear_cv_and_fold_caches): Likewise.  Remove bool
+       parameter.
+       * constraint.cc (clear_satisfaction_cache): Remove definition.
+       * cp-tree.h (clear_satisfaction_cache): Remove declaration.
+       (clear_cv_and_fold_caches): Remove bool parameter.
+       * typeck2.c (store_init_value): Remove argument to
+       clear_cv_and_fold_caches.
+
+2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * parser.c (cp_parser_objc_at_property_declaration): Use any
+       exisiting syntax error to suppress complaints about a missing
+       closing parenthesis in parsing property attributes.
+
+2020-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_ALLOCATE>: Handle
+       non-static members in methods.
+       * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_ALLOCATE.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       DR 625
+       PR c++/97479
+       * parser.c (cp_parser_type_id_1): Reject using auto as
+       a template-argument in C++20.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93107
+       * pt.c (do_auto_deduction): Call resolve_nondeduced_context for
+       the elements of a { } list.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       * typeck.c (do_warn_enum_conversions): Don't warn for SPACESHIP_EXPR.
+       (cp_build_binary_op): Reject float <=> enum or enum <=> float.  Use
+       CP_INTEGRAL_TYPE_P instead of INTEGRAL_OR_ENUMERATION_TYPE_P.
+
+2020-10-29  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (get_normalized_constraints): Remove 'args'
+       parameter.  Pass NULL_TREE as the initial template arguments to
+       normalize_expression.
+       (get_normalized_constraints_from_info): Remove 'args' parameter
+       and adjust the call to get_normalized_constraints.
+       (get_normalized_constraints_from_decl): Remove 'args' local
+       variable and adjust call to get_normalized_constraints_from_info.
+       (normalize_concept_definition): Remove 'args' local variable
+       and adjust call to get_normalized_constraints.
+       (normalize_constraint_expression): Remove the two-parameter
+       overload.  Remove 'args' parameter from the three-parameter
+       overload and update function comment accordingly.  Remove
+       default argument from 'diag' parameter.  Adjust call to
+       get_normalized_constraints.
+       (finish_nested_requirement): Adjust call to
+       normalize_constraint_expression.
+       (strictly_subsumes): Remove 'args' parameter.  Adjust call to
+       get_normalized_constraints_from_info.
+       (weakly_subsumes): Likewise.
+       * cp-tree.h (strictly_subsumes): Remove 'args' parameter.
+       (weakly_subsumes): Likewise.
+       * pt.c (process_partial_specialization): Adjust call to
+       strictly_subsumes.
+       (is_compatible_template_arg): Adjust call to weakly_subsumes.
+
+2020-10-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97412
+       * constraint.cc (normalize_concept_check): Don't call
+       tsubst_template_args when 'args' is NULL.
+
+2020-10-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97388
+       * constexpr.c (cxx_eval_outermost_constant_expr): Revert to
+       original expression if evaluation sets non_constant_p.
+
+2020-10-29  Jakub Jelinek  <jakub@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/97388
+       * constexpr.c (cxx_bind_parameters_in_call): Set non_constant_args
+       if the parameter type has a non-trivial destructor.
+       (cxx_eval_call_expression): Only unshare arguments if we're
+       memoizing this evaluation.
+
+2020-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95808
+       * cp-tree.h (enum cp_tree_index): Add CPTI_HEAP_VEC_UNINIT_IDENTIFIER
+       and CPTI_HEAP_VEC_IDENTIFIER.
+       (heap_vec_uninit_identifier, heap_vec_identifier): Define.
+       * decl.c (initialize_predefined_identifiers): Initialize those
+       identifiers.
+       * constexpr.c (cxx_eval_call_expression): Reject array allocations
+       deallocated with non-array deallocation or non-array allocations
+       deallocated with array deallocation.
+       (non_const_var_error): Handle heap_vec_uninit_identifier and
+       heap_vec_identifier too.
+       (cxx_eval_constant_expression): Handle also heap_vec_uninit_identifier
+       and in that case during initialization replace it with
+       heap_vec_identifier.
+       (find_heap_var_refs): Handle heap_vec_uninit_identifier and
+       heap_vec_identifier too.
+
+2020-10-29  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (push_template_decl): Do not give function-scope entities
+       other than implicit typedefs a template header. Do not readd
+       template info to a redeclared template.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       * decl.c (grokdeclarator): Offer a fix-it hint for the "unnecessary
+       parentheses in declaration" warning.
+       * parser.c (cp_parser_direct_declarator): When setting
+       declarator->parenthesized, use a location range.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * call.c (build_conditional_expr_1): Warn about the deprecated
+       enum/real type conversion in C++20.  Also warn about a non-enumerated
+       and enumerated type in ?: when -Wenum-conversion is on.
+       * typeck.c (do_warn_enum_conversions): New function.
+       (cp_build_binary_op): Call it.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96675
+       PR c++/96742
+       * pt.c (tsubst_copy_and_build): Call value_dependent_expression_p or
+       type_dependent_expression_p instead of type_dependent_expression_p_push.
+       But only call value_dependent_expression_p for expressions that are
+       potential_constant_expression.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94799
+       * parser.c (cp_parser_class_name): Use parser->scope when
+       setting typename_p.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/86773
+       * parser.c (cp_parser_fold_expression): Return error_mark_node
+       if a left fold is preceded by an expression.
+
+2020-10-28  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_omp_declare_reduction): Set
+       DECL_LOCAL_DECL_P before push_template_decl.
+       * pt.c (instantiate_body): Nested fns do not have template_info.
+
+2020-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95132
+       * decl2.c (mark_used): Move up the constraints_satisfied_p check
+       so that we check constraints before calling maybe_instantiate_decl.
+
+2020-10-28  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (push_template_decl): Refactor for some RAII.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_name): Handle allocate.
+       (cp_parser_omp_clause_allocate): New function.
+       (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ALLOCATE.
+       (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
+       OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK,
+       OMP_TASK_CLAUSE_MASK, OMP_TASKGROUP_CLAUSE_MASK,
+       OMP_DISTRIBUTE_CLAUSE_MASK, OMP_TEAMS_CLAUSE_MASK,
+       OMP_TARGET_CLAUSE_MASK, OMP_TASKLOOP_CLAUSE_MASK): Add
+       PRAGMA_OMP_CLAUSE_ALLOCATE.
+       * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_ALLOCATE.
+       * pt.c (tsubst_omp_clauses): Likewise.
+
+2020-10-27  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct lang_type): Delete nested_udts field.
+       (CLASSTYPE_NESTED_UTDS): Delete.
+       * name-lookup.h (binding_table, binding_entry): Delete typedefs.
+       (bt_foreach_proc): Likewise.
+       (struct binding_entry_s): Delete.
+       (SCOPE_DEFAULT_HT_SIZE, CLASS_SCOPE_HT_SIZE)
+       (NAMESPACE_ORDINARY_HT_SIZE, NAMESPACE_STD_HT_SIZE)
+       (GLOBAL_SCOPE_HT_SIZE): Delete.
+       (binding_table_foreach, binding_table_find): Delete declarations.
+       * name-lookup.c (ENTRY_INDEX): Delete.
+       (free_binding_entry): Delete.
+       (binding_entry_make, binding_entry_free): Delete.
+       (struct binding_table_s): Delete.
+       (binding_table_construct, binding_table_free): Delete.
+       (binding_table_new, binding_table_expand): Delete.
+       (binding_table_insert, binding_table_find): Delete.
+       (binding_table_foreach): Delete.
+       (maybe_process_template_type_declaration): Delete
+       CLASSTYPE_NESTED_UTDS insertion.
+       (do_pushtag): Likewise.
+       * decl2.c (bt_reset_linkage_1): Fold into reset_type_linkage_1.
+       (reset_type_linkage_2, bt_reset_linkage_2): Fold into
+       reset_type_linkage.
+       * pt.c (instantiate_class_template_1): Delete NESTED_UTDs comment.
+       (bt_instantiate_type_proc): Delete.
+       (do_type_instantiation): Instantiate implicit typedef fields.
+       Delete NESTED_UTD walk.
+       * search.c (lookup_field_r): Delete unreachable NESTED_UTD
+       search.
+
+2020-10-27  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_explicit_instantiation): Refactor some RAII.
+       * pt.c (bt_instantiate_type_proc): DATA is the tree, pass type to
+       do_type_instantiation.
+       (do_type_instantiation): Require T to be a type.  Refactor for
+       some RAII.
+
+2020-10-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * cp-tree.h (CPTK_IS_NOTHROW_ASSIGNABLE): New.
+       (CPTK_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
+       (is_nothrow_xible): Likewise.
+       * method.c (is_nothrow_xible): New.
+       (is_trivially_xible): Tweak.
+       * parser.c (cp_parser_primary_expression): Handle the new RID_*.
+       (cp_parser_trait_expr): Likewise.
+       * semantics.c (trait_expr_value): Handle the new RID_*.
+       (finish_trait_expr): Likewise.
+
+2020-10-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96241
+       * constexpr.c (cxx_eval_array_reference): Set up ctx->ctor if we
+       are initializing an aggregate.  Call free_constructor on the new
+       CONSTRUCTOR if it isn't returned from cxx_eval_constant_expression.
+
+2020-10-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91741
+       * typeck.c (cp_build_binary_op): Implement -Wsizeof-array-div.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97328
+       * constexpr.c (init_subob_ctx): Don't punt on RANGE_EXPR
+       indexes, instead build a sub-aggregate initialization context
+       with no subobject.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96575
+       * constexpr.c (cxx_eval_constant_expression)
+       <case EMPTY_CLASS_EXPR>: Lower it to a CONSTRUCTOR.
+       (potential_constant_expression_1) <case COMPOUND_EXPR>: Remove
+       now-redundant handling of COMPOUND_EXPR with EMPTY_CLASS_EXPR
+       second operand.
+       <case EMPTY_CLASS_EXPR>: Return true instead of false.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97511
+       * decl.c (duplicate_decls): Return NULL_TREE if
+       DECL_TEMPLATE_PARM_P differ.
+
+2020-10-20  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (push_local_extern_decl_alias): Reconstextualize
+       alias' parm decls.  Drop any default args.
+
+2020-10-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/97438
+       * coroutines.cc (struct coroutine_info): Add a field to
+       record that we emitted a promise type error.
+       (coro_promise_type_found_p): Check for the case that the
+       promise type contains both return_void and return_value.
+       Emit an error if so, with information about the wrong
+       type methods.
+
+2020-10-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97460
+       * pt.c (push_template_decl): Check DECL_LANG_SPECIFIC in friend
+       case.
+
+2020-10-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/96258
+       * parser.c (cp_parser_declaration): Make token2 point to EOF if
+       token1 was EOF.
+
+2020-10-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95844
+       * decl.c (copy_fn_p): Return false for a function that is neither a
+       constructor nor an assignment operator.
+       (move_signature_fn_p): Likewise.
+
+2020-10-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97406
+       PR c++/85901
+       * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle OFFSET_TYPE.
+       (cxx_pretty_printer::abstract_declarator): Fix the printing of ')'.
+       (cxx_pretty_printer::direct_abstract_declarator): Handle OFFSET_TYPE.
+       (cxx_pretty_printer::type_id): Likewise.  Print the abstract declarator
+       for pointers-to-members.
+
+2020-10-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97358
+       * pt.c (check_for_bare_parameter_packs): Diagnose use of
+       capture pack.
+
+2020-10-14  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct lang_decl_fn): Adjust context comment.
+       (DECL_FRIEND_P): Replace with ...
+       (DECL_UNIQUE_FRIEND_P): ... this.  Only for FUNCTION_DECLs.
+       (DECL_FRIEND_CONTEXT): Adjust.
+       * class.c (add_implicitly_declared_members): Detect friendly
+       spaceship from context.
+       * constraint.cc (remove_constraints): Use a checking assert.
+       (maybe_substitute_reqs_for): Use DECL_UNIQUE_FRIEND_P.
+       * decl.c (check_no_redeclaration_friend_default_args):
+       DECL_UNIQUE_FRIEND_P is signficant, not hiddenness.
+       (duplicate_decls): Adjust DECL_UNIQUE_FRIEND_P clearing.
+       (redeclaration_error_message): Use DECL_UNIQUE_FRIEND_P.
+       (start_preparsed_function): Correct in-class friend processing.
+       Refactor some initializers.
+       (grokmethod): Directly check friend decl-spec.
+       * decl2.c (grokfield): Check DECL_UNIQUE_FRIEND_P.
+       * friend.c (do_friend): Set DECL_UNIQUE_FRIEND_P first, remove
+       extraneous conditions.  Don't re set it afterwards.
+       * name-lookup.c (lookup_elaborated_type_1): Simplify revealing
+       code.
+       (do_pushtag): Likewise.
+       * pt.c (optimize_specialization_lookup_p): Check
+       DECL_UNIQUE_FRIEND_P.
+       (push_template_decl): Likewise.  Drop unneeded friend setting.
+       (type_dependent_expression_p): Check DECL_UNIQUE_FRIEND_P.
+
+2020-10-14  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (push_local_extern_decl_alias): Push into alias's
+       namespace and use pushdecl.
+       (do_pushdecl_with_scope): Clarify behaviour.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/97201
+       * error.c (dump_type_suffix): Handle both the C and C++ forms of
+       zero-length arrays.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96511
+       PR middle-end/96384
+       * init.c (warn_placement_new_too_small): Call builtin_objsize instead
+       of duplicating what it does.
+
+2020-10-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96805
+       PR c++/96199
+       * pt.c (tsubst_aggr_type): Don't build a TYPENAME_TYPE when
+       entering_scope.
+       (tsubst_template_decl): Use tsubst_aggr_type.
+
+2020-10-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97052
+       * constraint.cc (build_type_constraint): Temporarily increment
+       processing_template_decl before calling build_concept_check.
+       * pt.c (make_constrained_placeholder_type): Likewise.
+
+2020-10-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96229
+       * parser.c (cp_parser_class_specifier_1): Move call to
+       associate_classtype_constraints from here to ...
+       (cp_parser_class_head): ... here.
+       * pt.c (is_compatible_template_arg): Correct documentation to
+       say "argument is _no_ more constrained than the parameter".
+
+2020-10-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97010
+       * pt.c (tsubst_copy_and_build) <case TEMPLATE_ID_EXPR>: Call
+       tsubst_copy_and_build explicitly instead of using the RECUR macro.
+       Handle a TEMPLATE_ID_EXPR with an IDENTIFIER_NODE as its operand.
+       <case CALL_EXPR>: Perform ADL for a TEMPLATE_ID_EXPR with an
+       IDENTIFIER_NODE as its operand.
+
+2020-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       PR libstdc++/97273
+       * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Return false if
+       ALIGNOF_EXPR_STD_P differ.
+
+2020-10-07  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct language_function): Delete extern_decl_map.
+       (DECL_LOCAL_DECL_ALIAS): New.
+       * name-lookup.h (is_local_extern): Delete.
+       * name-lookup.c (set_local_extern_decl_linkage): Replace with ...
+       (push_local_extern_decl): ... this new function.
+       (do_pushdecl): Call new function after pushing new decl.  Unhide
+       hidden non-functions.
+       (is_local_extern): Delete.
+       * decl.c (layout_var_decl): Do not allow VLA local externs.
+       * decl2.c (mark_used): Also mark DECL_LOCAL_DECL_ALIAS. Drop old
+       local-extern treatment.
+       * parser.c (cp_parser_oacc_declare): Deal with local extern aliases.
+       * pt.c (tsubst_expr): Adjust local extern instantiation.
+       * cp-gimplify.c (cp_genericize_r): Remap DECL_LOCAL_DECLs.
+
+2020-10-07  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_BUILTIN_P): Rename to ...
+       (DECL_UNDECLARED_BUILTIN_P): ... here.
+       * decl.c (duplicate_decls): Adjust.
+       * name-lookup.c (anticipated_builtin_p): Adjust.
+       (do_nonmember_using_decl): Likewise.
+
+2020-10-07  Nathan Sidwell  <nathan@acm.org>
+
+       * tree.c (build_cp_fntype_variant): Clear
+       TYPE_DEPENDENT_P_VALID if necessary.
+
+2020-10-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97297
+       * parser.c (cp_parser_direct_declarator): When checking if a
+       name is a function template declaration for the P0634R3 case,
+       look in uninstantiated templates too.
+
+2020-10-05  Marek Polacek  <polacek@redhat.com>
+
+       * cp-tree.h (NON_UNION_CLASS_TYPE_P): Fix typo in a comment.
+
+2020-10-05  Richard Biener  <rguenther@suse.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97197
+       * error.c (dump_expr): Handle TARGET_MEM_REF.
+
+2020-10-05  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (maybe_add_fuzzy_decl): New.
+       (maybe_add_fuzzy_binding): New.
+       (consider_binding_level): Use intermediate sortable vector for
+       namespace bindings.
+
+2020-10-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97014
+       * cxx-pretty-print.c (pp_cxx_template_argument_list): If the
+       argument is template_parm_object_p, print its DECL_INITIAL.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (lang_decl_base): anticipated_p is not used for
+       anticipatedness.
+       (DECL_ANTICIPATED): Delete.
+       * decl.c (duplicate_decls): Delete DECL_ANTICIPATED_management,
+       use was_hidden.
+       (cxx_builtin_function): Drop DECL_ANTICIPATED setting.
+       (xref_tag_1): Drop DECL_ANTICIPATED assert.
+       * name-lookup.c (name_lookup::adl_class_only): Drop
+       DECL_ANTICIPATED check.
+       (name_lookup::search_adl): Always dedup.
+       (anticipated_builtin_p): Reimplement.
+       (do_pushdecl): Drop DECL_ANTICIPATED asserts & update.
+       (lookup_elaborated_type_1): Drop DECL_ANTICIPATED update.
+       (do_pushtag): Drop DECL_ANTICIPATED setting.
+       * pt.c (push_template_decl): Likewise.
+       (tsubst_friend_class): Likewise.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (consider_decl): New, broken out of ...
+       (consider_binding_level): ... here.  Iterate the hash table for
+       namespace bindings.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (base_ctor_omit_inherited_parms): Declare.
+       * class.c (add_method): Refactor main loop, only pass fns to
+       ctor_omit_inherited_parms.
+       (build_cdtor_clones): Rename bool parms.
+       (clone_cdtor): Call base_ctor_omit_inherited_parms.
+       * method.c (base_ctor_omit_inherited_parms): New, broken out of
+       ...
+       (ctor_omit_inherited_parms): ... here, call it with
+       DECL_CLONED_FUNCTION.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (cp_fname_init): Delete declaration.
+       * decl.c (cp_fname_init): Merge into only caller ...
+       (cp_make_fname): ... here & refactor.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * call.c (build_operator_new_call): Set CALL_FROM_NEW_OR_DELETE_P.
+       (build_op_delete_call): Likewise.
+       * init.c (build_new_1, build_vec_delete_1, build_delete): Not here.
+       (build_delete):
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * lambda.c (call_from_lambda_thunk_p): New.
+       * cp-gimplify.c (cp_genericize_r): Use it.
+       * pt.c (tsubst_copy_and_build): Use it.
+       * typeck.c (check_return_expr): Use it.
+       * cp-tree.h: Declare it.
+       (CALL_FROM_NEW_OR_DELETE_P): Move to gcc/tree.h.
+
+2020-10-01  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_ANTICIPATED): Adjust comment.
+       (DECL_HIDDEN_P, TYPE_HIDDEN_P): Delete.
+       * tree.c (ovl_insert): Delete DECL_HIDDEN_P assert.
+       (ovl_skip_hidden): Likewise.
+
+2020-10-01  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (pushdecl_top_level): Assert incoming context is
+       null, add global_namespace context.
+       (pushdecl_top_level_and_finish): Likewise.
+       * pt.c (get_template_parm_object): Clear decl context before
+       pushing.
+       * semantics.c (finish_compound_literal): Likewise.
+
+2020-10-01  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (lookup_and_check_tag): Refactor.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96994
+       * call.c (build_over_call): If obj_arg is non-NULL, return INIT_EXPR
+       setting obj_arg to call.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97195
+       * constexpr.c (cxx_eval_call_expression): Don't VERIFY_CONSTANT the
+       second argument.
+
+2020-10-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90210
+       * pt.c (do_class_deduction): Don't prune explicit deduction guides
+       in copy-list-initialization.  In copy-list-initialization, if an
+       explicit deduction guide was selected, give an error.
+
+2020-09-30  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct lang_decl_fn): Remove hidden_friend_p.
+       (DECL_HIDDEN_FRIEND_P): Delete.
+       * call.c (add_function_candidate): Drop assert about anticipated
+       decl.
+       (build_new_op_1): Drop koenig lookup flagging for hidden friend.
+       * decl.c (duplicate_decls): Drop HIDDEN_FRIEND_P updating.
+       * name-lookup.c (do_pushdecl): Likewise.
+       (set_decl_namespace): Discover hiddenness from OVL_HIDDEN_P.
+       * pt.c (check_explicit_specialization): Record found_hidden
+       explicitly.
+
+2020-09-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * call.c (ref_conv_binds_directly_p): New function.
+       * cp-tree.h (ref_conv_binds_directly_p): Declare.
+       * parser.c (warn_for_range_copy): New function.
+       (cp_convert_range_for): Call it.
+
+2020-09-29  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (ovl_insert): Change final parm to hidden-or-using
+       indicator.
+       * name-lookup.h (HIDDEN_TYPE_BINDING_P): New.
+       (struct cxx_binding): Add type_is_hidden flag.
+       * tree.c (ovl_insert): Change using_p parm to using_or_hidden,
+       adjust.
+       (ovl_skip_hidden): Assert we never see a naked hidden decl.
+       * decl.c (xref_tag_1): Delete unhiding friend from here (moved to
+       lookup_elaborated_type_1).
+       * name-lookup.c (STAT_TYPE_HIDDEN_P, STAT_DECL_HIDDEN_P): New.
+       (name_lookup::search_namespace_only): Check new hidden markers.
+       (cxx_binding_make): Clear HIDDEN_TYPE_BINDING_P.
+       (update_binding): Update new hidden markers.
+       (lookup_name_1): Check HIDDEN_TYPE_BINDING_P and simplify friend
+       ignoring.
+       (lookup_elaborated_type_1): Use new hidden markers.  Reveal the
+       decl here.
+
+2020-09-29  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (create_local_binding): Do not clear
+       INHERITED_VALUE_BINDING_P here.
+       (name_lookup::process_binding): Move done hidden-decl triage to ...
+       (name_lookup::search_namespace_only): ... here, its only caller.
+       (cxx_binding_make): Clear flags here.
+       (push_binding): Not here.
+       (pop_local_binding): RAII.
+       (update_binding): Refactor.
+       (do_pushdecl): Assert we're never revealing a local binding.
+       (do_pushdecl_with_scope): Directly call do_pushdecl.
+       (get_class_binding): Do not clear LOCAL_BINDING_P here.
+       * pt.c (push_template_decl): Set friend & anticipated before
+       pushing.
+
+2020-09-29  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (update_binding): We never meet two implicit
+       typedefs.
+       (do_pushdecl): Adjust set_identifier_type_value_with_scope calls.
+       (set_identifier_type_value_with_scope): Do not update binding in
+       the namespace-case.  Assert it is already there.
+
+2020-09-25  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (duplicate_decls): Replace 'is_friend' with 'hiding'
+       and add 'was_hidden'.
+       * name-lookup.h (pushdecl_namespace_level): Replace 'is_friend'
+       with 'hiding'.
+       (pushdecl): Likewise.
+       (pushdecl_top_level): Drop is_friend parm.
+       * decl.c (check_no_redeclaration_friend_default_args): Rename parm
+       olddelc_hidden_p.
+       (duplicate_decls): Replace 'is_friend' with 'hiding'
+       and 'was_hidden'.  Do minimal adjustments in body.
+       (cxx_builtin_function): Pass 'hiding' to pushdecl.
+       * friend.c (do_friend): Pass 'hiding' to pushdecl.
+       * name-lookup.c (supplement_binding_1): Drop defaulted arg to
+       duplicate_decls.
+       (update_binding): Replace 'is_friend' with 'hiding'.  Drop
+       defaulted arg to duplicate_decls.
+       (do_pushdecl): Replace 'is_friend' with 'hiding'.  Assert no
+       surprise hidhing.  Adjust duplicate_decls calls to inform of old
+       decl's hiddennes.
+       (pushdecl): Replace 'is_friend' with 'hiding'.
+       (set_identifier_type_value_with_scope): Adjust update_binding
+       call.
+       (do_pushdecl_with_scope): Replace 'is_friend' with 'hiding'.
+       (pushdecl_outermost_localscope): Drop default arg to
+       do_pushdecl_with_scope.
+       (pushdecl_namespace_level): Replace 'is_friend' with 'hiding'.
+       (pushdecl_top_level): Drop is_friend parm.
+       * pt.c (register_specialization): Comment duplicate_decls call
+       args.
+       (push_template_decl): Commont pushdecl_namespace_level.
+       (tsubst_friend_function, tsubst_friend_class): Likewise.
+
+2020-09-25  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.h (enum tag_scope): Replace with ...
+       (enum class TAG_how): ... this.  Add HIDDEN_FRIEND value.
+       (lookup_type_scope): Replace with ...
+       (lookup_elaborated_type): ... this.
+       (pushtag): Use TAG_how, not tag_scope.
+       * cp-tree.h (xref_tag): Parameter is TAG_how, not tag_scope.
+       * decl.c (lookup_and_check_tag): Likewise.  Adjust.
+       (xref_tag_1, xref_tag): Likewise. adjust.
+       (start_enum): Adjust lookup_and_check_tag call.
+       * name-lookup.c (lookup_type_scope_1): Rename to ...
+       (lookup_elaborated_type_1) ... here. Use TAG_how, not tag_scope.
+       (lookup_type_scope): Rename to ...
+       (lookup_elaborated_type): ... here.  Use TAG_how, not tag_scope.
+       (do_pushtag): Use TAG_how, not tag_scope.  Adjust.
+       (pushtag): Likewise.
+       * parser.c (cp_parser_elaborated_type_specifier): Adjust.
+       (cp_parser_class_head): Likewise.
+
+2020-09-25  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_BUILTIN_P): New.
+       * decl.c (duplicate_decls): Use it.  Do not treat omp-udr as a
+       builtin.
+       * name-lookup.c (anticipated_builtin): Use it.
+       (set_decl_context_in_fn): Function-scope OMP UDRs have function context.
+       (do_nonmember_using_decl): Use DECL_BUILTIN_P.
+       * parser.c (cp_parser_omp_declare_reduction): Function-scope OMP
+       UDRs have function context.  Assert we never find a valid duplicate.
+       * pt.c (tsubst_expr): Function-scope OMP UDRs have function context.
+
+2020-09-24  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (duplicate_decls): Default is_friend to false.
+       (xref_tag): Default tag_scope & tpl_header_p to ts_current & false.
+       (push_template_decl_real): Default is_friend to false.  Rename to
+       ...
+       (push_template_decl): ... here.  Delete original decl.
+       * name-lookup.h (pushdecl_namespace_level): Default is_friend to
+       false.
+       (pushtag): Default tag_scope to ts_current.
+       * coroutines.cc (morph_fn_to_coro): Drop default args to xref_tag.
+       * decl.c (start_decl): Drop default args to duplicate_decls.
+       (start_enum): Drop default arg to pushtag & xref_tag.
+       (start_preparsed_function): Pass DECL_FRIEND_P to
+       push_template_decl.
+       (grokmethod): Likewise.
+       * friend.c (do_friend): Rename push_template_decl_real calls.
+       * lambda.c (begin_lamnbda_type): Drop default args to xref_tag.
+       (vla_capture_type): Likewise.
+       * name-lookup.c (maybe_process_template_type_declaration): Rename
+       push_template_decl_real call.
+       (pushdecl_top_level_and_finish): Drop default arg to
+       pushdecl_namespace_level.
+       * pt.c (push_template_decl_real): Assert no surprising friend
+       functions.  Rename to ...
+       (push_template_decl): ... here.  Delete original function.
+       (lookup_template_class_1): Drop default args from pushtag.
+       (instantiate_class_template_1): Likewise.
+       * ptree.c (debug_overload): Print hidden and using markers.
+       * rtti.c (init_rtti_processing): Drop refault args from xref_tag.
+       (build_dynamic_cast_1, tinfo_base_init): Likewise.
+       * semantics.c (begin_class_definition): Drop default args to
+       pushtag.
+
+2020-09-24  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97186
+       * pt.c (maybe_instantiate_noexcept): Local externs are never
+       member fns.
+
+2020-09-23  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.h (typedef cxx_binding): Delete tdef.
+       (typedef cp_binding_level): Likewise.
+       (struct cxx_binding): Flags are bools.
+
+2020-09-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97171
+       * pt.c (tsubst_copy) [FUNCTION_DECL,VAR_DECL]: Retrieve local
+       specialization for DECL_LOCAL_P decls.
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95310
+       * pt.c (corresponding_template_parameter): Define.
+       (keep_template_parm): Use it to adjust the given template
+       parameter to the corresponding in-scope one from ctx_parms.
+
+2020-09-22  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (xref_tag_from_type): Don't declare.
+       * decl.c (xref_tag_from_type): Delete.
+       * pt.c (lookup_template_class_1): Erroneously located class
+       definitions just give error_mark, don't try and inject it into the
+       namespace.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97145
+       * constexpr.c (cxx_eval_builtin_function_call): Return void_node for
+       calls to __sanitize_ptr_{sub,cmp} builtins.
+
+2020-09-22  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (instantiate_class_template_1): Do not repush and unhide
+       injected friend.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90583
+       DR 1722
+       * lambda.c (maybe_add_lambda_conv_op): Mark the conversion function
+       as noexcept.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       * pt.c (deduction_guides_for): Add a bool parameter.  Set it.
+       (do_class_deduction): Warn when CTAD succeeds but the type doesn't
+       have any explicit deduction guides.
+
+2020-09-21  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (xref_tag_1): Use IDENTIFIER_LAMBDA_P to detect lambdas.
+       * lambda.c (begin_lambda_type): Use ts_current to push the tag.
+       * name-lookup.h (enum tag_scope): Drop ts_lambda.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97099
+       * decl.c (redeclaration_error_message): Detect a redeclaration of
+       deduction guides.
+
+2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * cp-gimplify.c (enum bc_t, bc_label): Move to c-family.
+       (begin_bc_block, finish_bc_block, get_bc_label): Likewise.
+       (genericize_cp_loop): Likewise.
+       (genericize_for_stmt, genericize_while_stmt): Likewise.
+       (genericize_do_stmt, genericize_switch_stmt): Likewise.
+       (genericize_continue_stmt, genericize_break_stmt): Likewise.
+       (genericize_omp_for_stmt): Likewise.
+       (cp_genericize_r): Call c_genericize_control_stmt instead of
+       above functions directly.
+       (cp_genericize): Call save_bc_state and restore_bc_state instead
+       of manipulating bc_label directly.
+       * cp-objcp-common.c (cxx_block_may_fallthru): Defer to
+       c_block_may_fallthru instead of handling SWITCH_STMT here.
+       (cp_common_init_ts): Move handling of loop and switch-related
+       statements to c-family.
+       * cp-tree.def (FOR_STMT, WHILE_STMT, DO_STMT): Move to c-family.
+       (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
+       * cp-tree.h (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
+       (WHILE_COND, WHILE_BODY): Likewise.
+       (DO_COND, DO_BODY): Likewise.
+       (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
+       (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
+       (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
+       (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
+       * cxx-pretty-print.c (cxx_pretty_printer::statement): Move code
+       to handle structured loop and switch tree nodes to c-family.
+       * dump.c (cp_dump_tree): Likewise.
+
+2020-09-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96531
+       PR c++/97103
+       * constraint.cc (map_arguments): Call template_parm_to_arg
+       in the self-mapping case.
+       (finish_shorthand_constraint): No need to build a TREE_LIST
+       before calling template_parm_to_arg.
+       * pt.c (template_parm_to_arg): Rewrite to handle TEMPLATE_PARM_P
+       nodes as well as DECL_TEMPLATE_PARM_P nodes, and to make the
+       overlying TREE_LIST node optional.
+       (keep_template_parm): Don't record a BOUND_TEMPLATE_TEMPLATE_PARM,
+       instead record its corresponding TEMPLATE_TEMPLATE_PARM.
+       (convert_generic_types_to_packs): Don't call
+       template_parm_to_arg.
+
+2020-09-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97051
+       * constraint.cc (satisfy_atom): Pass true as the
+       manifestly_const_eval argument to maybe_constant_value.
+
+2020-09-18  Jason Merrill  <jason@redhat.com>
+
+       PR bootstrap/97118
+       * decl.c (complete_vars): Only call layout_var_decl if completing
+       the type succeeded.
+
+2020-09-18  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (complete_vars): Call layout_var_decl.
+
+2020-09-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96409
+       PR c++/96410
+       * constraint.cc (tsubst_requires_expr): Use REQUIRES_EXPR_PARMS
+       and REQUIRES_EXPR_REQS.  Use REQUIRES_EXPR_EXTRA_ARGS,
+       add_extra_args and build_extra_args to defer substitution until
+       we have all the template arguments.
+       (finish_requires_expr): Adjust the call to build_min so that
+       REQUIRES_EXPR_EXTRA_ARGS gets set to NULL_TREE.
+       * cp-tree.def (REQUIRES_EXPR): Give it a third operand.
+       * cp-tree.h (REQUIRES_EXPR_PARMS, REQUIRES_EXPR_REQS,
+       REQUIRES_EXPR_EXTRA_ARGS): Define.
+       (add_extra_args, build_extra_args): Declare.
+
+2020-09-16  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (cp_check_omp_declare_reduction): Return bool.
+       * semantics.c (cp_check_omp_declare_reduction): Return true on for
+       success.
+       * pt.c (push_template_decl_real): OMP reductions do not get a
+       template header.
+       (tsubst_function_decl): Remove special casing for local decl omp
+       reductions.
+       (tsubst_expr): Call instantiate_body for a local omp reduction.
+       (instantiate_body): Add nested_p parm, and deal with such
+       instantiations.
+       (instantiate_decl): Reject FUNCTION_SCOPE entities, adjust
+       instantiate_body call.
+
+2020-09-16  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (instantiate_body): Remove 'nested' var, simplify
+       push_to_top logic.
+
+2020-09-16  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (instantiate_body): New, broken out of ..
+       (instantiate_decl): ... here.  Call it.
+
+2020-09-15  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (push_template_decl_real): OMP reductions retain a template
+       header.
+       (tsubst_function_decl): Likewise.
+
+2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96668
+       * cp-gimplify.c (cxx_omp_finish_clause): Add bool openacc arg.
+       * cp-tree.h (cxx_omp_finish_clause): Likewise
+       * semantics.c (handle_omp_for_class_iterator): Update call.
+
+2020-09-14  Marek Polacek  <polacek@redhat.com>
+
+       * pt.c (push_template_decl_real): Use VAR_OR_FUNCTION_DECL_P.
+
+2020-09-14  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (push_template_decl_real): Don't attach a template head to
+       local externs.
+       (tsubst_function_decl): Add support for headless local extern
+       decls.
+       (tsubst_decl): Add support for headless local extern decls.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (grokfndecl): Don't attach to local extern.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_objc_method_definition_list): Reimplement
+       loop, make sure we pop scope.
+
+2020-09-11  Marek Polacek  <polacek@redhat.com>
+
+       * cp-tree.h (LOOKUP_CONSTINIT): Remove.
+       (LOOKUP_REWRITTEN): Adjust.
+       * decl.c (duplicate_decls): Set DECL_DECLARED_CONSTINIT_P.
+       (check_initializer): Use DECL_DECLARED_CONSTINIT_P instead of
+       LOOKUP_CONSTINIT.
+       (cp_finish_decl): Don't set DECL_DECLARED_CONSTINIT_P.  Use
+       DECL_DECLARED_CONSTINIT_P instead of LOOKUP_CONSTINIT.
+       (grokdeclarator): Set DECL_DECLARED_CONSTINIT_P.
+       * decl2.c (grokfield): Don't handle LOOKUP_CONSTINIT.
+       * parser.c (cp_parser_decomposition_declaration): Remove
+       LOOKUP_CONSTINIT handling.
+       (cp_parser_init_declarator): Likewise.
+       * pt.c (tsubst_expr): Likewise.
+       (instantiate_decl): Likewise.
+       * typeck2.c (store_init_value): Use DECL_DECLARED_CONSTINIT_P instead
+       of LOOKUP_CONSTINIT.
+
+2020-09-10  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (TINFO_VAR_DECLARED_CONSTINIT): Replace with ...
+       (DECL_DECLARED_CONSTINIT_P): ... this.
+       * decl.c (start_decl): No need to retrofit_lang_decl for constinit
+       flag.
+       (cp_finish_decl): Use DECL_DECLARED_CONSTINIT_P.
+       * pt.c (tsubst_decl): No need to handle constinit flag
+       propagation.
+       (tsubst_expr): Or here.
+
+2020-09-10  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (DECL_LOCAL_FUNCTION_P): Rename to ...
+       (DECL_LOCAL_DECL_P): ... here.  Accept both fns and vars.
+       * decl.c (start_decl): Set DECL_LOCAL_DECL_P for local externs.
+       (omp_declare_variant_finalize_one): Use DECL_LOCAL_DECL_P.
+       (local_variable_p): Simplify.
+       * name-lookup.c (set_decl_context_in_fn): Assert DECL_LOCAL_DECL_P
+       is as expected.  Simplify.
+       (do_pushdecl): Don't set decl_context_in_fn for friends.
+       (is_local_extern): Simplify.
+       * call.c (equal_functions): Use DECL_LOCAL_DECL_P.
+       * parser.c (cp_parser_postfix_expression): Likewise.
+       (cp_parser_omp_declare_reduction): Likewise.
+       * pt.c (check_default_tmpl_args): Likewise.
+       (tsubst_expr): Assert nested reduction function is local.
+       (type_dependent_expression_p): Use DECL_LOCAL_DECL_P.
+       * semantics.c (finish_call_expr): Likewise.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/77841
+       * decl.c (reshape_init): If we're initializing a char array from
+       a string-literal that is enclosed in braces, unwrap it.
+       * init.c (build_new_1): Don't handle string-initializers here.
+       (build_new): Handle new-expression with paren-init when the
+       array bound is known.  Always pass string constants to build_new_1
+       enclosed in braces.  Don't handle string-initializers in any
+       special way.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95164
+       * decl.c (reshape_init_r): When initializing an aggregate member
+       with an initializer from an initializer-list, also consider
+       COMPOUND_LITERAL_P.
+
+2020-09-09  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_omp_declare_reduction): Refactor to avoid
+       code duplication.  Update DECL_TI_TEMPLATE's context.
+       * pt.c (tsubst_expr): For OMP reduction function, set context to
+       global_namespace before pushing.
+       (tsubst_omp_udr): Assert current_function_decl, add comment about
+       decl context.
+
+2020-09-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96647
+       * class.c (resolve_address_of_overloaded_function): Check
+       constraints_satisfied_p and perform return-type deduction via
+       maybe_instantiate_decl when considering non-template functions
+       in the overload set.
+       * cp-tree.h (maybe_instantiate_decl): Declare.
+       * decl2.c (maybe_instantiate_decl): Remove static.
+
+2020-09-04  Jason Merrill  <jason@redhat.com>
+
+       * expr.c (mark_use): Use iloc_sentinel.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96901
+       * constexpr.c (fundef_copies_table): Change type from
+       hash_map<tree, tree> * to decl_tree_map *.
+
+2020-09-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92812
+       * cp-tree.h (do_aggregate_paren_init): Declare.
+       * decl.c (do_aggregate_paren_init): New.
+       (grok_reference_init): Use it.
+       (check_initializer): Likewise.
+       * init.c (perform_member_init): Handle initializing an array from
+       a ()-list.  Use do_aggregate_paren_init.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96862
+       * constexpr.c (cxx_eval_outermost_constant_expr): Temporarily disable
+       flag_rounding_math during manifestly constant evaluation.
+
+2020-09-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/77841
+       * init.c (build_new_1): Call reshape_init.
+
+2020-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96867
+       * semantics.c (handle_omp_array_sections_1): Test
+       DECL_ARRAY_PARAMETER_P only on PARM_DECLs.
+
+2020-08-31  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/93529
+       * call.c (build_new_method_call_1): Use build_constructor_from_vec
+       instead of build_tree_list_vec + build_constructor_from_list.
+       * init.c (build_new_1): Handle new char[]{"foo"}.  Use
+       build_constructor_from_vec instead of build_tree_list_vec +
+       build_constructor_from_list.
+       (build_new): Deduce the array size in new-expression if not
+       present.  Handle ()-init.  Handle initializing an array from
+       a string literal.
+       * parser.c (cp_parser_new_type_id): Leave [] alone.
+       (cp_parser_direct_new_declarator): Allow [].
+       * pt.c (type_dependent_expression_p): In a NEW_EXPR, consider
+       array types whose dimension has to be deduced type-dependent.
+
+2020-08-27  Martin Liska  <mliska@suse.cz>
+
+       * class.c (build_vtbl_initializer): Set exact argument of a vector
+       growth function to true.
+       * constraint.cc (get_mapped_args): Likewise.
+       * decl.c (cp_maybe_mangle_decomp): Likewise.
+       (cp_finish_decomp): Likewise.
+       * parser.c (cp_parser_omp_for_loop): Likewise.
+       * pt.c (canonical_type_parameter): Likewise.
+       * rtti.c (get_pseudo_ti_init): Likewise.
+
+2020-08-26  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (poplevel): A local-binding tree list holds the name in
+       TREE_PURPOSE.
+       * name-lookup.c (update_local_overload): Add id to TREE_PURPOSE.
+       (lookup_name_1): Deal with local-binding error_mark_node marker.
+       (op_unqualified_lookup): Return error_mark_node for 'nothing
+       found'.  Retain global binding, check class binding here.
+       (maybe_save_operator_binding): Reimplement to always cache a
+       result.
+       (push_operator_bindings): Deal with 'ignore' marker.
+
+2020-08-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/96678
+       * semantics.c (handle_omp_array_sections_1): Talk about
+       array function parameter in the error message.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96721
+       * cp-tree.h (build_trivial_dtor_call): Add bool argument defaulted
+       to false.
+       * call.c (build_trivial_dtor_call): Add NO_PTR_DEREF argument.  If
+       instance is a pointer and NO_PTR_DEREF is true, clobber the pointer
+       rather than what it points to.
+       * semantics.c (finish_call_expr): Call build_trivial_dtor_call with
+       true as NO_PTR_DEREF.
+
+2020-08-25  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95428
+       * optimize.c (populate_clone_array): Revert PR70462 change.
+       (maybe_clone_body): Likewise.
+
+2020-08-24  Nathan Sidwell  <nathan@acm.org>
+
+       * ptree.c (debug_overload): New.
+
+2020-08-19  Jason Merrill  <jason@redhat.com>
+
+       DR 2369
+       * cp-tree.h (push_tinst_level, push_tinst_level_loc): Declare.
+       * constraint.cc (satisfy_declaration_constraints):
+       Use add_outermost_template_args and push_tinst_level.
+       * pt.c (add_outermost_template_args): Handle getting
+       a TEMPLATE_DECL as the first argument.
+       (push_tinst_level, push_tinst_level_loc): No longer static.
+       (fn_type_unification): Check satisfaction before non-dependent
+       conversions.
+
+2020-08-18  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (SET_TYPE_TEMPLTE_INFO): Do not deal with ALIAS templates.
+       * pt.c (lookup_template_class_1): Special-case alias template
+       template_info setting.
+
+2020-08-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96199
+       * pt.c (tsubst_aggr_type): Rewrite in C++17, too.
+       (maybe_dependent_member_ref): Likewise.
+       (build_deduction_guide): Re-substitute template parms.
+       * cp-tree.h (struct push_nested_class_guard): New.
+       * constraint.cc (get_normalized_constraints_from_decl): Use it.
+
+2020-08-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96199
+       * pt.c (maybe_dependent_member_ref): New.
+       (tsubst_copy) [CONST_DECL]: Use it.
+       [VAR_DECL]: Likewise.
+       (tsubst_aggr_type): Handle nested type.
+
+2020-08-18  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (qualify_lookup): Drop lambda checking here.
+       Reorder namespace & type checking.
+       (lookup_name_1): Do hidden lambda checking here.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.h (lookup_name_real, lookup_name_nonclass): Rename
+       to ...
+       (lookup_name): ... these new overloads.
+       * name-lookup.c (identifier_type_value_1): Rename lookup_name_real
+       call.
+       (lookup_name_real_1): Rename to ...
+       (lookup_name_1): ... here.
+       (lookup_name_real): Rename to ...
+       (lookup_name): ... here.  Rename lookup_name_real_1 call.
+       (lookup_name_nonclass): Delete.
+       * call.c (build_operator_new_call): Rename lookup_name_real call.
+       (add_operator_candidates): Likewise.
+       (build_op_delete_call): Rename lookup_name_nonclass call.
+       * parser.c (cp_parser_lookup_name): Likewise.
+       * pt.c (tsubst_friend_class, lookup_init_capture_pack): Likewise.
+       (tsubst_expr): Likewise.
+       * semantics.c (capture_decltype): Likewise.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (LOOKUP_HIDDEN): Delete.
+       (LOOKUP_PREFER_RVALUE): Adjust initializer.
+       * name-lookup.h (enum class LOOK_want): Add HIDDEN_FRIEND and
+       HIDDEN_LAMBDA flags.
+       (lookup_name_real): Drop flags parm.
+       (lookup_qualified_name): Drop find_hidden parm.
+       * name-lookup.c (class name_lookup): Drop hidden field, adjust
+       ctors.
+       (name_lookup::add_overload): Check want for hiddenness.
+       (name_lookup::process_binding): Likewise.
+       (name_lookup::search_unqualified): Likewise.
+       (identifier_type_value_1): Adjust lookup_name_real call.
+       (set_decl_namespace): Adjust name_lookup ctor.
+       (qualify_lookup): Drop flags parm, use want for hiddenness.
+       (lookup_qualified_name): Drop find_hidden parm.
+       (lookup_name_real_1): Drop flags parm, adjust qualify_lookup
+       calls.
+       (lookup_name_real): Drop flags parm.
+       (lookup_name_nonclass, lookup_name): Adjust lookup_name_real
+       calls.
+       (lookup_type_scope_1): Adjust qualify_lookup calls.
+       * call.c (build_operator_new_call): Adjust lookup_name_real call.
+       (add_operator_candidates): Likewise.
+       * coroutines.cc (morph_fn_to_coro): Adjust lookup_qualified_name
+       call.
+       * parser.c (cp_parser_lookup_name): Adjust lookup_name_real calls.
+       * pt.c (check_explicit_specialization): Adjust
+       lookup_qualified_name call.
+       (deduction_guides_for): Likewise.
+       (tsubst_friend_class): Adjust lookup_name_real call.
+       (lookup_init_capture_pack): Likewise.
+       (tsubst_expr): Likewise, don't look in namespaces.
+       * semantics.c (capture_decltype): Adjust lookup_name_real.  Don't
+       look in namespaces.
+
+2020-08-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90254
+       PR c++/93711
+       * cp-tree.h (unsafe_return_slot_p): Declare.
+       * call.c (is_base_field_ref): Rename to unsafe_return_slot_p.
+       (build_over_call): Check unsafe_return_slot_p.
+       (build_special_member_call): Likewise.
+       * init.c (expand_default_init): Likewise.
+       * typeck2.c (split_nonconstant_init_1): Likewise.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (LOOKUP_PREFER_TYPES, LOOKUP_PREFER_NAMESPACES)
+       (LOOKUP_NAMESPACES_ONLY, LOOKUP_TYPES_ONLY)
+       (LOOKUP_QUALIFIERS_ONL): Delete.
+       (LOOKUP_HIDDEN): Adjust.
+       * name-lookup.h (enum class LOOK_want): New.
+       (operator|, operator&): Overloads for it.
+       (lookup_name_real): Replace prefer_type & namespaces_only with
+       LOOK_want parm.
+       (lookup_qualified_name): Replace prefer_type with LOOK_want.
+       (lookup_name_prefer_type): Replace with ...
+       (lookup_name): ... this.  New overload with LOOK_want parm.
+       * name-lookup.c (struct name_lookup): Replace flags with want and
+       hidden fields.  Adjust constructors.
+       (name_lookyp::add_overload): Correct hidden stripping test.  Update
+       for new LOOK_want type.
+       (name_lookup::process_binding): Likewise.
+       (name_lookup::search_unqualified): Use hidden flag.
+       (identifier_type_value_1): Adjust lookup_name_real call.
+       (set_decl_namespace): Adjust name_lookup ctor.
+       (lookup_flags): Delete.
+       (qualify_lookup): Add LOOK_want parm, adjust.
+       (lookup_qualified_name): Replace prefer_type parm with LOOK_want.
+       (lookup_name_real_1): Replace prefer_type and namespaces_only with
+       LOOK_want parm.
+       (lookup_name_real): Likewise.
+       (lookup_name_nonclass, lookup_name): Adjust lookup_name_real call.
+       (lookup_name_prefer_type): Rename to ...
+       (lookup_name): ... here.  New overload with LOOK_want parm.
+       (lookup_type_scope_1): Adjust qualify_lookup calls.
+       * call.c (build_operator_new_call)
+       (add_operator_candidates): Adjust lookup_name_real calls.
+       * coroutines.cc (find_coro_traits_template_decl)
+       (find_coro_handle_template_decl, morph_fn_to_coro): Adjust
+       lookup_qualified_name calls.
+       * cp-objcp-common.c (identifier_global_tag): Likewise.
+       * decl.c (get_tuple_size, get_tuple_decomp_init): Likewise.
+       (lookup_and_check_tag): Use lookup_name overload.
+       * parser.c (cp_parser_userdef_numeric_literal): Adjust
+       lookup_qualified_name call.
+       (prefer_arg_type): Drop template_mem_access parm, return LOOK_want
+       value.
+       (cp_parser_lookup_name): Adjust lookup_member, lookup_name_real
+       calls.
+       * pt.c (check_explicit_specialization): Adjust lookup_qualified_name
+       call.
+       (tsubst_copy_and_build, tsubst_qualified_name): Likewise
+       (deduction_guides_for): Likewise.
+       (tsubst_friend_class): Adjust lookup_name_real call.
+       (lookup_init_capture, tsubst_expr): Likewise.
+       * rtti.c (emit_support_tinfos): Adjust lookup_qualified_name call.
+       * semantics.c (omp_reduction_lookup): Likewise.
+       (capture_decltype): Adjust lookup_name_real call.
+
+2020-08-13  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.h (enum class LOOK_where): New.
+       (operator|, operator&): Overloads for it.
+       (lookup_name_real): Replace NONCLASS & BLOCK_P parms with WHERE.
+       * name-lookup.c (identifier_type_value_w): Adjust
+       lookup_name_real call.
+       (lookup_name_real_1): Replace NONCLASS and BLOCK_P parameters
+       with WHERE bitmask. Don't search namespaces if not asked to.
+       (lookup_name_real): Adjust lookup_name_real_1 call.
+       (lookup_name_nonclass, lookup_name)
+       (lookup_name_prefer_type): Likewise.
+       * call.c (build_operator_new_call)
+       (add_operator_candidates): Adjust lookup_name_real calls.
+       * parser.c (cp_parser_lookup_name): Likewise.
+       * pt.c (tsubst_friend_class, lookup_init_capture_pack)
+       (tsubst_expr): Likewise.
+       * semantics.c (capture_decltype): Likewise.
+
+2020-08-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92812
+       * typeck.c (build_static_cast_1): Implement P1975R0 by allowing
+       static_cast to aggregate type.
+
+2020-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96497
+       * constexpr.c (cxx_eval_binary_expression): For SPACESHIP_EXPR, tail
+       call cxx_eval_constant_expression after genericize_spaceship to avoid
+       undesirable further VERIFY_CONSTANT.
+
+2020-08-10  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (resolve_overloaded_unification): Drop functions with
+       unsatisfied constraints.
+       (resolve_nondeduced_context): Likewise.
+
+2020-08-05  Patrick Palka  <ppalka@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/96282
+       * constexpr.c (cxx_eval_vec_init_1): Truncate ctx->ctor and
+       then clear CONSTRUCTOR_NO_CLEARING on each appended element
+       initializer if we're initializing a previously zero-initialized
+       array object.
+
+2020-08-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96082
+       * parser.c (cp_parser_elaborated_type_specifier): Allow
+       'template' following ::.
+
+2020-08-04  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_explicit_specialization): Refactor
+       to avoid leak of num_template_parameter_lists value.
+
+2020-08-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94024
+       * init.c (sort_mem_initializers): Preserve TREE_TYPE of the
+       member initializer list node.
+       (emit_mem_initializers): Set input_location when performing each
+       member initialization.
+       * parser.c (cp_parser_mem_initializer): Attach the source
+       location of this initializer to a dummy EMPTY_CLASS_EXPR
+       within the TREE_TYPE of the list node.
+       * pt.c (tsubst_initializer_list): Preserve TREE_TYPE of the
+       member initializer list node.
+
+2020-08-03  Marek Polacek  <polacek@redhat.com>
+
+       * cp-tree.h (after_nsdmi_defaulted_late_checks): Remove.
+
+2020-08-03  Marek Polacek  <polacek@redhat.com>
+
+       DR 2032
+       PR c++/96218
+       * pt.c (check_default_tmpl_args): Also consider variable
+       templates.
+
+2020-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96182
+       * decl.c (finish_function): In constexpr functions use for C++14 and
+       later error instead of warning if no return statement is present and
+       diagnose it regardless of warn_return_type.  Move the warn_return_type
+       diagnostics earlier in the function.
+
+2020-07-31  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96003
+       * class.c (build_base_path): Set no-warning bit on the synthesized
+       conditional expression in static_cast.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96383
+       * cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
+       Define to c_common_finalize_early_debug.
+
+2020-07-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96197
+       * constexpr.c (cxx_eval_constant_expression) <case CONST_DECL>:
+       Pass false to decl_constant_value and decl_really_constant_value
+       so that they don't unshare their result.
+       * cp-tree.h (decl_constant_value): New declaration with an added
+       bool parameter.
+       (decl_really_constant_value): Add bool parameter defaulting to
+       true to existing declaration.
+       * init.c (constant_value_1): Add bool parameter which controls
+       whether to unshare the initializer before returning.  Call
+       unshare_expr at most once.
+       (scalar_constant_value): Pass true to constant_value_1's new
+       bool parameter.
+       (decl_really_constant_value): Add bool parameter and forward it
+       to constant_value_1.
+       (decl_constant_value): Likewise, but instead define a new
+       overload with an added bool parameter.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/64194
+       * pt.c (resolve_overloaded_unification): If the function
+       template specialization has a placeholder return type,
+       then instantiate it before attempting unification.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95486
+       * pt.c (alias_ctad_tweaks): Call remove_constraints before
+       calling set_constraints.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96106
+       * pt.c (reduce_template_parm_level): Propagate DECL_VIRTUAL_P
+       from the original TEMPLATE_PARM_DECL to the new lowered one.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96164
+       * constraint.cc (constraints_satisfied_p): Return true if
+       !flags_concepts.
+       * pt.c (do_type_instantiation): Update a paragraph taken from
+       [temp.explicit] to reflect the latest specification.  Don't
+       instantiate a member with unsatisfied constraints.
+
+2020-07-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91427
+       * cp-tree.h (IMPLICIT_RVALUE_P): New.
+       (enum cp_lvalue_kind_flags): Add clk_implicit_rval.
+       (implicit_rvalue_p, set_implicit_rvalue_p): New.
+       * call.c (reference_binding): Check clk_implicit_rval.
+       (build_over_call): Adjust C++20 implicit move.
+       * coroutines.cc (finish_co_return_stmt): Simplify implicit move.
+       * except.c (build_throw): Adjust C++20 implicit move.
+       * pt.c (tsubst_copy_and_build) [STATIC_CAST_EXPR]: Propagate
+       IMPLICIT_RVALUE_P.
+       * tree.c (lvalue_kind): Set clk_implicit_rval.
+       * typeck.c (treat_lvalue_as_rvalue_p): Overhaul.
+       (maybe_warn_pessimizing_move): Adjust.
+       (check_return_expr): Adjust C++20 implicit move.
+
+2020-07-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91212
+       * call.c (build_over_call): Don't call a const ref
+       overload for implicit move.
+
+2020-07-28  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-gimplify.c (cp_genericize_r): Set IMPORTED_DECL's context.
+       * cp-objcp-common.c (cp_pushdecl): Set decl's context.
+       * decl.c (grokfndecl): Make DECL_CONTEXT setting clearer.
+
+2020-07-28  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (fixup_type_variants): Copy TYPE_SIZE and
+       TYPE_SIZE_UINIT.
+       (finish_struct): Call it.
+
+2020-07-28  Nathan Sidwell  <nathan@acm.org>
+
+       * ptree.c (cxx_print_decl): Better indentation.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+           Mark Wielaard  <mark@klomp.org>
+
+       PR c++/96328
+       * parser.c (cp_lexer_safe_previous_token): Don't call
+       cp_lexer_previous_token, instead inline it by hand and return NULL
+       instead of failing assertion if all previous tokens until the first
+       one are purged.
+       (cp_parser_error_1): Optimize - only call cp_lexer_safe_previous_token
+       if token->type is CPP_NAME.  Use cp_lexer_safe_previous_token instead
+       of cp_lexer_previous_token for the missing_token_desc != RT_NONE
+       case too.
+
+2020-07-27  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (enum cp_tree_index): Add CPTI_AS_BASE_IDENTIFIER.
+       (as_base_identifier): Define.
+       * decl.c (initialize_predifined_identifiers): Initialize as_base
+       identifier.
+       * class.c (layout_class_type): Name the as-base type.  Zap
+       NSDMI its fields may have.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (maybe_add_class_template_decl_list): Don't add CONST_DECLs.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * typeck.c (structural_comptypes): [DECLTYPE_TYPE] break
+       apart complex if.
+       [UNDERLYING_TYPE]: Use an if.
+       [TYPEOF_TYPE]: New.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (decls_match): Move variables into scopes
+       they're needed in.
+       (duplicate_decls): Use STRIP_TEMPLATE.
+       (build_typename_type): Move var decls to their assignments.
+       (begin_function_body): Likewise.
+       * decl2.c (get_guard): Likewise.
+       (mark_used): Use true for truthiness.
+       * error.c (dump_aggr_type): Hold the decl in a var called
+       'decl', not 'name'.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (struct tree_lambda_expr): Shrink
+       default_capture_mode & discriminator.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * mangle.c (decl_is_template_id): Rename to ...
+       (maybe_template_info): ... here.  Return the template info,
+       rather than use a pointer.  Adjust all callers.
+       (find_substitution): Use template_args_equal, rather than
+       local check.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_hint): Require nonnegative hint.
+       (cp_parser_omp_critical): Permit hint(0) clause without named critical.
+       * pt.c (tsubst_expr): Re-check the latter for templates.
+
+2020-07-21  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95237
+       * decl.c (cp_finish_decl): Call target hook
+       lower_local_decl_alignment to lower local decl alignment.
+
+2020-07-21  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_lexer_consume_token): Drop PRAGMA_EOL assert.
+       (cp_parser_skip_to_closing_parenthesis_1): Only pass start token
+       to pragma skipper if recovering.
+       (cp_parser_skip_to_pragma_eol): Only purge and change pragma
+       state when recovering.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (type_dependent_expression_p): A pseudo-dtor can be
+       dependent.
+       * semantics.c (finish_call_expr): Use build_trivial_dtor_call for
+       pseudo-destructor.
+       (finish_pseudo_destructor_expr): Leave type NULL for dependent arg.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * mangle.c (write_base_ref): New.
+       (write_expression): Use it for base field COMPONENT_REFs.
+       * pt.c (invalid_tparm_referent_p): Canonicalize the type
+       of array offsets.  Allow subobjects.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (collect_ctor_idx_types): Add 'const' when deducing from
+       a string constant.
+
+2020-07-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/79815
+       * decl.c (grokdeclarator): Detect cv-qual decltype(auto).
+       * pt.c (do_auto_deduction): Likewise.
+
+2020-07-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95591
+       PR c++/95599
+       PR c++/95823
+       PR c++/95824
+       PR c++/95895
+       * coroutines.cc (struct coro_ret_data): Delete.
+       (coro_maybe_expand_co_return): Delete.
+       (co_return_expander): Delete.
+       (expand_co_returns): Delete.
+       (co_await_find_in_subtree): Remove unused name.
+       (build_actor_fn): Remove unused parm, remove handling
+       for co_return expansion.
+       (register_await_info): Demote duplicate info message to a
+       warning.
+       (coro_make_frame_entry): Move closer to use site.
+       (struct susp_frame_data): Add fields for final suspend label
+       and a flag to indicate await expressions with initializers.
+       (captures_temporary): Delete.
+       (register_awaits): Remove unused code, update comments.
+       (find_any_await): New.
+       (tmp_target_expr_p): New.
+       (struct interesting): New.
+       (find_interesting_subtree): New.
+       (struct var_nest_node): New.
+       (flatten_await_stmt): New.
+       (handle_nested_conditionals): New.
+       (process_conditional): New.
+       (replace_statement_captures): Rename to...
+       (maybe_promote_temps): ... this.
+       (maybe_promote_captured_temps): Delete.
+       (analyze_expression_awaits): Check for await expressions with
+       initializers.  Simplify handling for truth-and/or-if.
+       (expand_one_truth_if): Simplify (map cases that need expansion
+       to COND_EXPR).
+       (await_statement_walker): Handle CO_RETURN_EXPR. Simplify the
+       handling for truth-and/or-if expressions.
+       (register_local_var_uses): Ensure that we create names in the
+       implementation namespace.
+       (morph_fn_to_coro): Add final suspend label to suspend frame
+       callback data and remove it from the build_actor_fn call.
+
+2020-07-16  Marek Polacek  <polacek@redhat.com>
+
+       * call.c (convert_like): Remove macro and introduce a new
+       wrapper instead.
+       (convert_like_with_context): Likewise.
+       (convert_like_real): Rename to convert_like.
+       (convert_like_real_1): Rename to convert_like_internal.  Call
+       convert_like instead of convert_like_real therein.
+       (perform_direct_initialization_if_possible): Call convert_like
+       instead of convert_like_real.
+
+2020-07-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc: Correct some spelling errors
+       in comments.
+
+2020-07-15  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_declaration): Avoid copying tokens.
+       (cp_parser_block_declaration): RAII token pointer.
+
+2020-07-15  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_skip_to_closing_parenthesis_1): Deal with
+       meeting a deferred pragma.
+       (cp_parser_skip_to_end_of_statement): Likewise.
+       (cp_parser_skip_to_end_of_block_or_statement): Likewise.
+       (cp_parser_skip_to_pragma_eol): We should never meet EOF.
+       (cp_parser_omp_declare_simd): Likewise.
+       (cp_parser_omp_declare_reduction, cp_parser_oacc_routine)
+       (pragma_lex): Likewise.
+
+2020-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95789
+       PR c++/96104
+       PR c++/96179
+       * call.c (convert_like_real_1): Renamed from convert_like_real.
+       (convert_like_real): New wrapper for convert_like_real_1.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_lexer_alloc): Do not deal with PCH here.
+       (cp_lexer_new_main): Deal with PCH here.  Store the tokens directly
+       into the buffer.
+       (cp_lexer_new_from_tokens): Assert last token isn't purged either.
+       (cp_lexer_get_preprocessor_token): Change first arg to flags, adjust.
+       (cp_parser_new): Pass the lexer in, don't create it here.
+       (cp_parser_translation_unit): Initialize access checks here.
+       (cp_parser_initial_pragma): First token is provided by caller,
+       don't deal with PCH stopping here.  Adjust error message.
+       (c_parse_file): Adjust, change error message to avoid C++20 module
+       confusion.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * ptree.c (cxx_print_type): Add TYPEOF_TYPE and BASES.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (build_base_field_1): Cache CLASSTYPE_AS_BASE.
+       (build_self_reference): Rename value -> decl.
+       (dump_class_hierarchy_1): Cache CLASSTYPE_AS_BASE.
+
+2020-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95820
+       * decl.c (grokdeclarator) <case cdk_function>: Check also
+       pointers/references/... to functions.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h: Correct some tree lang flag comments,
+       reformat some structure definitions.  Note some structure
+       sizes.  Clarify some comments.
+       (yyungetc): Delete.  Not been a thing for some time.
+       * class.c (copy_fndecl_with_name): Comment.
+       (check_bases_and_members): Unnecessary {}.
+       (layout_class_type): Comment.
+       * cp-tree.def (UNBOUND_CLASS_TEMPLATE): Adjust comment.
+       * decl.c:  Fix some formatting & whitespace issues.
+       (function_requirements_equivalent_p): Note why
+       substitutions are needed.
+       * decl2.c (no_linkage_error): Note that heroics about
+       'typedef struct { ... };' are no longer needed.
+       * method.c: Whitespace.
+       * name-lookup.c: Whitespace.
+       (add_decl_to_level): Reformat a line.
+       (print_binding_stack): Mark as DEBUG_FUNCTION.
+       (has_using_namespace_std_directive_p): Delete comment.
+       * pt.c: Whitespace
+       * ptree.c: Whitespace.
+       * rtti.c: Whitespace & comment.
+       * tree.c: Comment.
+       * typeck.c (structural_comptypes): Add comment.
+
+2020-07-13  Nathan Sidwell  <nathan@acm.org>
+
+       * Make-lang.in (c++.disclean): Likewise.
+
+2020-07-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96077
+       * parser.c (cp_parser_enum_specifier): Commit to tentative parse
+       after we've seen an opening brace.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (structural_type_p): Allow unions.
+       * mangle.c (write_expression): Express unions with a designator.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (convert_nontype_argument): Handle REAL_TYPE.
+       (invalid_nontype_parm_type_p): Allow all structural types.
+       * tree.c (structural_type_p): Use SCALAR_TYPE_P.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96105
+       PR c++/96052
+       PR c++/95976
+       * class.c (check_field_decls): An array of empty classes is not an
+       empty data member.
+       (layout_empty_base_or_field): Handle explicit alignment.
+       Fix union handling.
+
+2020-07-09  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/95270
+       * semantics.c (finish_omp_clauses): Likewise.
+
+2020-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96132
+       * constexpr.c (potential_constant_expression_1) <case PARM_DECL>:
+       Restore dependent_type_p check that guarded the call to
+       is_really_empty_class.
+
+2020-07-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95497
+       * constexpr.c (potential_constant_expression_1) <case PARM_DECL>:
+       When processing_template_decl, check COMPLETE_TYPE_P before
+       calling is_really_empty_class.  Don't check dependent_type_p.
+
+2020-07-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96103
+       * parser.c (cp_parser_decltype): Print error about using decltype(auto)
+       in C++11.  Check that the token following "auto" is ")".
+
+2020-07-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95303
+       * cxx-pretty-print.c (pp_cxx_unqualified_id): Check
+       PRIMARY_TEMPLATE_P before printing the innermost template
+       arguments.
+
+2020-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96063
+       * parser.c (class_decl_loc_t::diag_mismatched_tags): Print notes only
+       if warning_at returns nonzero.
+
+2020-07-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/95984
+       * call.c (build_over_call): Check calls only when tf_warning is set.
+
+2020-07-06  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (push_library_fn): Return the decl pushdecl_toplevel returns.
+       * except.c (verify_library_fn): Replace with ...
+       (declare_library_fn_1): ... this fn.  Always push the fn.
+       (declare_library_fn): Call it.
+       (build_throw): Call declare_library_fn_1.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/96068
+       * parser.c (cp_parser_toplevel_declaration): Only do pedwarn for
+       empty-declaration in C++98.
+
+2020-07-02  Jason Merrill  <jason@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (grokfndecl): Allow consteval virtual.
+       * search.c (check_final_overrider): Check consteval mismatch.
+       * constexpr.c (cxx_eval_thunk_call): New.
+       (cxx_eval_call_expression): Call it.
+       * cvt.c (cp_get_fndecl_from_callee): Handle FDESC_EXPR.
+       * decl2.c (mark_vtable_entries): Track vtables with consteval.
+       (maybe_emit_vtables): Pass consteval_vtables through.
+       (clear_consteval_vfns): Replace consteval with nullptr.
+       (c_parse_final_cleanups): Call it.
+
+2020-07-01  Nathan Sidwell  <nathan@acm.org>
+
+       * class.c (copy_fndecl_with_name): Add additional predicate args, do
+       not deduce them locally.
+       (copy_operator_fn): Adjust copy_fndecl_with_name call.
+       (build_clone): Add vtt and inherited predicate args.  Pass through
+       to copy_fndecl_with_name call.
+       (build_cdtor_clones): Likewise, pass through to build_clone as
+       needed.
+       (build_cdtor): Determine vtt and inherited here.
+       * cp-tree.h (DECL_NEEDS_CTT_PARM_P): Delete.
+
+2020-06-30  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (copy_fndecl_with_name): Rename to ...
+       (copy_operatorn_fn): ... this.  Change arg type.
+       (clone_function_decl): Rename to ...
+       (clone_cdtor): ... this.
+       * class.c (copy_fndecl_with_name): Make static.
+       (copy_operator_fn): New wrapper.
+       (build_clones): Rename to ...
+       (build_cdtor_clones): ... this.
+       (clone_function_decl): Rename to ...
+       (clone_cdtor): ... this.  Adjust build_clones calls.
+       (clone_constructors_and_destructors): Adjust clone_function_decl
+       calls.
+       * method.c (implicitly_declare_fn): Adjust copy_fndecl_with_name
+       call.
+       (lazily_declare_fn): Adjust clone_function_decl call.
+       * pt.c (tsubst_function_decl): Likewise.
+       (instantiate_template_1): Likewise.
+
+2020-06-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Remove trailing
+       space in a diagnostic.
+
+2020-06-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (expand_one_await_expression): Remove
+       code dealing with initial suspend.
+       (build_actor_fn): Remove code special-casing initial
+       and final suspend. Handle the final suspend and marking
+       of the coroutine as done.
+       (coro_rewrite_function_body): New.
+       (bind_expr_find_in_subtree): Remove.
+       (coro_body_contains_bind_expr_p): Remove.
+       (morph_fn_to_coro): Split the rewrite of the original
+       function into coro_rewrite_function_body and call it.
+
+2020-06-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94553
+       * decl.c (duplicate_decls): Make sure a concept or a variable
+       template is unique in its declarative region.
+
+2020-06-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95568
+       * pt.c (collect_ctor_idx_types): Use TREE_TYPE.
+
+2020-06-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95711
+       * coroutines.cc (register_local_var_uses): Skip past
+       namespace decls.
+
+2020-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95736
+       * coroutines.cc (get_awaitable_var): New helper.
+       (build_co_await): Check more carefully before
+       copying an awaitable.
+       (expand_one_await_expression): No initializer
+       is required when the awaitable is not a temp.
+       (register_awaits): Remove handling that is now
+       completed when the await expression is built.
+
+2020-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Diagnose unavailable
+       get_return_object_on_allocation_failure.
+
+2020-06-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95519
+       * coroutines.cc (struct coroutine_info):Add a field
+       to hold computed p.return_void expressions.
+       (coro_build_promise_expression): New.
+       (get_coroutine_return_void_expr): New.
+       (finish_co_yield_expr): Build the promise expression
+       using coro_build_promise_expression.
+       (finish_co_return_stmt): Likewise.
+       (build_init_or_final_await): Likewise.
+       (morph_fn_to_coro): Likewise, for several cases.
+
+2020-06-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Handle error
+       returns in building g-r-o-o-a-f expressions.
+
+2020-06-24  Nicholas Krause  <xerofoify@gmail.com>
+
+       PR c++/95672
+       * typeck2.c (cxx_incomplete_type_diagnostic): Add missing
+       TYPE_EXPANSION_PACK check for diagnosing incomplete types in
+       cxx_incomplete_type_diagnostic.
+
+2020-06-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95518
+       PR c++/95813
+       * coroutines.cc (act_des_fn): Copy function
+       attributes onto the outlined coroutine helpers.
+
+2020-06-24  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_over_call): Only call build_base_path once.
+
+2020-06-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95719
+       * call.c (build_over_call): Look up the overrider in base_binfo.
+       * class.c (lookup_vfn_in_binfo): Look through BINFO_PRIMARY_P.
+
+2020-06-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93976
+       Implement C++20 P2082R1, Fixing CTAD for aggregates.
+       * cp-tree.h (TPARMS_PRIMARY_TEMPLATE): Split out from...
+       (DECL_PRIMARY_TEMPLATE): ...here.
+       (builtin_guide_p): Declare.
+       * decl.c (reshape_init_class): Handle bases of a template.
+       (reshape_init_r): An array with dependent bound takes a single
+       initializer.
+       * pt.c (tsubst_default_argument): Shortcut {}.
+       (unify_pack_expansion): Allow omitted arguments to trailing pack.
+       (builtin_guide_p): New.
+       (collect_ctor_idx_types): Give a trailing pack a {} default
+       argument.  Handle arrays better.
+
+2020-06-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95477
+       * coroutines.cc (morph_fn_to_coro): Apply a cleanup to
+       the get return object when the DTOR is non-trivial.
+
+2020-06-20  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95505
+       * coroutines.cc (morph_fn_to_coro): Update handling of
+       get-return-object-on-allocation-fail and diagnose missing
+       std::nothrow.
+
+2020-06-20  Jason Merrill  <jason@redhat.com>
+
+       * call.c (joust): Only compare constraints for non-template
+       candidates with matching parameters.
+       * pt.c (tsubst_pack_expansion): Fix getting a type parameter
+       pack.
+       (more_specialized_fn): Only compare constraints for candidates with
+       matching parameters.
+
+2020-06-19  Jason Merrill  <jason@redhat.com>
+
+       * method.c (early_check_defaulted_comparison): Allow defaulting
+       comparison outside class.  Complain if non-member operator isn't a
+       friend.
+
+2020-06-18  Jason Merrill  <jason@redhat.com>
+
+       * method.c (early_check_defaulted_comparison): Check for &&.
+       (build_comparison_op): Allow empty union.  Diagnose non-category
+       type.
+       (common_comparison_type): Remove handling for non-category type.
+
+2020-06-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95735
+       * pt.c (finish_template_variable): Return if
+       coerce_innermost_template_parms return error_mark_node.
+
+2020-06-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95728
+       * pt.c (tsubst_copy_and_build) <case NEW_EXPR>: Return error_mark_node
+       if placement is erroneous.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/66159
+       * parser.c (cp_parser_elaborated_type_specifier): Do not warn
+       unless in a declaration.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (copy_fndecl_with_name): Declare.
+       * class.c (copy_fndecl_with_name): Split out from...
+       (build_clone): ...here.
+       (add_implicitly_declared_members): Add op== to TYPE_FIELDS.
+       * method.c (implicitly_declare_fn): Use copy_fndecl_with_name.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_new_op_1): Don't look for a CALL_EXPR when
+       calling a consteval function.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * decl2.c (grokfield): Pass SD_DEFAULTED and SD_DELETED.
+       * decl.c (duplicate_decls): Reduce error for delete
+       after earlier declaration to pedwarn.
+
+2020-06-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95508
+       * constexpr.c (maybe_fold_non_dependent_expr): New.
+       * cp-tree.h (maybe_fold_non_dependent_expr): Declare.
+       * typeck.c (cp_build_array_ref): Call maybe_fold_non_dependent_expr
+       instead of maybe_constant_value.
+
+2020-06-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95369
+       * call.c (add_list_candidates): Return if a designated initializer
+       is used with a non-aggregate.
+       (implicit_conversion_error): Give an error for the case above.
+
+2020-06-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95560
+       * name-lookup.c (check_local_shadow): Check if types are
+       non-null before calling same_type_p.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * semantics.c (handle_omp_for_class_iterator): Adjust
+       c_omp_check_loop_iv_exprs caller.
+       (finish_omp_for): Likewise.  Don't call fold_build_cleanup_point_expr
+       before calling c_finish_omp_for and c_omp_check_loop_iv, move it
+       after those calls.
+       * pt.c (tsubst_omp_for_iterator): Handle non-rectangular loops.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_schedule): Reject modifier separated
+       from kind by comma rather than colon.
+
+2020-06-16  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (perform_instantiation_time_access_checks): No need to
+       tsubst into decl.
+       * semantics.c (enforce_access): Verify that decl is not
+       dependent.
+
+2020-06-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/41437
+       PR c++/47346
+       * cp-tree.h (qualified_typedef_usage_s): Delete.
+       (qualified_typedef_usage_t): Delete.
+       (deferred_access_check): Move up in file.
+       (tree_template_info::typedefs_needing_access_checking): Delete.
+       (tree_template_info::deferred_access_checks): New field.
+       (TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): Rename to ...
+       (TI_DEFERRED_ACCESS_CHECKS): ... this, and adjust accordingly.
+       * pt.c (perform_typedefs_access_check): Rename to ...
+       (perform_instantiation_time_access_checks): ... this, and adjust
+       accordingly.  Remove unnecessary tree tests.
+       (instantiate_class_template_1): Adjust accordingly.
+       (instantiate_decl): Likewise.
+       * semantics.c (enforce_access): Likewise.
+
+2020-06-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/41437
+       PR c++/47346
+       * call.c (enforce_access): Move to semantics.c.
+       * cp-tree.h (enforce_access): Delete.
+       (get_types_needing_access_check): Delete.
+       (add_typedef_to_current_template_for_access_check): Delete.
+       * decl.c (make_typename_type): Adjust accordingly.  Use
+       check_accessibility_of_qualified_id instead of directly using
+       perform_or_defer_access_check.
+       * parser.c (cp_parser_template_declaration_after_parameters):
+       Don't push a dk_no_check access state when parsing a template.
+       * pt.c (get_types_needing_access_check): Delete.
+       (append_type_to_template_for_access_check_1): Delete.
+       (perform_typedefs_access_check): Adjust.  If type_decl is a
+       FIELD_DECL, also check its DECL_CONTEXT for dependence. Use
+       tsubst_copy instead of tsubst to substitute into type_decl so
+       that we substitute into the DECL_CONTEXT of a FIELD_DECL.
+       (append_type_to_template_for_access_check): Delete.
+       * search.c (accessible_p): Remove the processing_template_decl
+       early exit.
+       * semantics.c (enforce_access): Moved from call.c.  If we're
+       parsing a template and the access check failed, add the check to
+       TI_TYPEDEFS_NEEDING_ACCESS_CHECKING.
+       (perform_or_defer_access_check): Adjust comment.
+       (add_typedef_to_current_template_for_access_check): Delete.
+       (check_accessibility_of_qualified_id):  Adjust accordingly.
+       Exit early if the scope is dependent.
+
+2020-06-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93467
+       * constraint.cc (associate_classtype_constraints): If there is a
+       discrepancy between the current template depth and the template
+       depth of the original declaration, then adjust the template
+       parameter depth within the current constraints appropriately.
+       * pt.c (tsubst_friend_class): Substitute into and set the
+       constraints on the injected declaration.
+
+2020-06-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (instantiate_coro_traits): Pass a reference
+       to lambda closure objects to traits instantiation.
+       (morph_fn_to_coro): Likewise for promise parameter
+       preview and allocator lookup.
+
+2020-06-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95440
+       * call.c (add_candidates): Use vec_safe_length() for
+       testing the arguments list.
+       (build_new_method_call_1): Use vec_safe_is_empty() when
+       checking for an empty args list.
+
+2020-06-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95562
+       * parser.c (cp_parser_direct_declarator): Clear
+       CP_PARSER_FLAGS_DELAY_NOEXCEPT if the declarator kind is not
+       cdk_id.
+
+2020-06-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95137
+       * coroutines.cc (expand_one_await_expression): Build separate
+       DTOR trees for the awaitable object on the destroy and resume
+       paths.
+
+2020-06-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95552
+       * cp-gimplify.c (predeclare_vla): Only predeclare a VLA if it's
+       wrapped in a pointer type.
+
+2020-06-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95369
+       * call.c (build_converted_constant_expr_internal): Allow
+       list-initialization.
+
+2020-06-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * cp-tree.def (CO_RETURN_EXPR): Correct the class
+       to use tcc_statement.
+
+2020-06-05  Jason Merrill  <jason@redhat.com>
+
+       * error.c (dump_binary_op): Handle negative operand to
+       POINTER_PLUS_EXPR.
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93310
+       * constexpr.c (cxx_eval_constant_expression) [OBJ_TYPE_REF]:
+       Evaluate OBJ_TYPE_REF_EXPR.
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95158
+       * class.c (lookup_vfn_in_binfo): New.
+       * call.c (build_over_call): Use it.
+       * cp-tree.h (resolves_to_fixed_type_p): Add default argument.
+       (lookup_vfn_in_binfo): Declare.
+
+2020-06-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95346
+       * coroutines.cc (morph_fn_to_coro): Ensure that the get-
+       return-object is constructed correctly; When it is not the
+       final return value, pass it to the CTOR of the return type
+       as an rvalue, per the standard comment.
+
+2020-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82304
+       PR c++/95307
+       * constexpr.c (cxx_eval_constant_expression): Diagnose CONVERT_EXPR
+       conversions from pointer types to arithmetic types here...
+       (cxx_eval_outermost_constant_expr): ... instead of here.
+
+2020-06-03  Mark Wielaard  <mark@klomp.org>
+
+       * parser.c (cp_lexer_safe_previous_token): New function.
+       (cp_parser_error_1): Add name_hint if the previous token is
+       a string literal and next token is a CPP_NAME and we have a
+       missing header suggestion for the name.
+
+2020-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (process_partial_specialization): Pass the full set of
+       generic template arguments to strictly_subsumes.
+
+2020-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92103
+       * pt.c (most_specialized_partial_spec): Reorganize the loop over
+       DECL_TEMPLATE_SPECIALIZATIONS.  Check constraints_satisfied_p on
+       the original template declaration, not on the tsubsted one.
+
+2020-06-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95345
+       * coroutines.cc (finish_co_await_expr): Revise to allow for
+       parameter packs.
+       (finish_co_yield_expr): Likewise.
+
+2020-06-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95232
+       * cp-tree.h (predeclare_vla): Declare.
+       * cp-gimplify.c (predeclare_vla): Handle getting a decl.
+       * pt.c (tsubst_expr) [DECL_EXPR]: Use it.
+
+2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * cp-gimplify.c (cxx_omp_predetermined_mapping): New.
+       * cp-objcp-common.h (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redfine.
+       * cp-tree.h (cxx_omp_predetermined_mapping): Declare.
+
+2020-06-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95193
+       * pt.c (tsubst_decl): Relax assert.
+
+2020-06-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95050
+       * coroutines.cc (build_co_await): Wrap the co_await expression
+       in a TARGET_EXPR, where needed.
+       (finish_co_yield_expr): Likewise.
+
+2020-06-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92633
+       PR c++/92838
+       * pt.c (tsubst_function_decl): Don't do set_constraints when
+       regenerating a lambda.
+       (tsubst_lambda_expr): Substitute into the lambda's constraints
+       and do set_constraints here.
+
+2020-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95466
+       PR c++/95311
+       PR c++/95221
+       * class.c (build_vfn_ref): Revert 95311 change.
+       * cp-ubsan.c (cp_ubsan_maybe_instrument_member_call): Build a
+       COMPOUND_EXPR.
+
+2020-06-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95350
+       * coroutines.cc (struct param_info): Remove rv_ref field.
+       (build_actor_fn): Remove specifial rvalue ref handling.
+       (morph_fn_to_coro): Likewise.
+
+2020-05-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95087
+       * coroutines.cc (morph_fn_to_coro): If we see an
+       early fatal error, drop the erroneous function body.
+
+2020-05-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (build_co_await): Remove unused
+       variable.
+       (finish_co_await_expr): Likewise.
+       (finish_co_yield_expr): Likewise; revise comment.
+
+2020-05-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Revise initialization
+       of the frame pointer to avoid an unused value.
+
+2020-05-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95386
+       * constraint.cc (satisfaction_value): Accept INTEGER_CST of any
+       boolean type.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/95181
+       * class.c (add_method): Let special member function templates
+       coexist if they are not equivalently constrained, or in a class
+       template.
+
+2020-05-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95371
+       * pt.c (process_template_parm): Set DECL_TEMPLATE_INFO
+       on the DECL_TEMPLATE_RESULT.
+
+2020-05-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95344
+       * cp-gimplify.c (cp_fold) <case MODIFY_EXPR>: Don't set
+       TREE_THIS_VOLATILE here.
+       (cp_fold): Set it here along with TREE_NO_WARNING.
+
+2020-05-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95311
+       PR c++/95221
+       * class.c (build_vfn_ref): Don't fold the INDIRECT_REF.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92652
+       PR c++/93698
+       PR c++/94128
+       * parser.c (cp_parser_requires_clause_expression): Temporarily
+       increment processing_template_decl only if it is 0.
+       (cp_parser_constraint_expression): Likewise.
+       (cp_parser_requires_expression): Likewise.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95241
+       * constexpr.c (get_or_insert_ctor_field): Add limited support
+       for RANGE_EXPR index lookups.
+
+2020-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95328
+       * decl.c (cp_finish_decomp): Call complete_type before checking
+       COMPLETE_TYPE_P.
+
+2020-05-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94926
+       * decl.c (cp_finish_decl): Revert r9-297 change.
+       (check_static_variable_definition): Likewise.
+       * constexpr.c (ensure_literal_type_for_constexpr_object): Likewise.
+       * pt.c (instantiate_decl): Return early on type error.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95319
+       * decl.c (reshape_init_array_1): Don't reuse in overload context.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95242
+       * call.c (build_new_op_1): Suppress
+       warn_zero_as_null_pointer_constant across comparison of <=> result
+       to 0.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95222
+       * decl.c (grokdeclarator): Don't shift attributes in TYPENAME
+       context.
+
+2020-05-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/95263
+       * pt.c (lookup_template_class_1): Restore alias template mutation.
+
+2020-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95197
+       * cp-gimplify.c: Include omp-general.h.
+       (cp_genericize_r) <case OMP_DISTRIBUTE>: For class iteration
+       variables in composite distribute parallel for, instantiate copy
+       ctor of their types.
+
+2020-05-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * constexpr.c (cxx_eval_constant_expression)
+       <case TEMPLATE_ID_EXPR>: Don't evaluate the concept when
+       constexpr evaluation is uid-sensitive.
+
+2020-05-22  Jason Merrill  <jason@redhat.com>
+
+       * cp-gimplify.c (cp_gimplify_expr) [CALL_EXPR]: Don't preevaluate
+       the function address if the call used operator syntax.
+
+2020-05-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95221
+       * cp-ubsan.c (cp_ubsan_maybe_instrument_member_call): For a virtual
+       call, instrument the OBJ_TYPE_REF.
+
+       * decl.c (compute_array_index_type_loc): Diagnose expressions
+       in a template that can't be constant.
+       * parser.c (cp_parser_direct_declarator): Don't check
+       non-constant array bounds here.
+
+       * cp-tree.h (is_rvalue_constant_expression): Declare.
+       * constexpr.c (is_rvalue_constant_expression): New.
+       * parser.c (cp_parser_constant_expression): Use it.
+       * decl.c (cp_finish_decl): Try to treat a constexpr initializer in a
+       template as constant.
+
+       * typeck.c (build_x_modify_expr): Handle error_mark_node arguments.
+
+       * decl.c (grokparms): Return NULL_TREE if any parms were erroneous.
+
+2020-05-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (finish_co_return_stmt): Revert change to use
+       finish_expr_stmt.
+
+2020-05-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * constexpr.c (constexpr_ctx::uid_sensitive): Remove field.
+       (uid_sensitive_constexpr_evaluation_value): Define.
+       (uid_sensitive_constexpr_evaluation_true_counter): Define.
+       (uid_sensitive_constexpr_evaluation_p): Define.
+       (uid_sensitive_constexpr_evaluation_sentinel): Define its
+       constructor.
+       (uid_sensitive_constexpr_evaluation_checker): Define its
+       constructor and its evaluation_restricted_p method.
+       (get_fundef_copy): Remove 'ctx' parameter.  Use u_s_c_e_p
+       instead of constexpr_ctx::uid_sensitive.
+       (cxx_eval_call_expression): Use u_s_c_e_p instead, and test it
+       last.  Adjust call to get_fundef_copy.
+       (instantiate_cx_fn_r): Test u_s_c_e_p so that we increment the
+       counter if necessary.
+       (cxx_eval_outermost_constant_expr): Remove 'uid_sensitive'
+       parameter.  Adjust function body accordingly.
+       (maybe_constant_value): Remove 'uid_sensitive' parameter and
+       adjust function body accordingly.  Set up a
+       uid_sensitive_constexpr_evaluation_checker, and use it to
+       conditionally update the cv_cache.
+       * cp-gimplify.c (cp_fold): Set up a
+       uid_sensitive_constexpr_evaluation_checker, and use it to
+       conditionally update the fold_cache.
+       * cp-tree.h (maybe_constant_value): Update declaration.
+       (struct uid_sensitive_constexpr_evaluation_sentinel): Define.
+       (struct sensitive_constexpr_evaluation_checker): Define.
+       * expr.c (fold_for_warn): Set up a
+       uid_sensitive_constexpr_evaluation_sentinel before calling
+       the folding subroutines.  Drop all but the first argument to
+       maybe_constant_value.
+
+2020-05-20  Marek Polacek  <polacek@redhat.com>
+
+       DR 2237
+       * parser.c (cp_parser_unqualified_id): Reject simple-template-id as
+       the declarator-id of a destructor.
+       (cp_parser_constructor_declarator_p): Reject simple-template-id as
+       the declarator-id of a constructor.
+
+2020-05-20  Marek Polacek  <polacek@redhat.com>
+
+       DR 2289
+       PR c++/94553
+       * cp-tree.h (SD_DECOMPOSITION): New flag.
+       * decl.c (duplicate_decls): Make sure a structured binding is unique
+       in its declarative region.
+       (start_decl): If INITIALIZED is SD_DECOMPOSITION, call
+       fit_decomposition_lang_decl.
+       (grokdeclarator): Compare INITIALIZED directly to SD_* flags.
+       * parser.c (cp_parser_decomposition_declaration): Pass SD_DECOMPOSITION
+       to start_decl.
+
+2020-05-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95223
+       * typeck.c (structural_comptypes): Don't perform
+       context-dependent resolution of TYPENAME_TYPEs when
+       comparing_specializations.
+
+2020-05-19  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (lookup_template_class_1): Do not reinit template_info of an
+       alias here.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94923
+       * call.c ((maybe_warn_class_memaccess): Use is_byte_access_type.
+       * cp-tree.h (is_dummy_object): Return bool.
+       (is_byte_access_type): Declare new function.
+       * tree.c (is_dummy_object): Return bool.
+       (is_byte_access_type): Define new function.
+
+2020-05-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/87847
+       * pt.c (init_template_processing): Enable sanitization for
+       decl_specializations and type_specializations.
+
+       PR c++/66439
+       * pt.c (fn_type_unification): Pass 'fn' instead of NULL_TREE as
+       the 'in_decl' parameter to coerce_template_parms.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94955
+       * typeck.c (cp_build_binary_op): Use fold_for_warn instead of
+       cp_fold_rvalue.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94937
+       * cvt.c (cp_get_fndecl_from_callee): Return NULL_TREE if the function
+       type is not INDIRECT_TYPE_P.
+       * decl.c (omp_declare_variant_finalize_one): Call
+       cp_get_callee_fndecl_nofold instead of looking for the function decl
+       manually.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90915
+       * parser.c (cp_parser_has_attribute_expression): Sorry on a
+       type-dependent argument.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       DR 1512
+       PR c++/87699
+       * call.c (add_builtin_candidate) <case EQ_EXPR>: Create candidate
+       operator functions when type is std::nullptr_t for ==/!=.
+       * typeck.c (composite_pointer_type_r): Add a bool * parameter.  Use it
+       to maybe add "const" to the pointer type.
+       (composite_pointer_type): Update the call to composite_pointer_type_r.
+       (cp_build_binary_op): Turn two warning_at into error_at.  Print the
+       types.
+
+2020-05-18  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_over_call): Remove unnecessary
+       cp_stabilize_reference.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       * call.c (add_builtin_candidate): Don't create a builtin overload
+       candidate for ++ when type is bool in C++17.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       * cfns.h: Regenerated.
+
+2020-05-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Initialize the gro variable.
+
+2020-05-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (finish_co_return_stmt): Implement rules
+       from [class.copy.elision] /3.
+
+2020-05-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/57943
+       * semantics.c (finish_decltype_type): Call
+       instantiate_non_dependent_expr_sfinae on the expression.
+
+2020-05-15  Patrick Palka  <ppalka@redhat.com>
+
+       Revert:
+
+       2020-04-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90996
+       * typeck2.c (process_init_constructor_array): Propagate
+       CONSTRUCTOR_PLACEHOLDER_BOUNDARY up from each element initializer to
+       the array initializer.
+
+2020-05-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93286 - ICE with __is_constructible and variadic template.
+       * pt.c (tsubst_tree_list): New.
+       (tsubst, tsubst_copy_and_build): Use it.
+       * decl2.c (is_late_template_attribute): Handle error_mark_node args.
+
+2020-05-15  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (template_args_equal): Fix thinkos in previous 'cleanup'.
+
+2020-05-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93901
+       * pt.c (maybe_instantiate_noexcept): Change clone handling.
+
+2020-05-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/78446
+       * call.c (build_op_call): Pass complain to lookup_fnfields.
+       (build_special_member_call): Likewise.
+       * class.c (type_requires_array_cookie): Pass tf_warning_or_error
+       to lookup_fnfields.
+       * cp-tree.h (lookup_fnfields): Add tsubst_flags_t parameter.
+       * except.c (build_throw): Pass tf_warning_or_error to
+       lookup_fnfields.
+       * init.c (build_new_1): Pass complain to lookup_fnfields.
+       * method.c (locate_fn_flags): Likewise.
+       * name-lookup.c (lookup_name_real_1): Pass tf_warning_or_error
+       to lookup_fnfields.
+       * pt.c (tsubst_baselink): Pass complain to lookup_fnfields.
+       * search.c (lookup_fnfields): New 'complain' parameter.  Pass it
+       to lookup_member.
+
+2020-05-14  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_diagnose_invalid_typename): Mention
+       std=c++20 not 2a, reformat dependent binfo inform loops.
+
+       * pt.c (tsubst_template_decl): Reorder and commonize some control
+       paths.
+
+       * pt.c (tsubst_friend_function): Simplify control flow.
+
+       * pt.c (lookup_template_class_1): Remove unnecessary else by
+       simply grabbing TYPE_NAME earlier.
+
+       * pt.c (push_template_decl_real): Adjust friend pushing logic.
+       Reinit template type.
+
+       * pt.c (build_template_decl): Init DECL_TEMPLATE_RESULT &
+       TREE_TYPE here ...
+       (process_partial_specialization): ... not here ...
+       (push_template_decl_real, add_inherited_template_parms)
+       (build_deduction_guide): ... or here.
+
+2020-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-gimplify.c (cp_genericize_r): Set cfun->has_omp_target.
+
+2020-05-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79706
+       * init.c (build_vec_delete_1): Just return error_mark_node if
+       deallocate_expr is error_mark_node.
+       (build_delete): Just return error_mark_node if do_delete is
+       error_mark_node.
+
+2020-05-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95020
+       * constraint.cc (tsubst_requires_expr): Produce a new
+       requires-expression when processing_template_decl, even if
+       template arguments are not dependent.
+
+2020-05-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95066
+       * decl.c (duplicate_decls): Set DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P.
+
+2020-05-13  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (template_args_equal): Reorder category checking for
+       clarity.
+
+       * pt.c (perform_typedefs_access_check): Cache expensively
+       calculated object references.
+       (check_auto_in_tmpl_args): Just assert we do not get unexpected
+       nodes, rather than silently do nothing.
+       (append_type_to_template_for_access): Likewise, cache expensie
+       object reference.
+
+       * pt.c (canonical_type_parameter): Simplify.
+
+       Formatting fixups & some simplifications.
+       * pt.c (spec_hash_table): New typedef.
+       (decl_specializations, type_specializations): Use it.
+       (retrieve_specialization): Likewise.
+       (register_specialization): Remove unnecessary casts.
+       (push_template_decl_real): Reformat.
+       (instantiate_class_template_1): Use more RAII.
+       (make_argument_pack): Simplify.
+       (instantiate_template_1): Use gcc_checking_assert for expensive
+       asserts.
+       (instantiate_decl): Likewise.
+       (resolve_typename_type): Reformat comment.
+       * semantics.c (struct deferred_access): Remove unnecessary GTY on
+       member.
+       (begin_class_definition): Fix formatting.
+
+2020-05-13  Jason Merrill  <jason@redhat.com>
+
+       * call.c, class.c, constexpr.c, constraint.cc, decl.c, init.c,
+       lambda.c, lex.c, method.c, name-lookup.c, parser.c, pt.c, tree.c,
+       typeck2.c: Change cxx2a to cxx20.
+
+2020-05-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95074
+       * parser.c (cp_parser_postfix_expression) <case CPP_OPEN_PAREN>: When
+       looking for a block-scope function declaration, look through the whole
+       set, not just the first function in the overload set.
+
+2020-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95063
+       * pt.c (tsubst_decl): Deal with DECL_OMP_PRIVATIZED_MEMBER for
+       a bit-field.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       Resolve C++20 NB comment CA104
+       * pt.c (determine_specialization): Compare constraints for
+       specialization of member template of class instantiation.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92583
+       PR c++/92654
+       * tree.c (cp_walk_subtrees): Stop at typedefs.
+       Handle TYPENAME_TYPE here.
+       * pt.c (find_parameter_packs_r): Not here.
+       (for_each_template_parm_r): Clear *walk_subtrees.
+       * decl2.c (min_vis_r): Look through typedefs.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * call.c (implicit_conversion_error): Split out from...
+       (perform_implicit_conversion_flags): ...here.
+       (build_converted_constant_expr_internal): Use it.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90748
+       * parser.c (inject_parm_decls): Set current_class_ptr here.
+       (cp_parser_direct_declarator): And here.
+       (cp_parser_late_return_type_opt): Not here.
+       (cp_parser_noexcept_specification_opt): Nor here.
+       (cp_parser_exception_specification_opt)
+       (cp_parser_late_noexcept_specifier): Remove unneeded parameters.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (cxx_init_decl_processing): Call declare_weak for
+       __cxa_pure_virtual.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (instantiate_class_template_1): Call tsubst_expr for
+       STATIC_ASSERT member.
+       * ptree.c (cxx_print_xnode): Handle STATIC_ASSERT.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant
+       walking of capture list.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Remove.
+       * call.c (build_new_function_call): Don't set it.
+       (build_new_method_call_1): Likewise.
+       (build_over_call): Check cand->explicit_targs instead.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (compute_array_index_type_loc): Stabilize before building
+       the MINUS_EXPR.
+
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (grokdeclarator): Adjust deprecated_state here.
+       (start_decl): Not here.
+
+2020-05-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95003
+       * coroutines.cc (build_actor_fn): Ensure that bind scopes
+       are marked as having side-effects where necessary.
+       (replace_statement_captures): Likewise.
+       (morph_fn_to_coro): Likewise.
+
+2020-05-08  Nathan Sidwell  <nathan@acm.org>
+
+       * NEWS: Delete, it is so stale.
+
+       * parser.c (cp_lexer_set_source_position_from_token): EOF has a
+       location too.
+
+2020-05-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94817
+       PR c++/94829
+       * coroutines.cc (morph_fn_to_coro): Set unformed outline
+       functions to error_mark_node.  For early error returns suppress
+       warnings about missing ramp return values.  Fix reinstatement
+       of the function body on pre-existing initial error.
+       * decl.c (finish_function): Use the normal error path for fails
+       in the ramp function, do not try to compile the helpers if the
+       transform fails.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94590 - Detect long double -> double narrowing.
+       * typeck2.c (check_narrowing): Detect long double -> double
+       narrowing even when double and long double have the same
+       precision.  Make it handle conversions to float too.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94255
+       * parser.c (cp_parser_class_specifier_1): Check that the scope is
+       nested inside current scope before pushing it.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+         P1957R2
+         * typeck2.c (check_narrowing): Consider T* to bool narrowing
+         in C++11 and up.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       * decl.c (grok_op_properties): Fix spelling of non-static.
+       * typeck.c (build_class_member_access_expr): Likewise.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94703
+       * optimize.c (update_cloned_parm): Copy DECL_NOT_GIMPLE_REG_P.
+
+2020-05-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94938
+       * pt.c (tsubst_copy_and_build): Call type_dependent_expression_p_push
+       instead of uses_template_parms.  Move the warning_sentinels after the
+       RECURs.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94951
+       * typeck.c (cp_strict_aliasing_warning): New function.
+       (cp_build_indirect_ref_1, build_reinterpret_cast_1): Use
+       it instead of strict_aliasing_warning.
+
+       PR c++/94907
+       * method.c (defaulted_late_check): Don't call synthesize_method
+       on constexpr sfk_comparison if it has been called on it already.
+
+2020-05-06  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94946
+       * decl.c (grokdeclarator): Don't splice template attributes in
+       parm context -- they can apply to the parm.
+
+2020-05-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc: Remove references to n4849 throughout.
+
+2020-05-05  Jason Merrill  <jason@redhat.com>
+
+       CWG 2235
+       * pt.c (more_specialized_fn): Do consider parms with no deducible
+       template parameters.
+
+2020-05-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90212
+       * constexpr.c (potential_constant_expression_1): In a lambda
+       function, consider a captured variable directly.
+
+2020-05-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (transform_await_wrapper): Check that we have
+       no unlowered co_yields.
+       (captures_temporary): Likewise.
+       (register_awaits): Likewise.
+
+2020-05-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94807
+       * coroutines.cc (morph_fn_to_coro): Just check for
+       closure_identifier.
+       * pt.c (tsubst_function_decl): Update lambda fn's this_ptr name.
+
+2020-05-05  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/94799
+       * parser.c (cp_parser_postfix_dot_deref_expression): If we have
+       a type-dependent object of class type, stash it to
+       parser->context->object_type.  If the postfix expression doesn't have
+       a type, use typeof.
+       (cp_parser_class_name): Consider object scope too.
+       (cp_parser_lookup_name): Remove code dealing with the case when
+       object_type is unknown_type_node.
+
+2020-05-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * cp-gimplify.c (cp_fold) <case CALL_EXPR>: Move some variable
+       declarations closer to their uses.  Copy the CALL_EXPR only
+       when one of its arguments has changed.
+       <case TREE_VEC>: Instead of first collecting the folded
+       arguments into a releasing_vec, just make a copy of the TREE_VEC
+       as soon as folding changes one of its arguments.
+
+2020-05-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable
+       as artificial and ignored.
+
+2020-05-04  Nathan Sidwell  <nathan@acm.org>
+
+       pt.c (process_template_parm): Don't walk the template list twice,
+       remember the final node instead.
+       (end_template_parm_list): Refactor.  Comment on why we do a pop
+       and a push.
+
+       PR c++/94827 -- don't save parms in nested requirement
+       * constraint.cc (tsubst_nested_requirement): TYPE directly holds
+       notmalized requirement.
+       (finish_nested_requirement): Don't stash current tpl parms into
+       the requirement.
+       (diagnose_nested_requirement): TYPE directly holds notmalized
+       requirement.
+
+2020-05-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90880
+       * cp-tree.h (check_accessibility_of_qualified_id): Add
+       tsubst_flags_t parameter and change return type to bool.
+       * parser.c (cp_parser_lookup_name): Pass tf_warning_to_error to
+       check_accessibility_of_qualified_id.
+       * pt.c (tsubst_qualified_id): Return error_mark_node if
+       check_accessibility_of_qualified_id returns false.
+       * semantics.c (check_accessibility_of_qualified_id): Add
+       complain parameter.  Pass complain instead of
+       tf_warning_or_error to perform_or_defer_access_check.  Return
+       true unless perform_or_defer_access_check returns false.
+
+2020-05-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94885
+       * typeck2.c (process_init_constructor_record): Return PICFLAG_ERRONEOUS
+       if an initializer element was erroneous.
+
+2020-05-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90479
+       * init.c (get_nsdmi): Don't push_to_top_level for a local class.
+
+2020-05-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91529
+       * decl.c (cp_finish_decl): Also clear TREE_READONLY if
+       -fmerge-all-constants.
+
+2020-05-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93822
+       * pt.c (tsubst_decl): Make sure DECL_VALUE_EXPR continues to have
+       the same type as the variable.
+
+2020-04-30  Jason Merrill  <jason@redhat.com>
+           Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94827
+       * constraint.cc (map_arguments): If ARGS is null, it's a
+       self-mapping of parms.
+       (finish_nested_requirement): Do not pass argified
+       current_template_parms to normalization.
+       (tsubst_nested_requirement): Don't assert no template parms.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94886
+       * coroutines.cc (transform_local_var_uses): Defer walking
+       the DECL_INITIALs of BIND_EXPR vars until all the frame
+       allocations have been made.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94883
+       * coroutines.cc (register_awaits): Update target
+       expressions for awaitable and suspend handle
+       initializers.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94879
+       * coroutines.cc (build_co_await): Account for variables
+       with DECL_VALUE_EXPRs.
+       (captures_temporary): Likewise.
+       (register_awaits): Likewise.
+
+2020-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94830
+       * pt.c (find_template_parameter_info::parm_list): New field.
+       (keep_template_parm): Use the new field to build up the
+       parameter list here instead of ...
+       (find_template_parameters): ... here.  Return ftpi.parm_list.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94707
+       * class.c (build_base_field): Set DECL_FIELD_ABI_IGNORED on C++17 empty
+       base artificial FIELD_DECLs.
+       (layout_class_type): Set DECL_FIELD_ABI_IGNORED on empty class
+       field_poverlapping_p FIELD_DECLs.
+
+2020-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94819
+       * constraint.cc (satisfy_declaration_constraints): Use saved_t
+       instead of t as the key to decl_satisfied_cache.
+
+       PR c++/94808
+       * error.c (print_requires_expression_info): Print the dependent
+       form of the parameter list with its template parameter mapping,
+       rather than printing the substituted form.
+
+2020-04-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94583
+       * decl.c (use_eh_spec_block): Check nothrow type after
+       DECL_DEFAULTED_FN.
+       * pt.c (maybe_instantiate_noexcept): Call synthesize_method for
+       DECL_MAYBE_DELETED fns here.
+       * decl2.c (mark_used): Not here.
+       * method.c (get_defaulted_eh_spec): Reject DECL_MAYBE_DELETED here.
+
+2020-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94760
+       * coroutines.cc (instantiate_coro_traits): Pass a reference to
+       object type rather than a pointer type for 'this', for method
+       coroutines.
+       (struct param_info): Add a field to hold that the parm is a lambda
+       closure pointer.
+       (morph_fn_to_coro): Check for lambda closure pointers in the
+       args.  Use a reference to *this when building the args list for the
+       promise allocator lookup.
+
+2020-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94759
+       * coroutines.cc (coro_promise_type_found_p): Do not
+       exclude non-classes here (this needs to be handled in the
+       coroutine header).
+       (morph_fn_to_coro):  Allow for the case where the coroutine
+       returns void.
+
+2020-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94701
+       * coroutines.cc (struct local_var_info): Add fields for static
+       variables and those with DECL_VALUE_EXPR redirection.
+       (transform_local_var_uses): Skip past typedefs and static vars
+       and then account for redirected variables.
+       (register_local_var_uses): Likewise.
+
+2020-04-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90750
+       PR c++/79585
+       * decl.c (grokdeclarator): Move dependent attribute to decl.
+       * decl2.c (splice_template_attributes): No longer static.
+
+2020-04-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94772
+       * constexpr.c (cxx_eval_call_expression): Don't set new_obj if we're
+       evaluating the target constructor of a delegating constructor.
+       (cxx_eval_store_expression): Don't set TREE_READONLY if the LHS of the
+       INIT_EXPR is '*this'.
+
+2020-04-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90320
+       * call.c (struct conversion): Add copy_init_p.
+       (standard_conversion): Set copy_init_p in ck_base and ck_rvalue
+       if FLAGS demands LOOKUP_ONLYCONVERTING.
+       (convert_like_real) <case ck_base>: If copy_init_p is set, or
+       LOOKUP_ONLYCONVERTING into FLAGS.
+
+2020-04-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94752
+       * coroutines.cc (morph_fn_to_coro): Ensure that
+       unnamed function params have a usable and distinct
+       frame field name.
+
+2020-04-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94583
+       * decl.c (redeclaration_error_message): Reject defaulted comparison
+       operator that has been previously declared.
+
+2020-04-25  Patrick Palka  <ppalka@redhat.com>
+
+       * parser.c (cp_parser_diagnose_invalid_type_name): Suggest enabling
+       concepts if the invalid identifier is 'requires'.
+
+2020-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94742
+       * semantics.c (finish_call_expr): When looking if all overloads
+       are noreturn, use STRIP_TEMPLATE to look through TEMPLATE_DECLs.
+
+2020-04-24  Martin Liska  <mliska@suse.cz>
+
+       * coroutines.cc: Fix compilation error for release checking
+       where we miss declaration of ‘coro_body_contains_bind_expr_p’.
+
+2020-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       * tree.c (zero_init_expr_p): Use uses_template_parms instead of
+       dependent_type_p.
+
+       PR c++/94645
+       * pt.c (template_class_depth): Walk into the DECL_FRIEND_CONTEXT of a
+       friend declaration rather than into its CP_DECL_CONTEXT.
+
+2020-04-23 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94288
+       * coroutines.cc (await_statement_expander): Simplify cases.
+       (struct susp_frame_data): Add fields for truth and/or if
+       cases, rename one field.
+       (analyze_expression_awaits): New.
+       (expand_one_truth_if): New.
+       (add_var_to_bind): New helper.
+       (coro_build_add_if_not_cond_break): New helper.
+       (await_statement_walker): Handle conditional expressions,
+       handle expansion of truth-and/or-if cases.
+       (bind_expr_find_in_subtree): New, checking-only.
+       (coro_body_contains_bind_expr_p): New, checking-only.
+       (morph_fn_to_coro): Ensure that we have a top level bind
+       expression.
+
+2020-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR translation/94698
+       * class.c (check_field_decls): Change "define" to "declare" in
+       -Weffc++ diagnostics.
+
+2020-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94719
+       PR c++/94549
+       * constraint.cc (satisfy_declaration_constraints): If the inherited
+       constructor points to an instantiation of a constructor template,
+       remember and use its attached template arguments.
+
+2020-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR translation/94698
+       * class.c (check_field_decls): Change "override" to "define" in
+       -Weffc++ diagnostics.
+
+2020-04-22 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94682
+       * coroutines.cc (struct param_info): Add a field to note that
+       the param is 'this'.
+       (morph_fn_to_coro): Convert this to a reference before using it
+       in the promise parameter preview.
+
+2020-04-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94546
+       * pt.c (register_parameter_specializations): If the instantiation is
+       still a parameter pack, don't wrap it in a NONTYPE_ARGUMENT_PACK.
+       (tsubst_pack_expansion, tsubst_expr): Adjust.
+
+2020-04-22  Martin Sebor  <msebor@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/94510
+       * decl.c (reshape_init_array_1): Avoid stripping redundant trailing
+       zero initializers...
+       * mangle.c (write_expression): ...and handle them here even for
+       pointers to members by calling zero_init_expr_p.
+       * cp-tree.h (zero_init_expr_p): Declare.
+       * tree.c (zero_init_expr_p): Define.
+       (type_initializer_zero_p): Remove.
+       * pt.c (tparm_obj_values): New hash_map.
+       (get_template_parm_object): Store to it.
+       (tparm_object_argument): New.
+
+2020-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67825
+       * constraint.cc (diagnose_valid_expression): Check convert_to_void here
+       as well as in tsubst_valid_expression_requirement.
+
+2020-04-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94549
+       * constraint.cc (satisfy_declaration_constraints): Don't strip the
+       inherited constructor if it already has template information.
+
+       PR c++/94597
+       * pt.c (any_template_parm_r) <case IDENTIFIER_NODE>: New case.  If this
+       is a conversion operator, visit its TREE_TYPE.
+
+2020-04-21  Nathan Sidwell  <nathan@acm.org>
+
+       * pt.c (tsubst_copy_and_build) [POINTER_PLUS_EXPR]: Check for
+       error_mark_node.
+
+2020-04-21 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94661
+       * coroutines.cc (morph_fn_to_coro): Simplify return
+       value computation.
+
+2020-04-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94592
+       * constexpr.c (cxx_eval_outermost_constant_expr): Return when T is
+       a BRACE_ENCLOSED_INITIALIZER_P.
+       (is_nondependent_constant_expression): Don't check
+       BRACE_ENCLOSED_INITIALIZER_P.
+       (is_nondependent_static_init_expression): Likewise.
+
+2020-04-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94628
+       * cp-tree.h (lss_policy::lss_nop): New enumerator.
+       * pt.c (local_specialization_stack::local_specialization_stack): Handle
+       an lss_nop policy.
+       (local_specialization_stack::~local_specialization_stack): Likewise.
+       (tsubst_pack_expansion): Use a local_specialization_stack instead of
+       manually saving and restoring local_specializations.  Conditionally
+       replace local_specializations sooner, before the handling of the
+       unsubstituted_packs case.
+
+2020-04-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94505 - bogus -Wparentheses warning with fold-expression.
+       * pt.c (fold_expression): Add warning_sentinel for -Wparentheses
+       before calling build_x_binary_op.
+
+2020-04-20  Marek Polacek  <polacek@redhat.com>
+
+       * coroutines.cc (captures_temporary): Don't assign the result of
+       STRIP_NOPS to the same variable.
+
+2020-04-20  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94454 - tpl-tpl-parms are not canonicalizable types
+       * pt.c (canonical_type_parameter): Assert not a tpl-tpl-parm.
+       (process_template_parm): tpl-tpl-parms are structural.
+       (rewrite_template_parm): Propagate structuralness.
+
+       PR c++/94454 - Expr pack expansion equality
+       * tree.c (cp_tree_equal) [TEMPLATE_ID_EXPR, default]: Refactor.
+       [EXPR_PACK_EXPANSION]: Add.
+
+       PR c++/94454 Template Argument Hashing
+       * pt.c (iterative_hash_template_arg): Strip nodes as
+       template_args_equal does.
+       [ARGUMENT_PACK_SELECT, TREE_VEC, CONSTRUCTOR]: Refactor.
+       [node_class:TEMPLATE_TEMPLATE_PARM]: Hash by level & index.
+       [node_class:default]: Refactor.
+
+2020-04-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94632
+       * tree.c (cp_tree_equal) <case PARM_DECL>: Ignore
+       comparing_specializations if the parameters' contexts are identical.
+
+       PR c++/92187
+       * pt.c (splice_late_return_type): Propagate cv-qualifiers and
+       PLACEHOLDER_TYPE_CONSTRAINTS from the original auto node to the new one.
+
+2020-04-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94483
+       * lambda.c (lambda_capture_field_type): Avoid doing auto deduction if
+       the explicit initializer has parameter packs.
+
+       PR c++/88754
+       * parser.c (cp_parser_check_template_parameters): Before issuing a hard
+       error, first try simulating an error instead.
+
+2020-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/94629
+       * call.c (build_conditional_expr_1): Remove redundant assignment to
+       arg2.
+
+2020-04-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94475
+       * cvt.c (ocp_convert): If the result of scalar_constant_value is
+       erroneous, ignore it and use the original expression.
+
+2020-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94571
+       * parser.c (cp_parser_simple_declaration): Fix up a pasto in
+       diagnostics.
+
+2020-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94593
+       * parser.c (cp_parser_pragma) <case PRAGMA_OMP_REQUIRES>: Reject
+       requires directive when not at file or namespace scope.
+
+2020-04-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94359
+       * coroutines.cc (build_actor_fn): Check that the target can
+       support the resume tailcall before mandating it.
+
+2020-04-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/85278
+       * cxx-pretty-print.c (cxx_pretty_printer:simple_type_specifier)
+       <case DECLTYPE_TYPE>: Handle DECLTYPE_TYPE here instead of ...
+       (pp_cxx_type_specifier_seq) <case DECLTYPE_TYPE>: ... here.
+       (cxx_pretty_printer::direct_abstract_declarator) <case DECLTYPE_TYPE>:
+       New no-op case.
+
+       PR c++/94034
+       * constexpr.c (replace_result_decl_data): New struct.
+       (replace_result_decl_data_r): New function.
+       (replace_result_decl): New function.
+       (cxx_eval_call_expression): Use it.
+       * tree.c (build_aggr_init_expr): Set the location of the AGGR_INIT_EXPR
+       to that of its initializer.
+
+2020-04-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94588
+       * name-lookup.c (check_local_shadow): Add an inform call.
+
+2020-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94521
+       * error.c (dump_scope): Pass TFF_NO_FUNCTION_ARGUMENTS to
+       dump_function_decl when printing a function template instantiation as a
+       scope.
+
+       PR c++/94470
+       * constexpr.c (get_or_insert_ctor_field): Set default value of parameter
+       'pos_hint' to -1.
+       (cxx_eval_bare_aggregate): Use get_or_insert_ctor_field instead of
+       assuming the the next index belongs at the end of the new CONSTRUCTOR.
+       (cxx_eval_store_expression): Revert PR c++/78572 fix.
+
+2020-04-13  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94426  lambdas with internal linkage are different to no-linkage
+       * decl2.c (determine_visibility): A lambda's visibility is
+       affected by its extra scope.
+       * pt.c (instantiate_decl): Determine var's visibility before
+       instantiating its initializer.
+       * tree.c (no_linkage_check): Revert code looking at visibility of
+       lambda's extra scope.
+`
+2020-04-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94528
+       * coroutines.cc (co_await_expander): Remove.
+       (expand_one_await_expression): New.
+       (process_one_statement): New.
+       (await_statement_expander): New.
+       (build_actor_fn): Revise to use per-statement expander.
+       (struct susp_frame_data): Reorder and comment.
+       (register_awaits): Factor code.
+       (replace_statement_captures): New, factored from...
+       (maybe_promote_captured_temps):.. here.
+       (await_statement_walker): Revise to process per statement.
+       (morph_fn_to_coro): Use revised susp_frame_data layout.
+
+2020-04-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94149
+       * method.c (constructible_expr): In C++20, try using parenthesized
+       initialization of aggregates to determine the result of
+       __is_constructible.
+
+2020-04-10  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (co_await_expander): Simplify.
+
+2020-04-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94523
+       * constexpr.c (cxx_eval_constant_expression) [VAR_DECL]: Look at
+       ctx->object and ctx->global->values first.
+
+2020-04-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93790
+       * call.c (initialize_reference): If the reference binding failed, maybe
+       try initializing from { }.
+       * decl.c (grok_reference_init): For T& t(e), set
+       LOOKUP_AGGREGATE_PAREN_INIT but don't build up a constructor yet.
+
+2020-04-08  Iain Sandoe  <iain@sandoe.co.uk>
+           Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (maybe_promote_captured_temps): Add a cleanup
+       expression, if needed, to any call from which we promoted
+       temporaries captured by reference.
+
+2020-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94507 - ICE-on-invalid with lambda template.
+       * pt.c (tsubst_lambda_expr): Cope when tsubst_template_decl or
+       tsubst_function_decl returns error_mark_node.
+
+2020-04-08  Martin Liska  <mliska@suse.cz>
+
+       PR c++/94314
+       * decl.c (duplicate_decls): Duplicate also DECL_IS_REPLACEABLE_OPERATOR.
+       (cxx_init_decl_processing): Mark replaceable all implicitly defined
+       operators.
+
+2020-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       Core issues 1001 and 1322
+       PR c++/92010
+       * pt.c (rebuild_function_or_method_type): Split function out from ...
+       (tsubst_function_type): ... here.
+       (maybe_rebuild_function_decl_type): New function.
+       (tsubst_function_decl): Use it.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94325
+       * decl.c (begin_destructor_body): For CLASSTYPE_VBASECLASSES class
+       dtors, if CLASSTYPE_PRIMARY_BINFO is non-NULL, but not BINFO_VIRTUAL_P,
+       look at CLASSTYPE_PRIMARY_BINFO of its BINFO_TYPE if it is not
+       BINFO_VIRTUAL_P, and so on.
+
+2020-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94478 - ICE with defaulted comparison operator
+       * method.c (early_check_defaulted_comparison): Give an error when the
+       context is null.
+
+2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * paser.c (cp_parser_oacc_declare): Add check that variables
+       are declared in the same scope as the directive.
+
+2020-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94480
+       * parser.c (cp_parser_requires_expression): Use tentative_firewall.
+
+       PR c++/94481
+       * parser.c (cp_parser_placeholder_type_specifier): Use
+       matching_parens.
+
+2020-04-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (maybe_promote_captured_temps): Ensure that
+       reference capture placeholder vars are properly declared.
+
+2020-04-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90996
+       * tree.c (replace_placeholders): Look through all handled components,
+       not just COMPONENT_REFs.
+       * typeck2.c (process_init_constructor_array): Propagate
+       CONSTRUCTOR_PLACEHOLDER_BOUNDARY up from each element initializer to
+       the array initializer.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94512
+       * parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
+       if cp_parser_omp_master succeeded.
+
+2020-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94462
+       * decl.c (duplicate_decls): Fix handling of DECL_HIDDEN_FRIEND_P.
+
+2020-04-04  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/94155 - crash in gimplifier with paren init of aggregates.
+       * init.c (build_vec_init): Fill in indexes.
+
+2020-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91377
+       * mangle.c (write_expression): Skip IMPLICIT_CONV_EXPR.
+
+2020-04-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94205
+       PR c++/79937
+       * constexpr.c (struct constexpr_ctx): New field 'parent'.
+       (cxx_eval_bare_aggregate): Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY
+       flag from the original constructor to the reduced constructor.
+       (lookup_placeholder): Prefer to return the outermost matching object
+       by recursively calling lookup_placeholder on the 'parent' context,
+       but don't cross CONSTRUCTOR_PLACEHOLDER_BOUNDARY constructors.
+       (cxx_eval_constant_expression): Link the 'ctx' context to the 'new_ctx'
+       context via 'new_ctx.parent' when being expanded without an explicit
+       target.  Don't call replace_placeholders.
+       (cxx_eval_outermost_constant_expr): Initialize 'ctx.parent' to NULL.
+
+       PR c++/94219
+       PR c++/94205
+       * constexpr.c (get_or_insert_ctor_field): Split out (while adding
+       support for VECTOR_TYPEs, and optimizations for the common case)
+       from ...
+       (cxx_eval_store_expression): ... here.  Rename local variable
+       'changed_active_union_member_p' to 'activated_union_member_p'.  Record
+       the sequence of indexes into 'indexes' that yields the subobject we're
+       assigning to.  Record the integer offsets of the constructor indexes
+       we're assigning through into 'index_pos_hints'.  After evaluating the
+       initializer of the store expression, recompute 'valp' using 'indexes'
+       and using 'index_pos_hints' as hints.
+       (cxx_eval_bare_aggregate): Tweak comments.  Use get_or_insert_ctor_field
+       to recompute the constructor_elt pointer we're assigning through after
+       evaluating each initializer.
+
+2020-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/67825
+       * constraint.cc (tsubst_valid_expression_requirement): Call
+       convert_to_void.
+
+2020-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94453
+       * constexpr.c (maybe_constant_value): Use break_out_target_exprs.
+       * expr.c (mark_use) [VIEW_CONVERT_EXPR]: Don't wrap a TARGET_EXPR in
+       NON_LVALUE_EXPR.
+
+2020-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94441
+       * parser.c (cp_parser_omp_for_loop): Use
+       protected_set_expr_location_if_unset.
+       * cp-gimplify.c (genericize_if_stmt, genericize_cp_loop): Likewise.
+
+       PR c++/94477
+       * pt.c (tsubst_expr) <case OMP_MASTER>: Clear
+       omp_parallel_combined_clauses.
+
+2020-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91966
+       * pt.c (complex_pack_expansion_r): New.
+       (complex_alias_template_p): Use it.
+
+2020-03-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94205
+       * constexpr.c (cxx_eval_constant_expression) [TARGET_EXPR]: Call
+       replace_placeholders.
+       * typeck2.c (store_init_value): Fix arguments to
+       fold_non_dependent_expr.
+
+2020-03-31  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_eval_constant_expression) [TARGET_EXPR]: Use
+       local variables.
+
+2020-03-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90711
+       * tree.c (cp_tree_equal) [CALL_EXPR]: Compare KOENIG_LOOKUP_P.
+       (called_fns_equal): Check DECL_CONTEXT.
+
+2020-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94385
+       * semantics.c (add_stmt): Only set STMT_IS_FULL_EXPR_P on trees with
+       STATEMENT_CODE_P code.
+
+2020-03-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94306
+       * parser.c (cp_parser_requires_clause_opt): Diagnose and recover from
+       "requires {" when "requires requires {" was probably intended.
+
+       PR c++/94252
+       * constraint.cc (tsubst_compound_requirement): Always suppress errors
+       from type_deducible_p and expression_convertible_p, as they're not
+       substitution errors.
+       (diagnose_atomic_constraint) <case INTEGER_CST>: Remove this case so
+       that we diagnose INTEGER_CST expressions of non-bool type via the
+       default case.
+       * cp-gimplify.c (cp_genericize_r) <case REQUIRES_EXPR>: New case.
+       * parser.c (cp_parser_requires_expression): Always parse the requirement
+       body as if we're processing a template, by temporarily incrementing
+       processing_template_decl.  Afterwards, if we're not actually in a
+       template context, perform semantic processing to diagnose any invalid
+       types and expressions.
+       * pt.c (tsubst_copy_and_build) <case REQUIRES_EXPR>: Remove dead code.
+       * semantics.c (finish_static_assert): Explain an assertion failure
+       when the condition is a REQUIRES_EXPR like we do when it is a concept
+       check.
+
+       * constraint.cc (diagnose_compound_requirement): When diagnosing a
+       compound requirement, maybe replay the satisfaction failure, subject to
+       the current diagnosis depth.
+
+       * constraint.cc (finish_constraint_binary_op): Set the location of EXPR
+       as well as its range, because build_x_binary_op doesn't always do so.
+       (current_constraint_diagnosis_depth): New.
+       (concepts_diagnostics_max_depth_exceeded_p): New.
+       (collect_operands_of_disjunction): New.
+       (satisfy_disjunction): When diagnosing a satisfaction failure, maybe
+       replay each branch of the disjunction, subject to the current diagnosis
+       depth.
+       (diagnose_valid_expression): When diagnosing a satisfaction failure,
+       maybe replay the substitution error, subject to the current diagnosis
+       recursion.
+       (diagnose_valid_type): Likewise.
+       (diagnose_nested_requiremnet): Likewise.
+       (diagnosing_failed_constraint::diagnosing_failed_constraint): Increment
+       current_constraint_diagnosis_depth when diagnosing.
+       (diagnosing_failed_constraint::~diagnosing_failed_constraint): Decrement
+       current_constraint_diagnosis_depth when diagnosing.
+       (diagnosing_failed_constraint::replay_errors_p): New static member
+       function.
+       (diagnose_constraints): Don't diagnose if concepts_diagnostics_max_depth
+       is 0.  Emit a one-off note to increase -fconcepts-diagnostics-depth if
+       the limit was exceeded.
+       * cp-tree.h (diagnosing_failed_constraint::replay_errors_p): Declare.
+
+2020-03-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/84733
+       * name-lookup.c (do_pushdecl): Look through cleanp levels.
+
+2020-03-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94078
+       PR c++/93824
+       PR c++/93810
+       * cp-tree.h (most_specialized_partial_spec): Declare.
+       * parser.c (cp_parser_elaborated_type_specifier): Distinguish alias
+       from declarations.
+       (specialization_of): New function.
+       (cp_parser_check_class_key): Move code...
+       (class_decl_loc_t::add): ...to here.  Add parameters.  Avoid issuing
+       -Wredundant-tags on first-time declarations in other declarators.
+       Correct handling of template specializations.
+       (class_decl_loc_t::diag_mismatched_tags): Also expect to be called
+       when -Wredundant-tags is enabled.  Use primary template or partial
+       specialization as the guide for uses of implicit instantiations.
+       * pt.c (most_specialized_partial_spec): Declare extern.
+
+2020-03-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94257
+       * name-lookup.c (push_namespace): Triage ambiguous lookups that
+       contain namespaces.
+
+2020-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94326
+       * call.c (set_flags_from_callee): Don't update
+       cp_function_chain->can_throw or current_function_returns_abnormally
+       if cp_unevaluated_operand.
+
+       PR c++/94339
+       * cvt.c (ocp_convert): Handle COMPOUND_EXPR by recursion on the second
+       operand and creating a new COMPOUND_EXPR if anything changed.
+
+2020-03-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94336 - template keyword accepted before destructor names.
+       * parser.c (cp_parser_unqualified_id): Give an error when 'template'
+       is followed by a destructor name.
+
+2020-03-27  Patrick Palka  <ppalka@redhat.com>
+
+       * decl.c (compute_array_index_type_loc): Remove redundant
+       type_dependent_expression_p check that is subsumed by
+       value_dependent_expression_p.
+       * decl2.c (is_late_template_attribute): Likewise.
+       * pt.c (uses_template_parms): Likewise.
+       (dependent_template_arg_p): Likewise.
+
+2020-03-26  Marek Polacek  <polacek@redhat.com>
+
+       DR 1710
+       PR c++/94057 - template keyword in a typename-specifier.
+       * parser.c (check_template_keyword_in_nested_name_spec): New.
+       (cp_parser_nested_name_specifier_opt): Implement DR1710, optional
+       'template'.  Call check_template_keyword_in_nested_name_spec.
+       (cp_parser_simple_type_specifier): Assume that a <
+       following a qualified-id in a typename-specifier begins
+       a template argument list.
+
+2020-03-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (coro_init_identifiers): Initialize an identifier
+       for the cororoutine handle 'address' method name.
+       (struct coro_aw_data): Add fields to cover the continuations.
+       (co_await_expander): Determine the kind of await_suspend in use.
+       If we have the case that returns a continuation handle, then save
+       this and make the target for 'scope exit without cleanup' be the
+       continuation resume label.
+       (expand_co_awaits): Remove.
+       (struct suspend_point_info): Remove fields that kept the returned
+       await_suspend handle type.
+       (transform_await_expr): Remove code tracking continuation handles.
+       (build_actor_fn): Add the continuation handle as an actor-function
+       scope var.  Build the symmetric transfer continuation point. Call
+       the tree walk for co_await expansion directly, rather than via a 
+       trivial shim function.
+       (register_await_info): Remove fields tracking continuation handles.
+       (get_await_suspend_return_type): Remove.
+       (register_awaits): Remove code tracking continuation handles.
+       (morph_fn_to_coro): Remove code tracking continuation handles.
+
+2020-03-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (co_await_expander): If we are expanding the
+       initial await expression, set a boolean flag to show that we
+       have now reached the initial await_resume() method call.
+       (expand_co_awaits): Handle the 'initial await resume called' flag.
+       (build_actor_fn): Insert the initial await expression into the
+       start of the user-authored function-body. Handle the 'initial await
+       resume called' flag.
+       (morph_fn_to_coro): Initialise the 'initial await resume called'
+       flag.  Modify the unhandled exception catch clause to recognise
+       exceptions that occur before the initial await_resume() and re-
+       throw them.
+
+2020-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/81349
+       * class.c (user_provided_p): Use STRIP_TEMPLATE instead of returning
+       true for all TEMPLATE_DECLs.
+
+       PR c++/94272
+       * cp-gimplify.c (cp_genericize_r): Handle STATEMENT_LIST.
+
+2020-03-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94265
+       * parser.c (cp_parser_selection_statement) <case RID_IF>: Invalidate the
+       current condition chain when the if-statement has a non-empty
+       init-statement.
+
+2020-03-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94319
+       * coroutines.cc (captures_temporary): Fix a missing dereference.
+
+2020-03-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94190 - wrong no post-decrement operator error in template.
+       * call.c (convert_like_real): Use convert_from_reference on the result.
+
+2020-03-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94186
+       * constraint.cc (constraint_satisfaction_value): Repeat noisily on
+       error.
+       (tsubst_nested_requirement): Likewise.
+       (get_constraint_error_location): Allow missing context.
+       (diagnose_atomic_constraint): Diagnose non-bool constraint here.
+       (satisfy_atom): Not here.  Only diagnose non-constant when noisy.
+
+2020-03-24  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (any_template_parm_r): Look into the type of a non-type
+       template parm.
+
+2020-03-24  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (cp_expr): When constructing from an expr and a
+       location, call protected_set_expr_location.
+
+2020-03-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93805
+       * except.c (maybe_noexcept_warning): Add TODO.
+       * method.c (walk_field_subobs): Pass tf_none to expr_noexcept_p.
+
+2020-03-23  nathans  <nathan@acm.org>
+
+       PR c++/94044
+       * tree.c (cp_tree_equal) [SIZEOF_EXPR]: Detect argument pack
+       operand.
+
+2020-03-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94066
+       * constexpr.c (reduced_constant_expression_p) [CONSTRUCTOR]: Properly
+       handle unions without an initializer.
+       (cxx_eval_component_reference): Emit a different diagnostic when the
+       constructor element corresponding to a union member is NULL.
+       (cxx_eval_bare_aggregate): When constructing a union, always set the
+       active union member before evaluating the initializer.  Relax assertion
+       that verifies the index of the constructor element we're initializing
+       hasn't been changed.
+       (cxx_eval_store_expression): Diagnose changing the active union member
+       while the union is in the process of being initialized.  After setting
+       an active union member, clear CONSTRUCTOR_NO_CLEARING on the underlying
+       CONSTRUCTOR.
+       (cxx_eval_constant_expression) [PLACEHOLDER_EXPR]: Don't re-reduce a
+       CONSTRUCTOR returned by lookup_placeholder.
+
+2020-03-20  Patrick Palka  <ppalka@redhat.com>
+
+       * cxx-pretty-print.c (pp_cxx_parameter_mapping): Make extern.  Move
+       the "[with ]" bits to here from ...
+       (pp_cxx_atomic_constraint): ... here.
+       * cxx-pretty-print.h (pp_cxx_parameter_mapping): Declare.
+       * error.c (rebuild_concept_check): Delete.
+       (print_concept_check_info): Print the dependent form of the constraint and the
+       preferably substituted parameter mapping alongside it.
+
+2020-03-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94175
+       * cp-gimplify.c (simple_empty_class_p): Look through
+       SIMPLE_TARGET_EXPR_P.
+       (cp_gimplify_expr) [MODIFY_EXPR]: Likewise.
+       [RETURN_EXPR]: Avoid producing 'return *retval;'.
+       * call.c (build_call_a): Strip TARGET_EXPR from empty class arg.
+       * cp-tree.h (SIMPLE_TARGET_EXPR_P): Check that TARGET_EXPR_INITIAL
+       is non-null.
+
+2020-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93931
+       * parser.c (cp_parser_omp_var_list_no_open): Call process_outer_var_ref
+       on outer_automatic_var_p decls.
+       * cp-gimplify.c (cxx_omp_disregard_value_expr): Return true also for
+       capture proxy decls.
+
+2020-03-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94147 - mangling of lambdas assigned to globals
+       * parser.c (cp_parser_init_declarator): Namespace-scope variables
+       provide a lambda scope.
+       * tree.c (no_linkage_check): Lambdas with a variable for extra
+       scope have a linkage from the variable.
+
+2020-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * constraint.cc (resolve_function_concept_check, subsumes_constraints,
+       strictly_subsumes): Fix up duplicated word issue in a comment.
+       * coroutines.cc (build_init_or_final_await, captures_temporary):
+       Likewise.
+       * logic.cc (dnf_size_r, cnf_size_r): Likewise.
+       * pt.c (append_type_to_template_for_access_check): Likewise.
+
+       PR c++/91759
+       * decl.c (grokfndecl): Restore old diagnostics about deduction
+       guide declared in different scope if in_namespace is NULL_TREE.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/90995
+       * parser.c (cp_parser_enum_specifier): Use temp_override for
+       parser->colon_corrects_to_scope_p, replace goto out with return.
+       If scoped enum or enum with underlying type is not followed by
+       { or ;, call cp_parser_commit_to_tentative_parse before calling
+       cp_parser_error and make sure to return error_mark_node instead of
+       NULL_TREE.  Formatting fixes.
+
+2020-03-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR c++/94197
+       * method.c (assignable_expr): Use cp_unevaluated.
+       (is_xible_helper): Push a non-deferred access check for
+       the stub objects created by assignable_expr and constructible_expr.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * pt.c (tsubst): Fix up duplicated word issue in a diagnostic message.
+       (lookup_template_class_1, tsubst_expr): Fix up duplicated word issue
+       in a comment.
+       * parser.c (cp_parser_statement, cp_parser_linkage_specification,
+       cp_parser_placeholder_type_specifier,
+       cp_parser_constraint_requires_parens): Likewise.
+       * name-lookup.c (suggest_alternative_in_explicit_scope): Likewise.
+
+2020-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (co_await_expander): Fix indentation.
+
+2020-03-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92068
+       * pt.c (process_partial_specialization): Error rather than crash on
+       extra pack expansion.
+
+2020-03-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92909
+       * pt.c (find_parameter_packs_r): [DECL_EXPR]: Walk
+       DECL_ORIGINAL_TYPE of a typedef.
+
+2020-03-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93248
+       * pt.c (build_deduction_guide): Clear cp_unevaluated_operand for
+       substituting DECL_ARGUMENTS.
+
+2020-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * logic.cc (formula::formula): Change "a an" to "an" in a comment.
+       * parser.c (cp_debug_parser): Change "a an" to "an" in a string
+       literal.
+
+2020-03-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67960
+       * call.c (build_over_call): Use a warning_sentinel to disable
+       warn_deprecated_decl before calling build_addr_func.
+
+2020-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94124
+       * decl.c (reshape_init_array_1): Don't unshare constructor if there
+       aren't any trailing zero elts, otherwise only unshare the first
+       nelts.
+
+2020-03-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93907
+       * constraint.cc (tsubst_parameter_mapping): Canonicalize type
+       argument.
+
+2020-03-11  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/94074 - wrong modifying const object error for COMPONENT_REF.
+       * constexpr.c (cref_has_const_field): New function.
+       (modifying_const_object_p): Consider a COMPONENT_REF
+       const only if any of its fields are const.
+       (cxx_eval_store_expression): Mark a CONSTRUCTOR of a const type
+       as readonly after its initialization has been done.
+
+2020-03-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94124 - wrong conversion error with non-viable overload.
+       * decl.c (reshape_init_array_1): Unshare a constructor if we
+       stripped trailing zero-initializers.
+
+2020-03-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93901
+       * pt.c (maybe_instantiate_noexcept): Always update clones.
+
+2020-03-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93596
+       * pt.c (maybe_aggr_guide): Check BRACE_ENCLOSED_INITIALIZER_P.
+
+2020-03-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93922
+       PR c++/94041
+       PR c++/52320
+       PR c++/66139
+       * cp-gimplify.c (cp_gimplify_init_expr): Partially revert patch for
+       66139: Don't split_nonconstant_init.  Remove pre_p parameter.
+
+2020-03-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92031 - bogus taking address of rvalue error.
+       PR c++/91465 - ICE with template codes in check_narrowing.
+       PR c++/93870 - wrong error when converting template non-type arg.
+       PR c++/94068 - ICE with template codes in check_narrowing.
+       * call.c (convert_like_real): Return IMPLICIT_CONV_EXPR
+       in a template when not ck_identity and we're dealing with a class.
+       (convert_like_real) <case ck_ref_bind>: Return IMPLICIT_CONV_EXPR
+       in a template if we need a temporary.
+       * decl.c (compute_array_index_type_loc): Remove
+       instantiate_non_dependent_expr_sfinae call.  Call
+       fold_non_dependent_expr instead of maybe_constant_value.
+       (build_explicit_specifier): Don't instantiate or create a sentinel
+       before converting the expression.
+       * except.c (build_noexcept_spec): Likewise.
+       * pt.c (convert_nontype_argument): Don't build IMPLICIT_CONV_EXPR.
+       Set IMPLICIT_CONV_EXPR_NONTYPE_ARG if that's what
+       build_converted_constant_expr returned.
+       * typeck2.c (check_narrowing): Call fold_non_dependent_expr instead
+       of maybe_constant_value.
+
+2020-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94067
+       Revert
+       2019-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * constexpr.c (cxx_eval_constant_expression): Do not handle
+       RROTATE_EXPR and LROTATE_EXPR.
+
+2020-03-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94050 - ABI issue with alignas on armv7hl.
+       * class.c (layout_class_type): Don't replace a class's
+       CLASSTYPE_AS_BASE if their TYPE_USER_ALIGN don't match.
+
+2020-03-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (build_actor_fn): Factor out code inserting the
+       default return_void call to...
+       (morph_fn_to_coro): ...here, also hoist local var declarations.
+
+2020-03-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93729
+       * call.c (convert_like_real): Check complain before emitting an error
+       about binding a bit-field to a reference.
+
+       * cxx-pretty-print.c (cxx_pretty_printer::simple_type_specifier)
+       [TYPENAME_TYPE]: Print the TYPENAME_TYPE_FULLNAME instead of the
+       TYPE_NAME.
+
+2020-03-06  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94027
+       * mangle.c (find_substitution): Don't call same_type_p on template
+       args that cannot match.
+
+2020-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/90938
+       * tree.c (type_initializer_zero_p): Fail for structs initialized
+       with non-structs.
+
+2020-03-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90432
+       * init.c (perform_member_init): Don't do aggregate initialization of
+       empty field.
+       * constexpr.c (cx_check_missing_mem_inits): Don't enforce
+       initialization of empty field.
+
+2020-03-04  Martin Liska  <mliska@suse.cz>
+
+       * method.c: Wrap array in ctor with braces in order
+       to silent clang warnings.
+
+2020-03-03  Jason Merrill  <jason@redhat.com>
+           Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90505 - mismatch in template argument deduction.
+       * pt.c (tsubst): Don't reduce the template level of template
+       parameters when tf_partial.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93998
+       * constexpr.c (cxx_eval_constant_expression)
+       <case TARGET_EXPR, case SAVE_EXPR>: Don't record anything if
+       *non_constant_p is true.
+
+2020-03-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (captures_temporary): Strip component_ref
+       to its base object.
+
+2020-03-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (finish_co_await_expr): Build co_await_expr
+       with unknown_type_node.
+       (finish_co_yield_expr): Ditto.
+       *pt.c (type_dependent_expression_p): Set co_await/yield_expr
+       with unknown type as dependent.
+
+2020-03-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (struct local_var_info): Adjust to remove the
+       reference to the captured var, and just to note that this is a
+       lambda capture proxy.
+       (transform_local_var_uses): Handle lambda captures specially.
+       (struct param_frame_data): Add a visited set.
+       (register_param_uses): Also check for param uses in lambda
+       capture proxies.
+       (struct local_vars_frame_data): Remove captures list.
+       (register_local_var_uses): Handle lambda capture proxies by
+       noting and bypassing them.
+       (morph_fn_to_coro): Update to remove lifetime extension of
+       lambda capture-by-copy vars.
+
+2020-03-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (build_co_await): Do not build frame
+       awaitable proxy vars when the co_await expression is
+       a function parameter or local var.
+       (co_await_expander): Do not initialise a frame var with
+       itself.
+       (transform_await_expr): Only substitute the awaitable
+       frame var if it's needed.
+       (register_awaits): Do not make frame copies for param
+       or local vars that are awaitables.
+
+2020-02-28  Jason Merrill  <jason@redhat.com>
+
+       Implement P2092R0, Disambiguating Nested-Requirements
+       * parser.c (cp_parser_requirement_parameter_list): Pass
+       CP_PARSER_FLAGS_TYPENAME_OPTIONAL.
+
+       * call.c (build_user_type_conversion_1): Don't look at the second
+       conversion of a non-viable candidate.
+
+2020-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       P1937R2 - Fixing inconsistencies between const{expr,eval} functions
+       * typeck.c (cp_build_addr_expr_1): Allow taking address of immediate
+       functions in unevaluated contexts.
+
+2020-02-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/93933
+       * pt.c (template_args_equal): Pass ARGUMENT_PACKS through to
+       cp_tree_equal.
+       * tree.c (cp_tree_equal): Compare ARGUMENT_PACKS here,
+       * typeck.c (comptypes): Assert we don't get any argument packs.
+
+       * class.c (adjust_clone_args): Correct arg-checking assert.
+       * typeck.c (comptypes): Assert not nulls.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93789 - ICE with invalid array bounds.
+       * decl.c (compute_array_index_type_loc): Don't use the folded
+       size when folding cleared TREE_CONSTANT.
+
+2020-02-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * class.c (classtype_has_non_deleted_copy_ctor): New.
+       * coroutines.cc (struct param_info): Keep track of params
+       that are references, and cache the original type and whether
+       the DTOR is trivial.
+       (build_actor_fn): Handle param copies always, and adjust the
+       handling for references.
+       (register_param_uses): Only handle uses here.
+       (classtype_has_non_deleted_copy_ctor): New.
+       (morph_fn_to_coro): Adjust param copy handling to match n4849
+       by reordering ahead of the promise CTOR and always making a
+       frame copy, even if the param is unused in the coroutine body.
+       * cp-tree.h (classtype_has_non_deleted_copy_ctor): New.
+
+2020-02-26  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (finish_constraint_binary_op): Set expr's location range
+       to the range of its operands.
+       (satisfy_atom): Pass MAP instead of ARGS to diagnose_atomic_constraint.
+       (diagnose_trait_expr): Take the instantiated parameter mapping MAP
+       instead of the corresponding template arguments ARGS and adjust body
+       accordingly.
+       (diagnose_requires_expr): Likewise.
+       (diagnose_atomic_constraint): Likewise.  When printing an atomic
+       constraint expression, print the instantiated parameter mapping
+       alongside it.
+       * cxx-pretty-print.cc (cxx_pretty_printer::expression)
+       [NONTYPE_ARGUMENT_PACK]: Print braces around a NONTYPE_ARGUMENT_PACK.
+       (cxx_pretty_printer::type_id): Handle TYPE_ARGUMENT_PACK.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93676 - value-init crash in template.
+       * init.c (build_new_1): Don't call build_vec_init in a template.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93862 - ICE with static_cast when converting from int[].
+       * call.c (reference_compatible_p): No longer static.
+       * cp-tree.h (reference_compatible_p): Declare.
+       * typeck.c (build_static_cast_1): Use reference_compatible_p instead
+       of reference_related_p.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93803 - ICE with constexpr init and [[no_unique_address]].
+       * constexpr.c (reduced_constant_expression_p): Don't crash on a null
+       field.
+
+2020-02-24  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/93804
+       * parser.c (cp_parser_check_class_key): Avoid issuing -Wredundant-tags
+       in shared C/C++ code in headers.
+       Remove a duplicate hunk of code.
+
+2020-02-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93869 - ICE with -Wmismatched-tags.
+       * parser.c (cp_parser_check_class_key): Check class_key earlier.
+
+2020-02-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93712 - ICE with ill-formed array list-initialization.
+       * call.c (next_conversion): Return NULL for ck_aggr.
+       (build_aggr_conv): Set u.expr instead of u.next.
+       (build_array_conv): Likewise.
+       (build_complex_conv): Likewise.
+       (conv_get_original_expr): Handle ck_aggr.
+
+2020-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       P1937R2 - Fixing inconsistencies between const{expr,eval} functions
+       * call.c (build_over_call): Don't evaluate immediate functions in
+       unevaluated operands.
+
+2020-02-24  Jason Merrill  <jason@redhat.com>
+
+       P0780R2: Resolve lambda init-capture pack grammar.
+       * parser.c (cp_parser_lambda_introducer): Expect &...x=y rather than
+       ...&x=y.
+
+2020-02-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93882
+       * decl.c (grokdeclarator): Use %qs in a diagnostic message.
+
+2020-02-21  Martin Sebor  <msebor@redhat.com>
+
+       PR gcov-profile/93753
+       * class.c (check_flexarrays): Tighten up a test for potential members
+       of anonymous structs or unions.
+
+2020-02-20  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/93801
+       * parser.c (cp_parser_check_class_key): Only handle true C++ class-keys.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93841
+       * config/or1k/or1k.opt: Remove superfluous word.
+       * doc/invoke.texi: Likewise.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93838
+       * parser.c (cp_parser_decl_specifier_seq): Remove trailing space.
+
+2020-02-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93169 - wrong-code with a non-constexpr constructor.
+       * constexpr.c (cxx_eval_call_expression): Only set TREE_READONLY
+       on constant CONSTRUCTORs.
+
+2020-02-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93710 - poor diagnostic for array initializer.
+       * call.c (build_user_type_conversion_1): Use cp_expr_loc_or_input_loc
+       for an error call.
+
+2020-02-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92556
+       * pt.c (any_template_parm_r): Look into lambda body.
+
+       PR c++/92583
+       * pt.c (any_template_parm_r): Remove CONSTRUCTOR handling.
+
+2020-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/61414
+       * class.c (enum_min_precision): Change prec type from int to int &.
+
+       PR libstdc++/92906
+       * cp-tree.h (enum cp_tree_index): Add CPTI_FALLBACK_DFLOAT32_TYPE,
+       CPTI_FALLBACK_DFLOAT64_TYPE and CPTI_FALLBACK_DFLOAT128_TYPE.
+       (fallback_dfloat32_type, fallback_dfloat64_type,
+       fallback_dfloat128_type): Define.
+       * mangle.c (write_builtin_type): Handle fallback_dfloat*_type like
+       dfloat*_type_node.
+       * rtti.c (emit_support_tinfos): Emit DFP typeinfos even when dfp
+       is disabled for compatibility.
+
+2020-02-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93713
+       * name-lookup.c (matching_fn_p): A function does not match a
+       template.
+
+       PR c++/93643
+       PR c++/91476
+       * tree.c (decl_linkage): Always lk_none for locals.
+
+2020-02-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92583
+       PR c++/92654
+       * tree.c (cp_walk_subtrees): Walk CONSTRUCTOR types here.
+       * pt.c (find_parameter_packs_r): Not here.
+
+2020-02-12 Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (build_actor_fn): Implement deallocation function
+       selection per n4849, dcl.fct.def.coroutine bullet 12.
+       (morph_fn_to_coro): Implement allocation function selection per
+       n4849, dcl.fct.def.coroutine bullets 9 and 10.
+
+2020-02-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93684 - ICE-on-invalid with broken attribute.
+       * parser.c (cp_parser_std_attribute): Peek a token first before
+       consuming it.
+
+2020-02-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93675
+       * class.c (add_implicitly_declared_members): Use do_friend.
+       * method.c (implicitly_declare_fn): Fix friend handling.
+       (decl_remember_implicit_trigger_p): New.
+       (synthesize_method): Use it.
+       * decl2.c (mark_used): Use it.
+
+2020-02-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93650
+       PR c++/90691
+       * constexpr.c (maybe_constant_value): Correct earlier change.
+       (cxx_eval_binary_expression) [SPACESHIP_EXPR]: Pass lval through.
+       * method.c (genericize_spaceship): Wrap result in TARGET_EXPR.
+
+2020-02-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/69448
+       PR c++/80471
+       * type-utils.h (find_type_usage): Refactor to take a tree * and to
+       return a tree *, and update documentation accordingly.
+       * pt.c (make_auto_1): Set AUTO_IS_DECLTYPE when building a
+       decltype(auto) node.
+       (make_constrained_decltype_auto): No need to explicitly set
+       AUTO_IS_DECLTYPE anymore.
+       (splice_late_return_type): Use find_type_usage to find and
+       replace a possibly nested auto node instead of using is_auto.
+       Check test for is_auto into an assert when deciding whether
+       to late_return_type.
+       (type_uses_auto): Adjust the call to find_type_usage.
+       * parser.c (cp_parser_decltype): No need to explicitly set
+       AUTO_IS_DECLTYPE anymore.
+
+       * error.c (dump_decl) [CONCEPT_DECL]: Use dump_simple_decl.
+       (dump_simple_decl): Handle standard concept definitions as well as
+       variable concept definitions.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/93641
+       * error.c (dump_decl_name): Fix up last argument to strncmp.
+
+2020-02-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93618
+       * tree.c (array_of_unknown_bound_p): New.
+       * init.c (perform_member_init): Do nothing for flexible arrays.
+
+2020-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93633
+       * constexpr.c (cxx_eval_constant_expression): If obj is heap var with
+       ARRAY_TYPE, use the element type.  Punt if objtype after that is not
+       a class type.
+
+2020-02-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90691
+       * expr.c (fold_for_warn): Call maybe_constant_value.
+       * constexpr.c (struct constexpr_ctx): Add uid_sensitive bit-field.
+       (maybe_constant_value): Add uid_sensitive parm.
+       (get_fundef_copy): Don't copy if it's true.
+       (cxx_eval_call_expression): Don't instantiate if it's true.
+       (cxx_eval_outermost_constant_expr): Likewise.
+
+       PR c++/92852
+       * constexpr.c (maybe_constant_value): Don't unshare if the cached
+       value is the same as the argument.
+
+       * typeck.c (maybe_warn_about_returning_address_of_local): Add
+       location parameter.
+
+       * typeck2.c (process_init_constructor): Also clear TREE_SIDE_EFFECTS
+       if appropriate.
+
+2020-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93549
+       * constexpr.c (find_array_ctor_elt): If last element has no index,
+       for flag_checking verify all elts have no index.  If i is within the
+       elts, return it directly, if it is right after the last elt, append
+       if NULL index, otherwise force indexes on all elts.
+       (cxx_eval_store_expression): Allow cep->index to be NULL.
+
+2020-02-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92947 - Paren init of aggregates in unevaluated context.
+       * call.c (build_new_method_call_1): Don't check
+       cp_unevaluated_operand.  Check the return value of digest_init.
+
+2020-02-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92654
+       * tree.c (cp_walk_subtrees): Walk into type template arguments.
+       * cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Use typedef_variant_p
+       instead of TYPE_ALIAS_P.
+       * pt.c (push_template_decl_real): Likewise.
+       (find_parameter_packs_r): Likewise.  Remove dead code.
+       * error.c (find_typenames_r): Remove dead code.
+
+2020-02-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92517
+       * parser.c (cp_parser_constraint_primary_expression): Do the main
+       parse non-tentatively.
+
+2020-02-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93597 - ICE with lambda in operator function.
+       * name-lookup.c (maybe_save_operator_binding): Check is_overloaded_fn.
+
+2020-02-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93140
+       * pt.c (tsubst_decl) [PARM_DECL]: Check cp_unevaluated_operand in
+       handling of TREE_CHAIN for empty pack.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93557
+       * semantics.c (cp_build_vec_convert): Call decay_conversion on arg
+       prior to passing it to c_build_vec_convert.
+
+2020-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93559 - ICE with CONSTRUCTOR flags verification.
+       * decl.c (reshape_init_array_1): Don't reuse a CONSTRUCTOR with
+       TREE_SIDE_EFFECTS.
+
+2020-02-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92593
+       * decl.c (grokdeclarator): Reject field of current class type even
+       in a template.
+
+2020-02-05  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (maybe_promote_captured_temps): Increase the index
+       number for temporary variables' name.
+
+2020-02-05  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (build_co_await): Call convert_from_reference
+       to wrap co_await_expr with indirect_ref which avoid
+       reference/non-reference type confusion.
+
+       (co_await_expander):  Sink to call_expr if await_resume
+       is wrapped by indirect_ref.
+
+2020-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93551
+       * constraint.cc (satisfy_declaration_constraints): Check return
+       value of push_tinst_level.
+
+       PR c++/90951
+       * constexpr.c (cxx_eval_array_reference): {}-initialize missing
+       elements instead of value-initializing them.
+
+       PR c++/86917
+       * init.c (perform_member_init): Simplify.
+       * constexpr.c (cx_check_missing_mem_inits): Allow uninitialized
+       flexarray.
+       (cxx_eval_vec_init_1): Handle CONSTRUCTOR.
+
+2020-02-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (find_promise_type): Delete unused forward
+       declaration.
+       (struct coroutine_info): Add a bool for no promise type error.
+       (coro_promise_type_found_p): Only emit the error for a missing
+       promise once in each affected coroutine.
+
+2020-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/66477
+       * constexpr.c (cxx_eval_constant_expression) [PARM_DECL]: Don't
+       defer loading the value of a reference.
+
+2020-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91953
+       * constexpr.c (potential_constant_expression_1) [PARM_DECL]: Allow
+       empty class type.
+       [COMPONENT_REF]: A member function reference doesn't use the object
+       as an rvalue.
+
+2020-02-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/93458
+       * coroutines.cc (struct coroutine_info): Add a bool flag to note
+       that we emitted an error for a bad function return type.
+       (get_coroutine_info): Tolerate an unset info table in case of
+       missing traits.
+       (find_coro_traits_template_decl): In case of error or if we didn't
+       find a type template, note we emitted the error and suppress
+       duplicates.
+       (find_coro_handle_template_decl): Likewise.
+       (instantiate_coro_traits): Only check for error_mark_node in the
+       return from lookup_qualified_name. 
+       (coro_promise_type_found_p): Reorder initialization so that we check
+       for the traits and their usability before allocation of the info
+       table.  Check for a suitable return type and emit a diagnostic for
+       here instead of relying on the lookup machinery.  This allows the
+       error to have a better location, and means we can suppress multiple
+       copies.
+       (coro_function_valid_p): Re-check for a valid promise (and thus the
+       traits) before proceeding.  Tolerate missing info as a fatal error.
+
+2020-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/88256
+       * cp-gimplify.c (predeclare_vla): New.
+       (cp_genericize_r) [NOP_EXPR]: Call it.
+
+2020-02-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (transform_await_wrapper): Set actor funcion as
+       new context of label_decl.
+       (build_actor_fn): Fill new field of await_xform_data.
+
+2020-02-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93530 - ICE on invalid alignas in a template.
+       * decl.c (grokdeclarator): Call cplus_decl_attributes instead of
+       decl_attributes.
+
+2020-01-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/86216
+       * semantics.c (process_outer_var_ref): Capture VLAs even in
+       unevaluated context.
+
+       PR c++/14179
+       * decl.c (reshape_init_array_1): Reuse a single CONSTRUCTOR with
+       non-aggregate elements.
+       (reshape_init_array): Add first_initializer_p parm.
+       (reshape_init_r): Change first_initializer_p from bool to tree.
+       (reshape_init): Pass init to it.
+
+       PR c++/14179
+       * parser.c (cp_parser_initializer_list): Suppress location wrappers
+       after 256 elements.
+
+2020-01-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/82521
+       * pt.c (tsubst_copy_and_build) [EQ_EXPR]: Only suppress warnings if
+       the expression was dependent before substitution.
+
+2020-01-30  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (act_des_fn): New.
+       (morph_fn_to_coro): Call act_des_fn to build actor/destroy decls.
+       Access promise via actor function's frame pointer argument.
+       (build_actor_fn, build_destroy_fn): Use frame pointer argument.
+
+2020-01-30  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (co_await_expander): Handle type conversion case.
+
+2020-01-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90333
+       PR c++/89640
+       PR c++/60503
+       * parser.c (cp_parser_type_specifier_seq): Don't parse attributes in
+       a trailing return type.
+       (cp_parser_lambda_declarator_opt): Parse C++11 attributes before
+       parens.
+
+2020-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91754 - Fix template arguments comparison with class NTTP.
+       * pt.c (class_nttp_const_wrapper_p): New.
+       (template_args_equal): See through class_nttp_const_wrapper_p
+       arguments.
+
+2020-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92948 - Fix class NTTP with template arguments.
+       * pt.c (convert_nontype_argument): Use IMPLICIT_CONV_EXPR when
+       converting a value-dependent expression to a class type.
+       (tsubst_copy) <case VIEW_CONVERT_EXPR>: Allow IMPLICIT_CONV_EXPR
+       as the result of the tsubst_copy call.
+
+2020-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91118
+       * cp-gimplify.c (cxx_omp_predetermined_sharing): Return
+       OMP_CLAUSE_DEFAULT_SHARED for typeinfo decls.
+
+2020-01-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93442
+       * parser.c (cp_parser_lambda_expression): Clear in_discarded_stmt.
+
+       PR c++/93477
+       PR c++/91476
+       * decl2.c (copy_linkage): Do copy DECL_ONE_ONLY and DECL_WEAK.
+
+       PR c++/90546
+       * call.c (build_user_type_conversion_1): Allow a template conversion
+       returning an rvalue reference to bind directly to an lvalue.
+
+       PR c++/90731
+       * decl.c (grokdeclarator): Propagate eh spec from typedef.
+
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+       PR c++/92440
+       * pt.c (redeclare_class_template): Group couple of
+       errors and inform messages with auto_diagnostic_group.
+
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+       PR c++/92440
+       * pt.c (redeclare_class_template): Use inform
+       for the second location.
+
+2020-01-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90966
+       * pt.c (tsubst_copy) [STRING_CST]: Don't use fold_convert.
+
+2020-01-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/93443
+       * coroutines.cc (morph_fn_to_coro): Check the ramp return
+       value when it is constructed from the 'get return object'.
+
+2020-01-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/91826
+       * name-lookup.c (is_ancestor): Allow CHILD to be a namespace alias.
+
+2020-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90992
+       * except.c (maybe_noexcept_warning): Check DECL_IN_SYSTEM_HEADER and
+       temporarily enable -Wsystem-headers.  Change second warning to
+       conditional inform.
+
+       PR c++/90997
+       * semantics.c (finish_call_expr): Don't call
+       instantiate_non_dependent_expr before warn_for_memset.
+
+2020-01-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93414 - poor diagnostic for dynamic_cast in constexpr context.
+       * constexpr.c (cxx_eval_dynamic_cast_fn): Add a reference
+       dynamic_cast diagnostic.
+
+2020-01-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93400 - ICE with constrained friend.
+       * constraint.cc (maybe_substitute_reqs_for): New.
+       * decl.c (function_requirements_equivalent_p): Call it.
+       * pt.c (tsubst_friend_function): Only substitute
+       TEMPLATE_PARMS_CONSTRAINTS.
+       (tsubst_template_parms): Copy constraints.
+
+2020-01-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93279 - ICE with lambda in member operator.
+       * name-lookup.c (maybe_save_operator_binding): Don't remember
+       class-scope bindings.
+
+2020-01-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93377 - ICE with member alias in constraint.
+       * pt.c (any_template_parm_r): Look at template arguments for all
+       aliases, not only alias templates.
+
+2020-01-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93299 - ICE in tsubst_copy with parenthesized expression.
+       * pt.c (tsubst_copy): Handle a REF_PARENTHESIZED_P VIEW_CONVERT_EXPR.
+
+2020-01-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92852 - ICE with generic lambda and reference var.
+       * constexpr.c (maybe_constant_value): Likewise.
+
+2020-01-23  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/92804
+       * parser.c (cp_parser_nested_name_specifier_opt): Properly
+       diagnose concept-ids.
+
+2020-01-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93331 - ICE with __builtin_strchr.
+       * constexpr.c (cxx_eval_builtin_function_call): Use the original
+       argument if we didn't manage to extract a STRING_CST.
+
+       PR c++/93345 - ICE with defaulted dtor and template.
+       PR c++/33799
+       * decl.c (cxx_maybe_build_cleanup): Don't try to set
+       throwing_cleanup in a template.
+
+2020-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92907 - noexcept does not consider "const" in member functions.
+       * g++.dg/cpp0x/noexcept56.C: New test.
+
+2020-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93324 - ICE with -Wall on constexpr if.
+       * semantics.c (is_std_constant_evaluated_p): Check fndecl.
+
+2020-01-22  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (get_mapped_args): Avoid using auto_vec
+       as a vector element.  Release the vectors inside the lists
+       vector.
+       * parser.c (cp_literal_operator_id): Free the buffer.
+
+2020-01-22  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (finish_co_await_expr): Add error check on return
+       value of build_co_await.
+       (finish_co_yield_expr,): Ditto.
+
+2020-01-22  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * coroutines.cc (lookup_awaitable_member): Lookup an awaitable member.
+       (lookup_promise_method): Emit diagnostic when get NULL_TREE back only.
+       (build_co_await): Use lookup_awaitable_member instead of lookup_member.
+
+2020-01-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/60855 - ICE with sizeof VLA capture.
+       * lambda.c (is_lambda_ignored_entity): Don't look past VLA capture.
+
+       PR c++/90732 - ICE with VLA capture and generic lambda.
+       * pt.c (tsubst_lambda_expr): Repeat add_capture for VLAs.
+
+2020-01-21  Iain Sandoe  <iain@sandoe.co.uk>
+           Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (coro_promise_type_found_p): Check for NULL return
+       from complete_type_or_else.
+       (register_param_uses): Likewise.
+       (build_co_await): Do not try to use complete_type_or_else for void
+       types, otherwise for incomplete types, check for NULL return from
+       complete_type_or_else.
+
+2020-01-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91476 - anon-namespace reference temp clash between TUs.
+       * decl2.c (copy_linkage): Factor out of get_guard.
+       * call.c (make_temporary_var_for_ref_to_temp): Use it.
+       * decl.c (cp_finish_decomp): Use it.
+       (cp_finish_decl): determine_visibility sooner.
+
+2020-01-21  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * coroutines.cc (finish_co_await_expr): Set return value flag.
+       (finish_co_yield_expr, morph_fn_to_coro): Ditto.
+
+2020-01-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/33799 - destroy return value, take 2.
+       * cp-tree.h (current_retval_sentinel): New macro.
+       (struct language_function): Add throwing_cleanup bitfield.
+       * decl.c (cxx_maybe_build_cleanup): Set it.
+       * except.c (maybe_set_retval_sentinel)
+       (maybe_splice_retval_cleanup): New functions.
+       * parser.c (cp_parser_compound_statement): Call
+       maybe_splice_retval_cleanup.
+       * typeck.c (check_return_expr): Call maybe_set_retval_sentinel.
+
+       * parser.c (cp_parser_lambda_body): Use cp_parser_function_body.
+
+2020-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * coroutines.cc (get_fn_local_identifier): Fix NO_DOT_IN_LABEL
+       but non-NO_DOLLAR_IN_LABEL case build.
+
+2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * Make-lang.in: Add coroutines.o.
+       * cp-tree.h (lang_decl-fn): coroutine_p, new bit.
+       (DECL_COROUTINE_P): New.
+       * lex.c (init_reswords): Enable keywords when the coroutine flag
+       is set,
+       * operators.def (co_await): New operator.
+       * call.c (add_builtin_candidates): Handle CO_AWAIT_EXPR.
+       (op_error): Likewise.
+       (build_new_op_1): Likewise.
+       (build_new_function_call): Validate coroutine builtin arguments.
+       * constexpr.c (potential_constant_expression_1): Handle
+       CO_AWAIT_EXPR, CO_YIELD_EXPR, CO_RETURN_EXPR.
+       * coroutines.cc: New file.
+       * cp-objcp-common.c (cp_common_init_ts): Add CO_AWAIT_EXPR,
+       CO_YIELD_EXPR, CO_RETRN_EXPR as TS expressions.
+       * cp-tree.def (CO_AWAIT_EXPR, CO_YIELD_EXPR, (CO_RETURN_EXPR): New.
+       * cp-tree.h (coro_validate_builtin_call): New.
+       * decl.c (emit_coro_helper): New.
+       (finish_function): Handle the case when a function is found to
+       be a coroutine, perform the outlining and emit the outlined
+       functions. Set a bit to signal that this is a coroutine component.
+       * parser.c (enum required_token): New enumeration RT_CO_YIELD.
+       (cp_parser_unary_expression): Handle co_await.
+       (cp_parser_assignment_expression): Handle co_yield.
+       (cp_parser_statement): Handle RID_CO_RETURN.
+       (cp_parser_jump_statement): Handle co_return.
+       (cp_parser_operator): Handle co_await operator.
+       (cp_parser_yield_expression): New.
+       (cp_parser_required_error): Handle RT_CO_YIELD.
+       * pt.c (tsubst_copy): Handle CO_AWAIT_EXPR.
+       (tsubst_expr): Handle CO_AWAIT_EXPR, CO_YIELD_EXPR and
+       CO_RETURN_EXPRs.
+       * tree.c (cp_walk_subtrees): Likewise.
+
+2020-01-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92531 - ICE with noexcept(lambda).
+       * pt.c (uses_template_parms): Don't try to enumerate all the
+       expression cases.
+
+2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93228
+       * parser.c (cp_parser_template_name): Look up deprecated attribute
+       in DECL_TEMPLATE_RESULT or its type's attributes.
+
+2020-01-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93286 - ICE with __is_constructible and variadic template.
+       * pt.c (tsubst) [TREE_LIST]: Handle pack expansion.
+       (tsubst_copy_and_build) [TRAIT_EXPR]: Always use tsubst for type2.
+
+       PR c++/93280 - ICE with aggregate assignment and DMI.
+       * init.c (get_nsdmi): Set TARGET_EXPR_DIRECT_INIT_P here.
+       * typeck2.c (digest_nsdmi_init): Not here.
+
+2020-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/91073
+       * cp-tree.h (is_constrained_auto): New.
+       * parser.c (cp_parser_maybe_commit_to_declaration): Correctly
+       handle concept-check expressions; take a cp_decl_specifier_seq*
+       instead of a bool.
+       (cp_parser_condition): Update call.
+       (cp_parser_simple_declaration): Likewise.
+       (cp_parser_placeholder_type_specifier): Correctly handle
+       concept-check expressions.
+
+2020-01-15  Jason Merrill  <jason@redhat.com>
+
+       Revert
+       PR c++/33799 - destroy return value if local cleanup throws.
+       * cp-tree.h (current_retval_sentinel): New macro.
+       * decl.c (start_preparsed_function): Set up cleanup for retval.
+       * typeck.c (check_return_expr): Set current_retval_sentinel.
+
+       PR c++/93257 - consteval void function.
+       * constexpr.c (verify_constant): Allow void_node.
+
+       PR c++/92871 - bad code with xvalue and GNU ?: extension.
+       * call.c (prevent_lifetime_extension): New.
+       (build_conditional_expr_1): Use it.
+
+2020-01-14  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/90916
+       * pt.c (retrieve_specialization): Use get_template_info, not open
+       coding access.
+
+       PR c++/90916
+       * pt.c (retrieve_specialization): Get the TI from the decl or the
+       classtype as appropriate.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * cp-gimplify.c (source_location_table_entry_hash::empty_zero_p):
+       New static constant.
+       * cp-tree.h (named_decl_hash::empty_zero_p): Likewise.
+       (struct named_label_hash::empty_zero_p): Likewise.
+       * decl2.c (mangled_decl_hash::empty_zero_p): Likewise.
+
+2020-01-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92590 - wrong handling of inherited default ctor.
+       * class.c (add_method): A constrained inherited ctor doesn't hide an
+       implicit derived ctor.
+       Revert:
+       PR c++/92552 - ICE with inherited constrained default ctor.
+       * pt.c (instantiate_class_template_1): Copy
+       TYPE_HAS_USER_CONSTRUCTOR.
+       PR c++/91930 - ICE with constrained inherited default ctor.
+       * name-lookup.c (do_class_using_decl): Set TYPE_HAS_USER_CONSTRUCTOR
+       for inherited constructor.
+       PR c++/92594 - ICE with inherited trivial default ctor.
+       * method.c (trivial_fn_p): Treat an inherited default constructor
+       like a normal default constructor.
+
+       PR c++/92594 - ICE with inherited trivial default ctor.
+       * method.c (trivial_fn_p): Treat an inherited default constructor
+       like a normal default constructor.
+
+       PR c++/92009 - ICE with punning of typeid.
+       * rtti.c (get_tinfo_desc): Call xref_basetypes.
+       * constexpr.c (cxx_fold_indirect_ref): Don't strip
+       REINTERPRET_CAST_P.
+
+2020-01-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92746 - ICE with noexcept of function concept check.
+       * except.c (check_noexcept_r): Handle concept-check.
+
+       PR c++/92582 - ICE with member template as requirement.
+       * pt.c (struct find_template_parameter_info): Add ctx_parms.
+       (any_template_parm_r): Handle TEMPLATE_DECL.
+       (find_template_parameters): Take parms instead of their depth.
+       * constraint.cc (build_parameter_mapping): Pass them.
+
+       PR c++/33799 - destroy return value if local cleanup throws.
+       * cp-tree.h (current_retval_sentinel): New macro.
+       * decl.c (start_preparsed_function): Set up cleanup for retval.
+       * typeck.c (check_return_expr): Set current_retval_sentinel.
+
+       PR c++/93238 - short right-shift with enum.
+       * typeck.c (cp_build_binary_op): Use folded op1 for short_shift.
+
+2020-01-10  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (cp_build_binary_op): Restore short_shift code.
+
+       PR c++/93143 - incorrect tree sharing with constexpr.
+       * constexpr.c (cxx_eval_outermost_constant_expr): Don't assume
+       CONSTRUCTORs are already unshared.
+
+       PR c++/93173 - incorrect tree sharing.
+       PR c++/93033
+       * cp-gimplify.c (cp_gimplify_init_expr, cp_gimplify_expr): Use
+       copy_if_shared after cp_genericize_tree.
+       * typeck2.c (split_nonconstant_init): Don't unshare here.
+
+2020-01-08  Jason Merrill  <jason@redhat.com>
+
+       * cp-gimplify.c (cp_gimplify_expr) [TARGET_EXPR]: Check
+       TARGET_EXPR_DIRECT_INIT_P.
+       * constexpr.c (cxx_eval_constant_expression): Likewise.
+
+2020-01-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91369 - constexpr destructor and member initializer.
+       * constexpr.c (cxx_eval_store_expression): Look through TARGET_EXPR
+       when not preevaluating.
+
+2020-01-08  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_eval_call_expression): Remove DECL_BY_REFERENCE
+       support.
+
+2020-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * init.c (build_new): Add location_t parameter and use it throughout.
+       (build_raw_new_expr): Likewise.
+       * parser.c (cp_parser_new_expression): Pass the combined_loc.
+       * pt.c (tsubst_copy_and_build): Adjust call.
+       * cp-tree.h: Update declarations.
+
+2020-01-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/47877 - -fvisibility-inlines-hidden and member templates.
+       * decl2.c (determine_visibility): -fvisibility-inlines-hidden beats
+       explicit class visibility for a template.
+
+2020-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * mangle.c (mangle_type_attribute_p): New function, split out from...
+       (write_CV_qualifiers_for_type): ...here.  Don't mangle attributes
+       that contain a space.
+
+2020-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91369
+       * constexpr.c (struct constexpr_global_ctx): Add heap_alloc_count
+       member, initialize it to zero in ctor.
+       (cxx_eval_call_expression): Bump heap_dealloc_count when deleting
+       a heap object.  Don't cache calls to functions which allocate some
+       heap objects and don't deallocate them or deallocate some heap
+       objects they didn't allocate.
+
+2020-01-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92552 - ICE with inherited constrained default ctor.
+       * pt.c (instantiate_class_template_1): Copy
+       TYPE_HAS_USER_CONSTRUCTOR.
+       * class.c (one_inherited_ctor): Don't set it here.
+
+2020-01-06  Andrew Sutton  <asutton@lock3software.com>
+
+       PR c++/92739 - parsing requires clause with attributes.
+       * parser.c (cp_parser_constraint_requires_parens): Exclude
+       attributes as postfix expressions.
+
+2020-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93138
+       * parser.c (cp_parser_check_class_key): Disable access checks for the
+       simple name lookup.
+       (cp_parser_maybe_warn_enum_key): Likewise.  Return early if
+       !warn_redundant_tags.
+
+2010-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93046
+       * cp-gimplify.c (cp_gimplify_init_expr): Don't look through
+       TARGET_EXPR if it has been gimplified already.
+
+2020-01-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93033 - incorrect tree node sharing with array init.
+       * typeck2.c (split_nonconstant_init): Unshare non-decl.
+       * cp-gimplify.c (cp_gimplify_init_expr): Only split if -fexceptions.
+
+2020-01-02  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (invalid_nontype_parm_type_p): Reject class placeholder in
+       C++17.
+
+2020-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/90677
+       * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name
+       has not been found, rather than error_mark_node.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/d/ChangeLog-2020 b/gcc/d/ChangeLog-2020
new file mode 100644 (file)
index 0000000..bb82727
--- /dev/null
@@ -0,0 +1,1030 @@
+2020-12-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 2bd4fc3fe.
+
+2020-12-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (deps_add_target): Handle quoting ':' character.
+       Reimplement backslash tracking.
+
+2020-12-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-tree.h (d_eval_constant_expression): Add location argument.
+       * d-builtins.cc (d_eval_constant_expression): Give generated constants
+       a proper file location.
+       * d-compiler.cc (Compiler::paintAsType): Pass expression location to
+       d_eval_constant_expression.
+       * d-frontend.cc (eval_builtin): Likewise.
+
+2020-12-23  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98427
+       * types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all
+       non-trivial types as BLKmode.
+       (TypeVisitor::visit (TypeClass *)): Likewise.
+
+2020-12-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98277
+       * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of
+       DECL_INITIAL for manifest constants to ...
+       (get_symbol_decl): ... here.
+
+2020-11-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.def (d_minfo_section): New hook.
+       (d_minfo_start_name): New hook.
+       (d_minfo_end_name): New hook.
+       * modules.cc: Include d-target.h.
+       (register_moduleinfo): Update to use new targetdm hooks.
+
+2020-11-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/87788
+       * dmd/MERGE: Merge upsream dmd 45fa6cfd2.
+
+2020-11-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd db0df3f7e.
+       * types.cc (TypeVisitor::visit (TypeFunction *)): Remove LINKpascal.
+
+2020-11-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics.
+       * intrinsics.def (INTRINSIC_COS): Add float and double overloads.
+       (INTRINSIC_FABS): Likewise.
+       (INTRINSIC_LDEXP): Likewise.
+       (INTRINSIC_RINT): Likewise.
+       (INTRINSIC_RNDTOL): Likewise.
+       (INTRINSIC_SIN): Likewise.
+       (INTRINSIC_TOPREC): Adjust signature.
+
+2020-11-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97889
+       * expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of
+       evaluation on left and right hand side expressions.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/97911
+       * Make-lang.in (d.serial): Change from goal to a variable.
+       (.PHONY): Drop d.serial and d.prev.
+       (d21$(exeext)): Depend on $(d.serial) rather than d.serial.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (d.serial): New goal.
+       (.PHONY): Add d.serial d.prev.
+       (d21$(exeext)): Depend on d.prev.  Call LINK_PROGRESS.
+
+2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97843
+       * d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in
+       the right hand side of an assignment.
+       * expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR
+       on the element to append if it is a CALL_EXPR.
+
+2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97842
+       * dmd/MERGE: Merge upstream dmd b6a779e49
+
+2020-11-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine
+       which built-in copysign function to call.
+
+2020-11-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97644
+       * dmd/MERGE: Merge upstream dmd 95044d8e4.
+       * d-target.cc (TargetCPP::thunkMangle): New function.
+       * decl.cc (finish_thunk): Don't force expand thunks for external
+       functions.
+       (make_thunk): Emit thunks only if the function has a definition.
+       Generate correct mangling for thunks to C++ classes.
+
+2020-11-10  Strager Neds  <strager.nds@gmail.com>
+
+       * decl.cc (finish_thunk): Use new overload of
+       set_decl_section_name
+
+2020-10-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd bec5973b0.
+       * d-target.cc (Target::critsecsize): Remove.
+       * d-target.def: Remove d_critsec_size.
+
+2020-10-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 0fcdaab32
+
+2020-10-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * decl.cc (finish_thunk): Update for new thunk api.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * decl.cc: Include tree-nested.h
+       (get_symbol_decl): Update for new nested function info.
+
+2020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 70aabfb51
+
+2020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 3a9790525
+       * d-target.cc (Target::isVectorTypeSupported): Adjust return codes for
+       invalid size and invalid base type.
+
+2020-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97002
+       * d-codegen.cc (d_build_call): Set input_location on CALL_EXPR.
+       * d-lang.cc: Include function.h.
+       (d_type_promotes_to): Do default conversions for C and C++ functions.
+       * intrinsics.cc (expand_intrinsic_vaarg): Use build1_loc to build
+       VA_ARG_EXPR.
+
+2020-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_build_d_type_nodes): Call build_ctype() on all
+       basic front-end types.
+       * decl.cc (DeclVisitor::visit (EnumDeclaration *)): Always add decl to
+       current binding level.
+       (build_type_decl): Build TYPE_DECL as a typedef if not for an enum or
+       record type.
+       * types.cc (TypeVisitor::visit (TypeEnum *)): Set underlying type for
+       ENUMERAL_TYPEs.  Build TYPE_DECL for non-numeric enums.
+
+2020-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lang.opt (Waddress): Enable warning by -Wextra.
+       (Wcast-result): Likewise.
+       (Wunknown-pragmas): Likewise.
+
+2020-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't warn about
+       variables initialized with 'void'.
+
+2020-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-convert.cc (convert_expr): Warn when casting from a D class to a
+       C++ class.
+
+2020-09-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96924
+       * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force
+       temporaries needlessly.
+
+2020-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96869
+       * d-builtins.cc (build_frontend_type): Don't expose intrinsics that
+       use unsupported vector types.
+       * d-target.cc (Target::isVectorTypeSupported): Restrict to supporting
+       only if TARGET_VECTOR_MODE_SUPPORTED_P is true.  Don't allow complex
+       or boolean vector types.
+
+2020-08-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.cc (Target::_init): Don't set classinfosize.
+       * d-tree.h (base_vtable_offset): Move under typeinfo.cc section.
+       * decl.cc (base_vtable_offset): Move to...
+       * typeinfo.cc (base_vtable_offset): ...here.  Get base offset from
+       internal TypeInfo_Class type.
+       * intrinsics.cc (expand_intrinsic_bt): Use pointer TYPE_SIZE for
+       setting bitsize value.  Build integer constants of correct type.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd e49192807
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96156
+       * d-frontend.cc (retStyle): Only return RETstack for struct and static
+       array types.
+       * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Use NRVO return
+       for all TREE_ADDRESSABLE types.  Set shidden to the RESULT_DECL.
+       * expr.cc (ExprVisitor::visit (CallExp *)): Force TARGET_EXPR if the
+       'this' pointer reference is a CONSTRUCTOR.
+       (ExprVisitor::visit (StructLiteralExp *)): Generate assignment to the
+       symbol to initialize with literal.
+       * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returning
+       struct literals and write directly into the RESULT_DECL.
+       * dmd/MERGE: Merge upstream dmd fe5f388d8.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd cb4a96fae
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_parse_file): Use read() to load contents from stdin,
+       allow the front-end to free the memory after parsing.
+       * dmd/MERGE: Merge upstream dmd 2cc25c219.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96153
+       * d-codegen.cc (build_address): Create a temporary for CALL_EXPRs
+       returning trivial aggregates, pre-filling it with zeroes.
+       (build_memset_call): Use build_zero_cst if setting the entire object.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96157
+       * d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays.
+       * types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base
+       type to static array.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-gimplify.cc (d_gimplify_expr): Move lowering of each tree node to
+       separate functions.
+       (d_gimplify_modify_expr): New function.
+       (d_gimplify_addr_expr): New function.
+       (d_gimplify_call_expr): New function.
+       (d_gimplify_unsigned_rshift_expr): New function.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (D_OBJS): Add d-gimplify.o.
+       * d-lang.cc (empty_modify_p): Move to d-gimplify.cc.
+       (d_gimplify_expr): Likewise.
+       * d-tree.h (d_gimplify_expr): Declare.
+       * d-gimplify.cc: New file.
+
+2020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 1b5a53d01.
+
+2020-08-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96301
+       * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return
+       non-trivial structs by invisible reference.
+
+2020-08-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96153
+       * d-tree.h (build_expr): Add literalp argument.
+       * expr.cc (ExprVisitor): Add literalp_ field.
+       (ExprVisitor::ExprVisitor): Initialize literalp_.
+       (ExprVisitor::visit (AssignExp *)): Call memset() on blits where RHS
+       is a struct literal.  Elide assignment if initializer is all zeroes.
+       (ExprVisitor::visit (CastExp *)): Forward literalp_ to generation of
+       subexpression.
+       (ExprVisitor::visit (AddrExp *)): Likewise.
+       (ExprVisitor::visit (ArrayLiteralExp *)): Use memset() to pre-fill
+       object with zeroes.  Set literalp in subexpressions.
+       (ExprVisitor::visit (StructLiteralExp *)): Likewise.
+       (ExprVisitor::visit (TupleExp *)): Set literalp in subexpressions.
+       (ExprVisitor::visit (VectorExp *)): Likewise.
+       (ExprVisitor::visit (VectorArrayExp *)): Likewise.
+       (build_expr): Forward literal_p to ExprVisitor.
+
+2020-08-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96429
+       * expr.cc (ExprVisitor::visit (BinExp*)): Use EXACT_DIV_EXPR for
+       pointer diff expressions.
+
+2020-08-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96254
+       * d-codegen.cc (error_no_frame_access): New.
+       (get_frame_for_symbol): Use fdparent name in error message.
+       (get_framedecl): Replace call to assert with error.
+       * d-tree.h (error_no_frame_access): Declare.
+       * decl.cc (get_decl_tree): Detect recursion and error.
+
+2020-08-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96250
+       * dmd/MERGE: Merge upstream dmd c2274e56a.
+
+2020-07-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96393
+       * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for
+       btr32 intrinsic.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96152
+       * d-codegen.cc (build_array_from_exprs): New function.
+       * d-tree.h (build_array_from_exprs): Declare.
+       * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use
+       build_array_from_exprs to generate key and value arrays.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96154
+       * gdc.texi (Warnings): Document -Wvarargs.
+       * lang.opt: Add -Wvarargs
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96140
+       * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as
+       arguments to va_arg().
+       (expand_intrinsic_vastart): Handle ref parameters as arguments to
+       va_start().
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking
+       for simple array assignments.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (build_memcmp_call): New function.
+       (build_memcpy_call): New function.
+       (build_memset_call): New function.
+       (build_float_identity): Call build_memcmp_call.
+       (lower_struct_comparison): Likewise.
+       (build_struct_comparison): Likewise.
+       * d-tree.h (build_memcmp_call): Declare.
+       (build_memcpy_call): Declare.
+       (build_memset_call): Declare.
+       * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call.
+       (ExprVisitor::visit (AssignExp *)): Call build_memset_call.
+       (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call.
+       (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (needs_postblit): Move out of ExprVisitor as a static
+       function.  Update all callers.
+       (needs_dtor): Likewise.
+       (lvalue_p): Likewise.
+       (binary_op): Likewise.
+       (binop_assignment): Likewise.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * intrinsics.cc (expand_intrinsic_rotate): Add function.
+       (maybe_expand_intrinsic): Handle rol and ror intrinsics.
+       * intrinsics.def (ROL): Add intrinsic.
+       (ROL_TIARG): Add intrinsic.
+       (ROR): Add intrinsic.
+       (ROR_TIARG): Add intrinsic.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B.
+       * intrinsics.cc (intrinsic_decl): Add built_in field.
+       (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN.
+       (maybe_set_intrinsic): Handle new intrinsic codes.
+       (expand_intrinsic_bt): Likewise.
+       (expand_intrinsic_checkedint): Likewise.
+       (expand_intrinsic_bswap): Remove.
+       (expand_intrinsic_sqrt): Remove.
+       (maybe_expand_intrinsic): Group together intrinsic cases that map
+       directly to gcc built-ins.
+       * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B.
+       Update all callers to pass equivalent DECL_FUNCTION_CODE.
+       (DEF_CTFE_BUILTIN): Likewise.
+       (STD_COS): Remove intrinsic.
+       (STD_FABS): Remove intrinsic.
+       (STD_LDEXP): Remove intrinsic.
+       (STD_RINT): Remove intrinsic.
+       (STD_RNDTOL): Remove intrinsic.
+       (STD_SIN): Remove intrinsic.
+       (STD_SQRTF): Remove intrinsic.
+       (STD_SQRT): Remove intrinsic.
+       (STD_SQRTL): Remove intrinsic.
+
+2020-06-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 8508c4e68.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (get_symbol_decl): Do not implicitly set
+       DECL_DECLARED_INLINE_P on member functions.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_gimplify_expr_p): Make static.
+       (d_parse_file): Likewise.
+       (d_signed_or_unsigned_type): Move to types.cc.
+       (d_unsigned_type): Likewise.
+       (d_signed_type): Likewise.
+       * d-tree.h (d_unsigned_type): Change the location in file.
+       (d_signed_type): Likewise.
+       * types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc.
+       (d_unsigned_type): Likewise.
+       (d_signed_type): Likewise.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95075
+       * dmd/MERGE: Merge upstream dmd 4be011355.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95250
+       * dmd/MERGE: Merge upstream dmd 90450f3ef.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_parse_file): Replace OutBuffer with obstack.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 5fc1806cd.
+       * d-lang.cc (d_parse_file): Use peekChars to get string representation
+       of OutBuffer data.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95173
+       * d-attribs.cc (uda_attribute_p): Don't search target attribute table
+       if NULL.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set
+       DECL_INITIAL if initializer is 'void'.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_init_options): Turn on deprecation warnings by default.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 4f1046222.
+       * toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ...
+       (IRVisitor::visit (ScopeGuardStatement *)): ... this.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (handle_noreturn_attribute): Remove names of unused
+       function parameters.
+       (handle_leaf_attribute): Likewise.
+       (handle_const_attribute): Likewise.
+       (handle_malloc_attribute): Likewise.
+       (handle_pure_attribute): Likewise.
+       (handle_novops_attribute): Likewise.
+       (handle_nonnull_attribute): Likewise.
+       (handle_nothrow_attribute): Likewise.
+       (handle_type_generic_attribute): Likewise.
+       (handle_transaction_pure_attribute): Likewise.
+       (handle_returns_twice_attribute): Likewise.
+       (handle_fnspec_attribute): Likewise.
+       (handle_always_inline_attribute): Likewise.
+       (d_handle_noinline_attribute): Likewise.
+       (d_handle_forceinline_attribute): Likewise.
+       (d_handle_flatten_attribute): Likewise.
+       (d_handle_noclone_attribute): Likewise.
+       (d_handle_section_attribute): Likewise.
+       (d_handle_alias_attribute): Likewise.
+       (d_handle_weak_attribute): Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc: Update code formatting in a consistant style.
+       * d-builtins.cc: Likewise.
+       * d-codegen.cc: Likewise.
+       * d-compiler.cc: Likewise.
+       * d-convert.cc: Likewise.
+       * d-diagnostic.cc: Likewise.
+       * d-frontend.cc: Likewise.
+       * d-lang.cc: Likewise.
+       * d-longdouble.cc: Likewise.
+       * d-port.cc: Likewise.
+       * d-spec.cc: Likewise.
+       * d-tree.h: Likewise.
+       * decl.cc: Likewise.
+       * expr.cc: Likewise.
+       * longdouble.h: Likewise.
+       * modules.cc: Likewise.
+       * toir.cc: Likewise.
+       * typeinfo.cc: Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc: Update quotation formatting of comments.
+       * d-codegen.cc: Likewise.
+       * d-lang.cc: Likewise.
+       * decl.cc: Likewise.
+       * expr.cc: Likewise.
+       * imports.cc: Likewise.
+       * runtime.cc: Likewise.
+       * toir.cc: Likewise.
+       * typeinfo.cc: Likewise.
+       * types.cc: Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
+       (d_diagnostic_report_diagnostic): Don't free xformat.
+       * d-lang.cc (struct d_option_data): Change deps_target type from
+       OutBuffer to vec <const char *>.
+       (deps_add_target): Update to push each target to deps_target.
+       (deps_write_string): New function.
+       (deps_write): Change buffer type to obstack* and remove colmax.
+       (d_init_options): Update initialization of deps_target.
+       (d_parse_file): Replace OutBuffer with obstack.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_parse_file): Replace uses of File with FILE.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (build_array_bounds_call): New function.
+       (build_bounds_condition): Use build_array_bounds_call.
+       * d-lang.cc (d_init_options): Explicitly set default check action to
+       CHECKACTION_D.
+       (d_post_options): Set check action to CHECKACTION_C if the flag
+       -fno-druntime was seen.
+       * d-tree.h (build_array_bounds_call): Declare.
+       * expr.cc (ExprVisitor::visit (AssertExp *)): Use
+       build_array_bounds_call.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (build_attributes): Use toStringExp instead of cast.
+       * toir.cc (IRVisitor::visit): Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
+       explicit casts.
+       * d-codegen.cc (d_build_call): Likewise.
+       * d-compiler.cc (Compiler::paintAsType): Likewise.
+       * decl.cc (ExprVisitor::visit): Likewise.
+       (layout_class_initializer): Likewise.
+       * expr.cc (ExprVisitor::lvalue_p): Likewise
+       (ExprVisitor::visit): Likewise.
+       * types.cc (layout_aggregate_members): Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
+       * decl.cc (DeclVisitor::visit): Likewise.
+       * toir.cc (IRVisitor::visit): Likewise.
+       * typeinfo.cc (TypeInfoVisitor::visit): Likewise.
+
+2020-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
+       instead of explicit casts.
+       (d_build_builtins_module): Likewise.
+       * d-codegen.cc (get_array_length): Likewise.
+       (identity_compare_p): Likewise.
+       (lower_struct_comparison): Likewise.
+       (build_array_from_val): Likewise.
+       (array_bounds_check): Likewise.
+       (get_function_type): Likewise.
+       (d_build_call): Likewise.
+       * d-compiler.cc (Compiler::paintAsType): Likewise.
+       * d-convert.cc (convert_expr): Likewise.
+       (convert_for_assignment): Likewise.
+       * d-lang.cc (d_classify_record): Likewise.
+       (d_build_eh_runtime_type): Likewise.
+       * decl.cc (DeclVisitor::visit): Likewise.
+       * expr.cc (ExprVisitor::needs_postblit): Likewise.
+       (ExprVisitor::needs_dtor): Likewise.
+       (ExprVisitor::visit): Likewise.
+       * imports.cc (ImportVisitor::visit): Likewise.
+       * typeinfo.cc (get_typeinfo_kind): Likewise.
+       (TypeInfoVisitor::visit): Likewise.
+       (TypeDeclInfoVisitor::visit): Likewise.
+       * types.cc (merge_aggregate_types): Likewise.
+       (TypeVisitor::visit): Likewise.
+
+2020-06-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
+       lengths, no functional change.
+       * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise.
+       (layout_classinfo_interfaces): Likewise.
+
+2020-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 13d67c575.
+       * d-builtins.cc (build_frontend_type): Update call to
+       TypeVector::create.
+       * d-frontend.cc (Global::_init): Move setting of errorLimit to ...
+       * d-lang.cc (d_init_options): ... here.  Update for new field
+       location of errorLimit.
+       (d_post_options): Likewise.
+       * d-port.cc (Port::readwordLE): Update signature.
+       (Port::readwordBE): Likewise.
+       (Port::readlongLE): Likewise.
+       (Port::readlongBE): Likewise.
+       * decl.cc (get_symbol_decl): Update for new field types.
+
+2020-06-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95573
+       * dmd/MERGE: Merge upstream dmd 5041e56f1.
+
+2020-06-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 955b8b36f.
+       * expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ...
+       (ExprVisitor::visit (LogicalExp *)): ... this.  Handle both 'and if'
+       and 'or if' expression nodes.
+       (ExprVisitor::visit (OrOrExp *)): Remove.
+
+2020-06-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 73d8e2fec.
+       * decl.cc (get_symbol_decl): Use new Prot::Kind enum.
+       * modules.cc (get_internal_fn): Likewise.
+
+2020-06-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 108ca1bcd.
+       * d-diagnostic.cc (expand_d_format): Adjust to use extractChars().
+       * d-frontend.cc (Loc::toChars): Likewise.
+       * d-lang.cc (deps_write): Likewise.
+       (d_parse_file): Likewise.
+       * decl.cc (d_mangle_decl): Likewise.
+       * intrinsics.cc (maybe_set_intrinsic): Likewise.
+
+2020-06-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd b0df0e982.
+       * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p.
+       * d-codegen.cc (declaration_type): Call TypeFunction::create with
+       argument VARARGnone.
+       (parameter_type): Likewise.
+       (d_build_call): Use new field names and member functions.
+       * d-target.cc (Target::cppParameterType): Call TypeFunction::create
+       with argument VARARGnone.
+       * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names
+       and member functions.
+
+2020-06-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 1831b24ff.
+       * d-lang.cc (d_init_options): Remove initialization of updated fields.
+       (d_handle_option): Adjust for new field types.
+
+2020-06-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd cef1e7991.
+       * d-lang.cc (d_parse_file): Adjust for new field types.
+
+2020-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 740f3d1ea.
+       * d-lang.cc (d_handle_option): Use new fields to save debug and
+       version levels passed over command-line.
+       (d_post_options): Add them to front-end here.
+
+2020-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd f5638c7b8.
+       * d-builtins.cc (d_init_versions): Use new CHECKENABLE enum.
+       * d-codegen.cc (array_bounds_check): Likewise.
+       (build_frame_type): Likewise.
+       (get_frameinfo): Likewise.
+       * d-lang.cc (d_init_options): Likewise.
+       (d_init_options_struct): Don't initialize x_flag_bounds_check.
+       (d_handle_option): Use new CHECKENABLE enum.
+       (d_post_options): Likewise.  Set flag_bounds_check here.
+       * expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum.
+
+2020-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 56f0a65c4.
+       * d-builtins.cc (build_frontend_type): Remove static.
+       (d_build_builtins_module): Use target.va_listType() to get front-end
+       type for va_list.
+       (d_init_builtins): Move creation of va_list to Target::va_listType.
+       * d-codegen.cc (build_interface_binfo): Use new target global.
+       (build_vindex_ref): Likewise.
+       (identity_compare_p): Likewise.
+       * d-ctfloat.cc (CTFloat::parse): Likewise.
+       * d-lang.cc (d_init): Likewise.
+       * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise.
+       (Port::isFloat64LiteralOutOfRange): Likewise.
+       * d-target.cc (define_float_constants): Initialize constants through a
+       reference, instead of setting globals.
+       (Target::_init): Initialize new fields instead of setting globals.
+       (Target::va_listType): Build front-end type from va_list_type_node.
+       (Target::toCppMangle): Renamed to ...
+       (TargetCPP::toMangle): ... this.
+       (Target::cppTypeInfoMangle): Renamed to ...
+       (TargetCPP::typeInfoMangle): ... this.
+       (Target::cppTypeMangle): Renamed to ...
+       (TargetCPP::typeMangle): this.
+       (Target::cppParameterType): Renamed to ...
+       (TargetCPP::parameterType): ... this.  Use target.va_listType() to get
+       front-end type for va_list.
+       (Target::cppFundamentalType): Renamed to ...
+       (TargetCPP::fundamentalType): ... this.
+       * d-tree.h (build_frontend_type): Declare.
+       * decl.cc (base_vtable_offset): Use new target global.
+       * typeinfo.cc (layout_classinfo_interfaces): Likewise.
+       (layout_cpp_typeinfo): Likewise.
+       * types.cc (valist_array_p): Use target.va_listType() to get front-end
+       type for va_list.
+       (layout_aggregate_type): Use new target global.
+
+2020-06-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 6d5bffa54.
+       * d-builtins.cc (maybe_set_builtin_1): Update call to
+       Condition::include().
+       * decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise.
+       * types.cc (layout_aggregate_members): Likewise.
+
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 48d704f08.
+       * d-attribs.cc (build_attributes): Use new field name.
+       * d-builtins.cc (build_frontend_type): Likewise.
+       (maybe_set_builtin_1): Likewise.
+       (d_maybe_set_builtin): Likewise.
+       * d-codegen.cc (build_interface_binfo): Likewise.
+       (identity_compare_p): Likewise.
+       (lower_struct_comparison): Likewise.
+       (build_struct_comparison): Likewise.
+       (d_build_call): Likewise.
+       (build_frame_type): Likewise.
+       (build_closure): Likewise.
+       * d-compiler.cc (Compiler::paintAsType): Likewise.
+       (Compiler::loadModule): Likewise.
+       * d-incpath.cc (add_globalpaths): Likewise.
+       (add_filepaths): Likewise.
+       (add_import_paths): Likewise.
+       * d-lang.cc (deps_write): Likewise.
+       (d_parse_file): Likewise.
+       * decl.cc (gcc_attribute_p): Likewise.
+       (base_vtable_offset): Likewise.
+       (get_vtable_decl): Likewise.
+       (build_class_instance): Likewise.
+       * expr.cc (class ExprVisitor): Likewise.
+       * modules.cc (layout_moduleinfo_fields): Likewise.
+       (layout_moduleinfo): Likewise.
+       (build_module_tree): Likewise.
+       * toir.cc (class IRVisitor): Likewise.
+       * typeinfo.cc (class TypeInfoVisitor): Likewise.
+       (layout_classinfo_interfaces): Likewise.
+       * types.cc (layout_aggregate_members): Likewise.
+       (layout_aggregate_type): Likewise.
+
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 47ed0330f.
+
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o.
+       * d-frontend.cc (Port::memicmp): Move to d-port.cc.
+       (Port::strupr): Likewise.
+       (Port::isFloat32LiteralOutOfRange): Likewise.
+       (Port::isFloat64LiteralOutOfRange): Likewise.
+       (Port::readwordLE): Likewise.
+       (Port::readwordBE): Likewise.
+       (Port::readlongLE): Likewise.
+       (Port::readlongBE): Likewise.
+       (Port::valcpy): Likewise.
+       (CTFloat::fabs): Move to d-ctfloat.cc.
+       (CTFloat::ldexp): Likewise.
+       (CTFloat::isIdentical): Likewise.
+       (CTFloat::isNaN): Likewise.
+       (CTFloat::isSNaN): Likewise.
+       (CTFloat::isInfinity): Likewise.
+       (CTFloat::parse): Likewise.
+       (CTFloat::sprint): Likewise.
+       (CTFloat::hash): Likewise.
+       (Compiler::genCmain): Move to d-compiler.cc.
+       (Compiler::paintAsType): Likewise.
+       (Compiler::loadModule): Likewise.
+       * d-compiler.cc: New file.
+       * d-ctfloat.cc: New file.
+       * d-port.cc: New file.
+
+2020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (DeclVisitor::build_dsymbol): New function.
+       (DeclVisitor::visit (TupleDeclaration *)): Use build_dsymbol to
+       traverse AST instead of accept.
+       (DeclVisitor::visit (AttribDeclaration *)): Likewise.
+       (DeclVisitor::visit (Nspace *)): Likewise.
+       (DeclVisitor::visit (TemplateDeclaration *)): Likewise.
+       (DeclVisitor::visit (TemplateInstance *)): Likewise.
+       (DeclVisitor::visit (TemplateMixin *)): Likewise.
+       (DeclVisitor::visit (StructDeclaration *)): Likewise.
+       (DeclVisitor::visit (ClassDeclaration *)): Likewise.
+       (DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
+       (DeclVisitor::visit (VarDeclaration *)): Likewise.
+       (build_decl_tree): Likewise.
+
+2020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (build_frontend_type): Handle struct fields with NULL
+       DECL_NAME.  Use byte_position to get the real field offset.
+
+2020-05-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94970
+       * d-codegen.cc (force_target_expr): Move create_temporary_var
+       implementation inline here.
+       (create_temporary_var): Remove.
+       (maybe_temporary_var): Remove.
+       (bind_expr): Remove.
+       * d-convert.cc (d_array_convert): Use build_local_temp to generate
+       temporaries, and generate its assignment.
+       * d-tree.h (create_temporary_var): Remove.
+       (maybe_temporary_var): Remove.
+       (d_array_convert): Remove vars argument.
+       * expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to
+       generate temporaries, don't wrap them in a BIND_EXPR.
+       (ExprVisitor::visit (NewExp *)): Likewise.
+
+2020-04-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.texi (Options for Linking): Clarify usage of -defaultlib= and
+       -debuglib= options.
+
+2020-04-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (d_decl_context): Don't include module in the name of
+       class and struct types that aren't extern(D).
+
+2020-04-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94777
+       * d-builtins.cc (build_frontend_type): Set parent for generated
+       fields of built-in types.
+       * d-codegen.cc (argument_reference_p): Rename to ...
+       (parameter_reference_p): ... this.
+       (type_passed_as): Rename to ...
+       (parameter_type): ... this.  Make TREE_ADDRESSABLE types restrict.
+       (d_build_call): Move handling of non-POD types here from ...
+       * d-convert.cc (convert_for_argument): ... here.
+       * d-tree.h (argument_reference_p): Rename declaration to ...
+       (parameter_reference_p): ... this.
+       (type_passed_as): Rename declaration to ...
+       (parameter_type): ... this.
+       * types.cc (TypeVisitor::visit (TypeFunction *)): Update caller.
+
+2020-04-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or
+       DECL_UNINLINABLE for declarations with pragma(inline).
+       * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if
+       in function decorated with pragma(inline).
+
+2020-04-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * intrinsics.cc (expand_intrinsic_toprec): New function.
+       (maybe_expand_intrinsic): Handle toPrec intrinsics.
+       * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics.
+
+2020-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-spec.cc (need_phobos): Remove.
+       (lang_specific_driver): Replace need_phobos with phobos_library.
+       Reorder -debuglib and -defaultlib to have precedence over libphobos.
+       (lang_specific_pre_link): Remove test for need_phobos.
+
+2020-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94609
+       * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE.
+       (type_passed_as): Build reference type if TREE_ADDRESSABLE.
+       * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if
+       needed for arguments passed by invisible reference.
+       * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that
+       are not POD as TREE_ADDRESSABLE.
+
+2020-04-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o.
+       * d-target.cc (Target::toArgTypes): New function.
+
+2020-04-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-spec.cc (LIBDRUNTIME): Remove.
+       (LIBDRUNTIME_PROFILE): Remove.
+       (lang_specific_driver): Don't link in libgdruntime.
+
+2020-04-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94425
+       * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P
+       on all asm statements.
+
+2020-04-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/90136
+       * d-attribs.cc: Include dmd/attrib.h.
+       (build_attributes): Redeclare as static.
+       (apply_user_attributes): New function.
+       * d-tree.h (class UserAttributeDeclaration): Remove.
+       (build_attributes): Remove.
+       (apply_user_attributes): Declare.
+       (finish_aggregate_type): Remove attrs argument.
+       * decl.cc (get_symbol_decl): Merge declaration prototypes with
+       definitions.  Use apply_user_attributes.
+       * modules.cc (layout_moduleinfo_fields): Remove last argument to
+       finish_aggregate_type.
+       * typeinfo.cc (layout_classinfo_interfaces): Likewise.
+       * types.cc (layout_aggregate_members): Likewise.
+       (finish_aggregate_type): Remove attrs argument.
+       (TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes.
+       (TypeVisitor::visit (TypeStruct *)): Remove last argument to
+       finish_aggregate_type.  Use apply_user_attributes.
+       (TypeVisitor::visit (TypeClass *)): Likewise.
+
+2020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (d_langhook_common_attribute_table): Add always_inline.
+       (handle_always_inline_attribute): New function.
+
+2020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94424
+       * d-codegen.cc (build_alignment_field): Remove.
+       (build_struct_literal): Don't insert alignment padding.
+       * expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before
+       assigning struct literals.
+
+2020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
+       d_comdat_linkage on generated decl.
+
+2020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/93038
+       * d-lang.cc (deps_write): Generate phony targets for content imported
+       files.
+
+2020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/93038
+       * d-lang.cc (deps_write): Add content imported files to the make
+       dependency list.
+
+2020-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94240
+       * typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_.
+       (TypeInfoVisitor::TypeInfoVisitor): Set decl_.
+       (TypeInfoVisitor::result): Update.
+       (TypeInfoVisitor::internal_reference): New function.
+       (TypeInfoVisitor::layout_string): Use internal_reference.
+       (TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise.
+       (layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl.
+       (layout_classinfo): Likewise.
+
+2020-03-20  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR lto/91027
+       * d-tree.h (struct GTY): Add daggregate field.
+       (IDENTIFIER_DAGGREGATE): Define.
+       (d_mangle_decl): Add declaration.
+       * decl.cc (mangle_decl): Remove static linkage, rename to...
+       (d_mangle_decl): ...this, update all callers.
+       * types.cc (merge_aggregate_types): New function.
+       (TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set
+       IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P.
+       (TypeVisitor::visit (TypeClass *)): Likewise.
+
+2020-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated
+       word issue in a comment.
+       * d-target.cc (Target::FPTypeProperties<T>::max): Likewise.
+
+2020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/92309
+       * types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on
+       anonymous fields.
+
+2020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/92216
+       * decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target
+       function is external to the current compilation.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * gdc.texi: Bump @copyrights-d year.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/fortran/ChangeLog-2020 b/gcc/fortran/ChangeLog-2020
new file mode 100644 (file)
index 0000000..66e39f5
--- /dev/null
@@ -0,0 +1,2382 @@
+2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97612
+       * primary.c (build_actual_constructor): Missing allocatable
+       components are set unallocated using EXPR_NULL. Then missing
+       components are tested for a default initializer.
+
+2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93833
+       * trans-array.c (get_array_ctor_var_strlen): If the character
+       length backend_decl cannot be found, convert the expression and
+       use the string length. Clear up some minor white space issues
+       in the rest of the file.
+
+2020-12-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97694
+       PR fortran/97723
+       * check.c (allocatable_check): Select rank temporaries are
+       permitted even though they are treated as associate variables.
+       * resolve.c (gfc_resolve_code): Break on select rank as well as
+       select type so that the block os resolved.
+       * trans-stmt.c (trans_associate_var): Class associate variables
+       that are optional dummies must use the backend_decl.
+
+2020-12-26  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98022
+       * data.c (gfc_assign_data_value): Throw an error for inquiry
+       references. Follow with corrected code that would provide the
+       expected result and provides clean error recovery.
+
+2020-12-26  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/83118
+       * trans-array.c (gfc_alloc_allocatable_for_assignment): Make
+       sure that class expressions are captured for dummy arguments by
+       use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
+       used.
+       * trans-expr.c (gfc_get_class_from_gfc_expr): New function.
+       (gfc_get_class_from_expr): If a constant expression is
+       encountered, return NULL_TREE;
+       (gfc_trans_assignment_1): Deallocate rhs allocatable components
+       after passing derived type function results to class lhs.
+       * trans.h : Add prototype for gfc_get_class_from_gfc_expr.
+
+2020-12-25  Harald Anlauf  <anlauf@gmx.de>
+
+       * data.c (gfc_assign_data_value): Restrict use of
+       create_character_initializer to constant initializers.
+       * trans-expr.c (gfc_conv_initializer): Ensure that character
+       initializer is constant, otherwise fall through to get the same
+       error handling as for non-character cases.
+
+2020-12-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL
+       on variables.
+
+2020-12-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/83118
+       PR fortran/96012
+       * resolve.c (resolve_ordinary_assign): Generate a vtable if
+       necessary for scalar non-polymorphic rhs's to unlimited lhs's.
+       * trans-array.c (get_class_info_from_ss): New function.
+       (gfc_trans_allocate_array_storage): Defer obtaining class
+       element type until all sources of class exprs are tried. Use
+       class API rather than TREE_OPERAND. Look for class expressions
+       in ss->info by calling get_class_info_from_ss. After, obtain
+       the element size for class descriptors. Where the element type
+       is unknown, cast the data as character(len=size) to overcome
+       unlimited polymorphic problems.
+       (gfc_conv_ss_descriptor): Do not fix class variable refs.
+       (build_class_array_ref, structure_alloc_comps): Replace code
+       replicating the new function gfc_resize_class_size_with_len.
+       (gfc_alloc_allocatable_for_assignment): Obtain element size
+       for lhs in cases of deferred characters and class enitities.
+       Move code for the element size of rhs to start of block. Clean
+       up extraction of class parameters throughout this function.
+       After the shape check test whether or not the lhs and rhs
+       element sizes are the same. Use earlier evaluation of
+       'cond_null'. Reallocation of lhs only to happen if size changes
+       or element size changes.
+       * trans-expr.c (gfc_resize_class_size_with_len): New function.
+       (gfc_get_class_from_expr): If a constant expression is
+       encountered, return NULL_TREE;
+       (trans_scalar_class_assign): New function.
+       (gfc_conv_procedure_call): Ensure the vtable is present for
+       passing a non-class actual to an unlimited formal.
+       (trans_class_vptr_len_assignment): For expressions of type
+       BT_CLASS, extract the class expression if necessary. Use a
+       statement block outside the loop body. Ensure that 'rhs' is
+       of the correct type. Obtain rhs vptr in all circumstances.
+       (gfc_trans_scalar_assign): Call trans_scalar_class_assign to
+       make maximum use of the vptr copy in place of assignment.
+       (trans_class_assignment): Actually do reallocation if needed.
+       (gfc_trans_assignment_1): Simplify some of the logic with
+       'realloc_flag'. Set 'vptr_copy' for all array assignments to
+       unlimited polymorphic lhs.
+       * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_
+       with_len to correct span for unlimited polymorphic decls.
+       * trans.h : Add prototype for gfc_resize_class_size_with_len.
+
+2020-12-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92587
+       * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ...
+       * resolve.c (gfc_resolve_code): ... to here.
+
+2020-12-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98307
+       * trans-stmt.c (check_forall_dependencies): Extend dependency
+       check to allocatable components of derived types.
+
+2020-12-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98284
+       * resolve.c (check_data_variable): Reject DATA elements with the
+       ALLOCATABLE attribute.
+
+2020-12-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/90207
+       * invoke.texi: Document -fdebug-aux-vars.
+       * lang.opt: Add -fdebug-aux-vars.
+       * trans.c (MAX_PREFIX_LEN): New macro.
+       (create_var_debug_raw): New function.
+       (gfc_create_var_np): Call create_var_debug_raw if
+       flag_debug_aux_vars is set.
+
+2020-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * dump-parse-tree.c (show_array_ref): Also show coarrays.
+       (debug): Implement for array reference.
+
+2020-12-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98022
+       * data.c (gfc_assign_data_value): Handle inquiry references in
+       the data statement object list.
+
+2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses, show_omp_node,
+       show_code_node): Handle OMP SCAN.
+       * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN.
+       (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX.
+       (enum gfc_exec_op): Add EXEC_OMP_SCAN.
+       * match.h (gfc_match_omp_scan): New prototype.
+       * openmp.c (gfc_match_omp_scan): New.
+       (gfc_match_omp_taskgroup): Cleanup.
+       (resolve_omp_clauses, gfc_resolve_omp_do_blocks,
+       omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'.
+       * parse.c (decode_omp_directive, next_statement,
+       gfc_ascii_statement): Likewise.
+       * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do,
+       gfc_split_omp_clauses): Handle 'omp scan'.
+
+2020-12-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98016
+       * resolve.c (resolve_symbol): Set formal_arg_flag before
+       resolving an array spec and restore value afterwards.
+
+2020-12-03  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95342
+       * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference.
+       (gfc_match_subroutine): Likewise.
+
+2020-11-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98011
+       * scanner.c (skip_free_comments, skip_fixed_comments): If only
+       -fopenacc but not -fopenmp is used, ignore OpenMP's conditional
+       compilation sentinels. Fix indentation, use 'else if' for readability.
+
+2020-11-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98010
+       PR fortran/98013
+       * options.c (gfc_post_options): Also imply recursive with
+       -fopenacc.
+       * trans-decl.c (gfc_generate_function_code): Simplify condition.
+
+2020-11-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'.
+
+2020-11-29  Harald Anlauf  <anlauf@gmx.de>
+
+       * expr.c (simplify_parameter_variable): Fix up character length
+       after copying an array-valued expression.
+
+2020-11-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/97454
+       * trans-decl.c (gfc_get_extern_function_decl): Add argument
+       fnspec.
+       * trans-intrinsic.c (MAX_SPEC_ARG): Define.
+       (intrinsic_fnspec): New function.
+       (ADD_CHAR): Define.
+       (specific_intrinsic_symbol): Adjust comment. Pass
+       fn spec to gfc_get_extern_function_decl.
+       (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT
+       and SUM intrnisic. Add FIXME for cshift et al.
+       * trans-types.c (gfc_get_function_type): Add fnspec argument,
+       handle it.
+       * trans-types.h (gfc_get_function_type): Add optinal fnspec
+       argument.
+       * trans.h (gfc_get_extern_function_decl): Likewise.
+
+2020-11-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85796
+       * resolve.c (traverse_data_list): Fix copy&paste errors; catch
+       step=0 in implied do loop.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/97911
+       * Make-lang.in (fortran.serial): Change from goal to a variable.
+       (.PHONY): Drop fortran.serial and fortran.prev.
+       (f951$(exeext)): Depend on $(fortran.serial) rather than
+       fortran.serial.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (fortran.serial): New goal.
+       (.PHONY): Add fortran.serial fortran.prev.
+       (f951$(exeext)): Depend on fortran.prev.  Call LINK_PROGRESS.
+
+2020-11-17  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual
+       code.
+
+2020-11-16  Harald Anlauf  <anlauf@gmx.de>
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime
+       checking code for status of argument.
+
+2020-11-13  Gergö Barany  <gergo@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lang.opt (fopenacc-kernels): Add.
+
+2020-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST):
+       Define.
+       (gfc_init_builtin_functions): Add alloc_size and warn_unused_result
+       attributes to __builtin_GOMP_alloc.
+       * types.def (BT_PTRMODE): New primitive type.
+       (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function
+       types.
+
+2020-11-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97782
+       * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do,
+       gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections,
+       gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections
+       gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams
+       gfc_trans_omp_target, gfc_trans_omp_target_data,
+       gfc_trans_omp_workshare): Use code->loc instead of input_location
+       when building the OMP_/OACC_ construct.
+
+2020-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/97768
+       * misc.c (gfc_typename): Use ex->value.character.length only if
+       ex->expr_type == EXPR_CONSTANT.  If ex->ts.deferred, print : instead
+       of length.  If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print *
+       instead of length.  Otherwise if character length is non-constant,
+       print just CHARACTER or CHARACTER(KIND=N).
+
+2020-11-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums.
+       * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK,
+       OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums.
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION
+       and OMP_CLAUSE_TASK_REDUCTION.
+       (gfc_match_omp_clause_reduction): Extend reduction handling;
+       moved from ...
+       (gfc_match_omp_clauses): ... here. Add calls to it.
+       (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES):
+       Add OMP_CLAUSE_IN_REDUCTION.
+       (gfc_match_omp_taskgroup): Add task_reduction matching.
+       (resolve_omp_clauses): Update for new reduction clause changes;
+       remove removed nonmonotonic-schedule restrictions.
+       (gfc_resolve_omp_parallel_blocks): Add new enums to switch.
+       * trans-openmp.c (gfc_omp_clause_default_ctor,
+       gfc_trans_omp_reduction_list, gfc_trans_omp_clauses,
+       gfc_split_omp_clauses): Handle updated reduction clause.
+
+2020-11-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95847
+       * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location
+       of an external procedure.
+       (build_entry_thunks, generate_coarray_init, create_main_function,
+       gfc_generate_function_code): Use fndecl's location in BIND_EXPR.
+
+2020-11-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/90111
+       * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ...
+       (case_omp_decl): ... here.
+       (verify_st_order): Update comment.
+
+2020-11-06  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel):
+       Remove.
+       (resolve_oacc_loop_blocks): Don't call the former.
+
+2020-11-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'.
+
+2020-11-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97652
+       * module.c (mio_symbol): Fix symbol name for pdt_type.
+
+2020-11-03  Nathan Sidwell  <nathan@acm.org>
+
+       * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording
+       them.
+       (gfc_cpp_init): Likewise for target.
+
+2020-11-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED.
+       * gfortran.h (ext_attr_id_t): Ditto.
+       * gfortran.texi (GCC$ ATTRIBUTES): Document it.
+       * resolve.c (resolve_variable, resolve_function,
+       resolve_call, resolve_values): Show -Wdeprecated-declarations warning.
+       * trans-decl.c (add_attributes_to_decl): Skip those
+       with no middle_end_name.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/92793
+       * trans-openmp.c (gfc_trans_omp_clauses): More precise location
+       information for OpenACC 'gang', 'worker', 'vector' clauses with
+       argument.
+
+2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/92793
+       * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'.
+       (gfc_restore_backend_locus): Adjust.
+
+2020-11-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97655
+       * openmp.c (gfc_match_omp_atomic): Fix mem-order handling;
+       reject specifying update + capture together.
+
+2020-10-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses.
+       (show_omp_node): Call it for atomic.
+       * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET,
+       remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL.
+       (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by
+       OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED.
+       (gfc_omp_clauses): Add capture and atomic_op.
+       (gfc_code): remove omp_atomic.
+       * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses.
+       (gfc_match_omp_clauses): Match them.
+       (OMP_ATOMIC_CLAUSES): Add.
+       (gfc_match_omp_flush): Update for 'last' to 'unset' change.
+       (gfc_match_omp_oacc_atomic): Removed and placed content ..
+       (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses.
+       (gfc_match_oacc_atomic): Match directly here.
+       (resolve_omp_atomic, gfc_resolve_omp_directive): Update.
+       * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes.
+       * resolve.c (gfc_resolve_blocks): Update assert.
+       * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC.
+       * trans-openmp.c (gfc_trans_omp_atomic): Update.
+       (gfc_trans_omp_flush): Update for 'last' to 'unset' change.
+
+2020-10-30  Jan Hubicka  <jh@suse.cz>
+
+       * trans-types.c: Include alias.h
+       (gfc_get_array_type_bounds): Set typeless storage.
+
+2020-10-27  Harald Anlauf  <anlauf@gmx.de>
+
+       * resolve.c (gfc_impure_variable): A dummy argument with the VALUE
+       attribute may be redefined without making a procedure impure.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * trans-array.c (gfc_get_descriptor_field): New helper.
+       (gfc_conv_descriptor_data_get): Use it - drop strange
+       REFERENCE_TYPE handling and make sure we don't trigger it.
+       (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field.
+       (gfc_conv_descriptor_data_set): Likewise.
+       (gfc_conv_descriptor_offset): Likewise.
+       (gfc_conv_descriptor_dtype): Likewise.
+       (gfc_conv_descriptor_span): Likewise.
+       (gfc_get_descriptor_dimension): Likewise.
+       (gfc_conv_descriptor_token): Likewise.
+       (gfc_conv_descriptor_subfield): New helper.
+       (gfc_conv_descriptor_stride): Use it.
+       (gfc_conv_descriptor_lbound): Likewise.
+       (gfc_conv_descriptor_ubound): Likewise.
+
+2020-10-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/97454
+       * gfortran.h (gfc_symbol): Add pass_as_value flag.
+       (gfc_copy_formal_args_intr): Add optional argument
+       copy_type.
+       (gfc_get_intrinsic_function_symbol): Add prototype.
+       (gfc_find_intrinsic_symbol): Add prototype.
+       * intrinsic.c (gfc_get_intrinsic_function_symbol): New function.
+       (gfc_find_intrinsic_symbol): New function.
+       * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case
+       where the type needs to be copied from the actual argument.
+       * trans-intrinsic.c (remove_empty_actual_arguments): New function.
+       (specific_intrinsic_symbol): New function.
+       (gfc_conv_intrinsic_funcall): Use it.
+       (strip_kind_from_actual): Adjust so that the expression pointer
+       is set to NULL.
+       (gfc_conv_intrinsic_minmaxloc): Likewise.
+       (gfc_conv_intrinsic_minmaxval): Adjust removal of dim.
+       * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do
+       not pass by reference.
+
+2020-10-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (enum gfc_omp_memorder): Add.
+       (gfc_omp_clauses): Use it.
+       * openmp.c (gfc_match_omp_flush): Match memorder clauses.
+       * trans-openmp.c (gfc_trans_omp_flush): Handle them.
+       (gfc_trans_omp_directive): Update call.
+
+2020-10-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/45516
+       * class.c: Add _deallocate to the vtable documentation
+       comment.
+
+2020-10-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95979
+       * expr.c (gfc_check_init_expr): Fix check of return code from
+       gfc_intrinsic_func_interface.
+       * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt
+       of simplification of elemental intrinsics with array arguments.
+       * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument
+       for simplification of elemental use of INDEX.
+
+2020-10-15  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
+
+2020-10-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97390
+       * scanner.c (load_line): Fix line-truncation warning for !$acc
+       and !gcc$ in free-form source code.
+
+2020-10-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * decl.c (gfc_get_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.c : Rename match_common_name to gfc_match_common_name.
+       * match.c (gfc_match_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.h : Rename match_common_name to gfc_match_common_name.
+       * resolve.c (resolve_common_vars): Check each symbol in a
+       common block has a global symbol.  If there is a global symbol
+       issue an error if the symbol type is a module or a program.
+
+2020-10-12  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96099
+       * decl.c (gfc_match_implicit): Check for numeric and logical
+       types.
+
+2020-10-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/47469
+       * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection
+       of pointer and allocatable functions.
+
+2020-10-04  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/97272
+       * trans-intrinsic.c (strip_kind_from_actual): Helper function for
+       removal of KIND argument.
+       (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it
+       is treated elsewhere.
+
+2020-10-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify
+       fnspec.
+       (gfc_build_intrinsic_function_decls): Update fnspecs.
+       (gfc_build_builtin_function_decls): Update fnspecs.
+       * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs.
+       * trans-types.c (create_fn_spec): Update fnspecs.
+
+2020-09-30  Jan Hubicka  <jh@suse.cz>
+
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots
+       to spec strings so they match the number of parameters; do not use
+       R and W for non-pointer parameters. Drop pointless specifier on
+       caf_stop_numeric and caf_get_team.
+
+2020-09-30  Jan Hubicka  <hubicka@ucw.cz>
+
+       * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so
+       length of spec string matches number of arguments.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97242
+       * expr.c (gfc_is_not_contiguous): Fix check.
+       (gfc_check_pointer_assign): Use it.
+
+2020-09-30  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97045
+       * trans-array.c (gfc_conv_array_ref): Make sure that the class
+       decl is passed to build_array_ref in the case of unlimited
+       polymorphic entities.
+       * trans-expr.c (gfc_conv_derived_to_class): Ensure that array
+       refs do not preceed the _len component. Free the _len expr.
+       * trans-stmt.c (trans_associate_var): Reset 'need_len_assign'
+       for polymorphic scalars.
+       * trans.c (gfc_build_array_ref): When the vptr size is used for
+       span, multiply by the _len field of unlimited polymorphic
+       entities, when non-zero.
+
+2020-09-30  Tom de Vries  <tdevries@suse.de>
+
+       * f95-lang.c (gfc_init_builtin_functions):  Update
+       targetm.libc_has_function call.
+
+2020-09-28  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       Revert:
+       2020-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+                   Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * decl.c (gfc_get_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.c : Rename match_common_name to gfc_match_common_name.
+       * match.c (gfc_match_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.h : Rename match_common_name to gfc_match_common_name.
+       * resolve.c (resolve_common_vars): Check each symbol in a
+       common block has a global symbol.  If there is a global symbol
+       issue an error if the symbol type is known as is not a common
+       block name.
+
+2020-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * decl.c (gfc_get_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.c : Rename match_common_name to gfc_match_common_name.
+       * match.c (gfc_match_common): Use gfc_match_common_name instead
+       of match_common_name.
+       * match.h : Rename match_common_name to gfc_match_common_name.
+       * resolve.c (resolve_common_vars): Check each symbol in a
+       common block has a global symbol.  If there is a global symbol
+       issue an error if the symbol type is known as is not a common
+       block name.
+
+2020-09-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96495
+       * trans-expr.c (gfc_conv_procedure_call): Take the deallocation
+       of allocatable result components of a scalar result outside the
+       scalarization loop. Find and use the stored result.
+
+2020-09-21  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas   <pault@gcc.gnu.org>
+
+       * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of
+       FROMPOS, LEN and TOPOS arguments to fit a C int.
+       * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline
+       expansion of MVBITS intrinsic elemental subroutine and add code
+       for runtime argument checking.
+       (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but
+       defer handling to gfc_trans_call.
+       * trans-stmt.c (replace_ss):
+       (gfc_trans_call): Adjust to handle inline expansion, scalarization
+       of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits.
+       * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for
+       gfc_conv_intrinsic_mvbits.
+
+2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * interface.c (gfc_compare_actual_formal): Add assertion after
+       main processing loop to silence maybe-uninitialized error.
+
+2020-09-19  Harald Anlauf  <anlauf@gmx.de>
+
+       * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE
+       procedure prefix for -std=f2018.
+
+2020-09-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96041
+       PR fortran/93423
+       * decl.c (gfc_match_submod_proc): Avoid later double-free
+       in the error case.
+
+2020-09-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97061
+       * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private.
+
+2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96668
+       * trans.h (gfc_omp_finish_clause): Add bool openacc arg.
+       * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use
+       GOMP_MAP_ALWAYS_POINTER with PSET for pointers.
+       (gfc_trans_omp_clauses): Like the latter and also if the always
+       modifier is used.
+
+2020-09-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95109
+       PR fortran/94690
+       * resolve.c (gfc_resolve_code): Also call
+       gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
+       * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
+       (gfc_resolve_do_iterator): Remove special code for SIMD, which is
+       not needed.
+       * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
+       call simd not do processing function.
+
+2020-09-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * intrinsic.texi: Fix description of FINDLOC result.
+
+2020-09-07  Harald Anlauf  <anlauf@gmx.de>
+
+       * trans-intrinsic.c (build_round_expr): Use temporary with
+       appropriate kind for conversion before rounding to nearest
+       integer when the result precision is 128 bits.
+
+2020-09-07  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96896
+       * resolve.c (get_temp_from_expr): Also reset proc_pointer +
+       use_assoc attribute.
+       (resolve_ptr_fcn_assign): Use information from the LHS.
+
+2020-09-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-types.c (gfc_get_derived_type): Fix argument types.
+
+2020-09-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * resolve.c (resolve_select_type): Provide a formal arg list.
+
+2020-09-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-types.c (gfc_get_ppc_type): Add comment.
+
+2020-09-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-types.c (gfc_get_ppc_type): Fix function arg types.
+
+2020-09-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/96947
+       * trans-stmt.c (gfc_trans_fail_image): caf_fail_image
+       expects no argument.
+
+2020-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/96859
+       * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits,
+       change also '2' to '0' and '3' to '1' rather than just handling '4'
+       through '7'.
+
+2020-09-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95398
+       * resolve.c (resolve_select_type): Add check for BT_CLASS
+       type before using the CLASS_DATA macro which will have a
+       NULL pointer to derive components if it isn't BT_CLASS.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96728
+       * module.c (module_peek_char): Peek ahead function.
+       (parse_integer): Add code for parsing signed integers.
+       (parse_atom): Add code to handle signed integers.
+       (peek_atom): Add code to handle signed integers.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96727
+       * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96726
+       * expr.c (check_references): Change different relational operator
+       to less-than operator to avoid infinite loop.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/95352
+       * simplify.c (simplify_bound_dim): Add check for NULL pointer
+       before trying to access structure member.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/94110
+       * interface.c (gfc_compare_actual_formal): Add code to also raise
+       the actual argument cannot be an assumed-size array error when the
+       dummy arguments are deferred-shape or assumed-rank pointer.
+
+2020-08-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94672
+       * trans-array.c (gfc_trans_g77_array): Check against the parm decl and
+       set the nonparm decl used for the is-present check to NULL if absent.
+
+2020-08-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96624
+       * simplify.c (gfc_simplify_reshape): Detect zero shape and
+       clear index if found.
+
+2020-08-27  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95882
+       * decl.c (char_len_param_value): Check gfc_seen_div0 and
+       if it is set return MATCH_ERROR.
+
+2020-08-27  Martin Liska  <mliska@suse.cz>
+
+       * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector
+       growth function to true.
+
+2020-08-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (enum gfc_omp_device_type): New.
+       (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it.
+       * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST,
+       AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY.
+       (attr_bits, mio_symbol_attribute): Handle it.
+       (load_commons, write_common_0): Handle omp_device_type flag.
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE
+       (OMP_DECLARE_TARGET_CLAUSES): Likewise.
+       (gfc_match_omp_clauses): Match 'device_type'.
+       (gfc_match_omp_declare_target): Handle it.
+       * trans-common.c (build_common_decl): Write device-type clause.
+       * trans-decl.c (add_attributes_to_decl): Likewise.
+
+2020-08-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96737
+       * trans-types.c (gfc_get_derived_type): Derived types that are
+       used in submodules are not compatible with TYPE_CANONICAL from
+       any of the global namespaces.
+
+2020-08-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96100
+       PR fortran/96101
+       * trans-array.c (get_array_charlen): Tidy up the evaluation of
+       the string length for array constructors. Avoid trailing array
+       references. Ensure string lengths of deferred length components
+       are set. For parentheses operator apply string  length to both
+       the primary expression and the enclosed expression.
+
+2020-08-20  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/94958
+       * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable.
+
+2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing
+       to avoid creating spurious symbols.
+
+2020-08-18  Harald Anlauf  <anlauf@gmx.de>
+
+       * check.c (check_rest): Reject MIN/MAX character arguments of
+       different kind.
+       * simplify.c (min_max_choose): The simplification result shall
+       have the highest kind value of the arguments.
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and
+       kind of intermediate by looking at all arguments, not the result.
+
+2020-08-17  Martin Liska  <mliska@suse.cz>
+
+       * openmp.c (resolve_omp_clauses): Add static assert
+       for OMP_LIST_NUM and size of clause_names array.
+       Remove check that is always true.
+
+2020-08-17  Martin Liska  <mliska@suse.cz>
+
+       * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
+       names.
+
+2020-08-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/93671
+       * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to
+       components; get the caf_token correctly for allocated scalar components.
+
+2020-08-13  Matthew Krupcale  <mkrupcale@matthewkrupcale.com>
+
+       PR fortran/96595
+       * invoke.texi: Fix typos.
+
+2020-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h: Add OMP_LIST_NONTEMPORAL.
+       * dump-parse-tree.c (show_omp_clauses): Dump it
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL.
+       (OMP_SIMD_CLAUSES): Add it.
+       (gfc_match_omp_clauses): Match nontemporal clause.
+       * trans-openmp.c (gfc_trans_omp_clauses): Process
+       nontemporal clause.
+
+2020-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96556
+       * frontend-passes.c (doloop_contained_function_call):
+       Do not dereference a NULL pointer for value.function.esym.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96312
+       * trans-expr.c (fcncall_realloc_result): Only compare shapes if
+       lhs was allocated..
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96102
+       * resolve.c (check_host_association): Replace the gcc_assert
+       with an error for internal procedures.
+
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96469
+       * frontend-passes.c (doloop_contained_function_call): New
+       function.
+       (doloop_contained_procedure_code): New function.
+       (CHECK_INQ): Macro for inquire checks.
+       (doloop_code): Invoke doloop_contained_procedure_code and
+       doloop_contained_function_call if appropriate.
+       (do_intent): Likewise.
+
+2020-08-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (resolve_omp_do): Detect not perfectly
+       nested loop with innermost collapse.
+
+2020-08-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'.
+
+2020-08-03  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release
+       mappings for array descriptors.
+
+2020-08-03  Martin Jambor  <mjambor@suse.cz>
+
+       * f95-lang.c (gfc_init_builtin_functions): Remove processing of
+       hsa-builtins.def.
+
+2020-08-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfc-internals.texi: Fix typos.
+       * gfortran.texi: Likewise.
+       * intrinsic.texi: Likewise.
+       * invoke.texi: Likewise.
+
+2020-08-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR target/96320
+       * interface.c (gfc_check_dummy_characteristics): If a module
+       procedure arrives with assumed shape in the interface and
+       deferred shape in the procedure itself, update the latter and
+       copy the lower bounds.
+
+2020-08-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96325
+       * primary.c (gfc_match_varspec): In the case that a component
+       reference is added to an intrinsic type component, emit the
+       error message in this function.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent).
+       * gfortran.h (struct gfc_omp_clauses): Add order_concurrent.
+       * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES):
+       Add OMP_CLAUSE_ORDER.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
+       Handle order(concurrent) clause.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (resolve_omp_clauses): Permit 'omp target data' without
+       map if use_device_{addr,ptr} is present.
+
+2020-07-29  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96319
+       * intrinsic.c (gfc_convert_type_warn):  Add check for
+       LOGICAL type so that warnings are not output.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * module.c (mio_symbol_attribute): Fix indent of previous
+       commit.
+
+2020-07-29  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/53298
+       * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set
+       call gfc_get_scalar_ss.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES.
+       (enum gfc_omp_requires_kind): New.
+       (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL.
+       (struct gfc_namespace): Add omp_requires and omp_target_seen.
+       (gfc_omp_requires_add_clause,
+       (gfc_check_omp_requires): New.
+       * match.h (gfc_match_omp_requires): New.
+       * module.c (enum ab_attribute, attr_bits): Add omp requires clauses.
+       (mio_symbol_attribute): Read/write them.
+       * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause,
+       gfc_match_omp_requires): New.
+       (gfc_match_omp_oacc_atomic): Use requires's default mem-order.
+       * parse.c (decode_omp_directive): Match requires, set omp_target_seen.
+       (gfc_ascii_statement): Handle ST_OMP_REQUIRES.
+       * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL.
+
+2020-07-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_resolve_omp_directive): Remove NULL check
+       for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL.
+
+2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional.
+       * openmp.c (gfc_match_omp_clauses): Handle 'conditional:'
+       modifier of 'lastprivate'.
+       * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert
+       on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_.
+       (gfc_trans_omp_variable_list): Handle lastprivate_conditional.
+
+2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind.
+
+2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.texi (Standards): Update URL; state that OpenMP 4.5
+       is supported and 5.0 is partially.
+       * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0;
+       (OMP_LIB): Add missing derived type and new named constants.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD.
+       * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF.
+       (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'.
+       * dump-parse-tree.c (show_omp_clauses): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel,
+       (gfc_split_omp_clauses): Likewise.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_critical): Fix handling hints; permit
+       hint clause without named critical.
+       (resolve_omp_clauses): Require nonnegative constant integer
+       for the hint clause.
+       (gfc_resolve_omp_directive): Check for no name but
+       nonzero value for hint clause.
+       * parse.c (parse_omp_structured_block): Fix same-name check
+       for critical.
+       * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly.
+
+2020-07-21  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/89574
+       * trans-decl.c (gfc_get_extern_function_decl): Check whether a
+       symbol belongs to a different module.
+
+2020-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96220
+       * dump-parse-tree.c (get_c_type_name): Always use the entries from
+       c_interop_kinds_table to find the correct C type.
+
+2020-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96018
+       * frontend-passes.c (gfc_check_externals): Adjust formatting.
+       (implicit_pure_call): New function.
+       (implicit_pure_expr): New function.
+       (gfc_fix_implicit_pure): New function.
+       * gfortran.h (gfc_fix_implicit_pure): New prototype.
+       * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure.
+
+2020-07-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * check.c (gfc_invalid_boz): Mark hint for translation using _().
+
+2020-07-16  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC
+       attach/detach handling for arrays with descriptors.
+
+2020-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95612
+       * expr.c (gfc_check_pointer_assigb): Output an error if
+       rvalue is a zero sized array or output an error if rvalue
+       doesn't have a symbol tree.
+
+2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_clauses): Match also derived-type
+       component refs in OMP_CLAUSE_MAP.
+       (resolve_omp_clauses): Resolve those.
+       * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses):
+       Handle OpenMP structure-element mapping.
+       (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive,
+       (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update
+       add openacc=true in gfc_trans_omp_clauses call.
+
+2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/67311
+       * trans-openmp.c (gfc_has_alloc_comps): Return false also for
+       pointers to arrays.
+
+2020-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96038
+       * decl.c (add_init_expr_sym):  For a symbol that is a
+       parameter accept an initialisation if it does not have a
+       value otherwise output a error and reject.
+
+2020-07-13  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/45337
+       * resolve.c (resolve_fl_variable): Remove type and intent
+       checks from the check for dummy.
+
+2020-07-13  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95981
+       * check.c (dim_rank_check): Allow NULL references in call to
+       gfc_find_array_ref and return false if no reference is found.
+
+2020-07-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96073
+       * frontend-passes.c (check_externals_procedure):  Add locus
+       information for new_sym.
+       * interface.c (gfc_check_dummy_characteristics): Do not warn
+       about INTENT for artificially generated variables.
+
+2020-07-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95980
+       * class.c (gfc_add_component_ref, gfc_build_class_symbol):
+       Add checks for NULL pointer dereference.
+       * primary.c (gfc_variable_attr): Likewise.
+       * resolve.c (resolve_variable, resolve_assoc_var)
+       (resolve_fl_var_and_proc, resolve_fl_variable_derived)
+       (resolve_symbol): Likewise.
+
+2020-07-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/96086
+       * match.c (gfc_match_select_rank): Catch NULL pointer
+       dereference.
+       * resolve.c (resolve_assoc_var): Catch NULL pointer dereference
+       that may occur after an illegal declaration.
+
+2020-07-09  Julian Brown  <julian@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
+       derived type members which themselves have derived types.
+
+2020-07-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/96085
+       * resolve.c (gfc_resolve_code): Check whether assign target is a
+       parameter.
+
+2020-07-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95980
+       * match.c (copy_ts_from_selector_to_associate, build_class_sym):
+       Distinguish between unlimited polymorphic and ordinary variables
+       to avoid NULL pointer dereference.
+       * resolve.c (resolve_select_type):
+       Distinguish between unlimited polymorphic and ordinary variables
+       to avoid NULL pointer dereference.
+
+2020-07-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95709
+       * resolve.c (gfc_resolve_code): Check for valid arguments to
+       assigned GOTO.
+
+2020-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/27318
+       * frontend-passes.c (check_against_globals): New function.
+       (gfc_check_externals): Split; also invoke check_against_globals
+       via gfc_traverse_ns.
+       (gfc_check_externals0): Recursive part formerly in
+       gfc_check_externals.
+       * resolve.c (resolve_global_procedure): Set sym->error on
+       interface mismatch.
+       * symbol.c (ambiguous_symbol): Check for, and set sym->error.
+
+2020-07-02  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93423
+       * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
+
+2020-07-02  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93337
+       * class.c (gfc_find_derived_vtab): Punt if name is not set.
+
+2020-07-02  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/52279
+       * check.c (gfc_invalid_boz):  Change array declaration for
+       hint into a pointer.
+
+2020-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95584
+       * interface.c (generic_correspondence): Only use the pointer
+       to a symbol if exists.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * check.c (gfc_invalid_boz): Fix bootstrap. Revert
+       Mark hint for translation using _().
+
+2020-07-01  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/52279
+       * arith.c (reduce_binary_aa): Mark for translation the string
+       parameter to gfc_check_conformance with G_().
+       * check.c (gfc_invalid_boz): Mark hint for translation using
+       _().  (gfc_check_achar): Mark for translation the message
+       parameter to gfc_invalid_boz using G_().  (gfc_check_char):
+       Mark for translation the message parameter to gfc_invalid_boz
+       using G_().  (gfc_check_complex): Mark for translation the
+       message parameter to gfc_invalid_boz using G_().
+       (gfc_check_float): Mark for translation the message
+       parameter to gfc_invalid_boz using G_().  (check_rest): Mark
+       for translation the string parameter to gfc_check_conformance
+       with _().  (gfc_check_minloc_maxloc): Mark for translation
+       the string parameter to gfc_check_conformance with _().
+       (gfc_check_findloc): Mark for translation the string parameter
+       to gfc_check_conformance with _().  (check_reduction): Mark
+       for translation the string parameter to gfc_check_conformance
+       with _().  (gfc_check_pack): Mark for translation the string
+       parameter to gfc_check_conformance with _().
+       * decl.c (match_old_style_init): Mark for translation the
+       message parameter to gfc_invalid_boz using G_().
+       * expr.c (gfc_check_assign): Mark for translation the string
+       parameter to gfc_check_conformance with _().
+       * intrinsic.c (check_specific): Mark for translation the string
+       parameter to gfc_check_conformance with _().
+       (gfc_check_intrinsic_standard): Mark symstd_msg strings for
+       translation using G_(). No need to mark symstd_msg for
+       translation in call to gfc_warning or when setting symstd.
+       * io.c (check_open_constraints):  Mark strings for translation
+       using G_() in all calls to warn_or_error.  (match_io_element):
+       Mark for translation the message parameter to gfc_invalid_boz
+       using G_().
+       * primary.c (match_boz_constant): Mark for translation the
+       message parameter to gfc_invalid_boz using G_().
+       * resolve.c (resolve_elemental_actual):  Mark for translation
+       the string parameter to gfc_check_conformance with _().
+       (resolve_operator):  Mark for translation the string parameter
+       to gfc_check_conformance with _().  Mark translation strings
+       assigned to msg using G_() for use in a call to cfg_warning.
+
+2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95446
+       * resolve.c (resolve_elemental_actual): Add code to check for
+       non-optional argument of the same rank.  Revise warning message
+       to refer to the Fortran 2018 standard.
+
+2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95829
+       * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
+       of "*)".
+
+2020-06-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/88379
+       * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
+
+2020-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95355
+       * gfortran.h (gfc_typename): Add optional argument for_hash.
+       * misc.c (gfc_typename): When for_hash is true, just retur
+         CHARACTER(kind).
+       * class.c (gfc_intrinsic_hash_value): Call gfc_typename with
+         for_hash = true.
+
+2020-06-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95978
+       * decl.c (gfc_match_data): Avoid NULL pointer dereference.
+
+2020-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95743
+       * trans-decl.c (gfc_generate_function_code): Do not generate
+       recursion check for compiler-generated procedures.
+
+2020-06-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/71706
+       * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
+       bounds-checking code.
+
+2020-06-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95340
+       * match.c (gfc_match_select_rank): Do not dereference NULL pointer.
+
+2020-06-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95880
+       * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
+       otherwise fall back to sym->name.
+
+2020-06-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95881
+       * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
+
+2020-06-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95828
+       * match.c (select_rank_set_tmp): Enlarge internal buffer used in
+       generating a mangled name.
+       * resolve.c (resolve_select_rank): Likewise.
+
+2020-06-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95826
+       * decl.c (gfc_match_decl_type_spec): Replace a fixed size
+       buffer by a pointer and reallocate if necessary.
+
+2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95837
+       * resolve.c (gfc_resolve_substring_charlen): Remove
+       bogus ts.kind setting for the expression.
+
+2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourery.com>
+
+       PR fortran/95869
+       * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block.
+
+2020-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * trans-openmp.c (gfc_split_omp_clauses): Add if clause
+       to target and simd sub-constructs.
+
+2020-06-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95827
+       * iresolve.c (gfc_get_string): Enlarge internal buffer used in
+       generating the mangled name.
+
+2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95812
+       * dependency.c (ref_same_as_full_array): Handle case of AR_FULL
+       vs. AR_FULL.
+
+2020-06-23  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95586
+       * decl.c (gfc_match_implicit): Only perform else branch if
+       the type spect is not BT_DERIVED.
+
+2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95708
+       * intrinsic.c (add_functions): Replace CLASS_INQUIRY with
+       CLASS_TRANSFORMATIONAL for intrinsic num_images.
+       (make_generic): Replace ACTUAL_NO with ACTUAL_YES for
+       intrinsic team_number.
+       * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
+       exists before using it.
+
+2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95585
+       * check.c (gfc_check_reshape): Add check for a value when
+       the symbol has an attribute flavor FL_PARAMETER.
+
+2020-06-22  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/42693
+       * arith.c (gfc_arith_error): Enclose strings in G_() instead
+       of _().
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95707
+       * gfortran.h (gfc_common_head): Enlarge buffer.
+       * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
+       buffers, and add check on length on mangled name to prevent
+       overflow.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95688
+       * iresolve.c (gfc_get_string): Enlarge static buffer size.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95687
+       * class.c (get_unique_type_string): Return a string with dynamic
+       length.
+       (get_unique_hashed_string, gfc_hash_value): Use dynamic result
+       from get_unique_type_string instead of static buffer.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95689
+       * interface.c (check_sym_interfaces): Enlarge temporary buffer,
+       and add check on length on mangled name to prevent overflow.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95587
+       * match.c (gfc_match_equivalence): Check constraints on
+       EQUIVALENCE objects also for CLASS variables.
+
+2020-06-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (resolve_omp_clauses): Reject vars with
+       allocatable components in OpenMP map clauses.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parse.c (decode_oacc_directive): Permit 'acc routine' also
+       inside pure procedures.
+       * openmp.c (gfc_match_oacc_routine): Inside pure procedures
+       do not permit gang, worker or vector clauses.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
+       from "in PURE" error message also for -fopenmp-simd.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
+       from "in PURE" error message.
+
+2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/42122
+       * dump-parse-tree.c (gfc_dump_global_symbols):  If the symroot is
+       empty, just output "empty".
+
+2020-06-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95088
+       * class.c (get_unique_type_string): Replace use of fixed size
+       buffer by internally passing a pointer to strings.
+
+2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * check.c (gfc_check_random_seed): Always use locations
+       from get and put arguments for error messages.
+
+2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94109
+       * class.c (finalize_component): Return early if finalization has
+       already happened for expression and component within namespace.
+       * gfortran.h (gfc_was_finalized): New type.
+       (gfc_namespace): Add member was_finalzed.
+       (gfc_expr): Remove finalized.
+       * symbol.c (gfc_free_namespace): Free was_finalized.
+
+2020-06-11  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl   <kargl@gcc.gnu.org>
+
+       PR fortran/95611
+       * decl.c (access_attr_decl): Use correct symbol in error message.
+
+2020-06-11  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95544
+       * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
+       (gfc_check_associated, gfc_check_kind, gfc_check_merge)
+       (gfc_check_shape, gfc_check_size, gfc_check_spread)
+       (gfc_check_transfer): Adjust.
+       (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
+       * gfortran.h: Declare gfc_invalid_null_arg ().
+       * intrinsic.c (check_arglist): Check for NULL() argument.
+
+2020-06-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95503
+       * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
+       of pointer assignment if lhs cannot be simply contiguous.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/95331
+       * trans-array.c (gfc_conv_array_ref): For class array dummy
+       arguments use the transformed descriptor in sym->backend_decl
+       instead of the original descriptor.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/52351
+       PR fortran/85868
+       * trans-array.c (gfc_conv_expr_descriptor): Enable the
+       creation of a new descriptor with the correct one based
+       indexing for array sections.  Rework array descriptor
+       indexing offset calculation.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/94022
+       * trans-expr.c (gfc_conv_procedure_call): In the case of
+       assumed-size arrays ensure that the reference is to a full array.
+
+2020-06-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95091
+       * class.c (gfc_hash_value): Add cast.
+
+2020-06-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95091
+       * class.c (get_unique_type_string, gfc_hash_value): Enlarge
+       buffers, and check whether the strings returned by
+       get_unique_type_string() fit.
+
+2020-06-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95530
+       PR fortran/95537
+       * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
+       string copy to detect buffer overflow.
+       * gfortran.h (gfc_common_head): Enlarge buffer.
+       * trans-common.c (finish_equivalences): Enhance string copy to
+       detect buffer overflow.
+
+2020-06-05  Tom Tromey  <tromey@adacore.com>
+
+       PR fortran/95509
+       * misc.c (gfc_closest_fuzzy_match): Update cutoff value
+       computation.
+
+2020-06-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95500
+       * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
+       pointer.
+
+2020-06-03  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/95214
+       PR fortran/66833
+       PR fortran/67938
+       * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to
+       character dummy arguments list of possible attributes.
+
+2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
+       * trans-openmp.c (gfc_omp_predetermined_mapping): New.
+       * trans.h (gfc_omp_predetermined_mapping): Declare.
+
+2020-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94361
+       * class.c (finalize_component): Use expr->finalized instead of
+       comp->finalized.
+       * gfortran.h (gfc_component): Remove finalized member.
+       (gfc_expr): Add it here instead.
+
+2020-05-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95373
+       * primary.c (is_inquiry_ref): Move validity check of inquiry
+       references against selected Fortran standard from here...
+       (gfc_match_varspec) ...to here.
+
+2020-05-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95090
+       * class.c (get_unique_type_string): Use buffer overrun check.
+
+2020-05-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95090
+       * class.c (get_unique_type_string): Enlarge temporary for
+       name-mangling.  Use strncpy to prevent buffer overrun.
+       (get_unique_hashed_string): Enlarge temporary.
+       (gfc_hash_value): Enlarge temporary for name-mangling.
+
+2020-05-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95373
+       * primary.c (is_inquiry_ref): Check validity of inquiry
+       references against selected Fortran standard.
+
+2020-05-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/94397
+       * match.c (gfc_match_type_spec): New variable ok initialised
+       to true. Set ok with the return value of gfc_reduce_init_expr
+       called only if the expression is not EXPR_CONSTANT and is not
+       EXPR_VARIABLE. Add !ok to the check for type not being integer
+       or the rank being greater than zero.
+
+2020-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95090
+       * iresolve.c (gfc_get_string): Enlarge temporary for
+       name-mangling.
+
+2020-05-27  Tobias Burnus  <tobias@codesourcery.com>
+           Mark Eggleston  <markeggleston@gnu.gcc.org>
+
+       PR fortran/50392
+       * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
+       delimiters.  Add auxiliary variables if a label is assigned to
+       a return variable. (gfc_gat_fake_result): If the symbol has an
+       assign attribute set declaration from the symbol's backend
+       declaration.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95089
+       * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold
+       mangled name "_caf_symbol".
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * options.c (gfc_get_option_string): Drop auxbase, add
+       dumpbase_ext.
+
+2020-05-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95106
+       * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
+       for name-mangling.
+
+2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95191
+       * libgfortran.h (libgfortran_error_codes): Add
+       LIBERROR_BAD_WAIT_ID.
+
+2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/39695
+       * resolve.c (resolve_fl_procedure): Set name depending on
+       whether the result attribute is set.  For PROCEDURE/RESULT
+       conflict use the name in sym->ns->proc_name->name.
+       * symbol.c (gfc_add_type): Add check for function and result
+       attributes use sym->ns->proc_name->name if both are set.
+       Where the symbol cannot have a type use the name in
+       sym->ns->proc_name->name.
+
+2020-05-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95053
+       * arith.c (gfc_divide): Revert hunk introduced by patch for
+       PR93499.
+       * decl.c (variable_decl): Generate error for array shape not being
+       an INTEGER constant.
+       (gfc_get_pdt_instance): Generate error if KIND or LEN expressions
+       in declaration of a PDT instance do not simplify to INTEGER
+       constants.
+
+2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94690
+       * openmp.c (resolve_omp_do): Permit more clauses for SIMD
+       iteration variables.
+
+2020-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-openmp.c: Include function.h.
+       (gfc_trans_omp_target): Set cfun->has_omp_target.
+
+2020-05-13  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93497
+       * decl.c (char_len_param_value): Check whether character
+       length expression is of type EXPR_OP and if so simplify it.
+       * resolve.c (resolve_charlen): Reject length if it has a
+       rank.
+
+2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94690
+       * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE.
+       (gfc_resolve_do_iterator): Skip the private handling for SIMD as
+       that is handled by ME code.
+       * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate
+       for dovar_found == 0, unless !simple.
+
+2020-05-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95053
+       * arith.c (gfc_divide): Do not error out if operand 2 is
+       non-numeric.  Defer checks to later stage.
+
+2020-05-11  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94672
+       * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
+       * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
+       and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
+       descriptor).
+       * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
+       variable to NULL if 'arg' is not present.
+       * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
+       'arg.0' instead of the true PARM_DECL.
+       (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
+
+2020-05-11  Janus Weil  <janus@gcc.gnu.org>
+           Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/59107
+       * gfortran.h: Rename field resolved as resolve_symbol_called
+       and assign two 2 bits instead of 1.
+       * interface.c (check_dtio_interface1): Use new field name.
+       (gfc_find_typebound_dtio_proc): Use new field name.
+       * resolve.c (gfc_resolve_intrinsic): Replace check of the formal
+       field with resolve_symbol_called is at least 2, if it is not
+       set the field to 2.  (resolve_typebound_procedure): Use new field
+       name.  (resolve_symbol): Use new field name and check whether it
+       is at least 1, if it is not set the field to 1.
+
+2020-05-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93499
+       * arith.c (gfc_divide): Catch division by zero.
+       (eval_intrinsic_f3): Safeguard for NULL operands.
+
+2020-05-05  Steve Kargl  <kargl@gcc.gnu.org>
+       Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93366
+       * check.c (gfc_check_associated, invalid_null_arg): Factorize
+       check for presence of invalid NULL() argument.
+       (gfc_check_kind, gfc_check_merge, gfc_check_shape)
+       (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
+       check for presence of invalid NULL() arguments.
+
+2020-04-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       PR fortran/94769
+       * io.c (check_io_constraints): Initialize local variable num to
+       -1 and assert that it receives a meaningful value by function
+       compare_to_allowed_values.
+
+2020-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93956
+       PR fortran/94788
+       * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
+       * interface.c: Likewise.
+
+2020-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94578
+       * trans-expr.c (arrayfunc_assign_needs_temporary): If the
+       LHS is a subref pointer, we also need a temporary.
+
+2020-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93956
+       * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
+       when a function returns a pointer.
+       * interface.c (gfc_set_subref_array_pointer_arg): New function.
+       (gfc_procedure_use): Call it.
+
+2020-04-22  Fritz Reese  <foreese@gcc.gnu.org>
+
+       * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
+       precision floating point literal based on an invalid macro.
+
+2020-04-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/90350
+       * simplify.c (simplify_bound): In the case of assumed-size arrays
+       check if the reference is to a full array.
+
+2020-04-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94709
+       * scanner.c (load_line): In fixed form, also treat 'C' as comment and
+       'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
+       '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
+       and truncation warnings.
+
+2020-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
+
+2020-04-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93364
+       * array.c (gfc_set_array_spec): Check for sum of rank and corank
+       not exceeding GFC_MAX_DIMENSIONS.
+
+2020-04-20  Steve Kargl  <kargl@gcc.gnu.org>
+       Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/91800
+       * decl.c (variable_decl): Reject Hollerith constants as type
+       initializer.
+
+2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93500
+       * resolve.c (resolve_operator): If both operands are
+       NULL, return false.
+       * simplify.c (simplify_bound): If a division by zero
+       was seen during bound simplification, free the
+       corresponcing expression and return &gfc_bad_expr.
+
+2020-04-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94090
+       * gfortran.dg (gfc_compare_interfaces): Add
+       optional argument bad_result_characteristics.
+       * interface.c (gfc_check_result_characteristics): Fix
+       whitespace.
+       (gfc_compare_interfaces): Handle new argument; return
+       true if function return values are wrong.
+       * resolve.c (resolve_global_procedure): Hard error if
+       the return value of a function is wrong.
+
+2020-04-15  Fritz Reese  <foreese@gcc.gnu.org>
+       Linus Koenig <link@sig-st.de>
+
+       PR fortran/94192
+       * simplify.c (simplify_bound): Simplify condition for error check.
+
+2020-04-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * module.c (gfc_match_use): Fix name-conflict check for use-associating
+       the same symbol again in a submodule.
+
+2020-04-13  Linus Koenig <link@sig-st.de>
+
+       PR fortran/94192
+       * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
+       pointer is found to not have an assumed rank or a deferred shape.
+       * simplify.c (simplify_bound): If an error has been issued for a
+       given pointer, one should not attempt to find its bounds.
+
+2020-04-09  Fritz Reese  <foreese@gcc.gnu.org>
+
+       PR fortran/87923
+       * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
+       locus parameter.
+       (gfc_resolve_dt): Add code parameter.
+       * io.c (async_io_dt, check_char_variable, is_char_type): Removed.
+       (resolve_tag_format): Add locus to error message regarding
+       zero-sized array in FORMAT tag.
+       (check_open_constraints, check_close_constraints): New functions
+       called at resolution time.
+       (gfc_match_open, gfc_match_close, match_io): Move checks which don't
+       affect the match result to new functions check_open_constraints,
+       check_close_constraints, check_io_constraints.
+       (gfc_resolve_open, gfc_resolve_close): Call new functions
+       check_open_constraints, check_close_constraints after all tags have
+       been independently resolved.  Remove duplicate constraints which are
+       already verified by resolve_tag.  Explicitly pass locus to all error
+       reports.
+       (compare_to_allowed_values): Add locus parameter and provide
+       explicit locus all error reports.
+       (match_open_element, match_close_element, match_file_element,
+       match_dt_element, match_inquire_element): Remove redundant special
+       cases for ASYNCHRONOUS and IOMSG tags.
+       (gfc_resolve_dt): Remove redundant special case for format
+       expression.  Call check_io_constraints, forwarding an I/O list as
+       the io_code parameter if present.
+       (check_io_constraints): Change return type to bool.  Pass explicit
+       locus to error reports.  Move generic checks after tag-specific
+       checks, since errors are no longer buffered.  Move simplification of
+       format string to match_io.  Remove redundant checks which are
+       verified by resolve_tag.  Remove usage of async_io_dt flag and
+       explicitly mark symbols used in asynchronous I/O with the
+       asynchronous attribute.
+       * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
+       for async_io_dt flag.  This is now done in io.c.
+       (check_io_constraints).
+       (gfc_resolve_code): Pass code locus to gfc_resolve_open,
+       gfc_resolve_close, gfc_resolve_dt.
+
+2020-04-07  Fritz Reese  <foreese@gcc.gnu.org>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93871
+       * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
+       GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
+       GFC_ISYM_TAND): New.
+       * intrinsic.c (add_functions): Remove check for flag_dec_math.
+       Give degree trig functions simplification and name resolution
+       functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
+       (do_simplify): Remove special casing of degree trig functions.
+       * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
+       gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
+       gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
+       prototypes.
+       (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
+       resolve_atrigd): Remove prototypes of deleted functions.
+       * iresolve.c (is_trig_resolved, copy_replace_function_shallow,
+       gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
+       gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
+       (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
+       * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
+       gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
+       gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
+       functions.
+       (gfc_simplify_atan2): Fix error message.
+       (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
+       radians_f): Delete functions.
+       * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
+       (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
+       gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
+       (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
+       COTAND, ATAN2D.
+       * trigd_fe.inc: New file. Included by simplify.c to implement
+       simplify_sind, simplify_cosd, simplify_tand with code common to the
+       libgfortran implementation.
+
+2020-04-06  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93686
+       * decl.c (gfc_match_data): Handle data matching for derived type
+       pointers.
+
+2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (gfc_resolve_formal_arglist): Add prototype.
+       * interface.c (check_dtio_interface1): Call it.
+       * resolve.c (gfc_resolve_formal_arglist): Renamed from
+       resolve_formal_arglist, removed static.
+       (find_arglists, resolve_types): Update calls.
+
+2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93522
+       * match.c (gfc_match_select_rank): Fix error cleanup.
+
+2020-04-02  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93498
+       * check.c (gfc_check_findloc):  If the kinds of the arguments
+       differ goto label "incompat".
+
+2020-04-02 Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/94030
+       * resolve.c (resolve_equivalence): Correct formatting
+       around the label "identical_types".  Instead of using
+       gfc_resolve_array_spec use is_non_constants_shape_array
+       to determine whether the array can be used in a in an
+       equivalence statement.
+
+2020-04-01  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/94386
+       expr.c (simplify_parameter_variable): Restore code deleted
+       in PR94246.
+
+2020-03-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/94246
+       * arith.c : Remove trailing white space.
+       * expr.c (scalarize_intrinsic_call): Remove the error checking.
+       Make a copy of the expression to be simplified and only replace
+       the original if the simplification succeeds.
+
+2020-03-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94348
+       * decl.c (gfc_match_submod_proc): Add result var to the
+       proc's namespace.
+
+2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93957
+       * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
+       nonallocatable, nonpointer deferred-rank arrays.
+
+2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93363
+       * resolve.c (resolve_assoc_var): Reject association to DT and
+       function name.
+
+2020-03-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93484
+       * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
+       gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.
+
+2020-03-23  Mark Eggleston  <mark.eggleston@codethink.com>
+       Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93600
+       * expr.c (simplify_parameter_variable): Check whether the ref
+       chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
+       boolean. When an empty array has been identified and a new
+       new EXPR_ARRAY expression has been created only return that
+       expression if inquiry is not set. This allows the new
+       expression to drop through to be simplified into a
+       EXPR_CONSTANT representing %kind or %len.
+       * matc.c (gfc_match_assignment): If lvalue doesn't have a
+       symtree free both lvalue and rvalue expressions and return
+       an error.
+       * resolv.c (gfc_resolve_ref): Ensure that code to handle
+       INQUIRY_LEN is only performed for arrays with deferred types.
+
+2020-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * class.c (generate_finalization_wrapper): Fix up duplicated word
+       issue in a comment.
+       * trans-types.c (gfc_get_nodesc_array_type): Likewise.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * array.c (gfc_check_iter_variable): Fix up duplicated word issue
+       in a comment.
+       * arith.c (gfc_arith_concat): Likewise.
+       * resolve.c (gfc_resolve_ref): Likewise.
+       * frontend-passes.c (matmul_lhs_realloc): Likewise.
+       * module.c (gfc_match_submodule, load_needed): Likewise.
+       * trans-expr.c (gfc_init_se): Likewise.
+
+2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * lang.opt: Avoid redundancy in the help text.
+
+2020-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * openmp.c (gfc_match_oacc_declare): Accept function-result
+       variables; reject variables declared in a different scoping unit.
+
+2020-03-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93581
+       * resolve.c (gfc_resolve_ref): Modify array refs to be elements
+       if the ref chain ends in INQUIRY_LEN.
+       * trans-array.c (gfc_get_dataptr_offset): Provide the offsets
+       for INQUIRY_RE and INQUIRY_IM.
+
+2020-03-05 Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93792
+       * decl.c (variable_decl): If param and initializer check
+       for BOZ, if found,  output an error, set m to MATCH_ERROR
+       and goto cleanup.
+
+2020-03-02  Andrew Benson  <abensonca@gmail.com>
+
+       PR fortran/93486
+       * module.c: Increase size of variables used to read module names
+       when loading interfaces from module files to permit cases where
+       the name is the concatenation of a module and submodule name.
+       * gfortran.dg/pr93486.f90: New test.
+
+2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92976
+       * match.c (select_type_set_tmp): If the selector array spec has
+       explicit bounds, make the temporary's bounds deferred.
+
+2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92959
+       * trans-intrinsic.c (gfc_conv_associated): Eliminate
+       'nonzero_charlen' and move the chunk to evaluate zero character
+       length until after the argument evaluation so that the string
+       length can be used.
+
+2020-02-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92785
+       * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
+       variable expressions to be unity lbound based.
+
+2020-02-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * simplify.c (degrees_f): Remove unused code.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR translation/93864
+       * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
+       * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
+       gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.
+
+2020-02-24  Mark Eggleston  <mark.eggleston@codethink.com>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93835
+       * decl.c (gfc_match_data) : Check whether the data expression
+       is a derived type and is a constructor. If a BOZ constant
+       is encountered in the constructor output an error and return
+       MATCH_ERROR.
+
+2020-02-24  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93604
+       * decl.c (gfc_match_data) : Check whether the data expression
+       is a derived type and is a constructor. If a BOZ constant
+       is encountered in the constructor output an error and return
+       MATCH_ERROR.
+
+2020-02-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93552
+       * match.c (match_exit_cycle): With OpenACC, check the kernels loop
+       directive and tile clause as well.
+
+2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93889
+       * interface.c (compare_parameter): Fix error message.
+
+2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93890
+       * interface.c: Replace "can not" by "cannot" and remove trailing
+       space.
+
+2020-02-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93825
+       * openmp.c (resolve_oacc_loop_blocks): Move call to
+       resolve_oacc_nested_loops from here ...
+       (resolve_oacc_loop): ... to here.
+
+2020-02-18  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/93714
+       * expr.c (gfc_check_pointer_assign): Move check for
+       matching character length to after checking the lvalue
+       attributes for target or pointer.
+
+2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93601
+       * match.c (gfc_match_assignment) : Reject assignment if
+       the lhs stype is BT_CLASS and the rhs type is BT_BOZ.
+
+2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93603
+       * match.c (gfc_match_associate) : If target expression
+       has the type BT_BOZ output an error and goto
+       assocListError.
+
+2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/93580
+       * primary.c (gfc_match_varspec): If the symbol following %
+       is re or im and the primary expression type is not BT_COMPLEX
+       issue an error. If the symbol is len and the primary
+       expression type is not BT_CHARACTER is an error.
+
+2020-02-10  Andrew Benson  <abensonca@gmail.com>
+
+       PR fortran/83113
+       * array.c: Do not attempt to set the array spec for a submodule
+       function symbol (as it has already been set in the corresponding
+       module procedure interface).
+       * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
+       DIMENSION attributes in declarations of a submodule function.
+       * gfortran.h: Add a macro that tests for a module procedure in a
+       submodule.
+       * gfortran.dg/pr83113.f90: New test.
+
+2020-02-03  Julian Brown  <julian@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
+       * intrinsic.texi: Update mentions of OpenACC version to 2.6.
+       * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
+       * invoke.texi: Remove experimental disclamer for OpenACC.
+
+2020-02-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93541
+       * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
+       Add undocumented parameters from omp_lib.f90.in.
+
+2020-02-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93427
+       * resolve.c (resolve_assoc_var): Remove too strict check.
+       * gfortran.dg/associate_51.f90: Update test case.
+
+2020-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/92305
+       * trans-types.c (gfc_get_function_type): Also push boolean_type_node
+       types for non-character scalar VALUE optional dummy arguments.
+       * trans-decl.c (create_function_arglist): Skip those in
+       hidden_typelist.  Formatting fix.
+
+2020-01-31  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93462
+       * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
+       in_omp_atomic to true prevent front-end optimization.
+
+2020-01-30  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       PR fortran/87103
+       * expr.c (gfc_check_conformance): Check vsnprintf for truncation.
+       * iresolve.c (gfc_get_string): Likewise.
+       * symbol.c (gfc_new_symbol): Remove check for maximum symbol
+       name length.  Remove redundant 0 setting of new calloc()ed
+       gfc_symbol.
+
+2020-01-30  Paul Thomas  <pault@gcc.gnu.org>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/92123
+       * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
+       CFI descs.
+       (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
+       for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
+       (convert_CFI_desc): Handle references to CFI descriptors.
+
+2020-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/93463
+       * openmp.c (oacc_code_to_statement): Handle
+       EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.
+
+2020-01-28  Andrew Benson  <abensonca@gmail.com>
+
+       PR fortran/93461
+       * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
+       GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
+       plus the "." between module and submodule names.
+       * gfortran.dg/pr93461.f90: New test.
+
+2020-01-28  Andrew Benson  <abensonca@gmail.com>
+
+       PR fortran/93473
+       * parse.c: Increase length of char variables to allow them to hold
+       a concatenated module + submodule name.
+       * gfortran.dg/pr93473.f90: New test.
+
+2020-01-28  Julian Brown  <julian@codesourcery.com>
+
+       PR fortran/93025
+       * openmp.c (resolve_omp_clauses): Check array references for contiguity.
+
+2020-01-28  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.h (gfc_symbol): Add comp_mark bitfield.
+       * openmp.c (resolve_omp_clauses): Disallow mixed component and
+       full-derived-type accesses to the same variable within a single
+       directive.
+
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93464
+       * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
+       DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
+       GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.
+
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.texi (Runtime): Remove tailing '.' in @menu.
+
+2020-01-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/85781
+       * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
+       of Bind(C) procedures.
+
+2020-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
+       * trans-openmp.c (gfc_trans_omp_target)
+       <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.
+
+       PR fortran/93329
+       * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
+       cases.
+
+2020-01-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93309
+       * interface.c (gfc_procedure_use): Also check parent namespace for
+       'implict none (external)'.
+       * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
+       to parent namespace's setting.
+
+2020-01-19  Thomas König  <tkoenig@gcc.gnu.org>
+
+       PR fortran/44960
+       * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
+       * resolve.c (resolve_function): Issue error when a
+       function call contains a reference.
+
+2020-01-17  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93236
+       * resolve.c (resolve_types): Declare boolean recursive and set with the
+       value of the recursive attribute of namespace proc_name symbol
+       structure if it exists.  Call gfc_save_all if both flag_automatic and
+       recursive are false or ns->save_all is true.
+
+2020-01-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93253
+       * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
+       in the error message.
+       * gfortran.texi (BOZ literal constants): List another missing
+       extension and refer to -fallow-invalid-boz.
+       * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text
+       as it is not covered by the previous wording.
+       * primary.c (match_boz_constant): Tweak wording such that it is
+       clear how to fix the nonstandard use.
+
+2020-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/65428
+       * array.c (empty_constructor): New variable.
+       (empty_ts): New variable.
+       (expand_constructor): Save typespec in empty_ts.
+       Unset empty_constructor if there is an element.
+       (gfc_expand_constructor): Initialize empty_constructor
+       and empty_ts.  If there was no explicit constructor
+       type and the constructor is empty, take the type from
+       empty_ts.
+
+2020-01-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/84135
+       * array.c (gfc_set_array_spec): Fix shifting of codimensions
+       when adding a dimension.
+       * decl.c (merge_array_spec): Ditto. Fix using correct codimensions.
+
+2020-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/93162
+       * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type
+       before testing u.ar.type == AR_FULL.
+
+2020-01-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/91640
+       * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
+       arguments to contiguous dummy args.  Avoid re-checking whether fsym is
+       NULL.
+
+2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
+       Boolean expression; handle unallocated/disassociated actual arguments
+       as absent if passed to nonallocatable/nonpointer dummy array arguments.
+       (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
+       (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
+       array-data variable if the argument is absent. Simplify code as
+       'present' is now a Boolean expression.
+
+2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92994
+       * primary.c (gfc_match_rvalue): Add some flavor checks
+       gfc_matching_procptr_assignment.
+       * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
+
+2020-01-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/68020
+       * array.c (gfc_match_array_spec): Fix implied-type matching
+       for rank > 2.
+
+2020-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93113
+       * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
+       for ref types.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * gfortranspec.c (lang_specific_driver): Update copyright notice
+       dates.
+       * gfc-internals.texi: Bump @copying's copyright year.
+       * gfortran.texi: Ditto.
+       * intrinsic.texi: Ditto.
+       * invoke.texi: Ditto.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/testsuite/ChangeLog-2020 b/gcc/testsuite/ChangeLog-2020
new file mode 100644 (file)
index 0000000..31879d2
--- /dev/null
@@ -0,0 +1,29084 @@
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98489
+       PR tree-optimization/56719
+       * gcc.dg/tree-ssa/pr56719.c: Remove semicolon from
+       scan-tree-dump-times regexps.
+
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98302
+       * gcc.dg/vect/pr98302.c: New test.
+
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94994
+       * gcc.dg/vect/pr94994.c: New test.
+
+2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98214
+       * gcc.target/aarch64/sve/pr98214.c: New file.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94802
+       * gcc.dg/tree-ssa/pr94802-1.c: New test.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94785
+       * gcc.dg/tree-ssa/pr94785.c: New test.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98474
+       * gcc.c-torture/execute/pr98474.c: New test.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98206
+       * g++.dg/ubsan/align-4.C: New test.
+
+2020-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56719
+       * gcc.dg/tree-ssa/pr56719.c: New test.
+
+2020-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98461
+       * gcc.target/i386/sse2-pr98461.c: New test.
+       * gcc.target/i386/avx2-pr98461.c: New test.
+
+2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97612
+       * gfortran.dg/structure_constructor_17.f90: New test.
+
+2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93833
+       * gfortran.dg/deferred_character_36.f90 : New test.
+
+2020-12-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/loop-3.c: Update test pattern.
+
+2020-12-29  Vladimir Isaev  <isaev@synopsys.com>
+
+       * gcc.target/arc/uncached-9.c: New test.
+
+2020-12-28  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * gcc.target/i386/pr96793-2.c: New test.
+
+2020-12-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/pr92658-avx2-2.c: New test.
+       * gcc.target/i386/pr92658-avx512bw-2.c: Likewise.
+       * gcc.target/i386/pr92658-sse4-2.c: Likewise.
+
+2020-12-27  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/tree-ssa/asm-2.c: Use different register for iq2000.
+       * gcc.dg/tree-ssa/asm-3.c: Likewise.
+
+2020-12-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97694
+       PR fortran/97723
+       * gfortran.dg/select_rank_5.f90: New test.
+
+2020-12-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96045
+       * obj-c++.dg/property/property-neg-6.mm: Adjust EOF
+       diagnostic location.
+       * obj-c++.dg/syntax-error-10.mm: Likewise.
+       * obj-c++.dg/syntax-error-8.mm: Likewise.
+       * obj-c++.dg/syntax-error-9.mm: Likewise.
+
+2020-12-26  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98022
+       * gfortran.dg/data_inquiry_ref.f90: Change to dg-compile and
+       add errors for inquiry references.
+
+2020-12-25  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/pr93685_1.f90: New test.
+       * gfortran.dg/pr93685_2.f90: New test.
+
+2020-12-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98160
+       * g++.dg/warn/pr98160.C: New test.
+
+2020-12-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98413
+       * g++.dg/warn/pr98413.C: New test.
+
+2020-12-23  Joel Brobecker  <brobecker@adacore.com>
+
+       * gcc.target/arm/data-rel-1.c: Require "fpic" support.
+       * gcc.target/arm/data-rel-2.c: Likewise.
+       * gcc.target/arm/data-rel-3.c: Ditto.
+       * gcc.target/arm/pr44788.c: Ditto.
+       * gcc.target/arm/pr52006.c: Ditto.
+       * gcc.target/arm/pr59858.c: Ditto.
+       * gcc.target/arm/tlscall.c: Ditto.
+       * gcc.target/arm/require-pic-register-loc.c: Ditto.
+       Adjust line numbers.
+
+2020-12-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/96045
+       * g++.dg/diagnostic/pr96045-1.C: New.
+       * g++.dg/diagnostic/pr96045-2.C: New.
+       * g++.dg/diagnostic/pr96045-3.C: New.
+       * c-c++-common/goacc/pr79428-1.c: Adjust EOF diagnostic location.
+       * c-c++-common/gomp/pr79428-2.c: Likewise
+       * c-c++-common/raw-string-6.c: Likewise
+       * g++.dg/cpp0x/decltype63.C: Likewise
+       * g++.dg/cpp0x/gen-attrs-64.C: Likewise
+       * g++.dg/cpp0x/pr68726.C: Likewise
+       * g++.dg/cpp0x/pr78341.C: Likewise
+       * g++.dg/cpp1y/pr65202.C: Likewise
+       * g++.dg/cpp1y/pr65340.C: Likewise
+       * g++.dg/cpp1y/pr68578.C: Likewise
+       * g++.dg/cpp1z/class-deduction44.C: Likewise
+       * g++.dg/diagnostic/unclosed-extern-c.C: Likewise
+       * g++.dg/diagnostic/unclosed-function.C: Likewise
+       * g++.dg/diagnostic/unclosed-namespace.C: Likewise
+       * g++.dg/diagnostic/unclosed-struct.C: Likewise
+       * g++.dg/ext/pr84598.C: Likewise
+       * g++.dg/other/switch4.C: Likewise
+       * g++.dg/parse/attr4.C: Likewise
+       * g++.dg/parse/cond4.C: Likewise
+       * g++.dg/parse/crash10.C: Likewise
+       * g++.dg/parse/crash18.C: Likewise
+       * g++.dg/parse/crash27.C: Likewise
+       * g++.dg/parse/crash34.C: Likewise
+       * g++.dg/parse/crash35.C: Likewise
+       * g++.dg/parse/crash52.C: Likewise
+       * g++.dg/parse/crash59.C: Likewise
+       * g++.dg/parse/crash61.C: Likewise
+       * g++.dg/parse/crash67.C: Likewise
+       * g++.dg/parse/error14.C: Likewise
+       * g++.dg/parse/error56.C: Likewise
+       * g++.dg/parse/invalid1.C: Likewise
+       * g++.dg/parse/parameter-declaration-1.C: Likewise
+       * g++.dg/parse/parser-pr28152-2.C: Likewise
+       * g++.dg/parse/parser-pr28152.C: Likewise
+       * g++.dg/parse/pr68722.C: Likewise
+       * g++.dg/parse/pr96258.C: Likewise
+       * g++.dg/pr46852.C: Likewise
+       * g++.dg/pr46868.C: Likewise
+       * g++.dg/template/crash115.C: Likewise
+       * g++.dg/template/crash43.C: Likewise
+       * g++.dg/template/crash90.C: Likewise
+       * g++.dg/template/error-recovery1.C: Likewise
+       * g++.dg/template/error57.C: Likewise
+       * g++.old-deja/g++.other/crash31.C: Likewise
+
+2020-12-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97597
+       * g++.dg/init/empty3.C: New test.
+
+2020-12-23  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/constexpr-overflow3.C: Use INT_MAX.
+
+2020-12-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98332
+       * g++.dg/cpp0x/constexpr-overflow3.C: New test.
+
+2020-12-23  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98427
+       * gdc.dg/pr98427.d: New test.
+
+2020-12-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * gcc.target/i386/pr96793-1.c: New test.
+
+2020-12-22  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/access-1_a.C: New.: New.
+       * g++.dg/modules/access-1_b.C: New.
+       * g++.dg/modules/access-1_c.C: New.
+       * g++.dg/modules/adhoc-1_a.C: New.
+       * g++.dg/modules/adhoc-1_b.C: New.
+       * g++.dg/modules/adl-1_a.C: New.
+       * g++.dg/modules/adl-1_b.C: New.
+       * g++.dg/modules/adl-1_c.C: New.
+       * g++.dg/modules/adl-2_a.C: New.
+       * g++.dg/modules/adl-2_b.C: New.
+       * g++.dg/modules/adl-2_c.C: New.
+       * g++.dg/modules/adl-3_a.C: New.
+       * g++.dg/modules/adl-3_b.C: New.
+       * g++.dg/modules/adl-3_c.C: New.
+       * g++.dg/modules/adl-4_a.C: New.
+       * g++.dg/modules/adl-4_b.C: New.
+       * g++.dg/modules/adl-5_a.c: New.
+       * g++.dg/modules/adl-5_b.C: New.
+       * g++.dg/modules/adl-5_c.C: New.
+       * g++.dg/modules/adl-5_d.C: New.
+       * g++.dg/modules/alias-1_a.H: New.
+       * g++.dg/modules/alias-1_b.C: New.
+       * g++.dg/modules/alias-1_c.C: New.
+       * g++.dg/modules/alias-1_d.C: New.
+       * g++.dg/modules/alias-1_e.C: New.
+       * g++.dg/modules/alias-1_f.C: New.
+       * g++.dg/modules/alias-2_a.H: New.
+       * g++.dg/modules/alias-2_b.C: New.
+       * g++.dg/modules/align-type-1_a.C: New.
+       * g++.dg/modules/align-type-1_b.C: New.
+       * g++.dg/modules/ambig-1_a.C: New.
+       * g++.dg/modules/ambig-1_b.C: New.
+       * g++.dg/modules/anon-1_a.C: New.
+       * g++.dg/modules/anon-1_b.C: New.
+       * g++.dg/modules/anon-1_c.C: New.
+       * g++.dg/modules/anon-2.h: New.
+       * g++.dg/modules/anon-2_a.H: New.
+       * g++.dg/modules/anon-2_b.C: New.
+       * g++.dg/modules/atom-decl-0_a.C: New.
+       * g++.dg/modules/atom-decl-0_b.C: New.
+       * g++.dg/modules/atom-decl-0_c.C: New.
+       * g++.dg/modules/atom-decl-2.C: New.
+       * g++.dg/modules/atom-decl-3.C: New.
+       * g++.dg/modules/atom-pragma-1.C: New.
+       * g++.dg/modules/atom-pragma-3.C: New.
+       * g++.dg/modules/atom-preamble-1.C: New.
+       * g++.dg/modules/atom-preamble-2_a.C: New.
+       * g++.dg/modules/atom-preamble-2_b.C: New.
+       * g++.dg/modules/atom-preamble-2_c.C: New.
+       * g++.dg/modules/atom-preamble-2_d.C: New.
+       * g++.dg/modules/atom-preamble-2_e.C: New.
+       * g++.dg/modules/atom-preamble-2_f.C: New.
+       * g++.dg/modules/atom-preamble-3.C: New.
+       * g++.dg/modules/atom-preamble-4.C: New.
+       * g++.dg/modules/auto-1.h: New.
+       * g++.dg/modules/auto-1_a.H: New.
+       * g++.dg/modules/auto-1_b.C: New.
+       * g++.dg/modules/auto-2.h: New.
+       * g++.dg/modules/auto-2_a.H: New.
+       * g++.dg/modules/auto-2_b.C: New.
+       * g++.dg/modules/bad-mapper-1.C: New.
+       * g++.dg/modules/bad-mapper-2.C: New.
+       * g++.dg/modules/bad-mapper-3.C: New.
+       * g++.dg/modules/ben-1.map: New.
+       * g++.dg/modules/ben-1_a.C: New.
+       * g++.dg/modules/ben-1_b.C: New.
+       * g++.dg/modules/bfield-1_a.C: New.
+       * g++.dg/modules/bfield-1_b.C: New.
+       * g++.dg/modules/bfield-2_a.C: New.
+       * g++.dg/modules/bfield-2_b.C: New.
+       * g++.dg/modules/bool-1.h: New.
+       * g++.dg/modules/bool-1_a.H: New.
+       * g++.dg/modules/bool-1_b.H: New.
+       * g++.dg/modules/bool-1_c.C: New.
+       * g++.dg/modules/bug-1_a.C: New.
+       * g++.dg/modules/bug-1_b.C: New.
+       * g++.dg/modules/builtin-1_a.C: New.
+       * g++.dg/modules/builtin-1_b.C: New.
+       * g++.dg/modules/builtin-2.C: New.
+       * g++.dg/modules/builtin-3_b.C: New.
+       * g++.dg/modules/builtin-4_a.H: New.
+       * g++.dg/modules/builtin-4_b.C: New.
+       * g++.dg/modules/builtin-5_a.H: New.
+       * g++.dg/modules/builtin-5_b.C: New.
+       * g++.dg/modules/builtin-6_a.H: New.
+       * g++.dg/modules/builtin-6_b.C: New.
+       * g++.dg/modules/builtin-7_a.H: New.
+       * g++.dg/modules/builtin-7_b.C: New.
+       * g++.dg/modules/by-name-1.C: New.
+       * g++.dg/modules/cexpr-1_a.C: New.
+       * g++.dg/modules/cexpr-1_b.C: New.
+       * g++.dg/modules/cexpr-2_a.C: New.
+       * g++.dg/modules/cexpr-2_b.C: New.
+       * g++.dg/modules/circ-1_a.C: New.
+       * g++.dg/modules/circ-1_b.C: New.
+       * g++.dg/modules/circ-1_c.C: New.
+       * g++.dg/modules/circ-1_d.C: New.
+       * g++.dg/modules/class-1_a.C: New.
+       * g++.dg/modules/class-1_b.C: New.
+       * g++.dg/modules/class-1_c.C: New.
+       * g++.dg/modules/class-2_a.C: New.
+       * g++.dg/modules/class-2_b.C: New.
+       * g++.dg/modules/class-3_a.C: New.
+       * g++.dg/modules/class-3_b.C: New.
+       * g++.dg/modules/class-3_c.C: New.
+       * g++.dg/modules/class-3_d.C: New.
+       * g++.dg/modules/class-4_a.C: New.
+       * g++.dg/modules/class-4_b.C: New.
+       * g++.dg/modules/class-5_a.C: New.
+       * g++.dg/modules/class-5_b.C: New.
+       * g++.dg/modules/class-5_c.C: New.
+       * g++.dg/modules/class-6_a.C: New.
+       * g++.dg/modules/class-6_b.C: New.
+       * g++.dg/modules/class-6_c.C: New.
+       * g++.dg/modules/class-7_a.C: New.
+       * g++.dg/modules/class-7_b.C: New.
+       * g++.dg/modules/class-7_c.C: New.
+       * g++.dg/modules/class-8_a.C: New.
+       * g++.dg/modules/class-8_b.C: New.
+       * g++.dg/modules/clone-1_a.C: New.
+       * g++.dg/modules/clone-1_b.C: New.
+       * g++.dg/modules/concept-1_a.C: New.
+       * g++.dg/modules/concept-1_b.C: New.
+       * g++.dg/modules/concept-2_a.C: New.
+       * g++.dg/modules/concept-2_b.C: New.
+       * g++.dg/modules/concept-3_a.C: New.
+       * g++.dg/modules/concept-3_b.C: New.
+       * g++.dg/modules/concept-4.H: New.
+       * g++.dg/modules/concept-5.h: New.
+       * g++.dg/modules/concept-5_a.H: New.
+       * g++.dg/modules/concept-5_b.C: New.
+       * g++.dg/modules/concept-6.h: New.
+       * g++.dg/modules/concept-6_a.H: New.
+       * g++.dg/modules/concept-6_b.C: New.
+       * g++.dg/modules/constrained-partial-1_a.C: New.
+       * g++.dg/modules/constrained-partial-1_b.C: New.
+       * g++.dg/modules/convop-1_a.C: New.
+       * g++.dg/modules/convop-1_b.C: New.
+       * g++.dg/modules/cpp-1.C: New.
+       * g++.dg/modules/cpp-2_a.H: New.
+       * g++.dg/modules/cpp-2_b.H: New.
+       * g++.dg/modules/cpp-2_c.C: New.
+       * g++.dg/modules/cpp-3.C: New.
+       * g++.dg/modules/cpp-4.C: New.
+       * g++.dg/modules/cpp-4.h: New.
+       * g++.dg/modules/cpp-5_a.H: New.
+       * g++.dg/modules/cpp-5_b.C: New.
+       * g++.dg/modules/cpp-5_c.C: New.
+       * g++.dg/modules/cpp-6_a.H: New.
+       * g++.dg/modules/cpp-6_b.H: New.
+       * g++.dg/modules/cpp-6_c.C: New.
+       * g++.dg/modules/debug-1_a.C: New.
+       * g++.dg/modules/debug-1_b.C: New.
+       * g++.dg/modules/decomp-1_a.C: New.
+       * g++.dg/modules/decomp-1_b.C: New.
+       * g++.dg/modules/deferred-1.h: New.
+       * g++.dg/modules/deferred-1_a.H: New.
+       * g++.dg/modules/deferred-1_b.C: New.
+       * g++.dg/modules/dep-1_a.C: New.
+       * g++.dg/modules/dep-1_b.C: New.
+       * g++.dg/modules/dep-2.C: New.
+       * g++.dg/modules/dep-3.C: New.
+       * g++.dg/modules/dir-only-1.C: New.
+       * g++.dg/modules/dir-only-2_a.H: New.
+       * g++.dg/modules/dir-only-2_b.C: New.
+       * g++.dg/modules/dir-only-3.C: New.
+       * g++.dg/modules/dir-only-4.C: New.
+       * g++.dg/modules/dir-recovery.C: New.
+       * g++.dg/modules/enum-1_a.C: New.
+       * g++.dg/modules/enum-1_b.C: New.
+       * g++.dg/modules/enum-2_a.C: New.
+       * g++.dg/modules/enum-2_b.C: New.
+       * g++.dg/modules/enum-3_a.C: New.
+       * g++.dg/modules/enum-3_b.C: New.
+       * g++.dg/modules/enum-4_a.C: New.
+       * g++.dg/modules/enum-4_b.C: New.
+       * g++.dg/modules/enum-5_a.H: New.
+       * g++.dg/modules/enum-5_b.C: New.
+       * g++.dg/modules/enum-6_a.H: New.
+       * g++.dg/modules/enum-6_b.C: New.
+       * g++.dg/modules/enum-7.C: New.
+       * g++.dg/modules/enum-8_a.H: New.
+       * g++.dg/modules/enum-8_b.H: New.
+       * g++.dg/modules/enum-8_c.C: New.
+       * g++.dg/modules/enum-8_d.C: New.
+       * g++.dg/modules/enum-bad-1_a.H: New.
+       * g++.dg/modules/enum-bad-1_b.C: New.
+       * g++.dg/modules/err-1_a.C: New.
+       * g++.dg/modules/err-1_b.C: New.
+       * g++.dg/modules/err-1_c.C: New.
+       * g++.dg/modules/err-1_d.C: New.
+       * g++.dg/modules/except-1.C: New.
+       * g++.dg/modules/except-2.h: New.
+       * g++.dg/modules/except-2_a.H: New.
+       * g++.dg/modules/except-2_b.C: New.
+       * g++.dg/modules/except-3.h: New.
+       * g++.dg/modules/except-3_a.H: New.
+       * g++.dg/modules/except-3_b.C: New.
+       * g++.dg/modules/exp-xlate-1_a.H: New.
+       * g++.dg/modules/exp-xlate-1_b.C: New.
+       * g++.dg/modules/export-1.C: New.
+       * g++.dg/modules/extern-tpl-1_a.H: New.
+       * g++.dg/modules/extern-tpl-1_b.C: New.
+       * g++.dg/modules/extern-tpl-1_c.C: New.
+       * g++.dg/modules/extern-tpl-2_a.H: New.
+       * g++.dg/modules/extern-tpl-2_b.H: New.
+       * g++.dg/modules/extern-tpl-2_c.C: New.
+       * g++.dg/modules/extern-tpl-2_d.C: New.
+       * g++.dg/modules/flag-1_a.C: New.
+       * g++.dg/modules/flag-1_b.C: New.
+       * g++.dg/modules/fn-inline-1_a.C: New.
+       * g++.dg/modules/fn-inline-1_b.C: New.
+       * g++.dg/modules/fn-inline-1_c.C: New.
+       * g++.dg/modules/freeze-1_a.C: New.
+       * g++.dg/modules/freeze-1_b.C: New.
+       * g++.dg/modules/freeze-1_c.C: New.
+       * g++.dg/modules/freeze-1_d.C: New.
+       * g++.dg/modules/friend-1_a.C: New.
+       * g++.dg/modules/friend-1_b.C: New.
+       * g++.dg/modules/friend-1_c.C: New.
+       * g++.dg/modules/friend-2_a.C: New.
+       * g++.dg/modules/friend-2_b.C: New.
+       * g++.dg/modules/friend-3.C: New.
+       * g++.dg/modules/friend-4_a.C: New.
+       * g++.dg/modules/friend-4_b.C: New.
+       * g++.dg/modules/friend-5_a.C: New.
+       * g++.dg/modules/friend-5_b.C: New.
+       * g++.dg/modules/gc-1_a.C: New.
+       * g++.dg/modules/gc-1_b.C: New.
+       * g++.dg/modules/gc-1_c.C: New.
+       * g++.dg/modules/gc-1_d.C: New.
+       * g++.dg/modules/gc-2.map: New.
+       * g++.dg/modules/gc-2_a.C: New.
+       * g++.dg/modules/global-1_a.C: New.
+       * g++.dg/modules/global-1_b.C: New.
+       * g++.dg/modules/gmf-1_a.C: New.
+       * g++.dg/modules/gmf-1_b.C: New.
+       * g++.dg/modules/gmf-2_a.H: New.
+       * g++.dg/modules/gmf-2_b.C: New.
+       * g++.dg/modules/gmf-2_c.C: New.
+       * g++.dg/modules/gmf-2_d.C: New.
+       * g++.dg/modules/gvar_a.C: New.
+       * g++.dg/modules/gvar_b.C: New.
+       * g++.dg/modules/hdr-1_a.H: New.
+       * g++.dg/modules/hdr-1_b.H: New.
+       * g++.dg/modules/hdr-1_c.C: New.
+       * g++.dg/modules/hdr-init-1_a.H: New.
+       * g++.dg/modules/hdr-init-1_b.H: New.
+       * g++.dg/modules/hdr-init-1_c.C: New.
+       * g++.dg/modules/horcrux-1_a.C: New.
+       * g++.dg/modules/horcrux-1_b.C: New.
+       * g++.dg/modules/ice-1.C: New.
+       * g++.dg/modules/imp-inline-1_a.C: New.
+       * g++.dg/modules/imp-inline-1_b.C: New.
+       * g++.dg/modules/imp-member-1_a.C: New.
+       * g++.dg/modules/imp-member-1_b.C: New.
+       * g++.dg/modules/imp-member-1_c.C: New.
+       * g++.dg/modules/imp-member-1_d.C: New.
+       * g++.dg/modules/imp-member-1_e.C: New.
+       * g++.dg/modules/imp-member-2_a.C: New.
+       * g++.dg/modules/imp-member-2_b.C: New.
+       * g++.dg/modules/imp-member-2_c.C: New.
+       * g++.dg/modules/imp-member-3.H: New.
+       * g++.dg/modules/import-1_a.C: New.
+       * g++.dg/modules/import-1_b.C: New.
+       * g++.dg/modules/import-1_c.C: New.
+       * g++.dg/modules/import-1_d.C: New.
+       * g++.dg/modules/import-1_e.C: New.
+       * g++.dg/modules/import-1_f.C: New.
+       * g++.dg/modules/import-1_g.C: New.
+       * g++.dg/modules/import-2.C: New.
+       * g++.dg/modules/inc-xlate-1.map: New.
+       * g++.dg/modules/inc-xlate-1_a.H: New.
+       * g++.dg/modules/inc-xlate-1_b.H: New.
+       * g++.dg/modules/inc-xlate-1_c.C: New.
+       * g++.dg/modules/inc-xlate-1_e.C: New.
+       * g++.dg/modules/indirect-1_a.C: New.
+       * g++.dg/modules/indirect-1_b.C: New.
+       * g++.dg/modules/indirect-1_c.C: New.
+       * g++.dg/modules/indirect-2_a.C: New.
+       * g++.dg/modules/indirect-2_b.C: New.
+       * g++.dg/modules/indirect-2_c.C: New.
+       * g++.dg/modules/indirect-3_a.C: New.
+       * g++.dg/modules/indirect-3_b.C: New.
+       * g++.dg/modules/indirect-3_c.C: New.
+       * g++.dg/modules/indirect-4_a.C: New.
+       * g++.dg/modules/indirect-4_b.C: New.
+       * g++.dg/modules/indirect-4_c.C: New.
+       * g++.dg/modules/inext-1.H: New.
+       * g++.dg/modules/inh-tmpl-ctor-1.h: New.
+       * g++.dg/modules/inh-tmpl-ctor-1_a.H: New.
+       * g++.dg/modules/inh-tmpl-ctor-1_b.C: New.
+       * g++.dg/modules/init-1_a.C: New.
+       * g++.dg/modules/init-1_b.C: New.
+       * g++.dg/modules/init-2_a.C: New.
+       * g++.dg/modules/init-2_b.C: New.
+       * g++.dg/modules/init-2_c.C: New.
+       * g++.dg/modules/inst-1_a.C: New.
+       * g++.dg/modules/inst-1_b.C: New.
+       * g++.dg/modules/inst-2_a.C: New.
+       * g++.dg/modules/inst-2_b.C: New.
+       * g++.dg/modules/inst-3_a.C: New.
+       * g++.dg/modules/inst-3_b.C: New.
+       * g++.dg/modules/inst-4_a.C: New.
+       * g++.dg/modules/inst-4_b.C: New.
+       * g++.dg/modules/inst-5_a.H: New.
+       * g++.dg/modules/inst-5_b.C: New.
+       * g++.dg/modules/internal-1.C: New.
+       * g++.dg/modules/internal-2_a.H: New.
+       * g++.dg/modules/internal-2_b.H: New.
+       * g++.dg/modules/internal-2_c.C: New.
+       * g++.dg/modules/isalnum.H: New.
+       * g++.dg/modules/keyword-1_a.C: New.
+       * g++.dg/modules/keyword-1_b.C: New.
+       * g++.dg/modules/lambda-1_a.C: New.
+       * g++.dg/modules/lambda-1_b.C: New.
+       * g++.dg/modules/lambda-2.h: New.
+       * g++.dg/modules/lambda-2_a.H: New.
+       * g++.dg/modules/lambda-2_b.C: New.
+       * g++.dg/modules/lambda-2_c.C: New.
+       * g++.dg/modules/lambda-3.h: New.
+       * g++.dg/modules/lambda-3_a.H: New.
+       * g++.dg/modules/lambda-3_b.C: New.
+       * g++.dg/modules/lambda-3_c.C: New.
+       * g++.dg/modules/lambda-4.h: New.
+       * g++.dg/modules/lambda-4_a.H: New.
+       * g++.dg/modules/lambda-4_b.C: New.
+       * g++.dg/modules/lang-1_a.H: New.
+       * g++.dg/modules/lang-1_b.C: New.
+       * g++.dg/modules/lang-1_c.C: New.
+       * g++.dg/modules/lang-2_a.C: New.
+       * g++.dg/modules/lang-2_b.C: New.
+       * g++.dg/modules/late-ret-1.H: New.
+       * g++.dg/modules/late-ret-2_a.H: New.
+       * g++.dg/modules/late-ret-2_b.H: New.
+       * g++.dg/modules/late-ret-2_c.C: New.
+       * g++.dg/modules/late-ret-3_a.H: New.
+       * g++.dg/modules/late-ret-3_b.H: New.
+       * g++.dg/modules/late-ret-3_c.C: New.
+       * g++.dg/modules/lazy-1_a.C: New.
+       * g++.dg/modules/lazy-1_b.C: New.
+       * g++.dg/modules/leg-merge-1_a.H: New.
+       * g++.dg/modules/leg-merge-1_b.H: New.
+       * g++.dg/modules/leg-merge-1_c.C: New.
+       * g++.dg/modules/leg-merge-1_d.C: New.
+       * g++.dg/modules/leg-merge-2_a.H: New.
+       * g++.dg/modules/leg-merge-2_b.H: New.
+       * g++.dg/modules/leg-merge-2_c.C: New.
+       * g++.dg/modules/leg-merge-3_a.H: New.
+       * g++.dg/modules/leg-merge-3_b.H: New.
+       * g++.dg/modules/leg-merge-3_c.C: New.
+       * g++.dg/modules/leg-merge-3_d.C: New.
+       * g++.dg/modules/leg-merge-4_a.H: New.
+       * g++.dg/modules/leg-merge-4_b.H: New.
+       * g++.dg/modules/leg-merge-4_c.C: New.
+       * g++.dg/modules/leg-merge-5_a.H: New.
+       * g++.dg/modules/leg-merge-5_b.H: New.
+       * g++.dg/modules/leg-merge-5_c.C: New.
+       * g++.dg/modules/leg-merge-6_a.H: New.
+       * g++.dg/modules/leg-merge-6_b.H: New.
+       * g++.dg/modules/leg-merge-6_c.C: New.
+       * g++.dg/modules/leg-merge-7_a.H: New.
+       * g++.dg/modules/leg-merge-7_b.H: New.
+       * g++.dg/modules/leg-merge-7_c.C: New.
+       * g++.dg/modules/leg-merge-8_a.H: New.
+       * g++.dg/modules/leg-merge-8_b.H: New.
+       * g++.dg/modules/leg-merge-8_c.C: New.
+       * g++.dg/modules/leg-merge-9_a.H: New.
+       * g++.dg/modules/leg-merge-9_b.H: New.
+       * g++.dg/modules/leg-merge-9_c.C: New.
+       * g++.dg/modules/legacy-1_a.H: New.
+       * g++.dg/modules/legacy-1_b.C: New.
+       * g++.dg/modules/legacy-1_c.C: New.
+       * g++.dg/modules/legacy-2.h: New.
+       * g++.dg/modules/legacy-2.map: New.
+       * g++.dg/modules/legacy-2_a.H: New.
+       * g++.dg/modules/legacy-2_b.H: New.
+       * g++.dg/modules/legacy-2_c.C: New.
+       * g++.dg/modules/legacy-2_d.C: New.
+       * g++.dg/modules/legacy-3.h: New.
+       * g++.dg/modules/legacy-3_a.H: New.
+       * g++.dg/modules/legacy-3_b.H: New.
+       * g++.dg/modules/legacy-3_c.H: New.
+       * g++.dg/modules/legacy-6.map: New.
+       * g++.dg/modules/legacy-6_a.H: New.
+       * g++.dg/modules/legacy-6_b.H: New.
+       * g++.dg/modules/legacy-6_c.C: New.
+       * g++.dg/modules/legacy-6_d.C: New.
+       * g++.dg/modules/legacy-6_e.C: New.
+       * g++.dg/modules/legacy-6_f.C: New.
+       * g++.dg/modules/legacy-7_a.H: New.
+       * g++.dg/modules/legacy-7_b.C: New.
+       * g++.dg/modules/legacy-8_a.H: New.
+       * g++.dg/modules/legacy-8_b.H: New.
+       * g++.dg/modules/legacy-8_c.C: New.
+       * g++.dg/modules/legacy-8_d.C: New.
+       * g++.dg/modules/legacy-8_e.C: New.
+       * g++.dg/modules/libfn-1_a.C: New.
+       * g++.dg/modules/libfn-1_b.C: New.
+       * g++.dg/modules/literals-1_a.C: New.
+       * g++.dg/modules/literals-1_b.C: New.
+       * g++.dg/modules/loc-1_a.C: New.
+       * g++.dg/modules/loc-1_b.C: New.
+       * g++.dg/modules/loc-1_c.C: New.
+       * g++.dg/modules/loc-2_a.C: New.
+       * g++.dg/modules/loc-2_b.C: New.
+       * g++.dg/modules/loc-2_c.C: New.
+       * g++.dg/modules/loc-2_d.C: New.
+       * g++.dg/modules/loc-2_e.C: New.
+       * g++.dg/modules/loc-2_f.C: New.
+       * g++.dg/modules/loc-wrapper-1.h: New.
+       * g++.dg/modules/loc-wrapper-1_a.H: New.
+       * g++.dg/modules/loc-wrapper-1_b.C: New.
+       * g++.dg/modules/local-1_a.C: New.
+       * g++.dg/modules/local-1_b.C: New.
+       * g++.dg/modules/local-extern-1.C: New.
+       * g++.dg/modules/local-extern-2.H: New.
+       * g++.dg/modules/local-struct-1_a.C: New.
+       * g++.dg/modules/local-struct-1_b.C: New.
+       * g++.dg/modules/macloc-1_a.C: New.
+       * g++.dg/modules/macloc-1_b.C: New.
+       * g++.dg/modules/macloc-1_c.C: New.
+       * g++.dg/modules/macloc-1_d.C: New.
+       * g++.dg/modules/macloc-2_a.H: New.
+       * g++.dg/modules/macloc-2_b.C: New.
+       * g++.dg/modules/macro-1_a.H: New.
+       * g++.dg/modules/macro-1_b.C: New.
+       * g++.dg/modules/macro-2_a.H: New.
+       * g++.dg/modules/macro-2_b.H: New.
+       * g++.dg/modules/macro-2_c.H: New.
+       * g++.dg/modules/macro-2_d.C: New.
+       * g++.dg/modules/macro-3_a.H: New.
+       * g++.dg/modules/macro-3_b.H: New.
+       * g++.dg/modules/macro-3_c.C: New.
+       * g++.dg/modules/macro-4_a.H: New.
+       * g++.dg/modules/macro-4_b.H: New.
+       * g++.dg/modules/macro-4_c.H: New.
+       * g++.dg/modules/macro-4_d.C: New.
+       * g++.dg/modules/macro-4_e.C: New.
+       * g++.dg/modules/macro-4_f.C: New.
+       * g++.dg/modules/macro-4_g.C: New.
+       * g++.dg/modules/macro-5_a.H: New.
+       * g++.dg/modules/macro-5_b.H: New.
+       * g++.dg/modules/macro-5_c.C: New.
+       * g++.dg/modules/macro-6_a.H: New.
+       * g++.dg/modules/macro-6_b.C: New.
+       * g++.dg/modules/macro-6_c.C: New.
+       * g++.dg/modules/macro-7_a.C: New.
+       * g++.dg/modules/macro-7_b.C: New.
+       * g++.dg/modules/macro-7_c.C: New.
+       * g++.dg/modules/map-1.map: New.
+       * g++.dg/modules/map-1_a.C: New.
+       * g++.dg/modules/map-1_b.C: New.
+       * g++.dg/modules/map-1_b.map: New.
+       * g++.dg/modules/map-2.C: New.
+       * g++.dg/modules/map-2.map: New.
+       * g++.dg/modules/member-def-1_a.C: New.
+       * g++.dg/modules/member-def-1_b.C: New.
+       * g++.dg/modules/member-def-1_c.C: New.
+       * g++.dg/modules/member-def-1_d.C: New.
+       * g++.dg/modules/member-def-2_a.C: New.
+       * g++.dg/modules/member-def-2_b.C: New.
+       * g++.dg/modules/member-def-2_c.C: New.
+       * g++.dg/modules/member-def-2_d.C: New.
+       * g++.dg/modules/memref-1_a.C: New.
+       * g++.dg/modules/memref-1_b.C: New.
+       * g++.dg/modules/merge-10.h: New.
+       * g++.dg/modules/merge-10_a.H: New.
+       * g++.dg/modules/merge-10_b.C: New.
+       * g++.dg/modules/merge-11.h: New.
+       * g++.dg/modules/merge-11_a.H: New.
+       * g++.dg/modules/merge-11_b.C: New.
+       * g++.dg/modules/merge-12.h: New.
+       * g++.dg/modules/merge-12_a.H: New.
+       * g++.dg/modules/merge-12_b.C: New.
+       * g++.dg/modules/merge-13.h: New.
+       * g++.dg/modules/merge-13_a.H: New.
+       * g++.dg/modules/merge-13_b.C: New.
+       * g++.dg/modules/merge-14.h: New.
+       * g++.dg/modules/merge-14_a.H: New.
+       * g++.dg/modules/merge-14_b.C: New.
+       * g++.dg/modules/merge-15.h: New.
+       * g++.dg/modules/merge-15_a.H: New.
+       * g++.dg/modules/merge-15_b.C: New.
+       * g++.dg/modules/merge-1_a.C: New.
+       * g++.dg/modules/merge-1_b.C: New.
+       * g++.dg/modules/merge-2_a.H: New.
+       * g++.dg/modules/merge-2_b.C: New.
+       * g++.dg/modules/merge-3_a.H: New.
+       * g++.dg/modules/merge-3_b.C: New.
+       * g++.dg/modules/merge-4.h: New.
+       * g++.dg/modules/merge-4_a.H: New.
+       * g++.dg/modules/merge-4_b.C: New.
+       * g++.dg/modules/merge-5.h: New.
+       * g++.dg/modules/merge-5_a.H: New.
+       * g++.dg/modules/merge-5_b.C: New.
+       * g++.dg/modules/merge-6.h: New.
+       * g++.dg/modules/merge-6_a.H: New.
+       * g++.dg/modules/merge-6_b.C: New.
+       * g++.dg/modules/merge-7.h: New.
+       * g++.dg/modules/merge-7_a.H: New.
+       * g++.dg/modules/merge-7_b.C: New.
+       * g++.dg/modules/merge-8.h: New.
+       * g++.dg/modules/merge-8_a.H: New.
+       * g++.dg/modules/merge-8_b.C: New.
+       * g++.dg/modules/merge-9.h: New.
+       * g++.dg/modules/merge-9_a.H: New.
+       * g++.dg/modules/merge-9_b.C: New.
+       * g++.dg/modules/mod-exp-1_a.C: New.
+       * g++.dg/modules/mod-exp-1_b.C: New.
+       * g++.dg/modules/mod-imp-1_a.C: New.
+       * g++.dg/modules/mod-imp-1_b.C: New.
+       * g++.dg/modules/mod-imp-1_c.C: New.
+       * g++.dg/modules/mod-imp-1_d.C: New.
+       * g++.dg/modules/mod-impl-1_a.C: New.
+       * g++.dg/modules/mod-impl-1_b.C: New.
+       * g++.dg/modules/mod-impl-1_c.C: New.
+       * g++.dg/modules/mod-impl-1_d.C: New.
+       * g++.dg/modules/mod-indirect-1_a.C: New.
+       * g++.dg/modules/mod-indirect-1_b.C: New.
+       * g++.dg/modules/mod-indirect-1_c.C: New.
+       * g++.dg/modules/mod-indirect-1_d.C: New.
+       * g++.dg/modules/mod-indirect-1_e.C: New.
+       * g++.dg/modules/mod-stamp-1_a.C: New.
+       * g++.dg/modules/mod-stamp-1_b.C: New.
+       * g++.dg/modules/mod-stamp-1_c.C: New.
+       * g++.dg/modules/mod-stamp-1_d.C: New.
+       * g++.dg/modules/mod-sym-1.C: New.
+       * g++.dg/modules/mod-sym-2.C: New.
+       * g++.dg/modules/mod-sym-3.C: New.
+       * g++.dg/modules/mod-tpl-1_a.C: New.
+       * g++.dg/modules/mod-tpl-1_b.C: New.
+       * g++.dg/modules/mod-tpl-2_a.C: New.
+       * g++.dg/modules/mod-tpl-2_b.C: New.
+       * g++.dg/modules/mutual-friend.ii: New.
+       * g++.dg/modules/namespace-1_a.C: New.
+       * g++.dg/modules/namespace-1_b.C: New.
+       * g++.dg/modules/namespace-1_c.C: New.
+       * g++.dg/modules/namespace-2_a.C: New.
+       * g++.dg/modules/namespace-2_b.C: New.
+       * g++.dg/modules/namespace-3_a.C: New.
+       * g++.dg/modules/namespace-3_b.C: New.
+       * g++.dg/modules/namespace-4_a.C: New.
+       * g++.dg/modules/namespace-4_b.C: New.
+       * g++.dg/modules/namespace-4_c.C: New.
+       * g++.dg/modules/nest-1_a.C: New.
+       * g++.dg/modules/nest-1_b.C: New.
+       * g++.dg/modules/nest-1_c.C: New.
+       * g++.dg/modules/nested-1_a.C: New.
+       * g++.dg/modules/nested-1_b.C: New.
+       * g++.dg/modules/nested-1_c.C: New.
+       * g++.dg/modules/nested-2_a.C: New.
+       * g++.dg/modules/nested-2_b.C: New.
+       * g++.dg/modules/nested-constr-1.h: New.
+       * g++.dg/modules/nested-constr-1_a.H: New.
+       * g++.dg/modules/nested-constr-1_b.C: New.
+       * g++.dg/modules/nested-constr-2_a.C: New.
+       * g++.dg/modules/nested-constr-2_b.C: New.
+       * g++.dg/modules/nested-constr-2_c.C: New.
+       * g++.dg/modules/nodes-1_a.C: New.
+       * g++.dg/modules/nodes-1_b.C: New.
+       * g++.dg/modules/noexcept-1.h: New.
+       * g++.dg/modules/noexcept-1_a.H: New.
+       * g++.dg/modules/noexcept-1_b.C: New.
+       * g++.dg/modules/ns-alias-1_a.C: New.
+       * g++.dg/modules/ns-alias-1_b.C: New.
+       * g++.dg/modules/ns-alias-1_c.C: New.
+       * g++.dg/modules/ns-dir-1_a.C: New.
+       * g++.dg/modules/ns-dir-1_b.C: New.
+       * g++.dg/modules/ns-dup-1_a.C: New.
+       * g++.dg/modules/ns-dup-1_b.C: New.
+       * g++.dg/modules/ns-imp-1_a.C: New.
+       * g++.dg/modules/ns-imp-1_b.C: New.
+       * g++.dg/modules/ns-imp-1_c.C: New.
+       * g++.dg/modules/ns-part-1_a.C: New.
+       * g++.dg/modules/ns-part-1_b.C: New.
+       * g++.dg/modules/ns-part-1_c.C: New.
+       * g++.dg/modules/nsdmi-1_a.C: New.
+       * g++.dg/modules/nsdmi-1_b.C: New.
+       * g++.dg/modules/nsdmi-2.C: New.
+       * g++.dg/modules/omp-1_a.C: New.
+       * g++.dg/modules/omp-1_b.C: New.
+       * g++.dg/modules/omp-1_c.C: New.
+       * g++.dg/modules/omp-2_a.C: New.
+       * g++.dg/modules/omp-2_b.C: New.
+       * g++.dg/modules/only-1.C: New.
+       * g++.dg/modules/only-2.C: New.
+       * g++.dg/modules/only-3.C: New.
+       * g++.dg/modules/operator-1_a.C: New.
+       * g++.dg/modules/operator-1_b.C: New.
+       * g++.dg/modules/p0713-1.C: New.
+       * g++.dg/modules/p0713-2.C: New.
+       * g++.dg/modules/p0713-3.C: New.
+       * g++.dg/modules/part-1_a.C: New.
+       * g++.dg/modules/part-1_b.C: New.
+       * g++.dg/modules/part-1_c.C: New.
+       * g++.dg/modules/part-2_a.C: New.
+       * g++.dg/modules/part-2_b.C: New.
+       * g++.dg/modules/part-2_c.C: New.
+       * g++.dg/modules/part-2_d.C: New.
+       * g++.dg/modules/part-2_e.C: New.
+       * g++.dg/modules/part-3_a.C: New.
+       * g++.dg/modules/part-3_b.C: New.
+       * g++.dg/modules/part-3_c.C: New.
+       * g++.dg/modules/part-3_d.C: New.
+       * g++.dg/modules/part-4_a.C: New.
+       * g++.dg/modules/part-4_b.C: New.
+       * g++.dg/modules/part-4_c.C: New.
+       * g++.dg/modules/part-6_a.C: New.
+       * g++.dg/modules/part-6_b.C: New.
+       * g++.dg/modules/part-6_c.C: New.
+       * g++.dg/modules/part-6_d.C: New.
+       * g++.dg/modules/part-6_e.C: New.
+       * g++.dg/modules/part-7_a.C: New.
+       * g++.dg/modules/part-7_b.C: New.
+       * g++.dg/modules/part-7_c.C: New.
+       * g++.dg/modules/part-hdr-1_a.H: New.
+       * g++.dg/modules/part-hdr-1_b.C: New.
+       * g++.dg/modules/part-hdr-1_c.C: New.
+       * g++.dg/modules/part-mac-1_a.H: New.
+       * g++.dg/modules/part-mac-1_b.C: New.
+       * g++.dg/modules/part-mac-1_c.C: New.
+       * g++.dg/modules/partial-1.h: New.
+       * g++.dg/modules/partial-1_a.H: New.
+       * g++.dg/modules/partial-1_b.C: New.
+       * g++.dg/modules/pmf-1.h: New.
+       * g++.dg/modules/pmf-1_a.H: New.
+       * g++.dg/modules/pmf-1_b.C: New.
+       * g++.dg/modules/pmf-2.h: New.
+       * g++.dg/modules/pmf-2_a.H: New.
+       * g++.dg/modules/pmf-2_b.C: New.
+       * g++.dg/modules/pmp-1_a.C: New.
+       * g++.dg/modules/pmp-1_b.C: New.
+       * g++.dg/modules/pmp-2.C: New.
+       * g++.dg/modules/pmp-3.C: New.
+       * g++.dg/modules/pragma-1_a.H: New.
+       * g++.dg/modules/pragma-1_b.C: New.
+       * g++.dg/modules/predef-1.C: New.
+       * g++.dg/modules/predef-1.h: New.
+       * g++.dg/modules/predef-2.h: New.
+       * g++.dg/modules/predef-2_a.C: New.
+       * g++.dg/modules/predef-2_b.C: New.
+       * g++.dg/modules/preproc-1.C: New.
+       * g++.dg/modules/preproc-2_a.H: New.
+       * g++.dg/modules/preproc-2_b.C: New.
+       * g++.dg/modules/printf-1_a.H: New.
+       * g++.dg/modules/printf-1_b.C: New.
+       * g++.dg/modules/reparent-1_a.C: New.
+       * g++.dg/modules/reparent-1_b.C: New.
+       * g++.dg/modules/reparent-1_c.C: New.
+       * g++.dg/modules/scc-1.C: New.
+       * g++.dg/modules/scc-2.C: New.
+       * g++.dg/modules/shadow-1_a.C: New.
+       * g++.dg/modules/shadow-1_b.C: New.
+       * g++.dg/modules/stat-tpl-1_a.H: New.
+       * g++.dg/modules/static-1_a.C: New.
+       * g++.dg/modules/static-1_b.C: New.
+       * g++.dg/modules/static-1_c.C: New.
+       * g++.dg/modules/std-1_a.C: New.
+       * g++.dg/modules/std-1_b.C: New.
+       * g++.dg/modules/stdns_a.C: New.
+       * g++.dg/modules/stdns_b.C: New.
+       * g++.dg/modules/sv-1.h: New.
+       * g++.dg/modules/sv-1_a.C: New.
+       * g++.dg/modules/sv-1_b.C: New.
+       * g++.dg/modules/sym-subst-1.C: New.
+       * g++.dg/modules/sym-subst-2_a.C: New.
+       * g++.dg/modules/sym-subst-2_b.C: New.
+       * g++.dg/modules/sym-subst-3_a.C: New.
+       * g++.dg/modules/sym-subst-3_b.C: New.
+       * g++.dg/modules/sym-subst-4.C: New.
+       * g++.dg/modules/sym-subst-5.C: New.
+       * g++.dg/modules/sym-subst-6.C: New.
+       * g++.dg/modules/sys/alias-2_a.H: New.
+       * g++.dg/modules/sys/inext-1.H: New.
+       * g++.dg/modules/tdef-1_a.C: New.
+       * g++.dg/modules/tdef-1_b.C: New.
+       * g++.dg/modules/tdef-2_a.C: New.
+       * g++.dg/modules/tdef-2_b.C: New.
+       * g++.dg/modules/tdef-2_c.C: New.
+       * g++.dg/modules/tdef-3_a.C: New.
+       * g++.dg/modules/tdef-3_b.C: New.
+       * g++.dg/modules/tdef-3_c.C: New.
+       * g++.dg/modules/tdef-4_a.C: New.
+       * g++.dg/modules/tdef-4_b.C: New.
+       * g++.dg/modules/tdef-4_c.C: New.
+       * g++.dg/modules/tdef-5_a.C: New.
+       * g++.dg/modules/tdef-5_b.C: New.
+       * g++.dg/modules/tdef-6_a.H: New.
+       * g++.dg/modules/tdef-6_b.C: New.
+       * g++.dg/modules/tdef-7.h: New.
+       * g++.dg/modules/tdef-7_a.H: New.
+       * g++.dg/modules/tdef-7_b.C: New.
+       * g++.dg/modules/tdef-8_a.C: New.
+       * g++.dg/modules/tdef-8_b.C: New.
+       * g++.dg/modules/tdef-inst-1.h: New.
+       * g++.dg/modules/tdef-inst-1_a.C: New.
+       * g++.dg/modules/tdef-inst-1_b.C: New.
+       * g++.dg/modules/thunk-1_a.C: New.
+       * g++.dg/modules/thunk-1_b.C: New.
+       * g++.dg/modules/tmpl-part-req-1.h: New.
+       * g++.dg/modules/tmpl-part-req-1_a.H: New.
+       * g++.dg/modules/tmpl-part-req-1_b.C: New.
+       * g++.dg/modules/tmpl-part-req-2.h: New.
+       * g++.dg/modules/tmpl-part-req-2_a.H: New.
+       * g++.dg/modules/tmpl-part-req-2_b.C: New.
+       * g++.dg/modules/token-1.C: New.
+       * g++.dg/modules/token-2_a.C: New.
+       * g++.dg/modules/token-2_b.C: New.
+       * g++.dg/modules/token-3.C: New.
+       * g++.dg/modules/token-4.C: New.
+       * g++.dg/modules/token-5.C: New.
+       * g++.dg/modules/tpl-alias-1.h: New.
+       * g++.dg/modules/tpl-alias-1_a.H: New.
+       * g++.dg/modules/tpl-alias-1_b.C: New.
+       * g++.dg/modules/tpl-ary-1.h: New.
+       * g++.dg/modules/tpl-ary-1_a.H: New.
+       * g++.dg/modules/tpl-ary-1_b.C: New.
+       * g++.dg/modules/tpl-extern-fn-1_a.H: New.
+       * g++.dg/modules/tpl-extern-fn-1_b.C: New.
+       * g++.dg/modules/tpl-extern-var-1_a.H: New.
+       * g++.dg/modules/tpl-extern-var-1_b.C: New.
+       * g++.dg/modules/tpl-friend-1_a.C: New.
+       * g++.dg/modules/tpl-friend-1_b.C: New.
+       * g++.dg/modules/tpl-friend-2_a.C: New.
+       * g++.dg/modules/tpl-friend-2_b.C: New.
+       * g++.dg/modules/tpl-friend-3_a.C: New.
+       * g++.dg/modules/tpl-friend-3_b.C: New.
+       * g++.dg/modules/tpl-friend-4_a.C: New.
+       * g++.dg/modules/tpl-friend-4_b.C: New.
+       * g++.dg/modules/tpl-friend-5_a.C: New.
+       * g++.dg/modules/tpl-friend-5_b.C: New.
+       * g++.dg/modules/tpl-friend-6_a.C: New.
+       * g++.dg/modules/tpl-friend-6_b.C: New.
+       * g++.dg/modules/tpl-friend-7_a.C: New.
+       * g++.dg/modules/tpl-friend-7_b.C: New.
+       * g++.dg/modules/tpl-friend-merge-1.cc: New.
+       * g++.dg/modules/tpl-friend-merge-1.h: New.
+       * g++.dg/modules/tpl-friend-merge-1_a.H: New.
+       * g++.dg/modules/tpl-friend-merge-1_b.H: New.
+       * g++.dg/modules/tpl-friend-merge-1_c.H: New.
+       * g++.dg/modules/tpl-friend-merge-1_d.C: New.
+       * g++.dg/modules/tpl-friend-merge-1_e.C: New.
+       * g++.dg/modules/tpl-friend-merge-1_f.C: New.
+       * g++.dg/modules/tpl-spec-1_a.C: New.
+       * g++.dg/modules/tpl-spec-1_b.C: New.
+       * g++.dg/modules/tpl-spec-2_a.C: New.
+       * g++.dg/modules/tpl-spec-2_b.C: New.
+       * g++.dg/modules/tpl-spec-2_c.C: New.
+       * g++.dg/modules/tpl-spec-2_d.C: New.
+       * g++.dg/modules/tpl-spec-3_a.C: New.
+       * g++.dg/modules/tpl-spec-3_b.C: New.
+       * g++.dg/modules/tpl-spec-4_a.C: New.
+       * g++.dg/modules/tpl-spec-4_b.C: New.
+       * g++.dg/modules/tpl-spec-5_a.C: New.
+       * g++.dg/modules/tpl-spec-5_b.C: New.
+       * g++.dg/modules/tpl-spec-6_a.C: New.
+       * g++.dg/modules/tpl-spec-6_b.C: New.
+       * g++.dg/modules/tpl-spec-7.C: New.
+       * g++.dg/modules/tpl-tpl-friend-1_a.C: New.
+       * g++.dg/modules/tpl-tpl-friend-1_b.C: New.
+       * g++.dg/modules/tpl-tpl-mem-1_a.C: New.
+       * g++.dg/modules/tpl-tpl-mem-1_b.C: New.
+       * g++.dg/modules/tpl-tpl-merge-1.h: New.
+       * g++.dg/modules/tpl-tpl-merge-1_a.H: New.
+       * g++.dg/modules/tpl-tpl-merge-1_b.C: New.
+       * g++.dg/modules/tpl-tpl-merge-2.h: New.
+       * g++.dg/modules/tpl-tpl-merge-2_a.H: New.
+       * g++.dg/modules/tpl-tpl-merge-2_b.C: New.
+       * g++.dg/modules/tpl-tpl-parm-1_a.H: New.
+       * g++.dg/modules/tpl-tpl-parm-1_b.C: New.
+       * g++.dg/modules/tpl-tpl-parm-2.h: New.
+       * g++.dg/modules/tpl-tpl-parm-2_a.H: New.
+       * g++.dg/modules/tpl-tpl-parm-2_b.C: New.
+       * g++.dg/modules/tplmem-1_a.C: New.
+       * g++.dg/modules/tplmem-1_b.C: New.
+       * g++.dg/modules/tplmem-3_a.C: New.
+       * g++.dg/modules/tplmem-3_b.C: New.
+       * g++.dg/modules/ttp-1_a.C: New.
+       * g++.dg/modules/ttp-1_b.C: New.
+       * g++.dg/modules/ttp-2_a.C: New.
+       * g++.dg/modules/ttp-2_b.C: New.
+       * g++.dg/modules/ttp-3_a.C: New.
+       * g++.dg/modules/ttp-3_b.C: New.
+       * g++.dg/modules/typename-1_a.C: New.
+       * g++.dg/modules/typename-1_b.C: New.
+       * g++.dg/modules/unnamed-1_a.C: New.
+       * g++.dg/modules/unnamed-1_b.C: New.
+       * g++.dg/modules/unnamed-2.C: New.
+       * g++.dg/modules/used-1_a.H: New.
+       * g++.dg/modules/used-1_b.H: New.
+       * g++.dg/modules/used-1_c.C: New.
+       * g++.dg/modules/using-1_a.C: New.
+       * g++.dg/modules/using-1_b.C: New.
+       * g++.dg/modules/using-1_c.C: New.
+       * g++.dg/modules/using-2_a.C: New.
+       * g++.dg/modules/using-2_b.C: New.
+       * g++.dg/modules/using-2_c.C: New.
+       * g++.dg/modules/using-3.C: New.
+       * g++.dg/modules/using-4_a.C: New.
+       * g++.dg/modules/using-4_b.C: New.
+       * g++.dg/modules/using-5_a.C: New.
+       * g++.dg/modules/using-5_b.C: New.
+       * g++.dg/modules/using-6_a.C: New.
+       * g++.dg/modules/using-6_b.C: New.
+       * g++.dg/modules/using-7.C: New.
+       * g++.dg/modules/using-8_a.C: New.
+       * g++.dg/modules/using-8_b.C: New.
+       * g++.dg/modules/using-enum-1_a.H: New.
+       * g++.dg/modules/using-enum-1_b.C: New.
+       * g++.dg/modules/var-1_a.C: New.
+       * g++.dg/modules/var-1_b.C: New.
+       * g++.dg/modules/var-tpl-1_a.C: New.
+       * g++.dg/modules/var-tpl-1_b.C: New.
+       * g++.dg/modules/var-tpl-concept-1.h: New.
+       * g++.dg/modules/var-tpl-concept-1_a.C: New.
+       * g++.dg/modules/var-tpl-concept-1_b.C: New.
+       * g++.dg/modules/virt-1_a.C: New.
+       * g++.dg/modules/virt-1_b.C: New.
+       * g++.dg/modules/virt-2_a.C: New.
+       * g++.dg/modules/virt-2_b.C: New.
+       * g++.dg/modules/virt-2_c.C: New.
+       * g++.dg/modules/vmort-1_a.C: New.
+       * g++.dg/modules/vmort-1_b.C: New.
+       * g++.dg/modules/vmort-2_a.C: New.
+       * g++.dg/modules/vmort-2_b.C: New.
+       * g++.dg/modules/vmort-2_c.C: New.
+       * g++.dg/modules/vtt-1_a.C: New.
+       * g++.dg/modules/vtt-1_b.C: New.
+       * g++.dg/modules/vtt-1_c.C: New.
+       * g++.dg/modules/vtt-2.h: New.
+       * g++.dg/modules/vtt-2_a.H: New.
+       * g++.dg/modules/vtt-2_b.C: New.
+
+2020-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93480
+       * g++.dg/cpp2a/spaceship-synth10.C: New test.
+       * g++.dg/cpp2a/spaceship-synth-neg5.C: New test.
+
+2020-12-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96793
+       * gcc.target/i386/pr96793.c: New test.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98353
+       * g++.dg/opt/pr98353.C: New test.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98407
+       * gcc.c-torture/compile/pr98407.c: New test.
+
+2020-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98383
+       * g++.dg/gomp/pr98383.C: New test.
+
+2020-12-20  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * gcc.target/xtensa/bswap.c: New test.
+
+2020-12-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/coarray/send_char_array_1.f90: Correct coarray
+       indces.
+
+2020-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98366
+       * gcc.c-torture/execute/pr98366.c: New test.
+
+2020-12-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98067
+       * gdc.dg/debug/debug.exp: New test.
+       * gdc.dg/debug/dwarf2/dwarf2.exp: New test.
+       * gdc.dg/debug/dwarf2/imports/pr98067.d: New test.
+       * gdc.dg/debug/dwarf2/langdw2.d: New test.
+       * gdc.dg/debug/dwarf2/langdw3.d: New test.
+       * gdc.dg/debug/dwarf2/pr98067.d: New test.
+       * gdc.dg/debug/trivial.d: New test.
+
+2020-12-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97750.c: Remove check for warning.
+
+2020-12-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * g++.dg/gomp/declare-target-3.C: Only check .offload_var_table
+       entries if offloading is enabled.
+
+2020-12-18  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/98177
+       * g++.target/aarch64/sve/pr98177-1.C: New test.
+       * g++.target/aarch64/sve/pr98177-2.C: New test.
+       * gcc.target/aarch64/sve/pr98177-1.c: New test.
+       * gcc.target/aarch64/sve/pr98177-2.c: New test.
+
+2020-12-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * g++.dg/gomp/declare-target-3.C: New.
+
+2020-12-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/83118
+       PR fortran/96012
+       * gfortran.dg/dependency_60.f90: New test.
+       * gfortran.dg/class_allocate_25.f90: New test.
+       * gfortran.dg/class_assign_4.f90: New test.
+       * gfortran.dg/unlimited_polymorphic_32.f03: New test.
+
+2020-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98343
+       * g++.dg/pch/pr98343.C: New test.
+       * g++.dg/pch/pr98343.Hs: New file.
+
+2020-12-18  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (go-set-goos): New procedure.
+       (go-gc-match): New procedure.
+       (go-gc-tests): Call go-set-goos.  Use go-gc-match to handle +build
+       lines.  Look for +build lines beyond first line of file.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96840
+       * g++.dg/cpp2a/concepts-pr88395.C: Adjust to expect the
+       self-recursive satisfaction to get directly diagnosed.
+       * g++.dg/cpp2a/concepts-recursive-sat2.C: Likewise.
+       * g++.dg/cpp2a/concepts-recursive-sat4.C: New test.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-complete1.C: New test.
+       * g++.dg/cpp2a/concepts-complete2.C: New test.
+       * g++.dg/cpp2a/concepts-complete3.C: New test.
+
+2020-12-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97750.c: New.
+
+2020-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98289
+       * gcc.target/i386/pr98289.c: New test.
+       * gcc.dg/torture/pr98289.c: New test.
+
+2020-12-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/debug15.adb: Remove fragile testcase.
+
+2020-12-17  Yannick Moy  <moy@adacore.com>
+
+       * gnat.dg/interface6.adb, gnat.dg/not_null.adb,
+       gnat.dg/protected_func.adb: Adjust error messages.
+
+2020-12-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92587
+       * gfortran.dg/finalize_37.f90: New test.
+
+2020-12-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98307
+       * gfortran.dg/forall_19.f90: New test.
+
+2020-12-17  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * gcc.target/xtensa/shifts.c: New test.
+
+2020-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/rtl/x86_64/test-return-const.c.before-fwprop.c: Don't
+       expect insn updates to be deferred.
+       * gcc.target/aarch64/sve/acle/asm/st4_s8.c: Expect the addition
+       to be folded into the address.
+       * gcc.target/aarch64/sve/acle/asm/st4_u8.c: Likewise.
+
+2020-12-16  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/98047
+       * gcc.dg/qual-assign-7.c: New test.
+
+2020-12-16  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/98260
+       * gcc.dg/unused-9.c: New test.
+
+2020-12-16  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/98280
+       * gcc.target/powerpc/fold-vec-logical-ors-char.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-ors-int.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-ors-short.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-other-char.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-other-int.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-other-longlong.c: Adjust count.
+       * gcc.target/powerpc/fold-vec-logical-other-short.c: Adjust count.
+
+2020-12-16  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/template/pr98297.C: New.
+
+2020-12-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98284
+       * gfortran.dg/pr98284.f90: New test.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * lib/target-supports.exp
+       (check_effective_target_R_flag_in_section): Also check
+       HAVE_INITFINI_ARRAY_SUPPORT != 0.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * c-c++-common/attr-used-5.c: Updated.
+       * c-c++-common/attr-used-6.c: Likewise.
+       * c-c++-common/attr-used-7.c: Likewise.
+       * c-c++-common/attr-used-8.c: Likewise.
+
+2020-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98146
+       * c-c++-common/attr-used-5.c: New test.
+       * c-c++-common/attr-used-6.c: Likewise.
+       * c-c++-common/attr-used-7.c: Likewise.
+       * c-c++-common/attr-used-8.c: Likewise.
+       * c-c++-common/attr-used-9.c: Likewise.
+
+2020-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96239
+       * gcc.dg/pr96239.c: New test.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/97868
+       * gcc.dg/tsan/atomic-fence.c: New test.
+
+2020-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR rtl-optimization/98271
+       PR rtl-optimization/98276
+       PR tree-optimization/98279
+       * gcc.dg/pr98271.c: New test.
+
+2020-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr98272.c: New test.
+
+2020-12-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/pr96933-1.c: Adjusted to check no rlwinm.
+       * gcc.target/powerpc/pr96933-2.c: Likewise.
+
+2020-12-15  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp0x/constexpr-52830.C: Remove dg-ice.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96094
+       * gcc.dg/tree-ssa/pr96094.c: New test.
+
+2020-12-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98277
+       * gdc.dg/pr98277.d: New test.
+
+2020-12-15  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-requires23.C: New test.
+
+2020-12-15  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/mod-decl-0-2a.C: New.
+       * g++.dg/modules/mod-decl-0.C: New.
+       * g++.dg/modules/mod-decl-1.C: New.
+       * g++.dg/modules/mod-decl-2_a.C: New.
+       * g++.dg/modules/mod-decl-2_b.C: New.
+       * g++.dg/modules/mod-decl-2_c.C: New.
+       * g++.dg/modules/mod-decl-3.C: New.
+       * g++.dg/modules/mod-decl-5_a.C: New.
+       * g++.dg/modules/mod-decl-5_b.C: New.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98274
+       * gcc.target/i386/pr98274.c: New test.
+
+2020-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/x86-64-v2.c: Don't expect
+       __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32.
+       * gcc.target/i386/x86-64-v2-other.c: New test.
+       * gcc.target/i386/x86-64-v2-msabi.c: New test.
+       * gcc.target/i386/x86-64-v3.c: Fix a comment pasto.  Don't expect
+       __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32.
+       * gcc.target/i386/x86-64-v3-other.c: New test.
+       * gcc.target/i386/x86-64-v3-msabi.c: New test.
+       * gcc.target/i386/x86-64-v4.c:Don't expect
+       __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32.
+       * gcc.target/i386/x86-64-v4-other.c: New test.
+       * gcc.target/i386/x86-64-v4-msabi.c: New test.
+
+2020-12-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * gcc.target/xtensa/pr98285.c: New test.
+
+2020-12-15  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (errchk): Retain any characters at the end
+       of the comment.
+
+2020-12-15  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr78102.c: Adjust testcase.
+
+2020-12-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98166
+       PR c++/57111
+       PR middle-end/98160
+       * g++.dg/warn/Wmismatched-dealloc-2.C: Adjust test of expected warning.
+       * g++.dg/warn/Wmismatched-new-delete.C: Same.
+       * gcc.dg/Wmismatched-dealloc.c: Same.
+       * c-c++-common/Wfree-nonheap-object-2.c: New test.
+       * c-c++-common/Wfree-nonheap-object-3.c: New test.
+       * c-c++-common/Wfree-nonheap-object.c: New test.
+       * c-c++-common/Wmismatched-dealloc.c: New test.
+       * g++.dg/warn/Wfree-nonheap-object-3.C: New test.
+       * g++.dg/warn/Wfree-nonheap-object-4.C: New test.
+       * g++.dg/warn/Wmismatched-dealloc-2.C: New test.
+       * g++.dg/warn/Wmismatched-new-delete-2.C: New test.
+       * g++.dg/warn/Wmismatched-new-delete.C: New test.
+       * gcc.dg/Wmismatched-dealloc-2.c: New test.
+       * gcc.dg/Wmismatched-dealloc-3.c: New test.
+       * gcc.dg/Wmismatched-dealloc.c: New test.
+
+2020-12-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_tune_cortex_a76): New
+       effective target test.
+       * gcc.target/aarch64/with-tune-config.c: New test.
+       * gcc.target/aarch64/with-tune-march.c: Likewise.
+       * gcc.target/aarch64/with-tune-mcpu.c: Likewise.
+       * gcc.target/aarch64/with-tune-mtune.c: Likewise.
+
+2020-12-14  Tamar Christina  <tamar.christina@arm.com>
+
+       PR middle-end/98264
+       * gcc.target/i386/pr98264.c: New test.
+
+2020-12-14  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * lib/target-supports.exp(check_profiling_available): Limit
+       perf data buffer.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vneg.c: Add tests for vneg.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vmvn.c: Add tests for vmvn.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vbic.c: Add tests for vbic.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-veor.c: Add tests for veor.
+
+2020-12-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/vect-half-floats.c: Fix typos.
+
+2020-12-14  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/98204
+       * c-c++-common/asan/pr98204.c: New test.
+
+2020-12-14  Nikhil Benesch  <nikhil.benesch@gmail.com>
+
+       * gcc.misc-tests/godump-1.c: Add test cases.
+
+2020-12-13  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/push.c: New test.
+
+2020-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98256
+       * gcc.c-torture/compile/pr98256.c: New test.
+
+2020-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/92469
+       * gcc.target/i386/pr92469.c: New test.
+       * gcc.target/i386/pr79804.c: Adjust expected diagnostics.
+       * gcc.target/i386/pr88178.c: Expect an error.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/arm/vect-half-floats.c: New test.
+
+2020-12-13  Tamar Christina  <tamar.christina@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_3a_complex_neon_ok_nocache): Fix it.
+       (check_effective_target_vect_complex_add_byte
+       ,check_effective_target_vect_complex_add_int
+       ,check_effective_target_vect_complex_add_short
+       ,check_effective_target_vect_complex_add_long
+       ,check_effective_target_vect_complex_add_half
+       ,check_effective_target_vect_complex_add_float
+       ,check_effective_target_vect_complex_add_double): New.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-byte.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-byte.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: New test.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: New test.
+       * gcc.dg/vect/complex/complex-add-pattern-template.c: New test.
+       * gcc.dg/vect/complex/complex-add-template.c: New test.
+       * gcc.dg/vect/complex/complex-operations-run.c: New test.
+       * gcc.dg/vect/complex/complex-operations.c: New test.
+       * gcc.dg/vect/complex/complex.exp: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: New test.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: New test.
+
+2020-12-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * lib/scanasm.exp (scan-symbol-section): Pass args to
+       dg-scan-symbol-section.
+       (scan-assembler-symbol-section): Likewise.
+       (dg-scan-symbol-section): Handle selector from orig_args.
+       Get patterns from orig_args.
+       (parse_section_of_symbols): Fix section_pattern.
+       Strip double quotes from section name.
+       * g++.dg/gomp/tls-5.C: Restrict ir, _ZGR2ir_ scans to tls_native.
+       * gcc.dg/20021029-1.c: Anchor ar symbol.
+       * gcc.dg/darwin-sections.c: Remove obsolete scans for _a, _b in
+       .data.
+
+2020-12-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98022
+       * gfortran.dg/data_inquiry_ref.f90: New test.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96685
+       * gcc.dg/tree-ssa/pr96685-1.c: New test.
+       * gcc.dg/tree-ssa/pr96685-2.c: New test.
+       * gcc.dg/tree-ssa/pr96685-3.c: New test.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96272
+       * gcc.dg/tree-ssa/pr96272.c: New test.
+
+2020-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98183
+       * gcc.dg/gomp/pr98183.c: New test.
+       * gcc.dg/goacc/pr98183.c: New test.
+
+2020-12-11  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-conv3.C: New test.
+       * g++.dg/cpp2a/concepts-conv3a.C: New file.
+
+2020-12-11  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/modules.exp: New.
+
+2020-12-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vorr.c: Add vorr tests.
+
+2020-12-11  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/pmpyd.c: New test.
+       * gcc.target/arc/tmac-1.c: Update.
+
+2020-12-11  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98219
+       * gcc.dg/guality/pr98219-1.c: New test.
+       * gcc.dg/guality/pr98219-2.c: Likewise.
+       * gcc.dg/torture/pr98219-1.c: Likewise.
+       * gcc.dg/torture/pr98219-2.c: Likewise.
+       * gcc.target/i386/uintr-2.c: Scan "add[lq] $8, %[er]sp".
+       (uword_t): New.
+       (foo): Add a uword_t argument.
+       (UINTR_hanlder): Likewise.
+       * gcc.target/i386/uintr-3.c: Scan "add[lq] $8, %[er]sp".
+       (uword_t): New.
+       (UINTR_hanlder): Add a uword_t argument.
+       * gcc.target/i386/uintr-4.c (uword_t): New.
+       (UINTR_hanlder): Add a uword_t argument.
+       * gcc.target/i386/uintr-5.c (uword_t): New.
+       (UINTR_hanlder): Add a uword_t argument.
+
+2020-12-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/78173
+       * g++.dg/cpp2a/concepts-pr78173.C: New test.
+
+2020-12-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_arm_softfloat):
+       Improve documentation.
+
+2020-12-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/lob2.c: Use '-march=armv8.1-m.main+fp'.
+       * gcc.target/arm/lob3.c: Skip with '-mfloat-abi=hard'.
+       * gcc.target/arm/lob4.c: Likewise.
+       * gcc.target/arm/lob5.c: Use '-march=armv8.1-m.main+fp'.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98244
+       * gcc.dg/vect/vect-live-6.c: Require vect_condition.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98242
+       * gcc.dg/vect/bb-slp-subgroups-3.c: Require vect_int_mult.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98240
+       * gcc.dg/vect/pr97678.c: Require vect_int_mult and
+       vect_pack_trunc.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98239
+       * gcc.dg/vect/bb-slp-69.c: Require vect_condition.
+
+2020-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98229
+       * gcc.c-torture/compile/pr98229.c: New test.
+
+2020-12-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98235
+       * gcc.dg/torture/pr98235.c: New testcase.
+
+2020-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98190
+       * gcc.dg/pr98190.c: New test.
+
+2020-12-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/sve/pr97092.c: New test.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98212
+       * gcc.dg/predict-8.c: Adjust expected probability.
+
+2020-12-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * gnat.dg/modular6.adb: New test.
+
+2020-12-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91506
+       * g++.dg/init/array60.C: New test.
+
+2020-12-10  Dennis Zhang  <denzha01@e124712.cambridge.arm.com>
+
+       * gcc.target/arm/simd/mve-vsub_1.c: Fix typo.
+       Remove needless dg-additional-options.
+
+2020-12-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/68451
+       * g++.dg/cpp0x/friend6.C: New test.
+
+2020-12-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vand.c: New test.
+
+2020-12-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98069
+       * gcc.dg/vect/pr98069.c: New file.
+
+2020-12-10  Joel Hutton  <joel.hutton@arm.com>
+
+       * gcc.dg/vect/pr97929.c: New test.
+
+2020-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98211
+       * gcc.dg/pr98211.c: New testcase.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98212
+       * gcc.target/i386/pr98212.c: New test.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98169
+       * gcc.target/i386/pr98169.c: New test.
+
+2020-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98205
+       * c-c++-common/gomp/doacross-4.c: New test.
+
+2020-12-10  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-div-1.c: Expect the load to be
+       vectorized.
+
+2020-12-10  Nikhil Benesch  <nikhil.benesch@gmail.com>
+
+       * gcc.misc-tests/godump-1.c: Add test case.
+
+2020-12-10  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (go-gc-tests): Recognize errorcheckdir -n,
+       for bug345.go.
+
+2020-12-09  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (errchk): Rewrite regexp quoting to use
+       curly braces, making it much simpler.
+
+2020-12-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98213
+       * g++.dg/pr98213.C: New testcase.
+
+2020-12-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97517
+       * g++.dg/diagnostic/nullptr.C: New test.
+
+2020-12-09  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98182
+       * gcc.dg/tree-ssa/if-to-switch-1.c: Add case-values-threshold in
+       order to fix them for aarch64.
+       * gcc.dg/tree-ssa/if-to-switch-10.c: Likewise.
+
+2020-12-09  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/zvector/autovec-double-signaling-eq.c: Build
+       with exceptions.
+       * gcc.target/s390/zvector/autovec-float-signaling-eq.c:
+       Likewise.
+
+2020-12-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/allocate-5.c: New test.
+
+2020-12-09  Richard Biener  <rguenther@suse.de>
+
+       PR c/98200
+       * gcc.dg/gimplefe-error-8.c: New testcase.
+
+2020-12-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/reduction4.f90: Update scan-trees, add
+       lost testcase; move test with FE error to ...
+       * gfortran.dg/gomp/reduction5.f90: ... here.
+
+2020-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98199
+       * gcc.c-torture/compile/pr98199.c: New test.
+
+2020-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98193
+       * g++.dg/cpp2a/bit-cast7.C: New test.
+
+2020-12-09  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-nodiscard1.C: Remove xfail.
+
+2020-12-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/59238
+       * g++.dg/cpp0x/new4.C: New test.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98191
+       * gcc.dg/torture/pr98191.c: Add dg-additional-options with
+       -w -Wno-psabi.
+
+2020-12-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98103
+       * g++.dg/ubsan/vptr-18.C: New test.
+
+2020-12-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96299
+       * g++.dg/cpp2a/spaceship-synth-neg2.C: Move error.
+       * g++.dg/cpp2a/spaceship-p1186.C: New test.
+
+2020-12-08  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98182
+       * gcc.dg/tree-ssa/if-to-switch-10.c: New test.
+       * gcc.dg/tree-ssa/pr98182.c: New test.
+
+2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/reduction4.f90: Update; move FE some tests to ...
+       * gfortran.dg/gomp/reduction6.f90: ... this new test and ...
+       * gfortran.dg/gomp/reduction7.f90: ... this new test.
+       * gfortran.dg/gomp/reduction5.f90: Add dg-error.
+       * gfortran.dg/gomp/scan-1.f90: New test.
+       * gfortran.dg/gomp/scan-2.f90: New test.
+       * gfortran.dg/gomp/scan-3.f90: New test.
+       * gfortran.dg/gomp/scan-4.f90: New test.
+       * gfortran.dg/gomp/scan-5.f90: New test.
+       * gfortran.dg/gomp/scan-6.f90: New test.
+       * gfortran.dg/gomp/scan-7.f90: New test.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94440
+       * gcc.target/i386/pr94440-1.c: New file.
+       * gcc.target/i386/pr94440-2.c: New file.
+
+2020-12-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Require
+       avx512vpopcntdq support.
+       * gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Require
+       avx512vpopcntdq, avx512vl support.
+
+2020-12-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/pr98100.c: Require ifunc support.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/95900
+       * gcc.dg/vect/bb-slp-pr95866.c: Require sse2 for the
+       BIT_FIELD_REF match.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/avx512dq-vandnpd-2.c (CALC): Use union
+       to avoid aliasing violations.
+       * gcc.target/i386/avx512dq-vandnps-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vandpd-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vandps-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vorpd-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vorps-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vxorpd-2.c (CALC): Likewise.
+       * gcc.target/i386/avx512dq-vxorps-2.c (CALC): Likewise.
+
+2020-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98187
+       * c-c++-common/gomp/pr98187.c: New test.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98191
+       * gcc.dg/torture/pr98191.c: New testcase.
+
+2020-12-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97559
+       * gcc.dg/torture/pr97559-1.c: New testcase.
+       * gcc.dg/torture/pr97559-2.c: Likewise.
+
+2020-12-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/97872
+       * gcc.target/arm/pr97872.c: New test.
+
+2020-12-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/96470
+       * gnat.dg/opt39.adb: Add dg-additional-options for PowerPC.
+
+2020-12-07  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/97981
+       * gcc.dg/pr97981.c: New test.
+       * gcc.dg/pr60195.c: Adapt test.
+
+2020-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98147
+       * gcc.dg/pr98147.c: New test.
+
+2020-12-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98043
+       * g++.dg/cpp0x/enum41.C: New test.
+
+2020-12-07  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (errchk): Don't backslash quote parentheses
+       that are already backslash quoted.
+
+2020-12-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98126
+       * g++.dg/warn/Wsequence-point-4.C: New test.
+
+2020-12-07  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98116
+       * g++.dg/template/pr98116.C: Remove dg-ice.
+       * g++.dg/template/pr98116-2.C: New.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98113
+       * gcc.dg/vect/bb-slp-70.c: New testcase.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98117
+       * gcc.dg/torture/pr98117.c: New testcase.
+
+2020-12-07  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/s390.exp: New target check s390_zarch.
+       * gcc.target/s390/stack-clash-1.c: Use s390_zarch instead of lp64.
+       * gcc.target/s390/stack-clash-2.c: Likewise.
+       * gcc.target/s390/stack-clash-3.c: Likewise.
+       * gcc.target/s390/stack-clash-5.c: New test.
+
+2020-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98137
+       * gcc.dg/vect/bb-slp-pr98137.c: New testcase.
+
+2020-12-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr98161.c: New test.
+
+2020-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96232
+       * gcc.dg/tree-ssa/pr96232-2.c: New test.
+       * gcc.dg/tree-ssa/pr88676-2.c: Check phiopt2 dump rather than phiopt1.
+
+2020-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96232
+       * gcc.dg/tree-ssa/pr96232-1.c: New test.
+
+2020-12-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR testsuite/98156
+       * gfortran.dg/coarray/alloc_comp_1.f90: Upper cobound is
+       determined by num_images(), not this_image().
+
+2020-12-06  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/signbit-1.c: Reinstate lp64 condition.
+       * gcc.target/powerpc/signbit-2.c: Match 32-bit output too.
+
+2020-12-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97093
+       * g++.dg/cpp2a/concepts-requires22.C: New test.
+
+2020-12-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97093
+       * g++.dg/concepts/pr94252.C: Verify we no longer issue a
+       spurious unsatisfaction note when diagnosing ill-formed
+       satisfaction.
+       * g++.dg/cpp2a/concepts-requires18.C: No longer expect a
+       spurious unsatisfaction diagnostic when evaluating the
+       nested-requirement subst<void&> of a requires-expression that
+       appears outside of a template.
+       * g++.dg/cpp2a/concepts-requires21.C: Verify we no longer issue
+       a spurious unsatisfaction note when evaluating a
+       nested-requirement of a requires-expression that appears outside
+       of a template.
+       * g++.dg/cpp2a/concepts-nonbool3.C: New test.
+       * g++.dg/cpp2a/concepts-pr97093.C: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       PR target/95294
+       * gcc.target/vax/cmpelim-eq-adddf.c: New test.
+       * gcc.target/vax/cmpelim-eq-addhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-addqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-addsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-addsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-andhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-andqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-andsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-ashlsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-ashrsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-divdf.c: New test.
+       * gcc.target/vax/cmpelim-eq-divhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-divqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-divsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-divsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-extendhisi.c: New test.
+       * gcc.target/vax/cmpelim-eq-extendqisi.c: New test.
+       * gcc.target/vax/cmpelim-eq-extvsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-extzvsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixdfhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixdfqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixdfsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixsfhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixsfqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-fixsfsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-floatsisf.c: New test.
+       * gcc.target/vax/cmpelim-eq-insvsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-iorhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-iorqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-iorsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-mova.c: New test.
+       * gcc.target/vax/cmpelim-eq-movdf.c: New test.
+       * gcc.target/vax/cmpelim-eq-movhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-movqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-movsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-movsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-muldf.c: New test.
+       * gcc.target/vax/cmpelim-eq-mulhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-mulqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-mulsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-mulsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-nothi.c: New test.
+       * gcc.target/vax/cmpelim-eq-notqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-notsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-rotlsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-rotrsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-subdf.c: New test.
+       * gcc.target/vax/cmpelim-eq-subhi.c: New test.
+       * gcc.target/vax/cmpelim-eq-subqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-subsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-subsi.c: New test.
+       * gcc.target/vax/cmpelim-eq-truncdfsf.c: New test.
+       * gcc.target/vax/cmpelim-eq-trunchiqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-truncsihi.c: New test.
+       * gcc.target/vax/cmpelim-eq-truncsiqi.c: New test.
+       * gcc.target/vax/cmpelim-eq-zextendhisi.c: New test.
+       * gcc.target/vax/cmpelim-eq-zextendqihi.c: New test.
+       * gcc.target/vax/cmpelim-eq-zextendqisi.c: New test.
+       * gcc.target/vax/cmpelim-le-adddf.c: New test.
+       * gcc.target/vax/cmpelim-le-addhi.c: New test.
+       * gcc.target/vax/cmpelim-le-addqi.c: New test.
+       * gcc.target/vax/cmpelim-le-addsf.c: New test.
+       * gcc.target/vax/cmpelim-le-addsi.c: New test.
+       * gcc.target/vax/cmpelim-le-andhi.c: New test.
+       * gcc.target/vax/cmpelim-le-andqi.c: New test.
+       * gcc.target/vax/cmpelim-le-andsi.c: New test.
+       * gcc.target/vax/cmpelim-le-ashlsi.c: New test.
+       * gcc.target/vax/cmpelim-le-ashrsi.c: New test.
+       * gcc.target/vax/cmpelim-le-divdf.c: New test.
+       * gcc.target/vax/cmpelim-le-divhi.c: New test.
+       * gcc.target/vax/cmpelim-le-divqi.c: New test.
+       * gcc.target/vax/cmpelim-le-divsf.c: New test.
+       * gcc.target/vax/cmpelim-le-divsi.c: New test.
+       * gcc.target/vax/cmpelim-le-extendhisi.c: New test.
+       * gcc.target/vax/cmpelim-le-extendqisi.c: New test.
+       * gcc.target/vax/cmpelim-le-extvsi.c: New test.
+       * gcc.target/vax/cmpelim-le-extzvsi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixdfhi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixdfqi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixdfsi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixsfhi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixsfqi.c: New test.
+       * gcc.target/vax/cmpelim-le-fixsfsi.c: New test.
+       * gcc.target/vax/cmpelim-le-floatsisf.c: New test.
+       * gcc.target/vax/cmpelim-le-insvsi.c: New test.
+       * gcc.target/vax/cmpelim-le-iorhi.c: New test.
+       * gcc.target/vax/cmpelim-le-iorqi.c: New test.
+       * gcc.target/vax/cmpelim-le-iorsi.c: New test.
+       * gcc.target/vax/cmpelim-le-movdf.c: New test.
+       * gcc.target/vax/cmpelim-le-movhi.c: New test.
+       * gcc.target/vax/cmpelim-le-movqi.c: New test.
+       * gcc.target/vax/cmpelim-le-movsf.c: New test.
+       * gcc.target/vax/cmpelim-le-movsi.c: New test.
+       * gcc.target/vax/cmpelim-le-muldf.c: New test.
+       * gcc.target/vax/cmpelim-le-mulhi.c: New test.
+       * gcc.target/vax/cmpelim-le-mulqi.c: New test.
+       * gcc.target/vax/cmpelim-le-mulsf.c: New test.
+       * gcc.target/vax/cmpelim-le-mulsi.c: New test.
+       * gcc.target/vax/cmpelim-le-nothi.c: New test.
+       * gcc.target/vax/cmpelim-le-notqi.c: New test.
+       * gcc.target/vax/cmpelim-le-notsi.c: New test.
+       * gcc.target/vax/cmpelim-le-rotlsi.c: New test.
+       * gcc.target/vax/cmpelim-le-rotrsi.c: New test.
+       * gcc.target/vax/cmpelim-le-subdf.c: New test.
+       * gcc.target/vax/cmpelim-le-subhi.c: New test.
+       * gcc.target/vax/cmpelim-le-subqi.c: New test.
+       * gcc.target/vax/cmpelim-le-subsf.c: New test.
+       * gcc.target/vax/cmpelim-le-subsi.c: New test.
+       * gcc.target/vax/cmpelim-le-truncdfsf.c: New test.
+       * gcc.target/vax/cmpelim-le-xorhi.c: New test.
+       * gcc.target/vax/cmpelim-le-xorqi.c: New test.
+       * gcc.target/vax/cmpelim-le-xorsi.c: New test.
+       * gcc.target/vax/cmpelim-leu-subhi.c: New test.
+       * gcc.target/vax/cmpelim-leu-subqi.c: New test.
+       * gcc.target/vax/cmpelim-leu-subsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-adddf.c: New test.
+       * gcc.target/vax/cmpelim-lt-addhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-addqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-addsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-addsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-andhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-andqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-andsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-ashlsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-ashrsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-divdf.c: New test.
+       * gcc.target/vax/cmpelim-lt-divhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-divqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-divsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-divsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-extendhisi.c: New test.
+       * gcc.target/vax/cmpelim-lt-extendqisi.c: New test.
+       * gcc.target/vax/cmpelim-lt-extvsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-extzvsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixdfhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixdfqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixdfsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixsfhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixsfqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-fixsfsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-floatsisf.c: New test.
+       * gcc.target/vax/cmpelim-lt-insvsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-iorhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-iorqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-iorsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-movdf.c: New test.
+       * gcc.target/vax/cmpelim-lt-movhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-movqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-movsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-movsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-muldf.c: New test.
+       * gcc.target/vax/cmpelim-lt-mulhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-mulqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-mulsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-mulsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-nothi.c: New test.
+       * gcc.target/vax/cmpelim-lt-notqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-notsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-rotlsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-rotrsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-subdf.c: New test.
+       * gcc.target/vax/cmpelim-lt-subhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-subqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-subsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-subsi.c: New test.
+       * gcc.target/vax/cmpelim-lt-truncdfsf.c: New test.
+       * gcc.target/vax/cmpelim-lt-xorhi.c: New test.
+       * gcc.target/vax/cmpelim-lt-xorqi.c: New test.
+       * gcc.target/vax/cmpelim-lt-xorsi.c: New test.
+       * gcc.target/vax/cmpelim-ltu-subhi.c: New test.
+       * gcc.target/vax/cmpelim-ltu-subqi.c: New test.
+       * gcc.target/vax/cmpelim-ltu-subsi.c: New test.
+       * gcc.target/vax/cmpelim-xx-addsi.c: New test.
+       * gcc.target/vax/cmpelim-xx-insvsi.c: New test.
+       * gcc.target/vax/cmpelim-xxu-subsi.c: New test.
+       * gcc.target/vax/peephole2-eq-andhi.c: New test.
+       * gcc.target/vax/peephole2-eq-andqi.c: New test.
+       * gcc.target/vax/peephole2-eq-andsi.c: New test.
+       * gcc.target/vax/peephole2-eq-cmpvsi.c: New test.
+       * gcc.target/vax/peephole2-eq-cmpzvsi.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzhi-0.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzhi-1.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzqi-0.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzqi-1.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzsi-0.c: New test.
+       * gcc.target/vax/peephole2-eq-ctzsi-1.c: New test.
+       * gcc.target/vax/peephole2-eq-ffshi.c: New test.
+       * gcc.target/vax/peephole2-eq-ffsqi.c: New test.
+       * gcc.target/vax/peephole2-eq-ffssi.c: New test.
+       * gcc.target/vax/peephole2-le-andhi.c: New test.
+       * gcc.target/vax/peephole2-le-andqi.c: New test.
+       * gcc.target/vax/peephole2-le-andsi.c: New test.
+       * gcc.target/vax/peephole2-le-cmpvsi.c: New test.
+       * gcc.target/vax/peephole2-le-cmpzvsi.c: New test.
+       * gcc.target/vax/peephole2-leu-cmpvsi.c: New test.
+       * gcc.target/vax/peephole2-leu-cmpzvsi.c: New test.
+       * gcc.target/vax/peephole2-lt-andhi.c: New test.
+       * gcc.target/vax/peephole2-lt-andqi.c: New test.
+       * gcc.target/vax/peephole2-lt-andsi.c: New test.
+       * gcc.target/vax/peephole2-lt-cmpvsi.c: New test.
+       * gcc.target/vax/peephole2-lt-cmpzvsi.c: New test.
+       * gcc.target/vax/peephole2-ltu-cmpvsi.c: New test.
+       * gcc.target/vax/peephole2-ltu-cmpzvsi.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/movmem.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/cpymem.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/ctzhi.c: New test.
+       * gcc.target/vax/ctzqi.c: New test.
+       * gcc.target/vax/ffshi.c: New test.
+       * gcc.target/vax/ffsqi.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/ctzsi.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/bbcci.c: New test.
+       * gcc.target/vax/bbssi.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/ffssi.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.dg/loop-8.c: Exclude for `vax-*-*'.
+       * gcc.target/vax/compare-add-zero.c: New test.
+       * gcc.target/vax/compare-mov-zero.c: New test.
+
+2020-12-05  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/vax.exp: Use `gcc-dg-runtest' rather than
+       `dg-runtest'.
+       * gcc.target/vax/pr56875.c (dg-options): Make empty.
+       (a): Rewrite for calculations to make effect.  Reformat.
+
+2020-12-05  Matt Thomas  <matt@3am-software.com>
+           Maciej W. Rozycki  <macro@linux-mips.org>
+
+       PR target/58901
+       * gcc.c-torture/compile/pr58901-0.c: New test.
+       * gcc.c-torture/compile/pr58901-1.c: New test.
+
+2020-12-05  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/97421
+       * gcc.c-torture/execute/pr97421-1.c: New test.
+       * gcc.c-torture/execute/pr97421-2.c: New test.
+       * gcc.c-torture/execute/pr97421-3.c: New test.
+
+2020-12-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98016
+       * gfortran.dg/pr98016.f90: New test.
+
+2020-12-05  Venkataramanan Kumar  <Venkataramanan.Kumar@amd.com>
+           Sharavan Kumar  <Shravan.Kumar@amd.com>
+
+       * gcc.target/i386/funcspec-56.inc: Handle new march.
+       * g++.target/i386/mv29.C: New file.
+
+2020-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98122
+       * g++.dg/cpp1y/constexpr-98122.C: New test.
+       * g++.dg/cpp2a/constexpr-98122.C: New test.
+
+2020-12-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93083
+       * g++.dg/cpp2a/nontype-class40.C: New test.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98130
+       * g++.dg/opt/pr98130.C: New test.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96226
+       * gcc.target/i386/pr96226.c: New test.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * g++.dg/cpp2a/bit-cast6.C: New test.
+
+2020-12-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98116
+       * g++.dg/template/pr98116.C: Enable robust checking.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98100
+       * gcc.target/i386/pr98100.c: New test.
+
+2020-12-04  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/98123
+       * gcc.dg/tree-ssa/if-to-switch-4.c: Add param to make the test
+       stable on all architectures.
+       * gcc.dg/tree-ssa/if-to-switch-6.c: Likewise.
+       * gcc.dg/tree-ssa/if-to-switch-8.c: Likewise.
+
+2020-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr98099.c: Compile only for dfp targets.
+
+2020-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt91.ads, gnat.dg/opt91.adb: New test.
+       * gnat.dg/opt91_pkg.ads, gnat.dg/opt91_pkg.adb: New helper.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/80780
+       * g++.dg/cpp2a/srcloc1.C (quux): Use __PRETTY_FUNCTION__ instead of
+       function.
+       * g++.dg/cpp2a/srcloc2.C (quux): Likewise.
+       * g++.dg/cpp2a/srcloc15.C (S::S): Likewise.
+       (bar): Likewise.  Adjust expected column.
+       * g++.dg/cpp2a/srcloc17.C (S::S): Likewise.
+       (bar): Likewise.  Adjust expected column.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-nodiscard1.C: XFAIL.
+
+2020-12-03  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/90629
+       PR middle-end/94527
+       * g++.dg/asan/asan_test.cc: Fix a bug.
+       * g++.dg/warn/delete-array-1.C: Add expected warning.
+       * g++.old-deja/g++.other/delete2.C: Add expected warning.
+       * g++.dg/warn/Wfree-nonheap-object-2.C: New test.
+       * g++.dg/warn/Wfree-nonheap-object.C: New test.
+       * g++.dg/warn/Wmismatched-new-delete.C: New test.
+       * g++.dg/warn/Wmismatched-dealloc-2.C: New test.
+       * g++.dg/warn/Wmismatched-dealloc.C: New test.
+       * gcc.dg/Wmismatched-dealloc.c: New test.
+       * gcc.dg/analyzer/malloc-1.c: Prune out expected warning.
+       * gcc.dg/attr-malloc.c: New test.
+       * gcc.dg/free-1.c: Adjust text of expected warning.
+       * gcc.dg/free-2.c: Same.
+       * gcc.dg/torture/pr71816.c: Prune out expected warning.
+       * gcc.dg/tree-ssa/pr19831-2.c: Add an expected warning.
+       * gcc.dg/Wfree-nonheap-object-2.c: New test.
+       * gcc.dg/Wfree-nonheap-object-3.c: New test.
+       * gcc.dg/Wfree-nonheap-object.c: New test.
+       * g++.dg/warn/Wfree-nonheap-object.s: New file.
+
+2020-12-03  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95342
+       * gfortran.dg/pr95342.f90: New test.
+
+2020-12-03  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (go-gc-tests): Add -I. when building all
+       sources in a directory (errorcheckdir, compiledir, rundir,
+       rundircmpout).
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98019
+       * g++.dg/cpp2a/concepts-nodiscard1.C: New test.
+
+2020-12-03  Uroš Bizjak  <ubizjak@gmail.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98086
+       * gcc.target/i386/pr98086.c: New test.
+
+2020-12-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98115
+       PR c++/98116
+       * g++.dg/template/pr98115.C: New.
+       * g++.dg/template/pr98116.C: New.
+
+2020-12-03  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/stack-clash-4.c: New test.
+
+2020-12-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/undef_1.c: New test.
+
+2020-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr98099.c: New test.
+
+2020-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * g++.dg/cpp2a/pr98082.C: New test.
+
+2020-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * g++.dg/cpp2a/bit-cast1.C: New test.
+       * g++.dg/cpp2a/bit-cast2.C: New test.
+       * g++.dg/cpp2a/bit-cast3.C: New test.
+       * g++.dg/cpp2a/bit-cast4.C: New test.
+       * g++.dg/cpp2a/bit-cast5.C: New test.
+
+2020-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp2a/consteval-defarg2.C: New test.
+
+2020-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98104
+       * g++.dg/warn/pr98104.C: New test.
+
+2020-12-03  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-pr96906-1.c: New test.
+       * gcc.target/i386/pr96906-1.c: Add -mno-avx512f.
+
+2020-12-03  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust testcase to
+       make sure only masked load instruction is generated.
+       * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
+       * gcc.target/i386/pr97642-1.c: New test.
+       * gcc.target/i386/pr97642-2.c: New test.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/parse/defarg17.C: New test.
+
+2020-12-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/consteval-defarg1.C: New test.
+
+2020-12-03  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/97770
+       * gcc.target/i386/avx512bitalg-pr97770-1.c: New test.
+       * gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Likewise.
+       * gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Likewise.
+       * gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Likewise.
+
+2020-12-03  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/options.exp (check_for_options_with_filter): Detect
+       unavailable compiler for the selected language, and bail out
+       as unsupported.
+
+2020-12-03  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected warnings
+       to correctly reflect the maximum object size.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same.
+
+2020-12-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/builtin-constant-p-threading.c: New test.
+
+2020-12-03  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR c++/97947
+       * g++.target/powerpc/pr97947.C: New test.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/80780
+       PR c++/93093
+       * g++.dg/cpp2a/srcloc15.C: New test.
+       * g++.dg/cpp2a/srcloc16.C: New test.
+       * g++.dg/cpp2a/srcloc17.C: New test.
+       * g++.dg/cpp2a/srcloc18.C: New test.
+
+2020-12-02  qing zhao  <qinzhao@gcc.gnu.org>
+
+       PR rtl-optimization/97777
+       PR rtl-optimization/97777
+       * gcc.target/i386/pr97777.c: New test.
+
+2020-12-02  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/other/pr88187.C: Adjust expected error.
+       * g++.dg/cpp2a/class-deduction-abbrev1.C: New test.
+
+2020-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97975
+       * g++.dg/cpp1z/inline-var8.C: New test.
+
+2020-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97187
+       PR c++/97993
+       * g++.dg/eh/crash2.C: New test.
+       * g++.dg/template/crash132.C: New test.
+
+2020-12-02  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected warnings
+       to correctly reflect the maximum object size.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same.
+
+2020-12-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/load-imm64-1.c: New test.
+       * gcc.target/s390/load-imm64-2.c: New test.
+
+2020-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada/acats/support/acats25.lst: Delete.
+       * ada/acats/support/acats26.lst: New file.
+       * ada/acats/support/fcndecl.ada: Minor tweak.
+       * ada/acats/support/impdef.a: Add commentary.
+       * ada/acats/support/impdefg.a (Negative_Zero return): Simplify.
+       * ada/acats/support/macro.dfs (TASK_STORAGE_SIZE): Bump.
+       * ada/acats/support/repbody.ada: Upgrade to ACATS 2.6.
+       * ada/acats/support/tctouch.ada: Likewise.
+       * ada/acats/tests/c3/c352001.a: New file.
+       * ada/acats/tests/c4/c433001.a: Correct error messages.
+       * ada/acats/tests/c4/c453001.a: New file.
+       * ada/acats/tests/c4/c45622a.ada: Delete.
+       * ada/acats/tests/c4/c45624a.ada: Likewise.
+       * ada/acats/tests/c4/c45624b.ada: Likewise.
+       * ada/acats/tests/c4/c460013.a: New file.
+       * ada/acats/tests/c4/c460014.a: Likewise.
+       * ada/acats/tests/c6/c620001.a: Likewise.
+       * ada/acats/tests/c6/c620002.a: Likewise.
+       * ada/acats/tests/c7/c761006.a: Redo Unchecked_Deallocation case.
+       * ada/acats/tests/c9/c96004a.ada: Adjust for Ada 2005.
+       * ada/acats/tests/c9/c96007a.ada: Likewise.
+       * ada/acats/tests/cb/cb41004.a: Adjust for AI95-0044.
+       * ada/acats/tests/cc/cc3016f.ada: Minor tweak.
+       * ada/acats/tests/cd/cd30011.a: New file.
+       * ada/acats/tests/cd/cd30012.a: Likewise.
+       * ada/acats/tests/cd/cd90001.a: Fix comparison.
+       * ada/acats/tests/cxa/cxa3004.a: New file.
+       * ada/acats/tests/cxa/cxa5013.a: Likewise.
+       * ada/acats/tests/cxa/cxac005.a: Adjust for return-by-reference.
+       * ada/acats/tests/cxb/cxb30061.am: New file.
+       * ada/acats/tests/cxf/cxf2001.a: Fix failure message.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98075
+       * g++.dg/ipa/pr98075.C: New test.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/93195
+       * g++.dg/pr93195a.C: New test.
+       * g++.dg/pr93195b.C: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_o_flag_in_section): New proc.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98084
+       * gcc.dg/tree-ssa/pr98094.c: New test.
+
+2020-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97459
+       * gcc.target/i386/pr97282.c (foo): Use 123456 divisor instead of
+       10.
+       * gcc.dg/pr97459-1.c (TESTS): Add tests for 10, 12 and
+       6144.
+       * gcc.dg/pr97459-2.c (TESTS): Likewise.
+       * gcc.dg/pr97459-3.c: New test.
+       * gcc.dg/pr97459-4.c: New test.
+       * gcc.dg/pr97459-5.c: New test.
+       * gcc.dg/pr97459-6.c: New test.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR c/98087
+       * gcc.c-torture/compile/pr98087.c: New test.
+
+2020-12-02  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98079
+       * gcc.target/i386/pr98079.c: New test.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/88702
+       * gcc.dg/tree-ssa/if-to-switch-9.c: New test.
+
+2020-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98084
+       * gcc.dg/tree-ssa/pr98084.c: New test.
+
+2020-12-02  Jeff Law  <law@redhat.com>
+
+       * gcc.target/h8300/add.c: New test.
+       * gcc.target/h8300/add-2.c: New test.
+       * gcc.target/h8300/add-3.c: New test.
+       * gcc.target/h8300/sub.c: New test.
+       * gcc.target/h8300/sub-2.c: New test.
+       * gcc.target/h8300/sub-3.c: New test.
+
+2020-12-02  Ian Lance Taylor  <iant@golang.org>
+
+       * go.test/go-test.exp (errchk): Permit trailing */ on ERROR line.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+           Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * c-c++-common/attr-used.c: Check the 'R' flag.
+       * c-c++-common/attr-used-2.c: Likewise.
+       * c-c++-common/attr-used-3.c: New test.
+       * c-c++-common/attr-used-4.c: Likewise.
+       * gcc.c-torture/compile/attr-used-retain-1.c: Likewise.
+       * gcc.c-torture/compile/attr-used-retain-2.c: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_R_flag_in_section): New proc.
+
+2020-12-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/x86-needed-1.c: New test.
+       * gcc.target/i386/x86-needed-2.c: Likewise.
+       * gcc.target/i386/x86-needed-3.c: Likewise.
+
+2020-12-01  Eugene Rozenfeld  <Eugene.Rozenfeld@microsoft.com>
+
+       * gcc.dg/pr96708-negative.c: New test.
+       * gcc.dg/pr96708-positive.c: New test.
+
+2020-12-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97595
+       * g++.dg/warn/Warray-bounds-14.C: New test.
+       * g++.dg/warn/Wstringop-overflow-6.C: New test.
+
+2020-12-01  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/tree-ssa/pr96480.c: Disable jump table optimization
+
+2020-12-01  JeanHeyd Meneide  <phdofthehouse@gmail.com>
+
+       * c-c++-common/cpp/wide-narrow-predef-macros.c: New test.
+
+2020-12-01  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/pr46309-2.c: Add -fno-bit-tests and -fno-jump-tables
+       to avoid compromising the test.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98072
+       * c-c++-common/gomp/depobj-2.c: New test.
+
+2020-12-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97373
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-25.c: New test.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/tree-ssa/if-to-switch-1.C: Do not allow newlines
+       in .* pattern.
+       * gcc.dg/tree-ssa/if-to-switch-1.c: Likewise.
+       * gcc.dg/tree-ssa/if-to-switch-2.c: Likewise.
+       * gcc.dg/tree-ssa/if-to-switch-3.c: Likewise.
+       * gcc.dg/tree-ssa/if-to-switch-5.c: Likewise.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/98085
+       * g++.dg/tree-ssa/if-to-switch-1.C: Do not expect precise number
+       of BBs.
+       * gcc.dg/tree-ssa/if-to-switch-1.c: Likewise.
+       * gcc.dg/tree-ssa/if-to-switch-2.c: Likewise. Find better name
+       for the function.
+       * gcc.dg/tree-ssa/if-to-switch-3.c: Likewise. Find better name
+       for the function.
+       * gcc.dg/tree-ssa/if-to-switch-5.c: Likewise.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97954
+       * gcc.dg/pr97954.c: New test.
+
+2020-12-01  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * lib/hwasan-dg.exp (check_effective_target_hwaddress_exec): Fix
+       check for correct kernel version.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/14799
+       PR ipa/88702
+       * gcc.dg/tree-ssa/pr96480.c: Disable if-to-switch conversion.
+       * gcc.dg/tree-ssa/reassoc-32.c: Likewise.
+       * g++.dg/tree-ssa/if-to-switch-1.C: New test.
+       * gcc.dg/tree-ssa/if-to-switch-1.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-2.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-3.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-4.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-5.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-6.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-7.c: New test.
+       * gcc.dg/tree-ssa/if-to-switch-8.c: New test.
+
+2020-12-01  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * gcc.target/s390/float_t-1.c: New test.
+       * gcc.target/s390/float_t-2.c: New test.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/torture/pr93347.C: Reduce and remove LIT keywords.
+
+2020-12-01  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98057
+       * g++.dg/ipa/pr98057.C: New test.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98063
+       * gcc.target/i386/pr98063.c: New test.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/debug/dwarf2/lang-cpp17.C: New test.
+       * g++.dg/debug/dwarf2/lang-cpp20.C: New test.
+
+2020-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/97989
+       * gcc.dg/cpp/pr97989-1.c: New test.
+       * gcc.dg/cpp/pr97989-2.c: New test.
+
+2020-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/plugin/analyzer_gil_plugin.c: New test.
+       * gcc.dg/plugin/gil-1.c: New test.
+       * gcc.dg/plugin/gil.h: New header.
+       * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin
+       and test.
+
+2020-11-30  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * lib/profopt.exp: Unset testname_with_flags if create_gcov
+       fails.
+
+2020-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98037
+       * gcc.target/aarch64/sve/acle/general/pr98037.c: New test.
+
+2020-11-30  Jeff Law  <law@redhat.com>
+
+       * g++.dg/warn/Wnonnull5.C: Fix non-unique testnames.
+       * g++.dg/warn/Wplacement-new-size-8.C: Likewise.
+
+2020-11-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98011
+       * gfortran.dg/goacc/sentinel-free-form.f95:
+       * gfortran.dg/goacc-gomp/fixed-1.f: New test.
+       * gfortran.dg/goacc-gomp/free-1.f90: New test.
+       * gfortran.dg/goacc/fixed-5.f: New test.
+
+2020-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98064
+       * g++.dg/vect/pr98064.cc: New testcase.
+
+2020-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98048
+       * gcc.dg/vect/pr98048.c: New testcase.
+
+2020-11-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * gcc.target/arm/pr91816.c: New test.
+
+2020-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97459
+       * gcc.dg/pr97459-1.c: New test.
+       * gcc.dg/pr97459-2.c: New test.
+
+2020-11-29  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/pr98017.f90: New test.
+
+2020-11-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92936
+       PR middle-end/92940
+       PR middle-end/89428
+       * c-c++-common/Wstringop-overflow-2.c: Adjust text of expected
+       informational notes.
+       * g++.dg/warn/Wstringop-overflow-3.C: Same.
+       * g++.dg/warn/Wplacement-new-size.C: Remove a test for a no longer
+       issued warning.
+       * gcc.dg/Warray-bounds-43.c: Removed unused declarations.
+       * gcc.dg/Wstringop-overflow-11.c: Remove xfails.
+       * gcc.dg/Wstringop-overflow-12.c: Same.
+       * gcc.dg/Wstringop-overflow-17.c: Adjust text of expected messages.
+       * gcc.dg/Wstringop-overflow-27.c: Same.  Remove xfails.
+       * gcc.dg/Wstringop-overflow-28.c: Adjust text of expected messages.
+       * gcc.dg/Wstringop-overflow-29.c: Same.
+       * gcc.dg/Wstringop-overflow-37.c: Same.
+       * gcc.dg/Wstringop-overflow-46.c: Same.
+       * gcc.dg/Wstringop-overflow-47.c: Same.
+       * gcc.dg/Wstringop-overflow-54.c: Same.
+       * gcc.dg/warn-strnlen-no-nul.c: Add expected warning.
+       * gcc.dg/Wstringop-overflow-7.c: New test.
+       * gcc.dg/Wstringop-overflow-58.c: New test.
+       * gcc.dg/Wstringop-overflow-59.c: New test.
+       * gcc.dg/Wstringop-overflow-60.c: New test.
+       * gcc.dg/Wstringop-overflow-61.c: New test.
+       * gcc.dg/Wstringop-overflow-62.c: New test.
+       * gcc.dg/Wstringop-overflow-63.c: New test.
+       * gcc.dg/Wstringop-overflow-64.c: New test.
+
+2020-11-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.target/sparc/overflow-6.c: New test.
+
+2020-11-27  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/97602
+       * gcc.dg/cpp/line9.c, gcc.dg/cpp/line10.c: New tests.
+
+2020-11-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/intrinsics.d: Adjust patterns in scan-tree-dump.
+
+2020-11-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR testsuite/98036
+       * gcc.target/i386/fma4-256-maccXX.c (check_maccps):
+       Remove unnecessary postfix increment on a returned variable.
+       (check_maccpd): Ditto.
+       * gcc.target/i386/fma4-256-msubXX.c (check_msubps): Ditto.
+       (check_msubpd): Ditto.
+       * gcc.target/i386/fma4-256-nmaccXX.c (check_nmaccps): Ditto.
+       (check_nmaccpd): Ditto.
+       * gcc.target/i386/fma4-256-nmsubXX.c (check_nmsubps): Ditto.
+       (check_nmsubpd): Ditto.
+       * gcc.target/i386/fma4-maccXX.c (check_maccps): Ditto.
+       (check_maccpd): Ditto.
+       (check_maccss): Ditto.
+       (check_maccsd): Ditto.
+       * gcc.target/i386/fma4-msubXX.c (check_msubps): Ditto.
+       (check_msubpd): Ditto.
+       (check_msubss): Ditto.
+       (check_msubsd): Ditto.
+       * gcc.target/i386/fma4-nmaccXX.c (check_nmaccps): Ditto.
+       (check_nmaccpd): Ditto.
+       (check_nmaccss): Ditto.
+       (check_nmaccsd): Ditto.
+       * gcc.target/i386/fma4-nmsubXX.c (check_nmsubps): Ditto.
+       (check_nmsubpd): Ditto.
+       (check_nmsubss): Ditto.
+       (check_nmsubsd): Ditto.
+       * gcc.target/i386/xop-haddX.c (check_sbyte2word): Add missing return.
+       (check_sbyte2dword):
+       Remove unnecessary postfix increment on a returned value.
+       (check_sbyte2qword): Ditto.
+       (check_sword2dword): Add missing return.
+       (check_sword2qword):
+       Remove unnecessary postfix increment on a returned value.
+       (check_dword2qword): Add missing return.
+       * gcc.target/i386/xop-hadduX.c (check_byte2word): Add missing return.
+       (check_byte2dword):
+       Remove unnecessary postfix increment on a returned value.
+       (check_byte2qword): Ditto.
+       (check_word2dword): Add missing return.
+       (check_word2qword):
+       Remove unnecessary postfix increment on a returned value.
+       (check_word2qword): Add missing return.
+       * gcc.target/i386/xop-hsubX.c (check_sbyte2word): Add missing return.
+       (check_sword2dword): Ditto.
+       (check_sword2qword): Ditto.
+
+2020-11-27  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/kernels-decompose-ice-1.c: Adjust.
+       * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise.
+
+2020-11-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/requires-4.f90: Fix typo in '!$omp' clause.
+
+2020-11-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/requires-4.f90: Fix '!$omp' syntax.
+
+2020-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/88101
+       * g++.dg/torture/builtin-clear-padding-3.C: New test.
+
+2020-11-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/97880
+       * gcc.dg/goacc/tile-1.c: New test.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97997
+       * gcc.dg/tree-ssa/pr97997-1.c: New test.
+       * gcc.dg/tree-ssa/pr97997-2.c: New test.
+
+2020-11-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97953
+       * gcc.dg/pr97953.c: New testcase.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97979
+       * gcc.dg/pr97979.c: New test.
+       * gcc.c-torture/compile/pr97979.c: New test.
+
+2020-11-26  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98002
+       * gcc.dg/strncmp-2.c: Call mprotect again before free.
+
+2020-11-26  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/cache-3-1.c: New.
+       * c-c++-common/goacc/cache-3-2.c: Likewise.
+       * c-c++-common/goacc/data-clause-1.c: Likewise.
+       * c-c++-common/goacc/data-clause-2.c: Likewise.
+       * c-c++-common/gomp/map-1.c: Adjust.
+       * c-c++-common/gomp/map-2.c: Likewise.
+       * g++.dg/goacc/cache-3-1.C: New.
+       * g++.dg/goacc/cache-3-2.C: Likewise.
+       * g++.dg/goacc/data-clause-1.C: Likewise.
+       * g++.dg/goacc/data-clause-2.C: Likewise.
+       * g++.dg/gomp/map-1.C: Adjust.
+       * g++.dg/gomp/map-2.C: Likewise.
+
+2020-11-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * gcc.target/i386/pr97873-3.c: New test.
+
+2020-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/multfixed.adb: Robustify.
+
+2020-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96906
+       * gcc.target/i386/pr96906-1.c: New test.
+
+2020-11-26  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/65455
+       PR c/92935
+       * gcc.dg/typeof-2.c: Adapt test.
+
+2020-11-26  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/nextafter-1.c: Omit prototypes if _NEXT_AFTER_2 defined.
+       * gcc.dg/nextafter-2.c: Define _NEXT_AFTER_2.
+       * gcc.dg/profile-info-section.c: Skip on AIX.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * c-c++-common/patchable_function_entry-error-3.c: Adjust text
+       of expected warning.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/lto/modref-3_0.c: New test.
+       * gcc.dg/lto/modref-3_1.c: New test.
+       * gcc.dg/lto/modref-4_0.c: New test.
+       * gcc.dg/lto/modref-4_1.c: New test.
+       * gcc.dg/tree-ssa/modref-5.c: New test.
+
+2020-11-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85796
+       * gfortran.dg/pr85796.f90: New test.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * g++.dg/gomp/map-1.C: New.
+       * g++.dg/gomp/map-2.C: Likewise.
+       * c-c++-common/gomp/map-1.c: Adjust.
+       * c-c++-common/gomp/map-2.c: Likewise.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/cache-1.c: Update.
+       * c-c++-common/goacc/cache-2.c: Likewise.
+       * g++.dg/goacc/cache-1.C: New.
+       * g++.dg/goacc/cache-2.C: Likewise.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97956
+       * gcc.dg/memchr-3.c: New test.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * c-c++-common/ubsan/sanitize-recover-7.c: Update error message format.
+       * lib/asan-dg.exp (asan_link_flags): Implement as a helper
+       function asan_link_flags_1 which asan_link_flags and
+       hwasan_link_flags use.
+       (asan_link_flags_1): Parametrised version of asan_link_flags.
+       * c-c++-common/hwasan/aligned-alloc.c: New test.
+       * c-c++-common/hwasan/alloca-array-accessible.c: New test.
+       * c-c++-common/hwasan/alloca-base-init.c: New test.
+       * c-c++-common/hwasan/alloca-gets-different-tag.c: New test.
+       * c-c++-common/hwasan/alloca-outside-caught.c: New test.
+       * c-c++-common/hwasan/arguments-1.c: New test.
+       * c-c++-common/hwasan/arguments-2.c: New test.
+       * c-c++-common/hwasan/arguments-3.c: New test.
+       * c-c++-common/hwasan/arguments.c: New test.
+       * c-c++-common/hwasan/asan-pr63316.c: New test.
+       * c-c++-common/hwasan/asan-pr70541.c: New test.
+       * c-c++-common/hwasan/asan-pr78106.c: New test.
+       * c-c++-common/hwasan/asan-pr79944.c: New test.
+       * c-c++-common/hwasan/asan-rlimit-mmap-test-1.c: New test.
+       * c-c++-common/hwasan/bitfield-1.c: New test.
+       * c-c++-common/hwasan/bitfield-2.c: New test.
+       * c-c++-common/hwasan/builtin-special-handling.c: New test.
+       * c-c++-common/hwasan/check-interface.c: New test.
+       * c-c++-common/hwasan/halt_on_error-1.c: New test.
+       * c-c++-common/hwasan/handles-poly_int-marked-vars.c: New test.
+       * c-c++-common/hwasan/heap-overflow.c: New test.
+       * c-c++-common/hwasan/hwasan-poison-optimisation.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-access-parent.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-basic-failure.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-clears-stack.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-success.c: New test.
+       * c-c++-common/hwasan/kernel-defaults.c: New test.
+       * c-c++-common/hwasan/large-aligned-0.c: New test.
+       * c-c++-common/hwasan/large-aligned-1.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-0.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-1.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-2.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-3.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-4.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-5.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-6.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-7.c: New test.
+       * c-c++-common/hwasan/macro-definition.c: New test.
+       * c-c++-common/hwasan/no-sanitize-attribute.c: New test.
+       * c-c++-common/hwasan/param-instrument-mem-intrinsics.c: New test.
+       * c-c++-common/hwasan/param-instrument-reads-and-writes.c: New test.
+       * c-c++-common/hwasan/param-instrument-reads.c: New test.
+       * c-c++-common/hwasan/param-instrument-writes.c: New test.
+       * c-c++-common/hwasan/random-frame-tag.c: New test.
+       * c-c++-common/hwasan/sanity-check-pure-c.c: New test.
+       * c-c++-common/hwasan/setjmp-longjmp-0.c: New test.
+       * c-c++-common/hwasan/setjmp-longjmp-1.c: New test.
+       * c-c++-common/hwasan/stack-tagging-basic-0.c: New test.
+       * c-c++-common/hwasan/stack-tagging-basic-1.c: New test.
+       * c-c++-common/hwasan/stack-tagging-disable.c: New test.
+       * c-c++-common/hwasan/unprotected-allocas-0.c: New test.
+       * c-c++-common/hwasan/unprotected-allocas-1.c: New test.
+       * c-c++-common/hwasan/use-after-free.c: New test.
+       * c-c++-common/hwasan/vararray-outside-caught.c: New test.
+       * c-c++-common/hwasan/vararray-stack-restore-correct.c: New test.
+       * c-c++-common/hwasan/very-large-objects.c: New test.
+       * g++.dg/hwasan/hwasan.exp: New test.
+       * g++.dg/hwasan/rvo-handled.C: New test.
+       * gcc.dg/hwasan/hwasan.exp: New test.
+       * gcc.dg/hwasan/nested-functions-0.c: New test.
+       * gcc.dg/hwasan/nested-functions-1.c: New test.
+       * gcc.dg/hwasan/nested-functions-2.c: New test.
+       * lib/hwasan-dg.exp: New file.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * gcc.dg/builtin-artih-overflow-5.c: Renamed to ...
+       * gcc.dg/builtin-arith-overflow-5.c: ... this.
+
+2020-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/abs_f16.c (abs_f16_x_untied): Expect
+       a MOVPRFX instruction.
+       * gcc.target/aarch64/sve/acle/asm/abs_f32.c (abs_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_f64.c (abs_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s16.c (abs_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s32.c (abs_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s64.c (abs_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s8.c (abs_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s16.c (cls_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s32.c (cls_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s64.c (cls_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s8.c (cls_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s16.c (clz_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s32.c (clz_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s64.c (clz_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s8.c (clz_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u16.c (clz_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u32.c (clz_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u64.c (clz_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u8.c (clz_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s16.c (cnot_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s32.c (cnot_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s64.c (cnot_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s8.c (cnot_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u16.c (cnot_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u32.c (cnot_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u64.c (cnot_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u8.c (cnot_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_bf16.c (cnt_bf16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f16.c (cnt_f16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f32.c (cnt_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f64.c (cnt_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s16.c (cnt_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s32.c (cnt_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s64.c (cnt_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s8.c (cnt_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u16.c (cnt_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u32.c (cnt_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u64.c (cnt_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u8.c (cnt_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_bf16.c (cvt_bf16_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f16.c (cvt_f16_f32_x_untied)
+       (cvt_f16_f64_x_untied, cvt_f16_s16_x_untied, cvt_f16_s32_x_untied)
+       (cvt_f16_s64_x_untied, cvt_f16_u16_x_untied, cvt_f16_u32_x_untied)
+       (cvt_f16_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f32.c (cvt_f32_f16_x_untied)
+       (cvt_f32_f64_x_untied, cvt_f32_s16_x_untied, cvt_f32_s32_x_untied)
+       (cvt_f32_s64_x_untied, cvt_f32_u16_x_untied, cvt_f32_u32_x_untied)
+       (cvt_f32_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f64.c (cvt_f64_f16_x_untied)
+       (cvt_f64_f32_x_untied, cvt_f64_s16_x_untied, cvt_f64_s32_x_untied)
+       (cvt_f64_s64_x_untied, cvt_f64_u16_x_untied, cvt_f64_u32_x_untied)
+       (cvt_f64_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s16.c (cvt_s16_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s32.c (cvt_s32_f16_x_untied)
+       (cvt_s32_f32_x_untied, cvt_s32_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s64.c (cvt_s64_f16_x_untied)
+       (cvt_s64_f32_x_untied, cvt_s64_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u16.c (cvt_u16_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u32.c (cvt_u32_f16_x_untied)
+       (cvt_u32_f32_x_untied, cvt_u32_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u64.c (cvt_u64_f16_x_untied)
+       (cvt_u64_f32_x_untied, cvt_u64_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s16.c (extb_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s32.c (extb_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s64.c (extb_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/exth_s32.c (exth_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/exth_s64.c (exth_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extw_s64.c (extw_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f16.c (neg_f16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f32.c (neg_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f64.c (neg_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s16.c (neg_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s32.c (neg_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s64.c (neg_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s8.c (neg_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s16.c (not_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s32.c (not_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s64.c (not_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s8.c (not_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u16.c (not_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u32.c (not_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u64.c (not_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u8.c (not_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s16.c (rbit_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s32.c (rbit_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s64.c (rbit_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s8.c (rbit_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u16.c (rbit_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u32.c (rbit_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u64.c (rbit_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u8.c (rbit_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f16.c (recpx_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f32.c (recpx_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f64.c (recpx_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s16.c (revb_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s32.c (revb_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s64.c (revb_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u16.c (revb_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u32.c (revb_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u64.c (revb_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_s32.c (revh_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_s64.c (revh_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_u32.c (revh_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_u64.c (revh_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revw_s64.c (revw_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revw_u64.c (revw_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f16.c (rinta_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f32.c (rinta_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f64.c (rinta_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f16.c (rinti_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f32.c (rinti_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f64.c (rinti_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f16.c (rintm_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f32.c (rintm_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f64.c (rintm_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f16.c (rintn_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f32.c (rintn_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f64.c (rintn_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f16.c (rintp_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f32.c (rintp_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f64.c (rintp_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f16.c (rintx_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f32.c (rintx_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f64.c (rintx_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f16.c (rintz_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f32.c (rintz_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f64.c (rintz_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f16.c (sqrt_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f32.c (sqrt_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f64.c (sqrt_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/cvtx_f32.c (cvtx_f32_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f16.c (logb_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f32.c (logb_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f64.c (logb_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s16.c (qabs_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s32.c (qabs_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s64.c (qabs_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s8.c (qabs_s8_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s16.c (qneg_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s32.c (qneg_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s64.c (qneg_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s8.c (qneg_s8_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/recpe_u32.c (recpe_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/rsqrte_u32.c (rsqrte_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/cvtlt_f32.c
+       (cvtlt_f32_f16_x_untied): Expect a MOV instruction.
+       * gcc.target/aarch64/sve2/acle/asm/cvtlt_f64.c
+       (cvtlt_f64_f32_x_untied): Likewise.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * gcc.dg/builtin-artih-overflow-5.c: New test.
+
+2020-11-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97579
+       * gcc.dg/pr97579.c: New testcase.
+
+2020-11-25  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR target/91816
+       * gcc.target/arm/pr91816.c: New test.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97943
+       * c-c++-common/builtin-clear-padding-2.c: New test.
+       * c-c++-common/builtin-clear-padding-3.c: New test.
+       * g++.dg/ext/builtin-clear-padding-1.C: New test.
+       * gcc.dg/builtin-clear-padding-2.c: New test.
+
+2020-11-24  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/pr97955.c: New test.
+
+2020-11-24  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-47.c: Add a note.
+
+2020-11-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97899
+       * g++.dg/cpp0x/initlist-template3.C: New test.
+
+2020-11-24  Martin Sebor  <msebor@redhat.com>
+
+       * gfortran.dg/gomp/declare-target-4.f90: Adjust pattern to expect
+       an additional attribute and function return type.
+
+2020-11-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       * gcc.dg/pr97534.c: New test.
+
+2020-11-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/aapcs64/abitest.h (FUNC_VAL_CHECK): Use
+       noipa rather than noinline.
+       * gcc.target/aarch64/aapcs64/abitest-2.h (FUNC_VAL_CHECK): Likewise.
+
+2020-11-24  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Expect
+       that "vx" is not emitted.
+       * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Likewise.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97950
+       * gcc.target/i386/pr97950.c: New test.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97964
+       * gcc.dg/tree-ssa/pr97964.c: New test.
+
+2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/kernels-decompose-1.c: Avoid Tcl 8.5-specific
+       behavior.
+       * c-c++-common/goacc/kernels-decompose-2.c: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+
+2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/gcc-dg.exp (dg-optimized, dg-missed): Use 'saved-dg-warning'
+       instead of 'saved-dg-error'.
+
+2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/gcc-dg.exp (dg-optimized, dg-missed): Fix 'process-message'
+       call.
+       * gcc.dg/vect/nodump-vect-opt-info-1.c: Demonstrate.
+       * gcc.dg/vect/nodump-vect-opt-info-2.c: Likewise.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/97958
+       * c-c++-common/gomp/pr97958.c: New test.
+
+2020-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96929
+       * gcc.dg/tree-ssa/pr96929.c: New test.
+
+2020-11-24  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/tree-ssa/pr23401.c: Update expected output.
+       * gcc.dg/tree-ssa/pr27810.c: Update expected output.
+       * gcc.dg/tree-ssa/slsr-8.c: Update expected output.
+
+2020-11-24  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.dg/vect/slp-perm-1.c: Adjust for partial vectors.
+       * gcc.dg/vect/slp-perm-5.c: Likewise.
+       * gcc.dg/vect/slp-perm-6.c: Likewise.
+       * gcc.dg/vect/slp-perm-7.c: Likewise.
+
+2020-11-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR tree-optimization/97849
+       * gcc.dg/tree-ssa/pr97849.c: New test.
+
+2020-11-24  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/attr-access-5.c: New test.
+
+2020-11-23  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/95630
+       * gcc.dg/c11-compare-incomplete-1.c,
+       gcc.dg/c11-compare-incomplete-2.c,
+       gcc.dg/c99-compare-incomplete-1.c,
+       gcc.dg/c99-compare-incomplete-2.c: New tests.
+
+2020-11-23  Martin Jambor  <mjambor@suse.cz>
+
+       * gfortran.dg/ipcp-array-2.f90: New test.
+
+2020-11-23  Nathan Sidwell  <nathan@acm.org>
+
+       * lib/prune.exp (prune_gcc_output): Adjust include stack pruning
+       for modules.
+       (print_ices): Relax regexp.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * g++.target/msp430/data-attributes.C: Remove expected warnings for
+       "lower" attribute conflicts.
+       Adjust expected wording for "persistent" attribute misuse.
+       * gcc.target/msp430/data-attributes-2.c: Likewise.
+       * gcc.target/msp430/pr78818-auto-warn.c: Likewise.
+
+2020-11-23  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/vect/simd-12.cc: New testcase.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.c-torture/execute/noinit-attribute.c: Moved to...
+       * c-c++-common/torture/attr-noinit-main.inc: ...here.
+       * lib/target-supports.exp (check_effective_target_persistent): New.
+       * c-c++-common/torture/attr-noinit-1.c: New test.
+       * c-c++-common/torture/attr-noinit-2.c: New test.
+       * c-c++-common/torture/attr-noinit-3.c: New test.
+       * c-c++-common/torture/attr-noinit-invalid.c: New test.
+       * c-c++-common/torture/attr-persistent-1.c: New test.
+       * c-c++-common/torture/attr-persistent-2.c: New test.
+       * c-c++-common/torture/attr-persistent-3.c: New test.
+       * c-c++-common/torture/attr-persistent-invalid.c: New test.
+       * c-c++-common/torture/attr-persistent-main.inc: New test.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/data-attributes-2.c: Adjust test.
+       * g++.target/msp430/data-attributes.C: New test.
+       * g++.target/msp430/msp430.exp: New test.
+
+2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.c-torture/execute/noinit-attribute.c: Don't override
+       optimization options set by torture test harness.
+       * lib/target-supports.exp (check_effective_target_noinit): Adjust
+       comment formatting.
+
+2020-11-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: Add -mthumb.
+       * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Likewise.
+       * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nomve-flag-hard.c: Likewise.
+       * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: Likewise.
+       * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/pr97327.c: Likewise.
+
+2020-11-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/97904
+       * g++.dg/ext/sve-sizeless-1.C: Add more template tests.
+       * g++.dg/ext/sve-sizeless-2.C: Likewise.
+
+2020-11-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * gcc.target/i386/pr97873-2.c: New test.
+
+2020-11-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97889
+       * gdc.dg/torture/pr97889.d: New test.
+
+2020-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95853
+       * gcc.dg/pr95853.c: New test.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * g++.dg/warn/Wrange-loop-construct2.C: New test.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97846
+       * g++.dg/cpp1y/constexpr-label.C: New test.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97881
+       * g++.dg/warn/Wvexing-parse9.C: New test.
+
+2020-11-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/debug/localclass2.C: Require LTO.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97839
+       * g++.dg/cpp2a/lambda-generic8.C: New test.
+
+2020-11-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97427
+       * g++.dg/cpp2a/constexpr-dtor10.C: New test.
+
+2020-11-21  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/vect/vect-35-big-array.c: Excpect 2 loops to be vectorized.
+       * gcc.dg/vect/vect-35.c: Excpect 2 loops to be vectorized.
+
+2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-double-test.c (main): Call abort for failure.
+       * gcc.target/powerpc/mma-single-test.c (main): Call abort for failure.
+       * gcc.target/powerpc/pr96506.c: Rename to pr96506-1.c.
+       * gcc.target/powerpc/pr96506-2.c: New test.
+       * gcc.target/powerpc/pr96506-1.c: New file.
+
+2020-11-20  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.dg/nextafter-2.c: Include math.h.
+
+2020-11-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97918
+       * g++.dg/debug/localclass2.C: New test.
+
+2020-11-20  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/attr-access-4.c: New test.
+
+2020-11-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97879
+       * gcc.dg/attr-access-3.c: New test.
+
+2020-11-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97515.c: Check in ccp2, not evrp.
+
+2020-11-20  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/97727
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_2.c: Relax
+       regexps.
+
+2020-11-20  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/97726
+       * gcc.target/arm/simd/bf16_vldn_1.c: Relax regexps not to fail on
+       big endian.
+       * gcc.target/arm/simd/vldn_lane_bf16_1.c: Likewise
+       * gcc.target/arm/simd/vmmla_1.c: Add -mfloat-abi=hard flag.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/88101
+       * c-c++-common/builtin-clear-padding-1.c: New test.
+       * c-c++-common/torture/builtin-clear-padding-1.c: New test.
+       * c-c++-common/torture/builtin-clear-padding-2.c: New test.
+       * c-c++-common/torture/builtin-clear-padding-3.c: New test.
+       * c-c++-common/torture/builtin-clear-padding-4.c: New test.
+       * c-c++-common/torture/builtin-clear-padding-5.c: New test.
+       * g++.dg/torture/builtin-clear-padding-1.C: New test.
+       * g++.dg/torture/builtin-clear-padding-2.C: New test.
+       * gcc.dg/builtin-clear-padding-1.c: New test.
+
+2020-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97528
+       * gcc.target/arm/pr97528.c: New test.
+
+2020-11-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt90a.adb: New test.
+       * gnat.dg/opt90b.adb: Likewise.
+       * gnat.dg/opt90c.adb: Likewise.
+       * gnat.dg/opt90d.adb: Likewise.
+       * gnat.dg/opt90e.adb: Likewise.
+       * gnat.dg/opt90a_pkg.ads: New helper.
+       * gnat.dg/opt90b_pkg.ads: Likewise.
+       * gnat.dg/opt90c_pkg.ads: Likewise.
+       * gnat.dg/opt90d_pkg.ads: Likewise.
+       * gnat.dg/opt90e_pkg.ads: Likewise.
+
+2020-11-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97873
+       * gcc.target/i386/pr97873.c: New test.
+       * gcc.target/i386/pr97873-1.c: New test.
+
+2020-11-20  Martin Uecker  <muecker@gwdg.de>
+
+       * gcc.dg/cond-constqual-1.c: Adapt test.
+       * gcc.dg/lvalue-11.c: New test.
+       * gcc.dg/pr60195.c: Add warning.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/91029
+       * gcc.dg/tree-ssa/pr91029-1.c: New test.
+       * gcc.dg/tree-ssa/pr91029-2.c: New test.
+
+2020-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr93781-1.c: New.
+       * gcc.dg/tree-ssa/pr93781-2.c: New.
+       * gcc.dg/tree-ssa/pr93781-3.c: New.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/97860
+       * gcc.dg/pr97860.c: New test.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97523
+       * g++.dg/expr/anew5.C: New test.
+       * g++.dg/expr/anew6.C: New test.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97895
+       * g++.dg/cpp0x/auto54.C: New test.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97905
+       * g++.dg/lookup/pr97905.C: New.
+
+2020-11-19  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.target/pru/halt.c: New test.
+       * gcc.target/pru/lmbd.c: New test.
+
+2020-11-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-cost-model-1.c: New test.
+       * gcc.dg/vect/vect-cost-model-2.c: Likewise.
+       * gcc.dg/vect/vect-cost-model-3.c: Likewise.
+       * gcc.dg/vect/vect-cost-model-4.c: Likewise.
+       * gcc.dg/vect/vect-cost-model-5.c: Likewise.
+       * gcc.dg/vect/vect-cost-model-6.c: Likewise.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/pr97897.c: Add dg-options.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+       * gcc.target/aarch64/vect-widen-lshift.c: New test.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+       * gcc.target/aarch64/vect-widen-add.c: New test.
+       * gcc.target/aarch64/vect-widen-sub.c: New test.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97901
+       * gcc.dg/torture/pr97901.c: New testcase.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97897
+       * gcc.dg/pr97897.c: New testcase.
+
+2020-11-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr97887.c: New test.
+
+2020-11-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/85811
+       * gcc.dg/pr85811.c: New test.
+       * gcc.dg/fold-isfinite-1.c: New test.
+       * gcc.dg/fold-isfinite-2.c: New test.
+       * gcc.dg/fold-isinf-1.c: New test.
+       * gcc.dg/fold-isinf-2.c: New test.
+       * gcc.dg/fold-isnan-1.c: New test.
+       * gcc.dg/fold-isnan-2.c: New test.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/91029
+       PR tree-optimization/97888
+       * gcc.dg/pr91029.c: Add comment with PR number.
+       (f2): Use > 0 rather than >= 0.
+       * gcc.c-torture/execute/pr97888-1.c: New test.
+       * gcc.c-torture/execute/pr97888-2.c: New test.
+
+2020-11-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97893
+       * gcc.dg/analyzer/malloc-1.c: Add CWE-690 and CWE-476 codes to
+       expected output.
+
+2020-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/bb-slp-pr68892.c: Don't XFAIL the profitability
+       test for aarch64*-*-*.  Allow the "BB vectorization with gaps"
+       message to be printed more than once.
+
+2020-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/slp-21.c: Expect 4 SLP instances to be vectorized
+       on arm* and aarch64* targets.
+
+2020-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/fast-math-vect-call-1.c: Only expect SLP to be used
+       on vect_perm3_int targets.
+       * gcc.dg/vect/slp-perm-6.c: Likewise.  Only XFAIL the LOAD/STORE_LANES
+       tests on vect_perm3_int targets.
+
+2020-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-epilogues.c: XFAIL test for epilogue loop
+       vectorization if vect_partial_vectors_usage_2.
+
+2020-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-sdiv-pow2-1.c (main): Add an asm to the
+       set-up loop.
+
+2020-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97843
+       * gdc.dg/torture/pr97843.d: New test.
+
+2020-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97862
+       * c-c++-common/gomp/pr97862.c: New test.
+
+2020-11-18  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/arch-9.c: New.
+       * gcc.target/riscv/arch-10.c: Ditto.
+       * gcc.target/riscv/arch-11.c: Ditto.
+       * gcc.target/riscv/attribute-6.c: Remove, we don't support G
+       with version anymore.
+       * gcc.target/riscv/attribute-8.c: Reorder arch string to fit canonical
+       ordering.
+       * gcc.target/riscv/attribute-9.c: We don't emit version for
+       unknown extensions now.
+       * gcc.target/riscv/attribute-11.c: Add -misa-spec=2.2 flags.
+       * gcc.target/riscv/attribute-12.c: Ditto.
+       * gcc.target/riscv/attribute-13.c: Ditto.
+       * gcc.target/riscv/attribute-14.c: Ditto.
+       * gcc.target/riscv/attribute-15.c: New.
+       * gcc.target/riscv/attribute-16.c: Ditto.
+       * gcc.target/riscv/attribute-17.c: Ditto.
+
+2020-11-18  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/arch-8.c: New.
+       * gcc.target/riscv/attribute-14.c: Ditto.
+
+2020-11-18  Jiufu Guo   <guojiufu@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/loopclosedphi.c: New test.
+
+2020-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr91029.c: New.
+
+2020-11-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97877
+       * g++.dg/lookup/pr97877.C: New.
+
+2020-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr83072.c: New.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/cr-decimal-dig-3.c: New test.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-float-6.c, gcc.dg/c2x-float-10.c: New tests.
+
+2020-11-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/pr25376.c: Allow .opd section.
+
+2020-11-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/31799
+       * gcc.target/i386/pr31799.c: New test.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cond_cnot_1.c: Remove XFAIL.
+       * gcc.target/aarch64/sve/cond_unary_1.c: Likewise.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/97693
+       * gcc.dg/vect/pr97693.c: New test.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/slp-46.c: XFAIL test for SLP on vect_load_lanes targets.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/aligned-section-anchors-nest-1.c: XFAIL alignment
+       test if vect_element_align_preferred.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/bb-slp-subgroups-3.c: XFAIL for variable-length vectors.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr65947-8.c: Expect the loop to be vectorized for SVE.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr97678.c: XFAIL test for SLP vectorization
+       for variable-length vectors.
+       * gcc.dg/vect/pr97835.c: Likewise.
+       * gcc.dg/vect/slp-49.c: Likewise.
+       * gcc.dg/vect/vect-outer-slp-1.c: Likewise.
+       * gcc.dg/vect/vect-outer-slp-2.c: Likewise.
+       * gcc.dg/vect/vect-outer-slp-3.c: Likewise.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/slp-reduc-4.c: XFAIL test for SLP vectorization
+       for variable-length SVE.
+       * gcc.dg/vect/slp-reduc-7.c: Likewise.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/bb-slp-43.c: Remove XFAIL for vect_variable_length.
+
+2020-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr91750.c: Allow "[]," inside a vector(...) lane count.
+
+2020-11-17  Liu Hao  <lh_mouse@126.com>
+
+       * gcc.dg/format/ms_c99-printf-3.c: Update tests.
+
+2020-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/90628
+       * gcc.dg/builtin-arith-overflow-4.c: New test.
+
+2020-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/guality/pr59776.c (foo): Use noipa attribute instead of
+       noinline, noclone.
+
+2020-11-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx2-vec-set-1.c: New test.
+       * gcc.target/i386/avx2-vec-set-2.c: New test.
+       * gcc.target/i386/avx512bw-vec-set-1.c: New test.
+       * gcc.target/i386/avx512bw-vec-set-2.c: New test.
+       * gcc.target/i386/avx512f-vec-set-2.c: New test.
+       * gcc.target/i386/avx512vl-vec-set-2.c: New test.
+
+2020-11-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95673
+       * gcc.dg/Wstring-compare-3.c: New test.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/dfp/c2x-float-dfp-7.c, gcc.dg/dfp/c2x-float-dfp-8.c: New
+       tests.
+       * gcc.dg/c2x-float-no-dfp-3.c: Also check that DEC32_SNAN,
+       DEC64_SNAN and DEC128_SNAN are not defined.
+
+2020-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_inff): New.
+       * gcc.dg/c11-float-4.c, gcc.dg/c11-float-5.c,
+       gcc.dg/c11-float-dfp-2.c, gcc.dg/c2x-float-2.c,
+       gcc.dg/c2x-float-3.c, gcc.dg/c2x-float-4.c, gcc.dg/c2x-float-5.c,
+       gcc.dg/c2x-float-6.c, gcc.dg/c2x-float-7.c, gcc.dg/c2x-float-8.c,
+       gcc.dg/c2x-float-9.c, gcc.dg/c2x-float-no-dfp-3.c,
+       gcc.dg/c2x-float-no-dfp-4.c, gcc.dg/dfp/c2x-float-dfp-4.c,
+       gcc.dg/dfp/c2x-float-dfp-5.c, gcc.dg/dfp/c2x-float-dfp-6.c,
+       gcc.dg/torture/float128-nan-floath.c,
+       gcc.dg/torture/float128x-nan-floath.c,
+       gcc.dg/torture/float16-nan-floath.c,
+       gcc.dg/torture/float32-nan-floath.c,
+       gcc.dg/torture/float32x-nan-floath.c,
+       gcc.dg/torture/float64-nan-floath.c,
+       gcc.dg/torture/float64x-nan-floath.c,
+       gcc.dg/torture/floatn-nan-floath.h: New tests.
+
+2020-11-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/92180
+       * gcc.target/i386/pr92180.c: New test.
+
+2020-11-16  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/pr48958.f90: New test.
+
+2020-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * g++.dg/warn/uninit-1.C: New test.
+
+2020-11-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/s390.exp (check_effective_target_s390_z14_hw):
+       New predicate.
+       * gcc.target/s390/vector/long-double-caller-abi-run.c: Use the
+       new predicate.
+       * gcc.target/s390/vector/long-double-copysign.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-double.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-float.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-i16.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-i32.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-i64.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-i8.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-u16.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-u32.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-u64.c: Likewise.
+       * gcc.target/s390/vector/long-double-from-u8.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-double.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-float.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-i16.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-i32.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-i64.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-i8.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-u16.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-u32.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-u64.c: Likewise.
+       * gcc.target/s390/vector/long-double-to-u8.c: Likewise.
+       * gcc.target/s390/vector/long-double-wfaxb.c: Likewise.
+       * gcc.target/s390/vector/long-double-wfdxb.c: Likewise.
+       * gcc.target/s390/vector/long-double-wfsxb-1.c: Likewise.
+
+2020-11-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR testsuite/97803
+       * c-c++-common/asan/pointer-compare-1.c (global1): Add
+       __attribute__((used))
+       (global2): Likewise.
+       (small_global): Likewise.
+       (large_global): Likewise.
+
+2020-11-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcc.dg/profile-info-section.c: New test.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97838
+       * gcc.dg/vect/pr97838.c: New testcase.
+
+2020-11-16  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/97736
+       * gcc.dg/tree-ssa/switch-1.c: Prefer bit tests.
+       * g++.dg/tree-ssa/pr97736.C: New test.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97835
+       * gcc.dg/vect/pr97835.c: New testcase.
+
+2020-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97830
+       * gcc.dg/pr97830.c: New testcase.
+
+2020-11-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/rtx-cost-Os-f5series.c: Adjust test to use new
+       hwmult library function name.
+
+2020-11-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/ipa/modref-2.c: Add ilp32 expected result.
+
+2020-11-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * lib/scanasm.exp (parse_section_of_symbols): Also look for AIX
+       XCOFF CSECT notation.
+       * g++.dg/opt/const4.C: Also look for AIX XCOFF "[RO]".
+       * gcc.dg/20021029-1.c: Likewise.
+       * gcc.dg/array-quals-1.c: Likewise and "[RW]".
+       * g++.dg/gomp/tls-5.C: Also look for AIX XCOFF "[TL]".
+       * gcc.dg/pr25376.c: Accept AIX decoration around named section
+       and function descriptor.
+
+2020-11-15  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/bswapdi-1.c (dg-options): New setting.
+
+2020-11-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/other/abstract1.C: Adjust.
+       * g++.dg/other/abstract2.C: Adjust.
+       * g++.dg/other/abstract4.C: Adjust.
+       * g++.dg/other/abstract5.C: Adjust.
+       * g++.dg/other/abstract8.C: New test.
+       * g++.dg/template/sfinae-dr657.C: Adjust.
+       * g++.old-deja/g++.other/decl3.C: Adjust.
+
+2020-11-15  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.c-torture/execute/pr97836.c: New test.
+
+2020-11-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/pr23214.m: Use Object as the root object before
+       Darwin12 (and NSObject after).
+
+2020-11-14  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/torture/pta-ptrarith-1.c: Escape parameters.
+
+2020-11-14  Matthew Glazar  <strager.nds@gmail.com>
+
+       * lib/scanasm.exp (dg-scan): Extract file globbing code ...
+       (dg_glob_remote): ... into this new procedure.
+       (scan-assembler-symbol-section): Define.
+       (scan-symbol-section): Define.
+       * g++.dg/gomp/tls-5.C: Add symbol section test.
+       * g++.dg/opt/const4.C: Likewise.
+       * gcc.dg/20021029-1.c: Likewise.
+       * gcc.dg/array-quals-1.c: Likewise.
+       * gcc.dg/darwin-sections.c: Likewise.
+       * gcc.dg/pr25376.c: Likewise.
+       * gcc.test-framework/test-framework.exp: Load scanasm and test .S files.
+       * gcc.test-framework/dg-scan-symbol-section-1-exp-F.S: New test.
+       * gcc.test-framework/dg-scan-symbol-section-2-exp-F.S: New test.
+       * gcc.test-framework/dg-scan-symbol-section-3-exp-F.S: New test.
+       * gcc.test-framework/dg-scan-symbol-section-exp-P.S: New test.
+
+2020-11-14  Monk Chiang  <monk.chiang@sifive.com>
+
+       PR target/97682
+       * g++.target/riscv/pr97682.C: New test.
+       * gcc.target/riscv/interrupt-3.c: Check register for t0.
+       * gcc.target/riscv/interrupt-4.c: Likewise.
+
+2020-11-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/binary-constants-2.c, gcc.dg/binary-constants-3.c,
+       gcc.dg/system-binary-constants-1.c: Update expected diagnostics.
+       * gcc.dg/c11-binary-constants-1.c,
+       gcc.dg/c11-binary-constants-2.c, gcc.dg/c2x-binary-constants-1.c,
+       gcc.dg/c2x-binary-constants-2.c, gcc.dg/c2x-binary-constants-3.c:
+       New tests.
+
+2020-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/guality/redeclaration1.C (p): New variable.
+       (S::f): Increment what p points to before storing S::i into l.  Adjust
+       gdb-test line numbers.
+       (main): Initialize p to address of an automatic variable.
+
+2020-11-13  Gergö Barany  <gergo@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/kernels-decompose-1.c: New.
+       * c-c++-common/goacc/kernels-decompose-2.c: New.
+       * c-c++-common/goacc/kernels-decompose-ice-1.c: New.
+       * c-c++-common/goacc/kernels-decompose-ice-2.c: New.
+       * gfortran.dg/goacc/kernels-decompose-1.f95: New.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: New.
+       * c-c++-common/goacc/if-clause-2.c: Adjust.
+       * gfortran.dg/goacc/kernels-tree.f95: Likewise.
+
+2020-11-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/classify-parallel.c: Adjust.
+       * gfortran.dg/goacc/classify-parallel.f95: Likewise.
+       * c-c++-common/goacc/classify-serial.c: New.
+       * gfortran.dg/goacc/classify-serial.f95: Likewise.
+
+2020-11-13  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/feat-cxx2a.C: Check it.
+
+2020-11-13  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/inh-ctor28.C: Adjust expected diagnostic.
+       * g++.dg/cpp0x/inh-ctor33.C: Likewise.
+       * g++.dg/cpp0x/using-enum-1.C: Add comment.
+       * g++.dg/cpp0x/using-enum-2.C: Allowed in C++20.
+       * g++.dg/cpp0x/using-enum-3.C: Likewise.
+       * g++.dg/cpp1z/class-deduction69.C: Adjust diagnostic.
+       * g++.dg/inherit/using5.C: Likewise.
+       * g++.dg/cpp2a/using-enum-1.C: New test.
+       * g++.dg/cpp2a/using-enum-2.C: New test.
+       * g++.dg/cpp2a/using-enum-3.C: New test.
+       * g++.dg/cpp2a/using-enum-4.C: New test.
+       * g++.dg/cpp2a/using-enum-5.C: New test.
+       * g++.dg/cpp2a/using-enum-6.C: New test.
+       * g++.dg/debug/dwarf2/using-enum.C: New test.
+
+2020-11-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * c-c++-common/asmgoto-2.c: Permit output in asm goto.
+       * gcc.c-torture/compile/asmgoto-2.c: New.
+       * gcc.c-torture/compile/asmgoto-3.c: New.
+       * gcc.c-torture/compile/asmgoto-4.c: New.
+       * gcc.c-torture/compile/asmgoto-5.c: New.
+
+2020-11-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/evrp20.c
+       * gcc.dg/tree-ssa/evrp21.c
+       * gcc.dg/tree-ssa/evrp22.c
+
+2020-11-13  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/97788
+       * g++.dg/ubsan/pr61272.C: Move expected error location.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.c-torture/execute/index-1.c: Skip for the default MSP430 430X ISA.
+
+2020-11-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/rtx-cost-O3-default.c: New test.
+       * gcc.target/msp430/rtx-cost-O3-f5series.c: New test.
+       * gcc.target/msp430/rtx-cost-Os-default.c: New test.
+       * gcc.target/msp430/rtx-cost-Os-f5series.c: New test.
+
+2020-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * c-c++-common/Wstringop-overflow-2.c: Disable ICF.
+       * g++.dg/warn/Warray-bounds-8.C: Disable ICF.
+
+2020-11-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr78655.c: New.
+
+2020-11-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/pr92216.d: Update scan-assember.
+
+2020-11-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97812
+       * gcc.dg/torture/pr97812.c: New testcase.
+
+2020-11-13  Sudakshina Das  <sudi.das@arm.com>
+
+       * g++.dg/tree-ssa/pr90883.C: Remove xfail for aarch64.
+       * gcc.dg/tree-prof/stringop-2.c: Add xfail for aarch64.
+       * gcc.target/aarch64/memset-corner-cases.c: New test.
+       * gcc.target/aarch64/memset-q-reg.c: New test.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/90707
+       * obj-c++.dg/property/at-property-4.mm: Add basic nullability
+       tests.
+       * objc.dg/property/at-property-4.m: Likewise.
+       * obj-c++.dg/attributes/nullability-00.mm: New test.
+       * obj-c++.dg/property/nullability-00.mm: New test.
+       * objc.dg/attributes/nullability-00.m: New test.
+       * objc.dg/property/nullability-00.m: New test.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/77404
+       * obj-c++.dg/attributes/class-attribute-1.mm:
+       Add Wno-objc-root-class.
+       * obj-c++.dg/attributes/class-attribute-2.mm: Likewise.
+       * obj-c++.dg/attributes/class-attribute-3.mm: Likewise.
+       * obj-c++.dg/attributes/method-deprecated-1.mm: Likewise.
+       * obj-c++.dg/attributes/method-deprecated-2.mm: Likewise.
+       * obj-c++.dg/attributes/method-deprecated-3.mm: Likewise.
+       * obj-c++.dg/attributes/method-format-1.mm: Likewise.
+       * obj-c++.dg/attributes/method-nonnull-1.mm: Likewise.
+       * obj-c++.dg/attributes/method-noreturn-1.mm: Likewise.
+       * obj-c++.dg/attributes/method-sentinel-1.mm: Likewise.
+       * obj-c++.dg/attributes/nsobject-01.mm: Likewise.
+       * obj-c++.dg/attributes/parameter-attribute-1.mm: Likewise.
+       * obj-c++.dg/attributes/parameter-attribute-2.mm: Likewise.
+       * obj-c++.dg/attributes/proto-attribute-1.mm: Likewise.
+       * obj-c++.dg/attributes/proto-attribute-3.mm: Likewise.
+       * obj-c++.dg/attributes/proto-attribute-4.mm: Likewise.
+       * obj-c++.dg/attributes/unused-parameter-1.mm: Likewise.
+       * obj-c++.dg/bad-receiver-type.mm: Likewise.
+       * obj-c++.dg/bitfield-3.mm: Likewise.
+       * obj-c++.dg/bitfield-5.mm: Likewise.
+       * obj-c++.dg/class-extension-1.mm: Likewise.
+       * obj-c++.dg/class-extension-2.mm: Likewise.
+       * obj-c++.dg/class-extension-3.mm: Likewise.
+       * obj-c++.dg/class-extension-4.mm: Likewise.
+       * obj-c++.dg/class-protocol-1.mm: Likewise.
+       * obj-c++.dg/comp-types-1.mm: Likewise.
+       * obj-c++.dg/comp-types-10.mm: Likewise.
+       * obj-c++.dg/comp-types-2.mm: Likewise.
+       * obj-c++.dg/comp-types-3.mm: Likewise.
+       * obj-c++.dg/comp-types-5.mm: Likewise.
+       * obj-c++.dg/comp-types-6.mm: Likewise.
+       * obj-c++.dg/comp-types-7.mm: Likewise.
+       * obj-c++.dg/comp-types-8.mm: Likewise.
+       * obj-c++.dg/demangle-2.mm: Likewise.
+       * obj-c++.dg/demangle-3.mm: Likewise.
+       * obj-c++.dg/duplicate-class-1.mm: Likewise.
+       * obj-c++.dg/encode-1-next.mm: Likewise.
+       * obj-c++.dg/encode-1.mm: Likewise.
+       * obj-c++.dg/enhanced-proto-2.mm: Likewise.
+       * obj-c++.dg/exceptions-1.mm: Likewise.
+       * obj-c++.dg/exceptions-3.mm: Likewise.
+       * obj-c++.dg/exceptions-4.mm: Likewise.
+       * obj-c++.dg/exceptions-5.mm: Likewise.
+       * obj-c++.dg/extern-c-1.mm: Likewise.
+       * obj-c++.dg/fobjc-std-1.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-class.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-ivar.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-method.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-objc_msg_lookup.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-object.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-property.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-protocol.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-resolve-method.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-sel.mm: Likewise.
+       * obj-c++.dg/invalid-method-2.mm: Likewise.
+       * obj-c++.dg/ivar-invalid-type-1.mm: Likewise.
+       * obj-c++.dg/ivar-problem-1.mm: Likewise.
+       * obj-c++.dg/lto/lto.exp: Likewise.
+       * obj-c++.dg/lto/trivial-1_0.mm: Likewise.
+       * obj-c++.dg/method-1.mm: Likewise.
+       * obj-c++.dg/method-12.mm: Likewise.
+       * obj-c++.dg/method-18.mm: Likewise.
+       * obj-c++.dg/method-19.mm: Likewise.
+       * obj-c++.dg/method-20.mm: Likewise.
+       * obj-c++.dg/method-3.mm: Likewise.
+       * obj-c++.dg/method-4.mm: Likewise.
+       * obj-c++.dg/method-5.mm: Likewise.
+       * obj-c++.dg/method-8.mm: Likewise.
+       * obj-c++.dg/method-9.mm: Likewise.
+       * obj-c++.dg/method-namespace-1.mm: Likewise.
+       * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm:
+       Likewise.
+       * obj-c++.dg/pr23709.mm: Likewise.
+       * obj-c++.dg/pragma-2.mm: Likewise.
+       * obj-c++.dg/private-1.mm: Likewise.
+       * obj-c++.dg/private-2.mm: Likewise.
+       * obj-c++.dg/property/property.exp: Likewise.
+       * obj-c++.dg/proto-lossage-1.mm: Likewise.
+       * obj-c++.dg/proto-lossage-5.mm: Likewise.
+       * obj-c++.dg/proto-qual-1.mm: Likewise.
+       * obj-c++.dg/protocol-inheritance-1.mm: Likewise.
+       * obj-c++.dg/protocol-inheritance-2.mm: Likewise.
+       * obj-c++.dg/protocol-optional-1.mm: Likewise.
+       * obj-c++.dg/selector-1.mm: Likewise.
+       * obj-c++.dg/selector-2.mm: Likewise.
+       * obj-c++.dg/selector-3.mm: Likewise.
+       * obj-c++.dg/selector-4.mm: Likewise.
+       * obj-c++.dg/strings/strings.exp: Likewise.
+       * obj-c++.dg/stubify-1.mm: Likewise.
+       * obj-c++.dg/stubify-2.mm: Likewise.
+       * obj-c++.dg/super-dealloc-1.mm: Likewise.
+       * obj-c++.dg/super-dealloc-2.mm: Likewise.
+       * obj-c++.dg/sync-3.mm: Likewise.
+       * obj-c++.dg/syntax-error-2.mm: Likewise.
+       * obj-c++.dg/syntax-error-4.mm: Likewise.
+       * obj-c++.dg/syntax-error-7.mm: Likewise.
+       * obj-c++.dg/syntax-error-9.mm: Likewise.
+       * obj-c++.dg/template-4.mm: Likewise.
+       * obj-c++.dg/template-7.mm: Likewise.
+       * obj-c++.dg/template-8.mm: Likewise.
+       * obj-c++.dg/threedotthree-abi-1.mm: Likewise.
+       * obj-c++.dg/torture/dg-torture.exp: Likewise.
+       * obj-c++.dg/torture/strings/strings.exp: Likewise.
+       * obj-c++.dg/try-catch-12.mm: Likewise.
+       * obj-c++.dg/try-catch-13.mm: Likewise.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/77404
+       * objc.dg/anon-1.m: Add Wno-objc-root-class.
+       * objc.dg/attributes/class-attribute-1.m: Likewise.
+       * objc.dg/attributes/class-attribute-2.m: Likewise.
+       * objc.dg/attributes/class-attribute-3.m: Likewise.
+       * objc.dg/attributes/method-deprecated-1.m: Likewise.
+       * objc.dg/attributes/method-deprecated-2.m: Likewise.
+       * objc.dg/attributes/method-deprecated-3.m: Likewise.
+       * objc.dg/attributes/method-format-1.m: Likewise.
+       * objc.dg/attributes/method-nonnull-1.m: Likewise.
+       * objc.dg/attributes/method-noreturn-1.m: Likewise.
+       * objc.dg/attributes/method-sentinel-1.m: Likewise.
+       * objc.dg/attributes/nsobject-01.m: Likewise.
+       * objc.dg/attributes/objc-exception-1.m: Likewise.
+       * objc.dg/attributes/parameter-attribute-1.m: Likewise.
+       * objc.dg/attributes/parameter-attribute-2.m: Likewise.
+       * objc.dg/attributes/proto-attribute-1.m: Likewise.
+       * objc.dg/attributes/proto-attribute-2.m: Likewise.
+       * objc.dg/attributes/proto-attribute-3.m: Likewise.
+       * objc.dg/attributes/proto-attribute-4.m: Likewise.
+       * objc.dg/bitfield-2.m: Likewise.
+       * objc.dg/break-in-ifstmt.m: Likewise.
+       * objc.dg/class-1.m: Likewise.
+       * objc.dg/class-extension-1.m: Likewise.
+       * objc.dg/class-extension-2.m: Likewise.
+       * objc.dg/class-extension-3.m: Likewise.
+       * objc.dg/class-extension-4.m: Likewise.
+       * objc.dg/class-protocol-1.m: Likewise.
+       * objc.dg/comp-types-7.m: Likewise.
+       * objc.dg/demangle-1.m: Likewise.
+       * objc.dg/duplicate-class-1.m: Likewise.
+       * objc.dg/encode-6-next.m: Likewise.
+       * objc.dg/encode-6.m: Likewise.
+       * objc.dg/enhanced-proto-2.m: Likewise.
+       * objc.dg/exceptions-1.m: Likewise.
+       * objc.dg/exceptions-3.m: Likewise.
+       * objc.dg/exceptions-4.m: Likewise.
+       * objc.dg/exceptions-5.m: Likewise.
+       * objc.dg/fobjc-std-1.m: Likewise.
+       * objc.dg/foreach-2.m: Likewise.
+       * objc.dg/foreach-4.m: Likewise.
+       * objc.dg/foreach-5.m: Likewise.
+       * objc.dg/fsyntax-only.m: Likewise.
+       * objc.dg/gnu-api-2-class-meta.m: Likewise.
+       * objc.dg/gnu-api-2-class.m: Likewise.
+       * objc.dg/gnu-api-2-ivar.m: Likewise.
+       * objc.dg/gnu-api-2-method.m: Likewise.
+       * objc.dg/gnu-api-2-objc.m: Likewise.
+       * objc.dg/gnu-api-2-objc_msg_lookup.m: Likewise.
+       * objc.dg/gnu-api-2-object.m: Likewise.
+       * objc.dg/gnu-api-2-property.m: Likewise.
+       * objc.dg/gnu-api-2-protocol.m: Likewise.
+       * objc.dg/gnu-api-2-resolve-method.m: Likewise.
+       * objc.dg/gnu-api-2-sel.m: Likewise.
+       * objc.dg/incomplete-type-1.m: Likewise.
+       * objc.dg/instancetype-0.m: Likewise.
+       * objc.dg/invalid-method-2.m: Likewise.
+       * objc.dg/ivar-invalid-type-1.m: Likewise.
+       * objc.dg/ivar-problem-1.m: Likewise.
+       * objc.dg/ivar-scope-1.m: Likewise.
+       * objc.dg/ivar-scope-2.m: Likewise.
+       * objc.dg/ivar-scope-4.m: Likewise.
+       * objc.dg/ivar-visibility-1.m: Likewise.
+       * objc.dg/ivar-visibility-2.m: Likewise.
+       * objc.dg/ivar-visibility-3.m: Likewise.
+       * objc.dg/ivar-visibility-4.m: Likewise.
+       * objc.dg/local-decl-1.m: Likewise.
+       * objc.dg/lto/lto.exp: Likewise.
+       * objc.dg/lto/trivial-1_0.m: Likewise.
+       * objc.dg/method-1.m: Likewise.
+       * objc.dg/method-12.m: Likewise.
+       * objc.dg/method-13.m: Likewise.
+       * objc.dg/method-14.m: Likewise.
+       * objc.dg/missing-proto-3.m: Likewise.
+       * objc.dg/next-runtime-1.m: Likewise.
+       * objc.dg/objc-foreach-1.m: Likewise.
+       * objc.dg/objc-foreach-2.m: Likewise.
+       * objc.dg/objc-foreach-3.m: Likewise.
+       * objc.dg/objc-nofilename-1.m: Likewise.
+       * objc.dg/param-1.m: Likewise.
+       * objc.dg/pch/pch.exp: Likewise.
+       * objc.dg/plugin/diagnostic-test-expressions-1.m: Likewise.
+       * objc.dg/pr23709.m: Likewise.
+       * objc.dg/private-1.m: Likewise.
+       * objc.dg/private-2.m: Likewise.
+       * objc.dg/property/property.exp: Likewise.
+       * objc.dg/proto-hier-1.m: Likewise.
+       * objc.dg/proto-hier-2.m: Likewise.
+       * objc.dg/proto-lossage-1.m: Likewise.
+       * objc.dg/proto-lossage-5.m: Likewise.
+       * objc.dg/proto-qual-1.m: Likewise.
+       * objc.dg/protocol-inheritance-1.m: Likewise.
+       * objc.dg/protocol-inheritance-2.m: Likewise.
+       * objc.dg/protocol-optional-1.m: Likewise.
+       * objc.dg/selector-1.m: Likewise.
+       * objc.dg/selector-2.m: Likewise.
+       * objc.dg/selector-3.m: Likewise.
+       * objc.dg/selector-4.m: Likewise.
+       * objc.dg/shadow-1.m: Likewise.
+       * objc.dg/shadow-2.m: Likewise.
+       * objc.dg/special/load-category-1.m: Likewise.
+       * objc.dg/special/load-category-2.m: Likewise.
+       * objc.dg/special/load-category-3.m: Likewise.
+       * objc.dg/special/special.exp: Likewise.
+       * objc.dg/special/unclaimed-category-1.h: Likewise.
+       * objc.dg/special/unclaimed-category-1.m: Likewise.
+       * objc.dg/stabs-1.m: Likewise.
+       * objc.dg/strings/strings.exp: Likewise.
+       * objc.dg/stubify-1.m: Likewise.
+       * objc.dg/stubify-2.m: Likewise.
+       * objc.dg/super-class-2.m: Likewise.
+       * objc.dg/super-dealloc-1.m: Likewise.
+       * objc.dg/super-dealloc-2.m: Likewise.
+       * objc.dg/sync-3.m: Likewise.
+       * objc.dg/threedotthree-abi-1.m: Likewise.
+       * objc.dg/torture/dg-torture.exp: Likewise.
+       * objc.dg/torture/strings/strings.exp: Likewise.
+       * objc.dg/try-catch-11.m: Likewise.
+       * objc.dg/try-catch-12.m: Likewise.
+       * objc.dg/type-size-2.m: Likewise.
+       * objc.dg/type-size-3.m: Likewise.
+       * objc.dg/type-size-4.m: Likewise.
+       * objc.dg/type-size-5.m: Likewise.
+       * objc.dg/undeclared-selector.m: Likewise.
+       * objc.dg/volatile-1.m: Likewise.
+
+2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc/77404
+       * objc.dg/attributes/root-class-01.m: New test.
+       * objc.dg/root-class-00.m: New test.
+       * obj-c++.dg/attributes/root-class-01.mm: New test.
+       * obj-c++.dg/root-class-00.mm: New test.
+
+2020-11-13  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-decltype3.C: New test.
+
+2020-11-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/87291
+       * jit.dg/jit.exp: Load target-supports-dg.exp.
+       Set dg-do-what-default.
+       (jit-dg-test): Set dg-do-what and call dg-get-options, skipping
+       the test if it's not supported on the given target.
+       * jit.dg/test-asm.c: New test.
+       * jit.dg/test-asm.cc: New test.
+
+2020-11-12  David Malcolm  <dmalcolm@redhat.com>
+
+       * jit.dg/test-debug-strings.c (create_code): Add tests of
+       string literal escaping.
+
+2020-11-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c2x-has-c-attribute-1.c, gcc.dg/c2x-has-c-attribute-2.c,
+       gcc.dg/c2x-has-c-attribute-3.c, gcc.dg/c2x-has-c-attribute-4.c:
+       New tests.
+
+2020-11-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97782
+       * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Move dg-message
+       one line up.
+       * gfortran.dg/goacc/classify-kernels.f95: Likewise.
+
+2020-11-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/entry_23.f: New test.
+
+2020-11-12  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/97730
+       * gcc.target/aarch64/sve2/bcax_1.c (OP): Add missing bitwise not
+       to match correct bcax semantics.
+       * gcc.dg/vect/pr97730.c: New test.
+
+2020-11-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97806
+       * gcc.dg/pr97806.c: New testcase.
+
+2020-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97790
+       * g++.dg/cpp2a/constexpr-dtor9.C: New test.
+
+2020-11-12  Jason Merrill  <jason@redhat.com>
+
+       PR debug/97060
+       * gcc.dg/debug/dwarf2/pr97060.c: New test.
+
+2020-11-12  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/pr96789.c: Adjusted by disabling loop
+       vectorization.
+
+2020-11-12  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/setjmp-5.c: Update expected path output to show
+       an event where the pertinent stack frame is popped.  Update
+       expected message from final event to reference this event.
+
+2020-11-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR tree-optimization/97424
+       * gcc.dg/analyzer/invalid-shift-1.c: New test.
+
+2020-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * g++.dg/abi/macro0.C: Adjust.
+       * g++.dg/cpp0x/alignof7.C: New test.
+       * g++.dg/cpp0x/alignof8.C: New test.
+
+2020-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * g++.dg/cpp0x/alignof6.C: New test.
+
+2020-11-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97518
+       * g++.dg/diagnostic/static_assert3.C: New test.
+
+2020-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.dg/gomp/workshare-reduction-3.f90: Use (?:_ull)? instead
+       of (?:_ull) in the scan-tree-dump-times directives.
+       * gfortran.dg/gomp/workshare-reduction-26.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/bias2.adb: New test.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt89.adb: New test.
+
+2020-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/shift1.adb: New test.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97797
+       * gcc.dg/torture/ssa-fre-5.c: Use __SIZETYPE__ where
+       appropriate.
+       * gcc.dg/torture/ssa-fre-6.c: Likewise.
+
+2020-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * gcc.dg/tree-ssa/ssa-hoist-3.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-hoist-7.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.
+
+2020-11-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cmp_1.c: New test.
+       * gcc.target/aarch64/sve/cmp_2.c: Likewise.
+       * gcc.target/aarch64/sve/cond_arith_1.c: Add --param
+       aarch64-sve-compare-costs=0
+       * gcc.target/aarch64/sve/cond_arith_1_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_arith_3.c: Likewise.
+       * gcc.target/aarch64/sve/cond_arith_3_run.c: Likewise.
+       * gcc.target/aarch64/sve/mask_gather_load_7.c: Likewise.
+       * gcc.target/aarch64/sve/mask_load_slp_1.c: Likewise.
+       * gcc.target/aarch64/sve/vcond_11.c: Likewise.
+       * gcc.target/aarch64/sve/vcond_11_run.c: Likewise.
+
+2020-11-11  Hongtao Liu  <hongtao.liu@intel.com>
+           Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512vl-vnni-1.c: Rename..
+       * gcc.target/i386/avx512vl-vnni-1a.c: To This.
+       * gcc.target/i386/avx512vl-vnni-1b.c: New test.
+       * gcc.target/i386/avx512vl-vnni-2.c: Ditto.
+       * gcc.target/i386/avx512vl-vnni-3.c: Ditto.
+       * gcc.target/i386/avx-vnni-1.c: Ditto.
+       * gcc.target/i386/avx-vnni-2.c: Ditto.
+       * gcc.target/i386/avx-vnni-3.c: Ditto.
+       * gcc.target/i386/avx-vnni-4.c: Ditto.
+       * gcc.target/i386/avx-vnni-5.c: Ditto.
+       * gcc.target/i386/avx-vnni-6.c: Ditto.
+       * gcc.target/i386/avx-vpdpbusd-2.c: Ditto.
+       * gcc.target/i386/avx-vpdpbusds-2.c: Ditto.
+       * gcc.target/i386/avx-vpdpwssd-2.c: Ditto.
+       * gcc.target/i386/avx-vpdpwssds-2.c: Ditto.
+       * gcc.target/i386/vnni_inline_error.c: Ditto.
+       * gcc.target/i386/avx512vnnivl-builtin.c: Ditto.
+       * gcc.target/i386/avxvnni-builtin.c: Ditto.
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute.
+       * gcc.target/i386/sse-12.c: Add -mavxvnni.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-14.c: Ditto.
+       * gcc.target/i386/sse-22.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * g++.dg/other/i386-2.C: Ditto.
+       * g++.dg/other/i386-3.C: Ditto.
+       * lib/target-supports.exp (check_effective_target_avxvnni):
+       New proc.
+
+2020-11-11  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/workshare-reduction-26.f90: Add (?:_ull) to
+       scan-tree-dump-times regex for -m32.
+       * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-3.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise.
+       * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise.
+
+2020-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/97768
+       * gfortran.dg/pr97768_1.f90: New test.
+       * gfortran.dg/pr97768_2.f90: New test.
+
+2020-11-11  Nagaraju Mekala  <nmekala@xilinx.com>
+
+       * gcc.target/microblaze/others/strings1.c: Update
+       to include $LC label.
+
+2020-11-11  David Edelsohn  <dje.gcc@gmail.com>
+
+       * c-c++-common/zero-scratch-regs-10.c: Skip on powerpc*-*-*.
+       * c-c++-common/zero-scratch-regs-11.c: Skip on powerpc*-*-*.
+       * c-c++-common/zero-scratch-regs-5.c: Skip on powerpc*-*-aix*.
+       * c-c++-common/zero-scratch-regs-8.c: Skip on powerpc*-*-*.
+       * c-c++-common/zero-scratch-regs-9.c: Skip on powerpc*-*-*.
+
+2020-11-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97518
+       * g++.dg/diagnostic/pr87386.C: Adjust expected output.
+       * g++.dg/diagnostic/static_assert1.C: New test.
+       * g++.dg/diagnostic/static_assert2.C: New test.
+
+2020-11-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/52830
+       PR c++/88982
+       PR c++/90799
+       PR c++/87765
+       PR c++/89565
+       * g++.dg/cpp0x/constexpr-52830.C: New test.
+       * g++.dg/cpp0x/vt-88982.C: New test.
+       * g++.dg/cpp1z/class-deduction76.C: New test.
+       * g++.dg/cpp1z/constexpr-lambda26.C: New test.
+       * g++.dg/cpp2a/nontype-class39.C: New test.
+
+2020-11-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/schedule-modifiers-2.f90: Remove some dg-error.
+       * gfortran.dg/gomp/reduction4.f90: New test.
+       * gfortran.dg/gomp/reduction5.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-1.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-2.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-3.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-4.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-5.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-6.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-7.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-8.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-9.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-10.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-11.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-12.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-13.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-14.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-15.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-16.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-17.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-18.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-19.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-20.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-21.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-22.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-23.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-24.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-25.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-26.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-27.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-28.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-29.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-30.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-31.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-32.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-33.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-34.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-35.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-36.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-37.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-38.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-39.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-40.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-41.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-42.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-43.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-44.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-45.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-46.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-47.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-48.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-49.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-50.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-51.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-52.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-53.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-54.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-55.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-56.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-57.f90: New test.
+       * gfortran.dg/gomp/workshare-reduction-58.f90: New test.
+
+2020-11-10  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * c-c++-common/ubsan/sanitize-recover-7.c: Update testcase.
+
+2020-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/97748
+       * c-c++-common/Wunused-value-1.c: New test.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97769
+       * gcc.dg/vect/pr97769.c: New testcase.
+
+2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * c-c++-common/gomp/clauses-2.c: Remove dg-error cases now valid.
+       * gfortran.dg/gomp/map-2.f90: Likewise.
+       * c-c++-common/gomp/map-5.c: New testcase.
+
+2020-11-10  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-callee-abi-scan.c: New test.
+       * gcc.target/s390/vector/long-double-caller-abi-run.c: New test.
+       * gcc.target/s390/vector/long-double-caller-abi-scan.c: New test.
+       * gcc.target/s390/vector/long-double-copysign.c: New test.
+       * gcc.target/s390/vector/long-double-fprx2-constant.c: New test.
+       * gcc.target/s390/vector/long-double-from-double.c: New test.
+       * gcc.target/s390/vector/long-double-from-float.c: New test.
+       * gcc.target/s390/vector/long-double-from-i16.c: New test.
+       * gcc.target/s390/vector/long-double-from-i32.c: New test.
+       * gcc.target/s390/vector/long-double-from-i64.c: New test.
+       * gcc.target/s390/vector/long-double-from-i8.c: New test.
+       * gcc.target/s390/vector/long-double-from-u16.c: New test.
+       * gcc.target/s390/vector/long-double-from-u32.c: New test.
+       * gcc.target/s390/vector/long-double-from-u64.c: New test.
+       * gcc.target/s390/vector/long-double-from-u8.c: New test.
+       * gcc.target/s390/vector/long-double-to-double.c: New test.
+       * gcc.target/s390/vector/long-double-to-float.c: New test.
+       * gcc.target/s390/vector/long-double-to-i16.c: New test.
+       * gcc.target/s390/vector/long-double-to-i32.c: New test.
+       * gcc.target/s390/vector/long-double-to-i64.c: New test.
+       * gcc.target/s390/vector/long-double-to-i8.c: New test.
+       * gcc.target/s390/vector/long-double-to-u16.c: New test.
+       * gcc.target/s390/vector/long-double-to-u32.c: New test.
+       * gcc.target/s390/vector/long-double-to-u64.c: New test.
+       * gcc.target/s390/vector/long-double-to-u8.c: New test.
+       * gcc.target/s390/vector/long-double-vec-duplicate.c: New test.
+       * gcc.target/s390/vector/long-double-wf.h: New test.
+       * gcc.target/s390/vector/long-double-wfaxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfcxb-0001.c: New test.
+       * gcc.target/s390/vector/long-double-wfcxb-0111.c: New test.
+       * gcc.target/s390/vector/long-double-wfcxb-1011.c: New test.
+       * gcc.target/s390/vector/long-double-wfcxb-1101.c: New test.
+       * gcc.target/s390/vector/long-double-wfdxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfixb.c: New test.
+       * gcc.target/s390/vector/long-double-wfkxb-0111.c: New test.
+       * gcc.target/s390/vector/long-double-wfkxb-1011.c: New test.
+       * gcc.target/s390/vector/long-double-wfkxb-1101.c: New test.
+       * gcc.target/s390/vector/long-double-wflcxb.c: New test.
+       * gcc.target/s390/vector/long-double-wflpxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfmaxb-2.c: New test.
+       * gcc.target/s390/vector/long-double-wfmaxb-3.c: New test.
+       * gcc.target/s390/vector/long-double-wfmaxb-disabled.c: New test.
+       * gcc.target/s390/vector/long-double-wfmaxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfmsxb-disabled.c: New test.
+       * gcc.target/s390/vector/long-double-wfmsxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfmxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfnmaxb-disabled.c: New test.
+       * gcc.target/s390/vector/long-double-wfnmaxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfnmsxb-disabled.c: New test.
+       * gcc.target/s390/vector/long-double-wfnmsxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfsqxb.c: New test.
+       * gcc.target/s390/vector/long-double-wfsxb-1.c: New test.
+       * gcc.target/s390/vector/long-double-wfsxb.c: New test.
+       * gcc.target/s390/vector/long-double-wftcixb-1.c: New test.
+       * gcc.target/s390/vector/long-double-wftcixb.c: New test.
+
+2020-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt88.adb: New test.
+
+2020-11-10  David Candler  <david.candler@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_high_n.c: Added skip
+       directive.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_high_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrn_high_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrun_high_n.c: Likewise.
+
+2020-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97764
+       * gcc.c-torture/execute/pr97764.c: New test.
+
+2020-11-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95847
+       * gfortran.dg/coverage.f90: New test.
+
+2020-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97760
+       * gcc.dg/vect/pr97760.c: New testcase.
+
+2020-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/opt/pr97767.C: New test.
+
+2020-11-10  hongyuw1  <hongyuw1@intel.com>
+
+       * gcc.target/i386/keylocker-aesdec128kl.c: Adjust regex patterns.
+       * gcc.target/i386/keylocker-aesdec256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesenc128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise.
+       * gcc.target/i386/keylocker-encodekey128.c: Likewise.
+       * gcc.target/i386/keylocker-encodekey256.c: Likewise.
+       * gcc.target/i386/keylocker-aesenc256kl.c: New test.
+
+2020-11-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97567-2.c: New.
+
+2020-11-09  Marek Polacek  <polacek@redhat.com>
+
+       DR 1914
+       * c-c++-common/attr-fallthrough-2.c: Adjust dg-warning.
+       * g++.dg/cpp0x/fallthrough2.C: Likewise.
+       * g++.dg/cpp0x/gen-attrs-60.C: Turn dg-error into dg-warning.
+       * g++.dg/cpp1y/attr-deprecated-2.C: Likewise.
+       * g++.dg/cpp2a/attr-likely2.C: Adjust dg-warning.
+       * g++.dg/cpp2a/nodiscard-once.C: Turn dg-error into dg-warning.
+       * g++.dg/cpp0x/gen-attrs-72.C: New test.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-decltype2.C: New file.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93907
+       * g++.dg/cpp2a/concepts-using3.C: New test, based off of
+       concepts-using2.C.
+
+2020-11-09  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/lookup/using26.C: Adjust location.
+       * g++.old-deja/g++.other/using1.C: Adjust location.
+
+2020-11-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97762
+       * g++.dg/warn/Wvexing-parse8.C: New test.
+
+2020-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       * gcc.dg/pragma-diag-6.c: Adjust expected diagnostics
+       accordingly.
+
+2020-11-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/90111
+       * gfortran.dg/goacc/specification-part.f90: New test.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97761
+       * gfortran.dg/vect/pr97761.f90: New testcase.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97753
+       * gcc.dg/vect/pr97753.c: New testcase.
+
+2020-11-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97746
+       * gcc.dg/vect/bb-slp-pr97746.c: New testcase.
+
+2020-11-09  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/simd/vld1_lane_bf16_1.c: Require target to
+       support and add -mfloat-abi=hard flag.
+       * gcc.target/arm/simd/vld1_lane_bf16_indices_1.c: Likewise.
+       * gcc.target/arm/simd/vld1q_lane_bf16_indices_1.c: Likewise.
+       * gcc.target/arm/simd/vst1_lane_bf16_1.c: Likewise.
+       * gcc.target/arm/simd/vst1_lane_bf16_indices_1.c: Likewise.
+       * gcc.target/arm/simd/vstq1_lane_bf16_indices_1.c: Likewise.
+
+2020-11-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/property/at-property-4.mm: Test handling class
+       attributes.
+       * objc.dg/property/at-property-4.m: Likewise.
+
+2020-11-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c-c++-common/zero-scratch-regs-10.c: Skip for powerpc
+       Darwin.
+       * c-c++-common/zero-scratch-regs-11.c: Likewise.
+       * c-c++-common/zero-scratch-regs-8.c: Likewise.
+       * c-c++-common/zero-scratch-regs-9.c: Likewise.
+
+2020-11-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/builtin_thread_pointer.c: Require native TLS.
+
+2020-11-07  Marek Polacek  <polacek@redhat.com>
+
+       * c-c++-common/Wimplicit-fallthrough-20.c: Adjust dg-warning.
+
+2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/property/at-property-4.mm: Test atomic property
+       attribute.
+       * objc.dg/property/at-property-4.m: Likewise.
+
+2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/attributes/nsobject-01.mm: New test.
+       * objc.dg/attributes/nsobject-01.m: New test.
+
+2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c-c++-common/zero-scratch-regs-10.c: XFAIL for
+       powerpc-darwin.
+       * c-c++-common/zero-scratch-regs-11.c: Likewise.
+       * c-c++-common/zero-scratch-regs-8.c: Likewise.
+       * c-c++-common/zero-scratch-regs-9.c: Likewise.
+
+2020-11-07  Martin Uecker  <muecker@gwdg.de>
+
+       * c-c++-common/attr-fallthrough-2.c: Update compiler flags.
+       * c-c++-common/Wimplicit-fallthrough-20.c: Adapt test.
+       * gcc.dg/20031223-1.c: Update compiler flags and adapt test.
+       * gcc.dg/c11-labels-1.c: New test.
+       * gcc.dg/c11-labels-2.c: New test.
+       * gcc.dg/c11-labels-3.c: New test.
+       * gcc.dg/c2x-attr-syntax-3.c: Adapt test.
+       * gcc.dg/c2x-labels-1.c: New test.
+       * gcc.dg/c2x-labels-2.c: New test.
+       * gcc.dg/c2x-labels-3.c: New test.
+       * gcc.dg/decl-9.c: Update compiler flags and add error.
+       * gcc.dg/gomp/barrier-2.c: Update compiler flags and add warning.
+       * gcc.dg/gomp/declare-simd-5.c: Update compiler flags and adapt test.
+       * gcc.dg/gomp/declare-variant-2.c: Update compiler flags and add error.
+       * gcc.dg/label-compound-stmt-1.c: Update compiler flags.
+       * gcc.dg/parse-decl-after-label.c: Update compiler flags.
+
+2020-11-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/pr64505.c: Run everywhere.  Use correct minimized
+       test case.
+
+2020-11-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-alignment.c: New test.
+
+2020-11-06  Jeff Law  <law@torsion.usersys.redhat.com>
+
+       PR target/91489
+       * gcc.target/i386/ms_hook_prologue.c: Expand testcase
+       to reproduce PR target/91489 issue.
+
+2020-11-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_fenv_exceptions_dfp): New.
+       * gcc.dg/dfp/builtin-snan-1.c, gcc.dg/dfp/builtin-snan-2.c: New
+       tests.
+
+2020-11-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81660
+       * g++.dg/warn/Wexceptions3.C: New test.
+       * g++.dg/eh/pr42859.C: Add dg-warning.
+       * g++.dg/torture/pr81659.C: Likewise.
+
+2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/property/at-property-1.mm: Adjust expected
+       diagnostics.
+       * obj-c++.dg/property/at-property-29.mm: Likewise.
+       * obj-c++.dg/property/at-property-4.mm: Likewise.
+       * obj-c++.dg/property/property-neg-2.mm: Likewise.
+       * objc.dg/property/at-property-1.m: Likewise.
+       * objc.dg/property/at-property-29.m: Likewise.
+       * objc.dg/property/at-property-4.m: Likewise.
+       * objc.dg/property/at-property-5.m: Likewise.
+       * objc.dg/property/property-neg-2.m: Likewise.
+
+2020-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/67453
+       * g++.dg/ext/attr-used-2.C: New test.
+
+2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/darwin-minversion-link.c: Allow for Darwin19 (macOS 10.15)
+       and Darwin20 (macOS 11.0).
+
+2020-11-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97737.c: New.
+       * gcc.dg/pr97741.c: New.
+
+2020-11-06  David Candler  <david.candler@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_high_n.c: New testcase.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_high_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrn_high_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrun_high_n.c: Likewise.
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Update expected assembler
+       for sqshrun2, sqrshrun2, sqshrn2, uqshrn2, sqrshrn2 and uqrshrn2.
+
+2020-11-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/dup_lane_2.c: New test.
+       * gcc.target/aarch64/sve/dup_lane_3.c: Likewise.
+       * gcc.target/aarch64/sve/ext_4.c: Likewise.
+       * gcc.target/aarch64/sve/rev_2.c: Likewise.
+       * gcc.target/aarch64/sve/revhw_1.c: Likewise.
+       * gcc.target/aarch64/sve/revhw_2.c: Likewise.
+       * gcc.target/aarch64/sve/slp_perm_8.c: Likewise.
+       * gcc.target/aarch64/sve/trn1_2.c: Likewise.
+       * gcc.target/aarch64/sve/trn2_2.c: Likewise.
+       * gcc.target/aarch64/sve/uzp1_2.c: Likewise.
+       * gcc.target/aarch64/sve/uzp2_2.c: Likewise.
+       * gcc.target/aarch64/sve/zip1_2.c: Likewise.
+       * gcc.target/aarch64/sve/zip2_2.c: Likewise.
+
+2020-11-06  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/tree-ssa/switch-4.c: New test.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97706
+       * gcc.dg/vect/bb-slp-pr97706.c: New testcase.
+
+2020-11-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR gcov-profile/97461
+       * gcc.dg/tree-prof/pr97461.c: Return aligned memory.
+
+2020-11-06  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/loop-2-parallel-3.f95: Adjust.
+
+2020-11-06  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/loop-6.f95: Remove.
+
+2020-11-06  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/loop-5.f95: Remove.
+
+2020-11-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc-gomp/goacc-gomp.exp: New.
+       * gfortran.dg/goacc-gomp/atomic.f90: New test.
+       * gfortran.dg/goacc/atomic.f90: New test.
+
+2020-11-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/goacc-gomp/atomic.c: New test.
+       * c-c++-common/goacc/atomic.c: New test.
+
+2020-11-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97732
+       * gcc.dg/vect/bb-slp-pr97732.c: New testcase.
+
+2020-11-06  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.target/i386/fentryname1.c: Add dg-require-profiling.
+       * gcc.target/i386/fentryname2.c: Likewise.
+       * gcc.target/i386/fentryname3.c: Likewise.
+       * gcc.target/i386/returninst1.c: Likewise.
+       * gcc.target/i386/returninst2.c: Likewise.
+       * gcc.target/i386/returninst3.c: Likewise.
+
+2020-11-06  Olivier Hainque  <hainque@adacore.com>
+
+       * g++.dg/pr57878.C: Add dg-require-effective-target fpic.
+       * g++.dg/pr65032.C: Likewise.
+       * g++.dg/pr84279.C: Likewise.
+       * g++.dg/inherit/thunk8.C: Likewise.
+       * g++.dg/opt/pr64411.C: Likewise.
+
+2020-11-06  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/ipa/modref-2.c: New test.
+       * gcc.dg/lto/modref-2_0.c: New test.
+
+2020-11-06  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/no-strict-overflow-4.c: Adjust expected output.
+
+2020-11-06  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * gcc.dg/self-right-shift.c: New test.
+
+2020-11-06  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96307
+       * gcc.dg/pr96307.c: New.
+       * gcc.target/riscv/pr96260.c: Move this test case from here to ...
+       * gcc.dg/pr96260.c: ... here.
+       * gcc.target/riscv/pr91441.c: Move this test case from here to ...
+       * gcc.dg/pr91441.c: ... here.
+       * lib/target-supports.exp (check_effective_target_no_fsanitize_address):
+       New proc.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/78209
+       * g++.dg/cpp1y/decltype-auto1.C: New test.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97675
+       * g++.old-deja/g++.eh/catch10.C: Adjust dg-warning.
+       * g++.dg/warn/Wexceptions1.C: New test.
+       * g++.dg/warn/Wexceptions2.C: New test.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/25814
+       * g++.dg/cpp2a/fn-template16.C: Add a dg-warning.
+       * g++.dg/cpp2a/fn-template7.C: Likewise.
+       * g++.dg/lookup/pr80891-5.C: Likewise.
+       * g++.dg/lto/pr79050_0.C: Add extern.
+       * g++.dg/lto/pr84805_0.C: Likewise.
+       * g++.dg/parse/pr58898.C: Add a dg-warning.
+       * g++.dg/template/scope5.C: Likewise.
+       * g++.old-deja/g++.brendan/recurse.C: Likewise.
+       * g++.old-deja/g++.jason/template4.C: Likewise.
+       * g++.old-deja/g++.law/arm4.C: Likewise.
+       * g++.old-deja/g++.mike/for2.C: Likewise.
+       * g++.old-deja/g++.other/local4.C: Likewise.
+       * g++.old-deja/g++.pt/crash3.C: Likewise.
+       * g++.dg/warn/Wvexing-parse.C: New test.
+       * g++.dg/warn/Wvexing-parse2.C: New test.
+       * g++.dg/warn/Wvexing-parse3.C: New test.
+       * g++.dg/warn/Wvexing-parse4.C: New test.
+       * g++.dg/warn/Wvexing-parse5.C: New test.
+       * g++.dg/warn/Wvexing-parse6.C: New test.
+       * g++.dg/warn/Wvexing-parse7.C: New test.
+
+2020-11-05  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97725.c: New.
+
+2020-11-05  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.dg/sms-12.c: Add dg-require-effective-target fpic.
+
+2020-11-05  Jan Hubicka  <jh@suse.cz>
+
+       * g++.dg/ipa/devirt-24.C: Update template.
+
+2020-11-05  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/slp-11b.c: Guard statements.
+
+2020-11-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97721.c: New test.
+
+2020-11-05  qing zhao  <qinzhao@gcc.gnu.org>
+
+       PR target/97715
+       * gcc.target/i386/zero-scratch-regs-32.c: New test.
+
+2020-11-05  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97668
+       * gcc.dg/analyzer/pr97668.c: New test.
+       * gfortran.dg/analyzer/pr97668.f: New test.
+
+2020-11-05  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-69.c: New testcase.
+
+2020-11-05  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/slp-11b.c: Update testcase.
+       * gcc.dg/vect/slp-perm-6.c: Update target selector.
+
+2020-11-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/96933
+       * gcc.target/powerpc/pr96933-1.c: New test.
+       * gcc.target/powerpc/pr96933-2.c: New test.
+       * gcc.target/powerpc/pr96933-3.c: New test.
+       * gcc.target/powerpc/pr96933-4.c: New test.
+       * gcc.target/powerpc/pr96933.h: New test.
+       * gcc.target/powerpc/pr96933-run.h: New test.
+
+2020-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/slp-11b.c: Update output scan.
+       * gcc.dg/vect/slp-perm-6.c: Likewise.
+
+2020-11-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97515.c: Check listing for folding of entire function.
+
+2020-11-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97709
+       * gcc.dg/vect/bb-slp-pr97709.c: New testcase.
+
+2020-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97690
+       * gcc.dg/tree-ssa/phi-opt-22.c: New test.
+       * gcc.dg/tree-ssa/ssa-ccp-11.c: Use -O2 instead of -O1.
+       * gcc.dg/vect/bb-slp-pattern-2.c (foo): Use ? 2 : 7, ? 4 : 7 and
+       ? 8 : 7 instead of ? 2 : 0, ? 4 : 0, ? 8 : 0.
+
+2020-11-04  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/pure-code/no-literal-pool-m0.c: Add dg-skip-if
+       and -mfloat-abi=soft option.
+       * gcc.target/arm/pure-code/no-literal-pool-m23.c: Likewise.
+
+2020-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97670
+       * c-c++-common/gomp/allocate-4.c: New test.
+       * g++.dg/gomp/allocate-2.C: New test.
+       * g++.dg/gomp/allocate-3.C: New test.
+
+2020-11-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c2x-attr-nodiscard-1.c, gcc.dg/c2x-attr-nodiscard-2.c,
+       gcc.dg/c2x-attr-nodiscard-3.c, gcc.dg/c2x-attr-nodiscard-4.c: New
+       tests.
+       * gcc.dg/c2x-attr-syntax-5.c: Remove nodiscard test.
+
+2020-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr97540.c: New test.
+
+2020-11-03  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.c-torture/execute/pr97695.c: New test.
+
+2020-11-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/Wclass-memaccess.C: Check that signed char and
+       char16_t aren't treated as byte-access types.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/pr92793-1.c: Extend.
+       * gfortran.dg/goacc/pr92793-1.f90: Likewise.
+
+2020-11-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97663
+       * g++.dg/cpp1z/class-deduction75.C: New test.
+
+2020-11-03  Kamlesh Kumar  <kamleshbhalui@gmail.com>
+
+       * g++.dg/DRs/dr2303.C: New test.
+
+2020-11-03  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.target/powerpc/pr67789.c: Add
+       dg-require-effective-target fpic.
+       * gcc.target/powerpc/pr83629.c: Likewise.
+       * gcc.target/powerpc/pr84112.c: Likewise. Remove
+       a superflous target test in the dg-do compile
+       directive while at it.
+
+2020-11-03  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_get.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c: New test.
+
+2020-11-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97632
+       * g++.dg/warn/Winit-list4.C: New test.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_bf16_indices_1.c:
+       Run it also for arm-*-*.
+       * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/arm/simd/vstn_lane_bf16_1.c: New test.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_bf16_indices_1.c:
+       Run it also for the arm backend.
+       * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/arm/simd/vldn_lane_bf16_1.c: New test.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/simd/vst1_bf16_1.c: New test.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/simd/vld1_bf16_1.c: New test.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/simd/vst1_lane_bf16_1.c: New testcase.
+       * gcc.target/arm/simd/vstq1_lane_bf16_indices_1.c: Likewise.
+       * gcc.target/arm/simd/vst1_lane_bf16_indices_1.c: Likewise.
+
+2020-11-03  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/arm/simd/vld1_lane_bf16_1.c: New testcase.
+       * gcc.target/arm/simd/vld1_lane_bf16_indices_1.c: Likewise.
+       * gcc.target/arm/simd/vld1q_lane_bf16_indices_1.c: Likewise.
+
+2020-11-03  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
+       (test_vcvt_f32_bf16, test_vcvtq_low_f32_bf16): New tests.
+       (test_vcvtq_high_f32_bf16, test_vcvth_f32_bf16): Likewise.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/80928
+       * gcc.dg/vect/vect-outer-slp-2.c: New testcase.
+       * gcc.dg/vect/vect-outer-slp-3.c: Likewise.
+
+2020-11-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/zero-scratch-regs-1.c: Add ia32 target
+       selector where appropriate.  Improve scan-assembler regexp.
+       * gcc.target/i386/zero-scratch-regs-2.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-3.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-4.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-5.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-6.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-7.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-8.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-9.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-10.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-13.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-14.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-15.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-16.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-17.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-18.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-19.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-20.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-21.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-22.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-23.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-24.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-25.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-26.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-27.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-28.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-29.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-30.c: Ditto.
+       * gcc.target/i386/zero-scratch-regs-31.c: Ditto.
+
+2020-11-03  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.dg/tree-ssa/pr71077.c: Add
+       dg-require-effective-target lto.
+
+2020-11-03  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.target/i386/pr45352-1.c: Add dg-require-effective-target fpic.
+       * gcc.target/i386/pr47602.c: Likewise.
+       * gcc.target/i386/pr55151.c: Likewise.
+       * gcc.target/i386/pr55458.c: Likewise.
+       * gcc.target/i386/pr56348.c: Likewise.
+       * gcc.target/i386/pr57097.c: Likewise.
+       * gcc.target/i386/pr65753.c: Likewise.
+       * gcc.target/i386/pr65915.c: Likewise.
+       * gcc.target/i386/pr66232-5.c: Likewise.
+       * gcc.target/i386/pr66334.c: Likewise.
+       * gcc.target/i386/pr66819-2.c: Likewise.
+       * gcc.target/i386/pr67265.c: Likewise.
+       * gcc.target/i386/pr81481.c: Likewise.
+       * gcc.target/i386/pr83994.c: Likewise.
+
+2020-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.c-torture/compile/pr97578.c: New test.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97688
+       * gcc.dg/vect/tree-vect.h (check_vect): Fix the x86 cpuid
+       check to always specify subleaf zero.
+
+2020-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97678
+       * gcc.dg/vect/pr97678.c: New testcase.
+
+2020-11-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/attr_deprecated.f90: New test.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/nested-reductions-1-kernels.c: Extend.
+       * c-c++-common/goacc/nested-reductions-2-kernels.c: Likewise.
+       * gfortran.dg/goacc/nested-reductions-1-kernels.f90: Likewise.
+       * gfortran.dg/goacc/nested-reductions-2-kernels.f90: Likewise.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/nested-reductions.c: Split file into...
+       * c-c++-common/goacc/nested-reductions-1-kernels.c: ... this...
+       * c-c++-common/goacc/nested-reductions-1-parallel.c: ..., this...
+       * c-c++-common/goacc/nested-reductions-1-routine.c: ..., and this.
+       * c-c++-common/goacc/nested-reductions-warn.c: Split file into...
+       * c-c++-common/goacc/nested-reductions-2-kernels.c: ... this...
+       * c-c++-common/goacc/nested-reductions-2-parallel.c: ..., this...
+       * c-c++-common/goacc/nested-reductions-2-routine.c: ..., and this.
+       * gfortran.dg/goacc/nested-reductions.f90: Split file into...
+       * gfortran.dg/goacc/nested-reductions-1-kernels.f90: ... this...
+       * gfortran.dg/goacc/nested-reductions-1-parallel.f90: ..., this...
+       * gfortran.dg/goacc/nested-reductions-1-routine.f90: ..., and
+       this.
+       * gfortran.dg/goacc/nested-reductions-warn.f90: Split file into...
+       * gfortran.dg/goacc/nested-reductions-2-kernels.f90: ... this...
+       * gfortran.dg/goacc/nested-reductions-2-parallel.f90: ..., this...
+       * gfortran.dg/goacc/nested-reductions-2-routine.f90: ..., and
+       this.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/92793
+       * gfortran.dg/goacc/pr92793-1.f90: Adjust.
+
+2020-11-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/pr92793-1.c: Extend.
+       * gfortran.dg/goacc/pr92793-1.f90: Likewise.
+
+2020-11-03  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/96789
+       * gcc.dg/tree-ssa/ssa-dse-28.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dse-29.c: Likewise.
+       * gcc.dg/vect/bb-slp-41.c: Likewise.
+       * gcc.dg/tree-ssa/pr96789.c: New test.
+
+2020-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR target/97205
+       * gcc.c-torture/compile/pr97205.c: New test.
+
+2020-11-02  Alan Modra  <amodra@gmail.com>
+
+       PR middle-end/97267
+       * gcc.target/powerpc/pr97267.c: New test.
+
+2020-11-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97140
+       * gcc.target/i386/pr97140.c: New test.
+
+2020-11-02  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-complete1.C: Delete test that became
+       ill-formed after P2104.
+
+2020-11-02  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/bcd-2.c: Add include altivec.h.
+       * gcc.target/powerpc/bcd-3.c: Add include altivec.h.
+       * gcc.target/powerpc/bcd-4.c: New test.
+
+2020-11-02  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/concepts/pack-1.C: New.
+       * g++.dg/lookup/using53.C: Add an enum.
+       * g++.dg/template/error25.C: Relax 'export' error check.
+
+2020-11-02  Sudakshina Das  <sudi.das@arm.com>
+
+       PR target/97638
+       * gcc.target/aarch64/pr97638.c: New test.a
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/slp-49.c: New testcase.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/pure-code/no-literal-pool-m23.c: New.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/pure-code/no-literal-pool-m0.c: New.
+
+2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/92793
+       * gfortran.dg/goacc/pr92793-1.f90: Adjust.
+
+2020-11-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97655
+       * gfortran.dg/gomp/atomic.f90: Update tree-dump counts; move
+       invalid OMP 5.0 code to ...
+       * gfortran.dg/gomp/atomic-2.f90: ... here; update dg-error.
+       * gfortran.dg/gomp/requires-9.f90: Update tree dump scan.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97558
+       * gcc.dg/vect/pr97558-2.c: New testcase.
+
+2020-11-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97505
+       * gcc.dg/pr97505.c: New test.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97558
+       * gcc.dg/vect/pr97558.c: New testcase.
+
+2020-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97650
+       * gcc.dg/vect/bb-slp-pr97650.c: New testcase.
+
+2020-11-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/arch-7.c: New.
+       * gcc.target/riscv/attribute-10.c: Update test arch string.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96770
+       * gcc.target/arm/pure-code/pr96770.c: New test.
+
+2020-11-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96967
+       * gcc.target/arm/pure-code/pr96767.c: New test.
+
+2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/SEL-typedef.mm: New test.
+       * objc.dg/SEL-typedef.m: New test.
+
+2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/property/at-property-1.mm: Adjust test after
+       fixing spurious error output.
+
+2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/amxbf16-asmintel-1.c: Require masm_intel.
+       * gcc.target/i386/amxint8-asmintel-1.c: Likewise.
+       * gcc.target/i386/amxtile-asmintel-1.c: Likewise.
+
+2020-10-30  Qing Zhao  <qing.zhao@oracle.com>
+           H.J.Lu  <hjl.tools@gmail.com>
+
+       * c-c++-common/zero-scratch-regs-1.c: New test.
+       * c-c++-common/zero-scratch-regs-10.c: New test.
+       * c-c++-common/zero-scratch-regs-11.c: New test.
+       * c-c++-common/zero-scratch-regs-2.c: New test.
+       * c-c++-common/zero-scratch-regs-3.c: New test.
+       * c-c++-common/zero-scratch-regs-4.c: New test.
+       * c-c++-common/zero-scratch-regs-5.c: New test.
+       * c-c++-common/zero-scratch-regs-6.c: New test.
+       * c-c++-common/zero-scratch-regs-7.c: New test.
+       * c-c++-common/zero-scratch-regs-8.c: New test.
+       * c-c++-common/zero-scratch-regs-9.c: New test.
+       * c-c++-common/zero-scratch-regs-attr-usages.c: New test.
+       * gcc.target/i386/zero-scratch-regs-1.c: New test.
+       * gcc.target/i386/zero-scratch-regs-10.c: New test.
+       * gcc.target/i386/zero-scratch-regs-11.c: New test.
+       * gcc.target/i386/zero-scratch-regs-12.c: New test.
+       * gcc.target/i386/zero-scratch-regs-13.c: New test.
+       * gcc.target/i386/zero-scratch-regs-14.c: New test.
+       * gcc.target/i386/zero-scratch-regs-15.c: New test.
+       * gcc.target/i386/zero-scratch-regs-16.c: New test.
+       * gcc.target/i386/zero-scratch-regs-17.c: New test.
+       * gcc.target/i386/zero-scratch-regs-18.c: New test.
+       * gcc.target/i386/zero-scratch-regs-19.c: New test.
+       * gcc.target/i386/zero-scratch-regs-2.c: New test.
+       * gcc.target/i386/zero-scratch-regs-20.c: New test.
+       * gcc.target/i386/zero-scratch-regs-21.c: New test.
+       * gcc.target/i386/zero-scratch-regs-22.c: New test.
+       * gcc.target/i386/zero-scratch-regs-23.c: New test.
+       * gcc.target/i386/zero-scratch-regs-24.c: New test.
+       * gcc.target/i386/zero-scratch-regs-25.c: New test.
+       * gcc.target/i386/zero-scratch-regs-26.c: New test.
+       * gcc.target/i386/zero-scratch-regs-27.c: New test.
+       * gcc.target/i386/zero-scratch-regs-28.c: New test.
+       * gcc.target/i386/zero-scratch-regs-29.c: New test.
+       * gcc.target/i386/zero-scratch-regs-30.c: New test.
+       * gcc.target/i386/zero-scratch-regs-31.c: New test.
+       * gcc.target/i386/zero-scratch-regs-3.c: New test.
+       * gcc.target/i386/zero-scratch-regs-4.c: New test.
+       * gcc.target/i386/zero-scratch-regs-5.c: New test.
+       * gcc.target/i386/zero-scratch-regs-6.c: New test.
+       * gcc.target/i386/zero-scratch-regs-7.c: New test.
+       * gcc.target/i386/zero-scratch-regs-8.c: New test.
+       * gcc.target/i386/zero-scratch-regs-9.c: New test.
+
+2020-10-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97556
+       * gcc.dg/Warray-bounds-70.c: New test.
+
+2020-10-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * g++.dg/guality/guality.exp: Skip $rootme-based check if unset.
+       * gcc.dg/guality/guality.exp: Likewise.
+       * gfortran.dg/guality/guality.exp: Likewise.
+       * lib/asan-dg.exp: Don't use $asan_saved_library_path if not set.
+       * lib/tsan-dg.exp: Don't use $tsan_saved_library_path if not set.
+       * lib/ubsan-dg.exp: Don't use $ubsan_saved_library_path if not set.
+
+2020-10-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/atomic-2.f90: New test.
+       * gfortran.dg/gomp/atomic.f90: New test.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97623
+       * gcc.dg/tree-ssa/ssa-hoist-7.c: New testcase.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97626
+       * gcc.dg/vect/bb-slp-pr97626.c: New testcase.
+
+2020-10-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/92793
+       * c-c++-common/goacc/clause-locations.c: Rewrite into...
+       * c-c++-common/goacc/pr92793-1.c: ... this.
+       * gfortran.dg/goacc/clause-locations.f90: Rewrite into...
+       * gfortran.dg/goacc/pr92793-1.f90: ... this.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97633
+       * g++.dg/vect/slp-pr97636.cc: New testcase.
+       * gcc.dg/vect/bb-slp-pr97633.c: Likewise.
+
+2020-10-30  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/96998
+       * gcc.c-torture/compile/pr96998.c: New test.
+
+2020-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/allocate-3.c: New test.
+
+2020-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/allocate-1.c (qux): Add another test.
+       * g++.dg/gomp/allocate-1.C: New test.
+
+2020-10-30  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-pr65935.c: Adjust.
+
+2020-10-30  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-mix-2.c: New test.
+       * gcc.target/powerpc/float128-mix-3.c: New test.
+       * gcc.target/powerpc/float128-mix.c: Update failure messages.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       DR 625
+       PR c++/97479
+       * g++.dg/cpp0x/auto3.C: Update dg-error.
+       * g++.dg/cpp0x/auto9.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-2.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-3.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979.C: Likewise.
+       * g++.dg/DRs/dr625.C: New test.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93107
+       * g++.dg/cpp0x/initlist-deduce3.C: New test.
+
+2020-10-29  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp2a/enum-conv1.C: Remove unused code.
+       * g++.dg/cpp2a/spaceship-err5.C: New test.
+
+2020-10-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97412
+       * g++.dg/cpp2a/concepts-variadic2.C: New test.
+
+2020-10-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97388
+       * g++.dg/cpp2a/constexpr-dtor8.C: New test.
+
+2020-10-29  Jakub Jelinek  <jakub@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/97388
+       * g++.dg/cpp2a/constexpr-dtor5.C: New test.
+       * g++.dg/cpp2a/constexpr-dtor6.C: New test.
+       * g++.dg/cpp2a/constexpr-dtor7.C: New test.
+
+2020-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95808
+       * g++.dg/cpp2a/constexpr-new15.C: New test.
+
+2020-10-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-bool-1.c, gcc.dg/c2x-bool-1.c, gcc.dg/c99-bool-4.c:
+       New tests.
+
+2020-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/pr97596.c: Require int128 effective target.
+
+2020-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97596.c: New.
+
+2020-10-29  Alexandre Oliva  <oliva@adacore.com>
+
+       * gnat.dg/sin_cos.ads: New.
+       * gnat.dg/sin_cos.adb: New.
+       * gcc.dg/sin_cos.c: New.
+
+2020-10-29  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/keylocker-aesdec128kl.c: New test.
+       * gcc.target/i386/keylocker-aesdec256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesenc128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise.
+       * gcc.target/i386/keylocker-encodekey128.c: Likewise.
+       * gcc.target/i386/keylocker-encodekey256.c: Likewise.
+       * gcc.target/i386/keylocker-loadiwkey.c: Likewise.
+       * g++.dg/other/i386-2.C: Add -mkl and -mwidekl.
+       * g++.dg/other/i386-3.C: Likewise.
+       * gcc.target/i386/sse-12.c: Likewise.
+       * gcc.target/i386/sse-13.c: Likewise.
+       * gcc.target/i386/sse-14.c: Likewise.
+       * gcc.target/i386/sse-22.c: Add kl and widekl.
+       * gcc.target/i386/sse-23.c: Likewise.
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute test.
+
+2020-10-29  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-pr65935.c: Adjust.
+
+2020-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * g++.dg/pr97609.C: New.
+
+2020-10-29  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97608
+       * gcc.dg/analyzer/malloc-1.c (test_42d): New.
+       * gcc.dg/analyzer/pr97608.c: New test.
+
+2020-10-28  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vsx-load-element-extend-char.c: Put "dg-do run"
+       before "dg-do compile", and make them mutually exclusive.
+       * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise.
+       * gcc.target/powerpc/altivec-consts.c: Likewise, add -save-temps.
+       * gcc.target/powerpc/le-altivec-consts.c: Likewise.
+
+2020-10-28  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/float128-type-1.c: Simplify target test.
+       * gcc.target/powerpc/float128-type-2.c: Likewise.
+
+2020-10-28  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-extract-char.p9.c: Don't check addi
+       count for ilp32.
+       * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Likewise.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/warn/mvp3.C: New test.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * g++.dg/cpp0x/linkage2.C: Add dg-warning.
+       * g++.dg/parse/attr3.C: Likewise.
+       * g++.dg/cpp2a/enum-conv1.C: New test.
+       * g++.dg/cpp2a/enum-conv2.C: New test.
+       * g++.dg/cpp2a/enum-conv3.C: New test.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96675
+       PR c++/96742
+       * g++.dg/warn/Wdiv-by-zero-3.C: Turn dg-warning into dg-bogus.
+       * g++.dg/warn/Wtautological-compare3.C: New test.
+       * g++.dg/warn/Wtype-limits5.C: New test.
+       * g++.old-deja/g++.pt/crash10.C: Remove dg-warning.
+
+2020-10-28  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/sad-vectorize-1.c: Remove AIX skip.
+       * gcc.target/powerpc/sad-vectorize-2.c: Remove AIX skip.
+       * gcc.target/powerpc/sad-vectorize-3.c: Remove target.
+       Require p9vector_hw.
+       * gcc.target/powerpc/sad-vectorize-4.c: Remove target.
+       Require p9vector_hw.
+       * gcc.target/powerpc/signbit-1.c: Remove target.
+       Require ppc_float128_sw.
+       * gcc.target/powerpc/signbit-2.c: Remove target.
+       Require ppc_float128_sw.
+       * gcc.target/powerpc/signbit-3.c: Remove target.
+       Require ppc_float128_sw.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94799
+       * g++.dg/template/lookup16.C: New test.
+
+2020-10-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/86773
+       * g++.dg/cpp1z/fold12.C: New test.
+
+2020-10-28  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/97535
+       * gcc.target/aarch64/pr97535.c: Exclude ILP32.
+
+2020-10-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/97457
+       * gcc.dg/vect/pr97457.c: New test.
+
+2020-10-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-parm-omit-1.c, gcc.dg/c11-parm-omit-2.c,
+       gcc.dg/c11-parm-omit-3.c, gcc.dg/c11-parm-omit-4.c,
+       gcc.dg/c2x-parm-omit-1.c, gcc.dg/c2x-parm-omit-2.c,
+       gcc.dg/c2x-parm-omit-3.c, gcc.dg/c2x-parm-omit-4.c: New tests.
+       * gcc.dg/noncompile/pr79758.c: Do not expect error for omitted
+       parameter name.
+
+2020-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95132
+       * g++.dg/cpp2a/concepts-fn7.C: New test.
+
+2020-10-28  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/vadsdu-0.c: Remove target.
+       * gcc.target/powerpc/vadsdu-1.c: Remove target.
+       * gcc.target/powerpc/vadsdu-2.c: Remove target.
+       * gcc.target/powerpc/vadsdu-3.c: Remove target.
+       * gcc.target/powerpc/vadsdu-4.c: Remove target.
+       * gcc.target/powerpc/vadsdu-5.c: Remove target.
+       * gcc.target/powerpc/vadsdub-1.c: Remove target.
+       * gcc.target/powerpc/vadsdub-2.c: Remove target.
+       * gcc.target/powerpc/vadsduh-1.c: Remove target.
+       * gcc.target/powerpc/vadsduh-2.c: Remove target.
+       * gcc.target/powerpc/vadsduw-1.c: Remove target.
+       * gcc.target/powerpc/vadsduw-2.c: Remove target.
+       * gcc.target/powerpc/vslv-0.c: Remove target.
+       * gcc.target/powerpc/vslv-1.c: Remove target.
+       * gcc.target/powerpc/vsrv-0.c: Remove target.
+       * gcc.target/powerpc/vsrv-1.c: Remove target.
+
+2020-10-28  David Edelsohn  <dje.gcc@gmail.com>
+           Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/byte-in-either-range-0.c: Remove target.
+       * gcc.target/powerpc/byte-in-either-range-1.c: Remove target.
+       * gcc.target/powerpc/byte-in-range-0.c: Remove target.
+       * gcc.target/powerpc/byte-in-range-1.c: Remove target.
+       * gcc.target/powerpc/byte-in-set-0.c: Remove target.
+       * gcc.target/powerpc/byte-in-set-1.c: Remove target.
+       * gcc.target/powerpc/byte-in-set-2.c: Remove target. Expect
+       implicit declaration warning.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-58.c: Require vect_double.
+       * gcc.dg/vect/bb-slp-59.c: Likewise.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97615
+       * gcc.dg/vect/bb-slp-pr97615.c: New testcase.
+
+2020-10-28  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-68.c: New testcase.
+
+2020-10-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+       (hbfloat16_t): Define type.
+       (CHECK_FP): Make it working for bfloat types.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_1.c: New file.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_2.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_bf16_indices_1.c:
+       Likewise.
+
+2020-10-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_1.c: New
+       testcase.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_2.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_bf16_indices_1.c:
+       Likewise.
+
+2020-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/allocate-1.c: New test.
+       * c-c++-common/gomp/allocate-2.c: New test.
+       * c-c++-common/gomp/clauses-1.c (omp_allocator_handle_t): New typedef.
+       (foo, bar, baz): Add allocate clauses where allowed.
+
+2020-10-28  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vsx-load-element-extend-char.c: Add -save-temps.
+       * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise.
+
+2020-10-28  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vec-blend-runnable.c: Add save-temps.
+       * gcc.target/powerpc/vec-insert-word-runnable.c: Likewise.
+       * gcc.target/powerpc/vec-permute-ext-runnable.c: Likewise.
+       * gcc.target/powerpc/vec-replace-word-runnable.c: Likewise.
+       * gcc.target/powerpc/vec-splati-runnable.c: Likewise.
+       * gcc.target/powerpc/vec-ternarylogic-3.c: Likewise.
+       * gcc.target/powerpc/vec-ternarylogic-9.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise.
+       * gcc.target/powerpc/vec-shift-double-runnable.c: Likewise,
+       and correct assembly match.
+
+2020-10-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c2x-attr-deprecated-4.c, gcc.dg/c2x-attr-fallthrough-4.c,
+       gcc.dg/c2x-attr-maybe_unused-4.c: Allow duplicate attributes.
+
+2020-10-27  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/pr97497.c: New test.
+
+2020-10-27  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/value_8.f90: New test.
+
+2020-10-27  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-blend-runnable.c: Change #ifdef
+       DEBUG to #if DEBUG.
+       Fix printf line so it is less then 80 characters long.
+       * gcc.target/powerpc/vec-insert-word-runnable.c: Change
+       #ifdef DEBUG to #if DEBUG.
+       * gcc.target/powerpc/vec-permute-ext-runnable.c: Change
+       #ifdef DEBUG to #if DEBUG.
+       * gcc.target/powerpc/vec-replace-word-runnable.c: Change
+       #ifdef DEBUG to #if DEBUG.
+       Fix printf lines so they are less then 80 characters long.
+       * gcc.target/powerpc/vec-shift-double-runnable.c: Change
+       #ifdef DEBUG to #if DEBUG.
+
+2020-10-27  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/97535
+       * gcc.target/aarch64/pr97535.c: New test.
+
+2020-10-27  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vect_copy_lane_1.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_2.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_2.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_2.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_1.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_2.c:
+       Likewise.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-67.c: New testcase.
+
+2020-10-27  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92942
+       * gcc.dg/Wstringop-overflow-56.c: New test.
+       * gcc.dg/Wstringop-overflow-57.c: Same.
+
+2020-10-27  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-44.s: Remove.
+
+2020-10-27  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97567.c: Update to work with 32 bit targets.
+
+2020-10-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97568
+       * gcc.dg/analyzer/pr97568.c: New test.
+
+2020-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97560
+       PR testsuite/97590
+       * g++.dg/pr97560.C: Require c++11 effective target and add comment
+       with PR number.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-54.c: New test.
+       * gcc.dg/vect/bb-slp-55.c: Likewise.
+       * gcc.dg/vect/bb-slp-56.c: Likewise.
+       * gcc.dg/vect/bb-slp-57.c: Likewise.
+       * gcc.dg/vect/bb-slp-58.c: Likewise.
+       * gcc.dg/vect/bb-slp-59.c: Likewise.
+       * gcc.dg/vect/bb-slp-60.c: Likewise.
+       * gcc.dg/vect/bb-slp-61.c: Likewise.
+       * gcc.dg/vect/bb-slp-62.c: Likewise.
+       * gcc.dg/vect/bb-slp-63.c: Likewise.
+       * gcc.dg/vect/bb-slp-64.c: Likewise.
+       * gcc.dg/vect/bb-slp-65.c: Likewise.
+       * gcc.dg/vect/bb-slp-66.c: Likewise.
+       * gcc.dg/vect/vect-outer-slp-1.c: Likewise.
+       * gfortran.dg/vect/O3-bb-slp-1.f: Likewise.
+       * gfortran.dg/vect/O3-bb-slp-2.f: Likewise.
+       * g++.dg/vect/simd-11.cc: Likewise.
+
+2020-10-27  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/pr95866-1.c: Adjust.
+
+2020-10-27  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/swaps-p8-22.c: Enable only for aix and
+       -m64 linux.
+
+2020-10-27  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97461
+       * gcc.dg/tree-prof/pr97461.c: New test.
+
+2020-10-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97560
+       * g++.dg/pr97560.C: New test.
+
+2020-10-27  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vsx_mask-count-runnable.c: Separate options
+       passed to dg-require-effective-target.
+       * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/localentry-1.c: Remove -mpcrel from options.
+       * gcc.target/powerpc/notoc-direct-1.c: Likewise.
+       * gcc.target/powerpc/pr94740.c: Likewise.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/bswap64-4.c: Comment.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/pr93122.c: Replace -mcpu with -mdejagnu-cpu.
+       * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vsx-load-element-extend-char.c: Require int128.
+       * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise.
+       * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise.
+       * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/cfuged-1.c,
+       gcc.target/powerpc/cntlzdm-1.c,
+       gcc.target/powerpc/cnttzdm-1.c,
+       gcc.target/powerpc/dg-future-1.c,
+       gcc.target/powerpc/lsbb-runnable.c,
+       gcc.target/powerpc/mma-double-test.c,
+       gcc.target/powerpc/mma-single-test.c,
+       gcc.target/powerpc/p10-arch31.c,
+       gcc.target/powerpc/p10-identify.c,
+       gcc.target/powerpc/pdep-1.c,
+       gcc.target/powerpc/pextd-1.c,
+       gcc.target/powerpc/pr96787-2.c,
+       gcc.target/powerpc/vec-blend-runnable.c,
+       gcc.target/powerpc/vec-cfuged-1.c,
+       gcc.target/powerpc/vec-clrl-1.c,
+       gcc.target/powerpc/vec-clrl-3.c,
+       gcc.target/powerpc/vec-clrr-1.c,
+       gcc.target/powerpc/vec-clrr-3.c,
+       gcc.target/powerpc/vec-cntlzm-1.c,
+       gcc.target/powerpc/vec-cnttzm-1.c,
+       gcc.target/powerpc/vec-extracth-1.c,
+       gcc.target/powerpc/vec-extracth-3.c,
+       gcc.target/powerpc/vec-extracth-5.c,
+       gcc.target/powerpc/vec-extracth-7.c,
+       gcc.target/powerpc/vec-extractl-1.c,
+       gcc.target/powerpc/vec-extractl-3.c,
+       gcc.target/powerpc/vec-extractl-5.c,
+       gcc.target/powerpc/vec-extractl-7.c,
+       gcc.target/powerpc/vec-gnb-1.c,
+       gcc.target/powerpc/vec-insert-word-runnable.c,
+       gcc.target/powerpc/vec-pdep-1.c,
+       gcc.target/powerpc/vec-permute-ext-runnable.c,
+       gcc.target/powerpc/vec-pext-1.c,
+       gcc.target/powerpc/vec-replace-word-runnable.c,
+       gcc.target/powerpc/vec-shift-double-runnable.c,
+       gcc.target/powerpc/vec-splati-runnable.c,
+       gcc.target/powerpc/vec-stril-1.c,
+       gcc.target/powerpc/vec-stril-16.c,
+       gcc.target/powerpc/vec-stril-17.c,
+       gcc.target/powerpc/vec-stril-18.c,
+       gcc.target/powerpc/vec-stril-19.c,
+       gcc.target/powerpc/vec-stril-20.c,
+       gcc.target/powerpc/vec-stril-21.c,
+       gcc.target/powerpc/vec-stril-22.c,
+       gcc.target/powerpc/vec-stril-23.c,
+       gcc.target/powerpc/vec-stril-3.c,
+       gcc.target/powerpc/vec-stril-5.c,
+       gcc.target/powerpc/vec-stril-7.c,
+       gcc.target/powerpc/vec-stril_p-1.c,
+       gcc.target/powerpc/vec-stril_p-3.c,
+       gcc.target/powerpc/vec-stril_p-5.c,
+       gcc.target/powerpc/vec-stril_p-7.c,
+       gcc.target/powerpc/vec-strir-1.c,
+       gcc.target/powerpc/vec-strir-16.c,
+       gcc.target/powerpc/vec-strir-17.c,
+       gcc.target/powerpc/vec-strir-18.c,
+       gcc.target/powerpc/vec-strir-19.c,
+       gcc.target/powerpc/vec-strir-20.c,
+       gcc.target/powerpc/vec-strir-21.c,
+       gcc.target/powerpc/vec-strir-22.c,
+       gcc.target/powerpc/vec-strir-23.c,
+       gcc.target/powerpc/vec-strir-3.c,
+       gcc.target/powerpc/vec-strir-5.c,
+       gcc.target/powerpc/vec-strir-7.c,
+       gcc.target/powerpc/vec-strir_p-1.c,
+       gcc.target/powerpc/vec-strir_p-3.c,
+       gcc.target/powerpc/vec-strir_p-5.c,
+       gcc.target/powerpc/vec-strir_p-7.c,
+       gcc.target/powerpc/vec-ternarylogic-1.c,
+       gcc.target/powerpc/vec-ternarylogic-3.c,
+       gcc.target/powerpc/vec-ternarylogic-5.c,
+       gcc.target/powerpc/vec-ternarylogic-7.c,
+       gcc.target/powerpc/vec-ternarylogic-9.c,
+       gcc.target/powerpc/vsx_mask-count-runnable.c,
+       gcc.target/powerpc/vsx_mask-expand-runnable.c,
+       gcc.target/powerpc/vsx_mask-extract-runnable.c,
+       gcc.target/powerpc/vsx_mask-move-runnable.c,
+       gcc.target/powerpc/xxgenpc-runnable.c: Link testcase when it
+       can't be run.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/dimode_off.c: Add -mno-prefixed to options.
+
+2020-10-26  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/cprophard.c: Add -mno-pcrel to options.
+       * gcc.target/powerpc/float128-hw3.c: Likewise.
+       * gcc.target/powerpc/pr79439-1.c: Likewise.
+       * gcc.target/powerpc/pr79439-2.c: Likewise.
+       * gcc.target/powerpc/r2_shrink-wrap.c: Likewise.
+
+2020-10-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97567.c: New.
+
+2020-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97555.c: New test.
+
+2020-10-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * g++.dg/ext/is_nothrow_constructible1.C: New file.
+       * g++.dg/ext/is_nothrow_constructible2.C: New file.
+       * g++.dg/ext/is_nothrow_constructible3.C: New file.
+       * g++.dg/ext/is_nothrow_constructible4.C: New file.
+       * g++.dg/ext/is_nothrow_constructible5.C: New file.
+       * g++.dg/ext/is_nothrow_constructible6.C: New file.
+
+2020-10-26  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97576
+       * gcc.c-torture/compile/pr97576.c: New test.
+
+2020-10-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/97546
+       * gcc.target/aarch64/sve/acle/general/pr97546.c: New test.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * gcc.target/i386/pr97521.c: New testcase.
+
+2020-10-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95458
+       * gcc.target/i386/pr95458-1.c: New test.
+       * gcc.target/i386/pr95458-2.c: Likewise.
+
+2020-10-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95151
+       * gcc.target/i386/pr95151-1.c: New test.
+       * gcc.target/i386/pr95151-2.c: Likewise.
+       * gcc.target/i386/pr95151-3.c: Likewise.
+       * gcc.target/i386/pr95151-4.c: Likewise.
+
+2020-10-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97539
+       * gcc.dg/pr97539.c: New testcase.
+
+2020-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/warn14.adb: Update expectations.
+
+2020-10-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96241
+       * g++.dg/cpp0x/constexpr-96241.C: New test.
+       * g++.dg/cpp1y/constexpr-96241.C: New test.
+
+2020-10-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/pr97538.C: New test.
+
+2020-10-23  Marek Polacek  <polacek@redhat.com>
+
+       * c-c++-common/Wsizeof-array-div1.c: Expect certain warnings on
+       lp64 targets only.
+       * g++.dg/warn/Wsizeof-array-div2.C: Only run on lp64 targets.
+
+2020-10-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91741
+       * c-c++-common/Wsizeof-pointer-div.c: Add dg-warning.
+       * c-c++-common/Wsizeof-array-div1.c: New test.
+       * g++.dg/warn/Wsizeof-array-div1.C: New test.
+       * g++.dg/warn/Wsizeof-array-div2.C: New test.
+
+2020-10-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97552
+       * gcc.dg/Wvla-parameter-2.c: Adjust text of expected warning.
+       * gcc.dg/Wnonnull-5.c: New test.
+
+2020-10-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97463
+       * gcc.dg/pr97463.c: New test.
+
+2020-10-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/vec-rlmi-rlnm.c: Update xxlor expect.
+
+2020-10-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.dg/compat/eh/filter2_y.C: Add noexcept(false) to
+       destructor.
+
+2020-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97164
+       * c-c++-common/pr97164.c: New test.
+       * gcc.c-torture/execute/pr36093.c: Move ...
+       * gcc.dg/pr36093.c: ... here.  Add dg-do compile and dg-error
+       directives.
+       * gcc.c-torture/execute/pr43783.c: Move ...
+       * gcc.dg/pr43783.c: ... here.  Add dg-do compile, dg-options and
+       dg-error directives.
+
+2020-10-23  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/mve-vsub_1.c: New test.
+
+2020-10-23  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2020-10-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * gcc.target/i386/pr97521.c: New testcase.
+
+2020-10-22  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/vec-splati-runnable.c: Don't abort on
+       undefined output.
+
+2020-10-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/rlwimi-2.c: Adjust expected results for lp64.
+       * gcc.target/powerpc/vec-rlmi-rlnm.c: Remove target and LP64.
+       Adjust xxlor expected results.
+
+2020-10-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/flush-1.f90: New test.
+       * gfortran.dg/gomp/flush-2.f90: New test.
+
+2020-10-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/vsx-load-element-extend-char.c: New test.
+       * gcc.target/powerpc/vsx-load-element-extend-int.c: New test.
+       * gcc.target/powerpc/vsx-load-element-extend-longlong.c: New test.
+       * gcc.target/powerpc/vsx-load-element-extend-short.c: New test.
+       * gcc.target/powerpc/vsx-store-element-truncate-char.c: New test.
+       * gcc.target/powerpc/vsx-store-element-truncate-int.c: New test.
+       * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: New test.
+       * gcc.target/powerpc/vsx-store-element-truncate-short.c: New test.
+
+2020-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada/acats/run_all.sh: Define and substitute target_{max,min}_int.
+       * ada/acats/support/macro.dfs: Parameterize {MAX,MIN}_INT.
+       * gnat.dg/assert1.adb: Adjust conditionally to 128-bit integer types.
+       * gnat.dg/size_clause1.adb: Do not expect a warning for LP64 targets.
+       * gnat.dg/warn11.adb: Likewise.
+       * gnat.dg/specs/rep_clause5.ads (Array_2_Type): Add alignment clause.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97328
+       * g++.dg/cpp2a/constexpr-init19.C: New test.
+       * g++.dg/cpp2a/constexpr-init20.C: New test.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96575
+       * g++.dg/cpp1z/constexpr-96575.C: New test.
+
+2020-10-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97511
+       * g++.dg/template/shadow3.C: New test.
+
+2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * gcc.target/i386/pr97521.c: New testcase.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.dg/pr97502.c: New test.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.dg/dfp/pr97439.c: New test.
+
+2020-10-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97514
+       * gcc.dg/analyzer/pr97514.c: New test.
+
+2020-10-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * g++.dg/analyzer/ctor-dtor-1.C: New test.
+       * g++.dg/analyzer/dyncast-1.C: New test.
+       * g++.dg/analyzer/vfunc-1.C: New test.
+
+2020-10-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97489
+       * g++.dg/analyzer/pr97489.C: New test.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       PR c/94722
+       * g++.dg/no-stack-protector-attr-2.C: New test.
+       * g++.dg/no-stack-protector-attr-3.C: New test.
+       * g++.dg/no-stack-protector-attr.C: New test.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr97249-1.c: New test.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97520.c: New.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/mve-vmul_1.c: New test.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97515
+       * gcc.dg/pr97515.c: New file.
+
+2020-10-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-extract-float.p9.c: rldicl and
+       subfic only for target LE.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: xori only
+       for target LE.  Adjust mfvsrd and add mfvsrld for BE.
+       * gcc.target/powerpc/fold-vec-extract-short.p9.c: vextuhrx for LE.
+       vextuhlx for BE.
+       * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Remove target.
+       * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Remove target.
+       * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Remove target. Require
+       float128
+
+2020-10-21  Martin Liska  <mliska@suse.cz>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       PR target/97360
+       * gcc.target/powerpc/pr97360.c: New test.
+
+2020-10-21  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97445
+       * gcc.dg/ipa/inlinehint-5.c: New test.
+
+2020-10-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/p9-extract-1.c: Require lp64.
+       * gcc.target/powerpc/p9-extract-2.c: Require lp64.
+       * gcc.target/powerpc/p9-extract-3.c: Require lp64.
+       * gcc.target/powerpc/p9-permute.c: Remove target.
+       * gcc.target/powerpc/pr63335.c: Remove target.
+       * gcc.target/powerpc/pr87507.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-1.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-10.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-11.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-12.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-13.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-14.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-15.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-16.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-17.c: Require P8.
+       * gcc.target/powerpc/swaps-p8-18.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-19.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-2.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-20.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-21.c: Remove target. Require Altivec.
+       * gcc.target/powerpc/swaps-p8-22.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-23.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-24.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-25.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-26.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-27.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-28.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-29.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-3.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-30.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-31.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-32.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-33.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-34.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-35.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-36.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-37.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-38.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-39.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-4.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-40.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-41.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-42.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-43.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-44.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-45.c: Remove target.
+       * gcc.target/powerpc/swaps-p8-46.c: Require LE.
+       * gcc.target/powerpc/swaps-p8-5.c: Require LE and P8.
+       * gcc.target/powerpc/swaps-p8-6.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-7.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-8.c: Remove target. Require P8.
+       * gcc.target/powerpc/swaps-p8-9.c: Remove target. Require P8.
+       * gcc.target/powerpc/vec-cmp.c: Require LP64.
+       * gcc.target/powerpc/vec-cmpne.c: Remove target.
+       * gcc.target/powerpc/vec-mul.c: Remove target.
+       * gcc.target/powerpc/vec-set-char.c: Require LP64.
+       * gcc.target/powerpc/vec-set-int.c: Require LP64.
+       * gcc.target/powerpc/vec-set-short.c: Require LP64.
+       * gcc.target/powerpc/vec-xxpermdi.c: Remove target. Require VSX.
+       * gcc.target/powerpc/vsxcopy.c: Remove target. Require VSX.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97500
+       * gfortran.dg/pr97500.f90: New testcase.
+
+2020-10-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97506
+       * gcc.target/i386/pr97506.c: New test.
+
+2020-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97503
+       * gcc.dg/tree-ssa/pr97503.c: New test.
+
+2020-10-21  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/97414
+       * g++.dg/asan/pr97414.C: New test.
+
+2020-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/multfixed.adb: Update expected exception message.
+
+2020-10-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c (CMT):
+       Adopt the same style used in the rest of the file.
+
+2020-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Walloca-1.c: Adjust for 32-bits.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/mve-vminmax_1.c: New test.
+
+2020-10-20  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Improve pruning of
+       invalid scanf call messages.
+
+2020-10-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97505
+       * gfortran.dg/pr97505.f90: New file.
+
+2020-10-20  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/lookup/local-extern.C: New.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Wrestrict-22.c: New test.
+       * g++.dg/torture/pr92421.C: Adjust for ranger.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Walloca-1.c: Adjust for ranger.
+       * gcc.dg/Walloca-12.c: Same.
+       * gcc.dg/Walloca-13.c: Same.
+       * gcc.dg/Walloca-2.c: Same.
+       * gcc.dg/Walloca-3.c: Same.
+       * gcc.dg/Walloca-6.c: Same.
+       * gcc.dg/Wvla-larger-than-2.c: Same.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gcc.misc-tests/outputs.exp: Add ltrans_args dump files
+       for 'lto save-temps'.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97501.c: New test.
+
+2020-10-20  Nathan Sidwell  <nathan@acm.org>
+
+       * gcc.dg/cpp/endif.c: Move to ...
+       * c-c++-common/cpp/endif.c: ... here.
+       * gcc.dg/cpp/endif.h: Move to ...
+       * c-c++-common/cpp/endif.h: ... here.
+       * c-c++-common/cpp/eof-2.c: Adjust diagnostic.
+       * c-c++-common/cpp/eof-3.c: Adjust diagnostic.
+
+2020-10-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/82239
+       * g++.dg/cpp0x/static_assert16.C: New test.
+
+2020-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/opt11.adb: Add new expected warning.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97496
+       * gcc.dg/vect/bb-slp-pr97496.c: New testcase.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97488.c: Add target int128 predicate.
+
+2020-10-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97360-2.c: New test.
+
+2020-10-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/sad-vectorize-1.c: Remove target.
+       * gcc.target/powerpc/sad-vectorize-2.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v16qi-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v16qi.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v16qiu-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v16qiu.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v2df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v2di.c: Require lp64.
+       * gcc.target/powerpc/vec-extract-v4sf.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v4si-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v4si.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v4siu-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v4siu.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v8hi-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v8hi.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v8hiu-df.c: Remove target.
+       * gcc.target/powerpc/vec-extract-v8hiu.c: Remove target.
+       * gcc.target/powerpc/vec-init-1.c: Remove target.
+       * gcc.target/powerpc/vec-init-2.c: Require lp64.
+       * gcc.target/powerpc/vec-init-3.c: Require lp64.
+       * gcc.target/powerpc/vec-init-4.c: Remove target.
+       * gcc.target/powerpc/vec-init-5.c: Remove target.
+       * gcc.target/powerpc/vec-init-6.c: Require lp64.
+       * gcc.target/powerpc/vec-init-7.c: Require lp64.
+       * gcc.target/powerpc/vec-init-8.c: Remove target.
+       * gcc.target/powerpc/vec-init-9.c: Require lp64.
+       * gcc.target/powerpc/vec-setup-double.c: Remove target.
+       * gcc.target/powerpc/vec-setup-long.c: Remove target.
+       * gcc.target/powerpc/vsu/vec-xl-len-13.c: Correct expected warnings.
+       * gcc.target/powerpc/vsu/vsu.exp: Enable on AIX.
+
+2020-10-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-extract-char.p7.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-char.p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-char.p9.c: Remove target.
+       Expect 3 addi for ilp32.
+       * gcc.target/powerpc/fold-vec-extract-double.p7.c: Remove target.
+       Add -mbig-endian for Linux.
+       * gcc.target/powerpc/fold-vec-extract-double.p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-float.p7.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-float.p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-float.p9.c: Require lp64.
+       * gcc.target/powerpc/fold-vec-extract-int.p7.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-int.p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-int.p9.c: Remove target.
+       Expect 3 addi for ilp32.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Remove target.
+       Expect 4 addi for ilp32.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Remove target.
+       Expect 4 addi for ilp32.
+       * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Require lp64.
+       * gcc.target/powerpc/fold-vec-extract-short.p7.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-short.p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-extract-short.p9.c: Require lp64.
+       * gcc.target/powerpc/fold-vec-insert-char-p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-char-p9.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-double.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-float-p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-int-p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Remove target.
+       Require 8 addi for ilp32.
+       * gcc.target/powerpc/fold-vec-insert-longlong.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-short-p8.c: Remove target.
+       * gcc.target/powerpc/fold-vec-insert-short-p9.c: Remove target.
+       * gcc.target/powerpc/fold-vec-select-double.c: Remove target.
+       * gcc.target/powerpc/fold-vec-select-float.c: Remove target.
+       * gcc.target/powerpc/fold-vec-splats-int.c: Require lp64.
+       * gcc.target/powerpc/fold-vec-splats-longlong.c: Require lp64.
+
+2020-10-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/97438
+       * g++.dg/coroutines/pr97438.C: New test.
+
+2020-10-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/97456
+       * gcc.dg/tree-ssa/pr97456.c: New test.
+
+2020-10-19  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/cpp/pr97471.c: New.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97488.c: New test.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97486
+       * gcc.dg/vect/bb-slp-pr97486.c: New testcase.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97467.c: New test.
+
+2020-10-19  Li Jia He  <helijia@gcc.gnu.org>
+
+       PR tree-optimization/66552
+       * gcc.dg/pr66552.c: New testcase.
+
+2020-10-18  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/matmul_20.f90: New test.
+
+2020-10-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/p9-dimode1.c: Remove target.
+       * gcc.target/powerpc/p9-dimode2.c: Remove target.
+       * gcc.target/powerpc/p9-fpcvt-1.c: Remove target.
+       * gcc.target/powerpc/p9-fpcvt-2.c: Require lp64.
+       * gcc.target/powerpc/p9-minmax-1.c: Remove target.
+       * gcc.target/powerpc/p9-minmax-2.c: Remove target.
+       * gcc.target/powerpc/p9-minmax-3.c: Remove target.
+       * gcc.target/powerpc/p9-splat-1.c: Require lp64.
+       * gcc.target/powerpc/p9-splat-2.c: Remove target.
+       * gcc.target/powerpc/p9-splat-3.c: Remove target.
+       * gcc.target/powerpc/p9-splat-4.c: Require lp64.
+       * gcc.target/powerpc/p9-vbpermd.c: Require lp64.
+       * gcc.target/powerpc/p9-vneg.c: Require lp64.
+       * gcc.target/powerpc/p9-vparity.c: Require lp64.
+       * gcc.target/powerpc/p9-vpermr.c: Require LE.
+       * gcc.target/powerpc/p9-xxbr-1.c: Remove target.
+       * gcc.target/powerpc/p9-xxbr-2.c: Require lp64.
+       * gcc.target/powerpc/p9-xxbr-3.c: Require lp64.
+
+2020-10-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/builtins-3-p9.c: Remove le.
+
+2020-10-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pr96139-a.c: Remove -m32.
+       * gcc.target/powerpc/pr96139-b.c: Remove -m64.
+
+2020-10-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95979
+       * gfortran.dg/index_4.f90: New test.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97462
+       * gcc.dg/pr97462.c: New file.
+
+2020-10-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97460
+       * g++.dg/template/pr97460.C: New.
+
+2020-10-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/96258
+       * g++.dg/parse/pr96258.C: New.
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97327
+       * gcc.target/arm/mve/intrinsics/pr97327.c: New test.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-53.c: New testcase.
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97291
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise.
+
+2020-10-16  Jan Hubicka  <jh@suse.cz>
+
+       PR testsuite/97426
+       * gcc.dg/tree-ssa/modref-4.c: Fix return test.
+
+2020-10-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/97404
+       * gcc.c-torture/execute/pr97404.c: New test.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97428
+       * gcc.dg/vect/vect-complex-5.c: Expect to SLP.
+       * gcc.dg/vect/pr97428.c: Likewise.
+
+2020-10-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/builtins-1-p9-runnable.c: Adjust for big endian.
+       * gcc.target/powerpc/builtins-7-p9-runnable.c: Same.
+
+2020-10-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95844
+       * g++.dg/cpp2a/spaceship-eq10.C: New test.
+
+2020-10-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/builtins-5-p9-runnable.c: Require lp64.
+       * gcc.target/powerpc/builtins-msum-runnable.c: Require int128.
+       * gcc.target/powerpc/float128-cmp2-runnable.c: Require float128.
+       * gcc.target/powerpc/fold-vec-extract-double.p9.c: Require lp64.
+
+2020-10-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97406
+       PR c++/85901
+       * g++.dg/diagnostic/ptrtomem1.C: New test.
+       * g++.dg/diagnostic/ptrtomem2.C: New test.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/atomic/c11-atomic-exec-6.c: Xfail execution for nvptx.
+       * gcc.dg/atomic/c11-atomic-exec-7.c: Same.
+       * gcc.dg/atomic/stdatomic-op-5.c: Same.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97436
+       * gcc.target/nvptx/atomic_fetch-3.c: Remove.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-52.c: New testcase.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97482
+       * gcc.dg/vect/pr97428.c: New testcase.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/tree-ssa/pr84512.c: Remove xfail for nvptx.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * c-c++-common/ident-0b.c: Require effective target ident_directive.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.c-torture/compile/limits-externdecl.c: Remove dg-skip-if for
+       nvptx.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/attr-alloc_size-11.c: Don't xfail for nvptx.
+       * gcc.dg/tree-ssa/20040204-1.c: Same.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.c-torture/execute/pr68185.c: Remove dg-skip-if for nvptx.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.c-torture/execute/981019-1.c: Remove dg-skip-if for nvptx.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.c-torture/compile/pr42717.c: Remove nvptx xfail.
+       * gcc.c-torture/compile/pr61684.c: Same.
+       * gcc.c-torture/execute/pr20601-1.c: Same.
+       * gcc.c-torture/execute/pr52129.c: Same.
+       * gcc.c-torture/execute/pr59221.c: Same.
+       * gcc.dg/pr68671.c: Same.
+
+2020-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/ipa/modref-1.c: Remove space between param offset: and number
+       in scan-ipa-dump.
+       (b): Declare return type to void.
+       (main): Declare return type to int.  Change c to array of 3 chars.
+       * gcc.dg/tree-ssa/modref-4.c: Remove space between param offset: and
+       number in scan-ipa-dump.  Use modref1 instead of modref2.
+       (b): Declare return type to void.
+       (main): Declare return type to int.  Change c to array of 3 chars.
+
+2020-10-15  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/mcpu-1.c: New.
+       * gcc.target/riscv/mcpu-2.c: Ditto.
+       * gcc.target/riscv/mcpu-3.c: Ditto.
+       * gcc.target/riscv/mcpu-4.c: Ditto.
+       * gcc.target/riscv/mcpu-5.c: Ditto.
+       * gcc.target/riscv/mcpu-6.c: Ditto.
+       * gcc.target/riscv/mcpu-7.c: Ditto.
+
+2020-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/hreset-1.c: New test.
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute.
+       * gcc.target/i386/x86gprintrin-1.c: Add -mhreset.
+       * gcc.target/i386/x86gprintrin-2.c: Ditto.
+       * gcc.target/i386/x86gprintrin-3.c: Ditto.
+       * gcc.target/i386/x86gprintrin-4.c: Add mhreset.
+       * gcc.target/i386/x86gprintrin-5.c: Ditto.
+
+2020-10-15  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute.
+       * gcc.target/i386/uintr-1.c: New test.
+       * gcc.target/i386/uintr-2.c: Ditto.
+       * gcc.target/i386/uintr-3.c: Ditto.
+       * gcc.target/i386/uintr-4.c: Ditto.
+       * gcc.target/i386/uintr-5.c: Ditto.
+       * gcc.target/i386/x86gprintrin-1.c: Add -muintr for 64bit target.
+       * gcc.target/i386/x86gprintrin-2.c: Ditto.
+       * gcc.target/i386/x86gprintrin-3.c: Ditto.
+       * gcc.target/i386/x86gprintrin-4.c: Add muintr for 64bit target.
+       * gcc.target/i386/x86gprintrin-5.c: Ditto.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97391
+       * gcc.dg/Warray-bounds-68.c: New test.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97413
+       * gcc.dg/Wvla-parameter-8.c: New test.
+
+2020-10-14  Tom de Vries  <tdevries@suse.de>
+
+       * lib/target-supports.exp (check_compile): Save and restore
+       $compiler_flags when calling ${tool}_target_compile.
+
+2020-10-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93388
+       * gcc.dg/analyzer/data-model-21.c: New test.
+
+2020-10-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97394
+       * gcc.dg/analyzer/setjmp-pr93378.c: Use test-setjmp.h rather than
+       <setjmp.h>.
+       * gcc.dg/analyzer/sigsetjmp-5.c: Likewise.
+       * gcc.dg/analyzer/sigsetjmp-6.c: Likewise.
+       * gcc.dg/analyzer/test-setjmp.h: Don't include <setjmp.h>.
+       Provide decls of jmp_buf, sigjmp_buf, setjmp, sigsetjmp,
+       longjmp, and siglongjmp.
+
+2020-10-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97358
+       * g++.dg/cpp0x/lambda/lambda-variadic11.C: New test.
+
+2020-10-14  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95483
+       * gcc.target/i386/avx-1.c: Add test.
+       * gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto.
+       * gcc.target/i386/avx2-vbroadcastsi128-2.c: Ditto.
+       * gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto.
+       * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
+       * gcc.target/i386/avx512dq-vreducesd-1.c: Ditto.
+       * gcc.target/i386/avx512dq-vreducesd-2.c: Ditto.
+       * gcc.target/i386/avx512dq-vreducess-1.c: Ditto.
+       * gcc.target/i386/avx512dq-vreducess-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
+       * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
+       * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vscalefsd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
+       * gcc.target/i386/avx512f-vscalefss-2.c: Ditto.
+       * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
+       * gcc.target/i386/avx512f-vsqrtss-2.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/avx512dq-vreducepd-3.c: New test.
+       * gcc.target/i386/avx512dq-vreducepd-4.c: New test.
+       * gcc.target/i386/avx512dq-vreduceps-3.c: New test.
+       * gcc.target/i386/avx512dq-vreduceps-4.c: New test.
+       * gcc.target/i386/avx512f-vcvtsi2sd-1.c: New test.
+       * gcc.target/i386/pr95483-1.c: New test.
+       * gcc.target/i386/pr95483-2.c: New test.
+       * gcc.target/i386/pr95483-3.c: New test.
+       * gcc.target/i386/pr95483-4.c: New test.
+       * gcc.target/i386/pr95483-5.c: New test.
+       * gcc.target/i386/pr95483-6.c: New test.
+       * gcc.target/i386/pr95483-7.c: New test.
+
+2020-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97387
+       * gcc.target/i386/pr97387-1.c: New test.
+       * gcc.target/i386/pr97387-2.c: New test.
+
+2020-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97396.c: New test.
+
+2020-10-14  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/ipa/modref-1.c: New test.
+       * gcc.dg/tree-ssa/modref-4.c: New test.
+
+2020-10-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97390
+       * gfortran.dg/goacc/warn_truncated.f90: New test.
+
+2020-10-14  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/lookup/extern-redecl2.C: New.
+
+2020-10-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * gfortran.dg/pr95614_1.f90: New test.
+       * gfortran.dg/pr95614_2.f90: New test.
+       * gfortran.dg/pr95614_3.f90: New test.
+       * gfortran.dg/pr95614_4.f90: New test.
+
+2020-10-14  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96759
+       * g++.target/riscv/pr96759.C: New.
+       * gcc.target/riscv/pr96759.c: New.
+
+2020-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97386
+       * gcc.c-torture/execute/pr97386-1.c: New test.
+       * gcc.c-torture/execute/pr97386-2.c: New test.
+
+2020-10-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/stack-protector-5.c: Use -Os rather than -O2.
+       * gcc.target/arm/stack-protector-6.c: Likewise.
+
+2020-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97382
+       * gcc.dg/vect/no-vfa-vect-dv-2.c: Remove same align dump
+       scanning.
+       * gcc.dg/vect/vect-103.c: Likewise.
+       * gcc.dg/vect/vect-91.c: Likewise.
+       * gfortran.dg/vect/vect-4.f90: Likewise.
+
+2020-10-13  Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/97392
+       * g++.dg/asan/asan_test.C: Disable -Wstringop-overflow.
+       * gcc.dg/asan/pr80166.c: Likewise.
+
+2020-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97258
+       * gcc.dg/analyzer/callbacks-1.c: New test.
+       * gcc.dg/analyzer/callbacks-2.c: New test.
+       * gcc.dg/analyzer/callbacks-3.c: New test.
+
+2020-10-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97381.c: New test.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97378.c: New test.
+
+2020-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/83347
+       PR middle-end/90404
+       PR analyzer/95007
+       * gcc.dg/analyzer/write-to-const-1.c: New test.
+       * gcc.dg/analyzer/write-to-string-literal-1.c: New test.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/97201
+       * g++.dg/warn/Wplacement-new-size-8.C: Adjust expected message.
+       * g++.dg/warn/Warray-bounds-10.C: New test.
+       * g++.dg/warn/Warray-bounds-11.C: New test.
+       * g++.dg/warn/Warray-bounds-12.C: New test.
+       * g++.dg/warn/Warray-bounds-13.C: New test.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97342
+       PR middle-end/97023
+       PR middle-end/96384
+       * c-c++-common/Wrestrict.c: Adjust comment.
+       * gcc.dg/Wstringop-overflow-34.c: Remove xfail.
+       * gcc.dg/Wstringop-overflow-43.c: Remove xfails.  Adjust regex patterns.
+       * gcc.dg/pr51683.c: Prune out expected warning.
+       * gcc.target/i386/pr60693.c: Same.
+       * g++.dg/warn/Wplacement-new-size-8.C: New test.
+       * gcc.dg/Wstringop-overflow-41.c: New test.
+       * gcc.dg/Wstringop-overflow-44.s: New test.
+       * gcc.dg/Wstringop-overflow-45.c: New test.
+       * gcc.dg/Wstringop-overflow-46.c: New test.
+       * gcc.dg/Wstringop-overflow-47.c: New test.
+       * gcc.dg/Wstringop-overflow-49.c: New test.
+       * gcc.dg/Wstringop-overflow-50.c: New test.
+       * gcc.dg/Wstringop-overflow-51.c: New test.
+       * gcc.dg/Wstringop-overflow-52.c: New test.
+       * gcc.dg/Wstringop-overflow-53.c: New test.
+       * gcc.dg/Wstringop-overflow-54.c: New test.
+       * gcc.dg/Wstringop-overflow-55.c: New test.
+       * gcc.dg/Wstringop-overread-5.c: New test.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96511
+       PR middle-end/96384
+       * g++.dg/init/strlen.C: Add expected warning.
+       * g++.dg/warn/Wplacement-new-size-1.C: Relax warnings.
+       * g++.dg/warn/Wplacement-new-size-2.C: Same.
+       * g++.dg/warn/Wplacement-new-size-6.C: Same.
+       * gcc.dg/Warray-bounds-58.c: Adjust
+       * gcc.dg/Wstringop-overflow-37.c: Same.
+       * g++.dg/warn/Wplacement-new-size-7.C: New test.
+
+2020-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR tree-optimization/97357
+       * gcc.dg/pr97357.c: Call setjmp instead of _setjmp.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-50.c: New testcase.
+       * gcc.dg/vect/bb-slp-51.c: Likewise.
+
+2020-10-12  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/97079
+       * gcc.target/aarch64/sve/pr97079.c: New test.
+
+2020-10-12  Duan bo  <duanbo3@huawei.com>
+
+       PR target/96757
+       * gcc.target/aarch64/pr96757.c: New test.
+
+2020-10-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97349
+       * gcc.target/aarch64/simd/pr97349.c: New test.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97371.c: New test.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97357
+       * gcc.dg/pr97357.c: New testcase.
+
+2020-10-12  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96099
+       * gfortran.dg/pr96099_1.f90: New test.
+       * gfortran.dg/pr96099_2.f90: New test.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm:
+       Adjust testcase to include expressions for @selector and
+       @protocol. XFAIL where this is still not sufficient to obtain
+       a disgnostic range.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc-obj-c++-shared/TestsuiteObject.h: Add dummy retain and
+       release method declarations.
+       * objc-obj-c++-shared/TestsuiteObject.m: Add dummy retain and
+       release implementations.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/objc-gc-3.mm:i Skip for Darwin >= 16.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/cxx-ivars-3.mm: Skip for macOS >= 10.7.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/gnu-api-2-class-meta.mm: Add a flag to cause NeXT
+       headers to expose prototypes for messaging.
+       * obj-c++.dg/gnu-api-2-class.mm: Likewise.
+       * obj-c++.dg/gnu-api-2-objc.mm: Skip this because of the extra
+       protocols pulled in by system headers.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/plugin/diagnostic-test-expressions-1.m: Use assignment
+       expressions for @selector and @protocol to obtain a useful
+       diagnostic range.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/call-super-2.m: Remove inclusion of runtime.h.
+       Add a FIXME about the test portability.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/torture/forward-1.m: Implement forwarding using the
+       native NeXT (NSInvocation) method for Darwin.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/ivar-scope-4.m: Add inititialize method to the
+       root class.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/gnu-api-2-class-meta.m: Add a flag to cause NeXT
+       headers to expose prototypes for messaging. Mark the root
+       class if the objc_root_class attribute is available. Use
+       char ** as the second arg to main.
+       * objc.dg/gnu-api-2-class.m: Use dispatch prototype.
+       * objc.dg/gnu-api-2-objc.m: Skip on NeXT because of extra
+       prototypes pulled in by headers.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc.dg/objc-gc-4.m: Disable for macOS 10.15 and 11.x.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * objc-obj-c++-shared/TestsuiteObject.h: If the compiler
+       supports objc_root_object attributes, then mark the testsuite
+       object accordingly.
+       * objc-obj-c++-shared/TestsuiteObject.m: Avoid direct access
+       to isa, which is an error for modern Objective-C.
+       * objc/execute/class-tests-1.h: Declare a string function we
+       use locally (avoid pulling in the whole of string.h).
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/darwin-sections.c: Adjust test for renamed BSS and common
+       sections.  Cater for 64 and 128 bit long doubles.
+
+2020-10-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97250
+       * gcc.target/i386/x86-64-v2.c: Verify that
+       __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 is defined.
+       * gcc.target/i386/x86-64-v3.c: Likewise.
+       * gcc.target/i386/x86-64-v4.c: Likewise.
+
+2020-10-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97359.c: New test.
+
+2020-10-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97313
+       * gcc.target/i386/pr97313.c: New.
+
+2020-10-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/avx-1.c (__builtin_ia32_lwpval32): New to
+       support <lwpintrin.h> included in <x86gprintrin.h>.
+       (__builtin_ia32_lwpval64): Likewise.
+       (__builtin_ia32_lwpins32): Likewise.
+       (__builtin_ia32_lwpins64): Likewise.
+       (__builtin_ia32_bextri_u32): New to support <tbmintrin.h>
+       included in <x86gprintrin.h>.
+       (__builtin_ia32_bextri_u64): Likewise.
+       * gcc.target/i386/x86gprintrin-1.c: New test.
+       * gcc.target/i386/x86gprintrin-2.c: Likewise.
+       * gcc.target/i386/x86gprintrin-3.c: Likewise.
+       * gcc.target/i386/x86gprintrin-4.c: Likewise.
+       * gcc.target/i386/x86gprintrin-4a.c: Likewise.
+       * gcc.target/i386/x86gprintrin-5.c: Likewise.
+       * gcc.target/i386/x86gprintrin-5a.c: Likewise.
+       * gcc.target/i386/x86gprintrin-5b.c: Likewise.
+       * gcc.target/i386/x86gprintrin-6.c: Likewise.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * lib/target-supports.exp (check_effective_target_vect_masked_load):
+       New effective target.
+       * gcc.dg/vect/pr65947-3.c: Update.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97334
+       * gcc.dg/vect/bb-slp-pr65935.c: Amend.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97347
+       * g++.dg/vect/pr97347.cc: New testcase.
+
+2020-10-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr97317.c: New test.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94801
+       PR target/97312
+       * gcc.dg/tree-ssa/pr94801.c: New test.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97325
+       * gcc.c-torture/execute/pr97325.c: New test.
+
+2020-10-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR testsuite/97337
+       * gcc.dg/pr97315-1.c: Moved to...
+       * g++.dg/opt/pr97315-1.C: ...here.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-phis-1.c: New testcase.
+
+2020-10-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96805
+       * g++.dg/cpp0x/alias-decl-pr96805.C: New test.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * gcc.target/arm/mve/intrinsics/vcvtnq_u32_f32.c: New test.
+
+2020-10-08  Martin Liska  <mliska@suse.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-22.c: Adjust.
+       * gfortran.dg/pr68627.f: Likewise.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97330
+       * gcc.dg/torture/pr97330-1.c: New testcase.
+       * gcc.dg/torture/pr97330-2.c: Likewise.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/vect/slp-pr50819.cc: Adjust.
+       * gcc.dg/vect/bb-slp-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-10.c: Adjust.
+       * gcc.dg/vect/bb-slp-11.c: Adjust.
+       * gcc.dg/vect/bb-slp-13.c: Adjust.
+       * gcc.dg/vect/bb-slp-14.c: Adjust.
+       * gcc.dg/vect/bb-slp-15.c: Adjust.
+       * gcc.dg/vect/bb-slp-16.c: Adjust.
+       * gcc.dg/vect/bb-slp-17.c: Adjust.
+       * gcc.dg/vect/bb-slp-18.c: Adjust.
+       * gcc.dg/vect/bb-slp-19.c: Adjust.
+       * gcc.dg/vect/bb-slp-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-20.c: Adjust.
+       * gcc.dg/vect/bb-slp-21.c: Adjust.
+       * gcc.dg/vect/bb-slp-22.c: Adjust.
+       * gcc.dg/vect/bb-slp-23.c: Adjust.
+       * gcc.dg/vect/bb-slp-24.c: Adjust.
+       * gcc.dg/vect/bb-slp-25.c: Adjust.
+       * gcc.dg/vect/bb-slp-26.c: Adjust.
+       * gcc.dg/vect/bb-slp-27.c: Adjust.
+       * gcc.dg/vect/bb-slp-28.c: Adjust.
+       * gcc.dg/vect/bb-slp-29.c: Adjust.
+       * gcc.dg/vect/bb-slp-3.c: Adjust.
+       * gcc.dg/vect/bb-slp-30.c: Adjust.
+       * gcc.dg/vect/bb-slp-31.c: Adjust.
+       * gcc.dg/vect/bb-slp-34.c: Adjust.
+       * gcc.dg/vect/bb-slp-35.c: Adjust.
+       * gcc.dg/vect/bb-slp-36.c: Adjust.
+       * gcc.dg/vect/bb-slp-38.c: Adjust.
+       * gcc.dg/vect/bb-slp-4.c: Adjust.
+       * gcc.dg/vect/bb-slp-45.c: Adjust.
+       * gcc.dg/vect/bb-slp-46.c: Adjust.
+       * gcc.dg/vect/bb-slp-48.c: Adjust.
+       * gcc.dg/vect/bb-slp-5.c: Adjust.
+       * gcc.dg/vect/bb-slp-6.c: Adjust.
+       * gcc.dg/vect/bb-slp-7.c: Adjust.
+       * gcc.dg/vect/bb-slp-8.c: Adjust.
+       * gcc.dg/vect/bb-slp-8a.c: Adjust.
+       * gcc.dg/vect/bb-slp-8b.c: Adjust.
+       * gcc.dg/vect/bb-slp-9.c: Adjust.
+       * gcc.dg/vect/bb-slp-div-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-over-widen-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-over-widen-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-pattern-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-pow-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr58135.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr65935.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr78205.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr81635-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr81635-3.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr95839-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr95839.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr95866.c: Adjust.
+       * gcc.dg/vect/bb-slp-subgroups-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-subgroups-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-subgroups-3.c: Adjust.
+       * gcc.dg/vect/fast-math-bb-slp-call-1.c: Adjust.
+       * gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Adjust.
+       * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust.
+       * gfortran.dg/vect/pr62283-2.f: Adjust.
+       * gcc.target/i386/pr68961.c: Adjust.
+       * gcc.target/i386/pr84101.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr81635-2.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr81635-4.c: Adjust.
+       * gcc.dg/vect/fast-math-bb-slp-call-2.c: Adjust.
+       * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Adjust.
+       * gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: Adjust.
+       * gcc.dg/vect/bb-slp-div-1.c: Adjust.
+       * gcc.dg/vect/bb-slp-pr90006.c: Adjust.
+       * g++.dg/vect/slp-pr50413.cc: Adjust.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Remove.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Remove.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: New test.
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: New test.
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: New test.
+       * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.c: New test.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97322
+       * gcc.dg/pr97322.c: New test.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97315-2.c: New test.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr97315-1.c: New test.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/97294
+       * gcc.dg/asan/pr97294.c: New test.
+
+2020-10-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97052
+       * g++.dg/cpp2a/concepts-defarg2.C: New test.
+
+2020-10-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96229
+       * g++.dg/cpp2a/concepts-class2.C: New test.
+
+2020-10-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97010
+       * g++.dg/cpp2a/fn-template21.C: New test.
+       * g++.dg/cpp2a/fn-template22.C: New test.
+
+2020-10-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97307
+       * gcc.dg/tree-ssa/ssa-sink-17.c: New testcase.
+       * gcc.dg/vect/pr65947-3.c: XFAIL.
+
+2020-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       PR libstdc++/97273
+       * g++.dg/template/alignof3.C: New test.
+
+2020-10-07  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97116
+       * g++.dg/analyzer/pr97116.C: New test.
+
+2020-10-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * g++.dg/analyzer/analyzer.exp (DEFAULT_CXXFLAGS): Remove
+       -fdiagnostics-path-format=separate-events.
+       * gcc.dg/analyzer/analyzer.exp (DEFAULT_CFLAGS): Likewise.
+       * gcc.dg/plugin/diagnostic-path-format-default.c: Rename to...
+       * gcc.dg/plugin/diagnostic-path-format-plain.c: ...this.  Remove
+       dg-options directive.  Copy remainder of test from
+       diagnostic-path-format-separate-events.c.
+       * gcc.dg/plugin/diagnostic-test-paths-2.c: Add
+       -fdiagnostics-path-format=inline-events to options.
+       Fix expected output for location of conditional within "for" loop.
+       * gcc.dg/plugin/plugin.exp (plugin_test_list): Update for
+       renaming.
+       * gfortran.dg/analyzer/analyzer.exp (DEFAULT_FFLAGS): Remove
+       -fdiagnostics-path-format=separate-events.
+
+2020-10-07  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/cpp0x/lambda/lambda-sfinae1.C: Avoid ill-formed local extern
+       * g++.dg/init/pr42844.C: Add expected error.
+       * g++.dg/lookup/extern-redecl1.C: Likewise.
+       * g++.dg/lookup/koenig15.C: Avoid ill-formed.
+       * g++.dg/lto/pr95677.C: New.
+       * g++.dg/other/nested-extern-1.C: Correct expected behabviour.
+       * g++.dg/other/nested-extern-2.C: Likewise.
+       * g++.dg/other/nested-extern.cc: Split ...
+       * g++.dg/other/nested-extern-1.cc: ... here ...
+       * g++.dg/other/nested-extern-2.cc: ... here.
+       * g++.dg/template/scope5.C: Avoid ill-formed
+       * g++.old-deja/g++.law/missed-error2.C: Allow extension.
+       * g++.old-deja/g++.pt/crash3.C: Add expected error.
+
+2020-10-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96394
+       * gcc.dg/tree-prof/pr96394.c: New test.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/gomp/simd-2.c: New test.
+       * gcc.dg/gomp/simd-3.c: New test.
+
+2020-10-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97297
+       * g++.dg/cpp2a/typename18.C: New test.
+
+2020-10-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/90861
+       * c-c++-common/goacc/declare-pr90861.c: Remove xfail.
+
+2020-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr81192.c: Disable EVRP pass.
+       * gcc.dg/tree-ssa/pr77445-2.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Ditto.
+
+2020-10-06  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Use additional
+       option -fno-ipa-icf and change the instruction count from 8 to 16.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97282
+       * gcc.target/i386/pr97282.c: New test.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97289
+       * c-c++-common/gomp/pr97289.c: New test.
+
+2020-10-06  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+       * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: New test.
+       * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: New test.
+       * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: New test.
+       * gcc.target/arm/cortex-m55-nofp-flag-hard.c: New test.
+       * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: New test.
+       * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: New test.
+       * gcc.target/arm/cortex-m55-nomve-flag-hard.c: New test.
+       * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: New test.
+       * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: New test.
+       * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: New test.
+       * gcc.target/arm/multilib.exp: Add tests for -mcpu=cortex-m55.
+
+2020-10-05  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/spellcheck-reserved.c: Restore diagnostic.
+
+2020-10-04  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/97272
+       * gfortran.dg/pr97272.f90: New test.
+
+2020-10-03  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/tree-ssa/modref-3.c: New test.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/spellcheck-reserved.c: Adjust diagnostic.
+       * g++.dg/spellcheck-typenames.C: Adjust diagnostic.
+
+2020-10-02  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/inherit/pr97268.C: New.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc.dg/ipa/ipcp-loophint-1.c: New test.
+
+2020-10-02  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Add test for mismatched
+       width of scalar argument.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise.
+
+2020-10-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/armv8_2-fp16-arith-2.c (float16_t): Use _Float16_t
+       rather than __fp16.
+       (float16x4_t, float16x4_t): Likewise.
+       (fp16_abs): Use __builtin_fabsf16.
+
+2020-10-02  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/extend-syntax.c: Fix assembler checks for
+       ilp32, disable check-function-bodies on ilp32.
+       * gcc.target/aarch64/subsp.c: Only check second scan-assembler
+       on lp64 since the code on ilp32 is missing the optimization
+       needed for this test to pass.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * g++.dg/pr94314.C: new/delete no longer omitted.
+
+2020-10-02  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/tree-ssa/pta-delete-1.C: New testcase.
+
+2020-10-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_vect_cond_mixed): Add
+       arm neon targets.
+       * gcc.target/arm/neon-compare-1.c: New test.
+       * gcc.target/arm/neon-compare-2.c: Likewise.
+       * gcc.target/arm/neon-compare-3.c: Likewise.
+       * gcc.target/arm/neon-compare-4.c: Likewise.
+       * gcc.target/arm/neon-compare-5.c: Likewise.
+       * gcc.target/arm/neon-vcond-gt.c: Expect comparisons with zero.
+       * gcc.target/arm/neon-vcond-ltgt.c: Likewise.
+       * gcc.target/arm/neon-vcond-unordered.c: Likewise.
+
+2020-10-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/movtf_1.c: Restrict the asm matching to lp64.
+       * gcc.target/aarch64/movti_1.c: Likewise.
+
+2020-10-01  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96375
+       * gcc.target/arm/lob1.c: Fix missing flag.
+       * gcc.target/arm/lob2.c: Likewise.
+       * gcc.target/arm/lob3.c: Likewise.
+       * gcc.target/arm/lob4.c: Likewise.
+       * gcc.target/arm/lob5.c: Likewise.
+       * gcc.target/arm/lob6.c: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_1_lob_ok): Return 1 only for
+       cortex-m targets, add '-mthumb' flag.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97236
+       * gcc.dg/vect/pr97236.c: New testcase.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97243
+       * gcc.c-torture/compile/pr97243.c: New test.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97244
+       * gcc.dg/ipa/remref-2a.c: Add -fno-ipa-modref
+
+2020-10-01  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/pr94600-1.c: Force 32-bit alignment for a0 for !non_strict_align
+       targets.  Remove target clauses from scan tests.
+       * gcc.dg/pr94600-3.c: Same.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96994
+       * g++.dg/cpp2a/consteval18.C: New test.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97195
+       * g++.dg/cpp2a/constexpr-new14.C: New test.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/vect/pr97255.cc: New testcase.
+
+2020-10-01  Florian Weimer  <fweimer@redhat.com>
+
+       PR target/97250
+       * gcc.target/i386/x86-64-v2.c: New test.
+       * gcc.target/i386/x86-64-v3.c: New test.
+       * gcc.target/i386/x86-64-v3-haswell.c: New test.
+       * gcc.target/i386/x86-64-v3-skylake.c: New test.
+       * gcc.target/i386/x86-64-v4.c: New test.
+
+2020-10-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90210
+       * g++.dg/cpp1z/class-deduction73.C: New test.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97189
+       * gcc.dg/attr-access-2.c: Adjust caret location.
+       * gcc.dg/Wvla-parameter-6.c: New test.
+       * gcc.dg/Wvla-parameter-7.c: New test.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97206
+       * gcc.dg/Warray-parameter-7.c: New test.
+       * gcc.dg/Warray-parameter-8.c: New test.
+       * gcc.dg/Wvla-parameter-5.c: New test.
+
+2020-09-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96827
+       * gcc.target/i386/pr96827.c: New test.
+
+2020-09-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94595
+       * gcc.target/arm/thumb2-cond-cmp-1.c: Skip if arm_cortex_m.
+       * gcc.target/arm/thumb2-cond-cmp-2.c: Skip if arm_cortex_m.
+       * gcc.target/arm/thumb2-cond-cmp-3.c: Skip if arm_cortex_m.
+       * gcc.target/arm/thumb2-cond-cmp-4.c: Skip if arm_cortex_m.
+
+2020-09-30  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/pr37027.c: Amend.
+       * gcc.dg/vect/pr67790.c: Likewise.
+       * gcc.dg/vect/pr92324-4.c: Likewise.
+       * gcc.dg/vect/pr92558.c: Likewise.
+       * gcc.dg/vect/pr95495.c: Likewise.
+       * gcc.dg/vect/slp-reduc-1.c: Likewise.
+       * gcc.dg/vect/slp-reduc-2.c: Likewise.
+       * gcc.dg/vect/slp-reduc-3.c: Likewise.
+       * gcc.dg/vect/slp-reduc-4.c: Likewise.
+       * gcc.dg/vect/slp-reduc-5.c: Likewise.
+       * gcc.dg/vect/slp-reduc-7.c: Likewise.
+       * gcc.dg/vect/vect-reduc-in-order-4.c: Likewise.
+
+2020-09-30  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/96795
+       * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: New Test.
+       * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Likewise.
+
+2020-09-30  Joel Hutton  <joel.hutton@arm.com>
+
+       PR target/96837
+       * gcc.dg/vect/bb-slp-49.c: New test.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97242
+       * gfortran.dg/contiguous_11.f90: New test.
+       * gfortran.dg/contiguous_4.f90: Update.
+       * gfortran.dg/contiguous_7.f90: Update.
+
+2020-09-30  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/97045
+       * gfortran.dg/select_type_50.f90 : New test.
+
+2020-09-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97184
+       * gcc.target/i386/movdir64b.c: New test.
+       * gcc.target/i386/movdiri32.c: Likewise.
+       * gcc.target/i386/movdiri64.c: Likewise.
+       * lib/target-supports.exp (check_effective_target_movdir): New.
+
+2020-09-30  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/pr94600-1.c: Use effective target
+       (non_strict_align || pcc_bitfield_type_matters).
+       * gcc.dg/pr94600-3.c: Same.
+
+2020-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/amxint8-dpbssd-2.c: Require effective targets
+       amx_tile and amx_int8.
+       * gcc.target/i386/amxint8-dpbsud-2.c: Likewise.
+       * gcc.target/i386/amxint8-dpbusd-2.c: Likewise.
+       * gcc.target/i386/amxint8-dpbuud-2.c: Likewise.
+       * gcc.target/i386/amxbf16-dpbf16ps-2.c: Require effective targets
+       amx_tile and amx_bf16.
+       * gcc.target/i386/amxtile-2.c: Require effective target amx_tile.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97150
+       * gcc.target/aarch64/pr97150.c: New test.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/96313
+       * gcc.target/aarch64/pr96313.c: New test.
+       * gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16):
+       Adjust return type.
+       (test_vqmovuns_s32): Likewise.
+       (test_vqmovund_s64): Likewise.
+
+2020-09-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/movtf_1.c: New test.
+       * gcc.target/aarch64/movti_1.c: Likewise.
+
+2020-09-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97188
+       * gcc.dg/Wstringop-overflow-23.c: Adjust text of expected warnings.
+       * gcc.dg/Wnonnull-4.c: New test.
+
+2020-09-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * g++.dg/warn/Wrange-loop-construct.C: New test.
+
+2020-09-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/debug/dwarf2/align-1.C: Remove AIX XFAIL.
+       * g++.dg/debug/dwarf2/align-2.C: Same.
+       * g++.dg/debug/dwarf2/align-3.C: Same.
+       * g++.dg/debug/dwarf2/align-4.C: Same.
+       * g++.dg/debug/dwarf2/align-5.C: Same.
+       * g++.dg/debug/dwarf2/align-6.C: Same.
+       * g++.dg/debug/dwarf2/defaulted-member-function-1.C: Same.
+       * g++.dg/debug/dwarf2/defaulted-member-function-2.C: Same.
+       * g++.dg/debug/dwarf2/defaulted-member-function-3.C: Same.
+       * g++.dg/debug/dwarf2/inline-var-1.C: Same.
+       * g++.dg/debug/dwarf2/inline-var-2.C: Same.
+       * g++.dg/debug/dwarf2/inline-var-3.C: Same.
+       * g++.dg/debug/dwarf2/noreturn-function.C: Same.
+       * g++.dg/debug/dwarf2/ptrdmem-1.C: Same.
+       * g++.dg/debug/dwarf2/ref-2.C: Same.
+       * g++.dg/debug/dwarf2/ref-3.C: Same.
+       * g++.dg/debug/dwarf2/ref-4.C: Same.
+       * g++.dg/debug/dwarf2/refqual-1.C: Same.
+       * g++.dg/debug/dwarf2/refqual-2.C: Same.
+       * gcc.dg/debug/dwarf2/align-1.c: Same.
+       * gcc.dg/debug/dwarf2/align-2.c: Same.
+       * gcc.dg/debug/dwarf2/align-3.c: Same.
+       * gcc.dg/debug/dwarf2/align-4.c: Same.
+       * gcc.dg/debug/dwarf2/align-5.c: Same.
+       * gcc.dg/debug/dwarf2/align-6.c: Same.
+       * gcc.dg/debug/dwarf2/align-as-1.c: Same.
+       * gcc.dg/debug/dwarf2/dwarf2-macro.c: Same.
+       * gcc.dg/debug/dwarf2/dwarf2-macro2.c: Same.
+       * gcc.dg/debug/dwarf2/lang-c89.c: Same.
+       * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Same.
+       * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Same.
+       * gcc.dg/debug/dwarf2/pr71855.c: Same.
+       * gcc.dg/debug/dwarf2/inline5.c: Add XFAIL on AIX.
+
+2020-09-29  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/95188
+       * gcc.dg/analyzer/signal-registration-loc.c: New test.
+
+2020-09-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/spellcheck-inttypes.C: Define _STD_TYPES_T on AIX.
+       * gcc.dg/spellcheck-inttypes.c: Same.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97241
+       * gcc.dg/vect/pr97241.c: New testcase.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97238
+       * gcc.dg/pr97238.c: New testcase.
+
+2020-09-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/armv8_2-fp16-arith-2.c: Expect FP16 vectorization
+       even without -ffast-math.
+
+2020-09-29  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/predef-3.c: Update testcase.
+       * gcc.target/riscv/predef-6.c: Ditto.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * g++.dg/tree-ssa/pr96979.C: New test.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * g++.dg/tree-ssa/pr96979.C: New test.
+
+2020-09-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/ipa/symver1.c: Skip on AIX.
+
+2020-09-28  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97233
+       * gcc.dg/analyzer/pr97233.c: New test.
+
+2020-09-28  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-pinsrb.c: New test.
+       * gcc.target/powerpc/sse4_1-pinsrd.c: New test.
+       * gcc.target/powerpc/sse4_1-pinsrq.c: New test.
+
+2020-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * lib/target-supports.exp (check_effective_target_amx_tile,
+       check_effective_target_amx_int8,
+       check_effective_target_amx_bf16): New proc.
+       * g++.dg/other/i386-2.C: Add -mamx-tile, -mamx-int8, -mamx-bf16.
+       * g++.dg/other/i386-3.C: Ditto.
+       * gcc.target/i386/sse-12.c: Ditto.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-14.c: Ditto.
+       * gcc.target/i386/sse-22.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute.
+       * gcc.target/i386/amx-check.h: New header file.
+       * gcc.target/i386/amxbf16-asmatt-1.c: New test.
+       * gcc.target/i386/amxint8-asmatt-1.c: New test.
+       * gcc.target/i386/amxtile-asmatt-1.c: Ditto.
+       * gcc.target/i386/amxbf16-asmintel-1.c: Ditto.
+       * gcc.target/i386/amxint8-asmintel-1.c: Ditto.
+       * gcc.target/i386/amxtile-asmintel-1.c: Ditto.
+       * gcc.target/i386/amxbf16-dpbf16ps-2.c: Ditto.
+       * gcc.target/i386/amxint8-dpbssd-2.c: Ditto.
+       * gcc.target/i386/amxint8-dpbsud-2.c: Ditto.
+       * gcc.target/i386/amxint8-dpbusd-2.c: Ditto.
+       * gcc.target/i386/amxint8-dpbuud-2.c: Ditto.
+       * gcc.target/i386/amxtile-2.c: Ditto.
+
+2020-09-28  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       Revert:
+       2020-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+                   Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * gfortran.dg/pr95614_1.f90: New test.
+       * gfortran.dg/pr95614_2.f90: New test.
+
+2020-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/addr16.adb: New test.
+       * gnat.dg/addr16_pkg.ads: New helper.
+
+2020-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97073
+       * gcc.c-torture/execute/pr97073.c: New test.
+
+2020-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95614
+       * gfortran.dg/pr95614_1.f90: New test.
+       * gfortran.dg/pr95614_2.f90: New test.
+
+2020-09-26  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96495
+       * gfortran.dg/alloc_comp_result_2.f90 : Restore original.
+       * gfortran.dg/alloc_comp_result_3.f90 : New test.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/lto/modref-1_0.c: New test.
+       * gcc.dg/lto/modref-1_1.c: New test.
+       * gcc.dg/tree-ssa/modref-2.c: New test.
+
+2020-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/vect/vect-simd-17.c: Expect 11 or more vectorized loops.
+       * gcc.dg/vect/vect-simd-18.c: New test.
+       * gcc.dg/vect/vect-simd-19.c: New test.
+       * gcc.dg/vect/vect-simd-20.c: New test.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/ipa/ipa-pta-13.c: Disable modref.
+
+2020-09-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94355
+       * g++.dg/analyzer/placement-new.C: New test.
+
+2020-09-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96646
+       PR analyzer/96841
+       * gcc.dg/analyzer/pr96646.c: New test.
+       * gcc.dg/analyzer/pr96841.c: New test.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96814
+       * gcc.target/i386/pr96814.c: New testcase.
+
+2020-09-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve-vldstr16-no-writeback.c: Allow
+       the store to use GPRs instead of FPRs.  Add scan-assembler-nots
+       for writeback.
+       * gcc.target/arm/armv8_1m-fp16-move-1.c: New test.
+       * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise.
+       * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise.
+
+2020-09-25  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: Remove
+       declarations of vector, vector2, vector_res for float64x2 type.
+       * gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: Likewise.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97204
+       * gcc.target/i386/sse2-mmx-pinsrw.c: Fix.
+
+2020-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/vect/vect-simd-17.c: New test.
+
+2020-09-25  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/analyzer/pr93355-localealias.c: Require effective target
+       alloca.
+
+2020-09-25  Tom de Vries  <tdevries@suse.de>
+
+       * lib/target-supports.exp (check_effective_target_ident_directive): New proc.
+       * c-c++-common/ident-1b.c: Require effective target ident_directive.
+       * c-c++-common/ident-2b.c: Same.
+
+2020-09-24  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/template/local-var1.C: New.
+
+2020-09-24  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/template/local-fn4.C: Add target c++11
+
+2020-09-24  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97186
+       * g++.dg/template/local10.C: Rename ...
+       * g++.dg/template/local-fn3.C: .. here.  Require lto.
+       * g++.dg/template/local-fn4.C: New.
+
+2020-09-24  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/tree-ssa/modref-1.c: New test.
+
+2020-09-24  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/tls/thr-cse-1.c: Scan final dump instead of assembly for
+       nvptx.
+
+2020-09-24  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/independent-cloneids-1.c: Use scan-rtl-dump instead of
+       scan-assembler.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97085
+       * gcc.dg/pr97192.c: New testcase.
+
+2020-09-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96495
+       * gfortran.dg/alloc_comp_result_2.f90 : New test.
+
+2020-09-24  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/pr87314-1.c: Add nvptx-specific scan-assembler directive.
+
+2020-09-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/stack-protector-5.c: New test.
+       * gcc.target/arm/stack-protector-6.c: Likewise.
+
+2020-09-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/stack-protector-3.c: New test.
+       * gcc.target/arm/stack-protector-4.c: Likewise.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97085
+       * gcc.dg/vect/pr97085.c: New testcase.
+
+2020-09-24  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/pr94600-1.c: Require effective target non_strict_align for
+       scan-rtl-dump-times.
+       * gcc.dg/pr94600-3.c: Same.
+
+2020-09-24  Tom de Vries  <tdevries@suse.de>
+
+       * c-c++-common/builtin-has-attribute-3.c: Compile with -DSKIP_ALIAS
+       for effective target ! alias.
+
+2020-09-24  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/97075
+       * gcc.target/powerpc/p9-vec-length-full-6.c: Adjust.
+
+2020-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93355
+       * gcc.dg/analyzer/pr93355-localealias-feasibility.c: New test.
+       * gcc.dg/analyzer/pr93355-localealias-simplified.c: New test.
+       * gcc.dg/analyzer/pr93355-localealias.c: New test.
+
+2020-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/feasibility-2.c: New test.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97175
+       * gcc.dg/Wstringop-overflow-44.c: New test.
+
+2020-09-23  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/tree-ssa/local-pure-const.c: Update template.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97131
+       * gcc.dg/Warray-parameter-6.c: New test.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/stack-protector-5.c: New test.
+       * gcc.target/aarch64/stack-protector-6.c: Likewise.
+       * gcc.target/aarch64/stack-protector-7.c: Likewise.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/stack-protector-3.c: New test.
+       * gcc.target/aarch64/stack-protector-4.c: Likewise.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+       (clean_results): Add float64x2_t cleanup.
+       (DECL_VARIABLE_128BITS_VARIANTS): Add float64x2_t variable.
+       * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Add
+       testing of vreinterpretq_f64_p128, vreinterpretq_p128_f64.
+
+2020-09-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/97171
+       * g++.dg/template/local10.C: New.
+
+2020-09-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c/97125
+       * c-c++-common/Wduplicated-branches-15.c: New test.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96453
+       * gcc.dg/pr96453.c: New testcase.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96466
+       * gcc.dg/pr96466.c: New testcase.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/powerpc/p9-vec-length-epil-1.c: Do not expect the
+       single-iteration epilogues of the 64-bit loops to be vectorized.
+       * gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise.
+       * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vrndns_f32_1.c: New test.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97173
+       * gcc.dg/vect/pr97173.c: New testcase.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/trn_zip_p64_1.c: New test.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vldrq_p128_1.c: New test.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vstrq_p128_1.c: New test.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97151
+       * g++.dg/cpp1y/new1.C: Adjust for two more handled transforms.
+
+2020-09-23  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97069
+       * g++.dg/gcov/pr97069.C: New test.
+
+2020-09-23  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/Warray-bounds-63.c: Add require-effective-target alloca.
+       * gcc.dg/Warray-bounds-66.c: Same.
+       * gcc.dg/atomic/stdatomic-vm.c: Same.
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95310
+       * g++.dg/concepts/diagnostic15.C: New test.
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96652
+       * g++.dg/cpp0x/decltype-96652.C: New test.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97145
+       * g++.dg/asan/pr97145.C: New test.
+
+2020-09-22  David Faust  <david.faust@oracle.com>
+
+       * gcc.target/bpf/diag-sdiv.c: New test.
+       * gcc.target/bpf/diag-smod.c: New test.
+       * gcc.target/bpf/xbpf-sdiv-1.c: New test.
+       * gcc.target/bpf/xbpf-smod-1.c: New test.
+
+2020-09-22  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.old-deja/g++.pt/friend34.C: Check injected friend is still
+       invisible.
+
+2020-09-22  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/ext/timevar1.C: Also prune N%.
+
+2020-09-22  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/ext/timevar2.C: Also prune N%.
+
+2020-09-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * g++.dg/tree-ssa/pr96979.C: New test.
+
+2020-09-22  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.target/s390/load-and-test-fp-1.c: Change test to include all
+       possible combinations of dead/live registers and comparisons (equality,
+       relational).
+       * gcc.target/s390/load-and-test-fp-2.c: Same as load-and-test-fp-1.c
+       but for fast math.
+       * gcc.target/s390/load-and-test-fp.h: New test included by
+       load-and-test-fp-{1,2}.c.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vcls_unsigned_1.c: New test.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vceq_poly_1.c: New test.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * gcc.target/aarch64/simd/vadd_poly_1.c: New test.
+
+2020-09-22  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.target/i386/m128-check.h: Add no-strict-aliasing
+
+2020-09-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97130
+       * gcc.dg/analyzer/pr97130.c: New test.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90583
+       DR 1722
+       * g++.dg/cpp0x/lambda/lambda-conv14.C: New test.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/warn/Wctad-maybe-unsupported.C: New test.
+       * g++.dg/warn/Wctad-maybe-unsupported2.C: New test.
+       * g++.dg/warn/Wctad-maybe-unsupported3.C: New test.
+       * g++.dg/warn/Wctad-maybe-unsupported.h: New file.
+
+2020-09-21  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * gcc.dg/ipa/ipa-sra-1.c: Use a plain pointer for argv instead of array.
+       * gcc.dg/ipa/ipa-sra-12.c: Same.
+       * gcc.dg/ipa/ipa-sra-13.c: Same.
+       * gcc.dg/ipa/ipa-sra-14.c: Same.
+       * gcc.dg/ipa/ipa-sra-15.c: Same.
+
+2020-09-21  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas   <pault@gcc.gnu.org>
+
+       * gfortran.dg/check_bits_2.f90: New test.
+
+2020-09-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/ipa/symver1.c: Skip for Darwin.
+
+2020-09-21  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/csinc-1.c: Use dg-add-options
+       arm_arch_v8_1m_main.
+       * gcc.target/arm/csinv-1.c: Likewise.
+       * gcc.target/arm/csneg.c: Likewise.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97139
+       * gcc.dg/vect/pr97139.c: New testcase.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97099
+       * g++.dg/cpp1z/class-deduction74.C: New test.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97135
+       * gcc.dg/torture/pr97135.c: New testcase.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96915
+       * gcc.target/aarch64/sve/pr96915.c: New test.
+
+2020-09-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96968
+       * gcc.target/aarch64/pr96968.c: New test.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/ext/timevar1.C: Prune more possible number values.
+       * g++.dg/ext/timevar2.C: Likewise.
+
+2020-09-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90199
+       * g++.dg/cpp1y/constexpr-90199.C: New test.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/82608
+       PR middle-end/94195
+       PR c/50584
+       PR middle-end/84051
+       * c-c++-common/Warray-bounds.c: Adjust.
+       * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Adjust.
+       * gcc.dg/Warray-bounds-63.c: New test.
+       * gcc.dg/Warray-bounds-64.c: New test.
+       * gcc.dg/Warray-bounds-65.c: New test.
+       * gcc.dg/Warray-bounds-66.c: New test.
+       * gcc.dg/Warray-bounds-67.c: New test.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * c-c++-common/Wsizeof-pointer-memaccess1.c: Disable new expected
+       warnings.
+       * g++.dg/ext/attr-access.C: Update text of expected warnings.
+       * gcc.dg/Wstringop-overflow-23.c: Same.
+       * gcc.dg/Wstringop-overflow-24.c: Same.
+       * gcc.dg/attr-access-none.c: Same.
+       * gcc.dg/dfp/composite-type.c: Prune expected warnings.
+       * gcc.dg/torture/pr57147-1.c: Add a member to an otherwise empty
+       struct to avoid a warning.
+       * gcc.dg/torture/pr57147-3.c: Same.
+       * gcc.dg/Warray-bounds-30.c: Adjust.
+       * gcc.dg/attr-access-none.c: Same.
+       * gcc.dg/Wstringop-overflow-40.c: New test.
+       * gcc.dg/attr-access-2.c: New test.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/uninit-37.c: New test.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * gcc.dg/attr-access-read-write-2.c: Adjust text of expected message.
+       * c-c++-common/Warray-bounds-6.c: Correct C++ declaration, adjust
+       text of expected diagnostics.
+       * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Prune expected warning.
+       * gcc.dg/Warray-parameter-2.c: New test.
+       * gcc.dg/Warray-parameter-3.c: New test.
+       * gcc.dg/Warray-parameter-4.c: New test.
+       * gcc.dg/Warray-parameter-5.c: New test.
+       * gcc.dg/Warray-parameter.c: New test.
+       * gcc.dg/Wvla-parameter-2.c: New test.
+       * gcc.dg/Wvla-parameter-3.c: New test.
+       * gcc.dg/Wvla-parameter.c: New test.
+       * gcc.dg/Wvla-parameter-4.c: New file.
+
+2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.dg/gomp/block-7.c: Update expected error message wording.
+
+2020-09-19  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/pr97036.f90: New test.
+
+2020-09-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96861
+       * gcc.target/i386/pr96861.c: New test.
+
+2020-09-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96531
+       PR c++/97103
+       * g++.dg/cpp2a/concepts-ttp2.C: New test.
+       * g++.dg/cpp2a/concepts-variadic1.C: New test.
+
+2020-09-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97051
+       * g++.dg/cpp2a/is-constant-evaluated11.C: New test.
+
+2020-09-19  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr95021-3.c: Add -mtune=generic.
+
+2020-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97105
+       * g++.dg/template/pr97105.C: New test.
+
+2020-09-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/strdup-1.c: New test.
+       * gcc.dg/analyzer/strndup-1.c: New test.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * gcc.target/arm/csneg.c: New test.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * gcc.target/arm/csinc-1.c: New test.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * gcc.target/arm/csinv-1.c: New test.
+
+2020-09-18  H.J. Lu  <hjl.tools@gmail.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/91957
+       * g++.target/i386/pr97054.C: New test.
+       * gcc.target/i386/pr82673.c: Remove redundant extra message.
+
+2020-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97081
+       * gcc.dg/vect/pr97081-2.c: New test.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97081
+       * gcc.dg/vect/pr97081.c: New testcase.
+
+2020-09-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/operand-modifiers.c: Extend test to handle new
+       modifiers.
+       * gcc.target/msp430/operand-modifiers-bad.c: New test.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97095
+       * gfortran.dg/pr97095.f: New testcase.
+
+2020-09-17  Tom de Vries  <tdevries@suse.de>
+
+       * lib/target-supports.exp (check_effective_target_non_strict_prototype):
+       New proc.
+       * gcc.c-torture/compile/pr71109.c: Require effective target
+       non_strict_prototype.
+       * gcc.c-torture/compile/pr83051-2.c: Same.
+       * gcc.c-torture/compile/pr89663-1.c: Same.
+       * gcc.c-torture/compile/pr89663-2.c: Same.
+       * gcc.c-torture/compile/pr96796.c: Same.
+
+2020-09-17  Yeting Kuo  <fakepaper56@gmail.com>
+
+       * gcc.target/riscv/shorten-memrefs-8.c: New test.
+
+2020-09-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/87530
+       PR c++/58156
+       PR c++/68828
+       PR c++/86002
+       PR c++/91525
+       PR c++/96223
+       PR c++/87032
+       PR c++/35098
+       * g++.dg/cpp0x/move-return4.C: New test.
+       * g++.dg/cpp0x/vt-58156.C: New test.
+       * g++.dg/cpp2a/concepts-pr68828.C: New test.
+       * g++.dg/cpp2a/concepts-pr86002.C: New test.
+       * g++.dg/cpp2a/concepts-pr91525.C: New test.
+       * g++.dg/cpp2a/constexpr-indeterminate1.C: New test.
+       * g++.dg/cpp2a/desig17.C: New test.
+       * g++.dg/ext/attrib62.C: New test.
+
+2020-09-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c/80076
+       * c-c++-common/Wmisleading-indentation-5.c: New test.
+
+2020-09-17  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/debug/dwarf2/inline2.c: Add -gdwarf-2.
+       * g++.dg/debug/dwarf2/inline-var-1.C: Likewise.
+       * gcc.dg/debug/dwarf2/pr41445-5.c: Likewise.
+       * gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
+       * gcc.dg/debug/dwarf2/inline6.c: New variant with -gdwarf-5.
+       * g++.dg/debug/dwarf2/inline-var-3.C: Likewise.
+       * gcc.dg/debug/dwarf2/pr41445-7.c: Likewise.
+       * gcc.dg/debug/dwarf2/pr41445-8.c: Likewise.
+
+2020-09-17  Andre Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/sve/clastb_8.c: Fix a dg-final scan
+       directive.
+
+2020-09-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96409
+       PR c++/96410
+       * g++.dg/cpp2a/concepts-lambda13.C: New test.
+       * g++.dg/cpp2a/concepts-lambda14.C: New test.
+
+2020-09-17  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-fre-88.c: New testcase.
+
+2020-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr97078.c: New test.
+
+2020-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/xsave-avx-1.c: New test.
+
+2020-09-16  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96653
+       * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Update
+       expected number of exploded nodes.
+       * gcc.dg/analyzer/malloc-vs-local-1a.c: Update expected number
+       of exploded nodes.
+       * gcc.dg/analyzer/pr96653.c: Remove -Wno-analyzer-too-complex.
+
+2020-09-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/bzip2-arg-parse-1.c: New test.
+       * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: Remove xfail.
+       * gcc.dg/analyzer/pr94851-1.c: Add xfail.
+
+2020-09-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/getchar-1.c: New test.
+
+2020-09-16  Martin Sebor  <msebor@redhat.com>
+
+       PR c/78666
+       PR c/96126
+       * gcc.dg/attr-alloc_align-5.c: New test.
+       * gcc.dg/attr-alloc_size-13.c: New test.
+       * gcc.dg/attr-section.c: New test.
+       * c-c++-common/builtin-has-attribute-3.c: Add xfails due to expected
+       warnings to be cleaned up.
+
+2020-09-16  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/96935
+       * gcc.dg/format/pr96935.c: New test.
+
+2020-09-16  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96295
+       * g++.dg/warn/Wuninitialized-11.C: New test.
+
+2020-09-16  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/gomp/udr-2.C: Add additional expected error.
+
+2020-09-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/concat4.adb: New test.
+
+2020-09-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97061
+       * gfortran.dg/gomp/openmp-simd-6.f90: New test.
+
+2020-09-16  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_10.c: New test.
+       * gcc.target/aarch64/sve/clastb_8.c: Update test for new
+       vectorization strategy.
+       * gcc.target/aarch64/sve/cost_model_5.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_14.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_15.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_16.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_17.c: Likewise.
+
+2020-09-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97032
+       * gcc.target/i386/pr97032.c: New test.
+
+2020-09-16  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR testsuite/97066
+       * gcc.dg/ifcvt-3.c: Modified to suppress simplification.
+       * gcc.dg/tree-ssa/20030807-10.c: Likewise.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * lib/target-supports.exp (check_profiling_available): Refine name of elf target.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97053
+       * gcc.dg/store_merging_31.c: New test.
+       * gcc.dg/store_merging_32.c: New test.
+
+2020-09-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/97019
+       * gcc.target/powerpc/pr97019.c: New test.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * gcc.dg/builtin-apply2.c : Skip if CSKY.
+       * gcc.dg/torture/stackalign/builtin-apply-2.c : Likewise.
+
+2020-09-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96650
+       * gcc.dg/analyzer/pr96650-1-notrans.c: New test.
+       * gcc.dg/analyzer/pr96650-1-trans.c: New test.
+       * gcc.dg/analyzer/pr96650-2-notrans.c: New test.
+       * gcc.dg/analyzer/pr96650-2-trans.c: New test.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * gcc.dg/pr94234-3.c: New test.
+
+2020-09-15  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr78904-4a.c: Compile with -mtune=generic.
+
+2020-09-15  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-48.c: New testcase.
+       * gcc.dg/vect/bb-slp-7.c: Adjust.
+
+2020-09-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/pr95646.c: Fix testism.
+
+2020-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97028
+       * gcc.target/i386/avx512f-pr97028.c: Untested fix.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * gcc.dg/pr94234-2.c: New test.
+
+2020-09-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * gcc.target/bpf/nop-1.c: New test.
+
+2020-09-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Make the test
+       run as non-dynamic for m32 Darwin.
+       * gcc.target/i386/avx512f-broadcast-pr87767-3.c: Likewise.
+       * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise.
+       * gcc.target/i386/avx512f-broadcast-pr87767-7.c: Likewise.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-3.c: Likewise.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise.
+       * gcc.target/i386/avx512f-broadcast-pr87767-6.c: Adjust dg-requires
+       clause.
+
+2020-09-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96653
+       * gcc.dg/analyzer/pr96653.c: New test.
+
+2020-09-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/rhbz1878600.c: New test.
+
+2020-09-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/pr97029.c: New test.
+
+2020-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/thunk1.adb: New test.
+       * gnat.dg/thunk1_pkg1.ads: New helper.
+       * gnat.dg/thunk1_pkg2.ads: Likewise.
+       * gnat.dg/thunk1_pkg2.adb: Likewise.
+
+2020-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/97002
+       * gdc.dg/pr97002.d: New test.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/concepts/local-extern.C: New file.
+
+2020-09-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr96139-a.c: Specify -mvsx option and update the
+       dg-require stanza to match.
+       * gcc.target/powerpc/pr96139-b.c: Same.
+       * gcc.target/powerpc/pr96139-c.c: Specify -maltivec option and update
+       the dg-require stanza to match.
+
+2020-09-11  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/97018
+       * gcc.target/i386/l_fma_double_1.c: Add option -mno-avx512f.
+       * gcc.target/i386/l_fma_double_2.c: Likewise.
+       * gcc.target/i386/l_fma_double_3.c: Likewise.
+       * gcc.target/i386/l_fma_double_4.c: Likewise.
+       * gcc.target/i386/l_fma_double_5.c: Likewise.
+       * gcc.target/i386/l_fma_double_6.c: Likewise.
+       * gcc.target/i386/l_fma_float_1.c: Likewise.
+       * gcc.target/i386/l_fma_float_2.c: Likewise.
+       * gcc.target/i386/l_fma_float_3.c: Likewise.
+       * gcc.target/i386/l_fma_float_4.c: Likewise.
+       * gcc.target/i386/l_fma_float_5.c: Likewise.
+       * gcc.target/i386/l_fma_float_6.c: Likewise.
+
+2020-09-11  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96903
+       * gcc.dg/Wstringop-overflow-42.c:: Add comment.
+       * gcc.dg/Wstringop-overflow-43.c: New test.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * obj-c++.dg/syntax-error-9.mm: Adjust expected errors.
+
+2020-09-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gcc.dg/gimplefe-44.c: Require exceptions.
+
+2020-09-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * jit.dg/all-non-failing-tests.h: Add test-blob.c.
+       * jit.dg/test-global-set-initializer.c: New testcase.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/pack27.adb: New test.
+       * gnat.dg/pack27_pkg.ads: New helper.
+
+2020-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/specs/discr7.ads: New test.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.target/nvptx/int128.c: New test.
+
+2020-09-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96798
+       * gcc.dg/analyzer/memcpy-1.c: New test.
+       * gcc.dg/analyzer/strcpy-1.c: New test.
+
+2020-09-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/acle/armv8-r.c: New test.
+
+2020-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/Waddress.d: New test.
+       * gdc.dg/Wcastresult1.d: New test.
+       * gdc.dg/Wcastresult2.d: New test.
+
+2020-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/specs/size_clause5.ads: New test.
+
+2020-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/discr59.adb: New test.
+       * gnat.dg/discr59_pkg1.ads: New helper.
+       * gnat.dg/discr59_pkg2.ads: Likewise.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96939
+       * gcc.target/arm/lto/pr96939_0.c: New test.
+       * gcc.target/arm/lto/pr96939_1.c: New file.
+
+2020-09-10  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/analyzer/vla-1.c: Add require-effective-target alloca.
+
+2020-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96043
+       * gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: Adjust.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/77841
+       * g++.old-deja/g++.ext/arrnew2.C: Expect the error only in C++17
+       and less.
+       * g++.old-deja/g++.robertl/eb58.C: Adjust dg-error.
+       * g++.old-deja/g++.robertl/eb63.C: Expect the error only in C++17
+       and less.
+       * g++.dg/cpp2a/new-array5.C: New test.
+       * g++.dg/cpp2a/paren-init36.C: New test.
+       * g++.dg/cpp2a/paren-init37.C: New test.
+       * g++.dg/pr84729.C: Adjust dg-error.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95164
+       * g++.dg/cpp0x/initlist123.C: New test.
+
+2020-09-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94355
+       * g++.dg/analyzer/new-1.C: New test.
+       * g++.dg/analyzer/new-vs-malloc.C: New test.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/warn/Wnonnull6.C: Use target c++14.
+
+2020-09-09  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp0x/auto-96647.C: Moved to...
+       * g++.dg/cpp1y/auto-96647.C: ...here.  Use target c++14.
+
+2020-09-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96955
+       * gcc.target/i386/builtin_thread_pointer.c: Update scan-assembler
+       for x32.
+
+2020-09-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96647
+       * g++.dg/cpp0x/auto-96647.C: New test.
+       * g++.dg/cpp0x/error9.C: New test.
+       * g++.dg/cpp2a/concepts-fn6.C: New test.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/vect-live-6.c: New testcase.
+
+2020-09-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for
+       'omp simd.*if' for nvptx even more.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/vect-cond-13.c: New testcase.
+       * gcc.target/i386/pr87007-4.c: Adjust.
+       * gcc.target/i386/pr87007-5.c: Likewise.
+
+2020-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/builtin_thread_pointer.c: New test.
+
+2020-09-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95109
+       PR fortran/94690
+       * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for
+       'omp simd.*if'.
+       * gfortran.dg/gomp/openmp-simd-5.f90: New test.
+
+2020-09-08  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96949
+       * gfortran.dg/analyzer/pr96949.f90: New test.
+
+2020-09-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96967
+       * gcc.dg/tree-ssa/pr96967.c: New file.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/mcpu-is-430.c: New test.
+       * gcc.target/msp430/mcpu-is-430x.c: New test.
+       * gcc.target/msp430/mcpu-is-430xv2.c: New test.
+
+2020-09-07  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/pr96711.f90: New test.
+
+2020-09-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/96796
+       * gcc.c-torture/compile/pr96796.c: New test.
+
+2020-09-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/430x-default-isa.c: New test.
+
+2020-09-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/pubtypes-2.c: Amend Pub Info Length.
+       * gcc.dg/pubtypes-3.c: Likewise.
+       * gcc.dg/pubtypes-4.c: Likewise.
+
+2020-09-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/adds3.c: Fix test w.r.t. new syntax.
+       * gcc.target/aarch64/cmp.c: Likewise.
+       * gcc.target/aarch64/subs3.c: Likewise.
+       * gcc.target/aarch64/subsp.c: Likewise.
+       * gcc.target/aarch64/extend-syntax.c: New test.
+
+2020-09-07  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96896
+       * gfortran.dg/ptr_func_assign_4.f08: Update dg-error.
+       * gfortran.dg/ptr-func-3.f90: New test.
+
+2020-09-07  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.dg/vect/slp-46.c: Add --param vect-epilogues-nomask=0 to
+       void backend interference.
+
+2020-09-07  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-46.c: New testcase.
+       * gcc.dg/vect/bb-slp-47.c: Likewise.
+       * gcc.dg/vect/bb-slp-32.c: Adjust.
+
+2020-09-07  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512bw-trunc.c: Add
+       -mprefer-vector-width=512 to avoid impact of different default
+       tune which gcc is built with.
+
+2020-09-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.dg/coarray_fail_st.f90: Adjust test.
+
+2020-09-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96924
+       * gdc.dg/simd13927b.d: Removed.
+       * gdc.dg/pr96924.d: New test.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       PR tree-optimization/96920
+       * gfortran.dg/vect/pr96920.f90: New testcase.
+       * gcc.dg/vect/pr96920.c: Likewise.
+
+2020-09-04  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96769
+       * gcc.target/arm/pure-code/pr96769.c: New test.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96931
+       * gcc.dg/pr96931.c: New testcase.
+
+2020-09-04  David Faust  <david.faust@oracle.com>
+
+       * gcc.target/bpf/xbpf-indirect-call-1.c: New test.
+
+2020-09-04  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * gcc.target/powerpc/pr92398.p9+.c: Replace p9+ with has_arch_pwr9.
+       * gcc.target/powerpc/pr92398.p9-.c: Replace p9+ with has_arch_pwr9,
+       and replace p8 with has_arch_pwr8 && !has_arch_pwr9.
+       * lib/target-supports.exp (check_effective_target_p8): Remove.
+       (check_effective_target_p9+): Remove.
+
+2020-09-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96820
+       * gcc.dg/tree-ssa/pr96820.c: New test.
+
+2020-09-03  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr96139-a.c: New test.
+       * gcc.target/powerpc/pr96139-b.c: New test.
+       * gcc.target/powerpc/pr96139-c.c: New test.
+
+2020-09-03  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/iall_masked.f90: New test.
+
+2020-09-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92812
+       * g++.dg/cpp0x/constexpr-array23.C: Adjust dg-error.
+       * g++.dg/cpp0x/initlist69.C: Likewise.
+       * g++.dg/diagnostic/mem-init1.C: Likewise.
+       * g++.dg/init/array28.C: Likewise.
+       * g++.dg/cpp2a/paren-init33.C: New test.
+       * g++.dg/cpp2a/paren-init34.C: New test.
+       * g++.dg/cpp2a/paren-init35.C: New test.
+       * g++.old-deja/g++.brendan/crash60.C: Adjust dg-error.
+       * g++.old-deja/g++.law/init10.C: Likewise.
+       * g++.old-deja/g++.other/array3.C: Likewise.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96862
+       * g++.dg/cpp1z/constexpr-96862.C: New test.
+
+2020-09-03  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * gcc.target/i386/avx2-broadcast-pr87767-1.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-1.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-2.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-3.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-4.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-5.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-6.c: New test.
+       * gcc.target/i386/avx512f-broadcast-pr87767-7.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-2.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-3.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-4.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: New test.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-6.c: New test.
+
+2020-09-03  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96246
+       PR target/96855
+       PR target/96856
+       PR target/96857
+       * g++.target/i386/avx512bw-pr96246-2.C: Add runtime check for
+       AVX512BW.
+       * g++.target/i386/avx512vl-pr96246-2.C: Add runtime check for
+       AVX512BW and AVX512VL
+       * g++.target/i386/avx512f-helper.h: New header.
+       * gcc.target/i386/pr92658-avx512f.c: Add
+       -mprefer-vector-width=512 to avoid impact of different default
+       mtune which gcc is built with.
+       * gcc.target/i386/avx512bw-pr95488-1.c: Ditto.
+       * gcc.target/i386/pr92645-4.c: Add -mno-avx512f to avoid
+       impact of different default march which gcc is built with.
+
+2020-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96869
+       * gdc.dg/simd.d: Removed.
+       * gdc.dg/cast1.d: New test.
+       * gdc.dg/gdc213.d: Compile with target vect_sizes_16B_8B.
+       * gdc.dg/gdc284.d: Likewise.
+       * gdc.dg/gdc67.d: Likewise.
+       * gdc.dg/pr96869.d: New test.
+       * gdc.dg/simd1.d: New test.
+       * gdc.dg/simd10447.d: New test.
+       * gdc.dg/simd12776.d: New test.
+       * gdc.dg/simd13841.d: New test.
+       * gdc.dg/simd13927.d: New test.
+       * gdc.dg/simd15123.d: New test.
+       * gdc.dg/simd15144.d: New test.
+       * gdc.dg/simd16087.d: New test.
+       * gdc.dg/simd16697.d: New test.
+       * gdc.dg/simd17237.d: New test.
+       * gdc.dg/simd17695.d: New test.
+       * gdc.dg/simd17720a.d: New test.
+       * gdc.dg/simd17720b.d: New test.
+       * gdc.dg/simd19224.d: New test.
+       * gdc.dg/simd19627.d: New test.
+       * gdc.dg/simd19628.d: New test.
+       * gdc.dg/simd19629.d: New test.
+       * gdc.dg/simd19630.d: New test.
+       * gdc.dg/simd2a.d: New test.
+       * gdc.dg/simd2b.d: New test.
+       * gdc.dg/simd2c.d: New test.
+       * gdc.dg/simd2d.d: New test.
+       * gdc.dg/simd2e.d: New test.
+       * gdc.dg/simd2f.d: New test.
+       * gdc.dg/simd2g.d: New test.
+       * gdc.dg/simd2h.d: New test.
+       * gdc.dg/simd2i.d: New test.
+       * gdc.dg/simd2j.d: New test.
+       * gdc.dg/simd7951.d: New test.
+       * gdc.dg/torture/array2.d: New test.
+       * gdc.dg/torture/array3.d: New test.
+       * gdc.dg/torture/simd16488a.d: New test.
+       * gdc.dg/torture/simd16488b.d: New test.
+       * gdc.dg/torture/simd16703.d: New test.
+       * gdc.dg/torture/simd19223.d: New test.
+       * gdc.dg/torture/simd19607.d: New test.
+       * gdc.dg/torture/simd3.d: New test.
+       * gdc.dg/torture/simd4.d: New test.
+       * gdc.dg/torture/simd7411.d: New test.
+       * gdc.dg/torture/simd7413a.d: New test.
+       * gdc.dg/torture/simd7413b.d: New test.
+       * gdc.dg/torture/simd7414.d: New test.
+       * gdc.dg/torture/simd9200.d: New test.
+       * gdc.dg/torture/simd9304.d: New test.
+       * gdc.dg/torture/simd9449.d: New test.
+       * gdc.dg/torture/simd9910.d: New test.
+       * gdc.dg/simd13927b.d: New file.
+
+2020-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc-utils.exp (gdc-convert-test): Handle LINK directive.
+       Set PERMUTE_ARGS as DEFAULT_DFLAGS only for runnable tests.
+       (gdc-do-test): Set default action of compilable tests to compile.
+       Test SHARED_OPTION on runnable_cxx tests.
+
+2020-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/dg.exp: Remove torture options.
+       * gdc.dg/gdc115.d: Move test to gdc.dg/torture.
+       * gdc.dg/gdc131.d: Likewise.
+       * gdc.dg/gdc141.d: Likewise.
+       * gdc.dg/gdc17.d: Likewise.
+       * gdc.dg/gdc171.d: Likewise.
+       * gdc.dg/gdc179.d: Likewise.
+       * gdc.dg/gdc186.d: Likewise.
+       * gdc.dg/gdc187.d: Likewise.
+       * gdc.dg/gdc191.d: Likewise.
+       * gdc.dg/gdc198.d: Likewise.
+       * gdc.dg/gdc200.d: Likewise.
+       * gdc.dg/gdc210.d: Likewise.
+       * gdc.dg/gdc240.d: Likewise.
+       * gdc.dg/gdc242b.d: Likewise.
+       * gdc.dg/gdc248.d: Likewise.
+       * gdc.dg/gdc250.d: Likewise.
+       * gdc.dg/gdc273.d: Likewise.
+       * gdc.dg/gdc283.d: Likewise.
+       * gdc.dg/gdc285.d: Likewise.
+       * gdc.dg/gdc286.d: Likewise.
+       * gdc.dg/gdc309.d: Likewise.
+       * gdc.dg/gdc35.d: Likewise.
+       * gdc.dg/gdc36.d: Likewise.
+       * gdc.dg/gdc51.d: Likewise.
+       * gdc.dg/gdc57.d: Likewise.
+       * gdc.dg/gdc66.d: Likewise.
+       * gdc.dg/imports/gdc36.d: Likewise.
+       * gdc.dg/init1.d: Likewise.
+       * gdc.dg/pr92309.d: Likewise.
+       * gdc.dg/pr94424.d: Likewise.
+       * gdc.dg/pr94777b.d: Likewise.
+       * gdc.dg/pr96152.d: Likewise.
+       * gdc.dg/pr96153.d: Likewise.
+       * gdc.dg/pr96156.d: Likewise.
+       * gdc.dg/pr96157a.d: Likewise.
+       * gdc.dg/torture/torture.exp: New file.
+       * gdc.dg/torture/gdc115.d: New file.
+       * gdc.dg/torture/gdc131.d: New file.
+       * gdc.dg/torture/gdc141.d: New file.
+       * gdc.dg/torture/gdc17.d: New file.
+       * gdc.dg/torture/gdc171.d: New file.
+       * gdc.dg/torture/gdc179.d: New file.
+       * gdc.dg/torture/gdc186.d: New file.
+       * gdc.dg/torture/gdc187.d: New file.
+       * gdc.dg/torture/gdc191.d: New file.
+       * gdc.dg/torture/gdc198.d: New file.
+       * gdc.dg/torture/gdc200.d: New file.
+       * gdc.dg/torture/gdc210.d: New file.
+       * gdc.dg/torture/gdc240.d: New file.
+       * gdc.dg/torture/gdc242b.d: New file.
+       * gdc.dg/torture/gdc248.d: New file.
+       * gdc.dg/torture/gdc250.d: New file.
+       * gdc.dg/torture/gdc273.d: New file.
+       * gdc.dg/torture/gdc283.d: New file.
+       * gdc.dg/torture/gdc285.d: New file.
+       * gdc.dg/torture/gdc286.d: New file.
+       * gdc.dg/torture/gdc309.d: New file.
+       * gdc.dg/torture/gdc35.d: New file.
+       * gdc.dg/torture/gdc36.d: New file.
+       * gdc.dg/torture/gdc51.d: New file.
+       * gdc.dg/torture/gdc57.d: New file.
+       * gdc.dg/torture/gdc66.d: New file.
+       * gdc.dg/torture/imports/gdc36.d: New file.
+       * gdc.dg/torture/init1.d: New file.
+       * gdc.dg/torture/pr92309.d: New file.
+       * gdc.dg/torture/pr94424.d: New file.
+       * gdc.dg/torture/pr94777b.d: New file.
+       * gdc.dg/torture/pr96152.d: New file.
+       * gdc.dg/torture/pr96153.d: New file.
+       * gdc.dg/torture/pr96156.d: New file.
+       * gdc.dg/torture/pr96157a.d: New file.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/60304
+       * g++.dg/warn/Wconversion-null-5.C: New test.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.old-deja/g++.abi/cxa_vec.C: Include <exception> for
+       std::set_terminate.
+
+2020-09-02  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.dg/pr55940.c: Skip for msp430 unless -mlarge is specified.
+
+2020-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/96859
+       * gfortran.dg/pr96859.f90: New test.
+
+2020-09-01  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow.c: Remove xfails.
+       * gcc.dg/Wstringop-overflow-42.c: New test.
+       * gcc.dg/Wstringop-overread-4.c: New test.
+
+2020-09-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/77841
+       * g++.dg/cpp0x/initlist-new4.C: New test.
+
+2020-09-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96808
+       * gcc.target/powerpc/pr96808.c: New test.
+
+2020-09-01  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96792
+       * gcc.dg/analyzer/pr96792.c: New test.
+
+2020-09-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95398
+       * gfortran.dg/pr95398.f90: New test.
+
+2020-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96867
+       * c-c++-common/gomp/pr96867.c: New test.
+
+2020-09-01  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * lib/target-supports.exp
+       (check_effective_target_vect_len_load_store): Call check function
+       check_effective_target_has_arch_pwr9.
+
+2020-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96798
+       * gcc.dg/analyzer/memset-1.c (test_5a): New.
+
+2020-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96860
+       * gcc.dg/analyzer/pr96860-1.c: New test.
+       * gcc.dg/analyzer/pr96860-2.c: New test.
+
+2020-08-31  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/93529
+       * g++.dg/cpp0x/sfinae4.C: Adjust expected result after P1009.
+       * g++.dg/cpp2a/new-array1.C: New test.
+       * g++.dg/cpp2a/new-array2.C: New test.
+       * g++.dg/cpp2a/new-array3.C: New test.
+       * g++.dg/cpp2a/new-array4.C: New test.
+
+2020-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96763
+       * g++.dg/analyzer/pr96763.C: New test.
+
+2020-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96764
+       * gcc.dg/analyzer/pr96764.c: New test.
+
+2020-08-31  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96818
+       * g++.dg/pr96818.C: New file.
+       * gcc.dg/pr96818.c: New file.
+
+2020-08-31  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96854
+       * gcc.dg/vect/pr96854.c: New testcase.
+
+2020-08-31  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/aarch64/strcmpopt_6.c: Suppress -Wstringop-overread.
+
+2020-08-31  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512f-pr96551-1.c: New test.
+       * gcc.target/i386/avx512f-pr96551-2.c: New test.
+
+2020-08-31  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/96806
+       * g++.dg/ipa/pr96806.C: New test.
+
+2020-08-31  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * gcc.dg/vect/bb-slp-pr69907.c: Adjust for partial vector usages.
+       * gcc.dg/vect/slp-3.c: Likewise.
+       * gcc.dg/vect/slp-multitypes-11.c: Likewise.
+       * gcc.dg/vect/slp-perm-1.c: Likewise.
+       * gcc.dg/vect/slp-perm-5.c: Likewise.
+       * gcc.dg/vect/slp-perm-6.c: Likewise.
+       * gcc.dg/vect/slp-perm-7.c: Likewise.
+       * gcc.dg/vect/slp-perm-8.c: Likewise.
+       * gcc.dg/vect/slp-perm-9.c: Likewise.
+       * gcc.dg/vect/vect-version-2.c: Likewise.
+       * lib/target-supports.exp (check_vect_partial_vector_usage): New
+       function.
+       (check_effective_target_vect_len_load_store): Likewise.
+       (check_effective_target_vect_partial_vectors_usage_1): Likewise.
+       (check_effective_target_vect_partial_vectors_usage_2): Likewise.
+       (check_effective_target_vect_partial_vectors): Likewise.
+
+2020-08-30  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overread-3.c: New test.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96728
+       * gfortran.dg/PR96728.f90: New test.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96727
+       * gfortran.dg/PR96727.f90: New test.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/96726
+       * gfortran.dg/PR96726.f90: New test.
+
+2020-08-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+
+       * gfortran.dg/PR95352.f90: New test.
+
+2020-08-30  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/94110
+       * gfortran.dg/PR94110.f90: New test.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       * c-c++-common/Warray-bounds-7.c: Adjust expected warnings.
+       * c-c++-common/Wrestrict.c: Remove xfail.
+       * c-c++-common/attr-nonstring-3.c: Adjust text of expected warnings.
+       * c-c++-common/attr-nonstring-6.c: Suppress -Wstringop-overread
+       instead of -Wstringop-overflow.
+       * c-c++-common/attr-nonstring-8.c: Adjust text of expected warnings.
+       * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Also suppress
+        -Wstringop-overread.
+       * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Same.
+       * gcc.dg/Warray-bounds-39.c: Adjust expected warnings.
+       * gcc.dg/Warray-bounds-40.c: Also suppress -Wstringop-overread.
+       * gcc.dg/Warray-bounds-58.c: Remove xfail.  Also expect
+       -Wstringop-overread.  Adjust text of expected warnings.
+       * gcc.dg/Wsizeof-pointer-memaccess1.c: Also suppress
+        -Wstringop-overread.
+       * gcc.dg/Wstringop-overflow-22.c: Adjust text of expected warnings.
+       * gcc.dg/Wstringop-overflow-33.c: Expect -Wstringop-overread.
+       * gcc.dg/Wstringop-overflow-9.c: Expect -Wstringop-overread.
+       * gcc.dg/attr-nonstring-2.c: Adjust text of expected warnings.
+       * gcc.dg/attr-nonstring-3.c: Same.
+       * gcc.dg/attr-nonstring-4.c: Same.
+       * gcc.dg/attr-nonstring.c: Expect -Wstringop-overread.
+       * gcc.dg/builtin-stringop-chk-5.c: Adjust comment.
+       * gcc.dg/builtin-stringop-chk-8.c: Enable -Wstringop-overread instead
+       of -Wstringop-overflow.
+       * gcc.dg/pr78902.c: Also expect -Wstringop-overread.
+       * gcc.dg/pr79214.c: Adjust text of expected warnings.
+       * gcc.dg/strcmpopt_10.c: Suppress valid -Wno-stringop-overread.
+       * gcc.dg/strlenopt-57.c: Also expect -Wstringop-overread.
+       * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Also suppress valid
+       -Wno-stringop-overread.
+       * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Same.
+       * gcc.dg/uninit-33.c: Same.
+       * gcc.dg/warn-strnlen-no-nul-2.c: Adjust text of expected warning.
+       * gcc.dg/warn-strnlen-no-nul.c: Same.
+       * gcc.target/i386/strcmpopt_6.c: Suppress -Wstringop-overread.
+       * gcc.dg/Wstringop-overread-2.c: New test.
+       * gcc.dg/Wstringop-overread.c: New test.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       PR c/96596
+       * gcc.dg/Wbuiltin-declaration-mismatch-16.c: New test.
+
+2020-08-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94672
+       * gfortran.dg/optional_assumed_charlen_2.f90: New test.
+
+2020-08-28  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/96357
+       * gcc.target/aarch64/sve/pr96357.c: New test.
+
+2020-08-28  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/mem-shift-canonical.c: Skip on ILP32.
+
+2020-08-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96624
+       * gfortran.dg/reshape_8.f90 : New test.
+
+2020-08-28  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.dg/pr96579.c: Compile only with target dfp.
+
+2020-08-28  Uros Bizjak    <ubizjak@gmail.com>
+
+       * gcc.target/i386/double_mask_reg-1.c: New test.
+
+2020-08-27  John David Anglin  <danglin@gcc.gnu.org>
+
+       * gcc.target/hppa/shadd-2.c: Adjust times to 4.
+
+2020-08-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/65146
+       * gcc.target/i386/pr65146.c: New test.
+
+2020-08-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/96787
+       * gcc.target/powerpc/pr96787-1.c: New.
+       * gcc.target/powerpc/pr96787-2.c: New.
+
+2020-08-27  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/95882
+       * gfortran.dg/pr95882_1.f90: New test.
+       * gfortran.dg/pr95882_2.f90: New test.
+       * gfortran.dg/pr95882_3.f90: New test.
+       * gfortran.dg/pr95882_4.f90: New test.
+       * gfortran.dg/pr95882_5.f90: New test.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96522
+       * gcc.dg/torture/pr96522.c: New testcase.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/loop-19.c: Adjust.
+       * gcc.dg/tree-ssa/loop-2.c: Likewise.
+       * gcc.dg/tree-ssa/loop-3.c: Likewise.
+
+2020-08-27  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/mem-shift-canonical.c: New test.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96579
+       * gcc.dg/pr96579.c: New testcase.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96565
+       * gcc.dg/tree-ssa/ssa-dse-40.c: New testcase.
+       * gcc.dg/builtin-object-size-4.c: Adjust.
+
+2020-08-26  Jeff Law  <law@redhat.com>
+
+       * gcc.target/i386/387-7.c: Add dg-require-effective-target c99_runtime.
+       * gcc.target/i386/387-9.c: Likewise.
+       * g++.target/i386/avx512bw-pr96246-1.C: Likewise.
+       * gcc.target/i386/avx512f-rint-sfix-vec-2.c: Likewise.
+       * gcc.target/i386/avx512f-rintf-sfix-vec-2.c: Likewise.
+       * g++.target/i386/avx512vl-pr96246-1.C: Likewise.
+       * gcc.target/i386/pr61403.c: Likewise.
+       * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
+       * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
+
+2020-08-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96802
+       * gcc.target/i386/pr96802-1.c: New test.
+       * gcc.target/i386/pr96802-2.c: Likewise.
+
+2020-08-26  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/emulate-srli.c: Fix expected assembler text.
+       * gcc.target/msp430/max-inline-shift-430-no-opt.c: New test.
+       * gcc.target/msp430/max-inline-shift-430.c: New test.
+       * gcc.target/msp430/max-inline-shift-430x.c: New test.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       * gcc.dg/vect/pr96698.c: New testcase.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96783
+       * gcc.dg/vect/pr96783-1.c: New testcase.
+       * gcc.dg/vect/pr96783-2.c: Likewise.
+
+2020-08-26  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/lookup/operator-1.C: New.
+       * g++.dg/lookup/operator-2.C: New.
+
+2020-08-26  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * gcc.target/aarch64/insv_1.c: Add '#' in scan-assembler
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96156
+       * gdc.dg/pr96156.d: New test.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96153
+       * gdc.dg/pr96153.d: Add new tests.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96157
+       * gdc.dg/pr96157a.d: New test.
+       * gdc.dg/pr96157b.d: New test.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc-utils.exp (gdc-convert-test): Clear PERMUTE_ARGS for
+       fail_compilation tests if not set by test file.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * lib/target-supports-dg.exp: Add dg-require-symver.
+       * lib/target-supports.exp: Likewise.
+       * gcc.dg/ipa/symver1.c: New test.
+
+2020-08-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/declare-target-4.f90: New test.
+       * gfortran.dg/gomp/declare-target-5.f90: New test.
+
+2020-08-26  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96667
+       * gcc.target/i386/avx512bw-pr96246-1.c: Moved to...
+       * g++.target/i386/avx512bw-pr96246-1.C: ...here.
+       * gcc.target/i386/avx512bw-pr96246-2.c: Moved to...
+       * g++.target/i386/avx512bw-pr96246-2.C: ...here.
+       * gcc.target/i386/avx512vl-pr96246-1.c: Moved to...
+       * g++.target/i386/avx512vl-pr96246-1.C: ...here.
+       * gcc.target/i386/avx512vl-pr96246-2.c: Moved to...
+       * g++.target/i386/avx512vl-pr96246-2.C: ...here.
+
+2020-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94858
+       * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: Remove xfail.
+       * gcc.dg/analyzer/pr94858-1.c: New test.
+       * gcc.dg/analyzer/pr94858-2.c: New test.
+       * gcc.dg/analyzer/torture/loop-inc-ptr-2.c: Update expected number
+       of enodes.
+       * gcc.dg/analyzer/torture/loop-inc-ptr-3.c: Likewise.
+
+2020-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96777
+       * gcc.dg/analyzer/pr96777.c: New test.
+
+2020-08-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95863
+       * gcc.target/i386/pr95863-1.c: New test.
+       * gcc.target/i386/pr95863-2.c: Likewise.
+
+2020-08-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/96678
+       * c-c++-common/gomp/map-4.c: New test.
+       * c-c++-common/gomp/depend-1.c: Update dg-error.
+       * c-c++-common/gomp/map-1.c: Likewise.
+       * c-c++-common/gomp/reduction-1.c: Likewise.
+       * g++.dg/gomp/depend-1.C: Likewise.
+       * g++.dg/gomp/depend-2.C: Likewise.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/attributes_1.c: Rename
+       __ARM_FEATURE_SVE_VECTOR_OPERATIONS to
+       __ARM_FEATURE_SVE_VECTOR_OPERATORS.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: New test.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_6.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_7.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_8.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_9.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_10.C: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_7.c: Check the
+       error messages reported when arm_sve_vector_bits is applied to
+       SVE tuple types or to existing fixed-length SVE types.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Add a leading
+       "u" to the mangling of each SVE vector and predicate type.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_3.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_5.C: Likewise.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96548
+       PR tree-optimization/96760
+       * gcc.dg/torture/pr96548.c: New testcase.
+       * gcc.dg/torture/pr96760.c: Likewise.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96722
+       * g++.dg/opt/pr96722.C: New test.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96758
+       * gcc.dg/strcmpopt_12.c: New test.
+
+2020-08-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96730
+       * gcc.dg/tree-ssa/pr96730.c: New test.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/21137
+       * gcc.dg/pr21137.c: New test.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96690
+       * g++.dg/lto/pr96690_0.C: New testcase.
+
+2020-08-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr96755.c: New test.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96715
+       * gcc.dg/tree-ssa/copy-sign-3.c: New test.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96721
+       * g++.dg/opt/flifetime-dse8.C: New test.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95450
+       * gcc.target/powerpc/pr95450.c: New test.
+
+2020-08-25  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/other/final8.C: Adjust expected output.
+
+2020-08-24  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96486
+       * gfortran.dg/pr96486.f90: New test.
+
+2020-08-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94538
+       * gcc.target/arm/pure-code/pr94538-1.c: New test.
+       * gcc.target/arm/pure-code/pr94538-2.c: New test.
+
+2020-08-24  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/vect/bb-slp-38.c: Adjust pattern as now we only process
+       a single vectorization and now 2 partial.
+       * gcc.dg/vect/bb-slp-45.c: New test.
+
+2020-08-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * gcc.target/cris/pr93372-47.c: New test.
+
+2020-08-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96744
+       * gcc.target/i386/pr96744-1.c: New test.
+       * gcc.target/i386/pr96744-2.c: Likewise.
+       * gcc.target/i386/pr96744-3a.c: Likewise.
+       * gcc.target/i386/pr96744-3b.c: Likewise.
+       * gcc.target/i386/pr96744-4.c: Likewise.
+       * gcc.target/i386/pr96744-5.c: Likewise.
+       * gcc.target/i386/pr96744-6.c: Likewise.
+       * gcc.target/i386/pr96744-7.c: Likewise.
+       * gcc.target/i386/pr96744-8a.c: Likewise.
+       * gcc.target/i386/pr96744-8b.c: Likewise.
+       * gcc.target/i386/pr96744-9.c: Likewise.
+
+2020-08-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92785
+       * gfortran.dg/unlimited_polymorphic_31.f03: Change to stop 1.
+
+2020-08-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96737
+       * gfortran.dg/pr96737.f90: Add option -g.
+
+2020-08-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96737
+       * gfortran.dg/pr96737.f90: New test.
+
+2020-08-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94851
+       * gcc.dg/analyzer/pr94851-1.c: New test.
+       * gcc.dg/analyzer/pr94851-3.c: New test.
+       * gcc.dg/analyzer/pr94851-4.c: New test.
+
+2020-08-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/malloc-ipa-8-double-free.c: Drop
+       -fanalyzer-verbose-state-changes.
+
+2020-08-21  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr96262-1.c: New test.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/bitwise_mask_op-1.c: New test.
+       * gcc.target/i386/bitwise_mask_op-2.c: New test.
+       * gcc.target/i386/bitwise_mask_op-3.c: New test.
+       * gcc.target/i386/avx512bw-pr88465.c: New testcase.
+       * gcc.target/i386/avx512bw-kunpckwd-1.c: Adjust testcase.
+       * gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto.
+       * gcc.target/i386/avx512dq-kmovb-5.c: Ditto.
+       * gcc.target/i386/avx512f-kmovw-5.c: Ditto.
+       * gcc.target/i386/pr55342.c: Ditto.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/spill_to_mask-1.c: New tests.
+       * gcc.target/i386/spill_to_mask-2.c: New tests.
+       * gcc.target/i386/spill_to_mask-3.c: New tests.
+       * gcc.target/i386/spill_to_mask-4.c: New tests.
+
+2020-08-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/95152
+       * gcc.dg/analyzer/pr95152-4.c: New test.
+       * gcc.dg/analyzer/pr95152-5.c: New test.
+
+2020-08-20  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96723
+       * g++.dg/analyzer/pr96723.C: New test.
+
+2020-08-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96100
+       PR fortran/96101
+       * gfortran.dg/char_length_23.f90: New test.
+
+2020-08-20  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+       PR target/96683
+       * gcc.target/arm/mve/intrinsics/vst1q_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst1q_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst1q_s8.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst1q_u16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst1q_u8.c: New test.
+
+2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr67500.f90: New file.
+
+2020-08-20  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/target-supports.exp (arm_soft_ok): Remove arm32 check.
+
+2020-08-20  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/pure-code/pure-code.exp: Skip for
+       arm*-*-uclinuxfdpiceabi. Fix missing closing bracket.
+
+2020-08-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96436
+       * gfortran.dg/pr96436_1.f90: New test.
+       * gfortran.dg/pr96436_2.f90: New test.
+       * gfortran.dg/pr96436_3.f90: New test.
+       * gfortran.dg/pr96436_4.f90: New test.
+       * gfortran.dg/pr96436_5.f90: New test.
+       * gfortran.dg/pr96436_6.f90: New test.
+       * gfortran.dg/pr96436_7.f90: New test.
+       * gfortran.dg/pr96436_8.f90: New test.
+       * gfortran.dg/pr96436_9.f90
+       * gfortran.dg/pr96436_10.f90
+
+2020-08-20  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96713
+       * gcc.dg/analyzer/pr96713.c: New test.
+
+2020-08-19  Jason Merrill  <jason@redhat.com>
+
+       DR 2369
+       * g++.dg/concepts/diagnostic10.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic13.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic2.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic3.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic4.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic5.C: Adjust expexcted errors.
+       * g++.dg/concepts/diagnostic9.C: Adjust expexcted errors.
+       * g++.dg/concepts/expression2.C: Adjust expexcted errors.
+       * g++.dg/concepts/fn5.C: Adjust expexcted errors.
+       * g++.dg/concepts/placeholder5.C: Adjust expexcted errors.
+       * g++.dg/concepts/pr67595.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-pr78752-2.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-pr84140.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-recursive-sat3.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-requires18.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-requires19.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts3.C: Adjust expexcted errors.
+       * g++.dg/cpp2a/concepts-nondep1.C: New test.
+       * g++.dg/cpp2a/concepts-nondep1a.C: New test.
+
+2020-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96643
+       * g++.dg/analyzer/pr96643.C: New test.
+
+2020-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96705
+       * gcc.dg/analyzer/pr96705.c: New test.
+
+2020-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96699
+       * gcc.dg/analyzer/pr96699.c: New test.
+
+2020-08-19  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/pcrel-sibcall-1.c: Adjust.
+
+2020-08-19  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * gcc.dg/pr94234-1.c: New test.
+
+2020-08-19  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * gcc.target/aarch64/mgeneral-regs_7.c: New test.
+
+2020-08-19  Pat Bernardi  <bernardi@adacore.com>
+
+       * gcc.dg/sinatan-2.c: Add dg-require-effective-target c99_runtime.
+       * gcc.dg/sinhovercosh-1.c: Likewise.
+       * gcc.dg/tanhbysinh.c: Likewise.
+
+2020-08-19  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96494
+       * lib/target-supports.exp (check_effective_target_sync_int_long):
+       Return 1 for nvptx.
+       (check_effective_target_sync_int_long_stack): New proc.
+       * gcc.dg/pr86314.c: Require effective target sync_int_long_stack.
+
+2020-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96651
+       * gcc.dg/analyzer/pr96651-1.c: New test.
+       * gcc.dg/analyzer/pr96651-2.c: New test.
+
+2020-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96648
+       * gcc.dg/analyzer/pr96648.c: New test.
+
+2020-08-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-3.c: Rename xvcvbf16sp to xvcvbf16spn.
+
+2020-08-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96199
+       * g++.dg/cpp1z/class-deduction-spec1.C: New test.
+
+2020-08-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96199
+       * g++.dg/cpp2a/class-deduction-alias4.C: New test.
+
+2020-08-18  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/minmax_char_3.f90: New test.
+       * gfortran.dg/min_max_kind.f90: New test.
+       * gfortran.dg/pr96613.f90: New test.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96665
+       PR middle-end/78257
+       * gcc.dg/memcmp-5.c: New test.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/96670
+       * gcc.dg/memchr-2.c: New test.
+       * gcc.dg/memcmp-6.c: New test.
+
+2020-08-18  Roger Sayle  <roger@nextmovesoftware.com>
+           Zdenek Sojka  <zsojka@seznam.cz>
+
+       PR rtl-optimization/96298
+       * gcc.dg/pr96298.c: New test.
+       * gcc.target/i386/pr96298.c: New test.
+
+2020-08-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96301
+       * gdc.dg/pr96301a.d: New test.
+       * gdc.dg/pr96301b.d: New test.
+       * gdc.dg/pr96301c.d: New test.
+
+2020-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr96562-1.c: New test.
+
+2020-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/96571
+       * gcc.dg/Wunused-var-4.c: New test.
+
+2020-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96574
+       * gcc.target/i386/pr92865-1.c: Adjust testcase.
+
+2020-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96641
+       * g++.dg/analyzer/pr96641.C: New test.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96644
+       * gcc.dg/analyzer/pr96644.c: New test.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96639
+       * gcc.dg/analyzer/pr96639.c: New test.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96642
+       * gcc.dg/analyzer/pr96642.c: New test.
+
+2020-08-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/rdrand-1.c (dg-final): Update scan string.
+       * gcc.target/i386/rdrand-2.c (dg-final): Ditto.
+       * gcc.target/i386/rdrand-3.c (dg-final): Ditto.
+
+2020-08-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/endbr_immediate.c: New test.
+
+2020-08-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/78257
+       * gcc.dg/memchr.c: New test.
+       * gcc.dg/memcmp-2.c: New test.
+       * gcc.dg/memcmp-3.c: New test.
+       * gcc.dg/memcmp-4.c: New test.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96611
+       * gcc.dg/analyzer/pr96611.c: New test.
+
+2020-08-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90254
+       PR c++/93711
+       * g++.dg/cpp1z/aggr-base10.C: New test.
+       * g++.dg/cpp2a/no_unique_address7.C: New test.
+       * g++.dg/cpp2a/no_unique_address7a.C: New test.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * lib/prune.exp: Change TEST_ALWAYS_FLAGS to use -fdiagnostics-plain-output.
+       * lib/c-compat.exp: Adapt to the prune.exp change.
+
+2020-08-14  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/torture/pr92088-1.c: Add require-effective-target alloca.
+       * gcc.dg/torture/pr92088-2.c: Same.
+       * gcc.dg/torture/pr93124.c: Same.
+       * gcc.dg/torture/pr94479.c: Same.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: Same.
+
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96598
+       * gcc.dg/analyzer/pr96598.c: New test.
+
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       PR analyzer/93938
+       PR analyzer/94011
+       PR analyzer/94099
+       PR analyzer/94399
+       PR analyzer/94458
+       PR analyzer/94503
+       PR analyzer/94640
+       PR analyzer/94688
+       PR analyzer/94689
+       PR analyzer/94839
+       PR analyzer/95026
+       PR analyzer/95042
+       PR analyzer/95240
+       * g++.dg/analyzer/pr93212.C: Add dg-warning for dangling
+       reference.
+       * g++.dg/analyzer/pr93950.C: Remove xfail.
+       * g++.dg/analyzer/pr94011.C: New test.
+       * g++.dg/analyzer/pr94028.C: Remove leak false positives; mark as
+       failing on C++98.
+       * g++.dg/analyzer/pr94503.C: New test.
+       * g++.dg/analyzer/pr95042.C: New test.
+       * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue-2.c: New test.
+       * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Add xfail.
+       * gcc.dg/analyzer/CVE-2005-1689-minimal.c:
+       Include "analyzer-decls.h".
+       (test_4, test_5, test_6, test_7, test_8): New tests.
+       * gcc.dg/analyzer/abs-1.c: New test.
+       * gcc.dg/analyzer/aliasing-1.c: New test.
+       * gcc.dg/analyzer/aliasing-2.c: New test.
+       * gcc.dg/analyzer/analyzer-decls.h (__analyzer_describe): New
+       decl.
+       (__analyzer_dump_num_heap_regions): Remove.
+       * gcc.dg/analyzer/attribute-nonnull.c: Add dg-warnings for cases
+       where NULL is directly used as an argument.
+       * gcc.dg/analyzer/bzero-1.c: New test.
+       * gcc.dg/analyzer/casts-1.c: New test.
+       * gcc.dg/analyzer/casts-2.c: New test.
+       * gcc.dg/analyzer/compound-assignment-1.c
+       (test_4): Remove xfail from leak false positive.
+       (called_by_test_5a): Add "allocated here" expected message.
+       (called_by_test_5b): Make expected leak message more precise.
+       * gcc.dg/analyzer/compound-assignment-3.c: Update expected leak
+       message.
+       * gcc.dg/analyzer/compound-assignment-4.c: New test.
+       * gcc.dg/analyzer/compound-assignment-5.c: New test.
+       * gcc.dg/analyzer/conditionals-notrans.c: Remove xfails.
+       * gcc.dg/analyzer/data-model-1.c (test_12d): Update expected
+       results.
+       (test_13): Remove xfail.
+       (test_14): Remove xfail.
+       (test_15): Remove xfail.
+       (test_16): Remove xfails.  Add out-of-bounds access.
+       (test_16_alt): Remove xfails.
+       (test_23): Remove xfail.
+       (test_24): Remove xfail.
+       (test_25): Remove xfail.
+       (test_26): Update expected result.  Remove xfail.  Add xfail.
+       (test_27): Remove xfails.
+       (test_29): Add __analyzer_eval pointer comparisons.
+       (test_41): Generalize expected output for u.ptr comparison with
+       NULL for targets where this could be known to be false.
+       (test_42): Remove xfail.
+       (test_51): Remove xfails.
+       * gcc.dg/analyzer/data-model-13.c: Update for improvements to
+       source location and wording of leak message.
+       * gcc.dg/analyzer/data-model-14.c: Remove -fanalyzer-fine-grained.
+       (test_1): Update for improvement to expected message.
+       (test_2): Remove xfail.
+       * gcc.dg/analyzer/data-model-18.c: Remove xfail.
+       * gcc.dg/analyzer/data-model-20.c: New test.
+       * gcc.dg/analyzer/data-model-5.c: Add dg-warning for deref of
+       NULL.  Add xfailing false leak.
+       * gcc.dg/analyzer/data-model-5b.c: Add xfailing false leak.
+       * gcc.dg/analyzer/data-model-5c.c: Update xfailing false leak.
+       * gcc.dg/analyzer/data-model-5d.c: Reimplement.
+       * gcc.dg/analyzer/data-model-6.c: Delete test.
+       * gcc.dg/analyzer/data-model-8.c: Remove xfail.
+       * gcc.dg/analyzer/describe-1.c: New test.
+       * gcc.dg/analyzer/dot-output.c: Remove xfail.
+       * gcc.dg/analyzer/explode-1.c: Add expected leak warning.
+       * gcc.dg/analyzer/explode-2.c: Add expected leak warnings.  Mark
+       double-free warnings as xfail for now.
+       * gcc.dg/analyzer/feasibility-1.c: New test.
+       * gcc.dg/analyzer/first-field-1.c: New test.
+       * gcc.dg/analyzer/first-field-2.c: New test.
+       * gcc.dg/analyzer/init.c: New test.
+       * gcc.dg/analyzer/leak-2.c: New test.
+       * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: New test.
+       * gcc.dg/analyzer/loop-0-up-to-n-by-1.c: New test.
+       * gcc.dg/analyzer/loop-2a.c: Update expected behavior.
+       * gcc.dg/analyzer/loop-3.c: Mark use-after-free as xfail.  Add
+       expected warning about deref of unchecked pointer.
+       * gcc.dg/analyzer/loop-4.c: Remove -fno-analyzer-state-purge.
+       Update expected behavior.
+       * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: New test.
+       * gcc.dg/analyzer/loop-start-down-to-end-by-1.c: New test.
+       * gcc.dg/analyzer/loop-start-down-to-end-by-step.c: New test.
+       * gcc.dg/analyzer/loop-start-to-end-by-step.c: New test.
+       * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: New test.
+       * gcc.dg/analyzer/loop.c: Remove -fno-analyzer-state-purge.
+       Update expected behavior.
+       * gcc.dg/analyzer/malloc-1.c: Remove xfails from leak false
+       positives.  Update expected wording of global_link.m_ptr leak.
+       (test_49): New test.
+       * gcc.dg/analyzer/malloc-4.c: Remove leak false positive.  Update
+       expected wording of leak warning.
+       * gcc.dg/analyzer/malloc-in-loop.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-double-free.c: Update expected path
+       to show call to wrapped_malloc.
+       * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Remove
+       -fanalyzer-verbose-state-changes.
+       * gcc.dg/analyzer/malloc-paths-9.c: Remove comment about duplicate
+       warnings.  Remove duplicate use-after-free paths.
+       * gcc.dg/analyzer/malloc-vs-local-1a.c: Add dg-warning for deref
+       of unchecked pointer.  Update expected number of enodes.
+       * gcc.dg/analyzer/malloc-vs-local-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-vs-local-3.c: Add dg-warning for deref of
+       unchecked pointer.  Update expected number of enodes.  Avoid
+       overspecifying the leak message.
+       * gcc.dg/analyzer/memset-1.c: New test.
+       * gcc.dg/analyzer/paths-3.c: Update expected number of enodes.
+       * gcc.dg/analyzer/paths-4.c: Likewise.
+       * gcc.dg/analyzer/paths-6.c: Likewise.
+       * gcc.dg/analyzer/paths-7.c: Likewise.
+       * gcc.dg/analyzer/pr93032-mztools-simplified.c: New test.
+       * gcc.dg/analyzer/pr93032-mztools.c: New test.
+       * gcc.dg/analyzer/pr93382.c: Mark taint tests as failing.
+       * gcc.dg/analyzer/pr93938.c: New test.
+       * gcc.dg/analyzer/pr94099.c: Replace uninit dg-warning with
+       dg-warning for NULL dereference.
+       * gcc.dg/analyzer/pr94399.c: New test.
+       * gcc.dg/analyzer/pr94447.c: Add dg-warning for NULL dereference.
+       * gcc.dg/analyzer/pr94458.c: New test.
+       * gcc.dg/analyzer/pr94640.c: New test.
+       * gcc.dg/analyzer/pr94688.c: New test.
+       * gcc.dg/analyzer/pr94689.c: New test.
+       * gcc.dg/analyzer/pr94839.c: New test.
+       * gcc.dg/analyzer/pr95026.c: New test.
+       * gcc.dg/analyzer/pr95240.c: New test.
+       * gcc.dg/analyzer/refcounting-1.c: New test.
+       * gcc.dg/analyzer/single-field.c: New test.
+       * gcc.dg/analyzer/stale-frame-1.c: New test.
+       * gcc.dg/analyzer/symbolic-1.c: New test.
+       * gcc.dg/analyzer/symbolic-2.c: New test.
+       * gcc.dg/analyzer/symbolic-3.c: New test.
+       * gcc.dg/analyzer/symbolic-4.c: New test.
+       * gcc.dg/analyzer/symbolic-5.c: New test.
+       * gcc.dg/analyzer/symbolic-6.c: New test.
+       * gcc.dg/analyzer/taint-1.c: Mark the "gets unchecked value"
+       events as failing for now.  Update dg-message directives to avoid
+       relying on numbering.
+       * gcc.dg/analyzer/torture/loop-inc-ptr-1.c: New test.
+       * gcc.dg/analyzer/torture/loop-inc-ptr-2.c: New test.
+       * gcc.dg/analyzer/torture/loop-inc-ptr-3.c: New test.
+       * gcc.dg/analyzer/unknown-fns-2.c: New test.
+       * gcc.dg/analyzer/unknown-fns-3.c: New test.
+       * gcc.dg/analyzer/unknown-fns-4.c: New test.
+       * gcc.dg/analyzer/unknown-fns.c: Update dg-warning to reflect fixed
+       source location for leak diagnostic.
+       * gcc.dg/analyzer/use-after-free.c: New test.
+       * gcc.dg/analyzer/vla-1.c: New test.
+       * gcc.dg/analyzer/zlib-4.c: Rewrite to avoid "exit" calls.  Add
+       expected leak warnings.
+       * gfortran.dg/analyzer/pr93993.f90: Remove leak of tm warning,
+       which seems to have been a false positive.
+
+2020-08-13  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96506
+       * gcc.target/powerpc/pr96506.c: New test.
+
+2020-08-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/93671
+       * gfortran.dg/coarray/pr93671.f90: New test.
+
+2020-08-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       Revert:
+       2020-08-13  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that
+       -mgeneral-regs-only is compatible with the use of vector type
+       used in the test case.
+
+2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gcc.target/nvptx/ia64-sync-5.c: New.
+
+2020-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * gcc.dg/ipa/pr96482-2.c: New test.
+
+2020-08-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-pr96246-1.c: New test.
+       * gcc.target/i386/avx512bw-pr96246-2.c: New test.
+       * gcc.target/i386/avx512vl-pr96246-1.c: New test.
+       * gcc.target/i386/avx512vl-pr96246-2.c: New test.
+       * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust test.
+       * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
+       * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
+       * gcc.target/i386/avx512vl-pr92686-movcc-1.c: Ditto.
+       * gcc.target/i386/avx512vl-pr96246-1.c: Ditto.
+       * gcc.target/i386/avx512vl-pr96246-2.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
+
+2020-08-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/94600
+       * gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c, gcc.dg/pr94600-7.c,
+       gcc.dg/pr94600-8.c: Align t0 to 4-byte boundary.
+
+2020-08-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92812
+       * g++.dg/cpp2a/paren-init27.C: New test.
+       * g++.dg/cpp2a/paren-init28.C: New test.
+       * g++.dg/cpp2a/paren-init29.C: New test.
+       * g++.dg/cpp2a/paren-init30.C: New test.
+       * g++.dg/cpp2a/paren-init31.C: New test.
+       * g++.dg/cpp2a/paren-init32.C: New test.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96558
+       * gcc.dg/pr96558.c: New test.
+
+2020-08-12  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * gcc.dg/ipa/pr96482.c: New test.
+
+2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that
+       -mgeneral-regs-only is compatible with the use of vector type
+       used in the test case.
+
+2020-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/nontemporal-1.f90: New test.
+       * gfortran.dg/gomp/nontemporal-2.f90: New test.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.target/nvptx/ia64-sync-1.c: New test.
+       * gcc.target/nvptx/ia64-sync-2.c: New test.
+       * gcc.target/nvptx/ia64-sync-3.c: New test.
+       * gcc.target/nvptx/ia64-sync-4.c: New test.
+
+2020-08-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       PR testsuite/96519
+       * gcc.dg/ia64-sync-5.c (AC, init_qi, test_qi): Change element type to
+       signed char.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+       PR testsuite/96566
+       * lib/target-supports.exp (check_effective_target_large_initializer):
+       New proc.
+       * gcc.dg/builtin-object-size-21.c: Require large_initializer.
+       * gcc.dg/strlenopt-55.c: Same.
+
+2020-08-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/stack-protector-1.c: Adapt code to Cortex-M
+       restrictions.
+
+2020-08-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/multilib.exp: Fix parameter passing for gcc_opts.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96308
+       * g++.dg/pr96308.C: New test.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96456
+       * gcc.target/s390/pr96456.c: New test.
+
+2020-08-12  Alan Modra  <amodra@gmail.com>
+
+       PR target/96525
+       * gcc.target/powerpc/pr96493.c: Make it a link test when no
+       power10_hw.  Require power10_ok.
+
+2020-08-11  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/opt/flifetime-dse2.C: Remove AIX xfail.
+       * g++.dg/opt/flifetime-dse4.C: Remove AIX xfail.
+
+2020-08-11  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/Warray-bounds-46.c: Add missing require-effective-target
+       directive.
+       * gcc.dg/Warray-bounds-48.c: Same.
+       * gcc.dg/Warray-bounds-50.c: Same.
+       * gcc.dg/Wreturn-local-addr-2.c: Same.
+       * gcc.dg/Wreturn-local-addr-3.c: Same.
+       * gcc.dg/Wreturn-local-addr-4.c: Same.
+       * gcc.dg/Wreturn-local-addr-6.c: Same.
+       * gcc.dg/Wstack-usage.c: Same.
+       * gcc.dg/Wstringop-overflow-15.c: Same.
+       * gcc.dg/Wstringop-overflow-23.c: Same.
+       * gcc.dg/Wstringop-overflow-25.c: Same.
+       * gcc.dg/Wstringop-overflow-27.c: Same.
+       * gcc.dg/Wstringop-overflow-39.c: Same.
+       * gcc.dg/analyzer/alloca-leak.c: Same.
+       * gcc.dg/analyzer/data-model-1.c: Same.
+       * gcc.dg/analyzer/data-model-16.c: Same.
+       * gcc.dg/analyzer/malloc-1.c: Same.
+       * gcc.dg/analyzer/malloc-paths-8.c: Same.
+       * gcc.dg/analyzer/pr93546.c: Same.
+       * gcc.dg/analyzer/setjmp-1.c: Same.
+       * gcc.dg/analyzer/setjmp-2.c: Same.
+       * gcc.dg/analyzer/setjmp-3.c: Same.
+       * gcc.dg/analyzer/setjmp-4.c: Same.
+       * gcc.dg/analyzer/setjmp-5.c: Same.
+       * gcc.dg/analyzer/setjmp-6.c: Same.
+       * gcc.dg/analyzer/setjmp-7.c: Same.
+       * gcc.dg/analyzer/setjmp-7a.c: Same.
+       * gcc.dg/analyzer/setjmp-8.c: Same.
+       * gcc.dg/analyzer/setjmp-9.c: Same.
+       * gcc.dg/analyzer/setjmp-pr93378.c: Same.
+       * gcc.dg/gimplefe-44.c: Same.
+       * gcc.dg/pr84131.c: Same.
+       * gcc.dg/pr93986.c: Same.
+       * gcc.dg/pr95133.c: Same.
+       * gcc.dg/pr95857.c: Same.
+       * gcc.dg/strlenopt-83.c: Same.
+       * gcc.dg/strlenopt-84.c: Same.
+       * gcc.dg/strlenopt-91.c: Same.
+       * gcc.dg/uninit-32.c: Same.
+       * gcc.dg/uninit-36.c: Same.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/96545
+       * c-c++-common/pr96545.c: New test.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/96539
+       * gcc.target/i386/pr96539.c: New test.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/96549
+       * gcc.c-torture/execute/pr96549.c: New test.
+
+2020-08-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/ipa/ipa-clone-2.c: Lower threshold from 500 to 400.
+
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/88003
+       * g++.dg/cpp1y/auto-fn61.C: New test.
+
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+       * lib/gcc-dg.exp (gcc-dg-test-1): Handle dg-ice.
+       (cleanup-after-saved-dg-test): Reset expect_ice.
+       * lib/prune.exp (prune_ices): New.
+       * lib/target-supports-dg.exp (dg-ice): New.
+
+2020-08-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/minmax-12.c: New test.
+
+2020-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96556
+       * gfortran.dg/do_check_15.f90: New test.
+
+2020-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96497
+       * g++.dg/cpp2a/spaceship-constexpr3.C: New test.
+
+2020-08-10  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-fn5.C: New test.
+       * g++.dg/concepts/fn8.C: Generalize dg-error directive to accept
+       "no matching function ..." diagnostic.
+       * g++.dg/cpp2a/concepts-fn1.C: Likewise.
+       * g++.dg/cpp2a/concepts-ts2.C: Likewise.
+       * g++.dg/cpp2a/concepts-ts3.C: Likewise.
+
+2020-08-10  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * gcc.dg/tree-ssa/pr95433-2.c: New file.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96312
+       * gfortran.dg/pr96312.f90: New test.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96102
+       * gfortran.dg/pr96102.f90: New test.
+
+2020-08-10  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92865-1.c: Adjust testcase.
+
+2020-08-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/71321
+       * gcc.target/i386/pr71321.c: Check that the code doesn't use
+       the 4B zero displacement lea, not that it uses lea.
+
+2020-08-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/torture/fp-int-convert-timode-3.c: XFAIL run.
+       * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
+
+2020-08-09  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/pr44194-1.c: Skip for mmix.
+
+2020-08-09  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/pr30957-1.c: xfail for mmix.
+
+2020-08-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96530
+       * gcc.target/powerpc/pr96530.c: New test.
+
+2020-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96424
+       * c-c++-common/gomp/pr96424.c: New test.
+
+2020-08-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96514
+       * gcc.dg/pr96514.c: New testcase.
+
+2020-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * gcc.target/bpf/diag-funargs-2.c: Remove trailing whitespaces.
+       * gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
+       * gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
+       * gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
+       * gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
+       * gcc.target/bpf/helper-sock-ops-cb-flags-set.c
+       * gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
+       * gcc.target/bpf/helper-strtoul.c: Likewise.
+       * gcc.target/bpf/helper-strtol.c: Likewise.
+       * gcc.target/bpf/helper-sock-map-update.c: Likewise.
+       * gcc.target/bpf/helper-sk-storage-get.c: Likewise.
+       * gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
+       * gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
+       * gcc.target/bpf/helper-sk-release.c: Likewise.
+       * gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
+       * gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
+       * gcc.target/bpf/helper-skb-change-head.c: Likewise.
+       * gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
+       * gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
+       * gcc.target/bpf/helper-set-hash.c: Likewise.
+       * gcc.target/bpf/helper-setsockopt.c: Likewise.
+       * gcc.target/bpf/helper-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-rc-repeat.c: Likewise.
+       * gcc.target/bpf/helper-rc-keydown.c: Likewise.
+       * gcc.target/bpf/helper-probe-read-str.c: Likewise.
+       * gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
+       * gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
+       * gcc.target/bpf/helper-override-return.c: Likewise.
+       * gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-msg-pull-data.c: Likewise.
+       * gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
+       * gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
+       * gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
+       * gcc.target/bpf/helper-get-socket-uid.c: Likewise.
+       * gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
+       * gcc.target/bpf/helper-get-local-storage.c: Likewise.
+       * gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
+       * gcc.target/bpf/helper-getsockopt.c: Likewise.
+       * gcc.target/bpf/diag-funargs-3.c: Likewise.
+
+2020-08-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/ia64-sync-5.c: New test.
+
+2020-08-07  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/bswap-brd.c: New test.
+       * gcc.target/powerpc/bswap-brw.c: New test.
+       * gcc.target/powerpc/bswap-brh.c: New test.
+
+2020-08-07  Alan Modra  <amodra@gmail.com>
+
+       * gcc.target/powerpc/pr96493.c: New file.
+
+2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/arm/stack-protector-1.c: New test.
+       * gcc.target/arm/stack-protector-2.c: Likewise.
+
+2020-08-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96446
+       * gcc.target/powerpc/pr96446.c: New test.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/minmax-9.c: Restrict test to !ia32.
+
+2020-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96480
+       * gcc.dg/tree-ssa/pr96480.c: New test.
+
+2020-08-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * gcc.target/bpf/helper-bind.c: Adjust to new kernel helpers
+       mechanism.
+       * gcc.target/bpf/helper-bpf-redirect.c: Likewise.
+       * gcc.target/bpf/helper-clone-redirect.c: Likewise.
+       * gcc.target/bpf/helper-csum-diff.c: Likewise.
+       * gcc.target/bpf/helper-csum-update.c: Likewise.
+       * gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
+       * gcc.target/bpf/helper-fib-lookup.c: Likewise.
+       * gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
+       * gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
+       * gcc.target/bpf/helper-get-current-comm.c: Likewise.
+       * gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
+       * gcc.target/bpf/helper-get-current-task.c: Likewise.
+       * gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
+       * gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
+       * gcc.target/bpf/helper-get-listener-sock.c: Likewise.
+       * gcc.target/bpf/helper-get-local-storage.c: Likewise.
+       * gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
+       * gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
+       * gcc.target/bpf/helper-get-route-realm.c: Likewise.
+       * gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
+       * gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
+       * gcc.target/bpf/helper-get-socket-uid.c: Likewise.
+       * gcc.target/bpf/helper-get-stack.c: Likewise.
+       * gcc.target/bpf/helper-get-stackid.c: Likewise.
+       * gcc.target/bpf/helper-getsockopt.c: Likewise.
+       * gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
+       * gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
+       * gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
+       * gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
+       * gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
+       * gcc.target/bpf/helper-map-delete-elem.c: Likewise.
+       * gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
+       * gcc.target/bpf/helper-map-peek-elem.c: Likewise.
+       * gcc.target/bpf/helper-map-pop-elem.c: Likewise.
+       * gcc.target/bpf/helper-map-push-elem.c: Likewise.
+       * gcc.target/bpf/helper-map-update-elem.c: Likewise.
+       * gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
+       * gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
+       * gcc.target/bpf/helper-msg-pop-data.c: Likewise.
+       * gcc.target/bpf/helper-msg-pull-data.c: Likewise.
+       * gcc.target/bpf/helper-msg-push-data.c: Likewise.
+       * gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
+       * gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-override-return.c: Likewise.
+       * gcc.target/bpf/helper-perf-event-output.c: Likewise.
+       * gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
+       * gcc.target/bpf/helper-perf-event-read.c: Likewise.
+       * gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
+       * gcc.target/bpf/helper-probe-read-str.c: Likewise.
+       * gcc.target/bpf/helper-probe-read.c: Likewise.
+       * gcc.target/bpf/helper-probe-write-user.c: Likewise.
+       * gcc.target/bpf/helper-rc-keydown.c: Likewise.
+       * gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
+       * gcc.target/bpf/helper-rc-repeat.c: Likewise.
+       * gcc.target/bpf/helper-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
+       * gcc.target/bpf/helper-set-hash.c: Likewise.
+       * gcc.target/bpf/helper-setsockopt.c: Likewise.
+       * gcc.target/bpf/helper-sk-fullsock.c: Likewise.
+       * gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
+       * gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
+       * gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
+       * gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
+       * gcc.target/bpf/helper-sk-release.c: Likewise.
+       * gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
+       * gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
+       * gcc.target/bpf/helper-sk-storage-get.c: Likewise.
+       * gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
+       * gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
+       * gcc.target/bpf/helper-skb-change-head.c: Likewise.
+       * gcc.target/bpf/helper-skb-change-proto.c: Likewise.
+       * gcc.target/bpf/helper-skb-change-tail.c: Likewise.
+       * gcc.target/bpf/helper-skb-change-type.c: Likewise.
+       * gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
+       * gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
+       * gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
+       * gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
+       * gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
+       * gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
+       * gcc.target/bpf/helper-skb-pull-data.c: Likewise.
+       * gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
+       * gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
+       * gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
+       * gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
+       * gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
+       * gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
+       * gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
+       * gcc.target/bpf/helper-sock-hash-update.c: Likewise.
+       * gcc.target/bpf/helper-sock-map-update.c: Likewise.
+       * gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
+       * gcc.target/bpf/helper-spin-lock.c: Likewise.
+       * gcc.target/bpf/helper-spin-unlock.c: Likewise.
+       * gcc.target/bpf/helper-strtol.c: Likewise.
+       * gcc.target/bpf/helper-strtoul.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
+       * gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
+       * gcc.target/bpf/helper-tail-call.c: Likewise.
+       * gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
+       * gcc.target/bpf/helper-tcp-sock.c: Likewise.
+       * gcc.target/bpf/helper-trace-printk.c: Likewise.
+       * gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
+       * gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
+       * gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
+       * gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96491
+       * gcc.dg/torture/pr96491.c: New testcase.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/minmax-8.c: New test.
+       * gcc.target/i386/minmax-9.c: New test.
+       * gcc.target/i386/minmax-10.c: New test.
+       * gcc.target/i386/minmax-11.c: New test.
+
+2020-08-05  Patrick Palka  <ppalka@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/96282
+       * g++.dg/cpp0x/constexpr-array26.C: New test.
+       * g++.dg/cpp0x/constexpr-array27.C: New test.
+       * g++.dg/cpp2a/constexpr-init18.C: New test.
+
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96469
+       * gfortran.dg/do_check_14.f90: New test.
+
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96469
+       * gfortran.dg/do_check_4.f90: Hide change in index variable
+       from compile-time analysis.
+       * gfortran.dg/do_check_13.f90: New test.
+
+2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95906
+       PR target/70314
+       * gcc.dg/tree-ssa/andnot-2.c: New file.
+       * gcc.dg/tree-ssa/pr95906.c: Likewise.
+       * gcc.target/i386/pr70314.c: Likewise.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96191
+       * gcc.target/aarch64/stack-protector-1.c: New test.
+       * gcc.target/aarch64/stack-protector-2.c: Likewise.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-blend-runnable.c: New test.
+       * gcc.target/powerpc/vec-permute-ext-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-splati-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-shift-double-runnable.c:  New test file.
+
+2020-08-05  2020-08-04 Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-replace-word-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vec-insert-word-runnable.c: New test case.
+
+2020-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/mul-hi.c: New test.
+       * gcc.target/nvptx/umul-hi.c: New test.
+
+2020-08-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96082
+       * g++.dg/template/template-keyword3.C: New test.
+
+2020-08-04  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/template/pr39425.C: Adjust errors, (unbounded
+       template recursion).
+       * g++.old-deja/g++.pt/spec20.C: Remove fallout diagnostics.
+
+2020-08-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/collapse1.f90: Add dg-error.
+       * gfortran.dg/gomp/collapse2.f90: New test.
+
+2020-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/60473
+       * gcc.target/i386/pr60473.c: New test.
+
+2020-08-04  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * gcc.c-torture/execute/pr23135.c: Add -fwrapv to avoid
+       undefined behavior.
+       * gcc.dg/tree-ssa/pr95433.c: New file.
+
+2020-08-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96153
+       * gdc.dg/pr96153.d: New test.
+
+2020-08-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94024
+       * g++.dg/diagnostic/mem-init1.C: New test.
+
+2020-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/88240
+       * gcc.target/i386/pr88240.c: New testcase.
+
+2020-08-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/lastprivate-conditional-3.f90: Enable some
+       previously disabled 'lastprivate(conditional:' dg-warnings.
+
+2020-08-04  Sudakshina Das  <sudi.das@arm.com>
+
+       * gcc.target/aarch64/cpymem-q-reg_1.c: New test.
+       * gcc.target/aarch64/large_struct_copy_2.c: Update for ldp q regs.
+
+2020-08-04  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/acle/jcvt_2.c: New testcase.
+       * lib/target-supports.exp
+       (check_effective_target_aarch64_fjcvtzs_hw): Add new check for
+       FJCVTZS hw.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96426
+       * gcc.c-torture/compile/pr96426.c: New test.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/96354
+       * g++.dg/opt/pr96354.C: New test.
+
+2020-08-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96429
+       * gdc.dg/pr96429.d: New test.
+
+2020-08-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96325
+       * gfortran.dg/pr96325.f90: Change from run to compile.
+
+2020-08-04  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/71309
+       * gcc.target/powerpc/pr71309.c: New test.
+
+2020-08-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/vector_float.c: Skip if not lp64.
+
+2020-08-03  Marek Polacek  <polacek@redhat.com>
+
+       DR 2032
+       PR c++/96218
+       * g++.dg/cpp1y/var-templ67.C: New test.
+
+2020-08-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96402
+       * gcc.target/aarch64/pr96402.c: New test.
+
+2020-08-03  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/attach-descriptor.f90: Update pattern output. Add
+       scanning of gimplify dump.
+
+2020-08-03  Martin Jambor  <mjambor@suse.cz>
+
+       * lib/target-supports.exp (check_effective_target_offload_hsa):
+       Removed.
+       * c-c++-common/gomp/gridify-1.c: Removed test.
+       * c-c++-common/gomp/gridify-2.c: Likewise.
+       * c-c++-common/gomp/gridify-3.c: Likewise.
+       * c-c++-common/gomp/hsa-indirect-call-1.c: Likewise.
+       * gfortran.dg/gomp/gridify-1.f90: Likewise.
+       * gcc.dg/gomp/gomp.exp: Do not pass -Wno-hsa to tests.
+       * g++.dg/gomp/gomp.exp: Likewise.
+       * gfortran.dg/gomp/gomp.exp: Likewise.
+
+2020-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/pr96377-1.c: Add -Wno-psabi.
+       * gcc.dg/pr96377-2.c: Likewise.
+
+2020-08-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96254
+       * gdc.dg/pr96254a.d: New test.
+       * gdc.dg/pr96254b.d: New test.
+
+2020-08-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR target/96320
+       * gfortran.dg/module_procedure_4.f90 : New test.
+
+2020-08-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96325
+       * gfortran.dg/pr96325.f90: New test.
+       * gfortran.dg/pr91589.f90: Update error message.
+
+2020-08-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c/96377
+       * gcc.dg/pr96377-1.c: New test.
+       * gcc.dg/pr96377-2.c: Likewise.
+       * gcc.dg/pr96377-3.c: Likewise.
+       * gcc.dg/pr96377-4.c: Likewise.
+       * gcc.dg/pr96377-5.c: Likewise.
+       * gcc.dg/pr96377-6.c: Likewise.
+       * gcc.target/aarch64/pr96377-1.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_3.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_4.c: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_3.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_4.C: Likewise.
+
+2020-08-01  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/loop-8.c: Skip for mmix.
+
+2020-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96182
+       * g++.dg/cpp1y/constexpr-96182.C: New test.
+       * g++.dg/other/error35.C (S<T>::g()): Add return statement.
+       * g++.dg/cpp1y/pr63996.C (foo): Likewise.
+       * g++.dg/cpp1y/constexpr-return2.C (f): Likewise.
+       * g++.dg/cpp1y/var-templ44.C (make_array): Add throw 1.
+
+2020-07-31  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * gcc.target/nvptx/v2si-cvt.c: Simplify source.  Remove
+       scan-assembler directives.  Mention PR96403.
+
+2020-07-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/compilable.d: Removed.
+       * gdc.dg/gdc108.d: New test.
+       * gdc.dg/gdc115.d: New test.
+       * gdc.dg/gdc121.d: New test.
+       * gdc.dg/gdc122.d: New test.
+       * gdc.dg/gdc127.d: New test.
+       * gdc.dg/gdc131.d: New test.
+       * gdc.dg/gdc133.d: New test.
+       * gdc.dg/gdc141.d: New test.
+       * gdc.dg/gdc142.d: New test.
+       * gdc.dg/gdc15.d: New test.
+       * gdc.dg/gdc17.d: New test.
+       * gdc.dg/gdc170.d: New test.
+       * gdc.dg/gdc171.d: New test.
+       * gdc.dg/gdc179.d: New test.
+       * gdc.dg/gdc183.d: New test.
+       * gdc.dg/gdc186.d: New test.
+       * gdc.dg/gdc187.d: New test.
+       * gdc.dg/gdc19.d: New test.
+       * gdc.dg/gdc191.d: New test.
+       * gdc.dg/gdc194.d: New test.
+       * gdc.dg/gdc196.d: New test.
+       * gdc.dg/gdc198.d: New test.
+       * gdc.dg/gdc200.d: New test.
+       * gdc.dg/gdc204.d: New test.
+       * gdc.dg/gdc210.d: New test.
+       * gdc.dg/gdc212.d: New test.
+       * gdc.dg/gdc213.d: New test.
+       * gdc.dg/gdc218.d: New test.
+       * gdc.dg/gdc223.d: New test.
+       * gdc.dg/gdc231.d: New test.
+       * gdc.dg/gdc239.d: New test.
+       * gdc.dg/gdc24.d: New test.
+       * gdc.dg/gdc240.d: New test.
+       * gdc.dg/gdc241.d: New test.
+       * gdc.dg/gdc242a.d: New test.
+       * gdc.dg/gdc242b.d: New test.
+       * gdc.dg/gdc248.d: New test.
+       * gdc.dg/gdc250.d: New test.
+       * gdc.dg/gdc251.d: New test.
+       * gdc.dg/gdc253a.d: New test.
+       * gdc.dg/gdc253b.d: New test.
+       * gdc.dg/gdc255.d: New test.
+       * gdc.dg/gdc256.d: New test.
+       * gdc.dg/gdc261.d: New test.
+       * gdc.dg/gdc27.d: New test.
+       * gdc.dg/gdc273.d: New test.
+       * gdc.dg/gdc280.d: New test.
+       * gdc.dg/gdc284.d: New test.
+       * gdc.dg/gdc285.d: New test.
+       * gdc.dg/gdc286.d: New test.
+       * gdc.dg/gdc300.d: New test.
+       * gdc.dg/gdc309.d: New test.
+       * gdc.dg/gdc31.d: New test.
+       * gdc.dg/gdc35.d: New test.
+       * gdc.dg/gdc36.d: New test.
+       * gdc.dg/gdc37.d: New test.
+       * gdc.dg/gdc4.d: New test.
+       * gdc.dg/gdc43.d: New test.
+       * gdc.dg/gdc47.d: New test.
+       * gdc.dg/gdc51.d: New test.
+       * gdc.dg/gdc57.d: New test.
+       * gdc.dg/gdc66.d: New test.
+       * gdc.dg/gdc67.d: New test.
+       * gdc.dg/gdc71.d: New test.
+       * gdc.dg/gdc77.d: New test.
+       * gdc.dg/imports/gdc239.d: Remove phobos dependency.
+       * gdc.dg/imports/gdc241a.d: Updated imports.
+       * gdc.dg/imports/gdc241b.d: Likewise.
+       * gdc.dg/imports/gdc251a.d: Likewise.
+       * gdc.dg/imports/gdc253.d: Rename to...
+       * gdc.dg/imports/gdc253a.d: ...this.
+       * gdc.dg/imports/gdc253b.d: New.
+       * gdc.dg/imports/gdc36.d: New.
+       * gdc.dg/imports/runnable.d: Removed.
+       * gdc.dg/link.d: Removed.
+       * gdc.dg/runnable.d: Removed.
+       * gdc.dg/runnable2.d: Removed.
+       * gdc.dg/simd.d: Remove phobos dependency.
+
+2020-07-31  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96003
+       * g++.dg/warn/Wnonnull7.C: New test.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96383
+       * gcc.dg/debug/dwarf2/pr96383-1.c: New testcase.
+       * gcc.dg/debug/dwarf2/pr96383-2.c: Likewise.
+
+2020-07-31  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/aarch64/sve/cost_model_2.c: Adjust due to cost model
+       change.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96369
+       * c-c++-common/pr96369.c: New testcase.
+
+2020-07-31  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/tree-prof/indir-call-prof-malloc.c: New test.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/torture/20200727-0.c: New testcase.
+
+2020-07-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96197
+       * g++.dg/cpp1y/constexpr-array8.C: New test.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96152
+       * gdc.dg/pr96152.d: New test.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96154
+       * gdc.dg/pr96154a.d: New test.
+       * gdc.dg/pr96154b.d: New test.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96140
+       * gdc.dg/pr96140.d: New test.
+
+2020-07-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/lsbb-runnable.c: New test.
+       * gcc.target/powerpc/lsbb.c: New test.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/array1.d: New test.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/intrinsics.d: Add ror and rol tests.
+
+2020-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/intrinsics.d: New test.
+
+2020-07-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96370
+       * gcc.dg/pr96370.c: New testcase.
+
+2020-07-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * gcc.target/nvptx/v2si-vec-set-extract.c: New test.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/64194
+       * g++.dg/cpp1y/auto-fn60.C: New test.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95486
+       * g++.dg/cpp2a/class-deduction-alias3.C: New test.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96106
+       * g++.dg/concepts/abbrev7.C: New test.
+
+2020-07-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96164
+       * g++.dg/cpp2a/concepts-explicit-inst5.C: New test.
+
+2020-07-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/recip-1.c: New test.
+
+2020-07-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91427
+       * g++.dg/coroutines/co-return-syntax-10-movable.C: Extend.
+       * g++.dg/cpp0x/Wredundant-move1.C: Adjust for C++20.
+       * g++.dg/cpp0x/Wredundant-move7.C: Adjust for C++20.
+       * g++.dg/cpp0x/Wredundant-move9.C: Adjust for C++20.
+       * g++.dg/cpp0x/elision_neg.C: Adjust for C++20.
+       * g++.dg/cpp0x/move-return2.C: Adjust for C++20.
+       * g++.dg/cpp0x/ref-qual20.C: Adjust for C++20.
+       * g++.dg/cpp2a/implicit-move1.C: New test.
+       * g++.dg/cpp2a/implicit-move2.C: New test.
+       * g++.dg/cpp2a/implicit-move3.C: New test.
+
+2020-07-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91212
+       * g++.dg/cpp0x/move-return3.C: New test.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/order-3.f90: New test.
+       * gfortran.dg/gomp/order-4.f90: New test.
+
+2020-07-29  Tiziano Müller  <tiziano.mueller@chem.uzh.ch>
+
+       * c-c++-common/cpp/has-include-1-traditional.c: New.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/map-3.f90: New test.
+       * gfortran.dg/gomp/map-4.f90: New test.
+
+2020-07-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve-vldstr16-no-writeback.c: New file.
+
+2020-07-29  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96319
+       * gfortran.dg/pr96319.f90: New test.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96349
+       * gcc.dg/torture/pr96349.c: New testcase.
+
+2020-07-29  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/53298
+       * gfortran.dg/pr53298.f90: New test.
+
+2020-07-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/requires-1.f90: New test.
+       * gfortran.dg/gomp/requires-2.f90: New test.
+       * gfortran.dg/gomp/requires-3.f90: New test.
+       * gfortran.dg/gomp/requires-4.f90: New test.
+       * gfortran.dg/gomp/requires-5.f90: New test.
+       * gfortran.dg/gomp/requires-6.f90: New test.
+       * gfortran.dg/gomp/requires-7.f90: New test.
+       * gfortran.dg/gomp/requires-8.f90: New test.
+       * gfortran.dg/gomp/requires-9.f90: New test.
+
+2020-07-28  Sergei Trofimovich  <siarheit@google.com>
+
+       PR ipa/96291
+       * gcc.dg/lto/pr96291_0.c: New testcase.
+       * gcc.dg/lto/pr96291_1.c: Support file.
+       * gcc.dg/lto/pr96291_2.c: Likewise.
+       * gcc.dg/lto/pr96291.h: Likewise.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/fold-popcount-5.c: New test.
+       * gcc.dg/fold-parity-1.c: Likewise.
+       * gcc.dg/fold-parity-2.c: Likewise.
+       * gcc.dg/fold-parity-3.c: Likewise.
+       * gcc.dg/fold-parity-4.c: Likewise.
+       * gcc.dg/fold-parity-5.c: Likewise.
+
+2020-07-28  Nathan Sidwell  <nathan@acm.org>
+
+       * lib/options.exp: Fix spello
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+           Mark Wielaard  <mark@klomp.org>
+
+       PR c++/96328
+       * g++.dg/diagnostic/pr96328.C: New test.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/96323
+       * c-c++-common/cpp/pr96323.c: New test.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * gcc.target/nvptx/cvt.c: New test.
+       * gcc.target/nvptx/shift16.c: New test.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp2a/nontype-subob1.C: Allow s1, i1 or x1 instead of l1 for
+       targets with short, int or long long ssize_t.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96335
+       * gcc.dg/pr96335.c: New test.
+
+2020-07-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/torture/pr39074-2.c: Adjust for mmix.
+       * gcc.dg/torture/pr39074.c, gcc.dg/torture/pta-callused-1.c: Ditto.
+
+2020-07-27  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/lookup/missing-std-include-10.h: New.
+       * g++.dg/lookup/missing-std-include-10.C: New.
+       * g++.dg/lookup/missing-std-include-11.C: New.
+
+2020-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/84079
+       * gcc.dg/Warray-bounds-62.c: New test.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96128
+       * gcc.target/s390/vector/pr96128.c: New test.
+
+2020-07-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/96203
+       * gcc.target/i386/pr96203-1.c: New test.
+       * gcc.target/i386/pr96203-2.c: Likewise.
+
+2020-07-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/vector-4.c: Adjust for mmix.
+
+2020-07-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Adjust for mmix.
+
+2020-07-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail scan for mmix.
+
+2020-07-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/reassoc-20.c: Adjust for mmix.
+
+2020-07-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79504
+       * g++.dg/cpp0x/decltype79.C: New test.
+
+2020-07-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/forwprop-36.c: Adjust for mmix.
+
+2020-07-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/torture/pr59330.c: Disable for mmix.
+
+2020-07-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/abi/pure-virtual1.C: Add dynamic_lookup option
+       for Darwin.
+
+2020-07-25  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96310
+       * g++.dg/warn/Wnonnull8.C: New file.
+
+2020-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/pr95907.c: New.
+
+2020-07-24  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * c-c++-common/pr56493.c: Allow ":" in label, for mmix.
+
+2020-07-24  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * c-c++-common/patchable_function_entry-decl.c,
+       c-c++-common/patchable_function_entry-default.c,
+       c-c++-common/patchable_function_entry-definition.c: Adjust for mmix.
+
+2020-07-24  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/96192
+       * c-c++-common/pr96192-1.c: New test.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/scanoffload.exp (scoff-testname, scoff-adjust): New.
+       (scoff): Call them.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR driver/96230
+       * gcc.misc-tests/outputs.exp: Add tests with -dumpbase-ext,
+       with identical -dumpbase, with -dumpbase "", and without any
+       -dumpbase.
+       (outest): Fix "" expansion in expected outputs, skip
+       adjustments.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR testsuite/95720
+       * lib/gcc-defs.exp (gcc_adjust_linker_flags_list): Split out of...
+       (gcc_adjust_linker_flags): ... this.  Protect gluefile and
+       wrap_flags.
+       * gcc.misc-tests/outputs.exp: Use gcc_adjust_linker_flags_list.
+
+2020-07-24  Dominique d'Humieres  <dhumieres.dominique@free.fr>
+
+       PR fortran/93567
+       * gfortran.dg/round_3.f08: Add test cases.
+
+2020-07-24  Dominique d'Humieres  <dhumieres.dominique@free.fr>
+
+       PR fortran/93592
+       * gfortran.dg/fmt_en.f90: Adjust test.
+       * gfortran.dg/fmt_en_rd.f90: New test.
+       * gfortran.dg/fmt_en_rn.f90: New test.
+       * gfortran.dg/fmt_en_ru.f90: New test.
+       * gfortran.dg/fmt_en_rz.f90: New test.
+
+2020-07-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/81339
+       * g++.dg/cpp0x/decltype78.C: New test.
+
+2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/scandump.exp (scan-dump-dem-not): Fix TCL syntax error.
+
+2020-07-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/95886
+       * gcc.target/i386/memcpy-pr95886.c: Restrict test to !ia32.
+
+2020-07-23  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/95886
+       * gcc.target/i386/memcpy-pr95886.c: Restrict test to LP64.
+
+2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/lastprivate-conditional-1.f90: New test.
+       * gfortran.dg/gomp/lastprivate-conditional-2.f90: New test.
+       * gfortran.dg/gomp/lastprivate-conditional-3.f90: New test.
+       * gfortran.dg/gomp/lastprivate-conditional-4.f90: New test.
+       * gfortran.dg/gomp/lastprivate-conditional-5.f90: New test.
+
+2020-07-23  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96260
+       * gcc.target/riscv/pr91441.c: Update warning message.
+       * gcc.target/riscv/pr96260.c: New.
+
+2020-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * c-c++-common/builtin-has-attribute-4.c: Require visibility.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/cancel-2.f90: New test.
+       * gfortran.dg/gomp/cancel-3.f90: New test.
+       * gfortran.dg/gomp/if-1.f90: New test.
+
+2020-07-22  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96236
+       * gcc.target/powerpc/mma-double-test.c: Update storing results for
+       correct little-endian ordering.
+       * gcc.target/powerpc/mma-single-test.c: Likewise.
+
+2020-07-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95237
+       * c-c++-common/pr95237-6.c: Only run for x86 targets.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/critical-hint-1.c: Moved to libgomp/.
+       * c-c++-common/gomp/critical-hint-2.c: Moved to libgomp/.
+       * gfortran.dg/gomp/critical-hint-1.f90: Moved to libgomp/.
+       * gfortran.dg/gomp/critical-hint-2.f90: Moved to libgomp/.
+
+2020-07-22  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * gcc.target/aarch64/ldp_vec_v2sf.c: New test.
+       * gcc.target/aarch64/ldp_vec_v2si.c: New test.
+       * gcc.target/aarch64/stp_vec_v2df.c: New test.
+       * gcc.target/aarch64/stp_vec_v2di.c: New test.
+       * gcc.target/aarch64/stp_vec_v2sf.c: New test.
+       * gcc.target/aarch64/stp_vec_v2si.c: New test.
+
+2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * g++.dg/gomp/critical-3.C: Add nameless critical with hint testcase.
+       * c-c++-common/gomp/critical-hint-1.c: New test.
+       * c-c++-common/gomp/critical-hint-2.c: New test.
+       * gfortran.dg/gomp/critical-hint-1.f90: New test.
+       * gfortran.dg/gomp/critical-hint-2.f90: New test.
+
+2020-07-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/no_profile_instrument_function-attr-1.c: Adjust scanned
+       regex for NO_DOT_IN_LABEL.
+
+2020-07-21  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95237
+       * c-c++-common/pr95237-1.c: New test.
+       * c-c++-common/pr95237-2.c: New test.
+       * c-c++-common/pr95237-3.c: New test.
+       * c-c++-common/pr95237-4.c: New test.
+       * c-c++-common/pr95237-5.c: New test.
+       * c-c++-common/pr95237-6.c: New test.
+       * c-c++-common/pr95237-7.c: New test.
+       * c-c++-common/pr95237-8.c: New test.
+       * c-c++-common/pr95237-9.c: New test.
+
+2020-07-21  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/92488
+       * gcc.target/powerpc/convert-fp-128.c (bl): Update POWER9 count.
+
+2020-07-21  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/parse/pr96257.C: New.
+
+2020-07-21  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/89574
+       * gfortran.dg/pr89574.f90: New file.
+
+2020-07-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * lib/profopt.exp (auto-profopt-execute): Pass -DFOR_AUTOFDO_TESTING
+       on command line for both compiles.
+       * gcc.dg/tree-prof/cold_partition_label.c: Scale down for
+       non-FDO testing.
+       * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: Likewise.
+       * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: Likewise.
+       * gcc.dg/tree-prof/indir-call-prof-topn.c: Likewise.
+       * gcc.dg/tree-prof/section-attr-1.c: Likewise.
+       * gcc.dg/tree-prof/section-attr-2.c: Likewise.
+       * gcc.dg/tree-prof/section-attr-3.c: Likewise.
+
+2020-07-21  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.dg/attr-copy-4.c: Unpacked may still have alignment of 1
+       on targets with default_packed.
+       * gcc.dg/c11-align-9.c: Remove AVR target filter and replace
+       with default_packed filter.
+
+2020-07-21  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.dg/pr53037-1.c: Relax warning pattern.
+
+2020-07-21  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * c-c++-common/Waddress-of-packed-member-2.c: Add dg-warning for
+       ignored attribute if target is default_packed.
+       * c-c++-common/Wattributes.c: Ditto.
+       * c-c++-common/attr-copy.c: Ditto.
+       * c-c++-common/builtin-has-attribute-4.c: Ditto.
+       * c-c++-common/pr51628-29.c: Ditto.
+       * c-c++-common/pr51628-30.c: Ditto.
+       * c-c++-common/pr51628-32.c: Ditto.
+       * gcc.dg/Wattributes-6.c: Ditto.
+       * gcc.dg/attr-copy-4.c: Ditto.
+       * gcc.dg/attr-copy-8.c: Ditto.
+
+2020-07-21  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * c-c++-common/Waddress-of-packed-member-1.c: Filter dg-warning
+       for targets who pack by default.
+       * c-c++-common/Waddress-of-packed-member-2.c: Ditto.
+       * c-c++-common/pr51628-13.c: Ditto.
+       * c-c++-common/pr51628-15.c: Ditto.
+       * c-c++-common/pr51628-16.c: Ditto.
+       * c-c++-common/pr51628-26.c: Ditto.
+       * c-c++-common/pr51628-27.c: Ditto.
+       * c-c++-common/pr51628-28.c: Ditto.
+       * c-c++-common/pr51628-29.c: Ditto.
+       * c-c++-common/pr51628-3.c: Ditto.
+       * c-c++-common/pr51628-30.c: Ditto.
+       * c-c++-common/pr51628-31.c: Ditto.
+       * c-c++-common/pr51628-32.c: Ditto.
+       * c-c++-common/pr51628-33.c: Ditto.
+       * c-c++-common/pr51628-35.c: Ditto.
+       * c-c++-common/pr51628-4.c: Ditto.
+       * c-c++-common/pr51628-5.c: Ditto.
+       * c-c++-common/pr51628-6.c: Ditto.
+       * c-c++-common/pr51628-8.c: Ditto.
+       * c-c++-common/pr51628-9.c: Ditto.
+       * c-c++-common/pr88664-2.c: Ditto.
+       * gcc.dg/pr51628-17.c: Ditto.
+       * gcc.dg/pr51628-19.c: Ditto.
+       * gcc.dg/pr51628-20.c: Ditto.
+       * gcc.dg/pr51628-21.c: Ditto.
+       * gcc.dg/pr51628-22.c: Ditto.
+       * gcc.dg/pr51628-24.c: Ditto.
+       * gcc.dg/pr51628-25.c: Ditto.
+       * gcc.dg/pr51628-34.c: Ditto.
+       * gcc.dg/pr88928.c: Ditto.
+
+2020-07-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.dg/analyzer/signal-1.c: Add dg-require-effective-target
+       signal.
+       * gcc.dg/analyzer/signal-2.c: Ditto.
+       * gcc.dg/analyzer/signal-3.c: Ditto.
+       * gcc.dg/analyzer/signal-4a.c: Ditto.
+       * gcc.dg/analyzer/signal-4b.c: Ditto.
+       * gcc.dg/analyzer/signal-5.c: Ditto.
+       * gcc.dg/analyzer/signal-6.c: Ditto.
+       * gcc.dg/analyzer/signal-exit.c: Ditto.
+
+2020-07-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/89310
+       * gcc.target/powerpc/pr89310.c: New test.
+
+2020-07-21  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/p9-vec-length-1.h: New test.
+       * gcc.target/powerpc/p9-vec-length-2.h: New test.
+       * gcc.target/powerpc/p9-vec-length-3.h: New test.
+       * gcc.target/powerpc/p9-vec-length-4.h: New test.
+       * gcc.target/powerpc/p9-vec-length-5.h: New test.
+       * gcc.target/powerpc/p9-vec-length-6.h: New test.
+       * gcc.target/powerpc/p9-vec-length-7.h: New test.
+       * gcc.target/powerpc/p9-vec-length-8.h: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-1.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-2.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-3.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-4.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-5.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-6.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-7.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-8.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-1.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-2.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-3.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-4.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-5.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-6.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-7.c: New test.
+       * gcc.target/powerpc/p9-vec-length-epil-run-8.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-1.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-2.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-3.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-4.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-5.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-6.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-7.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-8.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-1.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-2.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-3.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-4.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-5.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-6.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-7.c: New test.
+       * gcc.target/powerpc/p9-vec-length-full-run-8.c: New test.
+       * gcc.target/powerpc/p9-vec-length-run-1.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-2.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-3.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-4.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-5.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-6.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-7.h: New test.
+       * gcc.target/powerpc/p9-vec-length-run-8.h: New test.
+       * gcc.target/powerpc/p9-vec-length.h: New test.
+
+2020-07-21  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/independent-cloneids-1.c: Skip for mmix.
+       flag_stack_usage_info.
+
+2020-07-21  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/cdce3.c: Update matched line-number.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/opt/flifetime-dse7.C: New test.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1z/nontype2.C: No error in C++20.
+       * g++.dg/template/nontype25.C: No error in C++20.
+       * g++.dg/template/nontype8.C: No error in C++20.
+       * g++.dg/cpp2a/nontype-subob1.C: New test.
+       * g++.dg/cpp2a/nontype-subob2.C: New test.
+       * g++.dg/cpp1z/nontype3.C: Now C++17-only.
+       * g++.dg/cpp2a/feat-cxx2a.C: Adjust expected value.
+
+2020-07-20  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/class-deduction-aggr7.C: New test.
+
+2020-07-20  Yang Yang  <yangyang305@huawei.com>
+
+       * gcc.target/aarch64/sve/pr96195.c: New test.
+
+2020-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * gcc.target/i386/pr95750.c: New test.
+
+2020-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95189
+       PR middle-end/95886
+       * gcc.dg/memcmp-pr95189.c: New test.
+       * gcc.dg/strncmp-3.c: New test.
+       * gcc.target/i386/memcpy-pr95886.c: New test.
+
+2020-07-20  Alex Coplan  <alex.coplan@arm.com>
+
+       PR jit/69435
+       * jit.dg/jit.exp (fixed_host_execute): Fix regex patterns to
+       always explicitly match newlines.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * gcc.dg/tree-ssa/pr93121-2.c: New test.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * gcc.dg/tree-ssa/pr93121-1.c: New test.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/const-uniq-1.c: Adjust scanned pattern for mmix.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/cdce3.c: Skip for mmix.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/pr87485.c: Require scheduling.
+
+2020-07-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95973
+       PR target/96238
+       * gcc.target/i386/pr95973.c: New test.
+
+2020-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96018
+       * gfortran.dg/implicit_pure_5.c: New file.
+       * gfortran.dg/implicit_pure_5.f90: New file.
+
+2020-07-19  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/attr-copy-6.c: Require visibility.
+
+2020-07-19  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/Wno-frame-address.c: Skip for cris and mmix.
+
+2020-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/cpp/pragma-eof.c: Use .+3 instead of 6 in
+       dg-error.
+
+2020-07-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/goacc/finalize-1.f: Adjust regex for 32 bits.
+
+2020-07-18  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * c-c++-common/cpp/pragma-eof.c: Require fopenmp.
+
+2020-07-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/92488
+       * gcc.target/powerpc/convert-fp-128.c (bl, drsp, drdpq): Update counts.
+       (__dpd_trunctdsd2): Make conditional on !hard_dfp.
+       (__dpd_extendsddd2, __dpd_extendsdtd2, __dpd_truncddsd2,
+       __dpd_extendddtd2, __dpd_trunctddd2): Use !hard_dfp.
+       * gcc.target/powerpc/pr92488.c: New test.
+
+2020-07-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/79815
+       * g++.dg/cpp1y/auto-fn59.C: New test.
+
+2020-07-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96186
+       PR target/88713
+       * gcc.target/i386/pr88713-3.c: New test.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/cpunative/aarch64-cpunative.exp: New test.
+       * gcc.target/aarch64/cpunative/info_0: New test.
+       * gcc.target/aarch64/cpunative/info_1: New test.
+       * gcc.target/aarch64/cpunative/info_10: New test.
+       * gcc.target/aarch64/cpunative/info_11: New test.
+       * gcc.target/aarch64/cpunative/info_12: New test.
+       * gcc.target/aarch64/cpunative/info_13: New test.
+       * gcc.target/aarch64/cpunative/info_14: New test.
+       * gcc.target/aarch64/cpunative/info_15: New test.
+       * gcc.target/aarch64/cpunative/info_2: New test.
+       * gcc.target/aarch64/cpunative/info_3: New test.
+       * gcc.target/aarch64/cpunative/info_4: New test.
+       * gcc.target/aarch64/cpunative/info_5: New test.
+       * gcc.target/aarch64/cpunative/info_6: New test.
+       * gcc.target/aarch64/cpunative/info_7: New test.
+       * gcc.target/aarch64/cpunative/info_8: New test.
+       * gcc.target/aarch64/cpunative/info_9: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_0.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_1.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_10.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_11.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_12.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_13.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_14.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_15.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_2.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_3.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_4.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_5.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_6.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_7.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_8.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_9.c: New test.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * lib/gcc-dg.exp (dg-set-compiler-env-var, dg-set-target-env-var): Add
+       verbose output.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/93720
+       * gcc.target/aarch64/vins-1.c: New test.
+       * gcc.target/aarch64/vins-2.c: New test.
+       * gcc.target/aarch64/vins-3.c: New test.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/82199
+       * gcc.target/aarch64/vdup_n_3.c: New test.
+       * gcc.target/aarch64/vzip_1.c: New test.
+       * gcc.target/aarch64/vzip_2.c: New test.
+       * gcc.target/aarch64/vzip_3.c: New test.
+       * gcc.target/aarch64/vzip_4.c: New test.
+
+2020-07-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96127
+       * gcc.target/s390/pr96127.c: New test.
+
+2020-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/conv-vectorize-1.c: Add option
+       -fno-vect-cost-model.
+       * gcc.target/powerpc/conv-vectorize-2.c: Likewise.
+
+2020-07-16  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/attach-descriptor.f90: New test.
+
+2020-07-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95591
+       PR c++/95599
+       PR c++/95823
+       PR c++/95824
+       PR c++/95895
+       * g++.dg/coroutines/pr95591.C: New test.
+       * g++.dg/coroutines/pr95599.C: New test.
+       * g++.dg/coroutines/pr95823.C: New test.
+       * g++.dg/coroutines/pr95824.C: New test.
+
+2020-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR testsuite/96014
+       * g++.dg/analyzer/pr94028.C: Replace dynamic exception
+       specification with noexcept-specifier for C++11 and later.
+
+2020-07-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * gcc.target/i386/pr96189-1.c: New test.
+
+2020-07-16  Marek Polacek  <polacek@redhat.com>
+
+       DR 188
+       * g++.dg/DRs/dr188.C: New test.
+
+2020-07-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * gcc.target/i386/pr96189.c: New test.
+
+2020-07-15  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/parse/pragma-recovery.C: New.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96174
+       * gcc.target/i386/avx512f-vcmppd-3.c: New test.
+       * gcc.target/i386/avx512f-vcmpps-3.c: New test.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96176
+       * gcc.target/i386/pr96176.c: New test.
+
+2020-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/59978
+       * g++.dg/cpp0x/vt-59978.C: New test.
+
+2020-07-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95443
+       * gcc.target/i386/pr95443-1.c (simple_strstr): Replace
+       __glibc_unlikely with __builtin_expect.
+
+2020-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95789
+       PR c++/96104
+       PR c++/96179
+       * g++.dg/conversion/ref4.C: New test.
+       * g++.dg/conversion/ref5.C: New test.
+       * g++.dg/conversion/ref6.C: New test.
+
+2020-07-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/49973
+       PR other/86904
+       * c-c++-common/Wmisleading-indentation-3.c: Adjust expected output
+       for new defaults.
+       * c-c++-common/Wmisleading-indentation.c: Likewise.
+       * c-c++-common/diagnostic-format-json-1.c: Likewise.
+       * c-c++-common/diagnostic-format-json-2.c: Likewise.
+       * c-c++-common/diagnostic-format-json-3.c: Likewise.
+       * c-c++-common/diagnostic-format-json-4.c: Likewise.
+       * c-c++-common/diagnostic-format-json-5.c: Likewise.
+       * c-c++-common/missing-close-symbol.c: Likewise.
+       * g++.dg/diagnostic/bad-binary-ops.C: Likewise.
+       * g++.dg/parse/error4.C: Likewise.
+       * g++.old-deja/g++.brendan/crash11.C: Likewise.
+       * g++.old-deja/g++.pt/overload2.C: Likewise.
+       * g++.old-deja/g++.robertl/eb109.C: Likewise.
+       * gcc.dg/analyzer/malloc-paths-9.c: Likewise.
+       * gcc.dg/bad-binary-ops.c: Likewise.
+       * gcc.dg/format/branch-1.c: Likewise.
+       * gcc.dg/format/pr79210.c: Likewise.
+       * gcc.dg/plugin/diagnostic-test-expressions-1.c: Likewise.
+       * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Likewise.
+       * gcc.dg/redecl-4.c: Likewise.
+       * gfortran.dg/diagnostic-format-json-1.F90: Likewise.
+       * gfortran.dg/diagnostic-format-json-2.F90: Likewise.
+       * gfortran.dg/diagnostic-format-json-3.F90: Likewise.
+       * go.dg/arrayclear.go: Add a comment explaining why adding a
+       comment was necessary to work around a dejagnu bug.
+       * c-c++-common/diagnostic-units-1.c: New test.
+       * c-c++-common/diagnostic-units-2.c: New test.
+       * c-c++-common/diagnostic-units-3.c: New test.
+       * c-c++-common/diagnostic-units-4.c: New test.
+       * c-c++-common/diagnostic-units-5.c: New test.
+       * c-c++-common/diagnostic-units-6.c: New test.
+       * c-c++-common/diagnostic-units-7.c: New test.
+       * c-c++-common/diagnostic-units-8.c: New test.
+
+2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/finalize-1.f: Relax scan-tree-dump-times
+       pattern to work on 32bit-pointer systems.
+
+2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/ipa/pr83667.C: Allow 0 or more dots between THUNK and 0.
+
+2020-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96194
+       * g++.dg/opt/pr96194.C: New test.
+
+2020-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95820
+       * g++.dg/cpp1y/auto-fn58.C: New test.
+
+2020-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95612
+       * gfortran.dg/pr95612.f90: New test.
+
+2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/finalize-1.f: Update dump scan pattern.
+       * gfortran.dg/gomp/map-1.f90: Update dg-error.
+       * gfortran.dg/gomp/map-2.f90: New test.
+
+2020-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/96038
+       * gfortran.dg/pr96038.f90: New test.
+
+2020-07-13  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * lib/target-supports.exp (is-effective-target):
+       Reorder to put powerpc stuff together.
+       (is-effective-target-keyword): Add power10_hw.
+
+2020-07-13  Nathan Sidwell  <nathan@acm.org>
+
+       * lib/scanlang.exp (scan-lang-dump): Fix breakage.
+       (scan-lang-dump-times, scan-lang-dump-not): New.
+
+2020-07-13  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * lib/target-supports.exp (check_ppc_mma_hw_available):
+       New function.
+       (is-effective-target): Add ppc_mma_hw.
+       (is-effective-target-keyword): Add ppc_mma_hw.
+       * gcc.target/powerpc/mma-supported.c: New file.
+       * gcc.target/powerpc/mma-single-test.c: Require ppc_mma_hw.
+       * gcc.target/powerpc/mma-double-test.c: Require ppc_mma_hw.
+
+2020-07-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95443
+       * gcc.target/i386/pr95443-1.c: New test.
+       * gcc.target/i386/pr95443-2.c: Likewise.
+
+2020-07-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95288
+       * g++.dg/diagnostic/enum2.C: New test.
+
+2020-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/96130
+       * gcc.dg/torture/pr96130.c: New test.
+
+2020-07-13  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/45337
+       * gfortran.dg/pr45337_1.f90: New test.
+       * gfortran.dg/pr45337_2.f90: New test.
+
+2020-07-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96077
+       * g++.dg/parse/enum14.C: New test.
+
+2020-07-13  Nathan Sidwell  <nathan@acm.org>
+
+       * lib/scanlang.exp (scan-lang-dump-not): Fix 3-arg case.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96163
+       * g++.dg/vect/pr96163.cc: New testcase.
+
+2020-07-13  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95981
+       * gfortran.dg/pr95981.f90: New test.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       * gcc.target/aarch64/return_address_sign_1.c: Update test.
+       * gcc.target/aarch64/return_address_sign_b_1.c: Likewise.
+
+2020-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95114
+       * g++.target/aarch64/pr95114.C: New test.
+
+2020-07-13  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/finalize-1.f: Update expected dump output.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96180
+       * gcc.dg/torture/pr96133.c: Align global variable.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/pr93372-44.c, gcc.target/cris/pr93372-46.c: New.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * gcc.target/cris/pr93372-45.c: New test.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/94600
+       * gcc.dg/pr94600-1.c, gcc.dg/pr94600-2.c, gcc.dg/pr94600-3.c,
+       gcc.dg/pr94600-4.c, gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c,
+       gcc.dg/pr94600-7.c, gcc.dg/pr94600-8.c: New tests.
+
+2020-07-13  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/vector_float.c: New test.
+
+2020-07-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * gcc.target/i386/pr93492-1.c: Require Linux target.
+       * gcc.target/i386/pr93492-2.c: Likewise.
+       * gcc.target/i386/pr93492-3.c: Likewise.
+       * gcc.target/i386/pr93492-4.c: Likewise.
+       * gcc.target/i386/pr93492-5.c: Likewise.
+
+2020-07-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96073
+       * gfortran.dg/interface_48.f90: New test.
+
+2020-07-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/96146
+       * gcc.target/aarch64/sve/acle/general/pr96146.c: New test.
+
+2020-07-11  Simon Cook  <simon.cook@embecosm.com>
+
+       * gcc.target/riscv/read-thread-pointer.c: Fix escaping on
+       regular expression.
+
+2020-07-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-bool-limits-1.c, gcc.dg/c2x-bool-limits-1.c: New
+       tests.
+
+2020-07-10  Rajalakshmi Srinivasaraghavan  <rajis@linux.vnet.ibm.com>
+           Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/p10-identify.c: New file.
+       * gcc.target/powerpc/p10-arch31.c: New file.
+       * gcc.target/powerpc/mma-single-test.c: New file.
+       * gcc.target/powerpc/mma-double-test.c: New file.
+
+2020-07-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95980
+       * gfortran.dg/pr95980_2.f90: New file.
+
+2020-07-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/96086
+       * gfortran.dg/pr96086.f90: New file.
+
+2020-07-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * g++.target/arm/pr95726.C: New test.
+
+2020-07-10  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/vsx_mask-count-runnable.c: New test case.
+       * gcc.target/powerpc/vsx_mask-expand-runnable.c: New test case.
+       * gcc.target/powerpc/vsx_mask-extract-runnable.c: New test case.
+       * gcc.target/powerpc/vsx_mask-move-runnable.c: New test case.
+
+2020-07-10  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/96148
+       * lib/scanwpaipa.exp: Fix wpa dump file suffix the same way
+       as other in the file.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/nontype-class-union1.C: New test.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/pr81246.C: No error in C++20.
+       * g++.dg/cpp0x/variadic74.C: No error in C++20.
+       * g++.dg/cpp1z/nontype-auto3.C: No error in C++20.
+       * g++.dg/template/crash106.C: No error in C++20.
+       * g++.dg/template/crash119.C: No error in C++20.
+       * g++.dg/template/nontype12.C: No error in C++20.
+       * g++.dg/template/void3.C: Don't require follow-on message.
+       * g++.dg/template/void7.C: Don't require follow-on message.
+       * g++.dg/template/void9.C: Don't require follow-on message.
+       * g++.dg/cpp2a/nontype-class-equiv1.C: New file.
+
+2020-07-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96105
+       PR c++/96052
+       PR c++/95976
+       * g++.dg/cpp2a/no_unique_address4.C: New test.
+       * g++.dg/cpp2a/no_unique_address5.C: New test.
+       * g++.dg/cpp2a/no_unique_address6.C: New test.
+
+2020-07-10  Andrea Corallo  <andrea.corallo@arm.com>
+           Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Iain Apreotesei  <iain.apreotesei@arm.com>
+
+       * gcc.target/arm/lob.h: New header.
+       * gcc.target/arm/lob1.c: New testcase.
+       * gcc.target/arm/lob2.c: Likewise.
+       * gcc.target/arm/lob3.c: Likewise.
+       * gcc.target/arm/lob4.c: Likewise.
+       * gcc.target/arm/lob5.c: Likewise.
+       * gcc.target/arm/lob6.c: Likewise.
+       * gcc.target/arm/unsigned-extend-2.c: Do not run when generating
+       low loop overhead.
+       * gcc.target/arm/ivopts.c: Fix check for low loop overhead.
+       * lib/target-supports.exp (check_effective_target_arm_v8_1_lob)
+       (check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob): New procs.
+
+2020-07-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96133
+       * gcc.dg/torture/pr96133.c: New testcase.
+
+2020-07-10  Cui,Lili  <lili.cui@intel.com>
+
+       * gcc.target/i386/funcspec-56.inc: Handle new march.
+       * g++.target/i386/mv16.C: Handle new march
+
+2020-07-09  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/95270
+       * c-c++-common/goacc/mdc-1.c: Update expected dump output for zero
+       bias.
+
+2020-07-09  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/mapping-tests-3.f90: New test.
+       * gfortran.dg/goacc/mapping-tests-4.f90: New test.
+
+2020-07-09  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96125
+       * gcc.target/powerpc/pr96125.c: New test.
+
+2020-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96132
+       * g++.dg/template/incomplete12.C: New test.
+
+2020-07-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/88713
+       * gcc.target/i386/pr88713-1.c: New test.
+       * gcc.target/i386/pr88713-2.c: Likewise.
+
+2020-07-09  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-10.c: Adjust.
+       * gcc.dg/vect/slp-45.c: Likewise.
+       * gcc.dg/vect/vect-109.c: Likewise.
+
+2020-07-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95804
+       * gcc.dg/tree-ssa/pr95804.c: New test.
+
+2020-07-09  Omar Tahir  <omar.tahir@arm.com>
+
+       * gcc.target/aarch64/nospill.c: New test.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c: New test.
+       * gcc.target/aarch64/sls-mitigation/sls-miti-blr.c: New test.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c: New test.
+       * gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c:
+       New test.
+       * gcc.target/aarch64/sls-mitigation/sls-mitigation.exp: New file.
+       * lib/target-supports.exp (check_effective_target_aarch64_asm_sb_ok):
+       New proc.
+
+2020-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/aarch64/sve/clastb_1.c: Update dumping string.
+       * gcc.target/aarch64/sve/clastb_2.c: Likewise.
+       * gcc.target/aarch64/sve/clastb_3.c: Likewise.
+       * gcc.target/aarch64/sve/clastb_4.c: Likewise.
+       * gcc.target/aarch64/sve/clastb_5.c: Likewise.
+       * gcc.target/aarch64/sve/clastb_6.c: Likewise.
+       * gcc.target/aarch64/sve/clastb_7.c: Likewise.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/read-thread-pointer.c: New.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/save-restore-9.c: New.
+
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-11.c: New test.
+       * gcc.dg/sso/sso.exp: Pass -Wno-scalar-storage-order.
+       * gcc.dg/sso/memcpy-1.c: New test.
+
+2020-07-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/96085
+       * gfortran.dg/pr96085.f90: New file.
+
+2020-07-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95497
+       * g++.dg/cpp2a/concepts-pr95497.C: New test.
+
+2020-07-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/builtins-msum-runnable.c: New test.
+       * gcc.target/powerpc/vsx-builtin-msum.c: New test.
+
+2020-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95694
+       * gcc.dg/pr95694.c: New test.
+
+2020-07-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96103
+       * g++.dg/cpp0x/decltype77.C: New test.
+
+2020-07-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92427
+       * g++.dg/ext/flexary37.C: New test.
+
+2020-07-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95303
+       * g++.dg/concepts/diagnostic14.C: New test.
+
+2020-07-07  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * lib/target-supports.exp (check_power10_hw_available):
+       Return 0 for passing test.
+
+2020-07-07  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/cpp/pragma-eof.c: New
+
+2020-07-07  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/cpp/line-2.c: New.
+       * c-c++-common/cpp/line-2.h: New.
+       * c-c++-common/cpp/line-3.c: New.
+       * c-c++-common/cpp/line-4.c: New.
+       * c-c++-common/cpp/line-4.h: New.
+
+2020-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96063
+       * g++.dg/warn/Wmismatched-tags-7.C: New test.
+       * g++.dg/warn/Wmismatched-tags-8.C: New test.
+
+2020-07-07  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/slp-47.c: New testcase.
+       * gcc.dg/vect/slp-48.c: Likewise.
+
+2020-07-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/95984
+       * g++.dg/warn/Wnonnull6.C: New test.
+
+2020-07-06  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/eh/builtin10.C: Adjust expected errors.
+       * g++.dg/eh/builtin11.C: Likewise.
+       * g++.dg/eh/builtin5.C: Likewise.
+       * g++.dg/eh/builtin6.C: Likewise.
+       * g++.dg/eh/builtin7.C: Likewise.
+       * g++.dg/eh/builtin9.C: Likewise.
+       * g++.dg/parse/crash55.C: Likewise.
+
+2020-07-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95980
+       * gfortran.dg/pr95980.f90: New file.
+
+2020-07-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95709
+       * gfortran.dg/pr95709.f90: New file.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.old-deja/g++.bugs/900404_04.C: Add c++98_only selector to
+       dg-error for extra ';'.
+       * g++.old-deja/g++.law/missed-error2.C: Likewise.
+
+2020-07-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96075
+       * gcc.dg/vect/slp-46.c: New testcase.
+
+2020-07-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/vadd_add.c: New test.
+       * gcc.target/nvptx/vsub_add.c: New test.
+
+2020-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/peep2-movulsr.c: New test.
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/pr93372-39.c: New test.
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/pr93372-36.c, gcc.target/cris/pr93372-37.c,
+       gcc.target/cris/pr93372-38.c: New tests.
+
+2020-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/27318
+       * gfortran.dg/error_recovery_1.f90: Adjust test case.
+       * gfortran.dg/use_15.f90: Likewise.
+       * gfortran.dg/interface_47.f90: New test.
+
+2020-07-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/pr9xxxx-mismatched-traits-and-promise-prev.C: Moved to...
+       * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: ...here.
+
+2020-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt87.adb: New test.
+       * gnat.dg/opt87_pkg.ads: New helper.
+       * gnat.dg/opt87_pkg.adb: Likewise.
+
+2020-07-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96040
+       * gcc.dg/ipa/pr96040.c: New test.
+
+2020-07-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/popc-1.c: New test.
+       * gcc.target/nvptx/popc-2.c: New test.
+       * gcc.target/nvptx/popc-3.c: New test.
+       * gcc.target/nvptx/mul-wide.c: New test.
+       * gcc.target/nvptx/umul-wide.c: New test.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp-2.c: New
+       testcase.
+
+2020-07-03  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/fixits-pr84852-1.c: Enclose negative line number in braces.
+       * gcc.dg/fixits-pr84852-2.c: Same.
+       * gcc.dg/pr89410-1.c: Same.
+       * gcc.dg/pr89410-2.c: Same.
+
+2020-07-02  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/pr95690.f90: Solaris error appears on line 5.
+
+2020-07-02  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/pr26570.c: dg-prune function not inlinable warning.
+
+2020-07-02  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93423
+       * gfortran.dg/pr93423.f90: New file.
+
+2020-07-02  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93337
+       * gfortran.dg/pr93337.f90: New file.
+
+2020-07-02  Jason Merrill  <jason@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp2a/consteval-virtual1.C: New test.
+       * g++.dg/cpp2a/consteval-virtual2.C: New test.
+       * g++.dg/cpp2a/consteval-virtual3.C: New test.
+       * g++.dg/cpp2a/consteval-virtual4.C: New test.
+       * g++.dg/cpp2a/consteval-virtual5.C: New test.
+
+2020-07-02  Martin Jambor  <mjambor@suse.cz>
+
+       PR debug/95343
+       * gcc.dg/guality/pr95343.c: New test.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95857
+       * gcc.dg/pr95857.c: New test.
+
+2020-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96022
+       * g++.dg/vect/pr96022.cc: New testcase.
+
+2020-07-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95961
+       * gcc.target/aarch64/sve/pr95961.c: New test.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/loop-7.c: New test.
+
+2020-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95584
+       * gfortran.dg/pr95584.f90: New test.
+
+2020-07-02  Kewen Lin  <linkw@linux.ibm.com>
+
+       * g++.dg/vect/slp-pr56812.cc: Ignore line number for basic block
+       vectorization messages.
+
+2020-07-01  Omar Tahir  <omar.tahir@arm.com>
+
+       * gcc.target/aarch64/bti-4.c: New test.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/94882
+       * gcc.dg/tree-ssa/pr94882.c: New test.
+       * gcc.dg/tree-ssa/pr94882-1.c: New test.
+       * gcc.dg/tree-ssa/pr94882-2.c: New test.
+       * gcc.dg/tree-ssa/pr94882-3.c: New test.
+
+2020-07-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR testsuite/96014
+       * g++.dg/analyzer/pr94028.C: Make operator new non-throwing so
+       that the compiler doesn't implicitly mark it as returning
+       non-null.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/pr95690.f90: Adjust dg-error line number.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/direct-move-double1.c: Require lp64.
+       * gcc.target/powerpc/direct-move-float1.c: Same.
+       * gcc.target/powerpc/direct-move-float3.c: Same.
+       * gcc.target/powerpc/direct-move-vint1.c: Same.
+       * gcc.target/powerpc/vsx-vector-5.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p7.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p8.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p9.c: Same.
+
+2020-07-01  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/get_fpcr64_1.c: New test.
+       * gcc.target/aarch64/set_fpcr64_1.c: New test.
+       * gcc.target/aarch64/get_fpsr64_1.c: New test.
+       * gcc.target/aarch64/set_fpsr64_1.c: New test.
+
+2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95446
+       * gfortran.dg/elemental_optional_args_6.f90: Remove check
+       for warnings that were erroneously output.
+       * gfortran.dg/pr95446.f90: New test.
+
+2020-07-01  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94743
+       * gcc.target/arm/handler-align.c: Add -mgeneral-regs-only.
+
+2020-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * gcc.dg/vect/bb-slp-pr95839-2.c: New testcase.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/gcov/loop.C: Use -H option instead of -j option.
+
+2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95829
+       * gfortran.dg/pr95829.f90: New test.
+
+2020-07-01  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94743
+       * gcc.target/arm/pr94743-1-hard.c: Add missing quotes in expected
+       warning.
+       * gcc.target/arm/pr94743-1-softfp.c: Likewise.
+
+2020-07-01  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/attribute-13.c: New.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/direct-move-double1.c: Remove lp64 requirement.
+       * gcc.target/powerpc/direct-move-double2.c: Same.
+       * gcc.target/powerpc/direct-move-float1.c: Same.
+       * gcc.target/powerpc/direct-move-float2.c: Same.
+       * gcc.target/powerpc/direct-move-float3.c: Same.
+       * gcc.target/powerpc/direct-move-vint1.c: Same.
+       * gcc.target/powerpc/direct-move-vint2.c: Same.
+       * gcc.target/powerpc/direct-move-long1.c: Remove linux requirement..
+       * gcc.target/powerpc/direct-move-long2.c: Same.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/20030218-1.c: Delete.
+       * gcc.target/powerpc/20030505.c: Delete.
+       * gcc.target/powerpc/20081204-1.c: Delete.
+       * gcc.target/powerpc/bcd-1.c: Remove dg-skip-if SPE.
+       * gcc.target/powerpc/bcd-2.c: Same.
+       * gcc.target/powerpc/bcd-3.c: Same.
+       * gcc.target/powerpc/direct-move-double1.c: Same.
+       * gcc.target/powerpc/direct-move-double2.c: Same.
+       * gcc.target/powerpc/direct-move-float1.c: Same.
+       * gcc.target/powerpc/direct-move-float2.c: Same.
+       * gcc.target/powerpc/direct-move-float3.c: Same.
+       * gcc.target/powerpc/direct-move-long1.c: Same.
+       * gcc.target/powerpc/direct-move-long2.c: Same.
+       * gcc.target/powerpc/direct-move-vint1.c: Same.
+       * gcc.target/powerpc/direct-move-vint2.c: Same.
+       * gcc.target/powerpc/extend-divide-1.c: Same.
+       * gcc.target/powerpc/extend-divide-2.c: Same.
+       * gcc.target/powerpc/pack01.c: Same.
+       * gcc.target/powerpc/pack02.c: Same.
+       * gcc.target/powerpc/pack03.c: Same.
+       * gcc.target/powerpc/pr52457.c: Same.
+       * gcc.target/powerpc/pr88845.c: Same.
+       * gcc.target/powerpc/quad-atomic.c: Same.
+       * gcc.target/powerpc/recip-6.c: Same.
+       * gcc.target/powerpc/recip-7.c: Same.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/p8vector-int128-1.c: Require int128 not lp64.
+       * gcc.target/powerpc/p8vector-int128-2.c: Same.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pr90763.c: Adjust requirements.
+       * gcc.target/powerpc/vsx-vector-1.c: Same.
+       * gcc.target/powerpc/vsx-vector-2.c: Same.
+       * gcc.target/powerpc/vsx-vector-3.c: Same.
+       * gcc.target/powerpc/vsx-vector-4.c: Same.
+       * gcc.target/powerpc/vsx-vector-5.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p7.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p8.c: Same.
+       * gcc.target/powerpc/vsx-vector-6.p9.c: Same.
+       * gcc.target/powerpc/vsx-vector-abss.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-1.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-2.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-3.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-4.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-5.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-6.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-7.c: Same.
+       * gcc.target/powerpc/vsx-vectorize-8.c: Same.
+
+2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/ppc-spe.c: Delete.
+       * gcc.target/powerpc/ppc-spe64-1.c: Delete.
+       * gcc.target/powerpc/pr60102.c: Delete.
+       * gcc.target/powerpc/pr60158.c: Delete.
+       * gcc.target/powerpc/pr60735.c: Delete.
+       * gcc.target/powerpc/pr78458.c: Delete.
+       * gcc.target/powerpc/pr80343.c: Delete.
+       * gcc.target/powerpc/spe-evmerge.c: Delete.
+       * gcc.target/powerpc/spe-small-data-1.c: Delete.
+       * gcc.target/powerpc/spe-small-data-2.c: Delete.
+       * gcc.target/powerpc/spe-unwind-1.c: Delete.
+       * gcc.target/powerpc/spe-vector-memcpy.c: Delete.
+       * gcc.target/powerpc/spe-vector-memset.c: Delete.
+       * gcc.target/powerpc/spe1.c: Delete.
+
+2020-06-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/builtins-2-p9-runnable.c: lp64 to int128.
+       * gcc.target/powerpc/builtins-6-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-6-runnable.c: Same.
+       * gcc.target/powerpc/builtins-revb-runnable.c: Same.
+
+2020-06-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/88379
+       * gfortran.dg/pr88379.f90: New file.
+
+2020-06-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * g++.target/aarch64/pr95726.C: New test.
+
+2020-06-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/builtins-1-p9-runnable.c: Fix target requirements.
+       * gcc.target/powerpc/builtins-1.c: Same.
+       * gcc.target/powerpc/builtins-2-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-2.c: Same.
+       * gcc.target/powerpc/builtins-3-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-3-p9.c: Same.
+       * gcc.target/powerpc/builtins-3-runnable-p8.c: Same.
+       * gcc.target/powerpc/builtins-3.c: Same.
+       * gcc.target/powerpc/builtins-4-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-4.c: Same.
+       * gcc.target/powerpc/builtins-5-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-5.c: Same.
+       * gcc.target/powerpc/builtins-6-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-6-runnable.c: Same.
+       * gcc.target/powerpc/builtins-7-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-7-runnable.c: Same.
+       * gcc.target/powerpc/builtins-8-p9-runnable.c: Same.
+       * gcc.target/powerpc/builtins-8-runnable.c: Same.
+       * gcc.target/powerpc/cpu-builtin-1.c: Same.
+       * gcc.target/powerpc/float128-fma1.c: Same.
+       * gcc.target/powerpc/float128-hw.c: Same.
+       * gcc.target/powerpc/float128-hw10.c: Same.
+       * gcc.target/powerpc/float128-hw11.c: Same.
+       * gcc.target/powerpc/float128-hw2.c: Same.
+       * gcc.target/powerpc/float128-hw3.c: Same.
+       * gcc.target/powerpc/float128-hw4.c: Same.
+       * gcc.target/powerpc/float128-hw5.c: Same.
+       * gcc.target/powerpc/float128-hw6.c: Same.
+       * gcc.target/powerpc/float128-hw7.c: Same.
+       * gcc.target/powerpc/float128-hw8.c: Same.
+       * gcc.target/powerpc/float128-hw9.c: Same.
+       * gcc.target/powerpc/float128-minmax.c: Same.
+       * gcc.target/powerpc/float128-odd.c: Same.
+       * gcc.target/powerpc/float128-sqrt1.c: Same.
+
+2020-06-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/analyzer/pr93993.f90: Expect leak tm warning.
+
+2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/scanoffload.exp (scoff) <offload_targets>: Skip HSA.
+
+2020-06-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94743
+       * gcc.misc-tests/arm-isr.c: Add -mgeneral-regs-only.
+       * gcc.target/arm/empty_fiq_handler.c: Add -mgeneral-regs-only.
+       * gcc.target/arm/interrupt-1.c: Add -mgeneral-regs-only.
+       * gcc.target/arm/interrupt-2.c: Add -mgeneral-regs-only.
+       * gcc.target/arm/pr70830.c: Add -mgeneral-regs-only.
+       * gcc.target/arm/pr94743-1-hard.c: New test.
+       * gcc.target/arm/pr94743-1-soft.c: New test.
+       * gcc.target/arm/pr94743-1-softfp.c: New test.
+       * gcc.target/arm/pr94743-2.c: New test.
+       * gcc.target/arm/pr94743-3.c: New test.
+
+2020-06-30  Yang Yang  <yangyang305@huawei.com>
+
+       PR tree-optimization/95855
+       * gcc.dg/tree-ssa/split-path-12.c: New testcase.
+
+2020-06-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/cpp0x/constexpr-is_literal.C: Limit test to -std=c++14.
+
+2020-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95355
+       * gfortran.dg/select_type_49.f90: New file.
+
+2020-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95963
+       * g++.dg/cpp1z/launder9.C: New test.
+
+2020-06-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95978
+       * gfortran.dg/pr95978.f90: New file.
+
+2020-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95743
+       * gfortran.dg/recursive_check_16.f90: New file.
+
+2020-06-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/char4-subscript.f90: Simplify regex.
+       Accept big endian or little endian output.
+
+2020-06-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94553
+       * g++.dg/cpp1y/pr68578.C: Adjust dg-error.
+       * g++.dg/cpp1y/var-templ66.C: New test.
+       * g++.dg/cpp2a/concepts-redecl1.C: New test.
+
+2020-06-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95568
+       * g++.dg/cpp2a/class-deduction-aggr5.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr6.C: New test.
+
+2020-06-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/71706
+       * gfortran.dg/pr71706.f90: New file.
+
+2020-06-29  Martin Liska  <mliska@suse.cz>
+
+       PR c++/86568
+       * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null):
+       Fix coding style.
+
+2020-06-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95916
+       * gcc.dg/vect/pr95916.c: New testcase.
+
+2020-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/86568
+       * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null):
+       Adjust dg-warning.
+
+2020-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/86568
+       * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null):
+       Adjust dg-warning.
+
+2020-06-29  Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95854
+       * gcc.dg/pr95854.c: New test.
+
+2020-06-29  Frederik Harwath  <frederik@codesourcery.com>
+
+       * lib/scandump.exp (glob-dump-file): New proc.
+       (scan-dump): Use glob-dump-file for file name expansion.
+       (scan-dump-times): Likewise.
+       (scan-dump-dem): Likewise.
+       (scan-dump-dem-not): Likewise.
+
+2020-06-28  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/86568
+       * g++.dg/warn/Wnonnull5.C: New test.
+       * c-c++-common/pr28656.c: Adjust text of expected warning.
+       * c-c++-common/pr66208.c: Same.
+       * g++.dg/cpp0x/nullptr22.C: Same.
+       * g++.dg/ext/attr-nonnull.C: Same.
+       * g++.dg/ext/attrib49.C: Same.
+       * g++.dg/pr71973-2.C: Same.
+       * g++.dg/warn/Wnonnull3.C: Same.
+       * g++.dg/warn/Wnonnull4.C: Same.
+       * obj-c++.dg/attributes/method-nonnull-1.mm: Same.
+       * objc.dg/attributes/method-nonnull-1.m: Same.
+
+2020-06-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95340
+       * gfortran.dg/pr95340.f90: New file.
+
+2020-06-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95711
+       * g++.dg/coroutines/pr95711.C: New test.
+
+2020-06-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95880
+       * gfortran.dg/pr95880.f90: New file.
+
+2020-06-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95519
+       * g++.dg/coroutines/torture/pr95519-02-final_suspend.C:
+       Amend log messages.
+       * g++.dg/coroutines/torture/pr95519-03-return-value.C:
+       Likewise.
+       * g++.dg/coroutines/torture/pr95519-04-yield-value.C:
+       Likewise.
+       * g++.dg/coroutines/torture/pr95519-05-gro.C: Likewise.
+
+2020-06-28  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/prefix-large-dd.c: Require DFP.
+       * gcc.target/powerpc/prefix-large-sd.c: Require DFP.
+       * gcc.target/powerpc/prefix-large-kf.c: Require float128.
+       * gcc.target/powerpc/prefix-pcrel-dd.c: Require DFP.
+       * gcc.target/powerpc/prefix-pcrel-sd.c: Require DFP.
+       * gcc.target/powerpc/prefix-pcrel-kf.c: Require float128.
+
+2020-06-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95881
+       * gfortran.dg/pr95881.f90: New file.
+
+2020-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95903
+       * c-c++-common/pr95903.c: New test.
+
+2020-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95736
+       * g++.dg/coroutines/pr95736.C: New test.
+
+2020-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro-bad-grooaf-01-grooaf-expected.C: New test.
+
+2020-06-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/prefix-add.c: New test.
+       * gcc.target/powerpc/prefix-si-constant.c: New test.
+       * gcc.target/powerpc/prefix-di-constant.c: New test.
+       * gcc.target/powerpc/prefix-ds-dq.c: New test.
+       * gcc.target/powerpc/prefix-no-update.c: New test.
+       * gcc.target/powerpc/prefix-large-dd.c: New test.
+       * gcc.target/powerpc/prefix-large-df.c: New test.
+       * gcc.target/powerpc/prefix-large-di.c: New test.
+       * gcc.target/powerpc/prefix-large-hi.c: New test.
+       * gcc.target/powerpc/prefix-large-kf.c: New test.
+       * gcc.target/powerpc/prefix-large-qi.c: New test.
+       * gcc.target/powerpc/prefix-large-sd.c: New test.
+       * gcc.target/powerpc/prefix-large-sf.c: New test.
+       * gcc.target/powerpc/prefix-large-si.c: New test.
+       * gcc.target/powerpc/prefix-large-udi.c: New test.
+       * gcc.target/powerpc/prefix-large-uhi.c: New test.
+       * gcc.target/powerpc/prefix-large-uqi.c: New test.
+       * gcc.target/powerpc/prefix-large-usi.c: New test.
+       * gcc.target/powerpc/prefix-large-v2df.c: New test.
+       * gcc.target/powerpc/prefix-large.h: Include file for new tests.
+       * gcc.target/powerpc/prefix-pcrel-dd.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-df.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-di.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-hi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-kf.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-qi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-sd.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-sf.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-si.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-udi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-uhi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-uqi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-usi.c: New test.
+       * gcc.target/powerpc/prefix-pcrel-v2df.c: New test.
+       * gcc.target/powerpc/prefix-pcrel.h: Include file for new tests.
+       * gcc.target/powerpc/prefix-stack-protect.c: New test.
+
+2020-06-26  Yichao Yu  <yyc1992@gmail.com>
+
+       * gcc.target/i386/pr95778-1.c: New test.
+       * gcc.target/i386/pr95778-2.c: New test.
+
+2020-06-26  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/cpu-builtin-1.c: Add tests for power10, arch_3_1
+       and mma.
+
+2020-06-26  Marek Polacek  <polacek@redhat.com>
+
+       * c-c++-common/torture/vector-subscript-3.c: In C++17, define away
+       the keyword register.
+       * g++.dg/cpp1z/attributes-enum-1a.C: Only run pre-C++17.
+       * g++.dg/cpp1z/fold7a.C: Likewise.
+       * g++.dg/cpp1z/nontype3a.C: Likewise.
+       * g++.dg/cpp1z/utf8-2a.C: Likewise.
+       * g++.dg/parse/error11.C: Update expected diagnostics for C++17.
+       * g++.dg/torture/pr34850.C: Add -Wno-attribute-warning.
+       * g++.dg/torture/pr49394.C: In C++17, use noexcept(false).
+       * g++.dg/torture/pr82154.C: Use -std=c++14.
+       * lib/target-supports.exp: Set to C++17.
+       * obj-c++.dg/try-catch-9.mm: Use -Wno-register.
+
+2020-06-26  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gfortran.dg/gomp/combined-if.f90: Adjust expected number
+       of matches depending on whether nvptx offloading is supported.
+       * lib/target-supports.exp
+       (check_effective_target_offload_nvptx): New.
+
+2020-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt86_pkg.ads: New helper.
+       * gnat.dg/opt86a.adb: New test.
+       * gnat.dg/opt86b.adb: Likewise.
+       * gnat.dg/opt86c.adb: Likewise.
+
+2020-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/pr95250.d: Updated.
+
+2020-06-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95519
+       * g++.dg/coroutines/torture/pr95519-00-return_void.C: New test.
+       * g++.dg/coroutines/torture/pr95519-01-initial-suspend.C: New test.
+       * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: New test.
+       * g++.dg/coroutines/torture/pr95519-03-return-value.C: New test.
+       * g++.dg/coroutines/torture/pr95519-04-yield-value.C: New test.
+       * g++.dg/coroutines/torture/pr95519-05-gro.C: New test.
+       * g++.dg/coroutines/torture/pr95519-06-grooaf.C: New test.
+       * g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C: New test.
+
+2020-06-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro1-allocators.h (BAD_GROOAF_STATIC):
+       New.
+       * g++.dg/coroutines/coro-bad-grooaf-00-static.C: New test.
+
+2020-06-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95897
+       * gcc.dg/vect/pr95897.c: New testcase.
+
+2020-06-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91104
+       * g++.dg/cpp1y/lambda-generic-variadic21.C: New test.
+
+2020-06-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95828
+       * gfortran.dg/pr95828.f90: New file.
+
+2020-06-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95826
+       * gfortran.dg/pr95826.f90: New file.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95250
+       * gdc.dg/pr95250.d: New test.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/95173
+       * gdc.dg/pr95173.d: New test.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/init1.d: New test.
+
+2020-06-25  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/asm1.d: Don't use deprecated asm syntax.
+       * gdc.dg/compilable.d: Add public to selective import.
+       * gdc.dg/lto/ltotests_0.d: Explicitly catch Throwable.
+       * gdc.dg/runnable.d: Remove empty statement.
+
+2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/95837
+       * gfortran.dg/char4-subscript.f90: New test.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * gcc.dg/vect/bb-slp-pr95839.c: New testcase.
+
+2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourery.com>
+
+       PR fortran/95869
+       * gfortran.dg/gomp/combined-if.f90 (test_target_parallel): Re-enable.
+       * gfortran.dg/gomp/pr95869.f90: New.
+
+2020-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gfortran.dg/gomp/combined-if.f90: New.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * gcc.dg/vect/bb-slp-pr95866.c: New testcase.
+
+2020-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       PR target/94954
+       * gcc.target/powerpc/builtins-1-p9-runnable.c: Update.
+
+2020-06-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR testsuite/95416
+       PR testsuite/95577
+       * gcc.misc-tests/outputs.exp (gsplit_dwarf): Move -g into it.
+       (outest): Introduce conditionals and string/variable/expr
+       expansion.  Drop special-casing of $aout and .dwo.
+       (gspd): New conditional.  Guard all .dwo files with it.
+       (ltop): New conditional.  Guard files created by the LTO
+       plugin with it.  Guard files created by fat LTO compilation
+       with its negation.  Add a few -fno-use-linker-plugin tests
+       guarded by it.
+
+2020-06-24  Nicholas Krause  <xerofoify@gmail.com>
+
+       PR c++/95672
+       * g++.dg/template/pr95672.C: New test.
+
+2020-06-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95518
+       PR c++/95813
+       * g++.dg/coroutines/pr95518.C: New test.
+       * g++.dg/coroutines/pr95813.C: New test.
+
+2020-06-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/void-gro-non-class-coro.C: Moved to...
+       * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: ...here.
+       * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: New test.
+
+2020-06-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95719
+       * g++.dg/tree-ssa/final4.C: New test.
+
+2020-06-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95827
+       * gfortran.dg/pr95827.f90: New file.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * gcc.target/i386/pr95866-1.c: New testcase.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95660
+       * gcc.target/i386/builtin_target.c (check_detailed): Updated.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95843
+       * gcc.target/i386/builtin_target.c: Include <stdlib.h>,
+       ../../../common/config/i386/i386-cpuinfo.h and
+       ../../../common/config/i386/cpuinfo.h.
+       (check_amd_cpu_model): Removed.
+       (check_intel_cpu_model): Likewise,
+       (CHECK___builtin_cpu_is): New.
+       (gcc_assert): New.  Defined as assert.
+       (gcc_unreachable): New.  Defined as abort.
+       (inline): New.  Defined as empty.
+       (ISA_NAMES_TABLE_START): Likewise.
+       (ISA_NAMES_TABLE_END): Likewise.
+       (ISA_NAMES_TABLE_ENTRY): New.
+       (check_features): Include
+       "../../../common/config/i386/i386-isas.h".
+       (check_detailed): Call cpu_indicator_init.  Always call
+       check_features.  Call get_amd_cpu instead of check_amd_cpu_model.
+       Call get_intel_cpu instead of check_intel_cpu_model.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95856
+       * gcc.dg/vect/pr95856.c: New testcase.
+
+2020-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95810
+       * gcc.dg/ubsan/pr95810.c: New test.
+
+2020-06-23  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/class-deduction-aggr3.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr4.C: New test.
+
+2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.fortran-torture/execute/forall_5.f90: Make forall
+       statement conforming.
+
+2020-06-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95477
+       * g++.dg/coroutines/pr95477.C: New test.
+       * g++.dg/coroutines/void-gro-non-class-coro.C: New test.
+
+2020-06-23  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/95646
+       * gcc.target/arm/pr95646.c: New test.
+
+2020-06-23  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/scanoffload.exp: New.
+       * lib/scanoffloadrtl.exp: Load it.  Replace ".o" with ""
+       globally, and use scanoffload's scoff wrapper to fill it in.
+       * lib/scanoffloadtree.exp: Likewise.
+
+2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/95812
+       * gfortran.dg/dependency_59.f90: New test.
+
+2020-06-23  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95586
+       * gfortran.dg/pr95586_1.f90: New test.
+       * gfortran.dg/pr95586_2.f90: New test.
+
+2020-06-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/cfuged-0.c: I protest.
+       * gcc.target/powerpc/cfuged-1.c: I protest.
+       * gcc.target/powerpc/clone3.c: I protest.
+       * gcc.target/powerpc/cntlzdm-0.c: I protest.
+       * gcc.target/powerpc/cntlzdm-1.c: I protest.
+       * gcc.target/powerpc/cnttzdm-0.c: I protest.
+       * gcc.target/powerpc/cnttzdm-1.c: I protest.
+       * gcc.target/powerpc/cpu-future.c: I protest.
+       * gcc.target/powerpc/dg-future-0.c: I protest.
+       * gcc.target/powerpc/dg-future-1.c: I protest.
+       * gcc.target/powerpc/localentry-1.c: I protest.
+       * gcc.target/powerpc/localentry-detect-1.c: I protest.
+       * gcc.target/powerpc/mma-builtin-1.c: I protest.
+       * gcc.target/powerpc/mma-builtin-2.c: I protest.
+       * gcc.target/powerpc/mma-builtin-3.c: I protest.
+       * gcc.target/powerpc/mma-builtin-4.c: I protest.
+       * gcc.target/powerpc/mma-builtin-5.c: I protest.
+       * gcc.target/powerpc/mma-builtin-6.c: I protest.
+       * gcc.target/powerpc/notoc-direct-1.c: I protest.
+       * gcc.target/powerpc/pcrel-sibcall-1.c: I protest.
+       * gcc.target/powerpc/pdep-0.c: I protest.
+       * gcc.target/powerpc/pdep-1.c: I protest.
+       * gcc.target/powerpc/pextd-0.c: I protest.
+       * gcc.target/powerpc/pextd-1.c: I protest.
+       * gcc.target/powerpc/pr93122.c: I protest.
+       * gcc.target/powerpc/pr94740.c: I protest.
+       * gcc.target/powerpc/setbceq.c: I protest.
+       * gcc.target/powerpc/setbcge.c: I protest.
+       * gcc.target/powerpc/setbcgt.c: I protest.
+       * gcc.target/powerpc/setbcle.c: I protest.
+       * gcc.target/powerpc/setbclt.c: I protest.
+       * gcc.target/powerpc/setbcne.c: I protest.
+       * gcc.target/powerpc/setnbceq.c: I protest.
+       * gcc.target/powerpc/setnbcge.c: I protest.
+       * gcc.target/powerpc/setnbcgt.c: I protest.
+       * gcc.target/powerpc/setnbcle.c: I protest.
+       * gcc.target/powerpc/setnbclt.c: I protest.
+       * gcc.target/powerpc/setnbcne.c: I protest.
+       * gcc.target/powerpc/vec-cfuged-0.c: I protest.
+       * gcc.target/powerpc/vec-cfuged-1.c: I protest.
+       * gcc.target/powerpc/vec-clrl-0.c: I protest.
+       * gcc.target/powerpc/vec-clrl-1.c: I protest.
+       * gcc.target/powerpc/vec-clrl-2.c: I protest.
+       * gcc.target/powerpc/vec-clrl-3.c: I protest.
+       * gcc.target/powerpc/vec-clrr-0.c: I protest.
+       * gcc.target/powerpc/vec-clrr-1.c: I protest.
+       * gcc.target/powerpc/vec-clrr-2.c: I protest.
+       * gcc.target/powerpc/vec-clrr-3.c: I protest.
+       * gcc.target/powerpc/vec-cntlzm-0.c: I protest.
+       * gcc.target/powerpc/vec-cntlzm-1.c: I protest.
+       * gcc.target/powerpc/vec-cnttzm-0.c: I protest.
+       * gcc.target/powerpc/vec-cnttzm-1.c: I protest.
+       * gcc.target/powerpc/vec-extracth-0.c: I protest.
+       * gcc.target/powerpc/vec-extracth-1.c: I protest.
+       * gcc.target/powerpc/vec-extracth-2.c: I protest.
+       * gcc.target/powerpc/vec-extracth-3.c: I protest.
+       * gcc.target/powerpc/vec-extracth-4.c: I protest.
+       * gcc.target/powerpc/vec-extracth-5.c: I protest.
+       * gcc.target/powerpc/vec-extracth-6.c: I protest.
+       * gcc.target/powerpc/vec-extracth-7.c: I protest.
+       * gcc.target/powerpc/vec-extracth-be-0.c: I protest.
+       * gcc.target/powerpc/vec-extracth-be-1.c: I protest.
+       * gcc.target/powerpc/vec-extracth-be-2.c: I protest.
+       * gcc.target/powerpc/vec-extracth-be-3.c: I protest.
+       * gcc.target/powerpc/vec-extractl-0.c: I protest.
+       * gcc.target/powerpc/vec-extractl-1.c: I protest.
+       * gcc.target/powerpc/vec-extractl-2.c: I protest.
+       * gcc.target/powerpc/vec-extractl-3.c: I protest.
+       * gcc.target/powerpc/vec-extractl-4.c: I protest.
+       * gcc.target/powerpc/vec-extractl-5.c: I protest.
+       * gcc.target/powerpc/vec-extractl-6.c: I protest.
+       * gcc.target/powerpc/vec-extractl-7.c: I protest.
+       * gcc.target/powerpc/vec-extractl-be-0.c: I protest.
+       * gcc.target/powerpc/vec-extractl-be-1.c: I protest.
+       * gcc.target/powerpc/vec-extractl-be-2.c: I protest.
+       * gcc.target/powerpc/vec-extractl-be-3.c: I protest.
+       * gcc.target/powerpc/vec-gnb-0.c: I protest.
+       * gcc.target/powerpc/vec-gnb-1.c: I protest.
+       * gcc.target/powerpc/vec-gnb-2.c: I protest.
+       * gcc.target/powerpc/vec-pdep-0.c: I protest.
+       * gcc.target/powerpc/vec-pdep-1.c: I protest.
+       * gcc.target/powerpc/vec-pext-0.c: I protest.
+       * gcc.target/powerpc/vec-pext-1.c: I protest.
+       * gcc.target/powerpc/vec-stril-0.c: I protest.
+       * gcc.target/powerpc/vec-stril-1.c: I protest.
+       * gcc.target/powerpc/vec-stril-10.c: I protest.
+       * gcc.target/powerpc/vec-stril-11.c: I protest.
+       * gcc.target/powerpc/vec-stril-12.c: I protest.
+       * gcc.target/powerpc/vec-stril-13.c: I protest.
+       * gcc.target/powerpc/vec-stril-14.c: I protest.
+       * gcc.target/powerpc/vec-stril-15.c: I protest.
+       * gcc.target/powerpc/vec-stril-16.c: I protest.
+       * gcc.target/powerpc/vec-stril-17.c: I protest.
+       * gcc.target/powerpc/vec-stril-18.c: I protest.
+       * gcc.target/powerpc/vec-stril-19.c: I protest.
+       * gcc.target/powerpc/vec-stril-2.c: I protest.
+       * gcc.target/powerpc/vec-stril-20.c: I protest.
+       * gcc.target/powerpc/vec-stril-21.c: I protest.
+       * gcc.target/powerpc/vec-stril-22.c: I protest.
+       * gcc.target/powerpc/vec-stril-23.c: I protest.
+       * gcc.target/powerpc/vec-stril-3.c: I protest.
+       * gcc.target/powerpc/vec-stril-4.c: I protest.
+       * gcc.target/powerpc/vec-stril-5.c: I protest.
+       * gcc.target/powerpc/vec-stril-6.c: I protest.
+       * gcc.target/powerpc/vec-stril-7.c: I protest.
+       * gcc.target/powerpc/vec-stril-8.c: I protest.
+       * gcc.target/powerpc/vec-stril-9.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-0.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-1.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-10.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-11.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-2.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-3.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-4.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-5.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-6.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-7.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-8.c: I protest.
+       * gcc.target/powerpc/vec-stril_p-9.c: I protest.
+       * gcc.target/powerpc/vec-strir-0.c: I protest.
+       * gcc.target/powerpc/vec-strir-1.c: I protest.
+       * gcc.target/powerpc/vec-strir-10.c: I protest.
+       * gcc.target/powerpc/vec-strir-11.c: I protest.
+       * gcc.target/powerpc/vec-strir-12.c: I protest.
+       * gcc.target/powerpc/vec-strir-13.c: I protest.
+       * gcc.target/powerpc/vec-strir-14.c: I protest.
+       * gcc.target/powerpc/vec-strir-15.c: I protest.
+       * gcc.target/powerpc/vec-strir-16.c: I protest.
+       * gcc.target/powerpc/vec-strir-17.c: I protest.
+       * gcc.target/powerpc/vec-strir-18.c: I protest.
+       * gcc.target/powerpc/vec-strir-19.c: I protest.
+       * gcc.target/powerpc/vec-strir-2.c: I protest.
+       * gcc.target/powerpc/vec-strir-20.c: I protest.
+       * gcc.target/powerpc/vec-strir-21.c: I protest.
+       * gcc.target/powerpc/vec-strir-22.c: I protest.
+       * gcc.target/powerpc/vec-strir-23.c: I protest.
+       * gcc.target/powerpc/vec-strir-3.c: I protest.
+       * gcc.target/powerpc/vec-strir-4.c: I protest.
+       * gcc.target/powerpc/vec-strir-5.c: I protest.
+       * gcc.target/powerpc/vec-strir-6.c: I protest.
+       * gcc.target/powerpc/vec-strir-7.c: I protest.
+       * gcc.target/powerpc/vec-strir-8.c: I protest.
+       * gcc.target/powerpc/vec-strir-9.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-0.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-1.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-10.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-11.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-2.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-3.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-4.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-5.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-6.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-7.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-8.c: I protest.
+       * gcc.target/powerpc/vec-strir_p-9.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-0.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-1.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-10.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-2.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-3.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-4.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-5.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-6.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-7.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-8.c: I protest.
+       * gcc.target/powerpc/vec-ternarylogic-9.c: I protest.
+       * gcc.target/powerpc/xxgenpc-runnable.c: I protest.
+       * lib/target-supports.exp: Stuff.
+
+2020-06-22  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: Modify.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise.
+       * lib/target-supports.exp (check_effective_target_arm_mve_hw): Define.
+
+2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95708
+       * gfortran.dg/pr95708.f90: New test.
+
+2020-06-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95791
+       * gcc.target/i386/pr95791.c: New test.
+
+2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/95585
+       * gfortran.dg/pr95585.f90: New test.
+
+2020-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95770
+       * gcc.dg/pr95770.c: New testcase.
+
+2020-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * g++.target/riscv/frflags.C: New.
+
+2020-06-21  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-1.c: New file.
+       * gcc.target/powerpc/mma-builtin-2.c: New file.
+       * gcc.target/powerpc/mma-builtin-3.c: New file.
+       * gcc.target/powerpc/mma-builtin-4.c: New file.
+       * gcc.target/powerpc/mma-builtin-5.c: New file.
+       * gcc.target/powerpc/mma-builtin-6.c: New file.
+
+2020-06-20  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95505
+       * g++.dg/coroutines/pr95505.C: New test.
+
+2020-06-20  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-return-req1.C: Expect error.
+       * g++.dg/cpp2a/concepts-p2113a.C: New test.
+       * g++.dg/cpp2a/concepts-p2113b.C: New test.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95707
+       * gfortran.dg/pr95707.f90: New file.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95688
+       * gfortran.dg/pr95688.f90: New file.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95687
+       * gfortran.dg/pr95687.f90: New file.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95689
+       * gfortran.dg/pr95689.f90: New file.
+
+2020-06-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95587
+       * gfortran.dg/pr95587.f90: New file.
+
+2020-06-20  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95638
+       * g++.dg/tree-ssa/pr95638.C: New test.
+
+2020-06-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/tree-ssa/popcount4ll.c: Add target lp64.
+       * gcc.dg/tree-ssa/popcount5ll.c: Same.
+
+2020-06-19  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/spaceship-friend1.C: New test.
+       * g++.dg/cpp2a/spaceship-err4.C: Adjust diagnostic.
+
+2020-06-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/vec-extracth-be-0.c: Apply -mbig
+       conditionally for powerpc64le*-*-*.
+       * gcc.target/powerpc/vec-extracth-be-1.c: Same.
+       * gcc.target/powerpc/vec-extracth-be-2.c: Same.
+       * gcc.target/powerpc/vec-extracth-be-3.c: Same.
+       * gcc.target/powerpc/vec-extractl-be-0.c: Same.
+       * gcc.target/powerpc/vec-extractl-be-1.c: Same.
+       * gcc.target/powerpc/vec-extractl-be-2.c: Same.
+       * gcc.target/powerpc/vec-extractl-be-3.c: Same.
+
+2020-06-19  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
+
+       PR tree-optimization/94880
+       * gcc.dg/tree-ssa/pr94880.c: New Test.
+
+2020-06-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95761
+       * gcc.dg/torture/pr95761.c: New testcase.
+
+2020-06-18  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/spaceship-ref1.C: New test.
+       * g++.dg/cpp2a/spaceship-synth-neg4.C: New test.
+       * g++.dg/cpp2a/spaceship-union1.C: New test.
+
+2020-06-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr78904-1a.c: New test.
+       * gcc.target/i386/pr78904-1b.c: Ditto.
+       * gcc.target/i386/pr78904-2a.c: Ditto.
+       * gcc.target/i386/pr78904-2b.c: Ditto.
+       * gcc.target/i386/pr78904-3a.c: Ditto.
+       * gcc.target/i386/pr78904-3b.c: Ditto.
+       * gcc.target/i386/pr78904-4a.c: Ditto.
+       * gcc.target/i386/pr78904-4b.c: Ditto.
+       * gcc.target/i386/pr78904-5a.c: Ditto.
+       * gcc.target/i386/pr78904-5b.c: Ditto.
+       * gcc.target/i386/pr78904-6a.c: Ditto.
+       * gcc.target/i386/pr78904-6b.c: Ditto.
+       * gcc.target/i386/pr78967-1a.c: Ditto.
+       * gcc.target/i386/pr78967-1b.c: Ditto.
+       * gcc.target/i386/pr78967-2a.c: Ditto.
+       * gcc.target/i386/pr78967-2b.c: Ditto.
+
+2020-06-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95667
+       PR middle-end/92814
+       * gcc.dg/Wstringop-overflow-25.c: Remove xfails.
+       * gcc.dg/Wstringop-overflow-39.c: New test.
+
+2020-06-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95735
+       * g++.dg/cpp2a/concepts-err2.C: New test.
+
+2020-06-18  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * g++.target/aarch64/pr94052.C: Give z::ad public access.
+
+2020-06-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/map-alloc-comp-1.f90: New test.
+
+2020-06-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95728
+       * g++.dg/template/cast6.C: New test.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95699
+       * gcc.dg/tree-ssa/pr95699.c: New test.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95713
+       * gcc.dg/pr95713.c: New test.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/gomp/default-1.c: Update.
+       * c-c++-common/gomp/defaultmap-3.c: Likewise.
+       * c-c++-common/gomp/order-4.c: Likewise.
+       * g++.dg/gomp/parallel-2.C: Likewise.
+       * g++.dg/gomp/predetermined-1.C: Likewise.
+       * g++.dg/gomp/sharing-1.C: Likewise.
+       * gcc.dg/gomp/appendix-a/a.24.1.c: Likewise.
+       * gcc.dg/gomp/parallel-2.c: Likewise.
+       * gcc.dg/gomp/pr44085.c: Likewise.
+       * gcc.dg/gomp/sharing-1.c: Likewise.
+       * gcc.dg/gomp/vla-1.c: Likewise.
+       * gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise.
+       * gfortran.dg/gomp/crayptr3.f90: Likewise.
+       * gfortran.dg/gomp/pr33439.f90: Likewise.
+       * gfortran.dg/gomp/pr44036-1.f90: Likewise.
+       * gfortran.dg/gomp/pr44085.f90: Likewise.
+       * gfortran.dg/gomp/pr44536.f90: Likewise.
+       * gfortran.dg/gomp/pr94672.f90: Likewise.
+       * gfortran.dg/gomp/sharing-1.f90: Likewise.
+       * gfortran.dg/gomp/sharing-2.f90: Likewise.
+       * gfortran.dg/gomp/sharing-3.f90: Likewise.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/gomp/hsa-indirect-call-1.c: New file.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/66159
+       * g++.dg/warn/forward-inner.C: Check alias-declaration using
+       elaborated-type-specifier.
+
+2020-06-17  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+           Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95199
+       * gcc.target/aarch64/sve/pr95199.c: New test.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/spaceship-synth9.C: New test.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-ca107.C: New test.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/consteval17.C: New test.
+
+2020-06-17  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/pr62101.C: Expect error.
+       * g++.dg/cpp0x/pr80259.C: Expect error.
+       * g++.dg/cpp2a/concepts-friend8.C: New test.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * c-c++-common/pr95378.c: New test.
+
+2020-06-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/20200617.c: New test.
+
+2020-06-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95508
+       * g++.dg/template/conv16.C: New test.
+
+2020-06-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR testsuite/95716
+       * g++.dg/ext/pr85503.C: Give ai::cv public access.
+
+2020-06-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95717
+       * g++.dg/torture/pr95717.C: New testcase.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/95720
+       * gcc.misc-tests/gcov-pr94029.c: Remove not needed remove-gcda.
+       * lib/gcov.exp: Delete properly .gcov files.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/vect/vec-cond-expr-eh.C: New test.
+
+2020-06-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx2-shiftqihi-constant-1.c: New test.
+       * gcc.target/i386/avx2-shiftqihi-constant-2.c: Ditto.
+       * gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Ditto.
+       * gcc.target/i386/avx512bw-shiftqihi-constant-2.c: Ditto.
+       * gcc.target/i386/sse2-shiftqihi-constant-1.c: Ditto.
+       * gcc.target/i386/sse2-shiftqihi-constant-2.c: Ditto.
+
+2020-06-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.dg/torture/pr95493-1.C: New test.
+
+2020-06-16  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/tree-ssa/pr95649.C: New test.
+       * gcc.dg/tree-ssa/pr95649.c: New test.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/pure-elemental-procedures-2.f90: New test.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr79154-simd.f90: New test.
+
+2020-06-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95369
+       * g++.dg/cpp2a/desig11.C: Adjust dg-error.
+       * g++.dg/cpp2a/desig16.C: New test.
+
+2020-06-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95560
+       * g++.dg/warn/Wshadow-local-3.C: New test.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/asan/inline.c: Add -ffat-lto-objects to dg-options.
+       * c-c++-common/asan/inline-kernel.c: Likewise.
+       * c-c++-common/ubsan/inline.c: Likewise.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: New test.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/loop-6.c: New test.
+       * gcc.dg/gomp/loop-1.c: Don't expect diagnostics on valid
+       non-rectangular loops.
+       * gcc.dg/gomp/loop-2.c: New test.
+       * g++.dg/gomp/loop-1.C: Don't expect diagnostics on valid
+       non-rectangular loops.
+       * g++.dg/gomp/loop-2.C: Likewise.
+       * g++.dg/gomp/loop-5.C: New test.
+       * g++.dg/gomp/loop-6.C: New test.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/schedule-modifiers-2.c: New test.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/95622
+       * lib/target-supports.exp (check_effective_target_offloading_enabled):
+       New.
+       * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Use it for xfail.
+       * c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise.
+       * c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise.
+
+2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr79154-1.f90: Update dg-*;
+       add an impure elemental example.
+       * gfortran.dg/gomp/pr79154-2.f90: Likewise.
+
+2020-06-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/41437
+       PR c++/47346
+       * g++.dg/cpp2a/concepts-using2.C: Adjust.
+       * g++.dg/lto/20081219_1.C: Adjust.
+       * g++.dg/lto/20091002-1_0.C: Adjust.
+       * g++.dg/lto/pr65475c_0.C: Adjust.
+       * g++.dg/opt/dump1.C: Adjust.
+       * g++.dg/other/pr53574.C: Adjust.
+       * g++.dg/template/access30.C: New test.
+       * g++.dg/template/access31.C: New test.
+       * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: Adjust.
+
+2020-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95690
+       * gfortran.dg/pr95690.f90: New testcase.
+
+2020-06-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR tree-optimization/94988
+       * gcc.dg/graphite/pr80906.c: Un-XFAIL.
+
+2020-06-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc.dg/lto/pr52634_0.c: Further adjust 'dg-lto-options'.
+
+2020-06-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/95683
+       * gcc.target/riscv/pr95683.c: New.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test.
+
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt85.ads, gnat.dg/opt85.adb: New test.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * gcc.target/xtensa/mabi-call0.c: New test.
+       * gcc.target/xtensa/mabi-windowed.c: New test.
+
+2020-06-15  Martin Jambor  <mjambor@suse.cz>
+
+       * lib/brig.exp (brig_target_compile): Strip hsail extension when
+       gnerating the name of the binary brig file.
+
+2020-06-15   Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-pr95488-1.c: New test.
+       * gcc.target/i386/avx512bw-pr95488-2.c: Ditto.
+       * gcc.target/i386/avx512vl-pr95488-1.c: Ditto.
+       * gcc.target/i386/avx512vl-pr95488-2.c: Ditto.
+
+2020-06-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95088
+       * gfortran.dg/pr95088.f90: New file.
+
+2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/random_seed_4.f90: New test.
+
+2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94109
+       * gfortran.dg/finalize_34.f90: Adjust free counts.
+       * gfortran.dg/finalize_36.f90: New test.
+
+2020-06-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR testsuite/95575
+       * lib/gdc-utils.exp (gdc-do-test): Re-add $subdir link and inclusion
+       in filename.
+
+2020-06-13  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/builtin-stringop-chk-5.c: Make assertions independent of
+       data model.
+
+2020-06-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/finalize_36.f90: Remove accidentally
+       committed test case.
+
+2020-06-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95313
+       * gfortran.dg/finalize_36.f90: New file.
+
+2020-06-12  Marco Elver  <elver@google.com>
+
+       * c-c++-common/tsan/func_entry_exit.c: New test.
+       * c-c++-common/tsan/func_entry_exit_disabled.c: New test.
+
+2020-06-12  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-44.c: New testcase.
+
+2020-06-12  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95570
+       * gcc.dg/vect/pr95570.c: New test.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/rep_clause8.adb: Update error location.
+
+2020-06-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/prune.exp (prune_gcc_output): Match any executable name
+       in collect messages.
+
+2020-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * gcc.target/i386/pr93492-1.c: New test.
+       * gcc.target/i386/pr93492-2.c: Likewise.
+       * gcc.target/i386/pr93492-3.c: Likewise.
+       * gcc.target/i386/pr93492-4.c: Likewise.
+       * gcc.target/i386/pr93492-5.c: Likewise.
+
+2020-06-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93467
+       * g++.dg/cpp2a/concepts-friend6.C: New test.
+       * g++.dg/cpp2a/concepts-friend7.C: New test.
+
+2020-06-11  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl   <kargl@gcc.gnu.org>
+
+       PR fortran/95611
+       * gfortran.dg/pr95611.f90: New file.
+
+2020-06-11  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95544
+       * gfortran.dg/pr95544.f90: New file.
+
+2020-06-11  Tamar Christina  <tamar.christina@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_exceptions_enabled):
+       Mark as C++ test input.
+
+2020-06-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95503
+       * gfortran.dg/pr95503.f90: New test.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/95331
+       * gfortran.dg/PR95331.f90: New test.
+
+2020-06-11  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/abi/pure-virtual1.C: XFAIL AIX.
+
+2020-06-11  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/spellcheck-inttypes.c: Don't include inttypes.h on AIX.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/52351
+       PR fortran/85868
+       * gfortran.dg/coarray_lib_comm_1.f90: Adjust match test for
+       the newly generated descriptor.
+       * gfortran.dg/PR85868A.f90: New test.
+       * gfortran.dg/PR85868B.f90: New test.
+
+2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/94022
+       * gfortran.dg/PR94022.f90: New test.
+
+2020-06-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/pr95252.c: New.
+
+2020-06-10  Alexandre Oliva  <oliva@adacore.com>
+
+       PR rtl-optimization/51447
+       * gcc.c-torture/execute/pr51447.c (main): Preserve call-saved
+       register.
+
+2020-06-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95440
+       * g++.dg/coroutines/pr95440.C: New test.
+
+2020-06-10  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95353
+       PR middle-end/92939
+       * c-c++-common/Wstringop-truncation.c: Remove an xfail.
+       * gcc.dg/Warray-bounds-46.c: Remove a bogus warning.
+       * gcc.dg/Wrestrict-9.c: Disable -Wstringop-overflow.
+       * gcc.dg/Wstringop-overflow-12.c: Remove xfails.
+       * gcc.dg/Wstringop-overflow-28.c: Same.
+       * gcc.dg/builtin-stringop-chk-4.c: Same.
+       * gcc.dg/builtin-stringop-chk-5.c: Same.
+       * gcc.dg/builtin-stringop-chk-8.c: Same.
+       * gcc.dg/strlenopt-74.c: Avoid buffer overflow.
+       * gcc.dg/Wstringop-overflow-34.c: New test.
+       * gcc.dg/Wstringop-overflow-35.c: New test.
+       * gcc.dg/Wstringop-overflow-36.c: New test.
+       * gcc.dg/Wstringop-overflow-37.c: New test.
+       * gcc.dg/Wstringop-overflow-38.c: New test.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95576
+       * g++.dg/vect/pr95576.cc: New testcase.
+
+2020-06-10  Haijian Zhang  <z.zhanghaijian@huawei.com>
+
+       PR target/95523
+       * gcc.target/aarch64/sve/pr95523.c: New test.
+
+2020-06-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95562
+       * g++.dg/cpp0x/noexcept60.C: New test.
+
+2020-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-30.c: Adjust test for folding of
+       memmove happening later.
+
+2020-06-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/asimd-mull-elem.c: New test.
+
+2020-06-10  Qian Chao  <qianchao9@huawei.com>
+
+       PR tree-optimization/95569
+       * gcc.dg/tm/pr95569.c: New test.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/clone3.c: New test for using 'future' with
+       the target_clones attribute.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * c-c++-common/asan/inline-kernel.c: Add missing
+       -fno-sanitize-address option.
+
+2020-06-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95552
+       * g++.dg/ext/vla23.C: New test.
+
+2020-06-09  Marco Elver  <elver@google.com>
+
+       * c-c++-common/tsan/volatile.c: New test.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_powerpc_pcrel):
+       New.
+       (check_effective_target_powerpc_prefixed_addr): New.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * c-c++-common/asan/inline.c: New test.
+       * c-c++-common/asan/inline-kernel.c: New test.
+       * c-c++-common/tsan/inline.c: New test.
+       * c-c++-common/ubsan/inline.c: New test.
+
+2020-06-09  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * gcc.target/aarch64/sve/logical_unpacked_abs.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_bic_1.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_bic_2.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_bic_3.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_bic_4.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_neg.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_not.c: New test.
+
+2020-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/95580
+       * gcc.dg/pr95580.c: New test.
+
+2020-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95527
+       * gcc.dg/tree-ssa/pr95527.c: New test.
+
+2020-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/torture/pr95493.C: Add -Wno-psabi -w to dg-additional-options.
+
+2020-06-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * g++.target/xtensa/pr95571.C: New test.
+       * g++.target/xtensa/xtensa.exp: New testsuite.
+
+2020-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/fold-vec-perm-char.c: Allow both vperm/vpermr and
+       xxperm/xxpermr.
+       * gcc.target/powerpc/fold-vec-perm-double.c: Ditto.
+       * gcc.target/powerpc/fold-vec-perm-float.c: Ditto.
+       * gcc.target/powerpc/fold-vec-perm-int.c: Ditto.
+       * gcc.target/powerpc/fold-vec-perm-longlong.c: Ditto.
+       * gcc.target/powerpc/fold-vec-perm-pixel.c: Ditto.
+       * gcc.target/powerpc/fold-vec-perm-short.c: Ditto.
+       * gcc.target/powerpc/lvsl-lvsr.c: Ditto.
+       * gcc.target/powerpc/vec-mult-char-2.c: Ditto.
+       * gcc.target/powerpc/vsx-vector-6.p9.c: Also allow xxpermr.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/clone3.c: New test for using 'future' with
+       the target_clones attribute.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_powerpc_pcrel):
+       New.
+       (check_effective_target_powerpc_prefixed_addr): New.
+
+2020-06-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95195
+       * gfortran.dg/namelist_97.f90: Adjust testcase.
+
+2020-06-08  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/92993
+       * gfortran.dg/pr92993.f90: New test.
+
+2020-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95528
+       * g++.dg/opt/pr95528.C: New test.
+
+2020-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/95548
+       * g++.dg/torture/pr95548.C: Change from dg-do compile to dg-do link,
+       add return type for main, for __SIZEOF_INT128__ test with __uint128_t
+       enumerator constants and add a test with unsigned long long
+       enumerators for all targets.
+
+2020-06-07  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/parity-3.c: New test.
+       * gcc.target/i386/parity-4.c: Likewise.
+       * gcc.target/i386/parity-5.c: Likewise.
+       * gcc.target/i386/parity-6.c: Likewise.
+       * gcc.target/i386/parity-7.c: Likewise.
+       * gcc.target/i386/parity-8.c: Likewise.
+       * gcc.target/i386/parity-9.c: Likewise.
+
+2020-06-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95091
+       * gfortran.dg/pr95091.f90: New file.
+
+2020-06-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR tree-optimization/50439
+       * gfortran.dg/loop_interchange_2.f: New test.
+
+2020-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/torture/pr95548.C: New test.
+
+2020-06-05  Martin Sebor  <msebor@redhat.com>
+
+       * g++.dg/warn/Wnonnull5.C: Temporarily remove.
+
+2020-06-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95369
+       * g++.dg/cpp2a/nontype-class38.C: New test.
+
+2020-06-05  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/missing-header-fixit-3.c: Add
+       -Wno-implicit-function-declaration.
+       * gcc.dg/missing-header-fixit-4.c: Add new expected output.
+       * gcc.dg/missing-header-fixit-5.c: New testcase.
+       * gcc.dg/Wbuiltin-declaration-mismatch-ignore.c: Likewise.
+
+2020-06-05  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/constexpr-ptrsub2.C: New test.
+
+2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * c-c++-common/goacc/struct-enter-exit-data-1.c: New file.
+
+2020-06-05  Martin Sebor  <msebor@redhat.com>
+
+       * c-c++-common/goacc/uninit-use-device-clause.c: Adjust.
+       * c-c++-common/pr59223.c: Same.
+       * g++.dg/warn/Wnonnull5.C: Same.
+       * gcc.dg/pr59924.c: Same.
+       * gcc.dg/ubsan/pr81981.c: Same.
+       * gcc.dg/ubsan/pr89284.c: Same.
+       * gfortran.dg/goacc/uninit-use-device-clause.f95: Same.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95539
+       * gcc.dg/vect/pr95539.c: New testcase.
+
+2020-06-05  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95254
+       * gcc.target/aarch64/pr95254.c: New test.
+       * gcc.target/i386/pr67609.c: Check "movq\t%xmm0" instead of "movdqa".
+
+2020-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95535
+       * gcc.target/i386/pr95535-1.c: New test.
+       * gcc.target/i386/pr95535-2.c: New test.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95493
+       * g++.dg/torture/pr95493.C: New testcase.
+
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * c-c++-common/Wsizeof-pointer-memaccess1.c: Prune out valid
+       Wuninitialized.
+       * c-c++-common/uninit-pr51010.c: Adjust expected warning format.
+       * c-c++-common/goacc/uninit-dim-clause.c: Same.
+       * c-c++-common/goacc/uninit-firstprivate-clause.c: Same.
+       * c-c++-common/goacc/uninit-if-clause.c: Same.
+       * c-c++-common/gomp/pr70550-1.c: Same.
+       * c-c++-common/gomp/pr70550-2.c: Adjust.
+       * g++.dg/20090107-1.C: Same.
+       * g++.dg/20090121-1.C: Same.
+       * g++.dg/ext/attr-access.C: Avoid -Wuninitialized.
+       * gcc.dg/tree-ssa/forwprop-6.c: Prune out -Wuninitialized.
+       * gcc.dg/Warray-bounds-52.c: Prune out valid -Wuninitialized.
+       * gcc.dg/Warray-bounds-53.c: Same.
+       * gcc.dg/Warray-bounds-54.c: Same.
+       * gcc.dg/Wstringop-overflow-33.c: New test.
+       * gcc.dg/attr-access-none.c: New test.
+       * gcc.dg/attr-access-read-only.c: Adjust.
+       * gcc.dg/attr-access-read-write.c: Same.
+       * gcc.dg/attr-access-write-only.c: Same.
+       * gcc.dg/pr71581.c: Adjust text of expected warning.
+       * gcc.dg/uninit-15.c: Same.
+       * gcc.dg/uninit-32.c: New test.
+       * gcc.dg/uninit-33.c: New test.
+       * gcc.dg/uninit-34.c: New test.
+       * gcc.dg/uninit-36.c: New test.
+       * gcc.dg/uninit-B-O0.c: Adjust text of expected warning.
+       * gcc.dg/uninit-I-O0.c: Same.
+       * gcc.dg/uninit-pr19430-O0.c: Same.
+       * gcc.dg/uninit-pr19430.c: Same.
+       * gcc.dg/uninit-pr95136.c: New test.
+       * gfortran.dg/assignment_4.f90: Expect -Wuninitialized.
+       * gfortran.dg/goacc/uninit-dim-clause.f95: Adjust text of expected
+       warning.
+       * gfortran.dg/goacc/uninit-firstprivate-clause.f95
+       * gfortran.dg/goacc/uninit-if-clause.f95
+       * gfortran.dg/pr66545_2.f90
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93310
+       * g++.dg/cpp2a/constexpr-virtual16.C: New test.
+       * g++.dg/cpp2a/constexpr-virtual17.C: New test.
+       * g++.dg/cpp2a/constexpr-new12.C: Adjust diagnostic.
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95158
+       * g++.dg/template/virtual5.C: New test.
+
+2020-06-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95500
+       * gfortran.dg/pr95500.f90: New test.
+
+2020-06-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95346
+       * g++.dg/coroutines/pr95346.C: New test.
+
+2020-06-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/95464
+       * gcc.target/i386/pr95464.c: New.
+
+2020-06-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/95113
+       * gcc.dg/ipa/pr95113.c: New test.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94735
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base_p.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset_p.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset_p.c:
+       Likewise.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise.
+
+2020-06-04  Hongtao Liu  <hongtao.liu@inte.com>
+
+       * gcc.target/i386/avx512f-vcvtps2ph-pr95254.c: New test.
+       * gcc.target/i386/avx512vl-vcvtps2ph-pr95254.c: Ditto.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/openacc1.adb: Remove testcase.
+
+2020-06-04  Hao Liu  <hliu@os.amperecomputing.com>
+
+       PR tree-optimization/89430
+       * gcc.dg/tree-ssa/pr89430-1.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-2.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-5.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-6.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-7-comp-ref.c: New test.
+       * gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c: New test.
+       * gcc.dg/tree-ssa/ssa-pre-17.c: Add -fno-tree-cselim.
+
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR libfortran/59227
+       * gfortran.dg/erf_3.F90: Remove XFAIL on ia64-*-linux*.
+
+2020-06-04  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512bw-trunc.c: Adjust testcase.
+
+2020-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82304
+       PR c++/95307
+       * g++.dg/template/pr79650.C: Expect different diagnostics and expect
+       it on all lines that do pointer to integer casts.
+       * g++.dg/cpp1y/constexpr-shift1.C: Expect different diagnostics.
+       * g++.dg/cpp1y/constexpr-82304.C: New test.
+       * g++.dg/cpp0x/constexpr-95307.C: New test.
+
+2020-06-03  Mark Wielaard  <mark@klomp.org>
+
+       * g++.dg/spellcheck-inttypes.C: Add string-literal testcases.
+
+2020-06-03  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/spellcheck-inttypes.c: New test.
+       * g++.dg/spellcheck-inttypes.C: Likewise.
+
+2020-06-03  Mark Wielaard  <mark@klomp.org>
+
+       * c-c++-common/missing-close-func-paren.c: New test.
+
+2020-06-03  Vitor Guidi  <vitor.guidi@usp.br>
+
+       * gcc.dg/tanhbysinh.c: New testcase.
+
+2020-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-partial-spec8.C: New test.
+
+2020-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92103
+       * g++.dg/cpp2a/concepts-partial-spec7.C: New test.
+
+2020-06-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/lto/pr84805_0.C: Update.
+
+2020-06-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95345
+       * g++.dg/coroutines/pr95345.C: New test.
+
+2020-06-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95232
+       * g++.dg/ubsan/vla-2.C: New test.
+
+2020-06-03  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/95214
+       PR fortran/66833
+       PR fortran/67938
+       * gfortran.dg/PR95214.f90: New test.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95487
+       * g++.dg/vect/pr95487.cc: New testcase.
+
+2020-06-03  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/95306
+       * jit.dg/test-pr95306-builtin-types.c (create_code): Add
+       test of getting __atomic_load.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95495
+       * gcc.dg/vect/pr95495.c: New testcase.
+
+2020-06-03  Thomas Schwinge  <thomas@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94874
+       * c-c++-common/gomp/pr94874.c: New.
+
+2020-06-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/95426
+       * jit.dg/all-non-failing-tests.h: Add note about...
+       * jit.dg/test-builtin-unreachable.c: New test.
+
+2020-06-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95193
+       * g++.dg/cpp1z/lambda-this7.C: New test.
+
+2020-06-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95050
+       * g++.dg/coroutines/pr95050.C: New test.
+
+2020-06-02  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.misc-tests/outputs.exp: Spell ldscript correctly.
+       * lib/gcc-defs.exp (gcc_adjust_linker_flags): Likewise.
+
+2020-06-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95459
+       * gcc.target/aarch64/mgeneral-regs_6.c: New test.
+
+2020-06-02  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gcc.dg/intermod-1.c: Don't use -mlocal-symbol-id.
+
+2020-06-02  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.target/s390/vector/align-1.c: Change target architecture
+       to z13.
+       * gcc.target/s390/vector/align-2.c: Change target architecture
+       to z13.
+
+2020-06-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * lib/ubsan-dg.exp (orig_ubsan_options_saved): New
+       (orig_ubsan_options): Ditto.
+       (ubsan_init): Store UBSAN_OPTIONS and set UBSAN_OPTIONS.
+       (ubsan_finish): Restore UBSAN_OPTIONS.
+
+2020-06-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92633
+       PR c++/92838
+       * g++.dg/cpp2a/concepts-lambda11.C: New test.
+       * g++.dg/cpp2a/concepts-lambda12.C: New test.
+
+2020-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95466
+       * g++.dg/ubsan/vptr-17.C: New test.
+
+2020-06-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95350
+       * g++.dg/coroutines/torture/func-params-08.C: Adjust test to
+       reflect that all rvalue refs are dangling.
+       * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C:
+       Likewise.
+       * g++.dg/coroutines/pr95350.C: New test.
+
+2020-06-01  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93429
+       * gcc.dg/ipa/ipcp-agg-8.c: Change dump string.
+       * gcc.dg/ipa/ipcp-agg-13.c: New test.
+
+2020-05-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95087
+       * g++.dg/coroutines/co-return-syntax-08-bad-return.C:
+       Adjust the testcase to do the compile (rather than an
+       -fsyntax-only parse).
+
+2020-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94361
+       * gfortran.dg/finalize_28.f90: Adjusted free counts.
+       * gfortran.dg/finalize_33.f90: Likewise.
+       * gfortran.dg/finalize_34.f90: Likewise.
+       * gfortran.dg/finalize_35.f90: New test.
+
+2020-05-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * gcc.dg/pr95052.c: New test.
+
+2020-05-31  Jim Wilson  <jimw@sifive.com>
+
+       * gcc.target/riscv/zero-extend-5.c: New.
+
+2020-05-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95373
+       * gfortran.dg/pr95373_1.f90: Adjust error messages.
+       * gfortran.dg/pr95373_2.f90: Adjust error message.
+
+2020-05-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95386
+       * g++.dg/concepts/pr95386.C: New test.
+
+2020-05-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/vsx-vector-6.p9.c: Allow xxperm as perm as well.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/95181
+       * g++.dg/concepts/pr95181.C: New test.
+       * g++.dg/concepts/pr95181-2.C: New test.
+
+2020-05-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95371
+       * g++.dg/cpp2a/concepts-ttp1.C: New test.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/95390
+       * gfortran.dg/findloc_8.f90: New test.
+
+2020-05-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95344
+       * c-c++-common/Wparentheses-2.c: New test.
+
+2020-05-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95311
+       * g++.dg/ubsan/vptr-16.C: New test.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/92652
+       PR c++/93698
+       PR c++/94128
+       * g++.dg/cpp2a/concepts-lambda8.C: New test.
+       * g++.dg/cpp2a/concepts-lambda9.C: New test.
+       * g++.dg/cpp2a/concepts-lambda10.C: New test.
+
+2020-05-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95241
+       * g++.dg/cpp0x/constexpr-array25.C: New test.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95272
+       * gcc.dg/vect/pr95272.c: New testcase.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95403
+       * gfortran.dg/vect/pr95403.f: New testcase.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95315
+       * gcc.dg/gomp/pr95315-2.c: New test.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * gcc.target/i386/pr95052.c: New test.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95393
+       * gcc.dg/tree-ssa/phi-opt-21.c: New testcase.
+       * g++.dg/vect/slp-pr87105.cc: Adjust.
+
+2020-05-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * gcc.target/aarch64/sve/load_const_offset_2.c: Force using packed
+       vectors.
+       * gcc.target/aarch64/sve/logical_unpacked_and_1.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_2.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_3.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_4.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_5.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_6.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_and_7.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_1.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_2.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_3.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_4.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_5.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_6.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_7.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_1.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_2.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_3.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_4.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_5.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_6.c: New test.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_7.c: New test.
+       * gcc.target/aarch64/sve/scatter_store_6.c: Force using packed vectors.
+       * gcc.target/aarch64/sve/scatter_store_7.c: Force using packed vectors.
+       * gcc.target/aarch64/sve/strided_load_3.c: Force using packed vectors.
+       * gcc.target/aarch64/sve/strided_store_3.c: Force using packed vectors.
+       * gcc.target/aarch64/sve/unpack_signed_1.c: Force using packed vectors.
+
+2020-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95328
+       * g++.dg/cpp1z/decomp53.C: New test.
+
+2020-05-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95373
+       * gfortran.dg/pr95373_1.f90: New test.
+       * gfortran.dg/pr95373_2.f90: New test.
+
+2020-05-28  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1z/pr86648.C: Expect error.
+       * g++.dg/cpp1z/static2.C: Expect error.
+       * g++.dg/cpp0x/nsdmi16.C: New test.
+
+2020-05-28  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp0x/initlist-array12.C: Fix the definition of
+       initializer_list for ilp32 target.
+
+2020-05-28  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/ext/tmplattr10.C: Only run in c++11.
+
+2020-05-28  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.dg/builtin-bswap-10.c: Check "! int128" instead of ilp32
+
+2020-05-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/94397
+       * gfortran.dg/pr94397.F90: New test.
+
+2020-05-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/shrink_wrap_1.c: New test.
+
+2020-05-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/95361
+       * gcc.target/aarch64/sve/pr95361.c: New test.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95273
+       PR tree-optimization/95356
+       * gcc.target/i386/pr95356.c: New testcase.
+
+2020-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/95363
+       * gcc.dg/vect/bb-slp-pr95271.c: Fix on ilp32 targets.
+
+2020-05-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/gcc-defs.exp: Avoid introducing empty arguments between
+       consecutive blanks in board linking options.
+       * gcc.misc-tests/outputs.exp: Likewise.  Document
+       -gsplit-dwarf testing, skip LTO tests if -flto is not
+       supported, detect the default linker output name, cope with
+       the need for an explicit executable output.
+
+2020-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/builtin-bswap-10.c: New test.
+       * gcc.dg/builtin-bswap-11.c: Likewise.
+       * gcc.dg/builtin-bswap-12.c: Likewise.
+       * gcc.target/i386/builtin-bswap-5.c: Likewise.
+
+2020-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95090
+       * gfortran.dg/pr95090.f90: New test.
+
+2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95355
+       * gcc.target/i386/pr95355.c: New test.
+
+2020-05-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/95314
+       * jit.dg/all-non-failing-tests.h: Add test-pr95314-rvalue-reuse.c.
+       * jit.dg/test-pr95314-rvalue-reuse.c: New test.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95319
+       * g++.dg/cpp0x/initlist-array12.C: New test.
+
+2020-05-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/50392
+       * gfortran.dg/pr50392.f: New test.
+
+2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/vperm-v2sf.c: New test.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/spaceship-synth2.C: Add
+       -Wzero-as-null-pointer-constant.
+
+2020-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95222
+       * g++.dg/ext/tmplattr10.C: New test.
+
+2020-05-27  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/95263
+       * g++.dg/template/pr95263.C: New file.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95295
+       * gcc.dg/torture/pr95295-3.c: New testcase.
+
+2020-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95335
+       * gcc.dg/vect/bb-slp-pr95335.c: New testcase.
+
+2020-05-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95315
+       * gcc.dg/gomp/pr95315.c: New test.
+
+2020-05-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/95306
+       * jit.dg/all-non-failing-tests.h: Add test-builtin-memcpy.c and
+       test-pr95306-builtin-types.c.
+       * jit.dg/test-builtin-memcpy.c: New test.
+       * jit.dg/test-error-gcc_jit_context_get_builtin_function-unimplemented-type.c:
+       New test.
+       * jit.dg/test-pr95306-builtin-types.c: New test.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl   <kargl@gcc.gnu.org>
+
+       PR libfortran/95104
+       * gfortran.dg/pr95104.f90: New test.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95195
+       * gfortran.dg/namelist_97.f90: New test.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95089
+       * gfortran.dg/pr95089.f90: New test.
+
+2020-05-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/95296
+       * jit.dg/test-error-gcc_jit_context_new_global-void-type.c: New
+       test.
+       * jit.dg/test-error-gcc_jit_function_new_local-void-type.c: New
+       test.
+       * jit.dg/test-fuzzer.c (fuzzer_init): Allow for make_random_type
+       to return NULL.
+       (get_random_type): Allow for elements in f->types to be NULL.
+
+2020-05-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/vperm-v2si.c: New test.
+       * gcc.target/i386/vperm-v4hi.c: Ditto.
+
+2020-05-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Check for
+       promise destruction via a global variable.
+
+2020-05-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.misc-tests/outputs.exp: New.
+       * gcc.misc-tests/outputs-0.c: New.
+       * gcc.misc-tests/outputs-1.c: New.
+       * gcc.misc-tests/outputs-2.c: New.
+       * lib/gcc-defs.exp (gcc_adjusted_linker_flags): New.
+       (gcc_adjust_linker_flags): New.
+       (dg-additional-files-options): Call it.  Pass -dumpbase ""
+       when there are additional sources.
+       * lib/profopt.exp (profopt-execute): Pass the executable
+       suffix with -dumpbase-ext.
+       * lib/scandump.exp (dump-base): Mention -dumpbase "" use.
+       * lib/scanltranstree.exp: Adjust dump suffix expectation.
+       * lib/scanwpaipa.exp: Likewise.
+
+2020-05-26  Hongtao Liu  <hongtao.liu@intel.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr95211.c: New test.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt84.adb: New test.
+
+2020-05-25  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/sse2-mmx-18a.c (dg-options): Remove -mno-avx512vl.
+       * gcc.target/i386/sse2-mmx-19a.c (dg-options): Remove -mno-avx.
+       * gcc.target/i386/sse2-mmx-18b.c: Remove.
+       * gcc.target/i386/sse2-mmx-18c.c: Ditto.
+       * gcc.target/i386/sse2-mmx-19b.c: Ditto.
+       * gcc.target/i386/sse2-mmx-19c.c: Ditto.
+       * gcc.target/i386/sse2-mmx-19d.c: Ditto.
+       * gcc.target/i386/sse2-mmx-19e.c: Ditto.
+
+2020-05-25  Martin Jambor  <mjambor@suse.cz>
+
+       * brig.dg/test/gimple/packed.hsail: Fix scan dump patterns.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95308
+       * g++.dg/torture/pr95308.C: New testcase.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95295
+       * gcc.dg/torture/pr95295-1.c: New testcase.
+       * gcc.dg/torture/pr95295-2.c: Likewise.
+       * gcc.dg/torture/pr95283.c: Likewise.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95271
+       * gcc.dg/vect/bb-slp-pr95271.c: New testcase.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95297
+       * g++.dg/vect/pr95297.cc: New testcase.
+       * g++.dg/vect/pr95290.cc: Likewise.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95284
+       * g++.dg/torture/pr95284.C: New testcase.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/renaming16.adb: New test.
+       * gnat.dg/renaming16_pkg.ads: New helper.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/array40.adb: New test.
+       * gnat.dg/array40_pkg.ads: New helper.
+
+2020-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/array39.adb: New test.
+       * gnat.dg/array39_pkg.ads: New helper.
+       * gnat.dg/array39_pkg.adb: Likewise.
+
+2020-05-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr95125-avx.c: New test.
+       * gcc.target/i386/pr95125-avx512f.c: Ditto.
+
+2020-05-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95106
+       * gfortran.dg/equiv_11.f90: New test.
+
+2020-05-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * g++.dg/warn/pr94038-3.C: New test.
+
+2020-05-22  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/spellcheck-stdint.c: New test.
+       * g++.dg/spellcheck-stdint.C: Likewise.
+
+2020-05-22  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/spellcheck-stdbool.c: New test.
+
+2020-05-22  Mark Wielaard  <mark@klomp.org>
+
+       * gcc.dg/analyzer/signal-exit.c: New testcase.
+
+2020-05-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95255
+       * gcc.target/i386/pr95255.c: New test.
+
+2020-05-22  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512f.c: New test.
+       * gcc.target/i386/pr92658-avx512vl.c: Ditto.
+       * gcc.target/i386/pr92658-avx512bw-trunc.c: Ditto.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95268
+       * g++.dg/torture/pr95268.C: New testcase.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95248
+       * gcc.dg/torture/pr95248.c: New testcase.
+
+2020-05-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * g++.dg/warn/pr94038-2.C: New test.
+
+2020-05-21  Martin Liska  <mliska@suse.cz>
+
+       PR target/95229
+       * g++.target/i386/pr95229.C: Fix
+       error: unnamed type with no linkage used
+       to declare variable ‘<unnamed class> e’ with linkage
+       with -std=gnu++98.
+
+2020-05-21  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/cpp/cmd-1.c: Delete.
+       * c-c++-common/cpp/cmd-1.h: Delete.
+
+2020-05-21  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/aarch64/target_attr_20.c: New test.
+       * gcc.target/aarch64/target_attr_21.c: New test.
+
+2020-05-20  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * g++.dg/warn/Wconversion-null-2.C: Add explicit declarations for l()
+       and g() with int, long, long long and __int20 arguments.
+       * g++.dg/warn/Wconversion-null.C: Likewise.
+
+2020-05-20  Marek Polacek  <polacek@redhat.com>
+
+       DR 2237
+       * g++.dg/DRs/dr2237.C: New test.
+       * g++.dg/parse/constructor2.C: Add dg-error for C++20.
+       * g++.dg/parse/dtor12.C: Likewise.
+       * g++.dg/parse/dtor4.C: Likewise.
+       * g++.dg/template/dtor4.C: Adjust dg-error.
+       * g++.dg/template/error34.C: Likewise.
+       * g++.old-deja/g++.other/inline15.C: Only run for C++17 and lesses.
+       * g++.old-deja/g++.pt/ctor2.C: Add dg-error for C++20.
+
+2020-05-20  Marek Polacek  <polacek@redhat.com>
+
+       DR 2289
+       PR c++/94553
+       * g++.dg/cpp1z/decomp52.C: New test.
+
+2020-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95229
+       * g++.target/i386/pr95229.C: New test.
+
+2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/39695
+       * gfortran.dg/pr39695_1.f90: New test.
+       * gfortran.dg/pr39695_2.f90: New test.
+       * gfortran.dg/pr39695_3.f90: New test.
+       * gfortran.dg/pr39695_4.f90: New test.
+
+2020-05-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95223
+       * g++.dg/template/typename23.C: New test.
+
+2020-05-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94959
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Modify.
+       * gcc.target/arm/mve/intrinsics/mve_vldr.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_vldr_z.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstr.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstr_p.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95219
+       * tree-vect-loop.c (vectorizable_induction): Reduce
+       group_size before computing the number of required IVs.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95231
+       * g++.dg/other/pr95231.C: New testcase.
+
+2020-05-30  Richard Biener  <rguenther@suse.de>
+
+       PR c/95141
+       * gcc.dg/pr95141.c: New testcase.
+
+2020-05-19  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/94591
+       * gcc.c-torture/execute/pr94591.c: New test.
+
+2020-05-19  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/raw-string-14.c: Adjust errors.
+       * c-c++-common/raw-string-16.c: Likewise.
+       * c-c++-common/raw-string-5.c: Likewise.
+
+2020-05-19  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/pr92645-4.c: Adjust expected pattern.
+
+2020-05-19  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * c-c++-common/builtin-has-attribute-7.c: Require size24plus.
+       * c-c++-common/cpp/pr63831-1.c: Store result in _has_cpp_attribute in a
+       long.
+       * c-c++-common/pr81376.c: Skip scan-tree-dump for short_eq_int. Extend
+       test for short_eq_int.
+       * g++.dg/abi/scoped1.C: Skip dg-warning tests for short_eq_int.
+       * g++.dg/cpp0x/constexpr-70001-1.C: Require size24plus.
+       * g++.dg/cpp0x/constexpr-bitfield3.C: Require int32plus.
+       * g++.dg/cpp0x/enum13.C: Skip dg-warning for short_eq_int.
+       * g++.dg/cpp0x/initlist5.C: Add dg-error for short_eq_int.
+       * g++.dg/cpp0x/initlist7.C: Add dg-warning for !int32plus.
+       * g++.dg/cpp0x/nullptr04.C: Skip dg-error for ptr_eq_short.
+       * g++.dg/cpp0x/variadic-value1.C: Add typedef for int32_t.
+       * g++.dg/cpp1y/constexpr-arith-overflow.C: Fix test for
+       sizeof(int) == sizeof(short).
+       * g++.dg/cpp1y/digit-sep-neg.C: Add typedef for int32_t.
+       * g++.dg/cpp1y/pr57644.C: Add typedef for uint32_t.
+       * g++.dg/cpp1y/pr77321.C: Require size24plus.
+       * g++.dg/cpp1y/var-templ4.C: Add typedef for int32_t.
+       * g++.dg/cpp1z/direct-enum-init1.C: Skip dg-error for short_eq_int.
+       * g++.dg/delayedfold/fwrapv1.C: Skip for int16.
+       * g++.dg/expr/bitfield9.C: Add typedef for int32_t.
+       * g++.dg/ext/attribute-test-1.C: Add typedef for uint32_t.
+       * g++.dg/ext/bitfield1.C: Add typedef for int32_t.
+       * g++.dg/ext/flexary13.C: Add typedef for int32_t.
+       * g++.dg/ext/utf-cvt.C: Adjust dg-warning for int16.
+       * g++.dg/ext/vector28.C: Add typedef for int32_t.
+       * g++.dg/ext/vla15.C: Add typedef for int32_t.
+       * g++.dg/init/array11.C: Require size32plus.
+       * g++.dg/init/array15.C: Require size24plus.
+       * g++.dg/init/array4.C: Require size20plus.
+       * g++.dg/init/const7.C: Skip dg-message for ptr_eq_short.
+       * g++.dg/init/new38.C: Relax regex in dg-error.
+       * g++.dg/init/new44.C: Skip dg-error for msp430_small.
+       Adjust test for 16-bit size_t.
+       Add special case for msp430 -mlarge.
+       * g++.dg/init/value9.C: Add typedef for int32_t.
+       * g++.dg/ipa/pr77333.C: Add typedef for int32_t.
+       * g++.dg/lto/20080908-1_0.C: Add typedef for int32_t.
+       * g++.dg/opt/pr55717.C: Add typedef for uint32_t.
+       * g++.dg/opt/pr60597.C: Add typedef for int32_t.
+       * g++.dg/opt/pr81715.C: Require size20plus.
+       * g++.dg/opt/reload3.C: Add typedef for uint32_t.
+       * g++.dg/opt/temp2.C: Require size20plus.
+       * g++.dg/opt/thunk1.C: Likewise.
+       * g++.dg/other/error23.C: Dont assume __SIZEOF_INT__ == 4.
+       * g++.dg/other/pr31078.C: Adjust typedef for 32-bit int.
+       * g++.dg/parse/concat1.C: Skip dg-error for size20plus.
+       * g++.dg/parse/defarg5.C: Add typedef for int32_t and uint32_t.
+       * g++.dg/pr48484.C: Add typedef for int32_t.
+       * g++.dg/pr53037-2.C: Likewise.
+       * g++.dg/pr53037-3.C: Likewise.
+       * g++.dg/pr66655.C: Use int32_t.
+       * g++.dg/pr66655.h: Add typedef for int32_t.
+       * g++.dg/pr66655_1.cc: Use int32_t.
+       * g++.dg/pr67351.C: Define 32-bit uint.
+       * g++.dg/template/array30.C: Add typedef for int32_t.
+       * g++.dg/template/constant1.C: Extend test for 8-bit and 16-bit int.
+       * g++.dg/template/constant2.C: Likewise.
+       * g++.dg/template/friend18.C: Add typedef for int32_t.
+       * g++.dg/template/pr68978.C: Likewise.
+       * g++.dg/torture/pr37421.C: Require int_eq_float.
+       * g++.dg/torture/pr88861.C: Handle 16-bit int.
+       * g++.dg/tree-ssa/pr19807.C: Likewise.
+       * g++.dg/tree-ssa/pr27291.C: Fix typedef for uint32_t.
+       * g++.dg/tree-ssa/pr49516.C: Fix typedefs for int{16,32}_t and
+       uint{32,64}_t.
+       * g++.dg/warn/Wconversion-integer.C: Add typedefs for {u,}int32_t.
+       * g++.dg/warn/Wconversion-null-2.C: Adjust g() declaration.
+       * g++.dg/warn/Wconversion-null.C: Likewise.
+       * g++.dg/warn/Wconversion3.C: Skip dg-warning for short_eq_int.
+       * g++.dg/warn/Wduplicated-branches1.C: Add dg-warning for short_eq_int.
+       * g++.dg/warn/Wplacement-new-size-5.C: Add typedef for int32_t.
+       * g++.dg/warn/Wplacement-new-size.C: Likewise.
+       * g++.dg/warn/Wstrict-aliasing-5.C: Add typedef for uint32_t.
+       * g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C: Add typedef for
+       {u,}int32_t.
+       * g++.dg/warn/Wtype-limits-Wextra.C: Adjust dg-warning for
+       short_eq_int.
+       * g++.dg/warn/Wtype-limits.C: Likewise.
+       * g++.old-deja/g++.brendan/enum11.C: Add typedef for uint32_t.
+       * g++.old-deja/g++.bugs/900227_01.C: Skip dg-error for ptr_eq_short.
+       * g++.old-deja/g++.mike/ns15.C: Require size20plus.
+       * g++.old-deja/g++.other/exprstmt1.C: Add typedef for uint32_t.
+       * g++.old-deja/g++.other/inline12.C: Adjust udword typedef.
+       * g++.old-deja/g++.other/new6.C: Add typedef for int32_t.
+       * g++.old-deja/g++.pt/crash16.C: Skip for int16.
+       * g++.old-deja/g++.robertl/eb76.C: Likewise.
+       * g++.old-deja/g++.warn/flow1.C: Add typedef for int32_t.
+       * gcc.dg/Walloca-14.c: Adjust -Walloca-larger-than= parameter for
+       !ptr32plus.
+       * gcc.dg/Warray-bounds-32.c: Adjust dg-warning for size20plus.
+       * gcc.dg/Wbuiltin-declaration-mismatch-4.c: Adjust dg-warning for
+       short_eq_int.
+       Handle case where ptrdiff_t/size_t is __int20.
+       * gcc.dg/concat2.c: Skip dg-error for size20plus.
+       * gcc.dg/fold-convmaxconv-1.c: Add typedef for {u,}int32_t.
+       * gcc.dg/fold-convminconv-1.c: Likewise.
+       * gcc.dg/graphite/scop-4.c: Require size20plus.
+       * gcc.dg/loop-versioning-1.c: Adjust test for small size_t.
+       * gcc.dg/loop-versioning-2.c: Require size20plus.
+       * gcc.dg/lto/20081210-1_0.c: Adjust typedef for uintptr_t.
+       * gcc.dg/lto/pr85870_0.c: Add typedef for uint32_t.
+       * gcc.dg/lto/pr85870_1.c: Likewise.
+       * gcc.dg/pr36227.c: Adjust typedef for ptrcast.
+       * gcc.dg/pr42611.c: First check for size_t equality with void *
+       before trying other types.
+       * gcc.dg/pr59963-2.c: Skip dg-warning for int16 instead of
+       xfail.
+       * gcc.dg/pr68317.c: Add typedef for int32_t.
+       * gcc.dg/pr78973.c: Adjust dg-warning for int16.
+       * gcc.dg/pr85859.c: Cast using __INTPTR_TYPE__ instead of long.
+       * gcc.dg/pr86179.c: Add typedef for {u,}int32_t.
+       * gcc.dg/torture/20181024-1.c: Require size32plus.
+       * gcc.dg/torture/pr71598-2.c: Skip for short_eq_int.
+       * gcc.dg/torture/pr86034.c: Add typedef for int32_t.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust dg-warning
+       for int16 and msp430 -mlarge.
+       * gcc.dg/tree-ssa/integer-addr.c: Use __INTPTR_MAX__ for a large
+       constant that is a valid address.
+       * gcc.dg/tree-ssa/loop-interchange-10.c: Add typedef for
+       int32_t.
+       * gcc.dg/tree-ssa/pr84436-3.c: Adjust dg-final for int16.
+       * gcc.dg/tree-ssa/pr84648.c: Add typedef for uint32_t.
+       * gcc.dg/tree-ssa/scev-8.c: Cast to char if sizeof(int) ==
+       sizeof(short).
+       * gcc.dg/tree-ssa/ssa-dom-thread-8.c: Adjust test for msp430 -mlarge.
+       * lib/target-supports.exp (check_effective_target_size24plus): New.
+       (check_effective_target_short_eq_int): New.
+       (check_effective_target_ptr_eq_short): New.
+       (check_effective_target_msp430_small): New.
+       (check_effective_target_msp430_large): New.
+
+2020-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * gcc.target/bpf/xbpf-callee-saved-regs-1.c: New test.
+       * gcc.target/bpf/xbpf-callee-saved-regs-2.c: Likewise.
+
+2020-05-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/92658
+       * gcc.target/i386/pr92658-sse4.c: New test.
+       * gcc.target/i386/pr92658-avx2.c: New test.
+       * gcc.target/i386/pr92658-avx512bw.c: New test.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/arch-6.c: New.
+       * gcc.target/riscv/attribute-11.c: New.
+       * gcc.target/riscv/attribute-12.c: New.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/arch-3.c: Adjust option.
+       * gcc.target/riscv/arch-5.c: New.
+       * gcc.target/riscv/attribute-9.c: Adjust option and test
+       condition.
+
+2020-05-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/66439
+       * g++.dg/cpp2a/concepts-ts4.C: Expect a "type/value mismatch"
+       diagnostic.
+       * g++.dg/cpp2a/concepts-ts6.C: Likewise.
+       * g++.dg/template/error56.C: Likewise.
+       * g++.dg/template/error59.C: New test.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94955
+       * g++.dg/cpp0x/constexpr-shift2.C: New test.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94937
+       * g++.dg/cpp1z/constexpr-if34.C: New test.
+       * g++.dg/cpp2a/is-constant-evaluated10.C: New test.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94923
+       * g++.dg/Wclass-memaccess.C: Add tests for std::byte.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92815
+       * gcc.dg/builtin-object-size-20.c: Adjust to avoid failures in
+       ILP32 mode.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90915
+       * g++.dg/ext/builtin-has-attribute.C: New test.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92815
+       * gcc.dg/Warray-bounds-56.c: Remove xfails.
+       * gcc.dg/builtin-object-size-20.c: New test.
+       * gcc.dg/builtin-object-size-21.c: New test.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94940
+       * gcc.dg/Warray-bounds-61.c: New test.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       DR 1512
+       PR c++/87699
+       * g++.dg/cpp0x/constexpr-array-ptr10.C: Change dg-warning to dg-error
+       and adjust the expected messages in dg-error.
+       * g++.dg/expr/composite-ptr-type.C: New test.
+       * g++.dg/expr/ptr-comp1.C: New test.
+       * g++.dg/expr/ptr-comp2.C: New test.
+       * g++.dg/expr/ptr-comp3.C: New test.
+       * g++.dg/overload/builtin4.C: New test.
+       * g++.dg/warn/Wextra-3.C: Change dg-warning to dg-error.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/overload/builtin5.C: New test.
+
+2020-05-18  Doug Rupp  <rupp@adacore.com>
+
+       * gcc.target/powerpc/pr71763.c: Require powerpc_vsx_ok.
+
+2020-05-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95053
+       * gfortran.dg/dec_structure_23.f90: Adjust to new error messages.
+       * gfortran.dg/pr93499.f90: Adjust to new error messages.
+       * gfortran.dg/pr95053_2.f90: New test.
+       * gfortran.dg/pr95053_3.f90: New test.
+
+2020-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95143
+       * g++.dg/cpp0x/sfinae66.C: New test.
+
+2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95169
+       * gcc.target/i386/pr95169.c: New test.
+
+2020-05-18  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.c-torture/compile/packed-aligned-1.c: New test.
+       * gcc.c-torture/execute/packed-aligned.c: New test.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95171
+       * gcc.dg/pr95171.c: New testcase.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95172
+       * gcc.dg/torture/pr95172.c: New testcase.
+
+2020-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95021
+       * c-c++-common/dfp/func-vararg-mixed-2.c: Removed.
+       * gcc.target/i386/pr95021-1.c: New test.
+       * gcc.target/i386/pr95021-2.c: Likewise.
+       * gcc.target/i386/pr95021-3.c: Likewise.
+       * gcc.target/i386/pr95021-4.c: Likewise.
+       * gcc.target/i386/pr95021-5.c: Likewise.
+
+2020-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gcc.target/i386/strncmp-1.c: New test.
+
+2020-05-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/co-return-syntax-10-movable.C: New test.
+
+2020-05-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/57943
+       * g++.dg/cpp0x/decltype76.C: New test.
+
+2020-05-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/coroutines/coro.h: Always #include <utility>.
+       * g++.dg/coroutines/coroutines.exp (DEFAULT_COROFLAGS): Use
+       -std=c++20.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/vec-gnb-0.c: Use int128 effective target.
+       * gcc.target/powerpc/vec-gnb-1.c: Ditto.
+       * gcc.target/powerpc/vec-gnb-2.c: Ditto.
+       * gcc.target/powerpc/vec-ternarylogic-8.c: Ditto.
+       * gcc.target/powerpc/vec-ternarylogic-9.c: Ditto.
+       * gcc.target/powerpc/vec-ternarylogic-10.c: Ditto.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/cnttzdm-0.c: Use lp64.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/cntlzdm-0.c: Use lp64 instead of powerpc64.
+       * gcc.target/powerpc/cntlzdm-1.c: Ditto.
+       * gcc.target/powerpc/cnttzdm-1.c: Ditto.
+       * gcc.target/powerpc/pdep-0.c: Ditto.
+       * gcc.target/powerpc/pdep-1.c: Ditto.
+       * gcc.target/powerpc/pextd-0.c: Ditto.
+       * gcc.target/powerpc/pextd-1.c: Ditto.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/pdep-0.c: Change -mcpu= to -mdejagnu-cpu=.
+       * gcc.target/powerpc/pdep-1.c: Ditto.
+       * gcc.target/powerpc/pextd-0.c: Ditto.
+       * gcc.target/powerpc/pextd-1.c: Ditto.
+       * gcc.target/powerpc/pr90763.c: Ditto.
+       * gcc.target/powerpc/pr91275.c: Ditto.
+       * gcc.target/powerpc/pr92796.c: Ditto.
+       * gcc.target/powerpc/pr93658.c: Ditto.
+       * gcc.target/powerpc/pr93800.c: Ditto.
+       * gcc.target/powerpc/setbceq.c: Ditto.
+       * gcc.target/powerpc/setbcge.c: Ditto.
+       * gcc.target/powerpc/setbcgt.c: Ditto.
+       * gcc.target/powerpc/setbcle.c: Ditto.
+       * gcc.target/powerpc/setbclt.c: Ditto.
+       * gcc.target/powerpc/setbcne.c: Ditto.
+       * gcc.target/powerpc/setnbceq.c: Ditto.
+       * gcc.target/powerpc/setnbcge.c: Ditto.
+       * gcc.target/powerpc/setnbcgt.c: Ditto.
+       * gcc.target/powerpc/setnbcle.c: Ditto.
+       * gcc.target/powerpc/setnbclt.c: Ditto.
+       * gcc.target/powerpc/setnbcne.c: Ditto.
+       * gcc.target/powerpc/xxgenpc-runnable.c: Ditto.
+
+2020-05-15  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90996
+       * g++.dg/cpp1y/pr90996.C: Turn into execution test to verify that each
+       PLACEHOLDER_EXPR gets correctly resolved.
+
+2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94690
+       * gfortran.dg/gomp/openmp-simd-4.f90: New test.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95133
+       * gcc.dg/pr95133.c: New testcase.
+
+2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94635
+       * gfortran.dg/gomp/target-exit-data.f90: New.
+
+2020-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-8.c: New test.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/33315
+       * gcc.dg/tree-ssa/ssa-sink-13.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-sink-14.c: Likewise.
+       * gcc.dg/tree-ssa/split-path-7.c: Disable sinking.
+
+2020-05-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/37451, part of PR target/61837
+       * gcc.target/powerpc/doloop-2.c: New test.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR jit/94778
+       * jit.dg/jit.exp: Skip jit tests for targets that don't support
+       -lgccjit.
+       * lib/target-supports.exp (check_effective_target_lgccjit): New.
+
+2020-05-14  Andrew Stubbs  <ams@codesourcery.com>
+
+       * testsuite/gcc.target/gcn/gcn.exp: New file.
+       * testsuite/gcc.target/gcn/vcc-clobber.c: New file.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-7.c: New test.
+
+2020-05-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/78446
+       * g++.dg/template/sfinae31.C: New test.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-6.c: New test.
+
+2020-05-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/95105
+       * gcc.target/aarch64/sve/acle/general/attributes_8.c: New test.
+       * g++.target/aarch64/sve/acle/general-c++/attributes_1.C: Likewise.
+
+2020-05-14  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/94703
+       * gcc.dg/tree-ssa/pr94703.c: Skip for strict-align targets.
+
+2020-05-14  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95118
+       * gcc.dg/pr95118.c: New testcase.
+
+2020-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/declare-variant-14.c: New test.
+
+       PR middle-end/95108
+       * gcc.dg/gomp/pr95108.c: New test.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-5.c: New test.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/stack-clash-2.c: New test.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/stack-clash-1.c: New test.
+
+2020-05-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/stack-clash-3.c: New test.
+
+2020-05-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-extracth-0.c: New.
+       * gcc.target/powerpc/vec-extracth-1.c: New.
+       * gcc.target/powerpc/vec-extracth-2.c: New.
+       * gcc.target/powerpc/vec-extracth-3.c: New.
+       * gcc.target/powerpc/vec-extracth-4.c: New.
+       * gcc.target/powerpc/vec-extracth-5.c: New.
+       * gcc.target/powerpc/vec-extracth-6.c: New.
+       * gcc.target/powerpc/vec-extracth-7.c: New.
+       * gcc.target/powerpc/vec-extracth-be-0.c: New.
+       * gcc.target/powerpc/vec-extracth-be-1.c: New.
+       * gcc.target/powerpc/vec-extracth-be-2.c: New.
+       * gcc.target/powerpc/vec-extracth-be-3.c: New.
+       * gcc.target/powerpc/vec-extractl-0.c: New.
+       * gcc.target/powerpc/vec-extractl-1.c: New.
+       * gcc.target/powerpc/vec-extractl-2.c: New.
+       * gcc.target/powerpc/vec-extractl-3.c: New.
+       * gcc.target/powerpc/vec-extractl-4.c: New.
+       * gcc.target/powerpc/vec-extractl-5.c: New.
+       * gcc.target/powerpc/vec-extractl-6.c: New.
+       * gcc.target/powerpc/vec-extractl-7.c: New.
+       * gcc.target/powerpc/vec-extractl-be-0.c: New.
+       * gcc.target/powerpc/vec-extractl-be-1.c: New.
+       * gcc.target/powerpc/vec-extractl-be-2.c: New.
+       * gcc.target/powerpc/vec-extractl-be-3.c: New.
+
+2020-05-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79706
+       * g++.dg/template/sfinae30.C: New test.
+
+2020-05-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95020
+       * g++.dg/cpp2a/concepts-lambda7.C: New test.
+
+2020-05-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95066
+       * g++.dg/cpp2a/explicit16.C: New test.
+
+2020-05-13  Jason Merrill  <jason@redhat.com>
+
+       * lib/target-supports.exp (check_effective_target_c++20_only)
+       (check_effective_target_c++20): New.
+
+2020-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/95110
+       * gcc.dg/tree-ssa/pr94969.c: Swap scan-tree-dump-not arguments.
+
+2020-05-13  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/parse/attr4.C: Use c++11 in a target selector.
+
+2020-05-13  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/93497
+       * gfortran.dg/pr88025.f90: Change in wording of error.
+       * gfortran.dg/pr93497.f90: New test.
+       * gfortran.dg/pr93714_1.f90: Change in wording of errors.
+       * gfortran.dg/pr93714_2.f90: Change in wording of errors.
+
+2020-05-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/70642
+       * g++.dg/cpp0x/alias-decl-70.C: New test.
+
+2020-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/95080
+       * g++.dg/opt/pr95080.C: New test.
+
+       PR tree-optimization/95060
+       * gcc.target/i386/avx512f-pr95060.c: New test.
+       * gcc.target/i386/fma_double_1.c: Adjust expected insn counts.
+       * gcc.target/i386/fma_double_2.c: Likewise.
+       * gcc.target/i386/fma_double_3.c: Likewise.
+       * gcc.target/i386/fma_double_4.c: Likewise.
+       * gcc.target/i386/fma_double_5.c: Likewise.
+       * gcc.target/i386/fma_double_6.c: Likewise.
+       * gcc.target/i386/fma_float_1.c: Likewise.
+       * gcc.target/i386/fma_float_2.c: Likewise.
+       * gcc.target/i386/fma_float_3.c: Likewise.
+       * gcc.target/i386/fma_float_4.c: Likewise.
+       * gcc.target/i386/fma_float_5.c: Likewise.
+       * gcc.target/i386/fma_float_6.c: Likewise.
+       * gcc.target/i386/l_fma_double_1.c: Likewise.
+       * gcc.target/i386/l_fma_double_2.c: Likewise.
+       * gcc.target/i386/l_fma_double_3.c: Likewise.
+       * gcc.target/i386/l_fma_double_4.c: Likewise.
+       * gcc.target/i386/l_fma_double_5.c: Likewise.
+       * gcc.target/i386/l_fma_double_6.c: Likewise.
+       * gcc.target/i386/l_fma_float_1.c: Likewise.
+       * gcc.target/i386/l_fma_float_2.c: Likewise.
+       * gcc.target/i386/l_fma_float_3.c: Likewise.
+       * gcc.target/i386/l_fma_float_4.c: Likewise.
+       * gcc.target/i386/l_fma_float_5.c: Likewise.
+       * gcc.target/i386/l_fma_float_6.c: Likewise.
+
+2020-05-13  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/95051
+       * gcc.dg/asan/pr95051.c: Simplify options as -fsanitize=address
+       and -O2 were enough to trigger the original ICE.
+
+2020-05-13  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR preprocessor/95013
+       * gcc.dg/unclosed-init.c: Add missing comment in dg-error.
+
+2020-05-13  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/94969
+       * gcc.dg/tree-ssa/pr94969.c: New test.
+
+2020-05-12  Craig Blackmore  <craig.blackmore@embecosm.com>
+
+       * gcc.target/riscv/shorten-memrefs-1.c: New test.
+       * gcc.target/riscv/shorten-memrefs-2.c: New test.
+       * gcc.target/riscv/shorten-memrefs-3.c: New test.
+       * gcc.target/riscv/shorten-memrefs-4.c: New test.
+       * gcc.target/riscv/shorten-memrefs-5.c: New test.
+       * gcc.target/riscv/shorten-memrefs-6.c: New test.
+       * gcc.target/riscv/shorten-memrefs-7.c: New test.
+
+2020-05-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR preprocessor/95013
+       * c-c++-common/goacc/pr79428-1.c: Adjust EOF diagnostic location.
+       * c-c++-common/gomp/pr79428-2.c: Likewise.
+       * g++.dg/cpp0x/decltype63.C: Likewise.
+       * g++.dg/cpp0x/gen-attrs-64.C: Likewise.
+       * g++.dg/cpp0x/pr68726.C: Likewise.
+       * g++.dg/cpp0x/pr78341.C: Likewise.
+       * g++.dg/cpp1y/pr65202.C: Likewise.
+       * g++.dg/cpp1y/pr65340.C: Likewise.
+       * g++.dg/cpp1y/pr68578.C: Likewise.
+       * g++.dg/cpp1z/class-deduction44.C: Likewise.
+       * g++.dg/diagnostic/unclosed-extern-c.C: Likewise.
+       * g++.dg/diagnostic/unclosed-function.C: Likewise.
+       * g++.dg/diagnostic/unclosed-namespace.C: Likewise.
+       * g++.dg/diagnostic/unclosed-struct.C: Likewise.
+       * g++.dg/ext/pr84598.C: Likewise.
+       * g++.dg/other/switch4.C: Likewise.
+       * g++.dg/parse/attr4.C: Likewise.
+       * g++.dg/parse/cond4.C: Likewise.
+       * g++.dg/parse/crash10.C: Likewise.
+       * g++.dg/parse/crash18.C: Likewise.
+       * g++.dg/parse/crash27.C: Likewise.
+       * g++.dg/parse/crash34.C: Likewise.
+       * g++.dg/parse/crash35.C: Likewise.
+       * g++.dg/parse/crash52.C: Likewise.
+       * g++.dg/parse/crash59.C: Likewise.
+       * g++.dg/parse/crash61.C: Likewise.
+       * g++.dg/parse/crash67.C: Likewise.
+       * g++.dg/parse/error14.C: Likewise.
+       * g++.dg/parse/error56.C: Likewise.
+       * g++.dg/parse/invalid1.C: Likewise.
+       * g++.dg/parse/parameter-declaration-1.C: Likewise.
+       * g++.dg/parse/parser-pr28152-2.C: Likewise.
+       * g++.dg/parse/parser-pr28152.C: Likewise.
+       * g++.dg/parse/pr68722.C: Likewise.
+       * g++.dg/pr46852.C: Likewise.
+       * g++.dg/pr46868.C: Likewise.
+       * g++.dg/template/crash115.C: Likewise.
+       * g++.dg/template/crash43.C: Likewise.
+       * g++.dg/template/crash90.C: Likewise.
+       * g++.dg/template/error-recovery1.C: Likewise.
+       * g++.dg/template/error57.C: Likewise.
+       * g++.old-deja/g++.other/crash31.C: Likewise.
+       * gcc.dg/empty-source-2.c: Likewise.
+       * gcc.dg/empty-source-3.c: Likewise.
+       * gcc.dg/noncompile/pr30552-3.c: Likewise.
+       * gcc.dg/noncompile/pr35447-1.c: Likewise.
+       * gcc.dg/pr20245-1.c: Likewise.
+       * gcc.dg/pr28419.c: Likewise.
+       * gcc.dg/rtl/truncated-rtl-file.c: Likewise.
+       * gcc.dg/unclosed-init.c: Likewise.
+       * obj-c++.dg/property/property-neg-6.mm: Likewise.
+       * obj-c++.dg/syntax-error-10.mm: Likewise.
+       * obj-c++.dg/syntax-error-8.mm: Likewise.
+       * obj-c++.dg/syntax-error-9.mm: Likewise.
+
+2020-05-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95074
+       * g++.dg/lookup/koenig15.C: New test.
+
+2020-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/95051
+       * gcc.dg/asan/pr95051.c: Add -fno-sanitize=all to dg-options.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-4.c: New test.
+
+2020-05-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/78752
+       * g++.dg/cpp2a/concepts-pr78752-2.C: New test.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-3.c: New test.
+
+2020-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-2.c: New test.
+
+2020-05-12  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.c-torture/execute/noinit-attribute.c: Skip for msp430
+       in the large memory model.
+
+2020-05-12  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/region-attribute-misuse.c: Allow a .bss section to
+       be created.
+
+2020-05-12  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/95033
+       PR sanitizer/95051
+       * g++.dg/asan/function-argument-4.C: New test.
+       * gcc.dg/asan/pr95033.c: New test.
+       * gcc.dg/asan/pr95051.c: New test.
+
+2020-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95063
+       * g++.dg/gomp/pr95063.C: New test.
+
+2020-05-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94980
+       * gcc.target/i386/pr94980.c: New test.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-clzm-0.c: Rename to...
+       * gcc.target/powerpc/vec-cntlzm-0.c: ...this.
+       * gcc.target/powerpc/vec-clzm-1.c: Rename to...
+       * gcc.target/powerpc/vec-cntlzm-1.c: ...this.
+       * gcc.target/powerpc/vec-ctzm-0.c: Rename to...
+       * gcc.target/powerpc/vec-cnttzm-0.c: ...this.
+       * gcc.target/powerpc/vec-ctzm-1.c: Rename to...
+       * gcc.target/powerpc/vec-cnttzm-1.c: ...this.
+       * gcc.target/powerpc/vec-gnb-8.c: Rename to...
+       * gcc.target/powerpc/vec-gnb-0.c: ...this, deleting the old file.
+       * gcc.target/powerpc/vec-gnb-9.c: Rename to...
+       * gcc.target/powerpc/vec-gnb-1.c: ...this, deleting the old file.
+       * gcc.target/powerpc/vec-gnb-10.c: Rename to...
+       * gcc.target/powerpc/vec-gnb-2.c: ...this, deleting the old file.
+       * gcc.target/powerpc/vec-gnb-3.c: Delete.
+       * gcc.target/powerpc/vec-gnb-4.c: Delete.
+       * gcc.target/powerpc/vec-gnb-5.c: Delete.
+       * gcc.target/powerpc/vec-gnb-6.c: Delete.
+       * gcc.target/powerpc/vec-gnb-7.c: Delete.
+
+2020-05-11  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/xxgenpc-runnable.c: New.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-stril-0.c: New.
+       * gcc.target/powerpc/vec-stril-1.c: New.
+       * gcc.target/powerpc/vec-stril-10.c: New.
+       * gcc.target/powerpc/vec-stril-11.c: New.
+       * gcc.target/powerpc/vec-stril-12.c: New.
+       * gcc.target/powerpc/vec-stril-13.c: New.
+       * gcc.target/powerpc/vec-stril-14.c: New.
+       * gcc.target/powerpc/vec-stril-15.c: New.
+       * gcc.target/powerpc/vec-stril-16.c: New.
+       * gcc.target/powerpc/vec-stril-17.c: New.
+       * gcc.target/powerpc/vec-stril-18.c: New.
+       * gcc.target/powerpc/vec-stril-19.c: New.
+       * gcc.target/powerpc/vec-stril-2.c: New.
+       * gcc.target/powerpc/vec-stril-20.c: New.
+       * gcc.target/powerpc/vec-stril-21.c: New.
+       * gcc.target/powerpc/vec-stril-22.c: New.
+       * gcc.target/powerpc/vec-stril-23.c: New.
+       * gcc.target/powerpc/vec-stril-3.c: New.
+       * gcc.target/powerpc/vec-stril-4.c: New.
+       * gcc.target/powerpc/vec-stril-5.c: New.
+       * gcc.target/powerpc/vec-stril-6.c: New.
+       * gcc.target/powerpc/vec-stril-7.c: New.
+       * gcc.target/powerpc/vec-stril-8.c: New.
+       * gcc.target/powerpc/vec-stril-9.c: New.
+       * gcc.target/powerpc/vec-stril_p-0.c: New.
+       * gcc.target/powerpc/vec-stril_p-1.c: New.
+       * gcc.target/powerpc/vec-stril_p-10.c: New.
+       * gcc.target/powerpc/vec-stril_p-11.c: New.
+       * gcc.target/powerpc/vec-stril_p-2.c: New.
+       * gcc.target/powerpc/vec-stril_p-3.c: New.
+       * gcc.target/powerpc/vec-stril_p-4.c: New.
+       * gcc.target/powerpc/vec-stril_p-5.c: New.
+       * gcc.target/powerpc/vec-stril_p-6.c: New.
+       * gcc.target/powerpc/vec-stril_p-7.c: New.
+       * gcc.target/powerpc/vec-stril_p-8.c: New.
+       * gcc.target/powerpc/vec-stril_p-9.c: New.
+       * gcc.target/powerpc/vec-strir-0.c: New.
+       * gcc.target/powerpc/vec-strir-1.c: New.
+       * gcc.target/powerpc/vec-strir-10.c: New.
+       * gcc.target/powerpc/vec-strir-11.c: New.
+       * gcc.target/powerpc/vec-strir-12.c: New.
+       * gcc.target/powerpc/vec-strir-13.c: New.
+       * gcc.target/powerpc/vec-strir-14.c: New.
+       * gcc.target/powerpc/vec-strir-15.c: New.
+       * gcc.target/powerpc/vec-strir-16.c: New.
+       * gcc.target/powerpc/vec-strir-17.c: New.
+       * gcc.target/powerpc/vec-strir-18.c: New.
+       * gcc.target/powerpc/vec-strir-19.c: New.
+       * gcc.target/powerpc/vec-strir-2.c: New.
+       * gcc.target/powerpc/vec-strir-20.c: New.
+       * gcc.target/powerpc/vec-strir-21.c: New.
+       * gcc.target/powerpc/vec-strir-22.c: New.
+       * gcc.target/powerpc/vec-strir-23.c: New.
+       * gcc.target/powerpc/vec-strir-3.c: New.
+       * gcc.target/powerpc/vec-strir-4.c: New.
+       * gcc.target/powerpc/vec-strir-5.c: New.
+       * gcc.target/powerpc/vec-strir-6.c: New.
+       * gcc.target/powerpc/vec-strir-7.c: New.
+       * gcc.target/powerpc/vec-strir-8.c: New.
+       * gcc.target/powerpc/vec-strir-9.c: New.
+       * gcc.target/powerpc/vec-strir_p-0.c: New.
+       * gcc.target/powerpc/vec-strir_p-1.c: New.
+       * gcc.target/powerpc/vec-strir_p-10.c: New.
+       * gcc.target/powerpc/vec-strir_p-11.c: New.
+       * gcc.target/powerpc/vec-strir_p-2.c: New.
+       * gcc.target/powerpc/vec-strir_p-3.c: New.
+       * gcc.target/powerpc/vec-strir_p-4.c: New.
+       * gcc.target/powerpc/vec-strir_p-5.c: New.
+       * gcc.target/powerpc/vec-strir_p-6.c: New.
+       * gcc.target/powerpc/vec-strir_p-7.c: New.
+       * gcc.target/powerpc/vec-strir_p-8.c: New.
+       * gcc.target/powerpc/vec-strir_p-9.c: New.
+
+2020-05-11  Kelvin Nilsen  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/vec-ternarylogic-0.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-1.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-10.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-2.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-3.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-4.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-5.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-6.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-7.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-8.c: New.
+       * gcc.target/powerpc/vec-ternarylogic-9.c: New.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/pdep-0.c: New.
+       * gcc.target/powerpc/pdep-1.c: New.
+       * gcc.target/powerpc/pextd-0.c: New.
+       * gcc.target/powerpc/pextd-1.c: New.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-clrl-0.c: New.
+       * gcc.target/powerpc/vec-clrl-1.c: New.
+       * gcc.target/powerpc/vec-clrr-0.c: New.
+       * gcc.target/powerpc/vec-clrr-1.c: New.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/cntlzdm-0.c: New test.
+       * gcc.target/powerpc/cntlzdm-1.c: New test.
+       * gcc.target/powerpc/cnttzdm-0.c: New test.
+       * gcc.target/powerpc/cnttzdm-1.c: New test.
+
+2020-05-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95053
+       * gfortran.dg/pr95053.f: New test.
+
+2020-05-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-1.c (test_sqrt): Add.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-cfuged-0.c: New test.
+       * gcc.target/powerpc/vec-cfuged-1.c: New test.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target.powerpc/cfuged-0.c: New test.
+       * gcc.target.powerpc/cfuged-1.c: New test.
+
+2020-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95049
+       * gcc.dg/torture/pr95049.c: New testcase.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+           Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/vec-gnb-0.c: New test.
+       * gcc.target/powerpc/vec-gnb-1.c: New test.
+       * gcc.target/powerpc/vec-gnb-10.c: New test.
+       * gcc.target/powerpc/vec-gnb-2.c: New test.
+       * gcc.target/powerpc/vec-gnb-3.c: New test.
+       * gcc.target/powerpc/vec-gnb-4.c: New test.
+       * gcc.target/powerpc/vec-gnb-5.c: New test.
+       * gcc.target/powerpc/vec-gnb-6.c: New test.
+       * gcc.target/powerpc/vec-gnb-7.c: New test.
+       * gcc.target/powerpc/vec-gnb-8.c: New test.
+       * gcc.target/powerpc/vec-gnb-9.c: New test.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-pdep-0.c: New.
+       * gcc.target/powerpc/vec-pdep-1.c: New.
+       * gcc.target/powerpc/vec-pext-0.c: New.
+       * gcc.target/powerpc/vec-pext-1.c: New.
+
+2020-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94988
+       PR tree-optimization/95025
+       * gcc.dg/torture/pr94988.c: New testcase.
+       * gcc.dg/torture/pr95025.c: Likewise.
+       * gcc.dg/torture/pr95045.c: Likewise.
+       * g++.dg/asan/pr95025.C: New testcase.
+
+2020-05-11  Jakub Jelinek  <jakub@redhat.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94672
+       * gfortran.dg/gomp/pr94672.f90: New.
+       * gfortran.dg/missing_optional_dummy_6a.f90: Update scan-tree.
+
+2020-05-11  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/94991
+       * gcc.target/aarch64/mgeneral-regs_5.c: New test.
+
+2020-05-11  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/csinv-neg.c: New test.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-clzm-0.c: New test.
+       * gcc.target/powerpc/vec-clzm-1.c: New test.
+       * gcc.target/powerpc/vec-ctzm-0.c: New test.
+       * gcc.target/powerpc/vec-ctzm-1.c: New test.
+
+2020-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * gcc.target/powerpc/dg-future-0.c: New.
+       * gcc.target/powerpc/dg-future-1.c: New.
+       * lib/target-supports.exp (check_powerpc_future_hw_available):
+       Replace -mfuture with -mcpu=future.
+       (check_effective_target_powerpc_future_ok): Likewise.
+       (is-effective-target): Add powerpc_future_hw.
+
+2020-05-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc/testsuite/g++.dg/ipa/pr94856.C: Require fgnu-tm.
+
+2020-05-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-1.c: New test.
+
+2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/59107
+       * gfortran.dg/pr59107.f90: New test.
+
+2020-05-11  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR tree-optimization/83403
+       * gcc.dg/tree-ssa/pr83403-1.c: New test.
+       * gcc.dg/tree-ssa/pr83403-2.c: New test.
+       * gcc.dg/tree-ssa/pr83403.h: New header.
+
+2020-05-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93499
+       * gfortran.dg/pr93499.f90: New test.
+
+2020-05-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/95008
+       * gcc.dg/two-types-6.c: Remove dg-warning directive that never
+       triggered.
+       * gcc.dg/analyzer/pr93382.c: Properly escape ()s in the diagnostic
+       message.
+
+2020-05-09  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/: Adjust for removing crisv32-* and cris-linux-*.
+       * gcc.dg/20020919-1.c, gcc.dg/pr31866.c, gcc.dg/pr46647.c,
+       gcc.dg/sibcall-10.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c,
+       gcc.dg/sibcall-9.c, gcc.dg/torture/cris-asm-mof-1.c,
+       gcc.dg/torture/cris-volatile-1.c, gcc.dg/torture/pr38948.c,
+       gcc.dg/tree-ssa/20040204-1.c, gcc.dg/tree-ssa/loop-1.c,
+       gcc.dg/weak/typeof-2.c, lib/target-supports.exp: Remove remaining
+       traces of crisv32-*.
+
+2020-05-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * gcc.target/i386/pr92807-1.c: Improve the regex.
+
+2020-05-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95003
+       * g++.dg/coroutines/torture/pr95003.C: New test.
+
+2020-05-08  Nathan Sidwell  <nathan@acm.org>
+
+       * gcc.dg/cpp/counter-[23].c: Move to c-c+_-common/cpp.
+       * gcc.dg/cpp/dir-only-*: Likewise.
+       * c-c++-common/cpp/dir-only-[78].c: New.
+
+2020-05-08  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-pr68892.c: Adjust for not supported
+       SLP permutations becoming builds from scalars.
+       * gcc.dg/vect/bb-slp-pr78205.c: Likewise.
+       * gcc.dg/vect/bb-slp-34.c: Likewise.
+
+2020-05-08  Nathan Sidwell  <nathan@acm.org>
+
+       * c-c++-common/raw-string-6.c: Adjust EOF error location.
+       * g++.dg/cpp0x/decltype63.C: Likewise.
+       * g++.dg/cpp0x/gen-attrs-64.C: Likewise.
+       * g++.dg/cpp0x/pr68726.C: Likewise.
+       * g++.dg/cpp0x/pr78341.C: Likewise.
+       * g++.dg/cpp1y/pr65202.C: Likewise.
+       * g++.dg/cpp1z/class-deduction44.C: Likewise.
+       * g++.dg/diagnostic/unclosed-extern-c.C: Likewise.
+       * g++.dg/diagnostic/unclosed-function.C: Likewise.
+       * g++.dg/diagnostic/unclosed-namespace.C: Likewise.
+       * g++.dg/diagnostic/unclosed-struct.C: Likewise.
+       * g++.dg/ext/pr84598.C: Likewise.
+       * g++.dg/other/switch4.C: Likewise.
+       * g++.dg/parse/crash10.C: Likewise.
+       * g++.dg/parse/crash18.C: Likewise.
+       * g++.dg/parse/crash35.C: Likewise.
+       * g++.dg/parse/crash59.C: Likewise.
+       * g++.dg/parse/crash61.C: Likewise.
+       * g++.dg/parse/crash67.C: Likewise.
+       * g++.dg/parse/ctor3.C: Likewise.
+       * g++.dg/parse/error14.C: Likewise.
+       * g++.dg/parse/error5.C: Likewise.
+       * g++.dg/parse/error56.C: Likewise.
+       * g++.dg/parse/invalid1.C: Likewise.
+       * g++.dg/parse/parameter-declaration-1.C: Likewise.
+       * g++.dg/parse/parser-pr28152-2.C: Likewise.
+       * g++.dg/parse/parser-pr28152.C: Likewise.
+       * g++.dg/parse/pr68722.C: Likewise.
+       * g++.dg/pr46852.C: Likewise.
+       * g++.dg/pr46868.C: Likewise.
+       * g++.dg/template/crash115.C: Likewise.
+       * g++.dg/template/crash43.C: Likewise.
+       * g++.dg/template/error-recovery1.C: Likewise.
+       * g++.dg/template/error57.C: Likewise.
+       * g++.old-deja/g++.other/crash31.C: Likewise.
+
+2020-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/addr15.adb: New test.
+
+2020-05-08  Richard Biener  <rguenther@suse.de>
+
+       * gnat.dg/opt83.adb: New testcase.
+
+2020-05-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94786
+       * gcc.dg/tree-ssa/pr94786.c: New test.
+
+       PR target/94857
+       * gcc.target/i386/pr94857.c: New test.
+
+       PR tree-optimization/94783
+       * gcc.dg/tree-ssa/pr94783.c: New test.
+
+       PR tree-optimization/94956
+       * gcc.target/i386/pr94956.c: New test.
+
+       PR tree-optimization/94913
+       * gcc.dg/tree-ssa/pr94913.c: New test.
+
+2020-05-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/setnbc.h: New.
+       * gcc.target/powerpc/setnbceq.c: New.
+       * gcc.target/powerpc/setnbcge.c: New.
+       * gcc.target/powerpc/setnbcgt.c: New.
+       * gcc.target/powerpc/setnbcle.c: New.
+       * gcc.target/powerpc/setnbclt.c: New.
+       * gcc.target/powerpc/setnbcne.c: New.
+
+2020-05-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/setbc.h: New.
+       * gcc.target/powerpc/setbceq.c: New.
+       * gcc.target/powerpc/setbcge.c: New.
+       * gcc.target/powerpc/setbcgt.c: New.
+       * gcc.target/powerpc/setbcle.c: New.
+       * gcc.target/powerpc/setbclt.c: New.
+       * gcc.target/powerpc/setbcne.c: New.
+
+2020-05-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94817
+       PR c++/94829
+       * g++.dg/coroutines/coro-missing-final-suspend.C: New test.
+       * g++.dg/coroutines/coro-missing-initial-suspend.C: New test.
+       * g++.dg/coroutines/coro-missing-promise-yield.C: Check for
+       continuation of compilation.
+       * g++.dg/coroutines/coro-missing-promise.C: Likewise.
+       * g++.dg/coroutines/coro-missing-ret-value.C: Likewise
+       * g++.dg/coroutines/coro-missing-ret-void.C: Likewise
+       * g++.dg/coroutines/coro-missing-ueh-3.C: Likewise
+       * g++.dg/coroutines/pr94817.C: New test.
+       * g++.dg/coroutines/pr94829.C: New test.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94590 - Detect long double -> double narrowing.
+       * g++.dg/cpp0x/Wnarrowing18.C: New test.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94255
+       * g++.dg/template/spec41.C: New test.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       P1957R2
+       * g++.dg/cpp0x/initlist92.C: Don't expect an error in C++20 only.
+
+2020-05-07  Manfred Schwarb <manfred99@gmx.ch>
+
+       * gcc.dg/20050121-1.c: Fix broken dg directives.
+       * gcc.dg/analzyer/pr93382.c: Likewise.
+       * gcc.dg/autopar/pr68460.c: Likewise.
+       * gcc.dg/c90-fordecl-1.c: Likewise.
+       * gcc.dg/cpp/trad/funlike-5.c: Likewise.
+       * gcc.dg/debug/dwarf2/dwarf-dfp.c: Likewise.
+       * gcc.dg/debug/dwarf2/dwarf-float.c: Likewise.
+       * gcc.dg/lto/pr52634_0.c: Likewise.
+       * gcc.dg/pr32069.c: Likewise.
+       * gcc.dg/pr35445.c: Likewise.
+       * gcc.dg/pr40172-3.c: Likewise.
+       * gcc.dg/pr87347.c: Likewise.
+       * gcc.dg/pr88660.c: Likewise.
+       * gcc.dg/pr89689.c: Likewise.
+       * gcc.dg/sinatan-2.c: Likewise.
+       * gcc.dg/sinhatanh-1.c: Likewise.
+       * gcc.dg/sinhovercosh-1.c: Likewise.
+       * gcc.dg/tls/opt-9.c: Likewise.
+       * gcc.dg/torture/builtins-1.c: Likewise.
+       * gcc.dg/torture/pr51106-1.c: Likewise.
+       * gcc.dg/torture/pr51106-2.c: Likewise.
+       * gcc.dg/torture/pr80281.c: Likewise.
+       * gcc.dg/torture/pr92252.c: Likewise.
+       * gcc.dg/tree-ssa/pr79448-2.c: Likewise.
+       * gcc.dg/tree-ssa/pr79448.c: Likewise.
+       * gcc.dg/tree-ssa/pr92163.c: Likewise.
+       * gcc.dg/tree-ssa/reassoc-28.c: Likewise.
+       * gcc.dg/tree-ssa/upcast-1.c: Likewise.
+       * gcc.dg/two-types-6.c: Likewise.
+       * gcc.dg/ubsan/c-shift-1.c: Likewise.
+       * gcc.dg/var-expand3.c: Likewise.
+       * gcc.dg/vect/costmodel/x86_64/costmodel-pr30843.c: Likewise.
+       * gcc.dg/vect/pr71264.c: Likewise.
+
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/other/operator1.C: Adjust expected message.
+       * g++.dg/overload/operator2.C: Likewise.
+       * g++.dg/template/error30.C: Likewise.
+       * g++.old-deja/g++.jason/operator.C: Likewise.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94703
+       * gcc.dg/tree-ssa/pr94703.c: New testcase.
+
+2020-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94946
+       * g++.dg/ext/attr-parm-1.C: Enable the test also for lp64 x86, use
+       sysv_abi and ms_abi attributes in that case instead of fastcall and
+       no attribute.
+
+       PR c/94968
+       * gcc.dg/pr94968.c: New test.
+
+2020-05-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/57359
+       * gcc.dg/torture/pr57359-1.c: New testcase.
+       * gcc.dg/torture/pr57359-1.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-lim-14.c: Likewise.
+       * gcc.dg/graphite/pr80906.c: XFAIL.
+
+2020-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/debug16.adb: New test.
+
+2020-05-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94938
+       * g++.dg/warn/Wdiv-by-zero-3.C: New test.
+       * g++.dg/warn/Wtype-limits4.C: New test.
+       * g++.dg/warn/template-2.C: New test.
+       * g++.old-deja/g++.pt/crash10.C: Add dg-warning.
+
+2020-05-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94970
+       * gdc.dg/pr94970.d: New test.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94951
+       * g++.dg/warn/Wstrict-aliasing-bogus-tmpl.C: New test.
+
+       PR c++/94907
+       * g++.dg/cpp2a/spaceship-synth8.C: New test.
+
+2020-05-06  qing zhao  <qing.zhao@oracle.com>
+
+       PR c/94230
+       * gcc.dg/plugin/location-overflow-test-1.c (fn_1): New message to
+       provide hint to use the new -flarge-source-files option.
+
+2020-05-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94913
+       * gcc.target/i386/pr94913-1.c: New test.
+       * gcc.target/i386/pr94913-2.c: Ditto.
+
+2020-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94963
+       * gcc.dg/pr94963.c: New testcase.
+
+2020-05-06  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * g++.dg/other/i386-2.c: Add -mtsxldtrk.
+       * g++.dg/other/i386-3.c: Likewise.
+       * gcc.target/i386/sse-12.c: Likewise.
+       * gcc.target/i386/sse-13.c: Likewise.
+       * gcc.target/i386/sse-14.c: Likewise.
+       * gcc.target/i386/sse-22.c: Likewsie.
+       * gcc.target/i386/sse-23.c: Likewise.
+       * gcc.target/i386/tsxldtrk-1.c: New test.
+       * gcc.target/i386/funcspec-56.inc: Add target attribute tests
+       for tsxldtrk.
+
+2020-05-06  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/funcspec-56.inc: Add enqcmd, avx512bf16,
+       avx512vp2intersect.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94921
+       * match.pd (~(~X - Y) -> X + Y, ~(~X + Y) -> X - Y): New
+       simplifications.
+
+       PR rtl-optimization/94873
+       * gcc.dg/pr94873.c: New test.
+
+2020-05-06  Hongtao.liu  <hongtao.liu@intel.com>
+           Wei Xiao  <wei3.xiao@intel.com>
+
+       * gcc/testsuite/gcc.target/i386/serialize-1.c: New test.
+       * gcc/testsuite/g++.dg/other/i386-2.C: Add -mserialize.
+       * gcc/testsuite/g++.dg/other/i386-3.C: Ditto.
+       * gcc/testsuite/gcc.target/i386/funcspec-56.inc: Ditto.
+       * gcc/testsuite/gcc.target/i386/sse-12.c: Ditto.
+       * gcc/testsuite/gcc.target/i386/sse-13.c: Ditto.
+       * gcc/testsuite/gcc.target/i386/sse-14.c: Ditto.
+       * gcc/testsuite/gcc.target/i386/sse-22.c: Ditto.
+       * gcc/testsuite/gcc.target/i386/sse-23.c: Ditto.
+
+2020-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR testsuite/84324
+       * objc/execute/exceptions/matcher-1.m (my_exception_matcher):
+       Change return type to int.
+
+2020-05-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93366
+       * gfortran.dg/pr93366.f90: New test.
+
+2020-05-05  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.dg/nextafter-2.c: Delete changes meant for a private branch.
+       * gcc.target/powerpc/pr70117.c: Likewise.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.target/pru/clobber-sp.c: New test.
+
+2020-05-05  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.target/pru/lra-framepointer-fragmentation-1.c: Update test to
+       take into account additional available registers.
+       * gcc.target/pru/lra-framepointer-fragmentation-2.c: Ditto.
+
+2020-05-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94799
+       * g++.dg/lookup/this1.C: Adjust dg-error.
+       * g++.dg/template/lookup12.C: New test.
+       * g++.dg/template/lookup13.C: New test.
+       * g++.dg/template/lookup14.C: New test.
+       * g++.dg/template/lookup15.C: New test.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/spellcheck-options-22.c: New test.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/concepts/diagnostic1.C: Merge dg-options and
+       dg-additional-options if len <= 120 chars.
+       * g++.dg/cpp1y/new1.C: Likewise.
+       * g++.dg/cpp1y/new2.C: Likewise.
+       * g++.dg/debug/dwarf2/pr61433.C: Likewise.
+       * g++.dg/init/new18.C: Likewise.
+       * g++.dg/ipa/devirt-19.C: Likewise.
+       * g++.dg/ipa/devirt-52.C: Likewise.
+       * g++.dg/ipa/pr44372.C: Likewise.
+       * g++.dg/ipa/pr58371.C: Likewise.
+       * g++.dg/ipa/pr63587-2.C: Likewise.
+       * g++.dg/ipa/pr78211.C: Likewise.
+       * g++.dg/opt/dump1.C: Likewise.
+       * g++.dg/opt/pr44919.C: Likewise.
+       * g++.dg/opt/pr47615.C: Likewise.
+       * g++.dg/opt/pr82159-2.C: Likewise.
+       * g++.dg/other/pr52048.C: Likewise.
+       * g++.dg/pr57662.C: Likewise.
+       * g++.dg/pr59510.C: Likewise.
+       * g++.dg/pr67989.C: Likewise.
+       * g++.dg/pr81194.C: Likewise.
+       * g++.dg/template/canon-type-8.C: Likewise.
+       * g++.dg/template/crash107.C: Likewise.
+       * g++.dg/template/show-template-tree-3.C: Likewise.
+       * g++.dg/tm/cgraph_edge.C: Likewise.
+       * g++.dg/torture/20141013.C: Likewise.
+       * g++.dg/torture/pr34641.C: Likewise.
+       * g++.dg/torture/pr34850.C: Likewise.
+       * g++.dg/torture/pr36745.C: Likewise.
+       * g++.dg/torture/pr40991.C: Likewise.
+       * g++.dg/torture/pr48271.C: Likewise.
+       * g++.dg/torture/pr53602.C: Likewise.
+       * g++.dg/torture/pr53752.C: Likewise.
+       * g++.dg/torture/pr54838.C: Likewise.
+       * g++.dg/torture/pr58252.C: Likewise.
+       * g++.dg/tree-ssa/pr22444.C: Likewise.
+       * g++.dg/tree-ssa/pr24351-3.C: Likewise.
+       * g++.dg/tree-ssa/pr27283.C: Likewise.
+       * g++.dg/tree-ssa/pr27291.C: Likewise.
+       * g++.dg/tree-ssa/pr27548.C: Likewise.
+       * g++.dg/tree-ssa/pr42337.C: Likewise.
+       * g++.dg/ubsan/pr65583.C: Likewise.
+       * g++.old-deja/g++.robertl/eb27.C: Likewise.
+       * gcc.dg/tree-ssa/dse-points-to.c: Likewise.
+       * gcc.target/arm/simd/vmmla_1.c: Likewise.
+       * gcc.target/i386/vect-pr67800.c: Likewise.
+       * gcc.target/mips/cfgcleanup-jalr2.c: Likewise.
+       * gcc.target/mips/cfgcleanup-jalr3.c: Likewise.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/92177
+       * gcc.dg/vect/bb-slp-22.c: Adjust.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/94947
+       * gcc.dg/torture/pr94947-1.c: New testcase.
+       * gcc.dg/torture/pr94947-2.c: Likewise.
+
+2020-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/aggr29.adb: New test.
+
+2020-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94949
+       * gcc.dg/torture/pr94949.c: New testcase.
+
+2020-05-05  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/mvn_zero_ext.c: New test.
+
+2020-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94800
+       * gcc.dg/tree-ssa/pr94800.c: New test.
+       * gcc.dg/tree-ssa/popcount5.c: New test.
+       * gcc.dg/tree-ssa/popcount5l.c: New test.
+       * gcc.dg/tree-ssa/popcount5ll.c: New test.
+
+       PR target/94942
+       * gcc.target/i386/pr94942.c: New test.
+
+       PR tree-optimization/94914
+       * gcc.target/i386/pr94914.c: New test.
+
+2020-05-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94038
+       * g++.dg/warn/pr94038.C: New test.
+
+2020-05-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/94941
+       * gcc.target/aarch64/sve/acle/general/unoptimized_1.c: New test.
+
+2020-05-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94795
+       * gcc.target/i386/pr94795-1.c: New test.
+       * gcc.target/i386/pr94795-2.c: Ditto.
+
+2020-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/39612
+       * gcc.dg/tree-ssa/pr39612.c: New testcase.
+
+2020-05-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94650
+       * gcc.targeti/i386/pr94650.c: New test.
+
+2020-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94718
+       * gcc.dg/tree-ssa/pr94718-4.c: New test.
+       * gcc.dg/tree-ssa/pr94718-5.c: New test.
+
+       PR tree-optimization/94718
+       * gcc.dg/tree-ssa/pr94718-3.c: New test.
+
+       PR tree-optimization/94718
+       * gcc.dg/tree-ssa/pr94718-1.c: New test.
+       * gcc.dg/tree-ssa/pr94718-2.c: New test.
+
+2020-05-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/limited1_inner.adb (Finalize): Use 'Unrestricted_Access.
+
+2020-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR fortran/94788
+       * lib/gfortran.exp (gfortran_target_compile): Get asan library
+       from TEST_ALWAYS_FLAGS.
+
+2020-05-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94788
+       * gfortran.dg/asan: New directory.
+       * gfortran.dg/asan/asan.exp: New file.
+       * gfortran.dg/asan/pointer_assign_16.f90: New test case.
+
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93492
+       * c-c++-common/patchable_function_entry-error-1.c: New test.
+       * c-c++-common/patchable_function_entry-error-2.c: Likewise.
+       * c-c++-common/patchable_function_entry-error-3.c: Likewise.
+
+2020-05-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90880
+       * g++.dg/template/sfinae29.C: New test.
+
+2020-05-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94885
+       * g++.dg/cpp2a/paren-init26.C: New test.
+
+2020-05-01  Andreas Tobler  <andreast@gcc.gnu.org>
+
+       * gcc.dg/asan/pr87930.c: Enable on x86_64 FreeBSD.
+       * c-c++-common/asan/asan-interface-1.c: Likewise.
+       * c-c++-common/asan/clone-test-1.c: Likewise.
+       * c-c++-common/asan/no-asan-stack.c: Likewise.
+       * c-c++-common/asan/pr59063-1.c: Likewise.
+       * c-c++-common/asan/pr59063-2.c: Likewise.
+       * g++.dg/asan/asan_test.C: Likewise.
+       * g++.dg/asan/asan_test_utils.h: Likewise.
+       * g++.dg/asan/interception-failure-test-1.C: Likewise.
+       * g++.dg/asan/interception-malloc-test-1.C: Likewise.
+
+2020-04-30  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/94740
+       * gcc.target/powerpc/pr94740.c: New test.
+
+2020-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94842
+       * gcc.dg/pr94842.c: New test.
+
+2020-04-30  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/94856
+       * g++.dg/ipa/pr94856.C: New test.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94886
+       * g++.dg/coroutines/pr94886-folly-3.C: New test.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94883
+       * g++.dg/coroutines/pr94883-folly-2.C: New test.
+
+2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94879
+       * g++.dg/coroutines/pr94xxx-folly-1.C: New test.
+
+2020-04-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94775
+       * g++.dg/warn/Warray-bounds-10.C: New test.
+
+2020-04-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94748
+       * gcc.target/aarch64/pr94748.c: New test.
+
+2020-04-30  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/zvector/vec_load_len_r.c: New test.
+       * gcc.target/s390/zvector/vec_store_len_r.c: New test.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94704
+       * g++.target/s390/s390.exp: New file.
+       * g++.target/s390/pr94704-1.C: New test.
+       * g++.target/s390/pr94704-2.C: New test.
+       * g++.target/s390/pr94704-3.C: New test.
+       * g++.target/s390/pr94704-4.C: New test.
+
+2020-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94830
+       * g++.dg/concepts/diagnostics12.C: Clarify the dg-message now
+       that the corresponding diagnostic is deterministic.
+       * g++.dg/concepts/diagnostics13.C: New test.
+
+2020-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93654
+       * gcc.target/i386/pr93654.c: New test.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp: Add v8a_hard to the list of arm_arch_*
+       targets.
+       * g++.target/arm/no_unique_address_1.C: New test.
+       * g++.target/arm/no_unique_address_2.C: Likewise.
+
+2020-04-29  Richard Biener  <rguenther@suse.de>
+           Li Zekun  <lizekun1@huawei.com>
+
+       PR lto/94822
+       * gcc.dg/lto/pr94822_0.c: New testcase.
+       * gcc.dg/lto/pr94822_1.c: Alternate file.
+       * gcc.dg/lto/pr94822.h: Likewise.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/no_unique_address_1.C: New test.
+       * g++.target/aarch64/no_unique_address_2.C: Likewise.
+
+2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/arm/mve.exp: Restore the original dg-do-what-default
+       before finishing.
+
+2020-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94707
+       * g++.target/powerpc/pr94707-1.C: New test.
+       * g++.target/powerpc/pr94707-2.C: New test.
+       * g++.target/powerpc/pr94707-3.C: New test.
+       * g++.target/powerpc/pr94707-4.C: New test.
+       * g++.target/powerpc/pr94707-5.C: New test.
+       * g++.target/powerpc/pr94707-4.C: New test.
+
+2020-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94819
+       * g++.dg/cpp2a/concepts-inherit-ctor10.C: New test.
+       * g++.dg/cpp2a/concepts-inherit-ctor11.C: New test.
+
+       PR c++/94808
+       * g++.dg/concepts/diagnostic12.C: New test.
+       * g++.dg/concepts/diagnostic5.C: Adjust dg-message.
+
+2020-04-28  Alexandre Oliva <oliva@adacore.com>
+
+       PR target/94812
+       * gcc.target/powerpc/test_mffsl.c: Call mffsl only once.
+       Reinterpret the doubles as long longs for compares.  Mask out
+       mffs bits that are not expected from mffsl.
+
+2020-04-28  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94816
+       * g++.dg/analyzer/pr94816.C: New test.
+
+2020-04-28  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94447
+       PR analyzer/94639
+       PR analyzer/94732
+       PR analyzer/94754
+       * gcc.dg/analyzer/data-model-1.c: Mark "use of uninitialized
+       value" warnings as xfail for now.
+       * gcc.dg/analyzer/data-model-5b.c: Remove uninitialized warning.
+       * gcc.dg/analyzer/pr94099.c: Mark "uninitialized" warning as xfail
+       for now.
+       * gcc.dg/analyzer/pr94447.c: New test.
+       * gcc.dg/analyzer/pr94639.c: New test.
+       * gcc.dg/analyzer/pr94732.c: New test.
+       * gcc.dg/analyzer/pr94754.c: New test.
+       * gcc.dg/analyzer/zlib-6.c: Mark "uninitialized" warning as xfail
+       for now.
+
+2020-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94809
+       * gcc.c-torture/execute/pr94809.c: New test.
+
+2020-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94760
+       * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C:
+       New test.
+
+2020-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94759
+       * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for
+       updated error messages.
+       * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise.
+       * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise.
+       * g++.dg/coroutines/coro-missing-promise.C: Likewise.
+       * g++.dg/coroutines/pr93458-5-bad-coro-type.C: Liekwise.
+       * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: New test.
+
+2020-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94701
+       * g++.dg/coroutines/torture/local-var-06-structured-binding.C:
+       New test.
+
+2020-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93956
+       PR fortran/94788
+       * gfortran.dg/pointer_assign_13.f90: Remove.
+
+2020-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94780
+       * gcc.dg/pr94780.c: New test.
+
+2020-04-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94772
+       * g++.dg/cpp1y/constexpr-tracking-const23.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const24.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const25.C: New test.
+
+2020-04-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94697
+       * gcc.target/aarch64/pr94697.c: Require lp64.
+
+2020-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94755
+       * c-c++-common/pr94755.c: New test.
+
+2020-04-27  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94784
+       * gcc.dg/pr94784.c: New test.
+
+2020-04-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94515
+       * g++.target/aarch64/pr94515-1.C: New test.
+       * g++.target/aarch64/pr94515-2.C: New test.
+
+2020-04-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90320
+       * g++.dg/cpp0x/explicit13.C: New test.
+       * g++.dg/cpp0x/explicit14.C: New test.
+
+2020-04-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/89418
+       * lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for compilable
+       tests that depend on the phobos standard library.
+
+2020-04-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94777
+       * gdc.dg/pr94777a.d: New test.
+       * gdc.dg/pr94777b.d: New test.
+
+2020-04-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94752
+       * g++.dg/coroutines/pr94752.C: New test.
+
+2020-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94737
+       * gfortran.dg/binding_label_tests_34.f90: New test case.
+
+2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/debug/dwarf2/pr61433.C: Unfail AIX.
+       * g++.dg/opt/pr48549.C: Same.
+       * g++.dg/opt/pr60002.C: Same.
+       * g++.dg/opt/pr80436.C: Same.
+       * g++.dg/opt/pr83084.C: Same.
+       * g++.dg/other/pr42685.C: Same.
+       * gcc.dg/pr41241.c: Same.
+       * gcc.dg/pr42629.c: Same.
+       * gcc.dg/pr42630.c: Same.
+       * gcc.dg/pr42719.c: Same.
+       * gcc.dg/pr42728.c: Same.
+       * gcc.dg/pr42889.c: Same.
+       * gcc.dg/pr42916.c: Same.
+       * gcc.dg/pr43084.c: Same.
+       * gcc.dg/pr43670.c: Same.
+       * gcc.dg/pr44023.c: Same.
+       * gcc.dg/pr44971.c: Same.
+       * gcc.dg/pr45449.c: Same.
+       * gcc.dg/pr46771.c: Same.
+       * gcc.dg/pr47684.c: Same.
+       * gcc.dg/pr47881.c: Same.
+       * gcc.dg/pr48768.c: Same.
+       * gcc.dg/pr50017.c: Same.
+       * gcc.dg/pr56023.c: Same.
+       * gcc.dg/pr64935-1.c: Same.
+       * gcc.dg/pr64935-2.c: Same.
+       * gcc.dg/pr65521.c: Same.
+       * gcc.dg/pr65779.c: Same.
+       * gcc.dg/pr65980.c: Same.
+       * gcc.dg/pr66688.c: Same.
+       * gcc.dg/pr70405.c: Same.
+       * gcc.dg/vect/pr49352.c: Same.
+
+2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/ipa/ipa-sra-19.c: Add -Wno-psabi option on AIX.
+
+2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/spellcheck-options-21.c: Require LTO.
+
+2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/debug/dwarf2/pr82718-1.c: Skip on AIX.
+       * gcc.dg/debug/dwarf2/pr82718-2.c: Skip on AIX.
+
+2020-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94578
+       * gfortran.dg/pointer_assign_14.f90: New test.
+       * gfortran.dg/pointer_assign_15.f90: New test.
+
+2020-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C:
+       Enable test.
+
+2020-04-25  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/concepts/diagnostic11.C: New test.
+
+2020-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94742
+       * g++.dg/warn/Wreturn-type-12.C: New test.
+
+       PR tree-optimization/94734
+       PR tree-optimization/89430
+       * gcc.dg/tree-ssa/pr89430-1.c: Add xfail.
+       * gcc.dg/tree-ssa/pr89430-2.c: Add xfail.
+       * gcc.dg/tree-ssa/pr89430-5.c: Add xfail.
+       * gcc.dg/tree-ssa/pr89430-6.c: Add xfail.
+       * gcc.c-torture/execute/pr94734.c: New test.
+
+2020-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94383
+       * g++.dg/compat/struct-layout-1.exp: Use the -std=c++14 vs. -std=c++17
+       ABI compatibility testing even with ALT_CXX_UNDER_TEST, as long as
+       that compiler accepts -std=c++14 and -std=c++17 options.
+
+2020-04-24  Andrew Stubbs  <ams@codesourcery.com>
+
+       * lib/target-supports.exp (available_vector_sizes): Add amdgcn.
+       (check_effective_target_vect_cmdline_needed): Disable for amdgcn.
+       (check_effective_target_vect_pack_trunc): Add amdgcn.
+
+2020-04-24 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94288
+       * g++.dg/coroutines/pr94288.C: New test.
+
+2020-04-24  Alexandre Oliva <oliva@adacore.com>
+
+       * lib/target-supports.exp (check_effective_target_fileio): New.
+       * gcc.c-torture/execute/fprintf-2.c: Require it.
+       * gcc.c-torture/execute/printf-2.c: Likewise.
+       * gcc.c-torture/execute/user-printf.c: Likewise.
+
+2020-04-24  Haijian Zhang <z.zhanghaijian@huawei.com>
+
+       PR rtl-optimization/94708
+       * gfortran.dg/pr94708.f90: New test.
+
+2020-04-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/torture/pr90020.c: Skip on AIX.
+
+2020-04-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/cpp0x/lambda/pr94426-1.C: Require LTO.
+
+2020-04-23  Martin Sebor  <msebor@redhat.com>
+
+       PR driver/90983
+       * gcc.dg/Wframe-larger-than-3.c: New test.
+       * gcc.dg/Wlarger-than4.c: New test.
+       * gcc.dg/Wstack-usage.c: New test.
+
+2020-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp0x/dependent3.C: New test.
+
+       PR c++/94645
+       * g++.dg/cpp2a/concepts-lambda6.C: New test.
+
+2019-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * g++.dg/opt/store-merging-4.C: New test.
+
+2020-04-23 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94288
+       * g++.dg/coroutines/torture/co-await-18-if-cond.C: New test.
+       * g++.dg/coroutines/torture/co-await-19-while-cond.C: New test.
+       * g++.dg/coroutines/torture/co-await-20-do-while-cond.C: New test.
+       * g++.dg/coroutines/torture/co-await-21-switch-value.C: New test.
+       * g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C: New test.
+       * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: New test.
+
+2020-04-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94733
+       * g++.dg/tm/attrib-5.C: New test.
+
+2020-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94724
+       * gcc.c-torture/execute/pr94724.c: New test.
+
+2020-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93956
+       * gfortran.dg/pointer_assign_13.f90: New test.
+
+2020-04-23 Iain Sandoe <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for
+       changed inline namespace.
+       * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise.
+       * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise
+       * g++.dg/coroutines/coro.h: Likewise
+
+2020-04-23  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94697
+       * gcc.target/aarch64/pr94697.c: New test.
+
+2020-04-23  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/94678
+       * gcc.target/aarch64/pragma_cpp_predefs_2.c: Fix typos, pop_pragma ->
+       pop_options. Add tests for general-regs-only.
+       * gcc.target/aarch64/pragma_cpp_predefs_3.c: Add tests for
+       general-regs-only.
+
+2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/93488
+
+       * c-c++-common/goacc/pr93488.c: New file.
+
+2020-04-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94727
+       * gcc.dg/vect/pr94727.c: New test.
+
+2020-04-23  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94514
+       * g++.target/aarch64/pr94514.C: Require lp64.
+       * gcc.target/aarch64/pr94514.c: Likewise.
+
+2020-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94707
+       * g++.dg/tree-ssa/pr27830.C: Use -Wpsabi -w for -std=c++17 and higher.
+
+       PR c/94705
+       * gcc.dg/pr94705.c: New test.
+
+2020-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94719
+       PR c++/94549
+       * g++.dg/cpp2a/concepts-inherit-ctor9.C: New test.
+
+2020-04-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93807
+       * g++.dg/cpp2a/fn-template20.C: New test.
+
+2020-04-22  Duan bo  <duanbo3@huawei.com>
+
+       PR testsuite/94712
+       * gcc.target/aarch64/pr63304_1.c: Require lp64 target.
+       * gcc.target/aarch64/pr70120-2.c: Likewise.
+       * gcc.target/aarch64/pr94530.c: Likewise.
+       * gcc.target/aarch64/reload-valid-spoff.c: Likewise.
+
+2020-04-22  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/94678
+       * gcc.target/aarch64/sve/acle/general/nosve_6.c: New test.
+
+2020-04-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/90350
+       * gfortran.dg/PR90350.f90: New test.
+
+2020-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/90448
+       * g++.dg/cpp1y/lambda-generic-variadic20.C: New.
+
+2020-04-22  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94647
+       * c-c++-common/Warray-bounds-2.c: Replace a large value harcoded
+       in an expected warning with a pattern.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * lib/target-supports.exp (check_effective_target_arm_dsp)
+        (check_effective_target_arm_crc_ok_nocache)
+        (check_effective_target_arm_coproc1_ok_nocache)
+        (check_effective_target_arm_coproc2_ok_nocache)
+        (check_effective_target_arm_coproc3_ok_nocache)
+        (check_effective_target_arm_coproc4_ok_nocache): Include
+        arm_acle.h.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        gcc/testsuite/
+        * lib/target-supports.exp (arm_v8m_main_cde, arm_v8m_main_cde_fp)
+        (arm_v8_1m_main_cde_mve, arm_v8_1m_main_cde_mve_fp): Include
+        arm_cde.h and arm_mve.h as ineeded.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * lib/target-supports.exp
+        (check_effective_target_arm_v8_1m_mve_ok_nocache): Include
+        arm_mve.h.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Use
+        arm_v8_1m_mve_fp.
+        * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Use
+        arm_v8_1m_mve.
+        * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+        * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: Remove
+        useless options.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Use arm_hard_ok
+        effective target and arm_v8_1m_mve_fp options.
+        * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Use arm_softfp_ok
+        effective target and arm_v8_1m_mve_fp options.
+        * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Use arm_hard_ok
+        effective target and arm_v8_1m_mve options.
+        * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Use arm_softfp_ok
+        effective target and arm_v8_1m_mve options.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * lib/target-supports.exp (arm_softfp_ok): New effective target.
+        (arm_hard_ok): Likewise.
+
+2020-04-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94709
+       * gfortran.dg/gomp/warn_truncated.f: New.
+       * gfortran.dg/gomp/warn_truncated.f90: New.
+
+2020-04-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94700
+       * gcc.target/aarch64/sve/acle/general/pr94700.c: New test.
+
+2020-04-22 Iain Sandoe <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/local-var-0.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-00-const.C: ...this.
+       * g++.dg/coroutines/torture/local-var-1.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-01-single.C: ...this.
+       * g++.dg/coroutines/torture/local-var-2.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-02-conditional.C: ...this.
+       * g++.dg/coroutines/torture/local-var-3.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-03-with-awaits.C: ...this.
+       * g++.dg/coroutines/torture/local-var-4.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: this.
+       * g++.dg/coroutines/torture/local-var-5-awaitable.C: Rename to...
+       * g++.dg/coroutines/torture/local-var-05-awaitable.C: ...this.
+
+2020-04-22 Iain Sandoe <iain@sandoe.co.uk>
+
+       PR c++/94682
+       * g++.dg/coroutines/promise-parm-preview-this.C: New test.
+
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/gcc-dg.exp (schedule-cleanups): Accept --save-temps.
+
+2020-04-22  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94510
+       * g++.dg/init/array58.C: New test.
+       * g++.dg/init/array59.C: New test.
+       * g++.dg/cpp2a/nontype-class34.C: New test.
+       * g++.dg/cpp2a/nontype-class35.C: New test.
+
+2020-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67825
+       * g++.dg/concepts/diagnostic10.C: New test.
+       * g++.dg/cpp2a/concepts-pr67178.C: Adjust dg-message.
+
+2020-04-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94549
+       * g++.dg/concepts/inherit-ctor3.C: Adjust expected diagnostics.
+       * g++.dg/cpp2a/concepts-inherit-ctor4.C: Likewise.
+       * g++.dg/cpp2a/concepts-inherit-ctor8.C: New test.
+
+2020-04-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/94149
+       * g++.dg/cpp2a/paren-init24.C: Fix FIXMEs.
+
+2020-04-21  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94647
+       * c-c++-common/Warray-bounds-2.c: Adjust a test case and add a new one.
+       * c-c++-common/Warray-bounds-3.c: Add tests for missing warnings.
+       * c-c++-common/Wrestrict.c: Invert bounds in printed ranges.
+       * gcc.dg/Warray-bounds-59.c: New test.
+       * gcc.dg/Wrestrict-10.c: Add a missing warning.
+       * gcc.dg/Wrestrict-5.c: Adjust text of expected warning.
+       * gcc.dg/Wrestrict-6.c: Expect to see a range of overlap offsets.
+
+2020-04-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94514
+       * g++.target/aarch64/pr94514.C: New test.
+       * gcc.target/aarch64/pr94514.c: New test.
+
+2020-04-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/94683
+       * gcc.target/aarch64/sve/acle/general/pr94683.c: New test.
+
+2020-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94383
+       * g++.dg/compat/struct-layout-1.exp: If !$use_alt, add -c to generator
+       args.
+       * g++.dg/compat/struct-layout-1_generate.c (dg_options): Add another
+       %s to the start of dg-options arg.
+       (cxx14_vs_cxx17, do_cxx14_vs_cxx17): New variables.
+       (switchfiles): If cxx14_vs_cxx17, prepend -std=c++14 -DCXX14_VS_CXX17
+       or -std=c++17 -DCXX17_VS_CXX14 - randomly - to dg-options.
+       (output): Don't append further fields once one with flexible array
+       member is added.
+       (generate_random_tests): Don't use toplevel unions if cxx14_vs_cxx17.
+       (main): If -c, emit second set of tests for -std=c++14 vs. -std=c++17
+       testing.
+       * g++.dg/compat/struct-layout-1_x1.h (empty_base): New type.
+       (EMPTY_BASE): Define.
+       (TX): Use EMPTY_BASE.
+       * g++.dg/compat/struct-layout-1_y1.h (empty_base): New type.
+       (EMPTY_BASE): Define.
+       (TX): Use EMPTY_BASE.
+
+       PR c/94641
+       * c-c++-common/ubsan/pr94641.c: New test.
+
+2020-04-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94597
+       * g++.dg/cpp2a/concepts-conv2.C: New test.
+
+2020-04-21  Duan bo  <duanbo3@huawei.com>
+
+       PR target/94577
+       * gcc.target/aarch64/pr94577.c: New test.
+
+2020-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94686
+       * gcc.c-torture/compile/pr94686.c: New test.
+
+2020-04-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94661
+       * g++.dg/coroutines/ramp-return-a.C: New test.
+       * g++.dg/coroutines/ramp-return-b.C: New test.
+       * g++.dg/coroutines/ramp-return-c.C: New test.
+
+2020-04-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94592
+       * g++.dg/cpp2a/nontype-class34.C: New test.
+       * g++.dg/cpp2a/nontype-class35.C: New test.
+
+2020-04-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94628
+       * g++.dg/cpp0x/variadic179.C: New test.
+       * g++.dg/cpp0x/variadic180.C: New test.
+
+2020-04-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94505 - bogus -Wparentheses warning with fold-expression.
+       * g++.dg/cpp1z/fold11.C: New test.
+
+2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * g++.dg/pr94666.C: New test.
+
+2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/94613
+       * gcc.target/s390/zvector/pr94613.c: New test.
+       * gcc.target/s390/zvector/vec_sel-1.c: New test.
+
+2020-04-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_8.c: New test.
+       * gcc.target/aarch64/sve/cost_model_9.c: Likewise.
+       * gcc.target/aarch64/sve/pr89007-1.c: Add -msve-vector-bits=512.
+       * gcc.target/aarch64/sve/pr89007-2.c: Likewise.
+
+2020-04-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/94668
+       * gcc.target/aarch64/sve/pr94668.c: New test.
+
+2020-04-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/94582
+       PR ipa/94582
+       * g++.dg/torture/pr94582.C: New test.
+
+2020-04-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/93364
+       * gfortran.dg/pr93364.f90: New test.
+
+2020-04-20  Steve Kargl  <kargl@gcc.gnu.org>
+       Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/91800
+       * gfortran.dg/hollerith_9.f90: New test.
+
+2020-04-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/debug/dwarf2/pr85550.C: Skip AIX.
+       * g++.dg/debug/pr94272.C: Skip AIX.
+       * g++.dg/debug/pr94281.C: Skip AIX.
+       * g++.dg/debug/pr94323.C: Skip AIX.
+
+2020-04-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Require
+       C++17.
+       * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise.
+
+2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94347
+       * gfortran.dg/char_pointer_init_12.f90: New test.
+
+2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/57129
+       * gfortran.dg/subroutine_as_type.f90: New test.
+
+2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93500
+       * gfortran.dg/arith_divide_3.f90: New test.
+
+2020-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR objc/94637
+       * objc.dg/pr94637.m: New test.
+
+2020-04-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for tests that
+       depending on the phobos standard library.
+
+2020-04-18  Jeff Law  <law@redhat.com>
+
+       PR debug/94439
+       * gcc.dg/torture/pr94439.c: New test.
+
+2020-04-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/link.d: Use d_runtime_has_std_library effective target.
+       * gdc.dg/runnable.d: Move phobos tests to...
+       * gdc.dg/runnable2.d: ...here.  New test.
+       * lib/target-supports.exp
+       (check_effective_target_d_runtime_has_std_library): New.
+
+2020-04-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94632
+       * g++.dg/template/canon-type-14.C: New test.
+
+       PR c++/92187
+       * g++.dg/concepts/abbrev5.C: New test.
+       * g++.dg/concepts/abbrev6.C: New test.
+
+2020-04-17  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/90275
+       * gcc.c-torture/compile/pr90275-2.c: New test.
+
+2020-04-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94483
+       * g++.dg/cpp2a/lambda-pack-init5.C: New test.
+
+       PR c++/88754
+       * g++.dg/parse/ambig10.C: New test.
+
+2020-04-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94090
+       * gfortran.dg/interface_46.f90: New test.
+
+2020-04-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_2.c: New test.
+       * gcc.target/aarch64/sve/cost_model_3.c: Likewise.
+       * gcc.target/aarch64/sve/cost_model_4.c: Likewise.
+       * gcc.target/aarch64/sve/cost_model_5.c: Likewise.
+       * gcc.target/aarch64/sve/cost_model_6.c: Likewise.
+       * gcc.target/aarch64/sve/cost_model_7.c: Likewise.
+
+2020-04-17  Jakub Jelinek  <jakub@redhat.com>
+           Jeff Law  <law@redhat.com>
+
+       PR target/94567
+       * gcc.c-torture/execute/pr94567.c: New test.
+
+2020-04-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94608
+       * g++.dg/lto/pr83720_0.C: Add fn def to avoid warning on arm ABI.
+
+2020-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94618
+       * g++.dg/opt/pr94618.C: New test.
+
+       PR tree-optimization/94621
+       * gcc.c-torture/compile/pr94621.c: New test.
+
+       PR c++/94314
+       * g++.dg/pr94314-4.C: Require c++14 rather than c++11.
+
+2020-04-16  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/93974
+       * g++.dg/pr93974.C: New test.
+
+2020-04-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/cpp0x/lambda/pr94426-2.C: Adjust scan-asms to test
+       for the change on more platforms.
+
+2020-04-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93621
+       * g++.dg/ipa/pr93621.C: New test.
+
+2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/94606
+       * gcc.dg/vect/pr94606.c: New test.
+
+2020-04-16  Martin Liska  <mliska@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94314
+       * g++.dg/pr94314.C: Do not use dg-additional-options
+       and remove not needed stdio.h include.
+       * g++.dg/pr94314-2.C: Likewise.
+       * g++.dg/pr94314-3.C: Likewise.
+       * g++.dg/pr94314-4.C: New test.
+
+2020-04-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94475
+       * g++.dg/conversion/err-recover2.C: New test.
+       * g++.dg/diagnostic/pr84138.C: Remove now-bogus warning.
+       * g++.dg/warn/Wsign-compare-8.C: Remove now-bogus warning.
+
+2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/94605
+       * gcc.target/aarch64/sve/pr94605.c: New test.
+
+2020-04-16  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/graphite/interchange-1.c: Remove scan for tiled.
+       * gcc.dg/graphite/interchange-10.c: Likewise.
+       * gcc.dg/graphite/interchange-11.c: Likewise.
+       * gcc.dg/graphite/interchange-3.c: Likewise.
+       * gcc.dg/graphite/interchange-4.c: Likewise.
+       * gcc.dg/graphite/interchange-7.c: Likewise.
+       * gcc.dg/graphite/interchange-9.c: Likewise.
+       * gcc.dg/graphite/uns-interchange-9.c: Likewise.
+       * gfortran.dg/graphite/interchange-3.f90: Likewise.
+
+2020-04-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/94598
+       * gcc.dg/tree-ssa/pr94598.c: New test.
+
+2020-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/92372
+       * gcc.c-torture/pr92372.c: Move ...
+       * gcc.c-torture/compile/pr92372.c: ... here.
+
+       PR c++/94571
+       * g++.dg/cpp1z/decomp51.C: New test.
+
+2020-04-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94603
+       * gcc.target/i386/pr94603.c: New test.
+
+2020-04-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_vec_duplicate.c: New test.
+
+2020-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94593
+       * c-c++-common/gomp/requires-1.c: Fix a typo, requries -> requires.
+       Move directives to file scope.
+       (i): Remove.
+       * c-c++-common/gomp/requires-2.c: Move directives to file scope.
+       (i, foo): Remove.
+       * c-c++-common/gomp/requires-4.c: Move directives to file scope.
+       * gcc.dg/gomp/requires-1.c: New test.
+       * g++.dg/gomp/requires-1.C: New test.
+       * g++.dg/gomp/requires-2.C: New test.
+
+2020-04-15  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94539
+       * gcc.dg/alias-14.c: Make dg-do run.
+
+2020-04-13  Max Filippov  <jcmvbkbc@gmail.com>
+
+       PR target/94584
+       * gcc.target/xtensa/pr94584.c: New test.
+
+2020-04-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94359
+       * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C:
+       Expect a run fail for targets without arbitrary indirect
+       tail-calls.
+
+2020-04-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93207
+       * g++.dg/concepts/variadic5.C: New test.
+
+       PR c++/85278
+       * g++.dg/concepts/diagnostic9.C: New test.
+
+       PR c++/94034
+       * g++.dg/cpp0x/constexpr-empty15.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi6a.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi6b.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi7a.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi7b.C: New test.
+
+2020-04-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94573
+       * gcc.dg/store_merging_30.c: New test.
+
+2020-04-14  Yang Yang  <yangyang305@huawei.com>
+
+       PR tree-optimization/94574
+       * gcc.dg/pr94574.c: New test.
+
+2020-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94561
+       * gcc.target/i386/pr94561.c: New test.
+
+2020-04-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/use_rename_10.f90: New.
+       * gfortran.dg/use_rename_11.f90: New.
+
+2020-04-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94588
+       * g++.dg/diagnostic/redeclaration-1.C: Add dg-message.
+
+2020-04-13  Martin Sebor  <msebor@redhat.com>
+
+       PR c/92326
+       * c-c++-common/Warray-bounds-8.c: New test.
+       * gcc.dg/Warray-bounds-46.c: Adjust expected format of flexible array
+       memebrs in diagnostics.
+       * gcc.dg/Warray-bounds-49.c: Same.
+
+2020-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94521
+       * g++.dg/cpp2a/lambda-uneval12.C: New test.
+
+       PR c++/94470
+       * g++.dg/cpp1y/constexpr-nsdmi8.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi9.C: New test.
+       * g++.dg/init/array57.C: New test.
+
+2020-04-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro-pre-proc.C: Update coroutines builtin
+       define, per n4861.
+       * g++.dg/coroutines/coro.h: Likewise.
+
+2020-04-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/darwin-version-1.c: Use -mmacosx-version-min= 10.8
+       for system versions 10.14 and 10.15.
+
+2020-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/87644
+       * gfortran.dg/variable_parameter.f90: New test.
+
+2020-04-13  Linus Koenig  <link@sig-st.de>
+
+       PR fortran/94192
+       * gfortran.dg/bound_resolve_after_error_1.f90: New test.
+
+2020-04-13  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/94426
+       * g++.dg/cpp0x/lambda/pr94426-[12].C: New.
+       * g++.dg/abi/lambda-vis.C: Drop a warning.
+       * g++.dg/cpp0x/lambda/lambda-mangle.C: Lambda visibility on
+       variable changes.
+       * g++.dg/opt/dump1.C: Drop warnings of no import.
+
+2020-04-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc.target/msp430/operand-modifiers.c: New test.
+
+2020-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94091
+       * gfortran.dg/char_length_22.f90: New test.
+
+2020-04-12  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/indirect-thunk-1.c: Adjust for fno-common
+       change, removing indirections for vars in .data.
+       * gcc.target/i386/indirect-thunk-2.c: Likewise.
+       * gcc.target/i386/indirect-thunk-3.c: Likewise.
+       * gcc.target/i386/indirect-thunk-4.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+       * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+       * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+       * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+       * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+       * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+       * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+       * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+       * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+       * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+
+2020-04-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/86327
+       * g++.dg/cpp1y/constexpr-return5.C: New test.
+
+2020-04-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/94494
+       * gcc.target/i386/pr94494.c: New test.
+
+2020-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94482
+       * gcc.dg/torture/pr94482.c: Add -Wno-psabi -w.  Don't add -msse
+       and sse_runtime effective target on x86, instead only add -msse2
+       if target is sse2_runtime.
+
+2020-04-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94528
+       * g++.dg/coroutines/pr94528.C: New test.
+
+2020-04-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94149
+       * g++.dg/cpp2a/paren-init24.C: New test.
+       * g++.dg/cpp2a/paren-init25.C: New test.
+       * g++.dg/ext/is_constructible5.C: New test.
+
+2020-04-10  Fritz Reese  <foreese@gcc.gnu.org>
+
+       * gfortran.dg/asynchronous_5.f03: Fix typo in testcase and add
+       IMPLICIT NONE.
+
+2020-04-10  Fritz Reese  <foreese@gcc.gnu.org>
+
+       * gfortran.dg/asynchronous_5.f03: Add -fdump-tree-original and fix
+       patterns for scan-tree-dump.
+
+2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/89433
+       PR middle-end/93465
+       * c-c++-common/goacc-gomp/pr93465-1.c: New file.
+
+2020-04-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc.exp (gdc_link_flags): Remove libdruntime library paths.
+
+2020-04-10  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-await-syntax-10.C: New test.
+       * g++.dg/coroutines/co-await-syntax-11.C: New test.
+
+2020-04-09  Fritz Reese  <foreese@gcc.gnu.org>
+
+       PR fortran/87923
+       * gfortran.dg/f2003_io_8.f03: Fix expected error messages.
+       * gfortran.dg/io_constraints_8.f90: Likewise.
+       * gfortran.dg/iomsg_2.f90: Likewise.
+       * gfortran.dg/pr66725.f90: Likewise.
+       * gfortran.dg/pr88205.f90: Likewise.
+       * gfortran.dg/write_check4.f90: Likewise.
+       * gfortran.dg/asynchronous_5.f03: New test.
+       * gfortran.dg/io_constraints_15.f90: Likewise.
+       * gfortran.dg/io_constraints_16.f90: Likewise.
+       * gfortran.dg/io_constraints_17.f90: Likewise.
+       * gfortran.dg/io_constraints_18.f90: Likewise.
+       * gfortran.dg/io_tags_1.f90: Likewise.
+       * gfortran.dg/io_tags_10.f90: Likewise.
+       * gfortran.dg/io_tags_2.f90: Likewise.
+       * gfortran.dg/io_tags_3.f90: Likewise.
+       * gfortran.dg/io_tags_4.f90: Likewise.
+       * gfortran.dg/io_tags_5.f90: Likewise.
+       * gfortran.dg/io_tags_6.f90: Likewise.
+       * gfortran.dg/io_tags_7.f90: Likewise.
+       * gfortran.dg/io_tags_8.f90: Likewise.
+       * gfortran.dg/io_tags_9.f90: Likewise.
+       * gfortran.dg/write_check5.f90: Likewise.
+
+2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/attributes_1.c: New test.
+       * gcc.target/aarch64/sve/acle/general/attributes_2.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_3.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_4.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_5.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_6.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/attributes_7.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct.h: New file.
+       * gcc.target/aarch64/sve/pcs/struct_1_128.c: New test.
+       * gcc.target/aarch64/sve/pcs/struct_1_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_1_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_1_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_1_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_2_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_2_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_2_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_2_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_2_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_3_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_3_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/struct_3_512.c: Likewise.
+       * lib/target-supports.exp (check_effective_target_aarch64_sve128_hw)
+       (check_effective_target_aarch64_sve512_hw)
+       (check_effective_target_aarch64_sve1024_hw)
+       (check_effective_target_aarch64_sve2048_hw): New procedures.
+
+2020-04-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * g++.target/arm/cde_mve.C: New test.
+
+2020-04-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/cmse/cmse-15.c: Use check-function-bodies.
+
+2020-04-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/scanasm.exp (check-function-bodies): Use non-greedy regexp
+       when extracting the target selector.
+
+2020-04-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/94482
+       * gcc.dg/torture/pr94482.c: New test.
+       * gcc.dg/tree-ssa/pr94482-2.c: Likewise.
+
+2020-04-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93790
+       * g++.dg/cpp2a/paren-init23.C: New test.
+       * g++.dg/init/aggr14.C: New test.
+
+2020-04-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-optimization/91322
+       * g++.dg/lto/alias-4_0.C: Fix typo.
+       * g++.dg/lto/alias-4_0.C: Avoid conflict with va_list on ARM and add
+       a template testing that
+
+2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/scanasm.exp (check-function-bodies): Treat the third
+       parameter as a list of option regexps and require each regexp
+       to match.  Check for cases in which a target/xfail selector
+       was mistakenly passed to the options argument.
+       * gcc.target/aarch64/sve/pcs/args_1.c: Add an empty options list
+       to the invocation of check-function-bodies.
+       * gcc.target/aarch64/sve/pcs/args_2.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_4.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_2.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Likewise.
+
+2020-04-09  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/93369
+       * g++.dg/lto/pr64076_0.C: Add -shared -fPIC.
+       * g++.dg/lto/pr64076_1.C: Add -fPIC.
+
+2020-04-09  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * gcc.target/aarch64/pr94530.c: New test.
+
+2020-04-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/93674
+       * g++.dg/pr93674.C: New test.
+
+2020-04-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * g++.dg/tree-ssa/pr93940.C: Require pthread target.
+
+2020-04-09  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR testsuite/94079
+       * gfortran.dg/vect/pr83232.f90: Expect 2 rather than 3 times SLP on
+       non-vect_hw_misalign targets.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94526
+       * gcc.dg/pr94526.c: New test.
+
+       PR tree-optimization/94524
+       * gcc.c-torture/execute/pr94524-1.c: New test.
+       * gcc.c-torture/execute/pr94524-2.c: New test.
+
+       PR c++/94314
+       * g++.dg/pr94314.C (A::operator new, B::operator new, C::operator new):
+       Use __SIZE_TYPE__ instead of unsigned long.
+       * g++.dg/pr94314-3.C (base::operator new, B::operator new): Likewise.
+
+       PR middle-end/94120
+       PR testsuite/94533
+       * g++.dg/declare-pr94120.C: Move test to ...
+       * g++.dg/goacc/declare-pr94120.C: ... here.  Add dg-error directives.
+
+2020-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94507 - ICE-on-invalid with lambda template.
+       * g++.dg/cpp2a/lambda-generic7.C: New test.
+
+2020-04-08  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/fp16-aapcs-3.c: Explicitly use the
+       -mfp16-format=alternative option.
+
+2020-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94417
+       * gcc.target/i386/pr94417-1.c: New test.
+       * gcc.target/i386/pr94417-2.c: Likewise.
+       * gcc.target/i386/pr94417-3.c: Likewise.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94438
+       * gcc.target/i386/avx512bw-pr94438.c: New test.
+       * gcc.target/i386/avx512vlbw-pr94438.c: New test.
+
+2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93871
+       * gfortran.dg/dec_math_5.f90: Move to ...
+       * gfortran.dg/ieee/dec_math_1.f90: ... here; change
+       dg-options to dg-additional-options.
+
+2020-04-08  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/tls/pr78796.c: Require tls_runtime.
+
+2020-04-08  Martin Liska  <mliska@suse.cz>
+
+       PR c++/94314
+       * g++.dg/pr94314-2.C: New test.
+       * g++.dg/pr94314-3.C: New test.
+       * g++.dg/pr94314.C: New test.
+
+2020-04-08  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/acle/cde_v_1.c: New test.
+       * gcc.target/arm/acle/cde_v_1_err.c: New test.
+       * gcc.target/arm/acle/cde_v_1_mve.c: New test.
+
+2020-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       Core issues 1001 and 1322
+       PR c++/92010
+       * g++.dg/cpp2a/lambda-uneval11.c: New test.
+       * g++.dg/template/array33.C: New test.
+       * g++.dg/template/array34.C: New test.
+       * g++.dg/template/defarg22.C: New test.
+
+2020-04-08  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/pragma_cde.c: New test.
+       * lib/target-supports.exp (arm_v8m_main_cde_ok): New target support
+       option.
+       (arm_v8m_main_cde_fp, arm_v8_1m_main_cde_mve): Likewise.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94325
+       * g++.dg/ubsan/vptr-15.C: New test.
+
+2020-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94478 - ICE with defaulted comparison operator
+       * g++.dg/cpp2a/spaceship-err4.C: New test.
+
+2020-04-08  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/polytypes.c: Add quotes around
+       -flax-vector-conversions.
+
+2020-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94516
+       * gcc.dg/torture/pr94516.c: New test.
+
+2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * c-c++-common/goacc/declare-pr94120.c: New.
+       * g++.dg/declare-pr94120.C: New.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94291
+       PR rtl-optimization/84169
+       * gcc.dg/pr94291.c: New test.
+
+2020-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94479
+       * gcc.dg/torture/pr94479.c: New testcase.
+
+2020-04-01  Fritz Reese  <foreese@gcc.gnu.org>
+
+        PR fortran/93871
+        * gfortran.dg/dec_math.f90: Extend coverage to real(10) and real(16).
+        * gfortran.dg/dec_math_2.f90: New test.
+        * gfortran.dg/dec_math_3.f90: Likewise.
+        * gfortran.dg/dec_math_4.f90: Likewise.
+        * gfortran.dg/dec_math_5.f90: Likewise.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * g++.target/arm/mve.exp: New.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16: Fix testism.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32: Likewise.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Fix testism.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_vec_extracts_from_memory.c: New
+       test.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_immediates_1_n.c: New test.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_load_from_array.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Remove
+       scan-assembler.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+
+2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Fix test.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise.
+
+2020-04-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90996
+       * g++.dg/cpp1y/pr90996.C: New test.
+
+2020-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94509
+       * gcc.target/i386/avx512bw-pr94509-1.c: New test.
+       * gcc.target/i386/avx512bw-pr94509-2.c: New test.
+
+       PR c++/94512
+       * g++.dg/gomp/pr94512.C: New test.
+
+       PR target/94488
+       * gcc.c-torture/compile/pr94488.c: New test.
+
+       PR target/94500
+       * gcc.target/i386/avx512bw-pr94500.c: New test.
+
+2020-04-06  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93686
+       * gfortran.dg/pr93686_1.f90: New test.
+       * gfortran.dg/pr93686_2.f90: Likewise.
+       * gfortran.dg/pr93686_3.f90: Likewise.
+       * gfortran.dg/pr93686_4.f90: Likewise.
+
+2020-04-06  Joel Brobecker  <brobecker@adacore.com>
+
+       * gcc.target/arm/div64-unwinding.c: Skip on vxworks_kernel targets.
+
+2020-04-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94155 - crash in gimplifier with paren init of aggregates.
+       * g++.dg/cpp2a/paren-init22.C: New test.
+
+2020-04-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/co-await-14-template-traits.C: Rename...
+       * g++.dg/coroutines/torture/co-await-16-template-traits.C: to this.
+       * g++.dg/coroutines/torture/co-await-15-capture-comp-ref.C: Rename..
+       * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: to this.
+
+2020-04-05  Nagaraju Mekala  <nmekala@xilix.com>
+
+       * gcc.target/microblaze/others/builtin-trap.c: Update expected output.
+
+2020-04-04  Hannes Domani  <ssbssa@yahoo.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94459
+       * g++.dg/debug/pr94459.C: New test.
+
+2020-04-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94205
+       PR c++/79937
+       * g++.dg/cpp1y/pr79937-5.C: New test.
+       * g++.dg/cpp1z/lambda-this6.C: New test.
+
+       PR c++/94219
+       PR c++/94205
+       * g++.dg/cpp1y/constexpr-nsdmi3.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi4.C: New test.
+       * g++.dg/cpp1y/constexpr-nsdmi5.C: New test.
+       * g++.dg/cpp1z/lambda-this5.C: New test.
+
+2020-04-04  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/93940
+       * g++.dg/tree-ssa/pr93940.C: New test.
+
+2020-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94468
+       * g++.dg/opt/pr94468.C: New test.
+
+       PR debug/94441
+       * g++.dg/opt/pr94441.C: New test.
+
+       PR c++/94477
+       * g++.dg/gomp/pr94477.C: New test.
+
+2020-04-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/94467
+       * gcc.target/i386/pr94467-1.c: New test.
+       * gcc.target/i386/pr94467-2.c: Likewise.
+
+2020-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94460
+       * gcc.target/i386/avx2-pr94460.c: New test.
+
+2020-04-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93211
+       PR c++/90711
+       * g++.dg/template/koenig11.C: New test.
+
+2020-04-03  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Put -mfpu=auto back.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+
+2020-04-03  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/94396
+       * gcc.target/aarch64/options_set_11.c: New test.
+       * gcc.target/aarch64/options_set_12.c: New test.
+       * gcc.target/aarch64/options_set_13.c: New test.
+       * gcc.target/aarch64/options_set_14.c: New test.
+       * gcc.target/aarch64/options_set_15.c: New test.
+       * gcc.target/aarch64/options_set_16.c: New test.
+       * gcc.target/aarch64/options_set_17.c: New test.
+       * gcc.target/aarch64/options_set_18.c: New test.
+       * gcc.target/aarch64/options_set_19.c: New test.
+       * gcc.target/aarch64/options_set_20.c: New test.
+       * gcc.target/aarch64/options_set_21.c: New test.
+       * gcc.target/aarch64/options_set_22.c: New test.
+       * gcc.target/aarch64/options_set_23.c: New test.
+       * gcc.target/aarch64/options_set_24.c: New test.
+       * gcc.target/aarch64/options_set_25.c: New test.
+       * gcc.target/aarch64/options_set_26.c: New test.
+
+2020-04-03  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/94443
+       * gcc.dg/vect/pr94443.c: New test.
+
+2020-04-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_sigsetjmp): Test
+       for __sigsetjmp as well as sigsetjmp.
+
+2020-04-02  Fritz Reese  <foreese@gcc.gnu.org>
+
+       PR fortran/85982
+       * gfortran.dg/dec_structure_28.f90: New test.
+
+2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/dtio_35.f90: New.
+
+2020-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR c/94392
+       * gcc.dg/torture/pr94392.c: New testcase.
+
+2020-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94435
+       * gcc.target/aarch64/pr94435.c: New test.
+
+2020-04-02  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94317
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise.
+
+2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93522
+       * gfortran.dg/select_rank_4.f90: New.
+
+2020-04-02  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93498
+       * gfortran.dg/pr93498_1.f90:  New test.
+       * gfortran.dg/pr93498_2.f90:  New test.
+
+2020-04-02  Mark Eggleston  <mark.eggleston@codethink.com>
+       Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/94030
+       * gfortran.dg/pr94030_1.f90: New test.
+       * gfortran.dg/pr94030_2.f90: New test.
+
+2020-04-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94315
+       * gdc.dg/pr93038.d: Split scan-file into multiple tests.
+       * gdc.dg/pr93038b.d: Likewise.
+
+2020-04-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94321
+       * gdc.dg/pr92216.d: Update to work on targets with 16 or 32-bit
+       pointers.
+
+2020-04-01  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94378
+       * gcc.dg/analyzer/compound-assignment-1.c: New test.
+       * gcc.dg/analyzer/compound-assignment-2.c: New test.
+       * gcc.dg/analyzer/compound-assignment-3.c: New test.
+
+2020-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94436
+       * gcc.dg/pr94436.c: New test.
+
+       PR middle-end/94423
+       * gcc.dg/ubsan/pr94423.c: New test.
+
+2020-04-01  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR tree-optimization/94043
+       * gfortran.dg/graphite/vect-pr94043.f90: New test.
+
+2020-04-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/90136
+       * gdc.dg/pr90136a.d: New test.
+       * gdc.dg/pr90136b.d: New test.
+       * gdc.dg/pr90136c.d: New test.
+
+2020-03-31  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * jit.dg/test-version.c: New testcase.
+       * jit.dg/all-non-failing-tests.h: Add test-version.c.
+
+2020-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/94424
+       * gdc.dg/pr94424.d: New test.
+
+2020-03-31  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94398
+       * gcc.target/aarch64/pr94398.c: New test.
+
+2020-03-31  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise.
+
+2020-03-31  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise.
+
+2020-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94368
+       * gcc.dg/pr94368.c: New test.
+
+       PR middle-end/94412
+       * gcc.c-torture/execute/pr94412.c: New test.
+
+       PR tree-optimization/94403
+       * g++.dg/tree-ssa/pr94403.C: New test.
+
+       PR rtl-optimization/94344
+       * gcc.dg/pr94344.c: New test.
+
+2020-03-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * jit.dg/all-non-failing-tests.h: Add test-empty.c
+
+2020-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94385
+       * c-c++-common/pr94385.c: New test.
+
+2020-03-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pragma_power6.c: New.
+       * gcc.target/powerpc/pragma_power7.c: New.
+       * gcc.target/powerpc/pragma_power8.c: New.
+       * gcc.target/powerpc/pragma_power9.c: New.
+       * gcc.target/powerpc/pragma_misc9.c: New.
+       * gcc.target/powerpc/vsu/vec-all-nez-7.c: Update error message.
+       * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Update error message.
+
+2020-03-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/bswap64-4.c: Update scan-assembler
+       expected results.
+
+2020-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94343
+       * gcc.target/i386/avx512f-pr94343.c: New test.
+       * gcc.target/i386/avx512vl-pr94343.c: New test.
+
+2020-03-30  Martin Liska  <mliska@suse.cz>
+
+       PR rtl-optimization/87716
+       * gcc.target/i386/pr57193.c: XFAIL a test-case.
+
+2020-03-30  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/94402
+       * gfortran.dg/vect/vect-8.f90: Allow 22 or 23 loops
+       to be vectorized (based on libmvec presence).
+
+2020-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93069
+       * gcc.target/i386/avx512vl-pr93069.c: New test.
+       * gcc.dg/vect/pr93069.c: New test.
+
+2020-03-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc-utils.exp: (gdc-convert-args): Handle compilation test
+       arguments -D, -H, -X, and set compilable_output_file_ext.
+       (gdc-convert-test): Document and add cases DFLAGS and
+       EXTRA_CPP_SOURCES.  Add dg-final entry for output generation tests,
+       and set compilable_do_what to compile.
+       (gdc-do-test): Define compilable_do_what, default to assemble.
+
+2020-03-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.test/runnable_cxx/runnable_cxx.exp: New file.
+       * lib/gdc-utils.exp (gdc-do-test): Add case for runnable_cxx.
+       * lib/gdc.exp (gdc_include_flags): Only add flags for libstdc++-v3 if
+       GDC_INCLUDE_CXX_FLAGS is true.
+       (gdc_link_flags): Likewise.
+       (gdc_init): Move setting of default gdc test flags to...
+       (gdc_target_compile): ...here.
+
+2020-03-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.test/compilable/compilable.exp: New file.
+       * gdc.test/fail_compilation/fail_compilation.exp: New file.
+       * gdc.test/runnable/runnable.exp: New file.
+       * gdc.test/gdc-test.exp: Move and rename to...
+       * lib/gdc-utils.exp: ...this.  Remove load_lib gdc-dg.exp.
+       (dmd2dg): Rename to...
+       (gdc-convert-test): ...this.
+       (gdc-do-test): Add testcases parameter and remove subdir handling.
+
+2020-03-28  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * gcc.dg/torture/pr87197-debug-sms.c: Move to ...
+       * gcc.dg/sms-compare-debug-1.c: ... this.  Add -O2.
+       * gcc.c-torture/execute/pr70127-debug-sms.c: Move to ...
+       * gcc.dg/sms-compare-debug-2.c: ... this.  Add -O2.
+
+2020-03-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94348
+       * gfortran.dg/module_procedure_3.f90: New.
+
+2020-03-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94306
+       * g++.dg/concepts/diagnostic8.C: New test.
+
+       PR c++/94252
+       * g++.dg/concepts/diagnostic7.C: New test.
+       * g++.dg/concepts/pr94252.C: New test.
+       * g++.dg/cpp2a/concepts-requires18.C: Adjust to expect an additional
+       diagnostic.
+
+       * g++.dg/concepts/diagnostic1.C: Pass -fconcepts-diagnostics-depth=2.
+       * g++.dg/concepts/diagnostic5.C: Adjust expected diagnostics.
+       * g++.dg/cpp2a/concepts-iconv1.C: Pass -fconcepts-diagnostics-depth=2.
+       * g++.dg/cpp2a/concepts-requires5.C: Likewise.
+
+       * g++.dg/concepts/diagnostic2.C: Expect "no operand" instead of
+       "neither operand".
+       * g++.dg/concepts/diagnostic5.C: New test.
+
+2020-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/93573
+       * gcc.dg/pr93573-1.c: New test.
+       * gcc.dg/pr93573-2.c: New test.
+
+       PR tree-optimization/94329
+       * gfortran.dg/pr94329.f90: New test.
+
+2020-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94339
+       * g++.dg/ext/attr-copy-2.C: Revert the last changes.
+
+2020-03-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94346
+       * c-c++-common/attr-copy.c: New test.
+
+2020-03-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94098
+       * g++.dg/ext/attr-access-2.C: New test.
+
+2020-03-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/94078
+       PR c++/93824
+       PR c++/93810
+       * g++.dg/warn/Wmismatched-tags-3.C: New test.
+       * g++.dg/warn/Wmismatched-tags-4.C: New test.
+       * g++.dg/warn/Wmismatched-tags-5.C: New test.
+       * g++.dg/warn/Wmismatched-tags-6.C: New test.
+       * g++.dg/warn/Wredundant-tags-3.C: Remove xfails.
+       * g++.dg/warn/Wredundant-tags-6.C: New test.
+       * g++.dg/warn/Wredundant-tags-7.C: New test.
+
+2020-03-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-5b.c: Add xfail for new false
+       positive leak.
+       * gcc.dg/analyzer/data-model-5c.c: Likewise.
+       * gcc.dg/analyzer/malloc-5.c: New test.
+
+2020-03-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/dot-output.c: Check that
+       dot-output.c.supergraph-eg.dot is valid.
+
+2020-03-27  Richard Biener  <rguenther@suse.de>
+
+       PR debug/94273
+       * g++.dg/debug/pr94273.C: New testcase.
+
+2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93957
+       * gfortran.dg/assumed_rank_19.f90: New.
+
+2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93363
+       * gfortran.dg/associate_51.f90: Fix test case.
+       * gfortran.dg/associate_53.f90: New.
+
+2020-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94326
+       * g++.dg/other/pr94326.C: New test.
+
+       PR c++/94339
+       * g++.dg/other/pr94339.C: New test.
+       * g++.dg/ext/attr-copy-2.C: Comment out failing tests due to PR94346.
+
+2020-03-27  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * gcc.c-torture/execute/pr70127-debug-sms.c: New test.
+       * gcc.dg/torture/pr87197-debug-sms.c: New test.
+
+2020-03-27  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94336 - template keyword accepted before destructor names.
+       * g++.dg/template/template-keyword2.C: New test.
+
+2020-03-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C:
+       Add <cstdio>.
+
+2020-03-26  Marek Polacek  <polacek@redhat.com>
+
+       DR 1710
+       PR c++/94057 - template keyword in a typename-specifier.
+       * g++.dg/cpp1y/alias-decl1.C: New test.
+       * g++.dg/cpp1y/alias-decl2.C: New test.
+       * g++.dg/cpp1y/alias-decl3.C: New test.
+       * g++.dg/parse/missing-template1.C: Update dg-error.
+       * g++.dg/parse/template3.C: Likewise.
+       * g++.dg/template/error4.C: Likewise.
+       * g++.dg/template/meminit2.C: Likewise.
+       * g++.dg/template/dependent-name5.C: Likewise.
+       * g++.dg/template/dependent-name7.C: New test.
+       * g++.dg/template/dependent-name8.C: New test.
+       * g++.dg/template/dependent-name9.C: New test.
+       * g++.dg/template/dependent-name10.C: New test.
+       * g++.dg/template/dependent-name11.C: New test.
+       * g++.dg/template/dependent-name12.C: New test.
+       * g++.dg/template/dependent-name13.C: New test.
+       * g++.dg/template/dr1794.C: New test.
+       * g++.dg/template/dr314.C: New test.
+       * g++.dg/template/dr1710.C: New test.
+       * g++.dg/template/dr1710-2.C: New test.
+       * g++.old-deja/g++.pt/crash38.C: Update dg-error.
+
+2020-03-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Amend
+       to n4849 behaviour.
+       * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C: New
+       test.
+
+2020-03-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: New test.
+
+2020-03-26  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/i386/pr81213.c: Do not scan assembler
+       and add one missing PR entry.
+
+2020-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94323
+       * g++.dg/debug/pr94323.C: New test.
+
+2020-03-26  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/94334
+       * gcc.dg/lto/pr94271_0.c: Skip for non-x86 targets
+       and add ifunc effective target.
+       * gcc.target/i386/pr81213-2.c: Add ifunc effective target.
+
+2020-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94281
+       * g++.dg/debug/pr94281.C: New test.
+
+       PR c++/81349
+       * g++.dg/cpp1z/pr81349.C: New test.
+
+       PR c++/94272
+       * g++.dg/debug/pr94272.C: New test.
+
+2020-03-26  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/94269
+       * gcc.dg/pr94269.c: New test.
+
+2020-03-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gcc.dg/vect/bb-slp-pr69907.c: Disable the dump scan for amdgcn.
+       * lib/target-supports.exp (check_effective_target_vect_unpack):
+       Add amdgcn.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94292
+       * gcc.dg/pr94292.c: New test.
+
+2020-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94004
+       * gcc.dg/Walloca-larger-than-3.c: New test.
+       * gcc.dg/Walloca-larger-than-3.h: New test header.
+       * gcc.dg/Wvla-larger-than-4.c: New test.
+
+2020-03-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94265
+       * g++.dg/warn/Wduplicated-cond1.C: New test.
+
+2020-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/94131
+       * gcc.dg/pr94131.c: New test.
+
+2020-03-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.dg/pr92301.c (main): Allow argc to be 0 to support
+       embedded targets.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94296
+       * gcc.dg/cleanup-13.c: Add a comment that the test is not
+       -fcompare-debug compatible with certain other options.
+
+       PR target/94308
+       * gcc.target/i386/pr94308.c: New test.
+
+2020-03-25  Martin Liska  <mliska@suse.cz>
+
+       PR target/93274
+       PR ipa/94271
+       * gcc.target/i386/pr81213-2.c: New test.
+       * gcc.target/i386/pr81213.c: Add additional source.
+       * gcc.dg/lto/pr94271_0.c: New test.
+       * gcc.dg/lto/pr94271_1.c: New test.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94280
+       * gfortran.dg/iso_c_binding_compiler_1.f90: Add dg-skip-if for
+       -fcompare-debug.
+       * gfortran.dg/iso_c_binding_compiler_3.f90: Likewise.
+       * gfortran.dg/unlimited_polymorphic_31.f03: Likewise.
+
+2020-03-25  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93484
+       * gfortran.dg/pr93484_1.f90: New test.
+       * gfortran.dg/pr93484_2.f90: New test.
+
+2020-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94303
+       * g++.dg/torture/pr94303.C: New test.
+
+       PR c++/94223
+       * g++.dg/opt/pr94223.C: New test.
+
+       PR tree-optimization/94300
+       * gcc.target/i386/avx512f-pr94300.c: New test.
+
+       PR debug/94283
+       * gcc.dg/pr94283.c: New test.
+
+2020-03-24  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.dg/analyzer/sigsetjmp-5.c: Require sigsetjmp support.
+       * gcc.dg/analyzer/sigsetjmp-6.c: Likewise.
+       * lib/target-supports.exp (check_effective_target_sigsetjmp): New.
+
+2020-03-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94190 - wrong no post-decrement operator error in template.
+       * g++.dg/conversion/op7.C: New test.
+
+2020-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc/arm/vfp-1.c: Use arm_fp__ok effective-target.
+       * gcc.target/arm/vfp-ldmdbd.c: Likewise.
+       * gcc.target/arm/vfp-ldmiad.c: Likewise.
+       * gcc.target/arm/vfp-stmdbd.c: Likewise.
+       * gcc.target/arm/vfp-stmiad.c: Likewise.
+       * gcc.target/arm/vnmul-1.c: Likewise.
+       * gcc.target/arm/vnmul-3.c: Likewise.
+       * gcc.target/arm/vnmul-4.c: Likewise.
+
+2020-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/cmp-2.c: Move double-precision tests to...
+       * gcc.target/arm/cmp-3.c: ...here (new file)
+
+2020-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_fp_dp_ok_nocache): New.
+       (check_effective_target_arm_fp_dp_ok): New.
+       (add_options_for_arm_fp_dp): New.
+
+2020-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94286
+       * gcc.dg/pr94286.c: New test.
+
+       PR debug/94285
+       * gfortran.dg/pr94285.f90: New test.
+
+       PR debug/94283
+       * gcc.target/i386/pr94283.c: New test.
+
+       PR debug/94277
+       * gcc.dg/pr94277.c: New test.
+
+2020-03-23  Jeff Law  <law@redhat.com>
+
+       PR target/94144
+       PR target/94238
+       * gcc.c-torture/compile/pr94144.c: New test.
+       * gcc.c-torture/compile/pr94238.c: New test.
+
+2020-03-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93805
+       * g++.dg/warn/Wnoexcept2.C: New test.
+
+2020-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91993
+       * g++.dg/warn/Wconversion-pr91993.C: New test.
+       * g++.dg/ubsan/pr91993.C: New test.
+       * c-c++-common/ubsan/float-cast-overflow-1.c: Add -Wno-overflow
+       to dg-options.
+       * c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
+       * c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_m_u8.c: Likewise.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/asrl.c: New test.
+       * gcc.target/arm/mve/intrinsics/lsll.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/sqrshr.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/sqrshrl_sat48.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/sqrshrl_sat64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/sqshl.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/sqshll.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/srshr.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/srshrl.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/uqrshl.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/uqrshll_sat48.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/uqrshll_sat64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/uqshl.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/uqshll.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/urshr.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/urshrl.c: Likewise.
+       * lib/target-supports.exp:
+       (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Modify to not
+       support MVE floating point in Big Endian mode.
+       (check_effective_target_arm_v8_1m_mve_ok_nocache): Modify to not
+       support MVE integer in Big Endian mode.
+
+2020-03-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_u8.c: Likewise.
+
+2020-03-23  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * jit.dg/all-non-failing-tests.h: Add test-long-string-literal.c.
+       * jit.dg/test-long-string-literal.c: New testcase.
+
+2020-03-23  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Remove dg-do.
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp16q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp16q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp32q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp32q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp64q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp64q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp8q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp8q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_m_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_m_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_x_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_m_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_m_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_x_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpnot.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise.
+       * gcc.target/arm/mve/mve.exp: Change default dg-do to assemble.
+       * lib/target-supports.exp: Add --save-temps to mve options.
+
+2020-03-23  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93365
+       PR fortran/93600
+       * gfortran.dg/pr93365.f90: New test.
+       * gfortran.dg/pr93600_1.f90: New test.
+       * gfortran.dg/pr93600_2.f90: New test.
+
+2020-03-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_offload_gcn):
+       Check for -foffload=amdgcn-amdhsa not ...=amdgcn-unknown-amdhsa.
+
+2020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/93038
+       * gdc.dg/pr93038b.d: New test.
+
+2020-03-22  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/abi/lambda-vis.C: Amend assembler match
+       strings for targets using a USER_LABEL_PREFIX.
+
+2020-03-22  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/93038
+       * gdc.dg/fileimports/pr93038.txt: New test.
+       * gdc.dg/pr93038.d: New test.
+
+2020-03-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94066
+       * g++.dg/cpp1y/constexpr-union2.C: New test.
+       * g++.dg/cpp1y/constexpr-union3.C: New test.
+       * g++.dg/cpp1y/constexpr-union4.C: New test.
+       * g++.dg/cpp1y/constexpr-union5.C: New test.
+       * g++.dg/cpp1y/pr94066.C: New test.
+       * g++.dg/cpp1y/pr94066-2.C: New test.
+       * g++.dg/cpp1y/pr94066-3.C: New test.
+       * g++.dg/cpp2a/constexpr-union1.C: New test.
+
+2020-03-21  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/94052
+       * gcc.target/aarch64/pr94052.C: New test.
+
+2020-03-20  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93435
+       * gcc.dg/tree-ssa/pr93435.c: New test.
+
+2020-03-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/93347
+       * g++.dg/torture/pr93347.C: New test.
+
+2020-03-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/69694
+       * g++.dg/cpp0x/decltype74.C: New test.
+       * g++.dg/cpp0x/decltype75.C: New test.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld2q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld4q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise.
+
+2020-03-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/94072
+       * gcc.target/aarch64/pr94072.c: New test.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: New test.
+       * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Likewise.
+
+2020-03-20  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/concepts/diagnostic6.C: New test.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabdq_x_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_x_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_x_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_x_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_x_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_x_u8.c: Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: New test.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: New test.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise.
+
+2020-03-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vaddq_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vaddq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_u8.c: Likewise.
+
+2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Fix testisms.
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u32.c: Likewise.
+
+2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: New test.
+
+2020-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94224
+       * g++.dg/tree-ssa/pr94224.C: New test.
+
+2020-03-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/94202
+       * g++.dg/torture/pr94202.C: New test.
+
+2020-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR gcov-profile/94029
+       * gcc.misc-tests/gcov-pr94029.c: New test.
+
+2020-03-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/92372
+       * gcc.c-torture/pr92372.c: New test.
+       * gcc.dg/attr-flatten-1.c: New test.
+
+2020-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94211
+       * gcc.dg/pr94211.c: New test.
+
+2020-03-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94216
+       * g++.dg/torture/pr94216.C: New testcase.
+
+2020-03-18  Martin Sebor  <msebor@redhat.com>
+
+       PR ipa/92799
+       * gcc.dg/attr-weakref-5.c: New test.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: New test.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c:
+       Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vst1q_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vld1q_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vld1q_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabdq_m_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_n_u8.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_m_u8.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabsq_m_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_m_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_m_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_m_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_m_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmaq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmasq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vfmsq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavaxq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshruntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrntq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrntq_n_u32.c: Likewise.
+
+2020-03-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+            Mihail Ionescu  <mihail.ionescu@arm.com>
+            Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlasq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpselq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmladhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_m_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_m_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsliq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsriq_n_u8.c: Likewise.
+
+2020-03-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94047
+       * gcc.dg/analyzer/pr94047.c: New test.
+
+2020-03-18   Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94206
+       * gcc.dg/torture/pr94206.c: New testcase.
+
+2020-03-18  Duan bo  <duanbo3@huawei.com>
+
+       PR target/94201
+       * gcc.target/aarch64/pr94201.c:New test.
+
+2020-03-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/cpy_1.c: Leave gaps for in the
+       check-function-bodies patterns for p15 to be saved.
+       * gcc.target/aarch64/sve/pcs/args_1.c (callee_pred): Expect two
+       predicates to be saved.
+       * gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/saves_1_le_nowrap.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/saves_1_le_wrap.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Expect p12-p15
+       to be saved and restored.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_5_be.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_5_le.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1.c (test_1): Likewise.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_256.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       (test_4): Expect only 16 bytes of stack to be allocated for the
+       predicate save slot.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_512.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       (test_4): Expect only 16 bytes of stack to be allocated for the
+       predicate save slot.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_1024.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       (test_4): Expect only 16 bytes of stack to be allocated for the
+       predicate save slot.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_2048.c (test_1): Expect
+       p12-p15 to be saved and restored.
+       (test_2): Remove p12-p15 from the clobber list.
+       (test_4): Expect only 32 bytes of stack to be allocated for the
+       predicate save slot.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_256.c: Use z16 rather
+       than p4 to create a vector-sized save slot.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c: Likewise.
+
+2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * g++.dg/goacc/firstprivate-mappings-1.C: Only set DO_LONG_DOUBLE if
+       not defined; update comments.
+       * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise.
+
+2020-03-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94188
+       * gcc.dg/pr94188.c: New testcase.
+
+2020-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91759
+       * g++.dg/cpp1z/class-deduction72.C: New test.
+
+2020-03-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * g++.dg/debug/dwarf2/const2b.C (dg-do): Fix target selector.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94172
+       * gcc.dg/pr94172-1.c: New test.
+       * gcc.dg/pr94172-2.c: New test.
+
+       PR c++/90995
+       * g++.dg/cpp0x/enum40.C: New test.
+
+2020-03-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: Skip for
+       -fno-fat-lto-objects.  Use tabs rather than spaces in the
+       check-function-bodies code.
+
+2020-03-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/coro-torture.exp: Ensure that
+       DEFAULT_CXXFLAGS has a value, even if unset by a higher level.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabavq_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabavq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_m_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_m_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlcq_u8.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabdq_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabdq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp16q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp32q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp64q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp8q_m.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_f16_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlaldavxq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsldavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovnbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovntq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_poly_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_p16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_poly_p8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmullbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulltq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovnbq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovntq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovunbq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqmovuntq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshllbq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlltq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_f32.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabdq_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabdq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabdq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvaq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_p_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vandq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpcsq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpeqq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgeq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpgtq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmphiq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpleq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpltq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/veorq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vhsubq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminaq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmladavxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmlsdavxq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulhq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmullbq_int_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulltq_int_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmulq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vornq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vorrq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqdmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrdmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqrshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqshluq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrhaddq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrmulhq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshlq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrshrq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_r_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_u8.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vaddlvq_p_s32.c: New test.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_p_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcmpneq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshlq_u8.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vshrq_n_u8.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vbrsrq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsubq_n_f32.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vctp16q.c: New test.
+       * gcc.target/arm/mve/intrinsics/vctp32q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp64q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vctp8q.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vpnot.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabsq_s16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vabsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddlvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vaddvq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vclzq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtaq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtmq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtnq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_s16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtpq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovlbq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmovltq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqabsq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vqnegq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev16q_u8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_u8.c: Likewise.
+
+2020-03-17  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/multilib.exp: Add new v8.1-M entry.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94015
+       * gcc.dg/pr94015.c: New test.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vcvtq_s16_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vcvtq_s32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_u16_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_u32_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vmvnq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_u8.c: Likewise.
+
+2020-03-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vabsq_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vabsq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtbq_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f16_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f16_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f32_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvtq_f32_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vcvttq_f32_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vnegq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev32q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrev64q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndaq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndmq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndnq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndpq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_f16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vrndxq_f32.c: Likewise.
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vst4q_f16.c: New test.
+       * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94185
+       * g++.target/i386/pr94185.C (l): Use 4294967295U instead of 4294967295
+       to avoid FAIL with -m32 -std=c++98.
+
+2020-03-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Remove
+       superfluous dg-error.
+       * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise.
+
+2020-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94189
+       * gcc.dg/pr94189.c: New test.
+
+2020-03-17  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94157
+       * gcc.dg/lto/pr94157_0.c: Add gas effective
+       target filter.
+
+2020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/92309
+       * gdc.dg/pr92309.d: New test.
+
+2020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/92216
+       * gdc.dg/imports/pr92216.d: New.
+       * gdc.dg/pr92216.d: New test.
+
+2020-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/94179
+       * gcc.c-torture/compile/pr94179.c: New test.
+
+2020-03-16  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/94185
+       * g++.target/i386/pr94185.C: New test.
+
+2020-03-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Add a test
+       name to .-1 dg-error tests.
+       * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise.
+
+2020-03-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_libcall1.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.
+
+2020-03-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise.
+
+
+2020-03-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Mihail Ionescu  <mihail.ionescu@arm.com>
+           Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+       * gcc.target/arm/mve/mve.exp: New file.
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Proc to check
+       armv8.1-m.main+mve.fp and returning corresponding options.
+       (check_effective_target_arm_v8_1m_mve_fp_ok): Proc to call
+       check_effective_target_arm_v8_1m_mve_fp_ok_nocache to check support of
+       MVE with floating point on the current target.
+       (add_options_for_arm_v8_1m_mve_fp): Proc to call
+       check_effective_target_arm_v8_1m_mve_fp_ok to return corresponding
+       compiler options for MVE with floating point.
+       (check_effective_target_arm_v8_1m_mve_ok_nocache): Modify to test and
+       return hard float-abi on success.
+
+2020-03-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * gcc.target/i386/pr89229-7a.c: New test.
+       * gcc.target/i386/pr89229-7b.c: Likewise.
+       * gcc.target/i386/pr89229-7c.c: Likewise.
+
+2020-03-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/asm1.d: Add new test for ICE in asm parser.
+       * gdc.dg/asm5.d: New test.
+
+2020-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94167
+       * gcc.dg/pr94167.c: New test.
+
+       PR tree-optimization/94166
+       * gcc.dg/pr94166.c: New test.
+
+2020-03-16  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/94125
+       * gcc.dg/tree-ssa/pr94125.c: New test.
+
+2020-03-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * gcc.target/i386/pr89229-6a.c: New test.
+       * gcc.target/i386/pr89229-6b.c: Likewise.
+       * gcc.target/i386/pr89229-6c.c: Likewise.
+
+2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * gcc.misc-tests/help.exp: Adapt to new output for
+       -Walloc-size-larger-than= option.
+
+2020-03-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * gcc.target/i386/pr89229-5a.c: New test.
+       * gcc.target/i386/pr89229-5b.c: Likewise.
+       * gcc.target/i386/pr89229-5c.c: Likewise.
+
+2020-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/94176
+       * gcc.target/powerpc/fold-vec-mule-misc.c: Use vmx_hw selector.
+
+2020-03-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94099
+       PR analyzer/94105
+       * gcc.dg/analyzer/pr94099.c: New test.
+       * gcc.dg/analyzer/pr94105.c: New test.
+
+2020-03-13  Vasee Vinayagamoorthy  <vaseeharan.vinayagamoorthy@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: Fix DejaGnu
+       typo.
+
+2020-03-13  Martin Sebor  <msebor@redhat.com>
+
+       PR c/94040
+       * gcc.dg/Wbuiltin-declaration-mismatch-12.c: Relax test to look
+       for warning name rather than the exact text.
+       * gcc.dg/Wbuiltin-declaration-mismatch-14.c: New test.
+       * gcc.dg/Wbuiltin-declaration-mismatch-15.c: New test.
+       * gcc.dg/pr62090.c: Prune expected warning.
+       * gcc.dg/pr89314.c: Look for warning name rather than text.
+       * gcc.dg/torture/pr54261-1.c: Correct built-in declartion.
+
+2020-03-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr64409.c: Do not limit compilation to x32 targets.
+       (dg-error): Quote 'ms_abi' attribute.
+       * gcc.target/i386/pr71958.c: Do not limit compilation to x32 targets.
+       Require maybe_x32 effective target.
+       (dg-options): Add -mx32.
+       (dg-error): Quote 'ms_abi' attribute.
+       * gcc.target/i386/pr90096.c (dg-error): Update relative
+       location of target x32 error.
+
+2020-03-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67960
+       * g++.dg/diagnostic/pr67960.C: New test.
+       * g++.dg/diagnostic/pr67960-2.C: New test.
+
+2020-03-13  Martin Liska  <mliska@suse.cz>
+
+       PR lto/94157
+       * gcc.dg/lto/pr94157_0.c: New test.
+
+2020-03-13  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR testsuite/93935
+       * gcc.dg/vect/bb-slp-over-widen-2.c: Expect basic block vectorized
+       messages only on vect_hw_misalign targets.
+
+2020-03-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       * gcc.target/i386/pr89229-4a.c: New test.
+       * gcc.target/i386/pr89229-4b.c: Likewise.
+       * gcc.target/i386/pr89229-4c.c: Likewise.
+
+2019-03-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.c-torture/compile/20200313-1.c: New test.
+
+2020-03-12  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/90275
+       * gcc.c-torture/compile/pr90275.c: New test.
+
+2020-03-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/94103
+       * gcc.target/i386/pr94103.c: New testcase.
+
+2020-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * gfortran.dg/goacc/pr78260-2.f90: Correct scan-tree-dump-times.
+       Extend test case to result variables.
+       * gfortran.dg/goacc/declare-2.f95: Actually check module-declaration
+       restriction of OpenACC.
+       * gfortran.dg/goacc/declare-3.f95: Remove case where this
+       restriction is violated.
+       * gfortran.dg/goacc/pr94120-1.f90: New.
+       * gfortran.dg/goacc/pr94120-2.f90: New.
+       * gfortran.dg/goacc/pr94120-3.f90: New.
+
+2020-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94130
+       * gcc.c-torture/execute/pr94130.c: New test.
+
+       PR c++/93907
+       * g++.dg/cpp2a/concepts-using2.C (cc): Use long long instead of
+       __int128 if __SIZEOF_INT128__ isn't defined.
+
+2020-03-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94074 - wrong modifying const object error for COMPONENT_REF.
+       * g++.dg/cpp1y/constexpr-tracking-const17.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const18.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const19.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const20.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const21.C: New test.
+       * g++.dg/cpp1y/constexpr-tracking-const22.C: New test.
+
+2020-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94134
+       * gcc.c-torture/execute/pr94134.c: New test.
+
+2020-03-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/interrupt-2.c: Update testcase and expected output.
+
+2020-03-11  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/torture/20200311-1.c: New testcase.
+
+2020-03-11  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * lib/scanasm.exp (parse_function_bodies): Lines starting with '@' also
+       counted as fluff.
+
+2020-03-11  Richard Wai  <richard@annexi-strayline.com>
+
+       * gnat.dg/subpools1.adb: New test.
+
+2020-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94121
+       * gcc.dg/pr94121.c: New test.
+
+       PR middle-end/94111
+       * gcc.dg/dfp/pr94111.c: New test.
+
+       PR tree-optimization/94114
+       * gcc.dg/pr94114.c: New test.
+
+2020-03-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94124 - wrong conversion error with non-viable overload.
+       * g++.dg/cpp0x/initlist-overload1.C: New test.
+
+2020-03-10  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/93709
+       * gcc.target/powerpc/p9-minmax-3.c: New test.
+
+2020-03-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       PR target/90763
+       * gcc.target/powerpc/pr90763.c: New.
+
+2020-03-10  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * g++.dg/pr80481.C (dg-final): Scan for SSE reg-reg moves only.
+
+2020-03-10  Jeff Law  <law@redhat.com>
+
+       Revert:
+       2020-02-29  Jeff Law  <law@redhat.com>
+
+       * gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output.
+
+2020-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94088
+       * gcc.target/i386/pr94088.c: New test.
+
+2020-03-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92031 - bogus taking address of rvalue error.
+       PR c++/91465 - ICE with template codes in check_narrowing.
+       PR c++/93870 - wrong error when converting template non-type arg.
+       PR c++/94068 - ICE with template codes in check_narrowing.
+       * g++.dg/cpp0x/conv-tmpl2.C: New test.
+       * g++.dg/cpp0x/conv-tmpl3.C: New test.
+       * g++.dg/cpp0x/conv-tmpl4.C: New test.
+       * g++.dg/cpp0x/conv-tmpl5.C: New test.
+       * g++.dg/cpp0x/conv-tmpl6.C: New test.
+       * g++.dg/cpp1z/conv-tmpl1.C: New test.
+
+2020-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94067
+       * g++.dg/warn/Wconversion-pr94067.C: New test.
+
+2020-03-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94050 - ABI issue with alignas on armv7hl.
+       * g++.dg/abi/align3.C: New test.
+
+2020-03-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/fuse-caller-save.c: Fix DejaGnu typo.
+
+2020-03-09  Martin Liska  <mliska@suse.cz>
+
+       PR target/93800
+       * gcc.target/powerpc/pr93800.c: New test.
+
+2020-03-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: New.
+
+2020-03-09  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR testsuite/94019
+       * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's
+       without misaligned vector access support.
+
+2020-03-09  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR testsuite/94023
+       * gcc.dg/vect/slp-perm-12.c: Expect loop vectorized messages only on
+       vect_hw_misalign targets.
+
+2020-03-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93581
+       * gfortran.dg/inquiry_type_ref_6.f90 : New test.
+
+2020-03-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/93729
+       * g++.dg/concepts/pr93729.C: New test.
+
+       * g++.dg/concepts/diagnostic4.C: New test.
+
+2020-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       PR target/89346
+       * gcc.target/i386/pr89229-3c.c: Include "pr89229-3a.c", instead
+       of "pr89229-5a.c".
+
+2020-03-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/malloc-4.c: Update expected output of leak to
+       reflect fix to region_model::get_representative_path_var, adding
+       the missing "*" from the cast.
+
+2020-03-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * gcc.target/aarch64/fmla_intrinsic_1.c: Check for correct lane syntax.
+       * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/mla_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/mls_intrinsic_1.c: Likewise.
+
+2020-03-06  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/tumaddsidi4.c: Step-up optimization level.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * gcc.target/arm/simd/bf16_vldn_1.c: New test.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * gcc.target/arm/simd/bf16_vstn_1.c: New test.
+
+2020-03-06  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/pr93304.c: Update expected output and comment.
+
+2020-03-06  Delia Burduv  <delia.burduv@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nobf16.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: New test.
+
+2020-03-06  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR tree-optimization/90883
+       * g++.dg/tree-ssa/pr90883.c: Add --param max-inline-insns-size=1.
+       Add aarch64-*-* mips*-*-* to XFAIL.
+
+2020-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89229
+       PR target/89346
+       * gcc.target/i386/avx512vl-vmovdqa64-1.c: Updated.
+       * gcc.target/i386/pr89229-2a.c: New test.
+       * gcc.target/i386/pr89229-2b.c: Likewise.
+       * gcc.target/i386/pr89229-2c.c: Likewise.
+       * gcc.target/i386/pr89229-3a.c: Likewise.
+       * gcc.target/i386/pr89229-3b.c: Likewise.
+       * gcc.target/i386/pr89229-3c.c: Likewise.
+       * gcc.target/i386/pr89346.c: Likewise.
+
+2020-03-05  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * g++.dg/pr80481.C: Disable epilogue vectorization.
+
+2020-03-05  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/93577
+       * gcc.dg/pr93577-1.c, gcc.dg/pr93577-2.c, gcc.dg/pr93577-3.c,
+       gcc.dg/pr93577-4.c, gcc.dg/pr93577-5.c, gcc.dg/pr93577-6.c: New
+       tests.
+       * gcc.dg/vla-init-1.c: Expect fewer errors about VLA initializer.
+
+2020-03-05  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/91890
+       * gcc.dg/pragma-diag-8.c: New test.
+
+2020-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/94046
+       * g++.target/i386/pr94046-1.C: New test.
+       * g++.target/i386/pr94046-2.C: New test.
+
+2020-03-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * g++.dg/asan/asan_test.C (dg-options): Add
+       -Wno-alloc-size-larger-than.
+
+2020-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/90311
+       * gcc.c-torture/execute/pr90311.c: New test.
+
+2020-03-05  Jeff Law  <law@redhat.com>
+
+       * gcc.target/arm/fuse-caller-save.c: Generalize expected output.
+
+2020-03-05 Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93792
+       * gfortran.dg/pr93792.f90:  New test.
+
+2020-03-05  Delia Burduv  <delia.burduv@arm.com>
+
+       * gcc.target/arm/simd/bf16_ma_1.c: New test.
+       * gcc.target/arm/simd/bf16_ma_2.c: New test.
+       * gcc.target/arm/simd/bf16_mmla_1.c: New test.
+
+2020-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93399
+       * gcc.dg/pr93399.c: New test.
+
+       PR tree-optimization/93582
+       * gcc.dg/tree-ssa/pr93582-11.c: New test.
+
+2020-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/90938
+       * g++.dg/init/array55.C: New test.
+       * g++.dg/init/array56.C: New test.
+       * g++.dg/cpp2a/nontype-class33.C: New test.
+
+2020-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93986
+       * gcc.dg/pr93986.c: New test.
+
+2020-03-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94028
+       * g++.dg/analyzer/pr94028.C: New test.
+
+2020-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/81401
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-24.c: New test.
+
+2020-03-04  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/20050603-3.c: Remove XFAILS.
+
+2020-03-04  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr93122.c: Add dg-require.
+
+2020-03-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93993
+       * gcc.dg/analyzer/expect-1.c: New test.
+       * gcc.dg/analyzer/malloc-4.c: New test.
+       * gfortran.dg/analyzer/pr93993.f90: Remove xfail from dg-bogus.
+       Move location of leak warning and update message.
+
+2020-03-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93993
+       * gfortran.dg/analyzer/pr93993.f90: New test.
+
+2020-03-04  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/i386/pr91623.c: Add -fcommon in order
+       to re-trigger the needed code for the test-case which
+       was added in r10-2910-g9151048d854e352a9b83b771c6711b8221c73f7e.
+
+2020-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/93888
+       * g++.dg/guality/pr93888.C: New test.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93964
+       * gcc.dg/graphite/pr93964.c: New testcase.
+
+2020-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94001
+       * gcc.dg/pr94001.c: New test.
+
+2020-03-04  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/93995
+       * gcc.dg/pr93995.c: New.
+
+2020-03-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/90505 - mismatch in template argument deduction.
+       * g++.dg/template/deduce4.C: New test.
+       * g++.dg/template/deduce5.C: New test.
+       * g++.dg/template/deduce6.C: New test.
+       * g++.dg/template/deduce7.C: New test.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93998
+       * g++.dg/ext/pr93998.C: New test.
+
+2020-03-03  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/bf16_cvt_1.c: New test.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * gcc.dg/tree-ssa/pr93582-10.c: New test.
+       * gcc.dg/pr93582.c: New test.
+       * gcc.c-torture/execute/pr93582.c: New test.
+
+2020-03-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93946
+       * gcc.dg/torture/pr93946-1.c: New testcase.
+       * gcc.dg/torture/pr93946-2.c: Likewise.
+
+2020-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/94002
+       * gcc.dg/pr94002.c: New test.
+
+       PR tree-optimization/93927
+       * gcc.c-torture/compile/pr93927-1.c: New test.
+       * gcc.c-torture/compile/pr93927-2.c: New test.
+
+2020-03-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/torture/co-await-15-capture-comp-ref.C: New test.
+
+2020-03-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/torture/co-await-14-template-traits.C: New test.
+
+2020-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Add
+       -fanalyzer-show-duplicate-count.
+
+2020-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93959
+       * g++.dg/analyzer/cstdlib-2.C: New test.
+       * g++.dg/analyzer/cstdlib.C: New test.
+
+2020-03-02  Iain Sandoe  <iain@sandoe.co.uk>
+           Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C:
+       * g++.dg/coroutines/torture/lambda-09-init-captures.C: New test.
+       * g++.dg/coroutines/torture/lambda-10-mutable.C: New test.
+
+2020-03-02  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93997
+       * gcc.target/i386/pr93997.c: New test.
+
+2020-03-02  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/92982
+       * gcc.dg/strlenopt-94.c: New test.
+
+2020-03-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: New test.
+       * g++.dg/coroutines/torture/local-var-5-awaitable.C: New test.
+
+2020-03-02  Jeff Law  <law@redhat.com>
+
+       * gcc.target/arm/fuse-caller-save.c: Update expected output.
+
+2020-03-02  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/vect/bb-slp-19.c: The comment
+       does not align with fact that we started
+       to SLP the testcase.
+
+2020-03-02  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * gcc.dg/tree-ssa/scev-8.c: Revise check string.
+       * gcc.dg/tree-ssa/scev-9.c: Ditto.
+       * gcc.dg/tree-ssa/scev-10.c: Ditto.
+       * gcc.dg/tree-ssa/scev-11.c: Ditto.
+       * gcc.dg/tree-ssa/scev-12.c: Ditto.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/92721
+       g++.dg/ext/attr-access.C: New test.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93926
+       * gcc.dg/Wbuiltin-declaration-mismatch-13.c: New test.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c/93812
+       * gcc.dg/format/proto.c: New test.
+
+2020-03-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93829
+       * gcc.dg/Wstringop-overflow-32.c: New test.
+
+2020-03-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR testsuite/91797
+       * gcc.target/powerpc/pr68805.c: Update expected output.
+
+       PR testsuite/91799
+       * gcc.target/powerpc/pr88233.c: Update expected output and
+       add target selector.
+
+2020-03-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/class-07-data-member.C: New test.
+
+2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92976
+       * gfortran.dg/select_type_48.f90 : New test.
+
+2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92959
+       * gfortran.dg/associated_8.f90 : New test.
+
+2020-02-29  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro1-ret-int-yield-int.h: Add templated
+       awaitable.
+       * g++.dg/coroutines/torture/co-await-15-return-non-triv.C: New test.
+
+2020-02-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR ada/91100
+       * gnat.dg/socket1.adb: Disable on hppa*-*-hpux*.
+
+       * g++.dg/pr90981.C: Skip on hppa*-*-hpux*.
+       * gcc.dg/gnu2x-attrs-1.c: Add dg-require-alias.
+       * gcc.dg/pr90756.c: Add -fno-common option on hppa*-*-hpux*.
+       * gcc.dg/torture/20190327-1.c: Likewise.
+       * gcc.dg/spellcheck-options-21.c: Skip on 32-bit hppa*-*-hpux*.
+       * gcc.dg/strlenopt-68.c: Skip on hppa*-*-hpux*.
+       * gcc.dg/torture/pr90020.c: Likewise.
+       * gcc.dg/ucnid-16-utf8.c: Add dg-require-iconv "latin1".
+
+       PR ipa/92548
+       * gcc.dg/ipa/ipa-sra-12.c: xfail parameter split test on 32-bit
+       hppa*-*-hpux*.
+       * gcc.dg/ipa/ipa-sra-14.c: Likewise.
+       * gcc.dg/ipa/ipcp-agg-12.c: xfail adding extra caller test.
+
+       * g++.dg/ext/visibility/ref-temp1.C: Require visibility.
+       * gfortran.dg/pr90988_4.f: Likewise.
+       * gfortran.dg/pr91372.f90: Likewise.
+
+2020-02-29  Jeff Law  <law@redhat.com>
+
+       * gcc.target/or1k/return-2.c: Update expected output.
+
+       * gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output.
+
+2020-02-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/torture/func-params-08.C: Update
+       to suspend for each co_await operation.
+
+2020-02-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/92785
+       * gfortran.dg/unlimited_polymorphic_31.f03 : New test.
+
+2020-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       P1937R2 - Fixing inconsistencies between const{expr,eval} functions
+       * g++.dg/cpp2a/consteval3.C: Change dg-error about taking address of
+       immediate function in unevaluated contexts into dg-bogus.
+       * g++.dg/cpp2a/consteval16.C: New test.
+
+       PR middle-end/92152
+       * g++.dg/torture/pr92152.C (size_t): Use decltype (sizeof (0)) instead
+       of hardcoding unsigned long.
+       (uint64_t): Use unsigned long long instead of unsigned long.
+
+2020-02-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/93932
+       * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Adjust
+       instruction counts.
+
+2020-02-27  Martin Jambor  <mjambor@suse.cz>
+           Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93707
+       * gcc.dg/ipa/pr93707.c: New test.
+
+2020-02-27  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR middle-end/92152
+       * gcc.dg/tree-ssa/alias-access-path-12.c: New testcase.
+       * g++.dg/torture/pr92152.C: New testcase.
+       * gcc.dg/torture/pr92152.c: New testcase.
+       * gcc.dg/tree-ssa/20030807-7.c: xfail.
+       * gcc.dg/tree-ssa/alias-access-path-4.c: xfail one case.
+       * gcc.dg/tree-ssa/alias-access-path-5.c: xfail one case.
+
+2020-02-27  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/bf16_dup.c: New test.
+       * gcc.target/arm/bf16_reinterpret.c: Likewise.
+
+2020-02-27  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * lib/target_supports.exp (check_effective_target_has_arch_pwr5): New.
+       (check_effective_target_has_arch_pwr6): New.
+       (check_effective_target_has_arch_pwr7): New.
+       (check_effective_target_has_arch_pwr8): New.
+       (check_effective_target_has_arch_pwr9): New.
+       * gcc.target/powerpc/pr92132-fp-1.c: Add target check.
+
+
+2020-02-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/ppc64-abi-1.c: Compile with -mno-pcrel.
+       * gcc.target/powerpc/ppc64-abi-2.c: Likewise.
+
+2020-02-27  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/aarch64/vect-mull.x (SH): Undefine.
+
+2020-02-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93508
+       * gcc.dg/tree-ssa/ssa-fre-85.c: New testcase.
+
+2020-02-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93953
+       * gcc.dg/pr93953.c: New testcase.
+
+2020-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/93949
+       * gcc.c-torture/compile/pr93949.c: New test.
+
+       PR tree-optimization/93582
+       PR tree-optimization/93945
+       * gcc.dg/tree-ssa/pr93582-9.c: New test.
+       * gcc.c-torture/execute/pr93945.c: New test.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93789 - ICE with invalid array bounds.
+       * g++.dg/ext/vla22.C: New test.
+
+2020-02-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93950
+       * g++.dg/analyzer/pr93950.C: New test.
+
+2020-02-26  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93947
+       * gcc.dg/analyzer/torture/pr93947.c: New test.
+
+2020-02-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro1-refs-and-ctors.h: New.
+       * g++.dg/coroutines/torture/func-params-07.C: New test.
+       * g++.dg/coroutines/torture/func-params-08.C: New test.
+
+2020-02-26  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/93913
+       * gcc.target/powerpc/fold-vec-st-char.c (scan-assembler-times): Allow
+       stxv and stxvx instructions as well.
+       * gcc.target/powerpc/fold-vec-st-float.c: Likewise.
+       * gcc.target/powerpc/fold-vec-st-int.c: Likewise.
+       * gcc.target/powerpc/fold-vec-st-short.c: Likewise.
+
+2020-02-26  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/concepts/diagnostic2.C: New test.
+       * g++.dg/concepts/diagnostic3.C: New test.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93676 - value-init crash in template.
+       * g++.dg/cpp0x/nsdmi-template19.C: New test.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93862 - ICE with static_cast when converting from int[].
+       * g++.dg/cpp0x/rv-cast7.C: New test.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       DR 1423, Convertibility of nullptr to bool.
+       * g++.dg/DRs/dr1423.C: New test.
+
+2020-02-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93803 - ICE with constexpr init and [[no_unique_address]].
+       * g++.dg/cpp2a/constexpr-init16.C: New test.
+       * g++.dg/cpp2a/constexpr-init17.C: New test.
+
+2020-02-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/93843
+       * gcc.dg/vect/pr93843-1.c: New test.
+       * gcc.dg/vect/pr93843-2.c: Likewise.
+
+2020-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93820
+       * gcc.dg/pr93820-2.c: New test.
+
+       PR tree-optimization/93820
+       * gcc.dg/pr93820.c: New test.
+
+       PR c++/93905
+       * g++.dg/cpp0x/pr93905.C: New test.
+
+2020-02-25  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vstn.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vldn.c: New test.
+
+2020-02-25  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c: New test.
+
+2020-02-25  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/bf16_dot_1.c: New test.
+       * gcc.target/arm/simd/bf16_dot_2.c: New test.
+       * gcc.target/arm/simd/bf16_dot_3.c: New test.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/93908
+       * gcc.c-torture/execute/pr93908.c: New test.
+
+2019-02-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/lto24.adb: New test.
+       * gnat.dg/lto24_pkg1.ads: New helper.
+       * gnat.dg/lto24_pkg2.ad[sb]: Likewise.
+
+2020-02-25  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-fre-86.c: New testcase.
+
+2020-02-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93868
+       * gcc.dg/torture/pr93868.c: New testcase.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93874
+       * gcc.dg/pr93874.c: New test.
+
+       PR ipa/93763
+       * gcc.dg/ipa/pr93763.c: Adjust the test so that it compiles without
+       warnings and still ICEs before the ipa-cp.c fix.
+       * g++.dg/ipa/pr93763.C: Require c++11 effective target.
+
+       PR translation/93864
+       * objc.dg/encode-2.m: Fix comment typo paramter -> parameter.
+       * obj-c++.dg/encode-4.mm: Likewise.
+       * gfortran.dg/data_array_5.f90: Likewise.
+       * gcc.dg/decl-1.c: Likewise.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       * gcc.dg/analyzer/pr93382.c: Add "-fanalyzer-checker=taint".
+       * gcc.dg/analyzer/taint-1.c: Likewise.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93899
+       * g++.dg/analyzer/pr93899.C: New test.
+
+2020-02-24  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/93804
+       * g++.dg/warn/Wredundant-tags-4.C: New test.
+       * g++.dg/warn/Wredundant-tags-5.C: New test.
+       * g++.dg/warn/Wredundant-tags-5.h: New test.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/analyzer-verbosity-2a.c: New test.
+       * gcc.dg/analyzer/analyzer-verbosity-3.c: New test, based on
+       analyzer-verbosity-2.c
+       * gcc.dg/analyzer/analyzer-verbosity-3a.c: New test.
+       * gcc.dg/analyzer/edges-1.c: New test.
+       * gcc.dg/analyzer/edges-2.c: New test.
+       * gcc.dg/analyzer/file-paths-1.c: Add -fanalyzer-verbosity=3.
+
+2020-02-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93869 - ICE with -Wmismatched-tags.
+       * g++.dg/warn/Wmismatched-tags-2.C: New test.
+
+2020-02-20  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93835
+       * gfortran.dg/pr77351.f90 : Check for one error instead of two.
+       * gfortran.dg/pr93835.f08 : New test.
+
+2020-02-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93712 - ICE with ill-formed array list-initialization.
+       * g++.dg/cpp0x/initlist-array11.C: New test.
+
+2020-02-20  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93604
+       * gfortran.dg/pr93604.f90 : New test.
+
+2020-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       P1937R2 - Fixing inconsistencies between const{expr,eval} functions
+       * g++.dg/ext/consteval1.C: Change dg-{message,error} into dg-bogus.
+       * g++.dg/cpp2a/consteval6.C: Likewise.
+       * g++.dg/cpp2a/consteval3.C: Change dg-error for unevaluated operands
+       into dg-bogus.
+
+2020-02-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR lto/78353
+       * gcc.target/arm/pr78353-1.c: Add arm_arch_v7a_multilib effective
+       target.
+       * gcc.target/arm/pr78353-2.c: Likewise.
+
+2020-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * gcc.dg/tree-ssa/pr93582-4.c: New test.
+       * gcc.dg/tree-ssa/pr93582-5.c: New test.
+       * gcc.dg/tree-ssa/pr93582-6.c: New test.
+       * gcc.dg/tree-ssa/pr93582-7.c: New test.
+       * gcc.dg/tree-ssa/pr93582-8.c: New test.
+
+2020-02-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93552
+       * gfortran.dg/goacc/tile-4.f90: New.
+
+2020-02-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+           Kugan Vivekandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       PR driver/47785
+       PR lto/78353
+       * gcc.target/arm/pr78353-1.c: New test.
+       * gcc.target/arm/pr78353-2.c: Likewise.
+
+2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93890
+       * gfortran.dg/argument_checking_24.f90: Correct test case.
+
+2020-02-21  Martin Sebor  <msebor@redhat.com>
+
+       PR gcov-profile/93753
+       * g++.dg/ext/flexary36.C: New test.
+       * g++.dg/lto/pr93166_0.C: Make struct with flexarray valid.
+
+2020-02-21  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/simd/vmmla_1.c: New test.
+
+2020-02-21  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+
+       * gcc.target/arm/armv8_1m-shift-imm-1.c: Add MVE target checks.
+       * gcc.target/arm/armv8_1m-shift-reg-1.c: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_1m_mve_ok_nocache): New.
+       (check_effective_target_arm_v8_1m_mve_ok): New.
+       (add_options_for_v8_1m_mve): New.
+
+2020-02-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr69052.c: Require target ia32.
+       (dg-options): Add -fcommon and remove -pie.
+
+2020-02-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.dg/vect/vect-epilogues.c (scan-tree-dump): Require
+       vect_mutiple_sizes effective target.
+
+2020-02-21  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93586
+       * gcc.dg/torture/pr93586.c: New testcase.
+
+2020-02-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93845
+       * g++.dg/tree-ssa/pr93845.C: New test.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/rsqrt_1.c: New test.
+       * gcc.target/aarch64/sve/rsqrt_1_run.c: Likewise.
+       * gcc.target/aarch64/sve/sqrt_1.c: Likewise.
+       * gcc.target/aarch64/sve/sqrt_1_run.c: Likewise.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/recip_1.c: New test.
+       * gcc.target/aarch64/sve/recip_1_run.c: Likewise.
+       * gcc.target/aarch64/sve/recip_2.c: Likewise.
+       * gcc.target/aarch64/sve/recip_2_run.c: Likewise.
+
+2020-02-20  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/93801
+       * g++.dg/warn/Wredundant-tags-3.C: New test.
+
+2020-02-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93828
+       * g++.target/i386/pr93828.C: New test.
+
+2020-02-20  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/93658
+       * gcc.target/powerpc/pr93658.c: New test.
+
+2020-02-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93825
+       * gfortran.dg/goacc/tile-3.f90: New.
+
+2020-02-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93169 - wrong-code with a non-constexpr constructor.
+       * g++.dg/cpp0x/constexpr-93169.C: New test.
+
+2020-02-19  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/92128
+       * gcc.dg/strlenopt-81.c: Align arrays to let strictly aligned targets
+       optimize away calls as expected.
+
+2020-02-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.dg/gimplefe-41.c: Add -msse2 additional options for x86 targets.
+       * gcc.dg/ipa/ipa-sra-19.c: Ditto.
+
+2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93767
+       * gcc.dg/vect/pr93767.c: New test.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93776
+       * gcc.dg/tree-ssa/pr93776.c: New test.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93667
+       * g++.dg/tree-ssa/pr93667.C: New test.
+
+2020-02-19  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * g++.dg/other/i386-2.C: add -mavx512vbmi2
+       * g++.dg/other/i386-3.C: Ditto.
+
+2020-02-18  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * gcc.target/aarch64/vmull_high.c: New.
+
+2020-02-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93817
+       * g++.dg/diagnostic/array-init1.C: Fix for ILP32.
+
+2020-02-18  Jon Beniston  <jon@beniston.com>
+
+       * gcc.dg/strcmpopt_6.c: Add space in array for terminator.
+
+2020-02-18  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/93714
+       * gfortran.dg/char_pointer_assign_6.f90: Look for no target
+       message instead of length mismatch.
+       * gfortran.dg/pr93714_1.f90
+       * gfortran.dg/pr93714_2.f90
+
+2020-02-18  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93601
+       * gfortran.dg/pr93601.f90 : New test.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93583
+       * gcc.dg/ipa/pr93583.c: New test.
+
+2020-02-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93777
+       * g++.dg/analyzer/pr93777.C: New test.
+       * gfortran.dg/analyzer/pr93777.f90: New test.
+
+2020-02-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93778
+       * gfortran.dg/analyzer/pr93778.f90: New test.
+
+2020-02-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93774
+       * gfortran.dg/analyzer/deferred_character_25.f90: New test,
+       based on gfortran.dg/deferred_character_25.f90.
+
+2020-02-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93779
+       * gfortran.dg/analyzer/pr88304-2.f90: New test, adapted from
+       gfortran.fortran-torture/compile/pr88304-2.f90
+
+2020-02-18  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       PR fortran/93603
+       * gfortran.dg/pr93603.f90 : New test.
+
+2020-02-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/93580
+       * gfortran.dg/dg/pr93580.f90: New test.
+
+2020-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93780
+       * gcc.dg/pr93780.c: New test.
+
+2020-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93775
+       * gcc.dg/analyzer/20020129-1.c: New test.
+
+2020-02-17  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/tls/emutls-3.c: New, combining emutls-2.c and
+       thr-init-2.c into an execution test with explicitly common
+       variables.
+
+2020-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * gcc.target/aarch64/pr93565.c: Fix test for ilp32.
+
+2020-02-17  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Correct
+       number of expected insns.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93760
+       * g++.dg/lto/odr-8_1.C: Fix grammar.
+
+2020-02-17  Richard Biener  <rguenther@suse.de>
+
+       PR c/86134
+       * gcc.dg/pr86134.c: New testcase.
+       * gcc.dg/pr28322-2.c: Adjust.
+
+2020-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93388
+       * gcc.dg/analyzer/torture/20060625-1.c: New test.
+       * gcc.dg/analyzer/torture/pr51628-30.c: New test.
+       * gcc.dg/analyzer/torture/pr59037.c: New test.
+
+2020-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/malloc-1.c (test_48): New.
+
+2020-02-17  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/93047
+       * gcc.dg/torture/stackalign/builtin-return-2.c: New test case.
+
+2020-02-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93743
+       * gcc.target/i386/pr93743.c : New test.
+
+2020-02-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93710 - poor diagnostic for array initializer.
+       * g++.dg/diagnostic/array-init1.C: New test.
+
+2020-02-15  Jason Merrill  <jason@redhat.com>
+
+       * lib/target-supports.exp (check_effective_target_c++2a_only): Also
+       look for -std=*++20.
+       (check_effective_target_concepts): Use check_effective_target_c++2a.
+
+2020-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93744
+       * gcc.c-torture/execute/pr93744-1.c: New test.
+       * gcc.c-torture/execute/pr93744-2.c: New test.
+       * gcc.c-torture/execute/pr93744-3.c: New test.
+
+2020-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/61414
+       * g++.dg/cpp0x/enum39.C: New test.
+
+2020-02-14  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93516
+       * g++.dg/tree-ssa/pr93516.C: New test.
+
+2020-02-14 Hongtao Liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512vbmi2-vpshld-1.c: New test.
+       * gcc.target/i386/avx512vbmi2-vpshrd-1.c: Ditto.
+       * gcc.target/i386/sse-12.c: Add -mavx512vbmi2.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add -mavx512vbmi2 and tests.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2020-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       Partially implement P1042R1: __VA_OPT__ wording clarifications
+       PR preprocessor/92319
+       * c-c++-common/cpp/va-opt-4.c: New test.
+
+2020-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/93576
+       * gcc.dg/pr93576.c: New test.
+
+2020-02-13  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * g++.dg/cpp0x/constexpr-static13.C:
+       Add -fdelete-null-pointer-checks.
+       * g++.dg/cpp2a/constexpr-new11.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new12.C: Likewise.
+
+2020-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93656
+       * gcc.target/i386/pr93656.c: New test.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/nps400-1.c: Update test.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/or-cnst-size2.c: Update test.
+
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+       Petro Karashchenko  <petro.karashchenko@ring.com>
+
+       * gcc.target/arc/mul64-1.c: New test.
+
+2020-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93696
+       * gcc.target/i386/pr93696-1.c: New test.
+       * gcc.target/i386/pr93696-2.c: New test.
+       * gcc.target/i386/avx512bitalg-vpopcntw-1.c (TEST): Fix argument order
+       of _mm*_mask_popcnt_*.
+       * gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c (TEST): Likewise.
+       * gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c (TEST): Likewise.
+       * gcc.target/i386/avx512bitalg-vpopcntb-1.c (TEST): Likewise.
+       * gcc.target/i386/avx512bitalg-vpopcntb.c (foo): Likewise.
+       * gcc.target/i386/avx512bitalg-vpopcntbvl.c (foo): Likewise.
+       * gcc.target/i386/avx512vpopcntdq-vpopcntd.c (foo): Likewise.
+       * gcc.target/i386/avx512bitalg-vpopcntwvl.c (foo): Likewise.
+       * gcc.target/i386/avx512bitalg-vpopcntw.c (foo): Likewise.
+       * gcc.target/i386/avx512vpopcntdq-vpopcntq.c (foo): Likewise.
+
+       PR tree-optimization/93582
+       * gcc.dg/tree-ssa/pr93582-1.c: New test.
+       * gcc.dg/tree-ssa/pr93582-2.c: New test.
+       * gcc.dg/tree-ssa/pr93582-3.c: New test.
+
+2020-02-13  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/93717
+       * gcc.dg/optimize-bswapsi-2.c: Add BE case.
+
+2020-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93673
+       * gcc.target/i386/avx512f-pr93673.c: New test.
+       * gcc.target/i386/avx512dq-pr93673.c: New test.
+       * gcc.target/i386/avx512bw-pr93673.c: New test.
+
+       * g++.dg/analyzer/pr93212.C: Require c++14 rather than c++11.
+
+2020-02-12  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro1-allocators.h: New.
+       * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: New test.
+       * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: New test.
+       * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: New test.
+       * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: Use new
+       coro1-allocators.h header.
+       * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: Likewise.
+       * g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C: New.
+       * g++.dg/coroutines/torture/alloc-03-overload-new-1.C: New test.
+       * g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C:New.
+
+2020-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/powerpc/pr93122.c: Use -mprefixed instead of
+       -mprefixed-addr in dg-options.
+
+       PR middle-end/93663
+       * gcc.dg/torture/builtin-round-roundeven.c (main): Add tests
+       for DBL_MAX, inf, their negations and nan.
+
+2020-02-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93646
+       * gcc.dg/Wstringop-overflow-31.c: New test.
+
+2020-02-12  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR rtl-optimization/93565
+       * gcc.target/aarch64/pr93565.c: New test.
+
+2020-02-12  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * gcc.target/aarch64/popcnt2.c: New test.
+
+2020-02-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/88819
+       * g++.dg/cpp2a/nontype-class32.C: New test.
+
+2020-02-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93684 - ICE-on-invalid with broken attribute.
+       * g++.dg/parse/attr4.C: New test.
+
+2020-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93670
+       * gcc.target/i386/avx512vl-pr93670.c: New test.
+
+2020-02-12  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/93697
+       * gcc.dg/pr93661.c: Pass -w, remove dg-warning.
+
+2020-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93288
+       * g++.dg/analyzer/malloc.C: Add test coverage for a double-free
+       called in a constructor.
+       * g++.dg/analyzer/pr93288.C: New test.
+
+2020-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93212
+       * g++.dg/analyzer/analyzer.exp: New subdirectory and .exp suite.
+       * g++.dg/analyzer/malloc.C: New test.
+       * g++.dg/analyzer/pr93212.C: New test.
+
+2020-02-11  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93683
+       * gcc.dg/tree-ssa/ssa-dse-39.c: New test.
+
+2020-02-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_ppc_ieee128_ok): New.
+       * gcc.target/powerpc/pr92796.c: Add a require-effective-target
+       statement for ppc_ieee128_ok.
+
+2020-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93374
+       * gcc.dg/analyzer/torture/pr93374.c: New test.
+
+2020-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93669
+       * gcc.dg/analyzer/pr93669.c: New test.
+
+2020-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93649
+       * gcc.dg/analyzer/torture/pr93649.c: New test.
+
+2020-02-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr70010-2.c: Add -maltivec.
+       * gcc.target/powerpc/pr70010-3.c: Add -maltivec.
+
+2020-02-11  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * gcc.target/arm/simd/vdot-2-1.c: New test.
+       * gcc.target/arm/simd/vdot-2-2.c: New test.
+       * gcc.target/arm/simd/vdot-2-3.c: New test.
+       * gcc.target/arm/simd/vdot-2-4.c: New test.
+
+2020-02-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93661
+       PR tree-optimization/93662
+       * gcc.dg/pr93661.c: New testcase.
+
+2020-02-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/69448
+       PR c++/80471
+       * g++.dg/concepts/abbrev3.C: New test.
+       * g++.dg/cpp2a/concepts-pr80471.C: Adjust a static_assert to expect the
+       correct behavior.
+       * g++.dg/cpp0x/auto9.C: Adjust a dg-error directive.
+
+       * g++.dg/cpp2a/concepts6.C: New test.
+
+2020-02-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93350
+       * gcc.dg/analyzer/torture/pr93350.c: New test.
+
+2020-02-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93647
+       * gcc.dg/analyzer/torture/pr93647.c: New test.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93637
+       * gcc.target/i386/avx-pr93637.c: New test.
+
+2020-02-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93405
+       * gfortran.dg/analyzer/pr93405.f90: New test.
+
+2020-02-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * gfortran.dg/analyzer/analyzer.exp: New subdirectory and .exp
+       suite.
+       * gfortran.dg/analyzer/malloc-example.f90: New test.
+       * gfortran.dg/analyzer/malloc.f90: New test.
+
+2020-02-10  Martin Sebor  <msebor@redhat.com>
+
+       PR c/93640
+       * gcc.dg/attr-access.c: New test.
+
+2020-02-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/cris.exp (check_effective_target_cc0): New.
+
+       PR target/93372
+       * gcc.target/cris/pr93372-1.c, gcc.target/cris/pr93372-2.c,
+       gcc.target/cris/pr93372-5.c, gcc.target/cris/pr93372-8.c,
+       gcc.target/cris/pr93372-3.c, gcc.target/cris/pr93372-4.c,
+       gcc.target/cris/pr93372-6.c, gcc.target/cris/pr93372-7.c,
+       gcc.target/cris/pr93372-9.c, gcc.target/cris/pr93372-10.c,
+       gcc.target/cris/pr93372-11.c, gcc.target/cris/pr93372-12.c,
+       gcc.target/cris/pr93372-13.c, gcc.target/cris/pr93372-14.c,
+       gcc.target/cris/pr93372-15.c, gcc.target/cris/pr93372-16.c,
+       gcc.target/cris/pr93372-17.c, gcc.target/cris/pr93372-18.c,
+       gcc.target/cris/pr93372-19.c, gcc.target/cris/pr93372-20.c,
+       gcc.target/cris/pr93372-21.c, gcc.target/cris/pr93372-22.c,
+       gcc.target/cris/pr93372-23.c, gcc.target/cris/pr93372-24.c,
+       gcc.target/cris/pr93372-25.c, gcc.target/cris/pr93372-26.c,
+       gcc.target/cris/pr93372-27.c, gcc.target/cris/pr93372-28.c,
+       gcc.target/cris/pr93372-29.c, gcc.target/cris/pr93372-30.c,
+       gcc.target/cris/pr93372-31.c, gcc.target/cris/pr93372-32.c,
+       gcc.target/cris/pr93372-33.c, gcc.target/cris/pr93372-34.c,
+       gcc.target/cris/pr93372-35.c, gcc.target/cris/dbr-1.c: New tests.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91913
+       * gfortran.dg/pr91913.f90: New test.
+
+2020-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libgcc/85334
+       * g++.target/i386/pr85334-1.C: New test.
+       * g++.target/i386/pr85334-2.C: Likewise.
+
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/93641
+       * gcc.dg/format/gcc_diag-11.c (test_cdiag_bad_words): Add two further
+       tests.
+
+2020-02-10  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93203
+       * g++.dg/ipa/pr93203.C: New test.
+       * gcc.dg/ipa/ipcp-1: Change dump string.
+
+2020-02-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr91333.c (dg-do): Fix target selector.
+
+2020-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93633
+       * g++.dg/cpp2a/constexpr-new11.C: New test.
+       * g++.dg/cpp2a/constexpr-new12.C: New test.
+       * g++.dg/cpp2a/constexpr-new13.C: New test.
+
+2020-02-08  Andrew Pinski  <apinski@marvel.com>
+
+       PR target/91927
+       * gcc.target/aarch64/pr91927.c: New testcase.
+
+2020-02-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/93136
+       * gcc.dg/vmx/ops.c: Add -flax-vector-conversions to dg-options.
+       * gcc.target/powerpc/vsx-vector-6.h: Split tests into smaller functions.
+       * gcc.target/powerpc/vsx-vector-6.p7.c: Adjust scan-assembler-times
+       regex directives.  Adjust expected instruction counts.
+       * gcc.target/powerpc/vsx-vector-6.p8.c: Likewise.
+       * gcc.target/powerpc/vsx-vector-6.p9.c: Likewise.
+
+2020-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93549
+       * g++.dg/ext/constexpr-pr93549.C: New test.
+
+2020-02-08  Uroš Bizjak  <ubizjak@gmail.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/65782
+       * gcc.target/i386/pr65782.c: New test.
+
+2020-02-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92947 - Paren init of aggregates in unevaluated context.
+       * g++.dg/cpp2a/paren-init21.C: New test.
+
+2020-02-07  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * testsuite/gcc.target/powerpc/pr92923-1.c: Add -mvsx.
+
+2020-02-07  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/aarch64/simd/vmmla.c: New test.
+
+2020-02-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93519
+       * gcc.dg/Wrestrict-21.c: New testcase.
+
+2020-02-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/85667
+       * gcc.target/i386/pr85667-10.c: New test.
+       * gcc.target/i386/pr85667-7.c: Likewise.
+       * gcc.target/i386/pr85667-8.c: Likewise.
+       * gcc.target/i386/pr85667-9.c: Likewise.
+
+2020-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93122
+       * gcc.target/powerpc/pr93122.c: New test.
+
+2020-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/89404
+       * g++.dg/ext/vla21.C: New.
+
+2020-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93615
+       * gcc.dg/pr93615.c: New test.
+
+       PR target/93611
+       * gcc.target/i386/pr93611.c: New test.
+
+2020-02-06  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93375
+       * gcc.dg/analyzer/pr93375.c: Rework test case to avoid per-target
+       differences in how __builtin_memcpy has been optimized at the time
+       the analyzer runs.
+
+2020-02-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/torture/intptr_t.c: New test.
+
+2020-02-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/pr93012.c: New.
+
+2020-02-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/87763
+       * gcc.target/aarch64/movk_2.c: New test.
+
+2020-02-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/memcpy-strategy-1.c (dg-final):
+       Unify scan-assembler strings for all targets.
+       * gcc.target/i386/memcpy-strategy-2.c (dg-final): Ditto.
+       * gcc.target/i386/memcpy-strategy-3.c (dg-final): Ditto.
+       * gcc.target/i386/memcpy-vector_loop-1.c (dg-final): Ditto.
+
+2020-02-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93597 - ICE with lambda in operator function.
+       * g++.dg/cpp0x/lambda/lambda-93597.C: New test.
+
+2020-02-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gcc.target/arm/multilib.exp (multilib_config): Pass flags to
+       …_target_compile as (additional_flags=) option and not as source
+       filename to make it work with remote execution.
+       * lib/target-supports.exp (check_runtime, check_gc_sections_available,
+       check_effective_target_gas, check_effective_target_gld): Likewise.
+
+2020-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93594
+       * gcc.target/i386/avx2-pr93594.c: New test.
+
+2020-02-05  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/92765
+       * g++.dg/tree-ssa/strlenopt-1.C: New test.
+       * g++.dg/tree-ssa/strlenopt-2.C: New test.
+       * gcc.dg/Warray-bounds-58.c: New test.
+       * gcc.dg/Wrestrict-20.c: Avoid a valid -Wformat-overflow.
+       * gcc.dg/Wstring-compare.c: Xfail a test.
+       * gcc.dg/strcmpopt_2.c: Disable tests.
+       * gcc.dg/strcmpopt_4.c: Adjust tests.
+       * gcc.dg/strcmpopt_10.c: New test.
+       * gcc.dg/strcmpopt_11.c: New test.
+       * gcc.dg/strlenopt-69.c: Disable tests.
+       * gcc.dg/strlenopt-92.c: New test.
+       * gcc.dg/strlenopt-93.c: New test.
+       * gcc.dg/strlenopt.h: Declare calloc.
+       * gcc.dg/tree-ssa/pr92056.c: Xfail tests until pr93518 is resolved.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Correct test (pr93517).
+
+2020-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93559 - ICE with CONSTRUCTOR flags verification.
+       * g++.dg/cpp0x/initlist119.C: New test.
+       * g++.dg/cpp0x/initlist120.C: New test.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93557
+       * c-c++-common/Wunused-var-17.c: New test.
+
+2020-02-05  Jeff Law  <law@redhat.com>
+
+       * gcc.target/hppa/shadd-3.c: Disable delay slot filling and
+       adjust expected shadd insn count appropriately.
+
+2020-02-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-1.c: Update for changed output to
+       __analyzer_dump_exploded_nodes, dropping redundant call at merger.
+       * gcc.dg/analyzer/data-model-7.c: Likewise.
+       * gcc.dg/analyzer/loop-2.c: Update for changed output format.
+       * gcc.dg/analyzer/loop-2a.c: Likewise.
+       * gcc.dg/analyzer/loop-4.c: Likewise.
+       * gcc.dg/analyzer/loop.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-10.c: Likewise; drop redundant
+       call at merger.
+       * gcc.dg/analyzer/malloc-vs-local-1a.c: Likewise.
+       * gcc.dg/analyzer/malloc-vs-local-1b.c: Likewise.
+       * gcc.dg/analyzer/malloc-vs-local-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-vs-local-3.c: Likewise.
+       * gcc.dg/analyzer/paths-1.c: Likewise.
+       * gcc.dg/analyzer/paths-1a.c: Likewise.
+       * gcc.dg/analyzer/paths-2.c: Likewise.
+       * gcc.dg/analyzer/paths-3.c: Likewise.
+       * gcc.dg/analyzer/paths-4.c: Update for changed output format.
+       * gcc.dg/analyzer/paths-5.c: Likewise.
+       * gcc.dg/analyzer/paths-6.c: Likewise; drop redundant calls
+       at merger.
+       * gcc.dg/analyzer/paths-7.c: Likewise.
+       * gcc.dg/analyzer/torture/conditionals-2.c: Update for changed
+       output format.
+       * gcc.dg/analyzer/zlib-1.c: Likewise; drop redundant calls.
+       * gcc.dg/analyzer/zlib-5.c: Update for changed output format.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/92190
+       * gcc.target/i386/pr92190.c: New test.
+
+2020-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/92177
+       * gcc.dg/vect/bb-slp-22.c: Adjust.
+
+2020-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90648
+       * gcc.dg/pr90648.c: New testcase.
+
+2020-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93555
+       * c-c++-common/gomp/pr93555-1.c: New test.
+       * c-c++-common/gomp/pr93555-2.c: New test.
+       * gfortran.dg/gomp/pr93555.f90: New test.
+
+2020-02-05  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-await-14-return-ref-to-auto.C: New test.
+
+2020-02-04  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-1.c (struct coord): Convert fields
+       from int to long.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93538
+       * gcc.dg/tree-ssa/forwprop-38.c: New testcase.
+
+2020-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/cpp/has-include-1.c: New test.
+       * c-c++-common/cpp/has-include-next-1.c: New test.
+       * c-c++-common/gomp/has-include-1.c: New test.
+
+       PR preprocessor/93545
+       * c-c++-common/cpp/pr88974.c: Expect another diagnostics during error
+       recovery.
+       * c-c++-common/cpp/pr93545-1.c: New test.
+       * c-c++-common/cpp/pr93545-2.c: New test.
+       * c-c++-common/cpp/pr93545-3.c: New test.
+       * c-c++-common/cpp/pr93545-4.c: New test.
+
+2020-02-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/coro-missing-promise.C: New test.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/91123
+       * gcc.dg/tree-ssa/ssa-fre-85.c: New testcase.
+
+2020-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92819
+       * gcc.target/i386/pr92819.c: New testcase.
+       * gcc.target/i386/pr92803.c: Adjust.
+
+2020-02-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/93458
+       * g++.dg/coroutines/pr93458-1-missing-traits.C: New test.
+       * g++.dg/coroutines/pr93458-2-bad-traits.C: New test.
+       * g++.dg/coroutines/pr93458-3-missing-handle.C: New test.
+       * g++.dg/coroutines/pr93458-4-bad-coro-handle.C: New test.
+       * g++.dg/coroutines/pr93458-5-bad-coro-type.C: New test.
+
+2020-02-03  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93544
+       * gcc.dg/analyzer/torture/pr93544.c: New test.
+
+2020-02-03  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93546
+       * gcc.dg/analyzer/pr93546.c: New test.
+
+2020-02-03  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93547
+       * gcc.dg/analyzer/pr93547.c: New test.
+
+2020-02-03  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR target/91816
+       * gcc.target/arm/pr91816.c: New test.
+
+2020-02-03  Julian Brown  <julian@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/cpp/openacc-define-3.c: Update expected value for
+       _OPENACC define.
+       * gfortran.dg/openacc-define-3.f90: Likewise.
+
+2020-02-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93427
+       * gfortran.dg/associate_52.f90: New.
+
+2020-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93533
+       * gcc.c-torture/compile/pr93533.c: New test.
+       * gcc.target/s390/pr93533.c: New test.
+
+2020-02-03  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-await-04-control-flow.C: Add label.
+
+2020-02-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93530 - ICE on invalid alignas in a template.
+       * g++.dg/cpp0x/alignas18.C: New test.
+
+2020-02-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/powerpc/darwin-abi-12.c: Add '-fcommon' to the
+       options.
+
+2020-02-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/91333
+       * gcc.target/i386/pr91333.c: Add vmovsd to regexp.  Set up count
+       to 3.
+
+2020-01-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+       nios2: Support for GOT-relative DW_EH_PE_datarel encoding.
+
+       * g++.target/nios2/hello-pie.C: New.
+       * g++.target/nios2/nios2.exp: New.
+
+2020-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93457
+       * gcc.dg/analyzer/pr93457.c: New test.
+
+2020-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93373
+       * gcc.dg/analyzer/torture/pr93373.c: New test.
+
+2020-01-31  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/91333
+       * gcc.target/i386/pr91333.c: New.
+
+2020-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93379
+       * gcc.dg/analyzer/torture/pr93379-2.c: New test.
+       * gcc.dg/analyzer/torture/pr93379.c: New test.
+
+2020-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93438
+       * gcc.dg/analyzer/torture/pr93438.c: New test.
+       * gcc.dg/analyzer/torture/pr93438-2.c: New test.
+
+2020-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/91838
+       * g++.dg/pr91838.C: Moved to ...
+       * g++.dg/opt/pr91838.C: ... here.  Require c++11 target instead of
+       dg-skip-if for c++98.  Pass -Wno-psabi -w to avoid psabi style
+       warnings on vector arg passing or return.  Add -masm=att on i?86/x86_64.
+       Only check for pxor %xmm0, %xmm0 on lp64 i?86/x86_64.
+
+2020-01-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_aarch64_asm_bf16_ok):
+       New proc.
+       * gcc.target/aarch64/sve/acle/asm/bfdot_f32.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/bfdot_lane_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/bfmlalb_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/bfmlalb_lane_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/bfmlalt_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/bfmlalt_lane_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/cvt_bf16.c: Likweise.
+       * gcc.target/aarch64/sve/acle/asm/cvtnt_bf16.c: Likweise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_1.c: Likweise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_lane_1.c:
+       Likweise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_lanex2_1.c:
+       Likweise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_opt_n_1.c:
+       Likweise.
+
+2020-01-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Test mangling
+       of svbfloat16_t.
+       * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise for
+       __SVBfloat16_t.
+       * gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/cnt_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/create2_1.c (create_bf16): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/create3_1.c (create_bf16): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/create4_1.c (create_bf16): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/dup_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/dup_lane_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/dupq_lane_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ext_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/get2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/get3_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/get4_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/insr_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/lasta_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/lastb_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/len_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c
+       (reinterpret_f16_bf16_tied1, reinterpret_f16_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c
+       (reinterpret_f32_bf16_tied1, reinterpret_f32_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c
+       (reinterpret_f64_bf16_tied1, reinterpret_f64_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c
+       (reinterpret_s16_bf16_tied1, reinterpret_s16_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c
+       (reinterpret_s32_bf16_tied1, reinterpret_s32_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c
+       (reinterpret_s64_bf16_tied1, reinterpret_s64_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c
+       (reinterpret_s8_bf16_tied1, reinterpret_s8_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c
+       (reinterpret_u16_bf16_tied1, reinterpret_u16_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c
+       (reinterpret_u32_bf16_tied1, reinterpret_u32_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c
+       (reinterpret_u64_bf16_tied1, reinterpret_u64_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c
+       (reinterpret_u8_bf16_tied1, reinterpret_u8_bf16_untied): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/rev_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/sel_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/set2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/set3_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/set4_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/splice_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/tbl_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/undef2_1.c (bfloat16_t): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/undef3_1.c (bfloat16_t): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/undef4_1.c (bfloat16_t): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/undef_1.c (bfloat16_t): Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_1.c (ret_bf16, ret_bf16x2)
+       (ret_bf16x3, ret_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_2.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_3.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_4.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_5.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_6.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/annotate_7.c (fn_bf16, fn_bf16x2)
+       (fn_bf16x3, fn_bf16x4): Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_bf16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c (bfloat16x16_t): New
+       typedef.
+       (bfloat16_callee, bfloat16_caller): New tests.
+       * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c (bfloat16x16_t): New
+       typedef.
+       (bfloat16_callee, bfloat16_caller): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4_128.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4_256.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4_512.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4_1024.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_4_2048.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5_128.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5_256.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5_512.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5_1024.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_5_2048.c (CALLER_BF16): New macro.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6_128.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6_256.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6_512.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6_1024.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_6_2048.c (bfloat16_t): New typedef.
+       (callee_bf16, caller_bf16): New tests.
+       * gcc.target/aarch64/sve/pcs/return_7.c (callee_bf16): Likewise
+       (caller_bf16): Likewise.
+       * gcc.target/aarch64/sve/pcs/return_8.c (callee_bf16): Likewise
+       (caller_bf16): Likewise.
+       * gcc.target/aarch64/sve/pcs/return_9.c (callee_bf16): Likewise
+       (caller_bf16): Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/tbl2_bf16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/tbx_bf16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_bf16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_bf16.c: Likewise.
+
+2020-01-31  Dennis Zhang  <dennis.zhang@arm.com>
+           Matthew Malcomson  <matthew.malcomson@arm.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_aarch64_asm_i8mm_ok)
+       (check_effective_target_aarch64_asm_f32mm_ok): New target selectors.
+       * gcc.target/aarch64/pragma_cpp_predefs_2.c: Test handling of
+       __ARM_FEATURE_SVE_MATMUL_INT8, __ARM_FEATURE_SVE_MATMUL_FP32 and
+       __ARM_FEATURE_SVE_MATMUL_FP64.
+       * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_TRIPLE_Z):
+       (TEST_TRIPLE_Z_REV2, TEST_TRIPLE_Z_REV, TEST_TRIPLE_LANE_REG)
+       (TEST_TRIPLE_ZX): New macros.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Remove +sve and
+       rely on +f64mm to enable it.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mmla_f32.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/mmla_f64.c: Likewise,
+       * gcc.target/aarch64/sve/acle/asm/mmla_s32.c: Likewise,
+       * gcc.target/aarch64/sve/acle/asm/mmla_u32.c: Likewise,
+       * gcc.target/aarch64/sve/acle/asm/sudot_lane_s32.c: Likewise,
+       * gcc.target/aarch64/sve/acle/asm/sudot_s32.c: Likewise,
+       * gcc.target/aarch64/sve/acle/asm/trn1q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn1q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/trn2q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/usdot_lane_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/usdot_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/usmmla_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip1q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/zip2q_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_1.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_2.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_3.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_4.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_5.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_6.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/mmla_7.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_intq_uintq_lane_1.c:
+       Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_intq_uintq_opt_n_1.c:
+       Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_1.c:
+       Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_lane_1.c:
+       Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_opt_n_1.c:
+       Likewise.
+
+2020-01-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/pcs/args_1.c: Require lp64 for
+       check-function-bodies tests.
+       * gcc.target/aarch64/sve/pcs/args_2.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_4.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_2.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_256.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_512.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_1024.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_2048.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_3.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Require lp64.
+       * gcc.target/aarch64/sve/pcs/args_5_be_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_be_u8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_f16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_5_le_u8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_f16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_be_u8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_f16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_f32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_f64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_s16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_s32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_s64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_s8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_u16.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_u32.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_u64.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_6_le_u8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_7.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_8.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/args_9.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_4_128.c: Require lp64 and
+       aarch64_little_endian for check-function-bodies tests.
+       * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_1_128.c: Likewise.  Remove
+       target selector from dg-compile.
+       * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise.
+
+2020-01-31  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93462
+       * gfortran.dg/goacc/atomic-1.f90: New.
+
+2020-01-31  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/91838
+       * g++.dg/pr91838.C: New test.
+
+2020-01-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/malloc-1.c: Remove include of <string.h>.
+       Use __builtin_ forms of memset and strlen throughout.
+
+2020-01-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/conditionals-2.c: Move to...
+       * gcc.dg/analyzer/torture/conditionals-2.c: ...here, converting
+       to a torture test.  Remove redundant include.
+
+2020-01-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93356
+       * gcc.dg/analyzer/conditionals-notrans.c (test_float_selfcmp):
+       Add.
+       * gcc.dg/analyzer/conditionals-trans.c: Mark floating point
+       comparison test as failing.
+       (test_float_selfcmp): Add.
+       * gcc.dg/analyzer/data-model-1.c: Mark floating point comparison
+       tests as failing.
+       * gcc.dg/analyzer/torture/pr93356.c: New test.
+
+2020-01-30  Jeff Law  <law@redhat.com>
+
+       PR c/88660
+       * gcc.dg/pr88660.c: New test
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/93384
+       * gcc.dg/lto/pr93384_0.c: New test.
+       * gcc.dg/lto/pr93384_1.c: New file.
+
+       PR middle-end/93505
+       * gcc.c-torture/compile/pr93505.c: New test.
+
+2020-01-30  Jeff Law  <law@redhat.com
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Make existing dg-final scan
+       conditional on !c6x.  Add dg-final scan pattern for c6x.
+
+2020-01-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92323
+       * gcc.dg/Warray-bounds-57.c: New test.
+
+2020-01-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93450
+       * gcc.dg/analyzer/torture/pr93450.c: New test.
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93494
+       * gcc.c-torture/execute/pr93494.c: New test.
+
+2020-01-30  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/90338
+       * g++.dg/pr90338.C: New.
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91824
+       * gcc.target/i386/pr91824-2.c: New test.
+
+       PR target/91824
+       * gcc.target/i386/pr91824-1.c: New test.
+
+2020-01-30  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-await-syntax-09-convert.C: New test.
+
+2020-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/92706
+       * gcc.dg/tree-ssa/pr92706-1.c: Require int128 effective target.
+
+2020-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/88092
+       * g++.dg/cpp2a/nontype-class31.C: New test.
+
+2020-01-29  Jeff Law  <law@redhat.com
+
+       PR tree-optimization/89689
+       * gcc.dg/pr89689.c: New test.
+
+2020-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91754 - Fix template arguments comparison with class NTTP.
+       * g++.dg/cpp2a/nontype-class30.C: New test.
+
+2020-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92948 - Fix class NTTP with template arguments.
+       * g++.dg/cpp2a/nontype-class28.C: New test.
+       * g++.dg/cpp2a/nontype-class29.C: New test.
+
+2020-01-29  Joel Hutton  <Joel.Hutton@arm.com>
+
+       PR target/93221
+       * gcc.target/aarch64/pr93221.c: New test.
+
+2020-01-29  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/92706
+       * gcc.dg/tree-ssa/pr92706-1.c: New test.
+
+2020-01-29  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/92706
+       * gcc.dg/tree-ssa/pr92706-2.c: New test.
+       * gcc.dg/guality/pr59776.c: Xfail tests for s2.g.
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-prof/indir-call-prof-2.c: New testcase.
+
+2020-01-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/93393
+       * gcc.dg/torture/pr93133.c: XFAIL for powerpc*-*-*.
+
+2020-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91118
+       * g++.dg/gomp/pr91118-1.C: New test.
+       * g++.dg/gomp/pr91118-2.C: New test.
+
+       PR fortran/93463
+       * gfortran.dg/goacc/pr93463.f90: New test.
+
+2020-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93428
+       * gcc.dg/torture/pr93428.c: New testcase.
+
+2020-01-28  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93437
+       * g++.dg/warn/Wstringop-overflow-5.C: New test.a
+
+2020-01-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/tree-prof/indir-call-prof.C: Update template.
+       * gcc.dg/tree-prof/crossmodule-indircall-1.c: Add more targets.
+       * gcc.dg/tree-prof/crossmodule-indircall-1a.c: Add more targets.
+       * gcc.dg/tree-prof/indir-call-prof.c: Update template.
+
+2020-01-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/91461
+       * gcc.target/i386/avx256-unaligned-store-2.c: Don't check
+       vmovups.
+       * gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-4.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-5.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-6.c: Likewise.
+       * gcc.target/i386/pieces-strcpy-2.c: Likewise.
+       * gcc.target/i386/pr90980-1.c: Likewise.
+       * gcc.target/i386/pr87317-4.c: Check "\tvmovd\t" instead of
+       "vmovd" to avoid matching "vmovdqu".
+       * gcc.target/i386/pr87317-5.c: Likewise.
+       * gcc.target/i386/pr87317-7.c: Likewise.
+       * gcc.target/i386/pr91461-1.c: New test.
+       * gcc.target/i386/pr91461-2.c: Likewise.
+       * gcc.target/i386/pr91461-3.c: Likewise.
+       * gcc.target/i386/pr91461-4.c: Likewise.
+       * gcc.target/i386/pr91461-5.c: Likewise.
+
+2020-01-28  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: Update for
+       renaming of warning_at overload to warning_meta.
+       * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise.
+
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/mapping-tests-2.f90: New test.
+       * gfortran.dg/goacc/subarrays.f95: Expect rejection of non-contiguous
+       array.
+
+2020-01-28  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/deep-copy-2.f90: Move test here (from libgomp
+       testsuite). Make a compilation test, and expect rejection of mixed
+       component/non-component accesses.
+       * gfortran.dg/goacc/mapping-tests-1.f90: New test.
+
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/strided-alloc-ptr.f90: New test.
+
+2020-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93439
+       * gfortran.dg/graphite/pr93439.f90: New testcase.
+
+2020-01-28  Sahahb Vahedi  <shahab@synopsys.com>
+
+       * gcc.target/arc/code-density-flag.c: New test
+
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93464
+       * gfortran.dg/goacc/pr93464.f90: New.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93434
+       * gcc.c-torture/execute/pr93434.c: New test.
+
+2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/93460
+       * gcc.dg/torture/pr93170.c: Add -Wpsabi.
+
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+       PR c++/92440
+       * g++.dg/template/pr92440.C: New test.
+       * g++.dg/cpp0x/vt-34314.C: Update error to note.
+       * g++.dg/template/pr59930-2.C: Likewise.
+       * g++.old-deja/g++.pt/redecl1.C: Likewise.
+
+2020-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93418
+       * gcc.target/i386/avx2-pr93418.c: New test.
+
+       PR tree-optimization/93454
+       * gcc.dg/pr93454.c: New test.
+
+2020-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93451
+       * gcc.dg/analyzer/torture/pr93451.c: New test.
+
+2020-01-27  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * gcc.target/arm/armv8_2-fp16-move-1.c: Update following load/store
+       optimisation.
+
+2020-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93349
+       * gcc.dg/analyzer/torture/pr93349.c: New test.
+
+2020-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93291
+       * gcc.dg/analyzer/pattern-test-2.c: Remove include of stdlib.h.
+       (test_2): Rewrite to explicitly perform a bitwise-or of two
+       boolean conditions.
+       (test_3): New function, to test bitwise-and.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/71727
+       * gcc.target/aarch64/pr71727.c: Add -fcommon.
+
+2020-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/sigsetjmp-5.c: New test.
+       * gcc.dg/analyzer/sigsetjmp-6.c: New test.
+
+2020-01-27  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/91171
+       * gcc.dg/graphite/scop-21.c: un-XFAIL.
+
+2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/interrupt-6.c: Update test.
+
+2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+           Petro Karashchenko  <petro.karashchenko@ring.com>
+
+       * gcc.target/arc/uncached-3.c: New test.
+       * gcc.target/arc/uncached-4.c: Likewise.
+       * gcc.target/arc/uncached-5.c: Likewise.
+       * gcc.target/arc/uncached-6.c: Likewise.
+       * gcc.target/arc/uncached-7.c: Likewise.
+       * gcc.target/arc/uncached-8.c: Likewise.
+       * gcc.target/arc/arc.exp (ll64): New predicate.
+
+2020-01-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/torture/pr93170.c: New test.
+
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       PR target/93274
+       * gcc.target/i386/pr81213.c: Adjust to not expect
+       a globally unique name.
+
+2020-01-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93397
+       * gcc.dg/torture/pr93397.c: New testcase.
+
+2020-01-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/85781
+       * gfortran.dg/bind_c_char_2.f90: New.
+       * gfortran.dg/bind_c_char_3.f90: New.
+       * gfortran.dg/bind_c_char_4.f90: New.
+       * gfortran.dg/bind_c_char_5.f90: New.
+
+2020-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/pr91298-1.c: xfail on Solaris/x86 with native
+       assembler.
+       * gcc.target/i386/pr91298-2.c: Likewise.
+
+2020-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93412
+       * gcc.dg/pr93412.c: New test.
+
+       PR target/93430
+       * gcc.dg/pr93430.c: New test.
+       * gcc.target/i386/avx2-pr93430.c: New test.
+
+       PR ipa/93166
+       * g++.dg/pr93166.C: Move to ...
+       * g++.dg/pr93166_0.C: ... here.  Turn it into a proper lto test.
+
+       PR tree-optimization/92788
+       * g++.dg/pr92788.C: Move to ...
+       * g++.target/i386/pr92788.C: ... here.  Remove target from dg-do line.
+       Change type of operator new's first parameter to __SIZE_TYPE__.
+
+2020-01-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93414 - poor diagnostic for dynamic_cast in constexpr context.
+       * g++.dg/cpp2a/constexpr-dynamic18.C: New test.
+
+2020-01-25  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93166
+       * g++.dg/pr93166.C: New test.
+
+2020-01-25  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.target/aarch64/vec_zeroextend.c: Fix for big-endian.
+
+2020-01-24  Jeff Law  <law@redhat.com
+
+       PR tree-optimization/92788
+       * g++.dg/pr92788.C: New test.
+
+2020-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93395
+       * gcc.target/i386/pr93395.c: New test.
+       * gcc.target/i386/avx512vl-vpermilpdi-1.c: Remove xfail.
+
+2020-01-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93299 - ICE in tsubst_copy with parenthesized expression.
+       * g++.dg/cpp1y/paren5.C: New test.
+
+2020-01-24  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * g++.dg/cpp0x/constexpr-odr1.C: Add -fdelete-null-pointer-checks.
+       * g++.dg/cpp0x/constexpr-odr2.C: Likewise.
+       * g++.dg/cpp0x/nontype4.C: Likewise.
+       * g++.dg/cpp1y/constexpr-new.C: Likewise.
+       * g++.dg/cpp1y/new1.C: Likewise.
+       * g++.dg/cpp1y/new2.C: Likewise.
+       * g++.dg/cpp2a/constexpr-dynamic11.C: Likewise.
+       * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise.
+       * g++.dg/cpp2a/constexpr-dynamic4.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new1.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new10.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new2.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new3.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new4.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new8.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new9.C: Likewise.
+       * g++.dg/cpp2a/nontype-class1.C: Likewise.
+
+2020-01-24  Jason Merrill  <jason@redhat.com>
+
+       * lib/target-supports.exp (check_effective_target_unsigned_char):
+       New.
+
+2020-01-24  Jeff Law  <law@redhat.com
+
+       PR target/13721
+       * gcc.target/h8300/pr13721.c: New test.
+
+2020-01-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR debug/92763
+       * g++.dg/debug/pr92763.C: Require fopenmp.
+
+2020-01-23  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93367
+       * gcc.dg/analyzer/abort.c: Remove include of <assert.h>.
+       Replace use of assert with a custom assertion implementation.
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/93027
+       * gcc.target/i386/pr93027.c: Require lp64 target rather x86_64-*-*.
+
+       PR rtl-optimization/93402
+       * gcc.c-torture/execute/pr93402.c: New test.
+
+2020-01-23  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/92804
+       * g++.dg/concepts/pr92804-1.C: New.
+       * g++.dg/concepts/pr92804-2.C: Likewise.
+
+2020-01-23  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93375
+       * gcc.dg/analyzer/pr93375.c: New test.
+
+2020-01-23  Jason Merrill  <jason@redhat.com>
+
+       * lib/target-supports.exp (check_effective_target_unsigned_char):
+       New.
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93376
+       * gcc.dg/pr93376.c: New test.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/93341
+       * gcc.target/aarch64/pr93341.c: New test.
+
+2020-01-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-3.c: Remove hardcoded "-O2" and move
+       to torture/conftest-1.c.
+       * gcc.dg/analyzer/torture/analyzer-torture.exp: New.
+       * gcc.dg/analyzer/torture/conftest-1.c: Move here from
+       analyzer/data-model-3.c.
+       * gcc.dg/analyzer/torture/poc.c: New test.
+
+2020-01-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93381
+       * gcc.dg/torture/pr93354.c: New testcase.
+
+2020-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93346
+       * gcc.target/i386/pr93346.c: New test.
+
+2020-01-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c/84919
+       * gcc.dg/Wrestrict-20.c: New test.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/whilele_1.C: Skip for ILP32.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/ld1_f16.c: Skip check-function-bodies
+       test for ILP32.
+       * gcc.target/aarch64/sve/acle/asm/ld1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1rq_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sb_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1sw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ub_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1uw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld2_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld3_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld4_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ldnt1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfb.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfb_gather.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfd_gather.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfh_gather.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfw_gather.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1b_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1h_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1w_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st1w_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st2_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st3_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/st4_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/stnt1_u8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general/temporaries_1.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_f16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_f32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_f64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_s16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_s8.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_u16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilerw_u8.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_f16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_f32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_f64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_s16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_s32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_s64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_s8.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_u16.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_u32.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_u64.c: Likewise.
+       * gcc.target/aarch64/sve2/acle/asm/whilewr_u8.c: Likewise.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/scanasm.exp (check-function-bodies): Add an optional
+       target/xfail selector.
+
+2020-01-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/torture/pr93124.c: New test.
+
+2020-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93382
+       * gcc.dg/analyzer/pr93382.c: New test.
+
+2020-01-22  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/pr88497-1.c: Move to ...
+       * gcc.dg/vect/pr88497-1.c: This.
+       * gcc.dg/tree-ssa/pr88497-2.c: Move to ...
+       * gcc.dg/vect/pr88497-2.c: This.
+       * gcc.dg/tree-ssa/pr88497-3.c: Move to ...
+       * gcc.dg/vect/pr88497-3.c: This.
+       * gcc.dg/tree-ssa/pr88497-4.c: Move to ...
+       * gcc.dg/vect/pr88497-4.c: This.
+       * gcc.dg/tree-ssa/pr88497-5.c: Move to ...
+       * gcc.dg/vect/pr88497-5.c: This.
+       * gcc.dg/tree-ssa/pr88497-6.c: Move to ...
+       * gcc.dg/vect/pr88497-6.c: This.
+       * gcc.dg/tree-ssa/pr88497-7.c: Move to ...
+       * gcc.dg/vect/pr88497-7.c: This.
+
+       Revert:
+       * tree-ssa.exp: Set DEFAULT_VECTCFLAGS and DEFAULT_VECTCFLAGS.
+       Call check_vect_support_and_set_flags also.
+
+2020-01-22  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa.exp: Set DEFAULT_VECTCFLAGS and DEFAULT_VECTCFLAGS.
+       Call check_vect_support_and_set_flags also.
+
+2020-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93378
+       * gcc.dg/analyzer/setjmp-pr93378.c: Use setjmp rather than
+       _setjmp.
+
+2020-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93378
+       * gcc.dg/analyzer/setjmp-pr93378.c: New test.
+
+2020-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93316
+       * gcc.dg/analyzer/data-model-1.c: Include <alloca.h>.
+       * gcc.dg/analyzer/malloc-1.c: Likewise.
+       * gcc.dg/analyzer/malloc-callbacks.c (get_alloca): Return
+       __builtin_alloca rather than alloca.
+       * gcc.dg/analyzer/malloc-paths-8.c: Include <alloca.h>.
+       * gcc.dg/analyzer/sensitive-1.c: Define __EXTENSIONS__ before
+       including unistd.h.
+       * gcc.dg/analyzer/setjmp-2.c: Replace include of <setjmp.h>
+       with "test-setjmp.h" and usage of setjmp with new SETJMP macro.
+       * gcc.dg/analyzer/setjmp-3.c: Likewise.
+       * gcc.dg/analyzer/setjmp-4.c: Likewise.
+       * gcc.dg/analyzer/setjmp-5.c: Likewise.
+       * gcc.dg/analyzer/setjmp-6.c: Likewise.
+       * gcc.dg/analyzer/setjmp-7.c: Likewise.
+       * gcc.dg/analyzer/setjmp-7a.c: Likewise.
+       * gcc.dg/analyzer/setjmp-8.c: Likewise.
+       * gcc.dg/analyzer/setjmp-9.c: Likewise.
+       * gcc.dg/analyzer/test-setjmp.h: New header.
+
+2020-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/92907 - noexcept does not consider "const" in member functions.
+       * parser.c (cp_parser_lambda_declarator_opt): Pass the proper
+       qualifiers to cp_parser_exception_specification_opt.
+       (cp_parser_direct_declarator): Pass the function qualifiers to
+       cp_parser_exception_specification_opt.
+       (cp_parser_class_specifier_1): Pass the function declaration to
+       cp_parser_late_noexcept_specifier.
+       (cp_parser_late_noexcept_specifier): Add a tree parameter.  Use it to
+       pass the qualifiers of the function to
+       cp_parser_noexcept_specification_opt.
+       (cp_parser_noexcept_specification_opt): New cp_cv_quals parameter.
+       Use it in inject_this_parameter.
+       (cp_parser_exception_specification_opt): New cp_cv_quals parameter.
+       Use it.
+       (cp_parser_transaction): Pass TYPE_UNQUALIFIED to
+       cp_parser_noexcept_specification_opt.
+       (cp_parser_transaction_expression): Likewise.
+
+2020-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93324 - ICE with -Wall on constexpr if.
+       * g++.dg/cpp1z/constexpr-if33.C: New test.
+
+2020-01-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/stack_vars_1.c: New test.
+
+2020-01-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/tls_preserve_1.c: Require tls_native.
+       * gcc.target/aarch64/sve/tls_preserve_2.c: Likewise.
+       * gcc.target/aarch64/sve/tls_preserve_3.c: Likewise.
+
+2020-01-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/sel_3.c (permute_vnx4sf): Take __SVFloat32_t
+       rather than __SVFloat16_t
+
+2020-01-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.dg/ext/sve-sizeless-1.C: Don't expect an error for alias
+       templates.
+
+2020-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93381
+       * gcc.dg/torture/pr93381.c: New testcase.
+
+2020-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93335
+       * gcc.c-torture/compile/pr93335.c: New test.
+
+       PR target/91298
+       * gcc.target/i386/pr91298-1.c: New test.
+       * gcc.target/i386/pr91298-2.c: New test.
+
+       * gfortran.dg/gomp/target-parallel1.f90: New test.
+       * gfortran.dg/goacc/pr93329.f90: Enable commented out target parallel
+       test.
+
+       PR fortran/93329
+       * gfortran.dg/goacc/pr93329.f90: New test.
+
+2020-01-22  Jun Ma  <JunMa@linux.alibaba.com>
+
+       * g++.dg/coroutines/coro1-missing-await-method.C: New test.
+
+2020-01-21  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/93119
+       * gcc.target/aarch64/pr93119.c: New test.
+
+2020-01-22  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/93348
+       * gcc.c-torture/compile/pr93348-1.c: New test.
+
+2020-01-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93352
+       * gcc.dg/analyzer/pr93352.c: New test.
+
+2020-01-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/asm-v8.S, gcc.target/cris/inasm-v8.c,
+       gcc.target/cris/sync-1.c: Apply effective_target_march_option.
+
+2020-01-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/93319
+       * gcc.target/i386/pr93319-1a.c: Don't include <stdio.h>.
+       (test1): Replace printf with __builtin_printf.
+
+2020-01-21  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-await-void_type.C: New test.
+
+2020-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93333
+       * gcc.c-torture/compile/pr93333.c: New test.
+
+2020-01-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Generalize
+       line terminators in patterns.
+
+2020-01-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general-c/load_1.c (f1): Cast to
+       int32_t * rather than int *.
+       * gcc.target/aarch64/sve/acle/general-c/load_2.c (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_1.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_2.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_1.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/load_replicate_1.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/store_1.c (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/store_2.c (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_1.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_2.c
+       (f1): Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_restricted_1.c
+       (f1): Likewise.
+
+2020-01-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/92424
+       * gcc.target/aarch64/pr92424-1.c: New test.
+       * gcc.target/aarch64/pr92424-2.c: New test.
+       * gcc.target/aarch64/pr92424-3.c: New test.
+
+2020-01-21  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use require
+       directive.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise.
+       * lib/target-supports.exp: Add assembly requirement directive.
+
+2020-01-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93309
+       * gfortran.dg/external_implicit_none_2.f90: New.
+
+2020-01-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92328
+       * gcc.dg/torture/pr92328.c: New testcase.
+
+2020-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93073
+       * gcc.target/powerpc/pr93073.c: New test.
+
+2020-01-20  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * g++.dg/coroutines/co-return-warning-1.C: New test.
+
+2020-01-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/93304
+       * gcc.target/riscv/pr93304.c: New test.
+
+2020-01-20  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/92829
+       * g++.dg/warn/Wstringop-overflow-4.C: Adjust test to avoid failures
+       due to an aparrent VRP limtation.
+       * gcc.dg/Wstringop-overflow-25.c: Same.
+
+2020-01-20  Nathan Sidwell  <nathan@acm.org>
+
+       PR preprocessor/80005
+       * g++.dg/cpp1y/feat-cxx14.C: Adjust.
+       * g++.dg/cpp1z/feat-cxx17.C: Adjust.
+       * g++.dg/cpp2a/feat-cxx2a.C: Adjust.
+       * g++.dg/cpp/pr80005.C: New.
+
+2020-01-20  Mark Eggleston  <mark.eggleston@codethink.com>
+
+       * gfortran.dg/pr93263_1.f90: Change scan-tree-dump-not to
+       scan-tree-dump.
+
+2020-01-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/93319
+       * gcc.target/i386/pr93319-1a.c: New test.
+       * gcc.target/i386/pr93319-1b.c: Likewise.
+       * gcc.target/i386/pr93319-1c.c: Likewise.
+       * gcc.target/i386/pr93319-1d.c: Likewise.
+
+2020-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR debug/92763
+       * g++.dg/debug/pr92763.C: New testcase.
+
+2020-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/92536
+       * g++.dg/cpp1z/pr92536.C: New.
+
+2020-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93094
+       * gcc.dg/vect/pr93094.c: New testcase.
+
+2020-01-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Ensure that all
+       test names are unique.
+       * gcc.dg/analyzer/attribute-nonnull.c: Likewise.
+       * gcc.dg/analyzer/conditionals-notrans.c: Likewise.
+       * gcc.dg/analyzer/data-model-1.c: Likewise.
+       * gcc.dg/analyzer/data-model-18.c: Likewise.
+       * gcc.dg/analyzer/data-model-8.c: Likewise.
+       * gcc.dg/analyzer/data-model-9.c: Likewise.
+       * gcc.dg/analyzer/file-1.c: Likewise.
+       * gcc.dg/analyzer/file-paths-1.c: Likewise.
+       * gcc.dg/analyzer/loop-2.c: Likewise.
+       * gcc.dg/analyzer/loop-2a.c: Likewise.
+       * gcc.dg/analyzer/loop-4.c: Likewise.
+       * gcc.dg/analyzer/loop.c: Likewise.
+       * gcc.dg/analyzer/malloc-1.c: Likewise.
+       * gcc.dg/analyzer/malloc-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-ipa-10.c: Likewise.
+       * gcc.dg/analyzer/malloc-ipa-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-macro-separate-events.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-1.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-3.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-4.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-5.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-7.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-9.c: Likewise.
+       * gcc.dg/analyzer/operations.c: Likewise.
+       * gcc.dg/analyzer/params.c: Likewise.
+       * gcc.dg/analyzer/pattern-test-1.c: Likewise.
+       * gcc.dg/analyzer/pattern-test-2.c: Likewise.
+       * gcc.dg/analyzer/sensitive-1.c: Likewise.
+       * gcc.dg/analyzer/switch.c: Likewise.
+       * gcc.dg/analyzer/taint-1.c: Likewise.
+       * gcc.dg/analyzer/unknown-fns.c: Likewise.
+
+2020-01-19  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.dg/torture/pr26515.c (cris*-*-*): Conditionalize
+       -march=v10 option on target ! march_option.
+       * gcc.target/cris/asm-v10.S, gcc.target/cris/inasm-v10.c,
+       gcc.target/cris/sync-1-v10.c: Similar.
+       * lib/target-supports.exp (effective_target_march_option): New.
+
+2020-01-19  Thomas König  <tkoenig@gcc.gnu.org>
+
+       PR fortran/44960
+       * gfortran.dg/function_reference_1.f90: New test.
+       * gfortran.dg/function_reference_2.f90: New test.
+
+2020-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/92833
+       * c-c++-common/pr92833-4.c: Fix dg-message syntax.
+
+2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/co-await-syntax-00-needs-expr.C: New test.
+       * g++.dg/coroutines/co-await-syntax-01-outside-fn.C: New test.
+       * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: New test.
+       * g++.dg/coroutines/co-await-syntax-03-auto.C: New test.
+       * g++.dg/coroutines/co-await-syntax-04-ctor-dtor.C: New test.
+       * g++.dg/coroutines/co-await-syntax-05-constexpr.C: New test.
+       * g++.dg/coroutines/co-await-syntax-06-main.C: New test.
+       * g++.dg/coroutines/co-await-syntax-07-varargs.C: New test.
+       * g++.dg/coroutines/co-await-syntax-08-lambda-auto.C: New test.
+       * g++.dg/coroutines/co-return-syntax-01-outside-fn.C: New test.
+       * g++.dg/coroutines/co-return-syntax-02-outside-fn.C: New test.
+       * g++.dg/coroutines/co-return-syntax-03-auto.C: New test.
+       * g++.dg/coroutines/co-return-syntax-04-ctor-dtor.C: New test.
+       * g++.dg/coroutines/co-return-syntax-05-constexpr-fn.C: New test.
+       * g++.dg/coroutines/co-return-syntax-06-main.C: New test.
+       * g++.dg/coroutines/co-return-syntax-07-vararg.C: New test.
+       * g++.dg/coroutines/co-return-syntax-08-bad-return.C: New test.
+       * g++.dg/coroutines/co-return-syntax-09-lambda-auto.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-00-needs-expr.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-02-outside-fn.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-03-auto.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-04-ctor-dtor.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-05-constexpr.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-06-main.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-07-varargs.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: New test.
+       * g++.dg/coroutines/co-yield-syntax-09-lambda-auto.C: New test.
+       * g++.dg/coroutines/coro-builtins.C: New test.
+       * g++.dg/coroutines/coro-missing-gro.C: New test.
+       * g++.dg/coroutines/coro-missing-promise-yield.C: New test.
+       * g++.dg/coroutines/coro-missing-ret-value.C: New test.
+       * g++.dg/coroutines/coro-missing-ret-void.C: New test.
+       * g++.dg/coroutines/coro-missing-ueh-1.C: New test.
+       * g++.dg/coroutines/coro-missing-ueh-2.C: New test.
+       * g++.dg/coroutines/coro-missing-ueh-3.C: New test.
+       * g++.dg/coroutines/coro-missing-ueh.h: New test.
+       * g++.dg/coroutines/coro-pre-proc.C: New test.
+       * g++.dg/coroutines/coro.h: New file.
+       * g++.dg/coroutines/coro1-ret-int-yield-int.h: New file.
+       * g++.dg/coroutines/coroutines.exp: New file.
+       * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: New test.
+       * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: New test.
+       * g++.dg/coroutines/torture/call-00-co-aw-arg.C: New test.
+       * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: New test.
+       * g++.dg/coroutines/torture/call-02-temp-co-aw.C: New test.
+       * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: New test.
+       * g++.dg/coroutines/torture/class-00-co-ret.C: New test.
+       * g++.dg/coroutines/torture/class-01-co-ret-parm.C: New test.
+       * g++.dg/coroutines/torture/class-02-templ-parm.C: New test.
+       * g++.dg/coroutines/torture/class-03-operator-templ-parm.C: New test.
+       * g++.dg/coroutines/torture/class-04-lambda-1.C: New test.
+       * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: New test.
+       * g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: New test.
+       * g++.dg/coroutines/torture/co-await-00-trivial.C: New test.
+       * g++.dg/coroutines/torture/co-await-01-with-value.C: New test.
+       * g++.dg/coroutines/torture/co-await-02-xform.C: New test.
+       * g++.dg/coroutines/torture/co-await-03-rhs-op.C: New test.
+       * g++.dg/coroutines/torture/co-await-04-control-flow.C: New test.
+       * g++.dg/coroutines/torture/co-await-05-loop.C: New test.
+       * g++.dg/coroutines/torture/co-await-06-ovl.C: New test.
+       * g++.dg/coroutines/torture/co-await-07-tmpl.C: New test.
+       * g++.dg/coroutines/torture/co-await-08-cascade.C: New test.
+       * g++.dg/coroutines/torture/co-await-09-pair.C: New test.
+       * g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: New test.
+       * g++.dg/coroutines/torture/co-await-11-forwarding.C: New test.
+       * g++.dg/coroutines/torture/co-await-12-operator-2.C: New test.
+       * g++.dg/coroutines/torture/co-await-13-return-ref.C: New test.
+       * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: New test.
+       * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: New test.
+       * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: New test.
+       * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: New test.
+       * g++.dg/coroutines/torture/co-ret-05-return-value.C: New test.
+       * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: New test.
+       * g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: New test.
+       * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: New test.
+       * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: New test.
+       * g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: New test.
+       * g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: New test.
+       * g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: New test.
+       * g++.dg/coroutines/torture/co-ret-13-template-2.C: New test.
+       * g++.dg/coroutines/torture/co-ret-14-template-3.C: New test.
+       * g++.dg/coroutines/torture/co-yield-00-triv.C: New test.
+       * g++.dg/coroutines/torture/co-yield-01-multi.C: New test.
+       * g++.dg/coroutines/torture/co-yield-02-loop.C: New test.
+       * g++.dg/coroutines/torture/co-yield-03-tmpl.C: New test.
+       * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: New test.
+       * g++.dg/coroutines/torture/co-yield-05-co-aw.C: New test.
+       * g++.dg/coroutines/torture/co-yield-06-fun-parm.C: New test.
+       * g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: New test.
+       * g++.dg/coroutines/torture/co-yield-08-more-refs.C: New test.
+       * g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: New test.
+       * g++.dg/coroutines/torture/coro-torture.exp: New file.
+       * g++.dg/coroutines/torture/exceptions-test-0.C: New test.
+       * g++.dg/coroutines/torture/func-params-00.C: New test.
+       * g++.dg/coroutines/torture/func-params-01.C: New test.
+       * g++.dg/coroutines/torture/func-params-02.C: New test.
+       * g++.dg/coroutines/torture/func-params-03.C: New test.
+       * g++.dg/coroutines/torture/func-params-04.C: New test.
+       * g++.dg/coroutines/torture/func-params-05.C: New test.
+       * g++.dg/coroutines/torture/func-params-06.C: New test.
+       * g++.dg/coroutines/torture/lambda-00-co-ret.C: New test.
+       * g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: New test.
+       * g++.dg/coroutines/torture/lambda-02-co-yield-values.C: New test.
+       * g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: New test.
+       * g++.dg/coroutines/torture/lambda-04-templ-parm.C: New test.
+       * g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: New test.
+       * g++.dg/coroutines/torture/lambda-06-multi-capture.C: New test.
+       * g++.dg/coroutines/torture/lambda-07-multi-yield.C: New test.
+       * g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: New test.
+       * g++.dg/coroutines/torture/local-var-0.C: New test.
+       * g++.dg/coroutines/torture/local-var-1.C: New test.
+       * g++.dg/coroutines/torture/local-var-2.C: New test.
+       * g++.dg/coroutines/torture/local-var-3.C: New test.
+       * g++.dg/coroutines/torture/local-var-4.C: New test.
+       * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: New test.
+       * g++.dg/coroutines/torture/pr92933.C: New test.
+
+2020-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/93234
+       * gfortran.dg/inquire_pre.f90: New test.
+
+2020-01-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93290
+       * gcc.dg/analyzer/pr93290.c: New test.
+
+2020-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/92542
+       * g++.dg/pr92542.C: New.
+
+2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Sudakshina Das  <sudi.das@arm.com>
+
+       * gcc.target/arm/armv8_1m-shift-imm_1.c: New test.
+
+2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Sudakshina Das  <sudi.das@arm.com>
+
+       * gcc.target/arm/armv8_1m-shift-reg_1.c: New test.
+
+2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR testsuite/93227
+       * g++.dg/cpp0x/std-layout1.C: Use -Wno-deprecated-declarations for
+       C++20, due to std::is_pod being deprecated.
+
+2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: New test.
+
+2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * gcc.target/aarch64/pragma_cpp_predefs_2.c: Check for f64mm
+       predef.
+
+2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93228
+       * g++.dg/cpp1y/attr-deprecated-3.C: New test.
+
+2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/gimplify_1.C: New test.
+
+2020-01-17  Mark Eggleston  <mark.eggleston@codethink.com>
+       Tobias Burnus  <burnus@gcc.gnu.org>
+
+       PR fortran/93236
+       * gfortran.dg/pr93263_1.f90: New test.
+       * gfortran.dg/pr93263_2.f90: New test.
+
+2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93292
+       * g++.dg/opt/pr93292.C: New test.
+
+       PR testsuite/93294
+       * lib/c-compat.exp (compat-use-alt-compiler): Handle
+       -fdiagnostics-urls=never similarly to -fdiagnostics-color=never.
+       (compat_setup_dfp): Likewise.
+
+2020-01-16  Kerem Kat  <keremkat@gmail.com>
+
+       PR c/92833
+       * c-c++-common/pr92833-1.c, c-c++-common/pr92833-2.c,
+       c-c++-common/pr92833-3.c, c-c++-common/pr92833-4.c: New tests.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * g++.target/arm/bfloat_cpp_typecheck.C: New test.
+       * gcc.target/arm/bfloat16_scalar_typecheck.c: New test.
+       * gcc.target/arm/bfloat16_vector_typecheck_1.c: New test.
+       * gcc.target/arm/bfloat16_vector_typecheck_2.c: New test.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * g++.dg/abi/mangle-neon.C: Add BF16 SIMD types.
+       * g++.dg/ext/arm-bf16/bf16-mangle-1.C: New test.
+       * gcc.target/arm/bfloat16_scalar_1_1.c: New test.
+       * gcc.target/arm/bfloat16_scalar_1_2.c: New test.
+       * gcc.target/arm/bfloat16_scalar_2_1.c: New test.
+       * gcc.target/arm/bfloat16_scalar_2_2.c: New test.
+       * gcc.target/arm/bfloat16_scalar_3_1.c: New test.
+       * gcc.target/arm/bfloat16_scalar_3_2.c: New test.
+       * gcc.target/arm/bfloat16_scalar_4.c: New test.
+       * gcc.target/arm/bfloat16_simd_1_1.c: New test.
+       * gcc.target/arm/bfloat16_simd_1_2.c: New test.
+       * gcc.target/arm/bfloat16_simd_2_1.c: New test.
+       * gcc.target/arm/bfloat16_simd_2_2.c: New test.
+       * gcc.target/arm/bfloat16_simd_3_1.c: New test.
+       * gcc.target/arm/bfloat16_simd_3_2.c: New test.
+
+2020-01-16  Mihail Ionescu  <mihail.ionescu@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * testsuite/gcc.target/arm/multilib.exp: Add v8.1-M entries.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/cmse-1.c: Add check for BLXNS when instructions
+       introduced in Armv8.1-M Mainline Security Extensions are available and
+       restrict checks for libcall to __gnu_cmse_nonsecure_call to Armv8-M
+       targets only.  Adapt CLRM check to verify register used for BLXNS is
+       not in the CLRM register list.
+       * gcc.target/arm/cmse/cmse-14.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise and adapt
+       check for LSB clearing bit to be using the same register as BLXNS when
+       targeting Armv8.1-M Mainline.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/union-1.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise.
+       * gcc.target/arm/cmse/cmse-15.c: Count BLXNS when targeting Armv8.1-M
+       Mainline and restrict libcall count to Armv8-M.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Add check for VLSTM and
+       VLLDM.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Add check for
+       VPUSH and VPOP and update expectation for VSCCLRM.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/cmse-1.c: Add check for PUSH and POP and update
+       CLRM check.
+       * gcc.target/arm/cmse/cmse-14.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/union-1.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/union-2.c: Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/bitfield-1.c: Add check for VSCCLRM.
+       * gcc.target/arm/cmse/bitfield-2.c: Likewise.
+       * gcc.target/arm/cmse/bitfield-3.c: Likewise.
+       * gcc.target/arm/cmse/cmse-1.c: Likewise.
+       * gcc.target/arm/cmse/struct-1.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/bitfield-1.c: Add check for CLRM.
+       * gcc.target/arm/cmse/bitfield-2.c: Likewise.
+       * gcc.target/arm/cmse/bitfield-3.c: Likewise.
+       * gcc.target/arm/cmse/struct-1.c: Likewise.
+       * gcc.target/arm/cmse/cmse-14.c: Likewise.
+       * gcc.target/arm/cmse/cmse-1.c: Likewise.  Restrict checks for Armv8-M
+       GPR clearing when CLRM is not available.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/union-1.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * gcc.target/arm/cmse/bitfield-1.c: add checks for VSTR and VLDR.
+       * gcc.target/arm/cmse/bitfield-2.c: Likewise.
+       * gcc.target/arm/cmse/bitfield-3.c: Likewise.
+       * gcc.target/arm/cmse/cmse-1.c: Likewise.
+       * gcc.target/arm/cmse/struct-1.c: Likewise.
+       * gcc.target/arm/cmse/cmse.exp: Run existing Armv8-M Mainline tests
+       from mainline/8m subdirectory and new Armv8.1-M Mainline tests from
+       mainline/8_1m subdirectory.
+       * gcc.target/arm/cmse/mainline/bitfield-4.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-4.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-5.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-6.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-6.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-7.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-8.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-9.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-9.c: This.
+       * gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: Move and rename
+       into ...
+       * gcc.target/arm/cmse/mainline/8m/bitfield-and-union.c: This.
+       * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-13.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-5.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-7.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-8.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard/cmse-13.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard/cmse-13.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard/cmse-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard/cmse-5.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard/cmse-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard/cmse-7.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/hard/cmse-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/hard/cmse-8.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/soft/cmse-13.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/soft/cmse-13.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/soft/cmse-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/soft/cmse-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/soft/cmse-7.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/soft/cmse-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/soft/cmse-8.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-7.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-8.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp/cmse-13.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp/cmse-7.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/softfp/cmse-8.c: This.  Clean up
+       dg-skip-if directive for float ABI.
+       * gcc.target/arm/cmse/mainline/union-1.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/union-1.c: This.
+       * gcc.target/arm/cmse/mainline/union-2.c: Move into ...
+       * gcc.target/arm/cmse/mainline/8m/union-2.c: This.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/union-1.c: New file.
+       * gcc.target/arm/cmse/mainline/8_1m/union-2.c: New file.
+       * lib/target-supports.exp (check_effective_target_arm_cmse_clear_ok):
+       New procedure.
+
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_arch_v8_1m_main_ok): Define.
+       (add_options_for_arm_arch_v8_1m_main): Likewise.
+       (check_effective_target_arm_arch_v8_1m_main_multilib): Likewise.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: New.
+       * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: New.
+       * gcc.target/aarch64/advsimd-intrinsics/bfdot-3.c: New.
+
+2020-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vdot-3-3.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vdot-3-4.c: New test.
+
+2020-01-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR tree-optimization/92429
+       * gcc.dg/vect/pr92429.c: New test.
+
+2020-01-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93253
+       * fortran.dg/boz_7.f90: Updated dg-error.
+
+2020-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/91073
+       * g++.dg/concepts/pr91073-1.C: New.
+       * g++.dg/concepts/pr91073-2.C: Likewise.
+
+2020-01-15  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * gcc.dg/pr90838.c: New test.
+       * gcc.dg/pr93231.c: New test.
+       * gcc.target/aarch64/pr90838.c: Use #define u 0.
+
+2020-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93273
+       * g++.dg/torture/pr93273.C: New testcase.
+
+2020-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93247
+       * gcc.dg/vect/pr93247-1.c: New test.
+       * gcc.dg/vect/pr93247-2.c: Likewise.
+
+2020-01-15  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-17.c: Tweak test to avoid unrelated
+       failures due the absence of loop unrolling.
+
+2020-01-15  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/93072
+       * gcc.dg/inline-42.c, gcc.dg/inline-43.c: New tests.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/signal-6.c: New test.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/dot-output.c: Add test coverage for a BB with
+       no statements.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/58237
+       * gcc.dg/analyzer/file-paths-1.c: New test.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/58237
+       * gcc.dg/analyzer/file-1.c (test_4): New.
+       * gcc.dg/analyzer/file-pr58237.c: New test.
+
+2020-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93262
+       * gcc.c-torture/execute/builtins/pr93262-chk.c: New test.
+       * gcc.c-torture/execute/builtins/pr93262-chk-lib.c: New file.
+       * gcc.c-torture/execute/builtins/pr93262-chk.x: New file.
+
+       PR tree-optimization/93249
+       * gcc.c-torture/execute/pr93249.c: New test.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/signal-5.c: New test.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-1.c: Remove xfail.
+       * gcc.dg/analyzer/data-model-5b.c: Likewise.
+       * gcc.dg/analyzer/data-model-5c.c: Likewise.
+       * gcc.dg/analyzer/setjmp-3.c: Mark "foo" as pure.
+       * gcc.dg/analyzer/setjmp-4.c: Likewise.
+       * gcc.dg/analyzer/setjmp-6.c: Likewise.
+       * gcc.dg/analyzer/setjmp-7.c: Likewise.
+       * gcc.dg/analyzer/setjmp-7a.c: Likewise.
+       * gcc.dg/analyzer/setjmp-8.c: Likewise.
+       * gcc.dg/analyzer/setjmp-9.c: Likewise.
+       * gcc.dg/analyzer/unknown-fns.c: New test.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: New test.
+
+2020-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/91576
+       * g++.dg/lto/odr-8_1.C: Remove bogus initial lines.
+
+       PR target/93009
+       * gcc.target/i386/avx512vl-pr93009.c: New test.
+
+2020-01-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/91576
+       * g++.dg/lto/odr-8_0.C: New testcase.
+       * g++.dg/lto/odr-8_1.C: New testcase.
+
+2020-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/CVE-2005-1689-minimal.c: New test.
+       * gcc.dg/analyzer/abort.c: New test.
+       * gcc.dg/analyzer/alloca-leak.c: New test.
+       * gcc.dg/analyzer/analyzer-decls.h: New header.
+       * gcc.dg/analyzer/analyzer-verbosity-0.c: New test.
+       * gcc.dg/analyzer/analyzer-verbosity-1.c: New test.
+       * gcc.dg/analyzer/analyzer-verbosity-2.c: New test.
+       * gcc.dg/analyzer/analyzer.exp: New suite.
+       * gcc.dg/analyzer/attribute-nonnull.c: New test.
+       * gcc.dg/analyzer/call-summaries-1.c: New test.
+       * gcc.dg/analyzer/conditionals-2.c: New test.
+       * gcc.dg/analyzer/conditionals-3.c: New test.
+       * gcc.dg/analyzer/conditionals-notrans.c: New test.
+       * gcc.dg/analyzer/conditionals-trans.c: New test.
+       * gcc.dg/analyzer/data-model-1.c: New test.
+       * gcc.dg/analyzer/data-model-2.c: New test.
+       * gcc.dg/analyzer/data-model-3.c: New test.
+       * gcc.dg/analyzer/data-model-4.c: New test.
+       * gcc.dg/analyzer/data-model-5.c: New test.
+       * gcc.dg/analyzer/data-model-5b.c: New test.
+       * gcc.dg/analyzer/data-model-5c.c: New test.
+       * gcc.dg/analyzer/data-model-5d.c: New test.
+       * gcc.dg/analyzer/data-model-6.c: New test.
+       * gcc.dg/analyzer/data-model-7.c: New test.
+       * gcc.dg/analyzer/data-model-8.c: New test.
+       * gcc.dg/analyzer/data-model-9.c: New test.
+       * gcc.dg/analyzer/data-model-11.c: New test.
+       * gcc.dg/analyzer/data-model-12.c: New test.
+       * gcc.dg/analyzer/data-model-13.c: New test.
+       * gcc.dg/analyzer/data-model-14.c: New test.
+       * gcc.dg/analyzer/data-model-15.c: New test.
+       * gcc.dg/analyzer/data-model-16.c: New test.
+       * gcc.dg/analyzer/data-model-17.c: New test.
+       * gcc.dg/analyzer/data-model-18.c: New test.
+       * gcc.dg/analyzer/data-model-19.c: New test.
+       * gcc.dg/analyzer/data-model-path-1.c: New test.
+       * gcc.dg/analyzer/disabling.c: New test.
+       * gcc.dg/analyzer/dot-output.c: New test.
+       * gcc.dg/analyzer/double-free-lto-1-a.c: New test.
+       * gcc.dg/analyzer/double-free-lto-1-b.c: New test.
+       * gcc.dg/analyzer/double-free-lto-1.h: New header.
+       * gcc.dg/analyzer/equivalence.c: New test.
+       * gcc.dg/analyzer/explode-1.c: New test.
+       * gcc.dg/analyzer/explode-2.c: New test.
+       * gcc.dg/analyzer/factorial.c: New test.
+       * gcc.dg/analyzer/fibonacci.c: New test.
+       * gcc.dg/analyzer/fields.c: New test.
+       * gcc.dg/analyzer/file-1.c: New test.
+       * gcc.dg/analyzer/file-2.c: New test.
+       * gcc.dg/analyzer/function-ptr-1.c: New test.
+       * gcc.dg/analyzer/function-ptr-2.c: New test.
+       * gcc.dg/analyzer/function-ptr-3.c: New test.
+       * gcc.dg/analyzer/gzio-2.c: New test.
+       * gcc.dg/analyzer/gzio-3.c: New test.
+       * gcc.dg/analyzer/gzio-3a.c: New test.
+       * gcc.dg/analyzer/gzio.c: New test.
+       * gcc.dg/analyzer/infinite-recursion.c: New test.
+       * gcc.dg/analyzer/loop-2.c: New test.
+       * gcc.dg/analyzer/loop-2a.c: New test.
+       * gcc.dg/analyzer/loop-3.c: New test.
+       * gcc.dg/analyzer/loop-4.c: New test.
+       * gcc.dg/analyzer/loop.c: New test.
+       * gcc.dg/analyzer/malloc-1.c: New test.
+       * gcc.dg/analyzer/malloc-2.c: New test.
+       * gcc.dg/analyzer/malloc-3.c: New test.
+       * gcc.dg/analyzer/malloc-callbacks.c: New test.
+       * gcc.dg/analyzer/malloc-dce.c: New test.
+       * gcc.dg/analyzer/malloc-dedupe-1.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-1.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-10.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-11.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-12.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-13.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-2.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-3.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-4.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-5.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-6.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-7.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-double-free.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-lto-a.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-lto-b.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-lto-c.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-lto.h: New test.
+       * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: New test.
+       * gcc.dg/analyzer/malloc-ipa-9.c: New test.
+       * gcc.dg/analyzer/malloc-macro-inline-events.c: New test.
+       * gcc.dg/analyzer/malloc-macro-separate-events.c: New test.
+       * gcc.dg/analyzer/malloc-macro.h: New header.
+       * gcc.dg/analyzer/malloc-many-paths-1.c: New test.
+       * gcc.dg/analyzer/malloc-many-paths-2.c: New test.
+       * gcc.dg/analyzer/malloc-many-paths-3.c: New test.
+       * gcc.dg/analyzer/malloc-paths-1.c: New test.
+       * gcc.dg/analyzer/malloc-paths-10.c: New test.
+       * gcc.dg/analyzer/malloc-paths-2.c: New test.
+       * gcc.dg/analyzer/malloc-paths-3.c: New test.
+       * gcc.dg/analyzer/malloc-paths-4.c: New test.
+       * gcc.dg/analyzer/malloc-paths-5.c: New test.
+       * gcc.dg/analyzer/malloc-paths-6.c: New test.
+       * gcc.dg/analyzer/malloc-paths-7.c: New test.
+       * gcc.dg/analyzer/malloc-paths-8.c: New test.
+       * gcc.dg/analyzer/malloc-paths-9.c: New test.
+       * gcc.dg/analyzer/malloc-vs-local-1a.c: New test.
+       * gcc.dg/analyzer/malloc-vs-local-1b.c: New test.
+       * gcc.dg/analyzer/malloc-vs-local-2.c: New test.
+       * gcc.dg/analyzer/malloc-vs-local-3.c: New test.
+       * gcc.dg/analyzer/malloc-vs-local-4.c: New test.
+       * gcc.dg/analyzer/operations.c: New test.
+       * gcc.dg/analyzer/params-2.c: New test.
+       * gcc.dg/analyzer/params.c: New test.
+       * gcc.dg/analyzer/paths-1.c: New test.
+       * gcc.dg/analyzer/paths-1a.c: New test.
+       * gcc.dg/analyzer/paths-2.c: New test.
+       * gcc.dg/analyzer/paths-3.c: New test.
+       * gcc.dg/analyzer/paths-4.c: New test.
+       * gcc.dg/analyzer/paths-5.c: New test.
+       * gcc.dg/analyzer/paths-6.c: New test.
+       * gcc.dg/analyzer/paths-7.c: New test.
+       * gcc.dg/analyzer/pattern-test-1.c: New test.
+       * gcc.dg/analyzer/pattern-test-2.c: New test.
+       * gcc.dg/analyzer/pointer-merging.c: New test.
+       * gcc.dg/analyzer/pr61861.c: New test.
+       * gcc.dg/analyzer/pragma-1.c: New test.
+       * gcc.dg/analyzer/scope-1.c: New test.
+       * gcc.dg/analyzer/sensitive-1.c: New test.
+       * gcc.dg/analyzer/setjmp-1.c: New test.
+       * gcc.dg/analyzer/setjmp-2.c: New test.
+       * gcc.dg/analyzer/setjmp-3.c: New test.
+       * gcc.dg/analyzer/setjmp-4.c: New test.
+       * gcc.dg/analyzer/setjmp-5.c: New test.
+       * gcc.dg/analyzer/setjmp-6.c: New test.
+       * gcc.dg/analyzer/setjmp-7.c: New test.
+       * gcc.dg/analyzer/setjmp-7a.c: New test.
+       * gcc.dg/analyzer/setjmp-8.c: New test.
+       * gcc.dg/analyzer/setjmp-9.c: New test.
+       * gcc.dg/analyzer/signal-1.c: New test.
+       * gcc.dg/analyzer/signal-2.c: New test.
+       * gcc.dg/analyzer/signal-3.c: New test.
+       * gcc.dg/analyzer/signal-4a.c: New test.
+       * gcc.dg/analyzer/signal-4b.c: New test.
+       * gcc.dg/analyzer/strcmp-1.c: New test.
+       * gcc.dg/analyzer/switch.c: New test.
+       * gcc.dg/analyzer/taint-1.c: New test.
+       * gcc.dg/analyzer/zlib-1.c: New test.
+       * gcc.dg/analyzer/zlib-2.c: New test.
+       * gcc.dg/analyzer/zlib-3.c: New test.
+       * gcc.dg/analyzer/zlib-4.c: New test.
+       * gcc.dg/analyzer/zlib-5.c: New test.
+       * gcc.dg/analyzer/zlib-6.c: New test.
+       * lib/gcc-defs.exp (dg-check-dot): New procedure.
+       * lib/target-supports.exp (check_dot_available): New procedure.
+       (check_effective_target_analyzer): New.
+       * lib/target-supports-dg.exp (dg-require-dot): New procedure.
+
+2020-01-14  Jason Merrill  <jason@redhat.com>
+
+       * lib/prune.exp (prune_gcc_output): Adjust constexpr pattern.
+
+2020-01-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR ipa/69678
+       * gcc.dg/tree-prof/indir-call-prof-topn.c: New testcase.
+       * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: New testcase.
+       * gcc.dg/tree-prof/crossmodule-indir-call-topn-1a.c: New testcase.
+       * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: New testcase.
+       * lib/scandump.exp: Dump executable file name.
+       * lib/scanwpaipa.exp: New scan-pgo-wap-ipa-dump.
+
+2020-01-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/plugin/diagnostic-test-paths-2.c: Remove unused dg-line
+       directive.
+
+2020-01-13  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/93241
+       * gcc.dg/c11-static-assert-10.c, gcc.dg/c99-const-expr-15.c: New
+       tests.
+
+2020-01-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93213
+       * gcc.c-torture/execute/pr93213.c: New test.
+
+2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/host_data-1.c: Extend.
+       * gfortran.dg/goacc/host_data-tree.f95: Likewise.
+
+2020-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93210
+       * gcc.dg/pr93210.c: New test.
+       * g++.dg/opt/pr93210.C: New test.
+
+2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/93027
+       * gcc.target/i386/pr93027.c: Use the right PR number in the test.
+
+2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/93027
+       * gcc.target/i386/pr93207.c: Rename to pr93027.c.
+
+2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/93027
+       * gcc.target/i386/pr93207.c: Run it only for x86-64.
+
+2020-01-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/format/gcc_diag-10.c (diagnostic_event_id_t): New
+       typedef.
+       (test_diag): Add coverage of "%@".
+       * gcc.dg/plugin/diagnostic-path-format-default.c: New test.
+       * gcc.dg/plugin/diagnostic-path-format-inline-events-1.c: New test.
+       * gcc.dg/plugin/diagnostic-path-format-inline-events-2.c: New test.
+       * gcc.dg/plugin/diagnostic-path-format-inline-events-3.c: New test.
+       * gcc.dg/plugin/diagnostic-path-format-none.c: New test.
+       * gcc.dg/plugin/diagnostic-test-paths-1.c: New test.
+       * gcc.dg/plugin/diagnostic-test-paths-2.c: New test.
+       * gcc.dg/plugin/diagnostic-test-paths-3.c: New test.
+       * gcc.dg/plugin/diagnostic-test-paths-4.c: New test.
+       * gcc.dg/plugin/diagnostic_plugin_test_paths.c: New.
+       * gcc.dg/plugin/plugin.exp: Add the new plugin and test cases.
+
+2020-01-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset global
+       nn_line_numbers_enabled.
+       * lib/multiline.exp (nn_line_numbers_enabled): New global.
+       (dg-enable-nn-line-numbers): New proc.
+       (maybe-handle-nn-line-numbers): New proc.
+       * lib/prune.exp (prune_gcc_output): Call maybe-handle-nn-line-numbers.
+
+2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/93027
+       * gcc.target/i386/pr93207.c: New test.
+
+2020-01-10  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * testsuite/gcc.target/aarch64/pr90838.c: New test.
+
+2020-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * g++.target/aarch64/bfloat_cpp_typecheck.C: New test.
+       * gcc.target/aarch64/bfloat16_scalar_typecheck.c: New test.
+       * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: New test.
+       * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: New test.
+
+2020-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       * g++.dg/abi/mangle-neon-aarch64.C: Add Bfloat SIMD types to test.
+       * g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C: New test.
+       * gcc.target/aarch64/bfloat16_scalar_1.c: New test.
+       * gcc.target/aarch64/bfloat16_scalar_2.c: New test.
+       * gcc.target/aarch64/bfloat16_scalar_3.c: New test.
+       * gcc.target/aarch64/bfloat16_scalar_4.c: New test.
+       * gcc.target/aarch64/bfloat16_simd_1.c: New test.
+       * gcc.target/aarch64/bfloat16_simd_2.c: New test.
+       * gcc.target/aarch64/bfloat16_simd_3.c: New test.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/struct_vect_1.c (N): Protect with #ifndef.
+       * gcc.target/aarch64/sve/pcs/return_1_128.c: New test.
+       * gcc.target/aarch64/sve/pcs/return_4_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise.
+       * gcc.target/aarch64/sve/single_5.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_25.c: Likewise.
+       * gcc.target/aarch64/sve/struct_vect_26.c: Likewise.
+
+2020-01-10  Martin Sebor  <msebor@redhat.com>
+
+       PR c/93132
+       * gcc.dg/attr-access-read-only-2.c: New test.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/sel_1.c: Use SVE types for the arguments and
+       return values.  Use check-function-bodies instead of scan-assembler.
+       * gcc.target/aarch64/sve/sel_2.c: Likewise
+       * gcc.target/aarch64/sve/sel_3.c: Likewise.
+
+2020-01-10  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc.dg/ipa/ipa-clone-3.c: Replace struct initializer with
+       piecemeal initialization.
+
+2020-01-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/index_1_run.c: Require aarch64_sve256_hw
+       rather than aarch64_sve_hw.
+
+2020-01-10  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/93216
+       * gcc.dg/optimize-bswaphi-1.c: Split previously added
+       case into a LE and BE variant.
+
+2020-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/65428
+       * gfortran.dg/zero_sized_11.f90: New test.
+       * gfortran.dg/zero_sized_12.f90: New test.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/mul_lane_1.c: New test.
+       * g++.target/aarch64/sve2/acle: New directory.
+       * gcc.target/aarch64/pragma_cpp_predefs_3.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_TYPE_CHANGE_Z)
+       (TEST_DUAL_ZD, TEST_TYPE_CHANGE_ZX, TEST_TBL2, TEST_TBL2_REV): New
+       macros.
+       * gcc.target/aarch64/sve/acle/general-c/binary_lane_1.c: Do not
+       expect an error saying that the function has no f32 form, but instead
+       expect an error about SVE2 being required if the current target
+       doesn't support SVE2.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_lane_1.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/ternary_lane_rotate_1.c Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/binary_long_lane_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_long_opt_n_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_narrowb_opt_n_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_narrowt_opt_n_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_wide_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/binary_wide_opt_n_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/compare_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/compare_ptr_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_restricted_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_2.c,
+       * gcc.target/aarch64/sve/acle/general-c/mul_lane_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_long_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_to_uint_2.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowb_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowb_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowt_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowt_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_restricted_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_restricted_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/tbl_tuple_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_long_lane_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_long_opt_n_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_qq_lane_rotate_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_qq_rotate_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_shift_right_imm_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/ternary_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_convert_narrowt_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_narrowb_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_narrowb_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_narrowt_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_narrowt_to_uint_1.c,
+       * gcc.target/aarch64/sve/acle/general-c/unary_to_int_1.c: New tests.
+       * gcc.target/aarch64/sve2/bcax_1.c: Likewise.
+       * gcc.target/aarch64/sve2/acle: New directory.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general-c/unary_count_1.c: Rename to...
+       * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_1.c: ...this.
+       * gcc.target/aarch64/sve/acle/general-c/unary_count_2.c: Rename to...
+       * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_2.c: ...this.
+       * gcc.target/aarch64/sve/acle/general-c/unary_count_3.c: Rename to...
+       * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_3.c: ...this.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/nrv_1.c: New test.
+
+2020-01-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c: New test.
+       * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c: Likewise.
+
+2020-01-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/84135
+       * gfortran.dg/coarray/codimension_3.f90: New.
+
+2020-01-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/93200
+       * gcc.dg/Wstringop-overflow-30.c: New test.
+
+2020-01-09  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/93054
+       * gcc.dg/pr93054.c: New testcase.
+
+2020-01-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93040
+       * gcc.dg/optimize-bswaphi-1.c: Amend.
+       * gcc.dg/optimize-bswapsi-2.c: Likewise.
+
+2020-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/93202
+       * gcc.target/riscv/pr93202.c: New test.
+
+       PR target/93141
+       * gcc.target/i386/pr93141-1.c: Add tests with constants that have MSB
+       of the low half of the constant set.
+       * gcc.target/i386/pr93141-2.c: New test.
+
+2020-01-08  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-27.c: Make testnames unique.
+
+2020-01-08  Joel Brobecker  <brobecker@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * g++.target/aarch64/sve/tls_2.C: Add missing
+       { dg-require-effective-target fpic } directive.
+       * gcc.target/aarch64/noplt_2.c: Likewise.
+       * gcc.target/aarch64/noplt_3.c: Likewise.
+       * gcc.target/aarch64/pic-constantpool1.c: Likewise.
+       * gcc.target/aarch64/pic-small.c: Likewise.
+       * gcc.target/aarch64/pic-symrefplus.c: Likewise.
+       * gcc.target/aarch64/pr66912.c: Likewise.
+       * gcc.target/aarch64/sve/tls_1.c: Likewise.
+       * gcc.target/aarch64/sve/tls_preserve_1.c: Likewise.
+       * gcc.target/aarch64/sve/tls_preserve_2.c: Likewise.
+       * gcc.target/aarch64/sve/tls_preserve_3.c: Likewise.
+       * gcc.target/aarch64/tlsie_tiny_1.c: Likewise.
+       * gcc.target/aarch64/tlsle12_1.c: Likewise.
+       * gcc.target/aarch64/tlsle12_tiny_1.c: Likewise.
+       * gcc.target/aarch64/tlsle24_1.c: Likewise.
+       * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise.
+       * gcc.target/aarch64/tlsle32_1.c: Likewise.
+       * gcc.target/aarch64/tlsle_sizeadj_small_1.c: Likewise.
+       * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: Likewise.
+
+2020-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93187
+       * g++.dg/opt/pr93187.C: New test.
+
+       PR target/93174
+       * gcc.c-torture/compile/pr93174.c: New test.
+
+2020-01-08  Olivier Hainque  <hainque@adacore.com>
+           Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/aarch64/stack-check-alloca.h: Remove
+       #include alloca.h. #define alloca __builtin_alloca
+       instead.
+       * gcc.target/aarch64/stack-check-alloca-1.c: Add
+       { dg-require-effective-target alloca }.
+       * gcc.target/aarch64/stack-check-alloca-2.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-3.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-4.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-5.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-6.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-7.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-8.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-9.c: Likewise.
+       * gcc.target/aarch64/stack-check-alloca-10.c: Likewise.
+
+2020-01-08  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/ipa/ipa-icf-1.c: Update expected scanned output.
+       * gcc.dg/ipa/ipa-icf-10.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-11.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-12.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-13.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-16.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-18.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-2.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-20.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-21.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-23.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-25.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-26.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-27.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-3.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-35.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-36.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-37.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-38.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-5.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-7.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-8.c: Likewise.
+       * gcc.dg/ipa/ipa-icf-merge-1.c: Likewise.
+       * gcc.dg/ipa/pr64307.c: Likewise.
+       * gcc.dg/ipa/pr90555.c: Likewise.
+       * gcc.dg/ipa/propmalloc-1.c: Likewise.
+       * gcc.dg/ipa/propmalloc-2.c: Likewise.
+       * gcc.dg/ipa/propmalloc-3.c: Likewise.
+
+2020-01-08  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/92997
+
+2020-01-08  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/93188
+       * gcc.target/arm/multilib.exp: Add new tests for rm-profile only.
+
+2020-01-08  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93084
+       * gcc.dg/ipa/ipa-clone-3.c: New test.
+
+2020-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * g++.old-deja/g++.bugs/900208_03.C: Check locations too.
+       * g++.old-deja/g++.bugs/900519_06.C: Likewise.
+
+2020-01-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.
+
+2020-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/pcs/asm_4.c: New test.
+
+2020-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/general-c++/mangle_5.C: New test.
+       * gcc.target/aarch64/sve/pcs/asm_1.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/asm_2.c: Likewise.
+       * gcc.target/aarch64/sve/pcs/asm_3.c: Likewise.
+
+2020-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93156
+       * gcc.dg/tree-ssa/pr93156.c: New test.
+
+       PR tree-optimization/93118
+       * gcc.dg/tree-ssa/pr93118.c: New test.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * gcc.dg/pr92860-2.c: New test.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * gcc.dg/pr92860.c: New test.
+
+2020-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/91369
+       * g++.dg/cpp1y/constexpr-new.C: Expect an error explaining why
+       static_assert failed for C++2a.
+       * g++.dg/cpp2a/constexpr-new9.C: New test.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/asrdiv_1.c: Remove trailing %s.
+       * gcc.target/aarch64/sve/asrdiv_2.c: New test.
+       * gcc.target/aarch64/sve/asrdiv_3.c: Likewise.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-cond-arith-8.c: New test.
+       * gcc.target/aarch64/sve/cond_fmul_5.c: Likewise.
+
+2020-01-06  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/79592
+       * g++.dg/ubsan/vptr-4.C: Add expected error.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/cpy_1.c: New test.
+
+2020-01-05  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.c-torture/compile/20200105-1.c: New testcase.
+       * gcc.c-torture/compile/20200105-2.c: New testcase.
+       * gcc.c-torture/compile/20200105-3.c: New testcase.
+
+2020-01-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/darwin-version-1.c: Adjust test to use different
+       options for Darwin4-9 and Darwin10+.
+
+2020-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93141
+       * gcc.target/i386/pr93141-1.c: New test.
+       * gcc.dg/pr67089-6.c: Expect 16 ADD_OVERFLOW calls even on ia32.
+
+       PR c++/93138
+       * g++.dg/warn/Wredundant-tags-2.C: New test.
+
+       PR c++/93046
+       * g++.dg/ext/cond4.C: New test.
+
+2020-01-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/91640
+       * gfortran.dg/contiguous_10.f90: New.
+
+2020-01-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/avx512bw-pr92686-vpcmp-intelasm-1.c: Require
+       effective target masm_intel.
+       * gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Likewise.
+
+2020-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/93089
+       * gcc.target/i386/pr93089-2.c: New test.
+       * gcc.target/i386/pr93089-3.c: New test.
+
+       PR target/93089
+       * gcc.target/i386/pr93089-1.c: New test.
+
+       PR target/93110
+       * gcc.dg/torture/pr93110.c: New test.
+
+       PR rtl-optimization/93088
+       * gcc.target/i386/pr93088.c: New test.
+
+2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92994
+       * gfortran.dg/associate_50.f90: Update dg-error.
+       * gfortran.dg/associate_51.f90: New.
+
+2020-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/68020
+       * gfortran.dg/impled_shape_5.f90: Use dg-do compile rather than dg-do
+       run.
+
+2020-01-02  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.c-torture/execute/bitfld-8.c: New testcase.
+       * gcc.c-torture/execute/bitfld-9.c: New testcase.
+
+2020-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/90677
+       * c-c++-common/pr90677-2.c: New test.
+
+2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * gcc.target/arm/multilib.exp: Add combination tests for armv8.6-a.
+
+2020-01-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/68020
+       * gfortran.dg/implied_shape_4.f90: New.
+       * gfortran.dg/implied_shape_5.f90: New.
+
+2020-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/93087
+       * c-c++-common/cold-1.c: New test.
+
+2020-01-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/90374
+       * gfortran.dg/fmt_zero_width.f90: Update test case.
+
+2020-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93113
+       * gfortran.dg/dependency_58.f90: New test.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       PR tree-optimization/93098
+       * gcc.c-torture/compile/pr93098.c: New test.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2020 b/libgfortran/ChangeLog-2020
new file mode 100644 (file)
index 0000000..4967867
--- /dev/null
@@ -0,0 +1,391 @@
+2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/97865
+       * configure: Regenerate.
+
+2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       * configure: Regenerate.
+
+2020-11-26  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * io/io.h [HAVE_NEWLOCALE]: Also check for HAVE_FREELOCALE and
+       HAVE_USELOCALE.
+       [HAVE_FREELOCALE && HAVE_NEWLOCALE && HAVE_USELOCALE]
+       (HAVE_POSIX_2008_LOCALE): New macro.
+       (st_parameter_dt) [HAVE_NEWLOCALE]: Check for
+       HAVE_POSIX_2008_LOCALE instead.
+       * io/transfer.c (data_transfer_init_worker, finalize_transfer)
+       [HAVE_USELOCALE]: Check for HAVE_POSIX_2008_LOCALE instead.
+       * io/unit.c [HAVE_NEWLOCALE]: Likewise.
+       (init_units) [HAVE_NEWLOCALE]: Likewise.
+       (close_units) [HAVE_FREELOCALE]: Likewise.
+       * runtime/error.c (gf_strerror) [HAVE_USELOCALE]: Likewise.
+
+2020-11-26  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * libgfortran.h: Use #if rather than #ifdef with
+       __FLT_HAS_INFINITY__, __DBL_HAS_INFINITY__,
+       __LDBL_HAS_INFINITY__, __FLT_HAS_QUIET_NAN__,
+       __DBL_HAS_QUIET_NAN__, and __LDBL_HAS_QUIET_NAN__.
+
+2020-11-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * intrinsics/execute_command_line.c (environ): Use
+       _NSGetEnviron to get the environment pointer on Darwin.
+
+2020-10-30  Harald Anlauf  <anlauf@gmx.de>
+
+       * intrinsics/random.c (SZ_IN_INT_4): Define size of state in int32_t.
+       (SZ_IN_INT_8): Define size of state in int64_t.
+       (SZ): Remove.
+       (random_seed_i4): Use size SZ_IN_INT_4 instead of SZ.
+       (random_seed_i8): Use size SZ_IN_INT_8 instead of SZ.
+
+2020-10-18  Harald Anlauf  <anlauf@gmx.de>
+
+       * m4/matmul_internal.m4: Move check for rank-1 times rank-2 before
+       checks on strides for rank-2 times rank-2.
+       * generated/matmul_c10.c: Regenerated.
+       * generated/matmul_c16.c: Likewise.
+       * generated/matmul_c4.c: Likewise.
+       * generated/matmul_c8.c: Likewise.
+       * generated/matmul_i1.c: Likewise.
+       * generated/matmul_i16.c: Likewise.
+       * generated/matmul_i2.c: Likewise.
+       * generated/matmul_i4.c: Likewise.
+       * generated/matmul_i8.c: Likewise.
+       * generated/matmul_r10.c: Likewise.
+       * generated/matmul_r16.c: Likewise.
+       * generated/matmul_r4.c: Likewise.
+       * generated/matmul_r8.c: Likewise.
+       * generated/matmulavx128_c10.c: Likewise.
+       * generated/matmulavx128_c16.c: Likewise.
+       * generated/matmulavx128_c4.c: Likewise.
+       * generated/matmulavx128_c8.c: Likewise.
+       * generated/matmulavx128_i1.c: Likewise.
+       * generated/matmulavx128_i16.c: Likewise.
+       * generated/matmulavx128_i2.c: Likewise.
+       * generated/matmulavx128_i4.c: Likewise.
+       * generated/matmulavx128_i8.c: Likewise.
+       * generated/matmulavx128_r10.c: Likewise.
+       * generated/matmulavx128_r16.c: Likewise.
+       * generated/matmulavx128_r4.c: Likewise.
+       * generated/matmulavx128_r8.c: Likewise.
+
+2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * m4/unpack.m4 (unpack0_'rtype_code`,
+       unpack1_'rtype_code`): Move 'rstride[0]' initialization outside
+       conditional branch to silence -Wmaybe-uninitialized.
+       * generated/unpack_c10.c: Regenerate.
+       * generated/unpack_c16.c: Regenerate.
+       * generated/unpack_c4.c: Regenerate.
+       * generated/unpack_c8.c: Regenerate.
+       * generated/unpack_i1.c: Regenerate.
+       * generated/unpack_i16.c: Regenerate.
+       * generated/unpack_i2.c: Regenerate.
+       * generated/unpack_i4.c: Regenerate.
+       * generated/unpack_i8.c: Regenerate.
+       * generated/unpack_r10.c: Regenerate.
+       * generated/unpack_r16.c: Regenerate.
+       * generated/unpack_r4.c: Regenerate.
+       * generated/unpack_r8.c: Regenerate.
+
+2020-09-27  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/t-aix: Use $(AR) without -X32_64.
+
+2020-09-03  Harald Anlauf  <anlauf@gmx.de>
+
+       * m4/iall.m4: Initial value for result should be -1.
+       * generated/iall_i1.c (miall_i1): Generated.
+       * generated/iall_i16.c (miall_i16): Likewise.
+       * generated/iall_i2.c (miall_i2): Likewise.
+       * generated/iall_i4.c (miall_i4): Likewise.
+       * generated/iall_i8.c (miall_i8): Likewise.
+
+2020-08-24  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96486
+       * intrinsics/env.c: If value_len is > 0 blank the string.
+       Copy the result only if its length is > 0.
+
+2020-08-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
+
+       PR fortran/96436
+       * io/format.c (parse_format_list):  Add new local variable
+       "standard" to hold the required standard to check. If the
+       format width is zero select standard depending on descriptor.
+       Call notification_std using the new standard variable.
+
+2020-08-17  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.net>
+
+       * config/t-aix: Add complementary mode object file to libcaf_single.a.
+
+2020-08-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * caf/single.c (_gfortran_caf_lock): Fix typo.
+
+2020-07-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR target/96306
+       * configure.ac: Add LIBGOMP_CHECKED_INT_KINDS and
+       LIBGOMP_CHECKED_REAL_KINDS and use it for to skip
+       integer kind=16 checks for amdgcn.
+       * Makefile.am (kinds.h, selected_int_kind.inc,
+       selected_real_kind.inc): Pass them on.
+       * mk-kinds-h.sh: Takes to-be-check kinds as argument.
+       * mk-sik-inc.sh: Likewise.
+       * mk-srk-inc.sh: Likewise.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+
+2020-07-24  Dominique d'Humieres  <dhumieres.dominique@free.fr>
+
+       PR fortran/93567
+       * io/write_float.def (determine_en_precision): Fix switch between
+       FMT_E and FMT_F.
+
+2020-07-24  Dominique d'Humieres  <dhumieres.dominique@free.fr>
+
+       PR fortran/93592
+       * io/write_float.def (build_float_string): Do not reset
+         nbefore for FMT_F and FMT_EN.
+
+2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/t-aix: Set BITS from compiler cpp macro.
+
+2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.am: Use -include.
+       * Makefile.in: Regenerate.
+
+2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
+       * Makefile.in: Regenerate.
+       * configure.ac (tmake_file): Substitute.
+       * configure: Regenerate.
+       * configure.host: Add system configury stanza. Define tmake_file.
+       * config/t-aix: New file.
+
+2020-06-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95313
+       * io/write.c (ztoa_big): Disable -Wstringop-overflow for one
+       line.
+
+2020-06-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95091
+       * io/transfer.c (finalize_transfer): Fix type in error message.
+
+2020-06-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR libfortran/95418
+       * config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)).
+
+2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/95413
+       * configure: Regenerated.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/95390
+       * Makefile.am (i_findloc0_c): Add findloc0_i10.c.
+       (i_findloc1_c): Add findloc1_i10.c.
+       * gfortran.map (GFORTRAN_10.2): New symbol version, export
+       _gfortran_{,m,s}findloc{0,1}_c10 symbols.
+       * Makefile.in: Regenerated.
+       * generated/findloc0_c10.c: Generated.
+       * generated/findloc1_c10.c: Generated.
+
+2020-05-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR libfortran/95104
+       * io/unit.c (unlock_unit): Guard by check for NULL pointer.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl   <kargl@gcc.gnu.org>
+
+       PR libfortran/95104
+       * io/transfer.c (st_wait_async): Do not dereference NULL pointer.
+
+2020-05-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95195
+       * io/transfer.c (finalize_transfer): Generate runtime error for
+       namelist input/output to unformatted file.
+
+2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95191
+       * io/async.c (async_wait_id): Generate error if ID is higher
+       than the highest current ID.
+       * runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID.
+
+2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * m4/matmul.m4: Don't include <config/i386/cpuinfo.h>.  Use
+       __builtin_cpu_is/__builtin_cpu_supports
+       * generated/matmul_c10.c: Regenerated.
+       * generated/matmul_c16.c: Likewise.
+       * generated/matmul_c4.c: Likewise.
+       * generated/matmul_c8.c: Likewise.
+       * generated/matmul_i1.c: Likewise.
+       * generated/matmul_i16.c: Likewise.
+       * generated/matmul_i2.c: Likewise.
+       * generated/matmul_i4.c: Likewise.
+       * generated/matmul_i8.c: Likewise.
+       * generated/matmul_r10.c: Likewise.
+       * generated/matmul_r16.c: Likewise.
+       * generated/matmul_r4.c: Likewise.
+       * generated/matmul_r8.c: Likewise.
+
+2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/95147
+       * configure: Regenerated.
+
+2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95119
+       * io/close.c (close_status): Add CLOSE_INVALID.
+       (st_close): Return early on invalid STATUS parameter.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2020-05-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/fpu-387.h (__math_force_eval): Remove.
+       (__math_force_eval_div): New define.
+       (local_feraiseexcept): Use __math_force_eval_div to use
+       generic division to generate INVALID, DIVZERO and INEXACT
+       exceptions.
+       (struct fenv): Define named struct instead of typedef.
+
+2020-05-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/fpu-387.h (__math_force_eval): New define.
+       (local_feraiseexcept): Use __math_force_eval to evaluate
+       generic division to generate INVALID and DIVZERO exceptions.
+
+2020-04-22  Fritz Reese  <foreese@gcc.gnu.org>
+
+       * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
+       Guard against unavailable math functions.
+       Use suffixes from kinds.h based on the REAL kind.
+
+2020-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/94694
+       PR libfortran/94586
+       * configure.ac: Add math func checks for fmaf, fma and fmal.  Add
+       HAVE_INLINE_BUILTIN_COPYSIGN check.
+       * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback
+       prototypes.
+       (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not
+       defined and fallback version is provided.
+       * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide
+       fallback implementations if possible
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+
+2020-04-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]:
+       Remove unneeded assignments to volatile memory.
+
+2020-04-01  Fritz Reese  <foreese@gcc.gnu.org>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/93871
+       * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c.
+       * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}.
+       * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
+       New files. Defines native degree-valued trig functions.
+
+2020-02-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/93599
+       * io/async.c (destroy_adv_cond): Do not destroy lock.
+       (async_io): Make sure au->lock is locked for finishing of thread.
+       Do not lock/unlock around signalling emptysignal. Unlock au->lock
+       before return.
+       (init_adv_cond): Do not initialize lock.
+       (enqueue_transfer): Unlock after signal.
+       (enqueue_done_id): Likewise.
+       (enqueue_done): Likewise.
+       (enqueue_close): Likewise.
+       (enqueue_data_transfer): Likewise.
+       (async_wait_id): Do not lock/unlock around signalling au->work.
+       (async_wait): Unlock after signal.
+       * io/async.h (SIGNAL): Add comment about needed au->lock.
+       Remove locking/unlocking of advcond->lock.
+       (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of
+       advcond->lock.  Unlock mutex only at the end.  Loop on
+       __ghread_cond_wait returning zero.
+       (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of
+       advcond->lock.
+       (struct adv_cond): Remove mutex from struct.
+
+2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libstdc++/79193
+       PR libstdc++/88999
+
+       * configure: Regenerated.
+
+2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
+
+       * configure.ac: Handle `--with-toolexeclibdir='.
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+
+2020-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/93234
+       * io/unit.c (set_internal_unit): Set round and sign flags
+       correctly.
+
+2020-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/90374
+       * io/format.c (parse_format_list): Zero width not allowed with
+       FMT_D.
+       * io/write_float.def (build_float_string): Include range of
+       higher exponent values that require wider width.
+
+2020-01-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/90374
+       * io/format.c (parse_format_list): Implement the E0 exponent
+       width to provide smallest possible width for exponent fields.
+       Refactor code for correct parsing and better readability of the
+       code.
+       * io/io.h (write_real_w0): Change interface to pass in pointer
+       to fnode.
+       * io/transfer.c: Update all calls to write_real_w0 to use the
+       new interface.
+       * io/write.c ((write_real_w0): Use the new interface with fnode
+       to access both the decimal precision and exponent widths used in
+       build_float_string.
+       * io/write_float.def (build_float_string): Use the passed in
+       exponent width to calculate the used width in the case of E0.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2020 b/libstdc++-v3/ChangeLog-2020
new file mode 100644 (file)
index 0000000..5b6b170
--- /dev/null
@@ -0,0 +1,8776 @@
+2020-12-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/abi.xml: Update link to Arm ABI.
+       * doc/html/manual/abi.html: Regenerate.
+
+2020-12-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/debug.xml: Move Valgrind references to https.
+       * doc/html/manual/debug.html: Regenerate.
+
+2020-12-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/abi.xml: Update link to Intel's compatibility
+       with GNU compilers document.
+       * doc/html/manual/abi.html: Regenerate.
+
+2020-12-25  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/messages.xml: Update link to Java docs.
+       * doc/html/manual/facets.html: Ditto.
+
+2020-12-25  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/documentation_hacking.xml: Convert three links
+       to doxygen.nl to https.
+       * doc/html/manual/documentation_hacking.html: Regenerate.
+
+2020-12-23  Olivier Hainque  <hainque@adacore.com>
+
+       * testsuite/17_intro/names.cc: Account for VxWorks headers.
+
+2020-12-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_FLOAT_IS_IEEE_BINARY_32):
+       Define this macro.
+       (_GLIBCXX_DOUBLE_IS_IEEE_BINARY_64): Likewise.
+       * include/std/charconv (to_chars): Use these macros to
+       conditionally hide the overloads for floating-point types.
+       * src/c++17/floating_to_chars.cc: Use the macros to
+       conditionally disable this file.
+       (floating_type_traits<float>): Remove redundant static assert.
+       (floating_type_traits<double>): Likewise.
+       * testsuite/20_util/to_chars/double.cc: Run this test only on
+       ieee-floats effective targets.
+       * testsuite/20_util/to_chars/float.cc: Likewise.
+       * testsuite/20_util/to_chars/long_double.cc: Likewise.
+       * testsuite/lib/libstdc++.exp
+       (check_effective_target_ieee-floats): Define new proc for
+       detecting whether float and double have the IEEE binary32 and
+       binary64 formats.
+
+2020-12-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/semaphore: Fix indentation.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98377
+       * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
+       Fix mistake.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98370
+       * src/c++17/floating_to_chars.cc (__floating_to_chars_shortest):
+       Provide explicit template arguments to the call to std::max.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98374
+       * src/c++17/floating_to_chars.cc: Guard include of <langinfo.h>
+       with __has_include.
+       (__floating_to_chars_precision) [!defined(RADIXCHAR)]: Don't
+       attempt to obtain the radix character of the current locale,
+       just assume it's '.'.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/floating_from_chars.cc (from_chars_impl)
+       [!defined(FE_TONEAREST)]: Don't adjust the rounding mode.
+       * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
+       Likewise.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * testsuite/20_util/to_chars/double.cc: New test, consisting of
+       testcases imported from the MSVC STL testsuite.
+       * testsuite/20_util/to_chars/float.cc: Likewise.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * config/abi/pre/gnu.ver: Add new exports.
+       * include/std/charconv (to_chars): Declare the floating-point
+       overloads for float, double and long double.
+       * src/c++17/Makefile.am (sources): Add floating_to_chars.cc.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++17/floating_to_chars.cc: New file.
+       (to_chars): Define for float, double and long double.
+       * testsuite/20_util/to_chars/long_double.cc: New test.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c,
+       src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c,
+       src/c++17/ryu/d2s_intrinsics.h, src/c++17/ryu/f2s.c,
+       src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c:
+       Apply local modifications.
+
+2020-12-18  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/MERGE: New file.
+       * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c,
+       src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c,
+       src/c++17/ryu/d2s_full_table.h, src/c++17/ryu/d2s_intrinsics.h,
+       src/c++17/ryu/digit_table.h, src/c++17/ryu/f2s.c,
+       src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c,
+       src/c++17/ryu/generic_128.h, src/c++17/ryu/ryu_generic_128.h:
+       Import these files from the Ryu library.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/os/djgpp/error_constants.h: Test POSIX errno macros
+       directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
+       * config/os/mingw32-w64/error_constants.h: Likewise.
+       * config/os/mingw32/error_constants.h: Likewise.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed):
+       Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/mutex.cc (std::once_flag::_M_finish): Add
+       maybe_unused attribute to variable used in assertion.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98344
+       * include/bits/semaphore_base.h: Fix preprocessor condition.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_thread.h (hash<thread::id>): Move here,
+       from ...
+       * include/std/thread (hash<thread::id>): ... here.
+
+2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * Makefile.in: Regenerate.
+       * config.h.in: Regenerate.
+       * config/abi/pre/gnu.ver: Make patterns less greedy.
+       * config/os/gnu-linux/ldbl-ieee128-extra.ver: New file with patterns
+       for IEEE128 long double symbols.
+       * configure: Regenerate.
+       * configure.ac: Enable alternative 128-bit long double format on
+       powerpc64*-*-linux*.
+       * doc/Makefile.in: Regenerate.
+       * fragment.am: Regenerate.
+       * include/Makefile.am: Set _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT.
+       * include/Makefile.in: Regenerate.
+       * include/bits/c++config: Define inline namespace for new long
+       double symbols. Don't define _GLIBCXX_USE_FLOAT128 when it's the
+       same type as long double.
+       * include/bits/locale_classes.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]
+       (locale::_Impl::_M_init_extra_ldbl128): Declare new member function.
+       * include/bits/locale_facets.h (_GLIBCXX_NUM_FACETS): Simplify by
+       only counting narrow character facets.
+       (_GLIBCXX_NUM_CXX11_FACETS): Likewise.
+       (_GLIBCXX_NUM_LBDL_ALT128_FACETS): New.
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (num_get::__do_get): Define
+       vtable placeholder for __ibm128 long double type.
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (num_get::__do_get): Declare vtable placeholder for __ibm128 long
+       double type.
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (num_put::__do_put): Likewise.
+       * include/bits/locale_facets.tcc
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (num_get::__do_get, num_put::__do_put): Define.
+       * include/bits/locale_facets_nonio.h
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (money_get::__do_get): Declare vtable placeholder for __ibm128 long
+       double type.
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (money_put::__do_put): Likewise.
+       * include/bits/locale_facets_nonio.tcc
+       [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__]
+       (money_get::__do_get, money_put::__do_put): Define.
+       * include/ext/numeric_traits.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]
+       (__numeric_traits<__ibm128>, __numeric_traits<__ieee128>): Define.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * python/Makefile.in: Regenerate.
+       * src/Makefile.am: Add compatibility-ldbl-alt128.cc and
+       compatibility-ldbl-alt128-cxx11.cc sources and recipes for objects.
+       * src/Makefile.in: Regenerate.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++11/compatibility-ldbl-alt128-cxx11.cc: New file defining
+       symbols using the old 128-bit long double format, for the cxx11 ABI.
+       * src/c++11/compatibility-ldbl-alt128.cc: Likewise, for the
+       gcc4-compatible ABI.
+       * src/c++11/compatibility-ldbl-facets-aliases.h: New header for long
+       double compat aliases.
+       * src/c++11/cow-locale_init.cc: Add comment.
+       * src/c++11/cxx11-locale-inst.cc: Define C and C_is_char
+       unconditionally.
+       * src/c++11/cxx11-wlocale-inst.cc: Add sanity check. Include
+       locale-inst.cc directly, not via cxx11-locale-inst.cc.
+       * src/c++11/locale-inst-monetary.h: New header for monetary
+       category instantiations.
+       * src/c++11/locale-inst-numeric.h: New header for numeric category
+       instantiations.
+       * src/c++11/locale-inst.cc: Include new headers for monetary,
+       numeric, and long double definitions.
+       * src/c++11/wlocale-inst.cc: Remove long double compat aliases that
+       are defined in new header now.
+       * src/c++17/Makefile.am: Use -mabi=ibmlongdouble for
+       floating_from_chars.cc.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++17/floating_from_chars.cc (from_chars_impl): Add
+       if-constexpr branch for __ieee128.
+       (from_chars): Overload for __ieee128.
+       * src/c++20/Makefile.in: Regenerate.
+       * src/c++98/Makefile.in: Regenerate.
+       * src/c++98/locale_init.cc (num_facets): Adjust calculation.
+       (locale::_Impl::_Impl(size_t)): Call _M_init_extra_ldbl128.
+       * src/c++98/localename.cc (num_facets): Adjust calculation.
+       (locale::_Impl::_Impl(const char*, size_t)): Call
+       _M_init_extra_ldbl128.
+       * src/filesystem/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/util/testsuite_abi.cc: Add new symbol versions.
+       Allow new symbols to be added to GLIBCXX_IEEE128_3.4.29 and
+       CXXABI_IEEE128_1.3.13 too.
+       * testsuite/26_numerics/complex/abi_tag.cc: Add u9__ieee128 to
+       regex matching expected symbols.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/utility: Use __has_builtin without checking if
+       it's defined.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config: Warn if __STRICT_ANSI__ state is
+       inconsistent with __GLIBCXX_TYPE_INT_N_0.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96083
+       * include/ext/throw_allocator.h: Use __has_builtin to check for
+       __builtin_sprintf support, and use std::sprtinf if necessary.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98319
+       * include/experimental/random: Only define contents for C++14
+       and later.
+       * include/experimental/source_location: Likewise.
+       * include/experimental/utility: Likewise.
+       * testsuite/experimental/feat-lib-fund.cc: Include all LFTS
+       headers that are present. Allow test to run for all modes.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/46447
+       * testsuite/performance/29_atomics/atomic_flag.cc: New test.
+
+2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93151
+       * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove.
+       * configure.ac: Regenerate.
+       * config/os/generic/error_constants.h: Test POSIX errno macros
+       directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
+       * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
+       Likewise.
+       * testsuite/19_diagnostics/headers/system_error/93151.cc: New
+       test.
+
+2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       Revert:
+       2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98108
+       * include/std/iostream (__ioinit): Add init_priority attribute.
+
+2020-12-15  Keith Packard  <keithp@keithp.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Allow "stdio_pure"
+       option and define _GLIBCXX_USE_PURE_STDIO when it is used. Also
+       add "stdio_posix" option as an alias for "stdio".
+       * config/io/basic_file_stdio.cc [_GLIBCXX_USE_PURE_STDIO]: Only
+       use defined stdio entry points for all I/O operations, without
+       direct calls to underlying POSIX functions.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2020-12-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * testsuite/27_io/rvalue_streams.cc: Run the extraction to a char*
+       for C++17 and lower only.
+
+2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc:
+       Add dg-timeout-factor directive.
+       * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc:
+       Increase timeout factor from 2.0 to 3.0.
+       * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc:
+       Likewise.
+       * testsuite/lib/libstdc++.exp (check_effective_target_debug-mode):
+       Define "debug-mode" as an effective-target keyword.
+
+2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (__glibcxx_assert_1): Define as empty
+       for C++11.
+
+2020-12-15  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * testsuite/22_locale/locale/cons/5.cc: Add missing directives
+       for required locales.
+
+2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (incrementable_traits<Tp>):
+       Remove workaround for PR c++/78173.
+
+2020-12-15  Vladimir Vishnevsky  <vv.os.swe@gmail.com>
+
+       * configure.ac: Skip AC_LIBTOOL_DLOPEN check if avr-libc is used.
+       * configure: Regenerate.
+
+2020-12-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98108
+       * include/std/iostream (__ioinit): Add init_priority attribute.
+
+2020-12-15  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/codecvt.xml: Update link to Unicode-HOWTO.
+       * doc/html/manual/facets.html: Regenerate.
+
+2020-12-14  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/23_containers/array/debug/back1_neg.cc: Target c++14 because assertion
+       is disabled in C++11.
+       * testsuite/23_containers/array/debug/front1_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: Likewise.
+
+2020-12-14  Martin Sebor  <msebor@redhat.com>
+
+       * testsuite/ext/vstring/requirements/exception/basic.cc: Suppress
+       a false positive warning.
+       * testsuite/ext/vstring/requirements/exception/propagation_consistent.cc:
+         Same.
+
+2020-12-14  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/23_containers/array/debug/back2_neg.cc: target c++14 because assertion
+       for constexpr is disabled in C++11.
+       * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Include <memory>
+       for shared_ptr.
+
+2020-12-12  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/macros.h (__glibcxx_check_can_increment_range): Replace
+       _GLIBCXX_DEBUG_VERIFY_COND_AT usage with _GLIBCXX_DEBUG_VERIFY_AT_F.
+       (__glibcxx_check_can_decrement_range): Likewise.
+       * testsuite/25_algorithms/copy_backward/constexpr.cc (test03): New.
+       * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: New test.
+       * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: New test.
+       * testsuite/25_algorithms/equal/constexpr_neg.cc: New test.
+       * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: New test.
+
+2020-12-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98226
+       * include/std/bit (__countl_one, __countr_one): Remove redundant
+       branches.
+
+2020-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Define NO_SLEEP
+       if none of nanosleep, sleep and Sleep is available.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/std/thread [_GLIBCXX_NO_SLEEP] (__sleep_for): Do
+       not declare.
+       [_GLIBCXX_NO_SLEEP] (sleep_for, sleep_until): Do not
+       define.
+       * src/c++11/thread.cc [_GLIBCXX_NO_SLEEP] (__sleep_for): Do
+       not define.
+
+2020-12-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96299
+       * testsuite/18_support/comparisons/algorithms/partial_order.cc:
+       One more line needs to use VERIFY instead of static_assert.
+
+2020-12-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/appendix_contributing.xml: Use consistent
+       indentation.
+       * doc/html/manual/source_code_style.html: Regenerate.
+
+2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/97865
+       * configure: Regenerate.
+
+2020-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/80780
+       * testsuite/18_support/source_location/1.cc (main): Adjust for
+       __builtin_source_location using __PRETTY_FUNCTION__-like names instead
+       __FUNCTION__-like.
+       * testsuite/18_support/source_location/consteval.cc (main): Likewise.
+
+2020-12-03  Martin Sebor  <msebor@redhat.com>
+
+       * testsuite/ext/vstring/modifiers/clear/56166.cc: Suppress a false
+       positive warning.
+
+2020-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Remove stray
+       word from copy&paste.
+       * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
+
+2020-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml: Update C++20 status.
+       * doc/html/*: Regenerate.
+
+2020-12-03  JeanHeyd Meneide  <phdofthehouse@gmail.com>
+
+       * doc/doxygen/user.cfg.in (INPUT): Add <source_location>.
+       * include/Makefile.am: Add <source_location>.
+       * include/Makefile.in: Regenerate.
+       * include/std/version (__cpp_lib_source_location): Define.
+       * include/std/source_location: New file.
+       * testsuite/18_support/source_location/1.cc: New test.
+       * testsuite/18_support/source_location/consteval.cc: New test.
+       * testsuite/18_support/source_location/srcloc.h: New test.
+       * testsuite/18_support/source_location/version.cc: New test.
+
+2020-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93121
+       * include/std/bit (__cpp_lib_bit_cast, bit_cast): Define.
+       * include/std/version (__cpp_lib_bit_cast): Define.
+       * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: New test.
+       * testsuite/26_numerics/bit/bit.cast/version.cc: New test.
+
+2020-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt:
+       Update.
+       * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
+       Update.
+
+2020-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/array (array::operator[](size_t) const, array::front() const)
+       (array::back() const) [__cplusplus == 201103]: Disable
+       assertions.
+       * testsuite/23_containers/array/element_access/constexpr_element_access.cc:
+       Check for correct values.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+       Adjust dg-error line numbers.
+       * testsuite/23_containers/array/debug/constexpr_c++11.cc: New test.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/65480
+       PR libstdc++/68735
+       * python/libstdcxx/v6/printers.py (function_pointer_to_name):
+       New helper function to get the name of a function from its
+       address.
+       (StdExpAnyPrinter.__init__): Use it.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/dg-options.exp (add_options_for_libatomic):
+       Replace powerpc-ibm-aix* and powerpc*-*-darwin* with check for
+       powerpc && ilp32.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_istream/ignore/char/94749.cc: Add
+       dg-timeout-factor for ilp32 targets.
+       * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc:
+       Likewise.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/rope (rope::_S_concat_char_iter)
+       (rope::_S_destr_concat_char_iter): Add allocator parameter.
+       (rope::push_back, rope::append, rope::insert, operator+):
+       Pass allocator.
+       * include/ext/ropeimpl.h (rope::_S_concat_char_iter)
+       (rope::_S_destr_concat_char_iter): Add allocator parameter
+       and use it.
+       (_Rope_char_ref_proxy::operator=(_CharT)): Pass allocator.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/rope: Fix indentation of access specifiers.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h: Use #if instead of #ifdef.
+       * include/bits/semaphore_base.h: Likewise.
+       * include/std/version: Remove trailing whitespace.
+
+2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the
+       name of the type and pass it to the iterator.
+       (StdPathPrinter): Likewise.
+       * testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test.
+
+2020-12-01  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/bits/atomic_base.h: Replace usage of
+       _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait.
+       * include/bits/atomic_timed_wait.h: Likewise.
+       * include/bits/atomic_wait.h: Define __cpp_lib_atomic_wait
+       feature test macro.
+       * include/bits/semaphore_base.h: Replace usage of
+       _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait.
+       * include/std/atomic: Likewise.
+       * include/std/latch: Likewise.
+       * include/std/semaphore: Likewise.
+       * include/std/version: Define __cpp_lib_atomic wait
+       feature test macro and replace usage of
+       _GLIBCXX_HAVE_ATOMIC_WAIT.
+       * testsuite/29_atomics/atomic/wait_notify/1.cc: New test.
+       * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
+
+2020-12-01  Michael Weghorn  <m.weghorn@posteo.de>
+
+       * python/libstdcxx/v6/printers.py (StdBitIteratorPrinter)
+       (StdBitReferencePrinter): Add pretty-printers for
+       _Bit_reference, _Bit_iterator and _Bit_const_iterator.
+       * testsuite/libstdc++-prettyprinters/simple.cc: Test
+       std::_Bit_reference, std::_Bit_iterator and
+       std::_Bit_const_iterator.
+       * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
+
+2020-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Define macro to
+       work around different implementations of __has_builtin.
+       (_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP)
+       (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE)
+       (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED)
+       (_GLIBCXX_HAVE_BUILTIN_IS_SAME, _GLIBCXX_HAVE_BUILTIN_LAUNDER):
+       Define using _GLIBCXX_HAS_BUILTIN.
+
+2020-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Add
+       dg-timeout-factor directive.
+       * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc:
+       Likewise.
+
+2020-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98003
+       * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Add options for
+       libatomic.
+
+2020-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (INPUT): Add <latch> and <semaphore>.
+
+2020-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (libstdc++_init): Reduce
+       default tool_timeout to 360.
+
+2020-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/specialized_algorithms/pstl/*: Add
+       dg-timeout-factor.
+       * testsuite/25_algorithms/pstl/*: Likewise.
+       * testsuite/26_numerics/pstl/*: Likewise.
+       * testsuite/28_regex/*: Likewise.
+
+2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       * configure: Regenerate.
+
+2020-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (v3_try_preprocess): Define
+       new proc to preprocess a chunk of code.
+       (v3_check_preprocessor_condition): Define new proc to test
+       a preprocessor condition depending on GCC or libstdc++ macros.
+       (check_v3_target_debug_mode, check_v3_target_normal_mode):
+       Use v3_try_preprocess.
+       (check_v3_target_normal_namespace)
+       (check_v3_target_parallel_mode, check_v3_target_cstdint)
+       (check_v3_target_cmath, check_v3_target_atomic_builtins)
+       (check_v3_target_gthreads, check_v3_target_gthreads_timed)
+       (check_v3_target_sleep, check_v3_target_sched_yield)
+       (check_v3_target_string_conversions, check_v3_target_swprintf)
+       (check_v3_target_binary_io, check_v3_target_nprocs): Use
+       v3_check_preprocessor_condition.
+       (check_effective_target_cxx11): Likewise.
+       (check_effective_target_random_device): Likewise.
+       (check_effective_target_tbb-backend): Likewise.
+       (check_effective_target_futex): Likewise.
+       (check_v3_target_little_endian) Call check_effective_target_le.
+       (check_effective_target_atomic-builtins): New proc to define
+       new effective-target keyword.
+       (check_effective_target_gthreads-timed): Likewise.
+
+2020-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/operations/absolute.cc: Avoid
+       -Wrange-loop-construct warning.
+       * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
+       * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/path/decompose/extension.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/relative_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/root_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_extension.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_parent_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_root_name.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_root_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
+       * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/absolute.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
+       * testsuite/experimental/filesystem/path/compare/path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/construct/copy.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/root_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/itr/traversal.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_name.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_stem.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/is_relative.cc:
+       Likewise.
+
+2020-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++98/locale.cc (locale::facet::_S_get_c_locale()):
+       Revert change to use __is_single_threaded.
+       * src/c++98/locale_init.cc (locale::_S_initialize()):
+       Likewise.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_wait.h (_GLIBCXX_HAVE_ATOMIC_WAIT):
+       Define.
+       * include/bits/atomic_base.h: Check _GLIBCXX_HAVE_ATOMIC_WAIT.
+       * include/bits/atomic_timed_wait.h: Likewise.
+       * include/bits/semaphore_base.h: Likewise.
+       * include/std/atomic: Likewise.
+       * include/std/latch: Likewise.
+       * include/std/semaphore: Likewise.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/latch: Depend on _GLIBCXX_HAS_GTHREADS and
+       _GLIBCXX_HAVE_LINUX_FUTEX.
+       * include/std/version (__cpp_lib_latch): Define conditionally.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (check_effective_target_gthreads):
+       Call check_v3_target_gthreads not check_v3_target_gthreads_timed.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
+       Add dg-timeout-factor directive.
+       * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
+       * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
+       Likewise.
+       * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
+       Likewise.
+       * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (libstdc++_init): Only set
+       tool_timeout if it hasn't been set by the user already.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Fix missed
+       notifications by making the new thread wait until the parent
+       thread is waiting on the condition variable.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/96817.cc: Use new effective-target
+       keywords to select supported targets more effectively.
+       * testsuite/30_threads/call_once/66146.cc: Likewise.
+       * testsuite/lib/libstdc++.exp (check_effective_target_futex):
+       Define new proc.
+       (check_effective_target_gthreads): Define new proc to replace
+       dg-require-gthreads.
+
+2020-11-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Remove libposix4
+       references.
+       <solaris*>: Don't use -lrt any longer.
+       * configure: Regenerate.
+       * doc/xml/manual/configure.xml (--enable-libstdcxx-time=OPTION):
+       Remove libposix4 reference.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98001
+       * testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid
+       FILE* to constructor.
+
+2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/precompiled/stdc++.h: Add new headers.
+       * include/std/stop_token: Include <semaphore> unconditionally.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__cond_wait_until): Do not
+       perform redundant conversions to the same clock.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
+       Do not define when _GLIBCXX_HAVE_LINUX_FUTEX is defined. Use
+       __condvar and mutex instead of __gthread_cond_t and
+       unique_lock<mutex>.
+       (__cond_wait_until): Likewise. Fix test for return value of
+       __cond_wait_until_impl.
+       (__timed_waiters::_M_do_wait_until): Use __condvar instead
+       of __gthread_cond_t.
+       * include/bits/atomic_wait.h: Remove <bits/unique_lock.h>
+       include. Only include <bits/std_mutex.h> if not using futexes.
+       (__platform_wait_max_value): Remove unused variable.
+       (__waiters::lock_t): Use lock_guard instead of unique_lock.
+       (__waiters::_M_cv): Use __condvar instead of __gthread_cond_t.
+       (__waiters::_M_do_wait(__platform_wait_t)): Likewise.
+       (__waiters::_M_notify()): Likewise. Use notify_one() if not
+       asked to notify all.
+       * include/bits/std_mutex.h (__condvar): New type.
+       * include/std/condition_variable (condition_variable::_M_cond)
+       (condition_variable::wait_until): Use __condvar instead of
+       __gthread_cond_t.
+       * src/c++11/condition_variable.cc (condition_variable): Define
+       default constructor and destructor as defaulted.
+       (condition_variable::wait, condition_variable::notify_one)
+       (condition_variable::notify_all): Forward to corresponding
+       member function of __condvar.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Re-eneable
+       test.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+       * testsuite/util/atomic/wait_notify_util.h: Fix missed
+       notifications by making the new thread wait until the parent
+       thread is waiting on the condition variable.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97935
+       * include/bits/iterator_concepts.h (__detail::__iter_without_category):
+       New helper concept.
+       (__iterator_traits::__cat): Use __detail::__iter_without_category.
+       * testsuite/24_iterators/associated_types/iterator.traits.cc: New test.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Do not test 'v' on AIX.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * include/bits/atomic_wait.h (__platform_wait): Check errno,
+       not just the value of EAGAIN.
+       (__waiters::__waiters()): Fix name of data member.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * include/bits/atomic_wait.h (__platform_wait): Return if futex
+       sets EAGAIN.
+       * testsuite/30_threads/latch/3.cc: Re-enable test.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+
+2020-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       PR libstdc++/97944
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Disable.
+       Do not require pthreads, but add -pthread when appropriate.
+       * testsuite/30_threads/jthread/95989.cc: Likewise.
+       * testsuite/30_threads/latch/3.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+
+2020-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/jthread/95989.cc: Run all three test
+       functions, not just the first one twice.
+
+2020-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/67791
+       * src/c++11/thread.cc (thread::_M_start_thread(_State_ptr, void (*)())):
+       Check that gthreads is available before calling __gthread_create.
+
+2020-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++98/locale.cc (locale::facet::_S_get_c_locale())
+       (locale::id::_M_id() const): Use __is_single_threaded.
+       * src/c++98/locale_init.cc (locale::_S_initialize()):
+       Likewise.
+
+2020-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/semaphore_base.h
+       (__platform_semaphore::_M_try_acquire_until): Fix type of
+       variable.
+
+2020-11-23  Stephan Bergmann  <sbergman@redhat.com>
+
+       * include/bits/atomic_wait.h (__thread_relax, __thread_yield):
+       Add 'inline'.
+
+2020-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE):
+       Check autoconf macro instead of defining it here.
+
+2020-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_wait.h: Do not define anything unless
+       gthreads or futexes are available.
+       * include/bits/atomic_timed_wait.h: Likewise.
+       * include/bits/semaphore_base.h: Likewise.
+       * include/std/semaphore: Likewise.
+       * include/bits/atomic_base.h (atomic_flag::wait)
+       (atomic_flag::notify_one, atomic_flag::notify_all)
+       (__atomic_base<I>::wait, __atomic_base<I>::notify_one)
+       (__atomic_base<I>::notify_all, __atomic_base<P*>::wait)
+       (__atomic_base<P*>::notify_one, __atomic_base<P*>::notify_all)
+       (__atomic_impl::wait, __atomic_impl::notify_one)
+       (__atomic_impl::notify_all, __atomic_float::wait)
+       (__atomic_float::notify_one, __atomic_float::notify_all)
+       (__atomic_ref::wait, __atomic_ref::notify_one)
+       (__atomic_ref::notify_all): Only define if gthreads or futexes
+       are available.
+       * include/std/atomic (atomic::wait, atomic::notify_one)
+       (atomic::notify_all): Likewise.
+       * include/std/version (__cpp_lib_semaphore): Define
+       conditionally.
+
+2020-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97948
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Add options
+       for libatomic.
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
+
+2020-11-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h (atomic_flag::wait): Use correct
+       type for __atomic_wait call.
+       * include/bits/atomic_timed_wait.h (__atomic_wait_until): Check
+       _GLIBCXX_HAVE_LINUX_FUTEX.
+       * include/bits/atomic_wait.h (__atomic_notify): Likewise.
+       * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE):
+       Only define if SEM_VALUE_MAX or _POSIX_SEM_VALUE_MAX is defined.
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Disable on
+       non-linux targes.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+
+2020-11-20  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/Makefile.am (bits_headers): Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/atomic_base.h (__atomic_flag::wait): Define.
+       (__atomic_flag::notify_one): Likewise.
+       (__atomic_flag::notify_all): Likewise.
+       (__atomic_base<_Itp>::wait): Likewise.
+       (__atomic_base<_Itp>::notify_one): Likewise.
+       (__atomic_base<_Itp>::notify_all): Likewise.
+       (__atomic_base<_Ptp*>::wait): Likewise.
+       (__atomic_base<_Ptp*>::notify_one): Likewise.
+       (__atomic_base<_Ptp*>::notify_all): Likewise.
+       (__atomic_impl::wait): Likewise.
+       (__atomic_impl::notify_one): Likewise.
+       (__atomic_impl::notify_all): Likewise.
+       (__atomic_float<_Fp>::wait): Likewise.
+       (__atomic_float<_Fp>::notify_one): Likewise.
+       (__atomic_float<_Fp>::notify_all): Likewise.
+       (__atomic_ref<_Tp>::wait): Likewise.
+       (__atomic_ref<_Tp>::notify_one): Likewise.
+       (__atomic_ref<_Tp>::notify_all): Likewise.
+       (atomic_wait<_Tp>): Likewise.
+       (atomic_wait_explicit<_Tp>): Likewise.
+       (atomic_notify_one<_Tp>): Likewise.
+       (atomic_notify_all<_Tp>): Likewise.
+       * include/bits/atomic_wait.h: New file.
+       * include/bits/atomic_timed_wait.h: New file.
+       * include/bits/semaphore_base.h: New file.
+       * include/std/atomic (atomic<bool>::wait): Define.
+       (atomic<bool>::wait_one): Likewise.
+       (atomic<bool>::wait_all): Likewise.
+       (atomic<_Tp>::wait): Likewise.
+       (atomic<_Tp>::wait_one): Likewise.
+       (atomic<_Tp>::wait_all): Likewise.
+       (atomic<_Tp*>::wait): Likewise.
+       (atomic<_Tp*>::wait_one): Likewise.
+       (atomic<_Tp*>::wait_all): Likewise.
+       * include/std/latch: New file.
+       * include/std/semaphore: New file.
+       * include/std/version: Add __cpp_lib_semaphore and
+       __cpp_lib_latch defines.
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: New test.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Liekwise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
+       * testsuite/30_threads/semaphore/1.cc: New test.
+       * testsuite/30_threads/semaphore/2.cc: Likewise.
+       * testsuite/30_threads/semaphore/least_max_value_neg.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+       * testsuite/30_threads/latch/1.cc: New test.
+       * testsuite/30_threads/latch/2.cc: New test.
+       * testsuite/30_threads/latch/3.cc: New test.
+       * testsuite/util/atomic/wait_notify_util.h: New File.
+
+2020-11-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/83938
+       * include/bits/stl_tempbuf.h (get_temporary_buffer): Change __len
+       computation in the loop to avoid truncation.
+       * include/bits/stl_algo.h:
+       (__inplace_merge): Take temporary buffer length from smallest range.
+       (__stable_sort): Limit temporary buffer length.
+       * testsuite/25_algorithms/inplace_merge/1.cc (test4): New.
+       * testsuite/performance/25_algorithms/stable_sort.cc: Test stable_sort
+       under different heap memory conditions.
+       * testsuite/performance/25_algorithms/inplace_merge.cc: New test.
+
+2020-11-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/move.h (_GLIBCXX_FWDREF): New.
+       * include/bits/stl_tree.h: Adapt to use latter.
+       (_Rb_tree<>::_M_clone_node): Add _MoveValue template parameter.
+       (_Rb_tree<>::_M_mbegin): New.
+       (_Rb_tree<>::_M_begin): Use latter.
+       (_Rb_tree<>::_M_copy): Add _MoveValues template parameter.
+       * testsuite/23_containers/map/allocator/move_cons.cc: New test.
+       * testsuite/23_containers/multimap/allocator/move_cons.cc: New test.
+       * testsuite/23_containers/multiset/allocator/move_cons.cc: New test.
+       * testsuite/23_containers/set/allocator/move_cons.cc: New test.
+
+2020-11-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92546
+       * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using
+       underlying __normal_iterator type, not nested typedef
+       basic_string::const_iterator.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95989
+       * config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID):
+       Define new macro to get reliable thread ID.
+       * include/bits/std_thread.h: (this_thread::get_id): Use new
+       macro if it's defined.
+       * testsuite/30_threads/jthread/95989.cc: New test.
+       * testsuite/30_threads/this_thread/95989.cc: New test.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/async/async.cc: Include <thread>.
+       * testsuite/30_threads/future/members/93456.cc: Likewise.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92546
+       * include/Makefile.am: Add new <bits/std_thread.h> header.
+       * include/Makefile.in: Regenerate.
+       * include/std/future: Include new header instead of <thread>.
+       * include/std/stop_token: Include new header instead of
+       <bits/gthr.h>.
+       (stop_token::_S_yield()): Use this_thread::yield().
+       (_Stop_state_t::_M_requester): Change type to std::thread::id.
+       (_Stop_state_t::_M_request_stop()): Use this_thread::get_id().
+       (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Likewise.
+       Use __is_single_threaded() to decide whether to synchronize.
+       * include/std/thread (thread, operator==, this_thread::get_id)
+       (this_thread::yield): Move to new header.
+       (operator<=>, operator!=, operator<, operator<=, operator>)
+       (operator>=, hash<thread::id>, operator<<): Define even when
+       gthreads not available.
+       * src/c++11/thread.cc: Include <memory>.
+       * include/bits/std_thread.h: New file.
+       (thread, operator==, this_thread::get_id, this_thread::yield):
+       Define even when gthreads not available.
+       [!_GLIBCXX_HAS_GTHREADS] (thread::join, thread::detach)
+       (thread::hardware_concurrency): Define inline.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93421
+       PR libstdc++/93456
+       * src/c++11/futex.cc (syscall_time_t): New typedef for
+       the type of the syscall_timespec::tv_sec member.
+       (relative_timespec, _M_futex_wait_until)
+       (_M_futex_wait_until_steady): Use syscall_time_t in overflow
+       checks, not time_t.
+
+2020-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify
+       local variable inner.
+       (join_view::_Iterator::operator->): Use _Inner_iter instead of
+       _Outer_iter in the function signature as per LWG 3500.
+       * testsuite/std/ranges/adaptors/join.cc (test08): Test it.
+
+2020-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93421
+       * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Fail if struct
+       timespec isn't compatible with SYS_clock_gettime.
+       * configure: Regenerate.
+       * src/c++11/chrono.cc: Revert changes for time64 compatibility.
+       Add static_assert instead.
+       * src/c++11/futex.cc (_M_futex_wait_until_steady): Assume
+       SYS_clock_gettime can use struct timespec.
+
+2020-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97869
+       * include/precompiled/stdc++.h: Include <coroutine>.
+       * include/std/version (__cpp_lib_span): Check __cpp_lib_concepts
+       before defining.
+
+2020-11-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/97828
+       * include/bits/ranges_algo.h (__search_n_fn::operator()): Check
+       random_access_iterator before using the backtracking
+       implementation.  When the backwards scan fails prematurely,
+       reset __remainder appropriately.
+       * testsuite/25_algorithms/search_n/97828.cc: New test.
+
+2020-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from
+       arguments passed to make_sunver.pl script.
+       * src/Makefile.in: Regenerate.
+
+2020-11-15  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/20_util/result_of/sfinae_friendly_1.cc: Adjust.
+
+2020-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93421
+       * src/c++11/chrono.cc [_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL]
+       (syscall_timespec): Define a type suitable for SYS_clock_gettime
+       calls.
+       (system_clock::now(), steady_clock::now()): Use syscall_timespec
+       instead of timespec.
+       * src/c++11/futex.cc (syscall_timespec): Define a type suitable
+       for SYS_futex and SYS_clock_gettime calls.
+       (relative_timespec): Use syscall_timespec instead of timespec.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until): Likewise.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until_steady):
+       Likewise.
+
+2020-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93456
+       * src/c++11/futex.cc (relative_timespec): Remove redundant check
+       negative values.
+       * testsuite/30_threads/future/members/wait_until_overflow.cc: Moved to...
+       * testsuite/30_threads/future/members/93456.cc: ...here.
+
+2020-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/futex.cc (relative_timespec): Add [[unlikely]]
+       attributes.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until)
+       (__atomic_futex_unsigned_base::_M_futex_wait_until_steady):
+       Check for overflow.
+       * testsuite/30_threads/future/members/wait_until_overflow.cc:
+       New test.
+
+2020-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/futex.cc (relative_timespec): New function to
+       create relative time from two absolute times.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until)
+       (__atomic_futex_unsigned_base::_M_futex_wait_until_steady):
+       Use relative_timespec.
+
+2020-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/future/members/poll.cc: Require gthreads
+       and add -pthread for targets that require it. Relax required
+       ratio of wait_for calls before/after the future is ready.
+
+2020-11-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/future (future::wait_for): Do not wait for
+       durations less than or equal to zero.
+       * src/c++11/futex.cc (_M_futex_wait_until)
+       (_M_futex_wait_until_steady): Do not wait for timeouts before
+       the epoch.
+       * testsuite/30_threads/future/members/poll.cc: New test.
+
+2020-11-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/numeric_traits.h (__numeric_traits): Change
+       primary template to always derive from __numeric_traits_integer.
+       (__numeric_traits<float>, __numeric_traits<double>)
+       (__numeric_traits<long double>): Add explicit specializations.
+
+2020-11-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97798
+       * include/ext/numeric_traits.h (__glibcxx_signed)
+       (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
+       macros.
+       (__is_integer_nonstrict::__width): Define new constant.
+       (__numeric_traits_integer): Define constants in terms of each
+       other and __is_integer_nonstrict::__width, rather than the
+       removed macros.
+       (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
+       specializations for non-standard integer types.
+
+2020-11-11  Jonathan Yong  <10walls@gmail.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Exclude
+       cygwin and mingw from relro linker test.
+       * configure: Regenerate.
+
+2020-11-11  Paul Scharnofske  <asynts@gmail.com>
+
+       * include/std/thread (jthread::operator=(jthread&&)): Transfer
+       any existing state to a temporary that will request a stop and
+       then join.
+       * testsuite/30_threads/jthread/jthread.cc: Test move assignment.
+
+2020-11-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/stop_token (_Stop_state_t::_M_requester): Define
+       new struct with members to store and check the thread ID.
+       (_Stop_state_t::_M_request_stop()): Use _M_requester._M_set().
+       (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Use
+       _M_requester._M_is_current_thread().
+
+2020-11-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ostream (__syncbuf_base): New class template.
+       (emit_on_flush, noemit_on_flush, flush_emit): New manipulators.
+       * include/std/syncstream (basic_syncbuf): Derive from
+       __syncbuf_base instead of basic_streambuf.
+       (basic_syncbuf::operator=): Remove self-assignment check.
+       (basic_syncbuf::swap): Remove self-swap check.
+       (basic_syncbuf::emit): Do not skip pubsync() call if sequence
+       is empty.
+       (basic_syncbuf::sync): Remove no-op pubsync on stringbuf.
+       (basic_syncbuf::overflow): Define override.
+       * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Test
+       basic_osyncstream::put(char_type).
+       * testsuite/27_io/basic_ostream/emit/1.cc: New test.
+
+2020-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/locale/generic/c_locale.cc (__set_C_locale()): New function
+       to set the "C" locale and return the name of the previous locale.
+       (__convert_to_v<float>, __convert_to_v<double>)
+       (__convert_to_v<long double>): Use __set_C_locale and set failbit on
+       error.
+
+2020-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/sstream (basic_stringbug, basic_istringstream)
+       (basic_ostringstream, basic_stringstream): Reorder C++20
+       constructors to be declared next to other constructors.
+
+2020-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns.
+       (GLIBCXX_3.4.29): Export new symbols.
+       * include/bits/alloc_traits.h (__allocator_like): New concept.
+       * include/std/sstream (basic_stringbuf::swap): Add exception
+       specification.
+       (basic_stringbuf::str() const): Add ref-qualifier. Use new
+       _M_high_mark function.
+       (basic_stringbuf::str(const SAlloc&) const): Define new function.
+       (basic_stringbuf::str() &&): Likewise.
+       (basic_stringbuf::str(const basic_string<C,T,SAlloc>&)):
+       Likewise.
+       (basic_stringbuf::str(basic_string<C,T,Alloc>&&)): Likewise.
+       (basic_stringbuf::view() const): Use _M_high_mark.
+       (basic_istringstream::str, basic_ostringstream::str)
+       (basic_stringstream::str): Define new overloads.
+       * src/c++20/sstream-inst.cc (basic_stringbuf::str)
+       (basic_istringstream::str, basic_ostringstream::str)
+       (basic_stringstream::str): Explicit instantiation definitions
+       for new overloads.
+       * testsuite/27_io/basic_istringstream/view/char/1.cc: Add more
+       checks.
+       * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostringstream/view/char/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_stringstream/view/char/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_istringstream/str/char/2.cc: New test.
+       * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: New test.
+       * testsuite/27_io/basic_ostringstream/str/char/3.cc: New test.
+       * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: New test.
+       * testsuite/27_io/basic_stringbuf/str/char/4.cc: New test.
+       * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: New test.
+       * testsuite/27_io/basic_stringstream/str/char/5.cc: New test.
+       * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: New test.
+
+2020-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97415
+       * include/std/sstream (basic_stringbuf::_M_update_egptr)
+       (basic_stringbuf::__xfer_bufptrs::__xfer_bufptrs): Check for
+       null before comparing pointers.
+
+2020-11-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/array: Remove.
+       * include/Makefile.am: Remove <debug/array>.
+       * include/Makefile.in: Regenerate.
+       * include/experimental/functional: Adapt.
+       * include/std/array: Move to _GLIBCXX_INLINE_VERSION namespace.
+       * include/std/functional: Adapt.
+       * include/std/span: Adapt.
+       * testsuite/23_containers/array/debug/back1_neg.cc:
+       Remove dg-require-debug-mode. Add -D_GLIBCXX_ASSERTIONS option.
+       * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/front1_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/array/element_access/60497.cc
+       * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
+       Remove.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc
+       * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc
+       * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc
+
+2020-11-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/assertions.h (__glibcxx_requires_non_empty_range):
+       Remove __builtin_expect.
+       (__glibcxx_requires_subscript): Likewise.
+       (__glibcxx_requires_nonempty): Likewise.
+       * include/debug/formatter.h (__check_singular): Add C++11 constexpr
+       qualification.
+       * include/debug/helper_functions.h (__check_singular): Likewise. Skip
+       check if constant evaluated.
+       (__valid_range): Do not skip check if constant evaluated.
+       * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Add
+       __builtin_expect.
+       (_GLIBCXX_DEBUG_VERIFY_AT_F): Use __glibcxx_assert_1.
+       * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: New test.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: New test.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: New test.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: New test.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
+       New test.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: New test.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: New test.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: New test.
+       * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: New test.
+       * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: New test.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: New test.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: New test.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: New test.
+       * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: New test.
+       * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: New test.
+
+2020-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/uniform_int_dist.h (__detail::_Power_of_2):
+       Document that true result for zero is intentional.
+
+2020-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/bit (__popcount): Remove redundant check for zero.
+
+2020-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97729
+       * libsupc++/exception_ptr.h (exception_ptr::exception_ptr())
+       (exception_ptr::exception_ptr(const exception_ptr&))
+       (exception_ptr::~exception_ptr()): Remove 'always_inline'
+       attributes. Use 'inline' unconditionally.
+
+2020-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97758
+       * include/bits/std_function.h [!__cpp_rtti]: Include <typeinfo>.
+
+2020-11-07  Liu Hao  <lh_mouse@126.com>
+
+       * libsupc++/cxxabi.h: (__cxa_atexit): mark with _GLIBCXX_CDTOR_CALLABI
+       (__cxa_thread_atexit): ditto
+       * libsupc++/atexit_thread.cc: (__cxa_atexit): mark with
+       _GLIBCXX_CDTOR_CALLABI
+       (__cxa_thread_atexit): ditto
+       (elt): ditto
+
+2020-11-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten up patterns
+       for basic_stringbuf that refer to __xfer_bufptrs.
+
+2020-11-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/25814
+       * testsuite/20_util/reference_wrapper/lwg2993.cc: Add a dg-warning.
+       * testsuite/25_algorithms/generate_n/87982_neg.cc: Likewise.
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96269
+       * include/std/optional (operator==, operator!=, operator<)
+       (operator>, operator<=, operator>=): Fix types used in
+       SFINAE constraints.
+       * testsuite/20_util/optional/relops/96269.cc: New test.
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97731
+       * src/filesystem/dir.cc (recursive_directory_iterator): Call the
+       right overload of _Dir::advance.
+       * testsuite/experimental/filesystem/iterators/97731.cc: New test.
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97729
+       * include/std/future (__basic_future::_M_get_result): Use
+       nullptr for null pointer constant.
+       * libsupc++/eh_ptr.cc (operator==, operator!=): Remove
+       definitions.
+       * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Define
+       macro to conditionally add __attribute__((__used__)).
+       (operator==, operator!=, exception_ptr::exception_ptr())
+       (exception_ptr::exception_ptr(const exception_ptr&))
+       (exception_ptr::~exception_ptr())
+       (exception_ptr::operator=(const exception_ptr&))
+       (exception_ptr::swap(exception_ptr&)): Always define as
+       inline. Add macro to be conditionally "used".
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97729
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports.
+       * src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate
+       private constructor taking __xfer_bufptrs.
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/sstream (basic_stringbuf(const allocator_type&):
+       Add explicit.
+       (basic_stringbuf(const basic_string<C,T,SA>&, openmode, const A&)):
+       Call _M_stringbuf_init. Construct _M_string from pointer and length
+       to avoid constraint checks for string view.
+       (basic_stringbuf::view()): Make __sv_type alias local to the
+       function.
+       (basic_istringstream(const basic_string<C,T,SA>&, openmode, const A&)):
+       Pass string to _M_streambuf instead of constructing a temporary
+       with the wrong allocator.
+       (basic_ostringstream(const basic_string<C,T,SA>&, openmode, const A&)):
+       Likewise.
+       (basic_stringstream(const basic_string<C,T,SA>&, openmode, const A&)):
+       Likewise.
+       * src/c++20/sstream-inst.cc: Use string_view and wstring_view
+       typedefs in explicit instantiations.
+       * testsuite/27_io/basic_istringstream/cons/char/1.cc: Add more
+       tests for constructors.
+       * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
+
+2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/sstream: Adjust whitespace.
+
+2020-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97719
+       * include/std/sstream (basic_stringstream(string_type&&, openmode)):
+       Fix default argument.
+       * testsuite/27_io/basic_stringstream/cons/char/97719.cc: New test.
+
+2020-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/96817.cc: Fail fast if the library is
+       configured to not use futexes.
+
+2020-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94971
+       * include/bits/stl_algo.h (search(FIter, FIter, const Searcher):
+       Adjust #if condition.
+       * include/parallel/algo.h (search(FIter, FIter, const Searcher&):
+       Define new overload for C++17.
+
+2020-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92285
+       * doc/xml/manual/evolution.xml: Document change to base class.
+       * doc/html/manual/api.html: Regenerate.
+
+2020-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd):
+       Use qualified-id to refer to static member functions.
+
+2020-11-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/syncstream: Include <bits/std_mutex.h>
+       unconditionally.
+
+2020-11-03  François Dumont  <fdumont@gcc.gnu.org>
+
+       * config/abi/pre/gnu-versioned-namespace.ver:
+       Add __istream_extract and _Safe_local_iterator_base::_M_attach_single
+       symbols.
+
+2020-11-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/mutex.cc [_GLIBCXX_HAVE_TLS] (__once_proxy): Define
+       separately for TLS targets.
+       [!_GLIBCXX_HAVE_TLS] (__get_once_functor_lock_ptr): Replace with ...
+       (set_lock_ptr): ... this. Set new value and return previous
+       value.
+       [!_GLIBCXX_HAVE_TLS] (__set_once_functor_lock_ptr): Adjust to
+       use set_lock_ptr.
+       [!_GLIBCXX_HAVE_TLS] (__once_proxy): Likewise.
+
+2020-11-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/55394
+       PR libstdc++/66146
+       PR libstdc++/84323
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add new symbols.
+       * include/std/mutex [!_GLIBCXX_HAS_GTHREADS] (once_flag): Define
+       even when gthreads is not supported.
+       (once_flag::_M_once) [_GLIBCXX_HAVE_LINUX_FUTEX]: Change type
+       from __gthread_once_t to int.
+       (once_flag::_M_passive(), once_flag::_M_activate())
+       (once_flag::_M_finish(bool), once_flag::_Active_execution):
+       Define new members for futex and non-threaded implementation.
+       [_GLIBCXX_HAS_GTHREADS] (once_flag::_Prepare_execution): New
+       RAII helper type.
+       (call_once): Use new members of once_flag.
+       * src/c++11/mutex.cc (std::once_flag::_M_activate): Define.
+       (std::once_flag::_M_finish): Define.
+       * testsuite/30_threads/call_once/39909.cc: Do not require
+       gthreads.
+       * testsuite/30_threads/call_once/49668.cc: Likewise.
+       * testsuite/30_threads/call_once/60497.cc: Likewise.
+       * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+       * testsuite/30_threads/call_once/dr2442.cc: Likewise.
+       * testsuite/30_threads/call_once/once_flag.cc: Add test for
+       constexpr constructor.
+       * testsuite/30_threads/call_once/66146.cc: New test.
+       * testsuite/30_threads/call_once/constexpr.cc: Removed.
+       * testsuite/30_threads/once_flag/cons/constexpr.cc: Removed.
+
+2020-11-03  Jonathan Yong  <10walls@gmail.com>
+
+       * src/Makefile.am (libstdc___la_LINK): Add lt_host_flags.
+       * src/Makefile.in: Regenerate.
+
+2020-11-02  Thomas Rodgers  <trodgers@redhat.com>
+
+       * doc/doxygen/user.cfg.in (INPUT): Add new header.
+       * include/Makefile.am (std_headers): Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/precompiled/stdc++.h: Include new header.
+       * include/std/syncstream: New header.
+       * include/std/version: Add __cpp_lib_syncbuf.
+       * testsuite/27_io/basic_syncbuf/1.cc: New test.
+       * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
+       * testsuite/27_io/basic_syncbuf/basic_ops/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_syncbuf/requirements/types.cc:
+       Likewise.
+       * testsuite/27_io/basic_syncbuf/sync_ops/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_syncstream/1.cc: Likewise.
+       * testsuite/27_io/basic_syncstream/2.cc: Likewise.
+       * testsuite/27_io/basic_syncstream/basic_ops/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_syncstream/requirements/types.cc:
+       Likewise.
+
+2020-11-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (is_integral<wchar_t>)
+       (make_unsigned<wchar_t>, make_signed<wchar_t>): Define based
+       on #ifdef __WCHAR_TYPE__ instead of _GLIBCXX_USE_WCHAR_T.
+       * include/bits/cpp_type_traits.h (__is_integer<wchar_t>)
+       (__is_char<wchar_t>): Likewise.
+
+2020-10-31  François Dumont  <fdumont@gcc.gnu.org>
+
+       * src/c++17/floating_from_chars.cc (_GLIBCXX_USE_CX11_ABI): Add define.
+       (buffering_string): New.
+       [!_GLIBCXX_USE_CXX11_ABI](reserve_string): New.
+       (from_chars): Adapt.
+       * src/c++20/sstream-inst.cc: Limit instantiations to
+       _GLIBCXX_USE_CXX11_ABI.
+
+2020-10-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (independent_bit_engine): Fix typo
+       in comment.
+       (shuffle_order_engine): Fix incorrect description in comment.
+       * include/bits/random.tcc (__representable_as_double
+       (__p1_representable_as_double): New helper functions.
+       (shuffle_order_engine::operator()): Use double for calculation
+       if (max() - min() + 1) is representable as double.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2020-10-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96958
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy)
+       (_Power2_rehash_policy): Use ceil and floor instead of ceill and
+       floorl.
+       * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy): Likewise.
+       Use double instead of long double.
+
+2020-10-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/97600
+       * include/std/ranges (basic_istream_view::begin): Initialize
+       _Iterator from 'this' instead of '*this'.
+       (basic_istream_view::_Iterator::_Iterator): Adjust constructor
+       accordingly.
+       (filter_view::_Iterator::_Iterator): Take a filter_view*
+       argument instead of a filter_view& argument.
+       (filter_view::_Sentinel::_Sentinel): Likewise.
+       (filter_view::begin): Initialize _Iterator from 'this' instead
+       of '*this'.
+       (filter_view::end): Likewise.
+       (transform_view::_Iterator::_Iterator): Take a _Parent* instead
+       of a _Parent&.
+       (filter_view::_Iterator::operator+): Adjust accordingly.
+       (filter_view::_Iterator::operator-): Likewise.
+       (filter_view::begin): Initialize _Iterator from 'this' instead
+       of '*this'.
+       (filter_view::end): Likewise.
+       (join_view::_Iterator): Take a _Parent* instead of a _Parent&.
+       (join_view::_Sentinel): Likewise.
+       (join_view::begin): Initialize _Iterator from 'this' instead of
+       '*this'.
+       (join_view::end): Initialize _Sentinel from 'this' instead of
+       '*this'.
+       (split_view::_OuterIter): Take a _Parent& instead of a _Parent*.
+       (split_view::begin): Initialize _OuterIter from 'this' instead
+       of '*this'.
+       (split_view::end): Likewise.
+       * testsuite/std/ranges/97600.cc: New test.
+
+2020-10-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (enable_borrowed_view<take_view<T>>)
+       (enable_borrowed_view<drop_view<T>>)
+       (enable_borrowed_view<drop_while_view<T>>)
+       (enable_borrowed_view<reverse_view<T>>)
+       (enable_borrowed_view<common_view<T>>)
+       (enable_borrowed_view<elements_view<T>>): Add partial
+       specializations as per P2017R1.
+       * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
+       New test.
+
+2020-10-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96958
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy)
+       (_Power2_rehash_policy): Use double instead of long double.
+
+2020-10-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+       Avoid -Wcatch-value warnings.
+
+2020-10-30  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::__box): For the partial
+       specialization used by types that are already semiregular,
+       make the default constructor value-initialize the underlying
+       object instead of default-initializing it.  Make its in place
+       constructor explicit.
+       * testsuite/std/ranges/adaptors/detail/semiregular_box.cc:
+       Augment test.
+
+2020-10-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: XFAIL on AIX.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns
+       for old <sstream> symbols some more.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_util.h (subrange::subrange(R&&)): Use
+       direct-initialization instead of list-initialization, so a
+       potential narrowing conversion from ranges::size(r) to the
+       stored size isn't ill-formed.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/parse_numbers.h (_Select_int_base): Avoid
+       narrowing conversion in constant expression.
+       * include/experimental/buffer (buffer_copy): Avoid narrowing
+       conversion.
+       * include/experimental/internet (hash<>::operator()): Do not
+       use deprecated 'argument_type' member.
+       * include/std/variant (variant::emplace): Use cast instead
+       of implicit conversion from size_t to narrower unsigned type.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/tr1/shared_ptr.h (__shared_count, __shared_ptr)
+       (shared_ptr): Add diagnostic pragmas around uses of auto_ptr.
+       * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+       Adust dg-error line numbers.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/96817.cc: Avoid -Wunused warnings.
+       * testsuite/20_util/any/assign/2.cc: Likewise.
+       * testsuite/20_util/any/cons/2.cc: Likewise.
+       * testsuite/20_util/align/1.cc: Avoid -Wsign-compare warning.
+       * testsuite/20_util/function/65760.cc: Avoid -Wunused warning.
+       * testsuite/20_util/function/1.cc: Avoid -Wcatch-value warning.
+       * testsuite/20_util/function/cons/move_target.cc: Avoid -Wunused
+       warning.
+       * testsuite/20_util/headers/memory/synopsis.cc: Add exception
+       specification.
+       * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Avoid
+       -Wsign-compare warning.
+       * testsuite/20_util/tuple/cons/deduction.cc: Avoid -Wunused
+       warning.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc:
+       Avoid -Wdeprecated-copy warning.
+       * testsuite/21_strings/basic_string/56166.cc: Avoid
+       -Wcatch-value warning.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
+       Avoid -Wcatch-value warnings.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
+       Prune additional diagnostics.
+       * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/headers/string/synopsis.cc: Add exception
+       specifications.
+       * testsuite/22_locale/locale/cons/12352.cc: Define sized
+       delete operators to avoid warnings.
+       * testsuite/23_containers/deque/modifiers/swap/1.cc: Add
+       exception specification.
+       * testsuite/23_containers/forward_list/cons/11.cc: Avoid
+       -Wdeprecated-copy warning.
+       * testsuite/23_containers/headers/bitset/synopsis.cc: Add
+       exception specification.
+       * testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
+       * testsuite/23_containers/headers/forward_list/synopsis.cc:
+       Likewise.
+       * testsuite/23_containers/headers/list/synopsis.cc: Likewise.
+       * testsuite/23_containers/headers/map/synopsis.cc: Likewise.
+       * testsuite/23_containers/headers/queue/synopsis.cc: Likewise.
+       * testsuite/23_containers/headers/set/synopsis.cc: Likewise.
+       * testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
+       * testsuite/23_containers/list/modifiers/swap/1.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/swap/1.cc: Likewise.
+       * testsuite/23_containers/multimap/modifiers/swap/1.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/modifiers/swap/1.cc:
+       Likewise.
+       * testsuite/23_containers/set/modifiers/swap/1.cc: Likewise.
+       * testsuite/23_containers/unordered_set/56267-2.cc: Avoid
+       -Wdeprecated-copy warning.
+       * testsuite/23_containers/vector/bool/23632.cc: Avoid
+       -Wempty-body warning.
+       * testsuite/23_containers/vector/modifiers/swap/1.cc: Add
+       exception specification.
+       * testsuite/25_algorithms/heap/moveable2.cc: Fix misplaced
+       parentheses around arguments.
+       * testsuite/25_algorithms/sample/1.cc: Use return value.
+       * testsuite/25_algorithms/search/searcher.cc: Avoid -Wunused
+       warnings.
+       * testsuite/27_io/basic_ostream/exceptions/char/9561.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/remove_all.cc: Avoid
+       -Wsign-compare warning.
+       * testsuite/experimental/any/assign/2.cc: Avoid -Wunused warnings.
+       * testsuite/experimental/any/cons/2.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/remove_all.cc:
+       Avoid -Wign-compare warning.
+       * testsuite/experimental/memory/observer_ptr/cons/cons.cc:
+       Likewise.
+       * testsuite/experimental/memory_resource/null_memory_resource.cc:
+       Likewise.
+       * testsuite/experimental/source_location/1.cc: Avoid -Waddress
+       warning.
+       * testsuite/ext/pod_char_traits.cc: Avoid -Wunused warning.
+       * testsuite/ext/vstring/modifiers/clear/56166.cc: Avoid
+       -Wcatch-value.
+       * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
+       Avoid -Wunused warning.
+       * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc:
+       Likewise.
+       * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+       Prune additional warnings.
+       * testsuite/tr1/3_function_objects/function/1.cc: Avoid
+       -Wcatch-value warning.
+       * testsuite/util/replacement_memory_operators.h: Define sized
+       delete to avoid warnings.
+       * testsuite/util/testsuite_api.h (_NonDefaultConstructible): Add
+       user-declared assignment operator to stop -Wdeprecated-copy
+       warnings.
+       * testsuite/util/testsuite_containers.h: Avoid -Wunused warning.
+       * testsuite/util/testsuite_iterators.h: Avoid -Wsign-compare
+       warnings.
+       * testsuite/util/testsuite_new_operators.h: Define sized deleted.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/all_of/constexpr.cc: Check result of
+       the algorithm.
+       * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/count/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
+       Likewise.
+       * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
+       Likewise.
+       * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/search/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/set_intersection/constexpr.cc:
+       Likewise.
+       * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
+       Likewise.
+       * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/uniform_int_dist.h (_Power_of_two): Add
+       constexpr.
+       (uniform_int_distribution::_S_nd): Add static_assert to ensure
+       the wider type is twice as wide as the result type.
+       (uniform_int_distribution::__generate_impl): Add static_assert
+       and declare variables as constexpr where appropriate.
+       (uniform_int_distribution:operator()): Likewise. Only consider
+       the uniform random bit generator's range of possible results
+       when deciding whether _S_nd can be used, not the __uctype type.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/rope (_Refcount_Base::_M_ref_count): Remove
+       volatile qualifier.
+       (_Refcount_Base::_M_decr()): Likewise.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (_Function_handler<void, void>):
+       Define explicit specialization used for invalid target types.
+       (_Base_manager::_M_manager) [!__cpp_rtti]: Return null.
+       (function::target_type()): Check for null pointer.
+       (function::target()): Define unconditionall. Fix bug with
+       const_cast of function pointer type.
+       (function::target() const): Define unconditionally, but
+       only use RTTI if enabled.
+       * testsuite/20_util/function/target_no_rtti.cc: New test.
+
+2020-10-29  Patrick Palka  <ppalka@redhat.com>
+
+       * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
+       (test03): Fix initializing the vector vy with the array y of size 4.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/hashtable_policy.h (_Local_iterator_base): Cast
+       value to avoid -Wsign-compare warnings.
+       * include/bits/regex.h (sub_match::_M_str): Avoid narrowing
+       conversion.
+       * include/bits/regex_compiler.tcc (_Compiler::_M_quantifier):
+       Initialize variable to avoid -Wmaybe-uninitialized warning.
+       * include/bits/shared_ptr_base.h (_Sp_counted_deleter::_Impl):
+       Reorder mem-initializer-list to avoid -Wreorder warning.
+       * include/bits/stl_tree.h (_Rb_tree_impl): Explicitly
+       initialize base class in copy constructor.
+       * include/debug/safe_iterator.h (_Safe_iterator): Likewise.
+       * include/ext/debug_allocator.h: Reorder mem-initializer-list
+       to avoid -Wreorder warning.
+       * include/ext/throw_allocator.h (throw_allocator_limit)
+       (throw_allocator_random): Add user-declared assignment operators
+       to avoid -Wdeprecated-copy warnings.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/uniform_int_dist.h (uniform_int_distribution):
+       Rename _UniformRandomNumberGenerator template parameters to
+       _UniformRandomBitGenerator, as per P0346R1.
+
+2020-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/sstream (basic_stringbuf(__string_type&&, openmode)):
+       Call _M_init_syncbuf to set up get/put areas. Also qualify
+       std::move.
+
+2020-10-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Remove duplicate
+       patterns.
+       (CXXABI_1.3.13): Restore missing piece.
+
+2020-10-28  Thomas Rodgers  <trodgers@redhat.com>
+
+       * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20.
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): New symbols.
+       * configure: Regenerate.
+       * include/std/sstream:
+       (basic_stringbuf::basic_stringbuf(allocator const&)): New constructor.
+       (basic_stringbuf::basic_stringbuf(openmode, allocator const&)): Likewise.
+       (basic_stringbuf::basic_stringbuf(basic_string&&, openmode)): Likewise.
+       (basic_stringbuf::basic_stringbuf(basic_stringbuf&&, allocator const&)):
+       Likewise.
+       (basic_stringbuf::get_allocator()): New method.
+       (basic_stringbuf::view()): Likewise.
+       (basic_istringstream::basic_istringstream(basic_string&&, openmode)):
+       New constructor.
+       (basic_istringstream::basic_istringstream(openmode, allocator const&)):
+       Likewise
+       (basic_istringstream::view()): New method.
+       (basic_ostringstream::basic_ostringstream(basic_string&&, openmode)):
+       New constructor.
+       (basic_ostringstream::basic_ostringstream(openmode, allocator const&)):
+       Likewise
+       (basic_ostringstream::view()): New method.
+       (basic_stringstream::basic_stringstream(basic_string&&, openmode)):
+       New constructor.
+       (basic_stringstream::basic_stringstream(openmode, allocator const&)):
+       Likewise
+       (basic_stringstream::view()): New method.
+       * src/Makefile.in: Add c++20 directory.
+       * src/Makefile.am: Regenerate.
+       * src/c++20/Makefile.am: Add makefile for new sub-directory.
+       * src/c++20/Makefile.in: Generate.
+       * src/c++20/sstream-inst.cc: New file defining explicit
+       instantiations for basic_stringbuf, basic_istringstream,
+       basic_ostringstream, and basic_stringstream member functions
+       added in C++20.
+       * testsuite/27_io/basic_stringbuf/cons/char/2.cc: New test.
+       * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
+       * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
+       * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: Likewise.
+
+2020-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/97613
+       * include/std/chrono (year_month_weekday::operator sys_days):
+       Cast the result of index() to int so that the initializer for
+       days{} is sign-extended when it's converted to the underlying
+       type.
+       * testsuite/std/time/year_month_weekday/3.cc: New test.
+
+2020-10-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/new_opnt.cc (new): Add comment about forced unwind
+       exceptions.
+
+2020-10-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94268
+       * config/os/mingw32-w64/os_defines.h (_GLIBCXX_BUFSIZ):
+       Define.
+       * config/os/mingw32/os_defines.h (_GLIBCXX_BUFSIZ):
+       Define.
+       * include/bits/fstream.tcc: Use _GLIBCXX_BUFSIZ instead
+       of BUFSIZ.
+       * include/ext/stdio_filebuf.h: Likewise.
+       * include/std/fstream (_GLIBCXX_BUFSIZ): Define.
+
+2020-10-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95592
+       * include/bits/valarray_after.h (_DEFINE_EXPR_UNARY_OPERATOR)
+       (_DEFINE_EXPR_BINARY_OPERATOR, _DEFINE_EXPR_BINARY_FUNCTION):
+       Use elaborated-type-specifier and qualified-id to avoid
+       ambiguities with QNX system headers.
+       * testsuite/26_numerics/valarray/95592.cc: New test.
+
+2020-10-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95609
+       * include/std/span (span): Reorder data members to match common
+       implementations of struct iovec.
+       * testsuite/23_containers/span/layout_compat.cc: New test.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/functional (std::_Placeholder): Define for C++98
+       as well as later standards.
+       * include/tr1/functional (std::placeholders::_1 etc): Declare
+       for C++98.
+       (tr1::_Placeholder): Replace with using-declaration for
+       std::_Placeholder.
+       (tr1::placeholders::_1 etc.): Replace with using-directive for
+       std::placeholders.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/tr1/ell_integral.tcc (__ellint_rf, __ellint_rd)
+       (__ellint_rc, __ellint_rj): Remove unused variables.
+       * include/tr1/modified_bessel_func.tcc (__airy): Likewise.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/locale_conv.h (__str_codecvt_out_all):
+       Add cast to compare operands of the same signedness.
+       * include/bits/locale_facets_nonio.tcc
+       (time_get::_M_extract_wday_or_month): Likewise.
+       * include/bits/sstream.tcc (basic_stringbuf::overflow):
+       Likewise.
+       * include/tr1/legendre_function.tcc (__sph_legendre): Use
+       unsigned for loop variable.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/charconv (from_chars): Add noexcept to match
+       definitions in src/c++17/floating_from_chars.cc
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_dir.cc (fs::directory_iterator::operator*):
+       Add noexcept. Do not throw on precondition violation.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (path::_List::begin, path::_List::end):
+       Add noexcept to match definitions in src/c++17/fs_path.cc.
+
+2020-10-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/memory_resource/new_delete_resource.cc:
+       Add missing <cstdint> header.
+       * testsuite/experimental/memory_resource/resource_adaptor.cc:
+       Likewise.
+
+2020-10-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/executor (strand::_State): Fix thinko.
+
+2020-10-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * include/std/type_traits (__is_nt_constructible_impl): Remove.
+       (__is_nothrow_constructible_impl): Adjust.
+       (is_nothrow_default_constructible): Likewise.
+       (__is_nt_assignable_impl): Remove.
+       (__is_nothrow_assignable_impl): Adjust.
+
+2020-10-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97570
+       * libsupc++/new_opa.cc: Declare size_t in global namespace.
+       Remove unused header.
+
+2020-10-26  Stephan Bergmann  <sbergman@redhat.com>
+
+       * include/bits/shared_ptr_base.h
+       (_Sp_counted_base::_M_add_ref_lock_nothrow(): Add noexcept to
+       definitions to match declaration.
+       (__shared_count(const __weak_count&, nothrow_t)): Add noexcept
+       to declaration to match definition.
+
+2020-10-23  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (single_view::single_view): Mark the
+       in place constructor explicit as per LWG 3428.
+       (take_view): Remove the constraint on the deduction guide's
+       template parameter as per LWG 3447.
+
+2020-10-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/memory_resource: Include <tuple>.
+       (polymorphic_allocator::construct): Qualify forward_as_tuple.
+       * include/std/memory_resource: Likewise.
+
+2020-10-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/condition_variable/members/68519.cc:
+       Define recent_epoch_float_clock::duration to meet the Cpp17Clock
+       requirements.
+
+2020-10-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/shared_mutex: Only include <condition_variable>
+       when pthread_rwlock_t and POSIX timers are not available.
+       (__cpp_lib_shared_mutex, __cpp_lib_shared_timed_mutex): Change
+       value to be type 'long'.
+       * include/std/version (__cpp_lib_shared_mutex)
+       (__cpp_lib_shared_timed_mutex): Likewise.
+
+2020-10-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/shared_ptr.h: Include <iosfwd>.
+       * include/bits/shared_ptr_base.h: Include required headers here
+       directly, instead of in <memory>.
+       * include/bits/uses_allocator_args.h: New file. Move utility
+       functions for uses-allocator construction from <memory> to here.
+       Only define the utility functions when concepts are available.
+       (__cpp_lib_make_obj_using_allocator): Define non-standard
+       feature test macro.
+       * include/std/condition_variable: Remove unused headers.
+       * include/std/future: Likewise.
+       * include/std/memory: Remove headers that are not needed
+       directly, and are now inclkuded where they're needed. Include
+       new <bits/uses_allocator_args.h> header.
+       * include/std/memory_resource: Include only the necessary
+       headers. Use new feature test macro to detect support for the
+       utility functions.
+       * include/std/scoped_allocator: Likewise.
+       * include/std/version (__cpp_lib_make_obj_using_allocator):
+       Define.
+
+2020-10-22  Olivier Hainque  <hainque@adacore.com>
+
+       * crossconfig.m4: Turn vxworks matcher into vxworks*.
+       * configure.host: Likewise.
+       * configure: Regenerate.
+
+2020-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr.h (shared_ptr(const weak_ptr&, nothrow_t)):
+       Add noexcept.
+       * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_add_ref_lock):
+       Remove specializations and just call _M_add_ref_lock_nothrow.
+       (__shared_count, __shared_ptr): Use nullptr for null pointer
+       constants.
+       (__shared_count(const __weak_count&)): Use _M_add_ref_lock_nothrow
+       instead of _M_add_ref_lock.
+       (__shared_count(const __weak_count&, nothrow_t)): Add noexcept.
+       (__shared_ptr::operator bool()): Add noexcept.
+       (__shared_ptr(const __weak_ptr&, nothrow_t)): Add noexcept.
+
+2020-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97512
+       * include/bits/ranges_util.h (tuple_size<subrange>)
+       (tuple_element<I, cv subrange>): Move here from ...
+       * include/std/ranges: ... here.
+       * testsuite/std/ranges/subrange/97512.cc: New test.
+
+2020-10-21  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/pstl/algorithm_impl.h: Update file.
+       * include/pstl/execution_impl.h: Likewise.
+       * include/pstl/glue_algorithm_impl.h: Likewise.
+       * include/pstl/glue_memory_impl.h: Likewise.
+       * include/pstl/glue_numeric_impl.h: Likewise.
+       * include/pstl/memory_impl.h: Likewise.
+       * include/pstl/numeric_impl.h: Likewise.
+       * include/pstl/parallel_backend.h: Likewise.
+       * include/pstl/parallel_backend_serial.h: Likewise.
+       * include/pstl/parallel_backend_tbb.h: Likewise.
+       * include/pstl/parallel_backend_utils.h: Likewise.
+       * include/pstl/pstl_config.h: Likewise.
+       * include/pstl/unseq_backend_simd.h: Likewise.
+
+2020-10-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h
+       (_Hash_node_value_base<>): Remove _Hash_node_base inheritance.
+       (_Hash_node_code_cache<bool _Cache_hash_code>): New.
+       (_Hash_node_value<typename _Value, bool _Cache_hash_code>): New.
+       (_Hash_node<>): Inherits _Hash_node_base<> and _Hash_node_value<>.
+       (_Map_base<>::__node_type): Remove.
+       (_Map_base<>::iterator): Remove.
+       (_Insert_base<>::__hash_cached): New.
+       (_Insert_base<>::__constant_iterators): New.
+       (_Insert_base<>::__hashtable_alloc): New.
+       (_Insert_base<>::__node_type): Remove.
+       (_Insert_base<>::__node_ptr): New.
+       (_Hash_code_base<>): Remove specializations.
+       (_Hash_code_base<>::__node_type): Remove.
+       (_Hash_code_base<>::_M_bucket_index(const __node_type*, size_t)):
+       Replace by...
+       (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)):
+       ...this.
+       (_Hash_code_base<>::_M_store_code(__node_type*, __hash_code)):
+       Replace by...
+       (_Hash_code_base<>::_M_store_code(_Hash_node_code_cache<>&, __hash_code)):
+       ...this.
+       (_Hash_code_base<>::_M_copy_code(__node_type*, const __node_type*)):
+       Replace by...
+       (_Hash_code_base<>::_M_copy_code(_Hash_node_code_cache<>&,
+       const _Hash_node_code_base<>&)): ...this.
+       (_Hashtable_base<>::__constant_iterators): Remove.
+       (_Hashtable_base<>::__unique_keys): Remove.
+       (_Hashtable_base<>::__node_type): Remove.
+       (_Hashtable_base<>::iterator): Remove.
+       (_Hashtable_base<>::const_iterator): Remove.
+       (_Hashtable_base<>::local_iterator): Remove.
+       (_Hashtable_base<>::const_local_iterator): Remove.
+       (_Hashtable_base<>::__ireturn_type): Remove.
+       (_Hashtable_base<>::_Equal_hash_code<>::_S_equals): Replace by...
+       (_Hashtable_base<>::_S_equals(__hash_code, const _Hash_node_code_hash<>&)):
+       ...this.
+       (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals): Replace by...
+       (_Hashtable_base<>::_S_node_equals(__hash_code,
+       const _Hash_node_code_hash<>&)): ...this.
+       (_Hashtable_base<>::_Equal_hash_code<>): Remove.
+       (_Hashtable_base<>::_M_equals): Adapt.
+       (_Hashtable_baxe<>::_M_node_equals): Adapt.
+       (_Equality<>::_M_equal): Adapt.
+       (_Hashtable_alloc<>::__node_ptr): New.
+       (_Hashtable_alloc<>::__bucket_type): Rename into...
+       (_Hashtable_alloc<>::__node_base_ptr): ...this.
+       (_Hashtable_alloc<>::__bucket_alloc_type): Rename into...
+       (_Hashtable_alloc<>::__buckets_alloc_type): ...this.
+       (_Hashtable_alloc<>::__bucket_alloc_traits): Rename into...
+       (_Hashtable_alloc<>::__buckets_alloc_traits): ...this.
+       (_Hashtable_alloc<>::__buckets_ptr): New.
+       (_Hashtable_alloc<>::_M_allocate_node): Adapt.
+       (_Hashtable_alloc<>::_M_deallocate_node): Adapt.
+       (_Hashtable_alloc<>::_M_deallocate_node_ptr): Adapt.
+       (_Hashtable_alloc<>::_M_deallocate_nodes): Adapt.
+       (_Hashtable_alloc<>::_M_allocate_buckets): Adapt.
+       (_Hashtable_alloc<>::_M_deallocate_buckets): Adapt.
+       * include/bits/hashtable.h (_Hashtable<>): Adapt.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * testsuite/21_strings/basic_string/capacity/1.cc: Pass
+       -Wno-stringop-overflow to test.
+
+2020-10-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95917
+       * include/std/coroutine (__noop_coro_frame): Replace with
+       noop_coroutine_handle::__frame.
+       (__dummy_resume_destroy): Define inline in __frame.
+       (__noop_coro_fr): Replace with noop_coroutine_handle::_S_fr
+       and define as inline.
+       * testsuite/18_support/coroutines/95917.cc: New test.
+
+2020-10-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/coroutine (coroutine_handle<_Promise>): Remove
+       base class. Add constructors, conversions, accessors etc. as
+       proposed for LWG 3460.
+       (coroutine_handle<noop_coroutine_promise>): Likewise.
+       * testsuite/18_support/coroutines/lwg3460.cc: New test.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/unique_ptr.h (make_unique_for_overwrite): Define
+       for C++20.
+       * testsuite/20_util/unique_ptr/creation/array_neg.cc: Remove
+       unused header. Adjust standard reference.
+       * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: New test.
+       * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: New test.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/tuple (_Head_base<Idx, Head, true>): Use reserved
+       form of __no_unique_address__ attribute because
+       no_unique_address is not reserved prior to C++20.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/node_handle.h (_Node_handle_common): Replace
+       std::optional with custom type.
+       * testsuite/20_util/variant/exception_safety.cc: Add missing
+       header include.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/precompiled/expc++.h: Removed.
+
+2020-10-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/97449
+       * include/std/variant
+       (__gen_vtable_impl<>::_S_apply_single_alt):
+       Diagnose visitor return type mismatches here..
+       (__gen_vtable_impl</*base case*/>::_S_apply):
+       ..not here.
+
+2020-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/concepts: Fix typos in copyright notice.
+       * include/std/ranges: Likewise.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97415
+       * include/std/sstream (basic_stringbuf::str()): Check for
+       null egptr() before comparing to non-null pptr().
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc:
+       Do not generate debug info.
+       * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc:
+       Likewise.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (basic_string(const Alloc&))
+       (basic_string(const basic_string&)
+       (basic_string(const CharT*, size_type, const Alloc&))
+       (basic_string(const CharT*, const Alloc&))
+       (basic_string(size_type, CharT, const Alloc&))
+       (basic_string(initializer_list<CharT>, const Alloc&))
+       (basic_string(InputIterator, InputIterator, const Alloc&)):
+       Define inline in class body.
+       * include/bits/basic_string.tcc (basic_string(const Alloc&))
+       (basic_string(const basic_string&)
+       (basic_string(const CharT*, size_type, const Alloc&))
+       (basic_string(const CharT*, const Alloc&))
+       (basic_string(size_type, CharT, const Alloc&))
+       (basic_string(initializer_list<CharT>, const Alloc&))
+       (basic_string(InputIterator, InputIterator, const Alloc&)):
+       Move definitions into class body.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (check_effective_target_cxx11-abi):
+       Add comments about which test flags get used by the check.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/allocator/char/copy.cc: Make
+       comment more precise about what isn't supported by COW strings.
+       * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/char/move.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/char/swap.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
+       Likewise.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
+       Do not require cxx11-abi effective target.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
+       Likewise.
+       * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
+
+2020-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
+       (basic_string(const _CharT*, const _Alloc&)): Constrain to
+       require an allocator-like type to fix CTAD ambiguity (LWG 3706).
+       * testsuite/21_strings/basic_string/cons/char/deduction.cc:
+       Remove dg-skip-if.
+       * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
+       Likewise.
+
+2020-10-13  Nuno Lopes  <nuno.lopes@ist.utl.pt>
+
+       * include/bits/stl_algo.h (any_of): Fix incorrect description
+       in comment.
+
+2020-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/evolution.xml: Document some API changes
+       and deprecations.
+       * doc/xml/manual/intro.xml: Document LWG 2499.
+       * doc/xml/manual/status_cxx2020.xml: Update status.
+       * doc/html/*: Regenerate.
+
+2020-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/book.txml: Remove trailing whitespace.
+       * doc/xml/chapter.txml: Likewise.
+       * doc/xml/class.txml: Likewise.
+       * doc/xml/gnu/fdl-1.3.xml: Likewise.
+       * doc/xml/gnu/gpl-3.0.xml: Likewise.
+       * doc/xml/manual/abi.xml: Likewise.
+       * doc/xml/manual/algorithms.xml: Likewise.
+       * doc/xml/manual/allocator.xml: Likewise.
+       * doc/xml/manual/appendix_contributing.xml: Likewise.
+       * doc/xml/manual/appendix_free.xml: Likewise.
+       * doc/xml/manual/appendix_porting.xml: Likewise.
+       * doc/xml/manual/atomics.xml: Likewise.
+       * doc/xml/manual/auto_ptr.xml: Likewise.
+       * doc/xml/manual/backwards_compatibility.xml: Likewise.
+       * doc/xml/manual/bitmap_allocator.xml: Likewise.
+       * doc/xml/manual/build_hacking.xml: Likewise.
+       * doc/xml/manual/codecvt.xml: Likewise.
+       * doc/xml/manual/concurrency.xml: Likewise.
+       * doc/xml/manual/concurrency_extensions.xml: Likewise.
+       * doc/xml/manual/configure.xml: Likewise.
+       * doc/xml/manual/containers.xml: Likewise.
+       * doc/xml/manual/ctype.xml: Likewise.
+       * doc/xml/manual/debug.xml: Likewise.
+       * doc/xml/manual/debug_mode.xml: Likewise.
+       * doc/xml/manual/diagnostics.xml: Likewise.
+       * doc/xml/manual/documentation_hacking.xml: Likewise.
+       * doc/xml/manual/evolution.xml: Likewise.
+       * doc/xml/manual/internals.xml: Likewise.
+       * doc/xml/manual/intro.xml: Likewise.
+       * doc/xml/manual/io.xml: Likewise.
+       * doc/xml/manual/iterators.xml: Likewise.
+       * doc/xml/manual/locale.xml: Likewise.
+       * doc/xml/manual/localization.xml: Likewise.
+       * doc/xml/manual/messages.xml: Likewise.
+       * doc/xml/manual/mt_allocator.xml: Likewise.
+       * doc/xml/manual/numerics.xml: Likewise.
+       * doc/xml/manual/parallel_mode.xml: Likewise.
+       * doc/xml/manual/policy_data_structures.xml: Likewise.
+       * doc/xml/manual/prerequisites.xml: Likewise.
+       * doc/xml/manual/shared_ptr.xml: Likewise.
+       * doc/xml/manual/spine.xml: Likewise.
+       * doc/xml/manual/status_cxxtr1.xml: Likewise.
+       * doc/xml/manual/status_cxxtr24733.xml: Likewise.
+       * doc/xml/manual/strings.xml: Likewise.
+       * doc/xml/manual/support.xml: Likewise.
+       * doc/xml/manual/test.xml: Likewise.
+       * doc/xml/manual/test_policy_data_structures.xml: Likewise.
+       * doc/xml/manual/using.xml: Likewise.
+       * doc/xml/manual/using_exceptions.xml: Likewise.
+       * doc/xml/manual/utilities.xml: Likewise.
+       * doc/html/*: Regenerate.
+
+2020-10-12  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (take_while_view::begin): Constrain the
+       const overload further as per LWG 3450.
+       (take_while_view::end): Likewise.
+       * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG
+       3450.
+
+2020-10-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95322
+       * include/std/ranges (take_view::_CI): Define this alias
+       template as per LWG 3449 and remove ...
+       (take_view::_Sentinel::_CI): ... this type alias.
+       (take_view::_Sentinel::operator==): Adjust use of _CI
+       accordingly.  Define a second overload that accepts an iterator
+       of the opposite constness as per LWG 3449.
+       (take_while_view::_Sentinel::operator==): Likewise.
+       * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449.
+
+2020-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.20 format.
+
+2020-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (PREDEFINED): Use __cplusplus=201703L
+       so that C++17 features are documented.
+
+2020-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_algobase.h (copy, move, copy_backward)
+       (move_backward): Fix documentation for returned iterator.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/97201
+       * libsupc++/new (operator new): Add attribute alloc_size and malloc.
+
+2020-10-11  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/os/aix/t-aix: Add complementary mode object file to
+       libstdc++fs.a
+
+2020-10-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97362
+       * doc/html/manual/source_code_style.html: Regenerate.
+       * doc/xml/manual/appendix_contributing.xml: Add __deref to
+       BADNAMES.
+       * include/debug/functions.h (_Irreflexive_checker::__deref):
+       Rename to __ref.
+       * testsuite/17_intro/badnames.cc: Check __deref.
+
+2020-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * include/std/variant (__check_visitor_result):
+       Use size_t for indexes.
+       (__check_visitor_results): Likewise.
+
+2020-10-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/95904
+       * include/std/variant (__deduce_visit_result): Add a nested ::type.
+       (__gen_vtable_impl</*base case*/>::_S_apply):
+       Check the visitor return type.
+       (__same_types): New.
+       (__check_visitor_result): Likewise.
+       (__check_visitor_results): Likewise.
+       (visit(_Visitor&&, _Variants&&...)): Use __check_visitor_results
+       in case we're visiting just one variant.
+       * testsuite/20_util/variant/visit_neg.cc: Adjust.
+
+2020-10-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97311
+       * include/bits/random.tcc (seed_seq::generate): Use uint32_t for
+       calculations. Also split the first loop into three loops to
+       avoid branching on k on every iteration, resolving PR 94823.
+       * testsuite/26_numerics/random/seed_seq/97311.cc: New test.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-erro
+       line number.
+
+2020-10-09  Daniel Lemire  <lemire@gmail.com>
+
+       * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd):
+       New member function implementing Lemire's "nearly divisionless"
+       algorithm.
+       (uniform_int_distribution::operator()): Use _S_nd when the range
+       of the URBG is the full width of the result type.
+
+2020-10-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/Makefile.am: Set and export variable separately.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-10-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * scripts/check_performance: Use gnu++11 instead of gnu++0x.
+       * testsuite/Makefile.am (check-performance): Export CXXFLAGS to
+       child process.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-10-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/performance/26_numerics/random_dist.cc: New test.
+
+2020-10-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_performance.h (report_header): Remove
+       unused variable.
+
+2020-10-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95788
+       * include/bits/ranges_uninitialized.h:
+       (__construct_at_fn::operator()): Rewrite in terms of
+       std::construct_at.  Declare it conditionally noexcept.  Qualify
+       calls to declval in its requires-clause.
+       * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
+       New test.
+
+2020-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/82584
+       * include/bits/random.tcc
+       (discrete_distribution::param_type::_M_initialize)
+       (piecewise_constant_distribution::param_type::_M_initialize)
+       (piecewise_linear_distribution::param_type::_M_initialize):
+       Add assertions for positive sums..
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line.
+
+2020-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ios_base.h (ios_base::failure): Add constructors
+       takeing error_code argument. Add code() member function.
+       * testsuite/27_io/ios_base/failure/cxx11.cc: Allow test to
+       run for the old ABI but do not check for derivation from
+       std::system_error.
+       * testsuite/27_io/ios_base/failure/error_code.cc: New test.
+
+2020-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (__detail::_Mod): Revert last change.
+       (__detail::__mod): Do not use _Mod for a==0 case.
+       * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
+       Check other cases with a==0. Also check runtime results.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line.
+
+2020-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (__detail::_Mod): Avoid divide by zero.
+       * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
+       New test.
+
+2020-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (seed_seq(initializer_list<T>)): Rename
+       parameter to use reserved name.
+       * include/bits/ranges_algo.h (shift_left, shift_right): Rename
+       template parameters to use reserved name.
+       * libsupc++/exception_ptr.h (exception_ptr): Likewise for
+       parameters and local variables.
+       * testsuite/17_intro/names.cc: Check "il". Do not check "d" and
+       "y" in C++20 mode.
+
+2020-10-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90295
+       * config/abi/pre/gnu.ver (CXXABI_1.3.13): New symbol version.
+       (exception_ptr::_M_addref(), exception_ptr::_M_release()):
+       Export symbols.
+       * libsupc++/eh_ptr.cc (exception_ptr::exception_ptr()):
+       Remove out-of-line definition.
+       (exception_ptr::exception_ptr(const exception_ptr&)):
+       Likewise.
+       (exception_ptr::~exception_ptr()): Likewise.
+       (exception_ptr::operator=(const exception_ptr&)):
+       Likewise.
+       (exception_ptr::swap(exception_ptr&)): Likewise.
+       (exception_ptr::_M_addref()): Add branch prediction.
+       * libsupc++/exception_ptr.h (exception_ptr::operator bool):
+       Add noexcept.
+       [!_GLIBCXX_EH_PTR_COMPAT] (operator==, operator!=): Define
+       inline as hidden friends. Remove declarations at namespace
+       scope.
+       (exception_ptr::exception_ptr()): Define inline.
+       (exception_ptr::exception_ptr(const exception_ptr&)):
+       Likewise.
+       (exception_ptr::~exception_ptr()): Likewise.
+       (exception_ptr::operator=(const exception_ptr&)):
+       Likewise.
+       (exception_ptr::swap(exception_ptr&)): Likewise.
+       * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.13.
+       * testsuite/18_support/exception_ptr/90295.cc: New test.
+
+2020-10-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (join_view): Remove deduction guide.
+       (views::join): Add explicit template argument list to prevent
+       deducing the wrong type.
+       * testsuite/std/ranges/adaptors/join.cc: Move test for LWG 3474
+       here, from ...
+       * testsuite/std/ranges/adaptors/join_lwg3474.cc: Removed.
+
+2020-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h: Use __int_traits<int> instead of
+       std::numeric_limits<int>.
+       * include/bits/uniform_int_dist.h: Use __int_traits<T>::__max
+       instead of std::numeric_limits<T>::max().
+       * include/bits/hashtable_policy.h: Use size_t(-1) instead of
+       std::numeric_limits<size_t>::max().
+       * include/std/regex: Include <ext/numeric_traits.h>.
+       * include/std/string_view: Use typedef for __int_traits<int>.
+       * src/c++11/hashtable_c++0x.cc: Use size_t(-1) instead of
+       std::numeric_limits<size_t>::max().
+       * testsuite/std/ranges/iota/96042.cc: Include <limits>.
+       * testsuite/std/ranges/iota/difference_type.cc: Likewise.
+       * testsuite/std/ranges/subrange/96042.cc: Likewise.
+
+2020-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/numeric: Move all #include directives to the top
+       of the header.
+       * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
+       numbers.
+       * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
+
+2020-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver: Add new symbol.
+       * include/bits/functexcept.h (__throw_bad_array_new_length):
+       Declare new function.
+       * include/ext/malloc_allocator.h (malloc_allocator::allocate):
+       Throw bad_array_new_length for impossible sizes (LWG 3190).
+       * include/ext/new_allocator.h (new_allocator::allocate):
+       Likewise.
+       * include/std/memory_resource (polymorphic_allocator::allocate)
+       (polymorphic_allocator::allocate_object): Use new function,
+       __throw_bad_array_new_length.
+       * src/c++11/functexcept.cc (__throw_bad_array_new_length):
+       Define.
+       * testsuite/20_util/allocator/lwg3190.cc: New test.
+
+2020-10-05  Mike Crowe  <mac@mcrowe.com>
+
+       PR libstdc++/91486
+       * include/bits/atomic_futex.h:
+       (__atomic_futex_unsigned::_M_load_when_equal_until): Use target
+       clock duration type when rounding.
+       * testsuite/30_threads/async/async.cc (test_pr91486_wait_for):
+       Rename from test_pr91486.
+       (float_steady_clock): New class for test.
+       (test_pr91486_wait_until): New test.
+
+2020-10-05  Mike Crowe  <mac@mcrowe.com>
+
+       * testsuite/20_util/duration_cast/rounding_c++11.cc: Copy
+       rounding.cc and alter to support compilation for C++11 and to
+       test std::chrono::__detail::ceil.
+
+2020-10-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/29_atomics/atomic_float/value_init.cc: Use float
+       instead of double so that __atomic_load_8 isn't needed.
+
+2020-10-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/96817.cc: Use terminate handler that
+       calls _Exit(0).
+
+2020-10-02  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_iterator.h (reverse_iterator::iter_move):
+       Define for C++20 as per P0896.
+       (reverse_iterator::iter_swap): Likewise.
+       (move_iterator::operator*): Apply P0896 changes for C++20.
+       (move_iterator::operator[]): Likewise.
+       * testsuite/24_iterators/reverse_iterator/cust.cc: New test.
+
+2020-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE):
+       Do not try to dereference return value of __atomic_load_n.
+
+2020-09-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE):
+       (_GLIBCXX_GUARD_SET_AND_RELEASE): Define for EABI.
+
+2020-09-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
+       Define for GCC 11 or when !__is_identifier(__is_same).
+       (_GLIBCXX_BUILTIN_IS_SAME_AS): Remove.
+       * include/std/type_traits (is_same, is_same_v): Replace uses
+       of _GLIBCXX_BUILTIN_IS_SAME_AS.
+
+2020-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (filter_view): Declare the data member
+       _M_base last instead of first, and adjust constructors' member
+       initializer lists accordingly.
+       (transform_view): Likewise.
+       (take_view): Likewise.
+       (take_while_view): Likewise.
+       (drop_view): Likewise.
+       (drop_while_view): Likewise.
+       (join_view): Likewise.
+       (split_view): Likewise (and tweak nearby formatting).
+       (reverse_view): Likewise.
+       * testsuite/std/ranges/adaptors/sizeof.cc: Update expected
+       sizes.
+
+2020-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       * testsuite/std/ranges/adaptors/sizeof.cc: New test.
+
+2020-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_util.h (subrange::_M_end): Give it
+       [[no_unique_address]].
+       * testsuite/std/ranges/subrange/sizeof.cc: New test.
+
+2020-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (iota_view::_M_bound): Give it
+       [[no_unique_address]].
+       * testsuite/std/ranges/iota/iota_view.cc: Check that an
+       unbounded iota_view has minimal size.
+
+2020-09-27  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/os/aix/t-aix: Use $(AR) without -X32_64.
+
+2020-09-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96817
+       * include/ext/atomicity.h (__gnu_cxx::__is_single_threaded()):
+       New function wrapping __libc_single_threaded if available.
+       (__exchange_and_add_dispatch, __atomic_add_dispatch): Use it.
+       * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_abort)
+       (__cxa_guard_release): Likewise.
+       * testsuite/18_support/96817.cc: New test.
+
+2020-09-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/Makefile.am: Remove redundant -std=gnu++1z flags.
+       * libsupc++/Makefile.in: Regenerate.
+
+2020-09-24  Antony Polukhin  <antoshkka@gmail.com>
+
+       PR libstdc++/71579
+       * include/std/type_traits (invoke_result, is_invocable)
+       (is_invocable_r, is_nothrow_invocable, is_nothrow_invocable_r):
+       Add static_asserts to make sure that the arguments of the type
+       traits are not misused with incomplete types.
+       * testsuite/20_util/invoke_result/incomplete_args_neg.cc: New test.
+       * testsuite/20_util/is_invocable/incomplete_args_neg.cc: New test.
+       * testsuite/20_util/is_invocable/incomplete_neg.cc: New test.
+       * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc:
+       New test.
+       * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: Check
+       for error on incomplete type usage in trait.
+
+2020-09-24  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::__boxable): Split out the
+       associated constraints of __box into here.
+       (__detail::__box): Use the __boxable concept.  Define a leaner
+       partial specialization for semiregular types.
+       (single_view::_M_value): Give it [[no_unique_address]].
+       (filter_view::_M_pred): Likewise.
+       (transform_view::_M_fun): Likewise.
+       (take_while_view::_M_pred): Likewise.
+       (drop_while_view::_M_pred):: Likewise.
+       * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: New
+       test.
+
+2020-09-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/configure.xml: Correct name of option.
+       * doc/html/*: Regenerate.
+
+2020-09-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97167
+       * src/c++17/fs_path.cc (path::_Parser::root_path()): Check
+       for empty string before inspecting the first character.
+       * testsuite/27_io/filesystem/path/append/source.cc: Append
+       empty string_view to path.
+
+2020-09-22  Glen Joseph Fernandes  <glenjofe@gmail.com>
+
+       * include/bits/align.h (align): Fix overflow handling.
+       * testsuite/20_util/align/3.cc: New test.
+
+2020-09-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add new headers and adjust for renamed
+       header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/iterator_concepts.h: Adjust for renamed header.
+       * include/bits/range_access.h (ranges::*): Move to new
+       <bits/ranges_base.h> header.
+       * include/bits/ranges_algobase.h: Include new <bits/ranges_base.h>
+       header instead of <ranges>.
+       * include/bits/ranges_algo.h: Include new <bits/ranges_util.h>
+       header.
+       * include/bits/range_cmp.h: Moved to...
+       * include/bits/ranges_cmp.h: ...here.
+       * include/bits/ranges_base.h: New header.
+       * include/bits/ranges_util.h: New header.
+       * include/experimental/string_view: Include new
+       <bits/ranges_base.h> header.
+       * include/std/functional: Adjust for renamed header.
+       * include/std/ranges (ranges::view_base, ranges::enable_view)
+       (ranges::dangling, ranges::borrowed_iterator_t): Move to new
+       <bits/ranges_base.h> header.
+       (ranges::view_interface, ranges::subrange)
+       (ranges::borrowed_subrange_t): Move to new <bits/ranges_util.h>
+       header.
+       * include/std/span: Include new <bits/ranges_base.h> header.
+       * include/std/string_view: Likewise.
+       * testsuite/24_iterators/back_insert_iterator/pr93884.cc: Add
+       missing <ranges> header.
+       * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
+       Likewise.
+
+2020-09-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96803
+       * include/std/tuple
+       (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
+       Use correct value category in __use_alloc call.
+       * testsuite/20_util/tuple/cons/96803.cc: Check with constructors
+       that require correct value category to be used.
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/span (span::front): Remove static_assert.
+       (span::back): Likewise.
+       (span::operator[]): Likewise.
+       * testsuite/23_containers/span/back_neg.cc: Rewrite to verify
+       that we check the preconditions of back() only when it's called.
+       * testsuite/23_containers/span/front_neg.cc: Likewise for
+       front().
+       * testsuite/23_containers/span/index_op_neg.cc: Likewise for
+       operator[].
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_algo.h (__sample): Exit early when the
+       input range is empty.
+       * testsuite/25_algorithms/sample/3.cc: New test.
+
+2020-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_algo.h (for_each_n): Mark constexpr for C++20.
+       (search): Likewise for the overload that takes a searcher.
+       * testsuite/25_algorithms/for_each/constexpr.cc: Test constexpr
+       std::for_each_n.
+       * testsuite/25_algorithms/search/constexpr.cc: Test constexpr
+       std::search overload that takes a searcher.
+
+2020-09-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (__replacement_assert): Add noreturn
+       attribute.
+       (__glibcxx_assert_impl): Use __builtin_expect to hint that the
+       assertion is expected to pass.
+
+2020-09-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (drop_view::begin()): Adjust constraints
+       to match the correct condition for O(1) ranges::next (LWG 3482).
+       * testsuite/std/ranges/adaptors/drop.cc: Check that iterator is
+       cached for non-sized_range.
+
+2020-09-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (transform_view, elements_view): Relax
+       constraints on operator- for iterators, as per LWG 3483.
+       * testsuite/std/ranges/adaptors/elements.cc: Check that we
+       can take the difference of two iterators from a non-random
+       access range.
+       * testsuite/std/ranges/adaptors/transform.cc: Likewise.
+
+2020-09-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97132
+       * include/bits/align.h (align) [!_GLIBCXX_USE_C99_STDINT_TR1]:
+       Remove unused code.
+       (assume_aligned): Do not use __builtin_assume_aligned during
+       constant evaluation.
+       * testsuite/20_util/assume_aligned/1.cc: Improve test.
+       * testsuite/20_util/assume_aligned/97132.cc: New test.
+
+2020-09-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97101
+       * include/std/functional (bind_front): Fix order of parameters
+       in is_nothrow_constructible_v specialization.
+       * testsuite/20_util/function_objects/bind_front/97101.cc: New test.
+
+2020-09-11  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/std/memory: Move #include <bits/align.h> inside C++11
+       conditional includes.
+
+2020-09-11  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/Makefile.am (bits_headers): Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/align.h: New file.
+       * include/std/memory (align): Move definition to bits/align.h.
+       (assume_aligned): Likewise.
+
+2020-09-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono [C++17] (chrono::__detail::ceil): Add
+       using declaration to make chrono::ceil available for internal
+       use with a consistent name.
+       (chrono::__detail::__ceil_impl): New function template.
+       (chrono::__detail::ceil): Use __ceil_impl to compare and
+       increment the value. Remove SFINAE constraint.
+
+2020-09-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_error.h (__throw_regex_error): Fix
+       parameter declaration and use reserved attribute names.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       * include/std/condition_variable (condition_variable::wait_until):
+       Convert delta to steady_clock duration before adding to current
+       steady_clock time to avoid rounding errors described in PR68519.
+       (condition_variable::wait_for): Simplify calculation of absolute
+       time by using chrono::__detail::ceil in both overloads.
+       * testsuite/30_threads/condition_variable/members/68519.cc:
+       (test_wait_for): Renamed from test01. Replace unassigned val
+       variable with constant false. Reduce scope of mx and cv
+       variables to just test_wait_for function.
+       (test_wait_until): Add new test case.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       PR libstdc++/91486
+       * include/bits/atomic_futex.h
+       (__atomic_futex_unsigned::_M_load_when_equal_for)
+       (__atomic_futex_unsigned::_M_load_when_equal_until): Use
+       __detail::ceil to convert delta to the reference clock
+       duration type to avoid resolution problems.
+       * include/std/chrono (__detail::ceil): Move implementation
+       of std::chrono::ceil into private namespace so that it's
+       available to pre-C++17 code.
+       * testsuite/30_threads/async/async.cc (test_pr91486):
+       Test __atomic_futex_unsigned::_M_load_when_equal_for.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       * include/bits/atomic_futex.h
+       (__atomic_futex_unsigned::_M_load_when_equal_until): Add
+       loop on generic _Clock to check the timeout against _Clock
+       again after _M_load_when_equal_until returns indicating a
+       timeout.
+       * testsuite/30_threads/async/async.cc: Invent slow_clock
+       that runs at an eleventh of steady_clock's speed. Use it
+       to test the user-supplied-clock variant of
+       __atomic_futex_unsigned::_M_load_when_equal_until works
+       generally with test03 and loops correctly when the timeout
+       time hasn't been reached in test04.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       PR libstdc++/93542
+       * include/bits/atomic_futex.h (__atomic_futex_unsigned): Change
+       __clock_t typedef to use steady_clock so that unknown clocks are
+       synced to it rather than system_clock. Change existing __clock_t
+       overloads of _M_load_and_text_until_impl and
+       _M_load_when_equal_until to use system_clock explicitly. Remove
+       comment about DR 887 since these changes address that problem as
+       best as we currently able.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       PR libstdc++/93542
+       * config/abi/pre/gnu.ver: Update for addition of
+       __atomic_futex_unsigned_base::_M_futex_wait_until_steady.
+       * include/bits/atomic_futex.h (__atomic_futex_unsigned_base):
+       Add comments to clarify that _M_futex_wait_until and
+       _M_load_and_test_until use CLOCK_REALTIME.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until_steady)
+       (__atomic_futex_unsigned_base::_M_load_and_text_until_steady):
+       New member functions that use CLOCK_MONOTONIC.
+       (__atomic_futex_unsigned_base::_M_load_and_test_until_impl)
+       (__atomic_futex_unsigned_base::_M_load_when_equal_until): Add
+       overloads that accept a steady_clock time_point and use the
+       new member functions.
+       * src/c++11/futex.cc: Include headers required for
+       clock_gettime.
+       (futex_clock_monotonic_flag): New constant to tell futex to
+       use CLOCK_MONOTONIC to match existing futex_clock_realtime_flag.
+       (futex_clock_monotonic_unavailable): New global to store the
+       result of trying to use CLOCK_MONOTONIC.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): Add
+       new variant of _M_futex_wait_until that uses CLOCK_MONOTONIC to
+       support waiting using steady_clock.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       * src/c++11/futex.cc: Add new constants for required futex
+       flags.  Add futex_clock_realtime_unavailable flag to store
+       result of trying to use FUTEX_CLOCK_REALTIME.
+       (__atomic_futex_unsigned_base::_M_futex_wait_until): Try to
+       use FUTEX_WAIT_BITSET with FUTEX_CLOCK_REALTIME and only
+       fall back to using gettimeofday and FUTEX_WAIT if that's not
+       supported.
+
+2020-09-11  Mike Crowe  <mac@mcrowe.com>
+
+       * testsuite/30_threads/async/async.cc (test02): Test steady_clock
+       with std::future::wait_until.
+       (test03): Add new test templated on clock type waiting for future
+       associated with async to resolve.
+       (main): Call test03 to test both system_clock and steady_clock.
+
+2020-09-11  Torbjörn SVENSSON  <torbjorn.svensson@st.com>
+           Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions.
+
+2020-09-11  Torbjörn SVENSSON  <torbjorn.svensson@st.com>
+           Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions.
+
+2020-09-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * include/bits/regex_error.h: Avoid warning with -fno-exceptions.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in_all):
+       Add casts to compare types of the same signedness.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_algobase.h (__equal_fn): Remove unused
+       typedef.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/version (__cpp_lib_array_constexpr):
+       (__cpp_lib_constexpr_char_traits): Only define C++17 value when
+       compiling C++17.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/bits/shared_ptr.h (shared_ptr(auto_ptr&&))
+       (operator=(auto_ptr&&)): Add diagnostic pragmas to suppress
+       warnings for uses of std::auto_ptr.
+       * include/experimental/type_traits (is_literal_type_v):
+       Likewise, for use of std::is_literal_type.
+       * include/std/condition_variable (condition_variable_any::_Unlock):
+       Likewise, for use of std::uncaught_exception.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (path::_List::type()): Avoid narrowing
+       conversion.
+       * include/std/chrono (operator+(const year&, const years&)):
+       Likewise.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/codecvt.h (codecvt_byname): Remove names of
+       unused parameters.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/locale_facets_nonio.tcc: Adjust whitespace.
+
+2020-09-10  Krystian Kuźniarek  <krystian.kuzniarek@gmail.com>
+
+       * include/c_global/cmath (__lerp): Avoid -Wparentheses warnings.
+
+2020-09-10  Krystian Kuźniarek  <krystian.kuzniarek@gmail.com>
+
+       * include/bits/atomic_base.h: Fix -Wunused-variable
+       warnings.
+       * include/ext/new_allocator.h: Fix -Wunused-parameter
+       warnings.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (counted_iterator): Add assertions
+       to check preconditions added by LWG 3472.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94160
+       * src/c++17/memory_resource.cc (munge_options): Round
+       max_blocks_per_chunk to a multiple of four.
+       (__pool_resource::_M_alloc_pools()): Simplify slightly.
+       * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
+       Check that valid pointers are returned when small values are
+       used for max_blocks_per_chunk.
+
+2020-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96942
+       * include/std/memory_resource (monotonic_buffer_resource::do_allocate):
+       Use __builtin_expect when checking if a new buffer needs to be
+       allocated from the upstream resource, and for checks for edge
+       cases like zero sized buffers and allocations.
+       * src/c++17/memory_resource.cc (aligned_size): New class template.
+       (aligned_ceil): New helper function to round up to a given
+       alignment.
+       (monotonic_buffer_resource::chunk): Replace _M_size and _M_align
+       with an aligned_size member. Remove _M_canary member. Change _M_next
+       to pointer instead of unaligned buffer.
+       (monotonic_buffer_resource::chunk::allocate): Round up to multiple
+       of 64 instead of to power of two. Check for size overflow. Remove
+       redundant check for minimum required alignment.
+       (monotonic_buffer_resource::chunk::release): Adjust for changes
+       to data members.
+       (monotonic_buffer_resource::_M_new_buffer): Use aligned_ceil.
+       (big_block): Replace _M_size and _M_align with aligned_size
+       member.
+       (big_block::big_block): Check for size overflow.
+       (big_block::size, big_block::align): Adjust to use aligned_size.
+       (big_block::alloc_size): Use aligned_ceil.
+       (munge_options): Use aligned_ceil.
+       (__pool_resource::allocate): Use big_block::align for alignment.
+       * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Check
+       upstream resource gets expected values for impossible sizes.
+       * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
+       Likewise. Adjust checks for expected alignment in existing test.
+
+2020-09-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (duration::_S_gcd): Use invariant that
+       neither value is zero initially.
+
+2020-09-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (__box): Simplify constraints as per LWG 3477.
+
+2020-09-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96592
+       * include/std/tuple (_TupleConstraints<true, T...>): Use
+       alternative is_constructible instead of std::is_constructible.
+       * testsuite/20_util/tuple/cons/96592.cc: New test.
+
+2020-09-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (duration::_S_gcd): Use iterative algorithm
+       for C++14 and later.
+       * include/std/numeric (__detail::__gcd): Replace recursive
+       Euclidean algorithm with iterative version of binary GCD algorithm.
+       * testsuite/26_numerics/gcd/1.cc: Test additional inputs.
+       * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
+       * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
+       * testsuite/experimental/numeric/gcd.cc: Test additional inputs.
+       * testsuite/26_numerics/gcd/2.cc: New test.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92978
+       * testsuite/experimental/numeric/92978.cc: Use experimental::lcm
+       not std::lcm.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96851
+       * include/bits/cpp_type_traits.h (__is_memcmp_ordered):
+       New trait that says if memcmp can be used for ordering.
+       (__is_memcmp_ordered_with): Likewise, for two types.
+       * include/bits/deque.tcc (__lex_cmp_dit): Use new traits
+       instead of __is_byte and __numeric_traits.
+       (__lexicographical_compare_aux1): Likewise.
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn):
+       Likewise.
+       * include/bits/stl_algobase.h (__lexicographical_compare_aux1)
+       (__is_byte_iter): Likewise.
+       * include/std/array (operator<=>): Likewise. Only use memcmp
+       when std::is_constant_evaluated() is false.
+       * testsuite/23_containers/array/comparison_operators/96851.cc:
+       New test.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+       Adjust dg-error line numbers.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h: Include <bits/exception_defines.h>
+       for definitions of __try, __catch and __throw_exception_again.
+       (counted_iterator::operator++(int)): Use __throw_exception_again
+       instead of throw.
+       * libsupc++/new: Include <bits/exception.h> not <exception>.
+       * libsupc++/new_opvnt.cc: Include <bits/exception_defines.h>.
+       * testsuite/18_support/destroying_delete.cc: Include
+       <type_traits> for std::is_same_v definition.
+       * testsuite/20_util/variant/index_type.cc: Qualify size_t.
+
+2020-09-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/71960
+       * include/bits/c++config (__glibcxx_assert_impl): Remove
+       do-while so that uses of the macro need to add it.
+       (__glibcxx_assert): Rename macro for runtime assertions
+       to __glibcxx_assert_2.
+       (__glibcxx_assert_1): Define macro for constexpr assertions.
+       (__glibcxx_assert): Define macro for constexpr and runtime
+       assertions.
+       * include/bits/range_access.h (ranges::advance): Remove
+       redundant precondition checks during constant evaluation.
+       * include/parallel/base.h (_GLIBCXX_PARALLEL_ASSERT): Always
+       use do-while in macro expansion.
+       * include/std/ranges (iota_view::iota_view(W, B)): Remove
+       redundant braces.
+
+2020-09-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (duration::_S_gcd(intmax_t, intmax_t)):
+       New helper function for finding GCD of two positive intmax_t
+       values.
+       (duration::__divide): New helper alias for dividing one period
+       by another.
+       (duration::__is_harmonic): Use __divide not ratio_divide.
+       (duration(const duration<R2, P2>&)): Require the duration rep
+       types to be convertible.
+       * testsuite/20_util/duration/cons/dr2094.cc: New test.
+       * testsuite/20_util/duration/requirements/reduced_period.cc:
+       Fix definition of unused member functions in test type.
+       * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
+       Adjust expected errors.
+
+2020-08-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/numeric (__detail::__absu(bool)): Make deleted
+       function a function template, so it will be chosen for calls
+       with an explicit template argument list.
+       * testsuite/26_numerics/gcd/gcd_neg.cc: Add dg-prune-output.
+       * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
+
+2020-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (common_type): Fix partial specializations
+       for a single duration type to use the common_type of the rep.
+       (duration::operator+, duration::operator-): Fix return types
+       to also use the common_type of the rep.
+       * testsuite/20_util/duration/requirements/reduced_period.cc:
+       Check duration using a rep that has common_type specialized.
+
+2020-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92978
+       * include/std/numeric (__abs_integral): Replace with ...
+       (__detail::__absu): New function template that returns an
+       unsigned type, guaranteeing it can represent the most
+       negative signed value.
+       (__detail::__gcd, __detail::__lcm): Require arguments to
+       be unsigned and therefore already non-negative.
+       (gcd, lcm): Convert arguments to absolute value as unsigned
+       type before calling __detail::__gcd or __detail::__lcm.
+       * include/experimental/numeric (gcd, lcm): Likewise.
+       * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected
+       errors.
+       * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
+       * testsuite/26_numerics/gcd/92978.cc: New test.
+       * testsuite/26_numerics/lcm/92978.cc: New test.
+       * testsuite/experimental/numeric/92978.cc: New test.
+
+2020-08-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (__duration_common_type): Ensure the
+       reduced ratio is used. Remove unused partial specialization
+       using __failure_type.
+       (common_type): Pass reduced ratios to __duration_common_type.
+       Add partial specializations for simple cases involving a single
+       duration or time_point type.
+       (duration::period): Use reduced ratio.
+       (duration::operator+(), duration::operator-()): Return duration
+       type using the reduced ratio.
+       * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
+       Adjust expected errors.
+       * testsuite/20_util/duration/requirements/reduced_period.cc: New test.
+
+2020-08-27  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/chrono (year_month::operator+): Properly handle a
+       month value of 0 by casting the month value to int before
+       subtracting 1 from it so that the difference is sign-extended in
+       the subsequent addition.
+       * testsuite/std/time/year_month/1.cc: Test adding months to a
+       year_month whose month component is below or above the
+       normalized range of [1,12].
+
+2020-08-27  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/chrono
+       (__detail::__months_years_conversion_disambiguator): Define.
+       (year_month::operator+=): Templatize the 'months'-based overload
+       so that the 'years'-based overload is selected in case of
+       equally-ranked implicit conversion sequences to both 'months'
+       and 'years' from the supplied argument.
+       (year_month::operator-=): Likewise.
+       (year_month::operator+): Likewise.
+       (year_month::operator-): Likewise.
+       (year_month_day::operator+=): Likewise.
+       (year_month_day::operator-=): Likewise.
+       (year_month_day::operator+): Likewise.
+       (year_month_day::operator-): Likewise.
+       (year_month_day_last::operator+=): Likewise.
+       (year_month_day_last::operator-=): Likewise.
+       (year_month_day_last::operator+): Likewise
+       (year_month_day_last::operator-): Likewise.
+       (year_month_day_weekday::operator+=): Likewise
+       (year_month_day_weekday::operator-=): Likewise.
+       (year_month_day_weekday::operator+): Likewise.
+       (year_month_day_weekday::operator-): Likewise.
+       (year_month_day_weekday_last::operator+=): Likewise
+       (year_month_day_weekday_last::operator-=): Likewise.
+       (year_month_day_weekday_last::operator+): Likewise.
+       (year_month_day_weekday_last::operator-): Likewise.
+       (testsuite/std/time/year_month/2.cc): New test.
+       (testsuite/std/time/year_month_day/2.cc): New test.
+       (testsuite/std/time/year_month_day_last/2.cc): New test.
+       (testsuite/std/time/year_month_weekday/2.cc): New test.
+       (testsuite/std/time/year_month_weekday_last/2.cc): New test.
+       * testsuite/std/time/year_month/2.cc: New file.
+       * testsuite/std/time/year_month_day/2.cc: New file.
+       * testsuite/std/time/year_month_day_last/2.cc: New file.
+       * testsuite/std/time/year_month_weekday/2.cc: New file.
+       * testsuite/std/time/year_month_weekday_last/2.cc: New file.
+
+2020-08-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95322
+       * include/std/ranges (transform_view::sentinel::__distance_from):
+       Give this a deduced return type.
+       (transform_view::sentinel::operator-): Adjust the return type so
+       that it's based on the constness of the iterator rather than
+       that of the sentinel.
+       * testsuite/std/ranges/adaptors/95322.cc: Refer to LWG 3488.
+
+2020-08-27  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (elements_view::begin): Adjust constraints.
+       (elements_view::end): Likewise.
+       (elements_view::_Sentinel::operator==): Templatize to take both
+       _Iterator<true> and _Iterator<false>.
+       (elements_view::_Sentinel::operator-): Likewise.
+       * testsuite/std/ranges/adaptors/elements.cc: Add testcase for
+       the example from P1994R1.
+       * testsuite/std/ranges/adaptors/lwg3406.cc: New test.
+
+2020-08-27  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (elements_view::end): Replace these two
+       overloads with four new overloads.
+       (elements_view::_Iterator::operator==): Remove.
+       (elements_view::_Iterator::operator-): Likewise.
+       (elements_view::_Sentinel): Define.
+
+2020-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/tuple (_Tuple_impl): Whitespaces changes for
+       consistent indentation. Also use __enable_if_t alias template.
+
+2020-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96803
+       * include/std/tuple
+       (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
+       Replace parameter pack with a type parameter and a pack and pass
+       the first type to __use_alloc.
+       * testsuite/20_util/tuple/cons/96803.cc: New test.
+
+2020-08-26  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/chrono (year_month_weekday::operator==): Compare
+       weekday_indexed instead of weekday.
+       * testsuite/std/time/year_month_weekday/1.cc: Augment testcase.
+
+2020-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/hashtable_policy.h (_Hash_code_base): Change
+       index of _Hashtable_ebo_helper base class.
+       * testsuite/23_containers/unordered_map/dup_types.cc: New test.
+
+2020-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/71960
+       * include/experimental/string_view (basic_string_view):
+       Enable debug assertions.
+       * include/std/string_view (basic_string_view):
+       Likewise.
+
+2020-08-26  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h (_Hashtable<>): Rename _H1 into _Hash
+       _H2 into _RangeHash and _Hash into _Unused.
+       (_Hastable_base<>): Likewise.
+       (_Map_base<>): Likewise.
+       (_Insert_base<>): Likewise.
+       (_Insert<>): Likewise.
+       (_Rehash_base<>): Likewise.
+       (_Local_iterator_base<>): Likewise.
+       (_Hash_code_base<>): Likewise.
+       (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>):
+       Remove.
+       (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>):
+       Remove.
+       (_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHas, _Unused,
+       bool>): Remove _Hashtable_ebo_helper<2, _RangeHash> base type..
+       (_Hash_code_base<>::_M_bucket_index(const _Key&, __hash_code, size_t)):
+       Replace by...
+       (_Hash_code_base<>::_M_bucket_index(__hash_code, size_t)): ...this.
+       (_Local_iterator<>): Remove _H1 and _H2 template parameters.
+       (_Local_const_iterator<>): Likewise.
+       (_Equality<>): Likewise.
+       (_Map_base<>::operator[](const key_type&): Adapt.
+       (_Map_base<>::operator[](key_type&&): Adapt.
+       (_Identity::operator()): Add noexcept.
+       (_Select1st::operator()): Likewise.
+       (_Hash_code_base<>): Remove _Hashtable_ebo_helper<0, _ExtractKey> base
+       type.
+       (_Hash_code_base::_M_extract): Remove.
+       * include/bits/hashtable.h (_Hashtable<>): Remove _H1 and _H2 template
+       parameters. Remove _ExtractKey from constructors.
+       (_Hashtable<>::_M_insert_unique_node(const key_type&, size_t,
+       __hash_code, __node_type*, size_t)): Replace by...
+       (_Hashtable<>::_M_insert_unique_node(size_t, __hash_code,
+        __node_type*, size_t)): ...this.
+       (_Hashtable<>::_M_insert_muti_node(__node_type*, const key_type&,
+       __hash_code, __node_type*)): Replace by...
+       (_Hashtable<>::_M_insert_multi_node(__node_type*, __hash_code,
+       __node_type*)): ...this.
+       (_Hashtable<>::__key_extract): Remove.
+       * include/bits/node_handle.h: Adapt.
+
+2020-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/21_strings/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc:
+       Removed.
+       * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc:
+       Removed.
+       * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc: Removed.
+       * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Removed.
+
+2020-08-25  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/chrono (year_month_weekday::ok): Fix assert.
+
+2020-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/future (future, shared_future. promise): Add
+       is_destructible assertion (LWG 3466). Adjust string-literal for
+       !is_array and !is_function assertions.
+       * testsuite/30_threads/future/requirements/lwg3458.cc: Check
+       types with no accessible destructor. Adjust expected errors.
+       * testsuite/30_threads/promise/requirements/lwg3466.cc:
+       Likewise.
+       * testsuite/30_threads/shared_future/requirements/lwg3458.cc:
+       Likewise.
+
+2020-08-25  Patrick Palka  <ppalka@redhat.com>
+           Ed Smith-Rowland  <3dw4rd@verizon.net>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (time_point::operator++)
+       (time_point::operator--): Define.
+       (utc_clock, tai_clock, gps_clock): Forward declare.
+       (utc_time, utc_seconds, tai_time, tai_seconds, gps_time)
+       (gps_seconds): Define.
+       (is_clock<utc_clock>, is_clock<tai_clock>, is_clock<gps_clock>)
+       (is_clock_v<utc_clock>, is_clock_v<tai_clock>)
+       (is_clock_v<gps_clock>): Define these specializations.
+       (leap_second_info): Define.
+       (day, month, year, weekday, weekday_indexed)
+       (weekday_last, month_day, month_day_last, month_weekday)
+       (month_weekday_last, year_month, year_month_day)
+       (year_month_day_last, year_month_weekday, year_month_weekday_last):
+       Declare and later define.
+       (last_spec, last, __detail::__days_per_month)
+       (__detail::__days_per_month, __detail::__last_day): Define.
+       (January, February, March, April, May, June, July, August)
+       (September, October, November, December, Sunday, Monday, Tuesday)
+       (Wednesday, Thursday, Friday, Saturday): Define.
+       (weekday::operator[]): Define out-of-line.
+       (year_month_day::_S_from_days, year_month_day::M_days_since_epoch):
+       Likewise.
+       (year_month_day::year_month_day, year_month_day::ok): Likewise.
+       (__detail::__pow10, hh_mm_ss): Define.
+       (literals::chrono_literals::operator""d)
+       (literals::chrono_literals::operator""y): Define.
+       (is_am, is_pm, make12, make24): Define.
+       * testsuite/20_util/time_point/4.cc: New test.
+       * testsuite/std/time/day/1.cc: New test.
+       * testsuite/std/time/hh_mm_ss/1.cc: New test.
+       * testsuite/std/time/is_am/1.cc: New test.
+       * testsuite/std/time/is_pm/1.cc: New test.
+       * testsuite/std/time/make12/1.cc: New test.
+       * testsuite/std/time/make24/1.cc: New test.
+       * testsuite/std/time/month/1.cc: New test.
+       * testsuite/std/time/month_day/1.cc: New test.
+       * testsuite/std/time/month_day_last/1.cc: New test.
+       * testsuite/std/time/month_weekday/1.cc: New test.
+       * testsuite/std/time/month_weekday_last/1.cc: New test.
+       * testsuite/std/time/weekday/1.cc: New test.
+       * testsuite/std/time/weekday_indexed/1.cc: New test.
+       * testsuite/std/time/weekday_last/1.cc: New test.
+       * testsuite/std/time/year/1.cc: New test.
+       * testsuite/std/time/year_month/1.cc: New test.
+       * testsuite/std/time/year_month_day/1.cc: New test.
+       * testsuite/std/time/year_month_day_last/1.cc: New test.
+       * testsuite/std/time/year_month_weekday/1.cc: New test.
+       * testsuite/std/time/year_month_weekday_last/1.cc: New test.
+
+2020-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (join_view): Add deduction guide (LWG 3474).
+       * testsuite/std/ranges/adaptors/join_lwg3474.cc: New test.
+
+2020-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (indirectly_readable): Add
+       partial specializations to resolve ambiguities (LWG 3446).
+       * testsuite/24_iterators/associated_types/readable.traits.cc:
+       Check types with both value_type and element_type.
+
+2020-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (ranges::iota_view::size()): Perform all
+       calculations in the right unsigned types.
+       * testsuite/std/ranges/iota/size.cc: New test.
+
+2020-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96766
+       * include/std/variant (_Variant_storage): Replace implicit
+       conversions from size_t to __index_type with explicit casts.
+
+2020-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/packaged_task/cons/alloc.cc: Run for
+       C++11 and skip for C++17 or later.
+
+2020-08-24  Corentin Gay  <gay@adacore.com>
+
+       * testsuite/20_util/shared_ptr/atomic/3.cc: Do not require POSIX
+       threads and add -pthread only on targets supporting them.
+       * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
+       Likewise.
+       * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
+       Likewise.
+       * testsuite/30_threads/async/42819.cc: Likewise.
+       * testsuite/30_threads/async/49668.cc: Likewise.
+       * testsuite/30_threads/async/54297.cc: Likewise.
+       * testsuite/30_threads/async/any.cc: Likewise.
+       * testsuite/30_threads/async/async.cc: Likewise.
+       * testsuite/30_threads/async/except.cc: Likewise.
+       * testsuite/30_threads/async/launch.cc: Likewise.
+       * testsuite/30_threads/async/lwg2021.cc: Likewise.
+       * testsuite/30_threads/async/sync.cc: Likewise. : Likewise.
+       * testsuite/30_threads/call_once/39909.cc: Likewise.
+       * testsuite/30_threads/call_once/49668.cc: Likewise.
+       * testsuite/30_threads/call_once/60497.cc: Likewise.
+       * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+       * testsuite/30_threads/call_once/dr2442.cc: Likewise.
+       * testsuite/30_threads/condition_variable/54185.cc: Likewise.
+       * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
+       * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
+       * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
+       * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
+       * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
+       * testsuite/30_threads/condition_variable/members/68519.cc: Likewise.
+       * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
+       Likewise.
+       * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
+       * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
+       * testsuite/30_threads/condition_variable_any/cond.cc: Likewise.
+       * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
+       * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
+       * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
+       * testsuite/30_threads/future/cons/move.cc: Likewise.
+       * testsuite/30_threads/future/members/45133.cc: Likewise.
+       * testsuite/30_threads/future/members/get.cc: Likewise.
+       * testsuite/30_threads/future/members/get2.cc: Likewise.
+       * testsuite/30_threads/future/members/share.cc: Likewise.
+       * testsuite/30_threads/future/members/valid.cc: Likewise.
+       * testsuite/30_threads/future/members/wait.cc: Likewise.
+       * testsuite/30_threads/future/members/wait_for.cc: Likewise.
+       * testsuite/30_threads/future/members/wait_until.cc: Likewise.
+       * testsuite/30_threads/lock/1.cc: Likewise.
+       * testsuite/30_threads/lock/2.cc: Likewise.
+       * testsuite/30_threads/lock/3.cc: Likewise.
+       * testsuite/30_threads/lock/4.cc: Likewise.
+       * testsuite/30_threads/mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
+       * testsuite/30_threads/mutex/lock/1.cc: Likewise.
+       * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
+       * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
+       * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/mutex/unlock/2.cc: Likewise.
+       * testsuite/30_threads/packaged_task/49668.cc: Likewise.
+       * testsuite/30_threads/packaged_task/60564.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
+       * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
+       Likewise.
+       * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
+       * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
+       * testsuite/30_threads/promise/60966.cc: Likewise.
+       * testsuite/30_threads/promise/cons/1.cc: Likewise.
+       * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
+       * testsuite/30_threads/promise/cons/move.cc: Likewise.
+       * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
+       * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
+       * testsuite/30_threads/promise/members/at_thread_exit2.cc: Likewise.
+       * testsuite/30_threads/promise/members/get_future.cc: Likewise.
+       * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
+       * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
+       * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
+       * testsuite/30_threads/promise/members/set_value.cc: Likewise.
+       * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
+       * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
+       * testsuite/30_threads/promise/members/swap.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
+       Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
+       * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/get.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
+       * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
+       * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
+       * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
+       * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
+       * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
+       * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
+       * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
+       * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/this_thread/1.cc: Likewise.
+       * testsuite/30_threads/this_thread/sleep_for-mt.cc: Likewise.
+       * testsuite/30_threads/this_thread/sleep_until-mt.cc: Likewise.
+       * testsuite/30_threads/thread/cons/1.cc: Likewise.
+       * testsuite/30_threads/thread/cons/2.cc: Likewise.
+       * testsuite/30_threads/thread/cons/3.cc: Likewise.
+       * testsuite/30_threads/thread/cons/4.cc: Likewise.
+       * testsuite/30_threads/thread/cons/49668.cc: Likewise.
+       * testsuite/30_threads/thread/cons/5.cc: Likewise.
+       * testsuite/30_threads/thread/cons/6.cc: Likewise.
+       * testsuite/30_threads/thread/cons/7.cc: Likewise.
+       * testsuite/30_threads/thread/cons/8.cc: Likewise.
+       * testsuite/30_threads/thread/cons/9.cc: Likewise.
+       * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
+       * testsuite/30_threads/thread/cons/terminate.cc: Likewise.
+       * testsuite/30_threads/thread/members/1.cc: Likewise.
+       * testsuite/30_threads/thread/members/2.cc: Likewise.
+       * testsuite/30_threads/thread/members/3.cc: Likewise.
+       * testsuite/30_threads/thread/members/4.cc: Likewise.
+       * testsuite/30_threads/thread/members/5.cc: Likewise.
+       * testsuite/30_threads/thread/members/hardware_concurrency.cc:
+       Likewise.
+       * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
+       * testsuite/30_threads/thread/swap/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
+       Likewise.
+       * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
+       Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
+       * testsuite/30_threads/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/try_lock/3.cc: Likewise.
+       * testsuite/30_threads/try_lock/4.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+       * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
+       * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+       * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+       * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+       * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+
+2020-08-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96736
+       * testsuite/17_intro/headers/c++1998/all_attributes.cc: Do not
+       test "cold" on darwin.
+       * testsuite/17_intro/headers/c++2011/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2014/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2020/all_attributes.cc:
+       Likewise.
+
+2020-08-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96718
+       * testsuite/25_algorithms/pstl/feature_test-2.cc: Require
+       tbb-backend effective target.
+       * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
+
+2020-08-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h [__STRICT_ANSI__]
+       (incrementable_traits<__int128>): Define specialization.
+       (incrementable_traits<unsigned __int128>): Likewise.
+       * testsuite/std/ranges/iota/96042.cc: Test iota_view with
+       __int128.
+
+2020-08-19  Jonathan Wakely  <jwakely@redhat.com>
+           Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/96042
+       * include/bits/range_access.h (__detail::__to_unsigned_like):
+       Do not use make_unsigned_t<T> in the return type, as it can
+       result in an error before the integral<T> constraint is checked.
+       [__STRICT_ANSI__]: Add overloads for 128-bit integer types.
+       (__detail::__make_unsigned_like_t): Define as the return type
+       of __to_unsigned_like.
+       * testsuite/std/ranges/subrange/96042.cc: New test.
+
+2020-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_tree.h (operator!=, operator>, operator<=)
+       (operator>=): Remove deprecated functions.
+
+2020-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96042
+       * include/ext/numeric_traits.h (__is_integer_nonstrict): New
+       trait which is true for 128-bit integers even in strict modes.
+       (__numeric_traits_integer, __numeric_traits): Use
+       __is_integer_nonstrict instead of __is_integer.
+       * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__]
+       (numeric_limits<__int128>, (numeric_limits<unsigned __int128>):
+       Define.
+       * testsuite/std/ranges/iota/96042.cc: New test.
+
+2020-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST)
+       (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST)
+       (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST):
+       Add new macros to comment.
+
+2020-08-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/Makefile.am (bits_headers): Add new header
+       <bits/max_size_type.h>.
+       * include/Makefile.in: Regenerate.
+       * include/bits/iterator_concepts.h
+       (ranges::__detail::__max_diff_type): Remove definition, replace
+       with forward declaration of class __max_diff_type.
+       (__detail::__max_size_type): Remove definition, replace with
+       forward declaration of class __max_size_type.
+       (__detail::__is_unsigned_int128, __is_signed_int128)
+       (__is_int128): New concepts.
+       (__detail::__is_integer_like): Accept __int128 and unsigned
+       __int128.
+       (__detail::__is_signed_integer_like): Accept __int128.
+       * include/bits/max_size_type.h: New header.
+       * include/bits/range_access.h: Include <bits/max_size_type.h>.
+       (__detail::__to_unsigned_like): Two new overloads.
+       * testsuite/std/ranges/iota/difference_type.cc: New test.
+       * testsuite/std/ranges/iota/max_size_type.cc: New test.
+
+2020-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_DEPRECATED): Define for all
+       standard modes.
+       (_GLIBCXX_DEPRECATED_SUGGEST): New macro for "use 'foo' instead"
+       message in deprecated warnings.
+       (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST): New
+       macros for marking features deprecated in C++11.
+       (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST):
+       New macros.
+       * include/backward/auto_ptr.h (auto_ptr_ref, auto_ptr<void>):
+       Use _GLIBCXX11_DEPRECATED instead of _GLIBCXX_DEPRECATED.
+       (auto_ptr): Use _GLIBCXX11_DEPRECATED_SUGGEST.
+       * include/backward/binders.h (binder1st, binder2nd): Likewise.
+       * include/bits/ios_base.h (io_state, open_mode, seek_dir)
+       (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST.
+       * include/std/streambuf (stossc): Replace C++11 attribute
+       with _GLIBCXX_DEPRECATED_SUGGEST.
+       * include/std/type_traits (__is_nullptr_t): Use
+       _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED.
+       * testsuite/27_io/types/1.cc: Check for deprecated warnings.
+       Also check for io_state, open_mode and seek_dir typedefs.
+
+2020-08-19  Antony Polukhin  <antoshkka@gmail.com>
+
+       PR libstdc++/71579
+       * include/std/type_traits (invoke_result, is_nothrow_invocable_r)
+       Add static_asserts to make sure that the argument of the type
+       trait is not misused with incomplete types.
+       (is_swappable_with, is_nothrow_swappable_with): Add static_asserts
+       to make sure that the first and second arguments of the type trait
+       are not misused with incomplete types.
+       * testsuite/20_util/invoke_result/incomplete_neg.cc: New test.
+       * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: New test.
+       * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: New test.
+       * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: New
+       test.
+       * testsuite/20_util/is_swappable_with/incomplete_neg.cc: New test.
+
+2020-08-18  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.net>
+
+       * config/os/aix/t-aix: Add complementary mode object files to
+       libsupc++.a
+
+2020-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/headers/c++1998/all_attributes.cc: Check
+       "cold" isn't used in the library. Also check <cxxabi.h>.
+       * testsuite/17_intro/headers/c++2011/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2014/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2020/all_attributes.cc:
+       Likewise.
+
+2020-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/69724
+       * include/std/future (__future_base::_S_make_deferred_state)
+       (__future_base::_S_make_async_state): Remove.
+       (__future_base::_Deferred_state): Change constructor to accept a
+       parameter pack of arguments and forward them to the call
+       wrapper.
+       (__future_base::_Async_state_impl): Likewise. Replace lambda
+       expression with a named member function.
+       (async): Construct state object directly from the arguments,
+       instead of using thread::__make_invoker, _S_make_deferred_state
+       and _S_make_async_state. Move shared state into the returned
+       future.
+       * include/std/thread (thread::_Call_wrapper): New alias
+       template for use by constructor and std::async.
+       (thread::thread(Callable&&, Args&&...)): Create state object
+       directly instead of using _S_make_state.
+       (thread::__make_invoker, thread::__decayed_tuple)
+       (thread::_S_make_state): Remove.
+       * testsuite/30_threads/async/69724.cc: New test.
+
+2020-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/55713
+       PR libstdc++/71096
+       PR libstdc++/93147
+       * include/std/tuple [__has_cpp_attribute(no_unique_address)]
+       (_Head_base<Idx, Head, true>): New definition of the partial
+       specialization, using [[no_unique_address]] instead of
+       inheritance.
+       * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
+       output.
+       * testsuite/20_util/tuple/comparison_operators/93147.cc: New test.
+       * testsuite/20_util/tuple/creation_functions/55713.cc: New test.
+       * testsuite/20_util/tuple/element_access/71096.cc: New test.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * testsuite/lib/libstdc++.exp: Use the new option
+       -fdiagnostics-plain-output.
+
+2020-08-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std
+       option is used and fail unless --enable-cheaders-obsolete is
+       also used.
+       * configure: Regenerate.
+
+2020-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/85828
+       * include/bits/basic_string.h (operator=(basic_string&&)): Check
+       for self-move before copying with char_traits::copy.
+       * include/bits/hashtable.h (operator=(_Hashtable&&)): Check for
+       self-move.
+       * include/bits/stl_deque.h (_M_move_assign1(deque&&, false_type)):
+       Check for equal allocators.
+       * include/bits/stl_list.h (_M_move_assign(list&&, true_type)):
+       Call clear() instead of _M_clear().
+       * include/debug/formatter.h (__msg_self_move_assign): Change
+       comment.
+       * include/debug/macros.h (__glibcxx_check_self_move_assign):
+       (_GLIBCXX_DEBUG_VERIFY): Remove.
+       * include/debug/safe_container.h (operator=(_Safe_container&&)):
+       Remove assertion check for safe move and make it well-defined.
+       * include/debug/safe_iterator.h (operator=(_Safe_iterator&&)):
+       Remove assertion check for self-move.
+       * include/debug/safe_local_iterator.h
+       (operator=(_Safe_local_iterator&&)): Likewise.
+       * testsuite/21_strings/basic_string/cons/char/self_move.cc: New test.
+       * testsuite/23_containers/deque/cons/self_move.cc: New test.
+       * testsuite/23_containers/forward_list/cons/self_move.cc: New test.
+       * testsuite/23_containers/list/cons/self_move.cc: New test.
+       * testsuite/23_containers/set/cons/self_move.cc: New test.
+       * testsuite/23_containers/unordered_set/cons/self_move.cc: New test.
+       * testsuite/23_containers/vector/cons/self_move.cc: New test.
+
+2020-08-11  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/91620
+       * include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes
+       to destroy in an intermediate forward_list.
+       (forward_list<>::remove_if, forward_list<>::unique): Likewise.
+       * include/bits/list.tcc (list<>::remove, list<>::unique): Likewise.
+       (list<>::remove_if): Likewise.
+       * include/debug/forward_list (forward_list<>::_M_erase_after): Remove.
+       (forward_list<>::erase_after): Adapt.
+       (forward_list<>::remove, forward_list<>::remove_if): Collect nodes to
+       destroy in an intermediate forward_list.
+       (forward_list<>::unique): Likewise.
+       * include/debug/list (list<>::remove, list<>::unique): Likewise.
+       (list<>::remove_if): Likewise.
+       * testsuite/23_containers/forward_list/operations/91620.cc: New test.
+       * testsuite/23_containers/list/operations/91620.cc: New test.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/thread/cons/84535.cc: Use a custom
+       namespace.
+       * testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/89760
+       * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]:
+       (execution_context::mutex_type): Define dummy mutex type.
+       (system_context): Use execution_context::mutex_type.
+       (system_context) [!_GLIBCXX_HAS_GTHREADS]: Define dummy
+       thread and condition variable types.
+       [!_GLIBCXX_HAS_GTHREADS] (system_context::_M_run()): Do not
+       define.
+       (system_context::_M_post) [!_GLIBCXX_HAS_GTHREADS]: Throw
+       an exception when threads aren't available.
+       (strand::running_in_this_thread()): Defer to _M_state.
+       (strand::_State::running_in_this_thread()): New function.
+       (use_future_t): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1.
+       * include/experimental/io_context (io_context): Use the
+       execution_context::mutex_type alias. Replace stack of thread
+       IDs with counter.
+       * testsuite/experimental/net/execution_context/use_service.cc:
+       Enable test for non-pthread targets.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/executor (system_context::a__tag): Make
+       default constructor explicit.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/executor (system_context::_M_run()):
+       Fix predicate.
+       * testsuite/experimental/net/system_context/1.cc: New test.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using
+       #ifdef instead of #if.
+       (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before
+       using __gthread_yield.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/thread [!_GLIBCXX_HAS_GTHREADS] (this_thread::yield)
+       (this_thread::sleep_until): Define.
+       [!_GLIBCXX_HAS_GTHREADS] (this_thread::sleep_for): Define. Replace
+       use of __gthread_time_t typedef with timespec.
+       * src/c++11/thread.cc [!_GLIBCXX_HAS_GTHREADS] (__sleep_for):
+       Likewise.
+       * testsuite/30_threads/this_thread/2.cc: Moved to...
+       * testsuite/30_threads/this_thread/yield.cc: ...here.
+       * testsuite/30_threads/this_thread/3.cc: Moved to...
+       * testsuite/30_threads/this_thread/sleep_for-mt.cc: ...here.
+       * testsuite/30_threads/this_thread/4.cc: Moved to...
+       * testsuite/30_threads/this_thread/sleep_until-mt.cc: ...here.
+       * testsuite/30_threads/this_thread/58038.cc: Add
+       dg-require-sleep.
+       * testsuite/30_threads/this_thread/60421.cc: Likewise.
+       * testsuite/30_threads/this_thread/sleep_for.cc: New test.
+       * testsuite/30_threads/this_thread/sleep_until.cc: New test.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94681
+       * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead
+       of calling ::lstat directly.
+       * src/filesystem/ops.cc (read_symlink): Likewise.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
+       Use gdb.Type.strip_typedefs().
+       * testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
+       the emulated old type.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94681
+       * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on
+       $enable_libstdcxx_filesystem_ts.
+       * configure: Regenerate.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93904
+       * include/bits/stl_iterator.h (inserter): Do not deduce
+       iterator type (LWG 561).
+       * testsuite/24_iterators/insert_iterator/dr561.cc: New test.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI=0]
+       (basic_string::reserve()): Do nothing if exceptions are not
+       enabled.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95749
+       * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
+       (stat_type): Change to __stat64.
+       (stat): Use _wstat64.
+
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96303
+       * include/debug/bitset (bitset::operator==): Call _M_base() on
+       right operand.
+       (bitset::operator!=): Likewise, but don't define it at all when
+       default comparisons are supported by the compiler.
+       * testsuite/23_containers/bitset/operations/96303.cc: New test.
+
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/comparisons/algorithms/partial_order.cc:
+       Replace VERIFY with static_assert where the compiler now
+       allows it.
+       * testsuite/18_support/comparisons/algorithms/weak_order.cc:
+       Likewise.
+
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver: Fix wildcards for wstring symbols.
+
+2020-08-06  Andrew Luo  <andrewluotechnologies@outlook.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4): Use less greedy
+       patterns for basic_string members.
+       (GLIBCXX_3.4.29): Export new basic_string::reserve symbols.
+       * doc/xml/manual/status_cxx2020.xml: Update P0966 status.
+       * include/bits/basic_string.h (shrink_to_fit()): Call reserve().
+       (reserve(size_type)): Remove default argument.
+       (reserve()): Declare new overload.
+       [!_GLIBCXX_USE_CXX11_ABI] (shrink_to_fit, reserve): Likewise.
+       * include/bits/basic_string.tcc (reserve(size_type)): Remove
+       support for shrinking capacity.
+       (reserve()): Perform shrink-to-fit operation.
+       [!_GLIBCXX_USE_CXX11_ABI] (reserve): Likewise.
+       * testsuite/21_strings/basic_string/capacity/1.cc: Adjust to
+       reflect new behavior.
+       * testsuite/21_strings/basic_string/capacity/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/capacity/char/18654.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/capacity/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc:
+       Likewise.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.tcc
+       (operator>>(basic_istream&, basic_string&)): Do not set eofbit
+       if extraction stopped after in.width() characters.
+       * src/c++98/istream-string.cc (operator>>(istream&, string&)):
+       Likewise.
+       * include/bits/istream.tcc (__istream_extract): Do not set
+       eofbit if extraction stopped after n-1 characters.
+       * src/c++98/istream.cc (__istream_extract): Likewise.
+       * testsuite/21_strings/basic_string/inserters_extractors/char/13.cc: New test.
+       * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc: New test.
+       * testsuite/27_io/basic_istream/extractors_character/char/5.cc: New test.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/5.cc: New test.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96484
+       * src/c++17/fs_ops.cc (fs::read_symlink): Return an error
+       immediately for non-symlinks.
+       * src/filesystem/ops.cc (fs::read_symlink): Likewise.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/istream (operator>>(istream&, char*)): Add
+       attributes to get warnings for pointers that are null or known
+       to point to the end of a buffer. Request upper bound from
+       __builtin_object_size check and handle zero-sized buffer case.
+       (operator>>(istream&, signed char))
+       (operator>>(istream&, unsigned char*)): Add attributes.
+       * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
+       Check extracting into the middle of a buffer.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test.
+
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/atomic (atomic<T>::store): Reformat.
+
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2017.xml: Replace oneAPI DPC++ link
+       with LLVM repo for PSTL.
+       * doc/html/manual/status.html: Regenerate.
+
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Export new symbols.
+       * include/bits/istream.tcc (__istream_extract): New function
+       template implementing both of operator>>(istream&, char*) and
+       operator>>(istream&, char(&)[N]). Add explicit instantiation
+       declaration for it. Remove explicit instantiation declarations
+       for old function templates.
+       * include/std/istream (__istream_extract): Declare.
+       (operator>>(basic_istream<C,T>&, C*)): Define inline and simply
+       call __istream_extract.
+       (operator>>(basic_istream<char,T>&, signed char*)): Likewise.
+       (operator>>(basic_istream<char,T>&, unsigned char*)): Likewise.
+       (operator>>(basic_istream<C,T>&, C(7)[N])): Define for LWG 2499.
+       (operator>>(basic_istream<char,T>&, signed char(&)[N])):
+       Likewise.
+       (operator>>(basic_istream<char,T>&, unsigned char(&)[N])):
+       Likewise.
+       * include/std/streambuf (basic_streambuf): Declare char overload
+       of __istream_extract as a friend.
+       * src/c++11/istream-inst.cc: Add explicit instantiation
+       definition for wchar_t overload of __istream_extract. Remove
+       explicit instantiation definitions of old operator>> overloads
+       for versioned-namespace build.
+       * src/c++98/istream.cc (operator>>(istream&, char*)): Replace
+       with __istream_extract(istream&, char*, streamsize).
+       * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
+       Do not use variable-length array.
+       * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
+       Do not run test for C++20.
+       * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
+       Do not test writing to pointers for C++20.
+       * testsuite/27_io/basic_istream/extractors_character/char/9826.cc:
+       Use array instead of pointer.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
+       Do not use variable-length array.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
+       Do not run test for C++20.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc:
+       Do not test writing to pointers for C++20.
+       * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
+       New test.
+       * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
+       New test.
+       * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
+       New test.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
+       New test.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
+       New test.
+
+2020-08-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/using_exceptions.xml: Move www.stroustrup.com to
+       https.
+       * doc/html/manual/using_exceptions.html: Regenerate.
+
+2020-07-31  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/status_cxx2017.xml: ParallelSTL is now part
+       of oneAPI DPC++ Library on Github.
+       * doc/html/manual/status.html: Regenerate.
+
+2020-07-31  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_bvector.h
+       [_GLIBCXX_INLINE_VERSION](_Bvector_impl_data::_M_start): Define as
+       _Bit_type*.
+       (_Bvector_impl_data(const _Bvector_impl_data&)): Default.
+       (_Bvector_impl_data(_Bvector_impl_data&&)): Delegate to latter.
+       (_Bvector_impl_data::operator=(const _Bvector_impl_data&)): Default.
+       (_Bvector_impl_data::_M_move_data(_Bvector_impl_data&&)): Use latter.
+       (_Bvector_impl_data::_M_reset()): Likewise.
+       (_Bvector_impl_data::_M_swap_data): New.
+       (_Bvector_impl::_Bvector_impl(_Bvector_impl&&)): Implement explicitely.
+       (_Bvector_impl::_Bvector_impl(_Bit_alloc_type&&, _Bvector_impl&&)): New.
+       (_Bvector_base::_Bvector_base(_Bvector_base&&, const allocator_type&)):
+       New, use latter.
+       (vector::vector(vector&&, const allocator_type&, true_type)): New, use
+       latter.
+       (vector::vector(vector&&, const allocator_type&, false_type)): New.
+       (vector::vector(vector&&, const allocator_type&)): Use latters.
+       (vector::vector(const vector&, const allocator_type&)): Adapt.
+       [__cplusplus >= 201103](vector::vector(_InputIt, _InputIt,
+       const allocator_type&)): Use _M_initialize_range.
+       (vector::operator[](size_type)): Use iterator operator[].
+       (vector::operator[](size_type) const): Use const_iterator operator[].
+       (vector::swap(vector&)): Add assertions on allocators. Use _M_swap_data.
+       [__cplusplus >= 201103](vector::insert(const_iterator, _InputIt,
+       _InputIt)): Use _M_insert_range.
+       (vector::_M_initialize(size_type)): Adapt.
+       [__cplusplus >= 201103](vector::_M_initialize_dispatch): Remove.
+       [__cplusplus >= 201103](vector::_M_insert_dispatch): Remove.
+       * python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Stop
+       using start _M_offset.
+       (StdVectorPrinter.to_string): Likewise.
+       * testsuite/23_containers/vector/bool/allocator/swap.cc: Adapt.
+       * testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc:
+       Add check.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_istream/ignore/char/94749.cc: Use 0
+       instead of nullptr.
+       * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc:
+       Likewise.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc:
+       Move struct to namespace scope.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/numbers/float128.cc: Check
+       __STRICT_ANSI__ before using __float128.
+       * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc:
+       Likewise.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/set_terminate.cc: Require C++11 or
+       higher.
+       * testsuite/28_regex/simple_c++11.cc: Likewise.
+       * testsuite/tr1/headers/c++200x/complex.cc: Likewise.
+       * testsuite/24_iterators/headers/iterator/synopsis.cc:
+       Require C++14 or lower.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/span/back_assert_neg.cc: Split c++2a
+       effective-target from xfail selector.
+       * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_2_assert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/subspan_3_assert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/subspan_4_assert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/subspan_5_assert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/subspan_6_assert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/reference_wrapper/83427.cc: Adjust
+       effective-target to specific language mode only.
+       * testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc:
+       Likewise.
+       * testsuite/26_numerics/valarray/69116.cc:
+       Likewise.
+       * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc:
+       Remove whitespace at end of file.
+       * testsuite/30_threads/headers/future/std_c++0x_neg.cc:
+       Likewise.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
+       c++17 effective-target.
+       * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Likewise.
+       * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/operator_names.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
+       * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
+       Likewise.
+       * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
+       Likewise.
+       * testsuite/19_diagnostics/error_code/is_error_code_v.cc:
+       Likewise.
+       * testsuite/20_util/any/assign/1.cc: Likewise.
+       * testsuite/20_util/any/assign/2.cc: Likewise.
+       * testsuite/20_util/any/assign/emplace.cc: Likewise.
+       * testsuite/20_util/any/assign/exception.cc: Likewise.
+       * testsuite/20_util/any/assign/self.cc: Likewise.
+       * testsuite/20_util/any/cons/1.cc: Likewise.
+       * testsuite/20_util/any/cons/2.cc: Likewise.
+       * testsuite/20_util/any/cons/aligned.cc: Likewise.
+       * testsuite/20_util/any/cons/explicit.cc: Likewise.
+       * testsuite/20_util/any/cons/in_place.cc: Likewise.
+       * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
+       * testsuite/20_util/any/make_any.cc: Likewise.
+       * testsuite/20_util/any/misc/any_cast.cc: Likewise.
+       * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
+       * testsuite/20_util/any/misc/swap.cc: Likewise.
+       * testsuite/20_util/any/modifiers/1.cc: Likewise.
+       * testsuite/20_util/any/observers/type.cc: Likewise.
+       * testsuite/20_util/any/requirements.cc: Likewise.
+       * testsuite/20_util/any/typedefs.cc: Likewise.
+       * testsuite/20_util/as_const/1.cc: Likewise.
+       * testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
+       * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
+       * testsuite/20_util/bool_constant/requirements.cc: Likewise.
+       * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
+       Likewise.
+       * testsuite/20_util/duration_cast/rounding.cc: Likewise.
+       * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
+       Likewise.
+       * testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
+       * testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
+       * testsuite/20_util/function_objects/searchers.cc: Likewise.
+       * testsuite/20_util/in_place/requirements.cc: Likewise.
+       * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_invocable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_invocable/value.cc: Likewise.
+       * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/value.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/value.cc: Likewise.
+       * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable_with/value.cc: Likewise.
+       * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/logical_traits/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/logical_traits/value.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
+       * testsuite/20_util/optional/hash.cc: Likewise.
+       * testsuite/20_util/pair/swap_cxx17.cc: Likewise.
+       * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
+       * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
+       Likewise.
+       * testsuite/20_util/tuple/apply/1.cc: Likewise.
+       * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
+       * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
+       * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
+       * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
+       Likewise.
+       * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
+       Likewise.
+       * testsuite/20_util/variant/any.cc: Likewise.
+       * testsuite/20_util/variant/compile.cc: Likewise.
+       * testsuite/20_util/variant/hash.cc: Likewise.
+       * testsuite/20_util/variant/index_type.cc: Likewise.
+       * testsuite/20_util/variant/run.cc: Likewise.
+       * testsuite/20_util/void_t/1.cc: Likewise.
+       * testsuite/21_strings/basic_string/79162.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
+       * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
+       * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
+       * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/data/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/find/char/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
+       * testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/include.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
+       * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
+       Likewise.
+       * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
+       Likewise.
+       * testsuite/23_containers/map/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
+       * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/modifiers/merge.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
+       Likewise.
+       * testsuite/25_algorithms/clamp/1.cc: Likewise.
+       * testsuite/25_algorithms/clamp/2.cc: Likewise.
+       * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
+       Likewise.
+       * testsuite/29_atomics/atomic/is_always_lock_free.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
+       Likewise.
+       * testsuite/30_threads/shared_lock/70766.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
+       Likewise.
+       * testsuite/30_threads/shared_mutex/cons/copy_neg.cc:
+       Likewise.
+       * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
+       Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96382
+       * include/bits/stl_iterator.h (reverse_iterator): Friend
+       declaration should not depend on __cplusplus.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/filesystem/filesystem_error/cons.cc:
+       Remove -std=gnu++17 option.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/is_aggregate/value.cc: Adjust for changes to
+       definition of aggregates in C++20.
+       * testsuite/20_util/optional/requirements.cc: Adjust for
+       defaulted comparisons in C++20.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/tuple/78939.cc: Suppress warnings about
+       deprecation of volatile-qualified structured bindings in C++20.
+       * testsuite/20_util/variable_templates_for_traits.cc: Likewise
+       for deprecation of is_pod in C++20
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/time_point_cast/rounding.cc: Remove
+       duplicate dg-do directive and add c++17 effective target.
+
+2020-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/floating_from_chars.cc (from_chars_impl): Use
+       LC_ALL_MASK not LC_ALL.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96383
+       * testsuite/20_util/assume_aligned/3.cc: Use -g0.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (size_type, difference_type):
+       Use allocator_traits to obtain the allocator's size_type and
+       difference_type.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96279
+       * src/c++17/floating_from_chars.cc (from_chars_impl): Use
+       isinf unqualified.
+       [!_GLIBCXX_USE_C99_STDLIB]: Use strtod for float and long
+       double.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc:
+       Use allocator with the correct value type.
+       * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc:
+       Likewise.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/from_chars/4.cc: Pass non-const iterator
+       to string::insert.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (__detail::__cv_bool): New
+       helper concept.
+       (__detail::__integral_nonbool): Likewise.
+       (__detail::__is_integer_like): Use __integral_nonbool.
+       * testsuite/std/ranges/access/lwg3467.cc: New test.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/from_chars/4.cc: Use dg-add-options ieee.
+       * testsuite/29_atomics/atomic_float/1.cc: Likewise.
+
+2020-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/vector/bool/72847.cc: Use the
+       exceptions_enabled effective-target keyword instead of
+       checking for an explicit -fno-exceptions option.
+       * testsuite/util/testsuite_abi.cc (examine_symbol): Remove
+       redundant try-catch.
+       * testsuite/util/testsuite_allocator.h [!__cpp_exceptions]:
+       Do not define check_allocate_max_size and memory_resource.
+       * testsuite/util/testsuite_containers.h: Replace comment with
+       #error if wrong standard dialect used.
+       * testsuite/util/testsuite_shared.cc: Likewise.
+
+2020-07-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h (_Node_iterator_base()): New.
+       (operator==(const _Node_iterator_base&, const _Node_iterator_base&)):
+       Make hidden friend.
+       (operator!=(const _Node_iterator_base&, const _Node_iterator_base&)):
+       Make hidden friend.
+       (_Local_iterator_base<>): Inherits _Node_iterator_base.
+       (_Local_iterator_base<>::_M_cur): Remove.
+       (_Local_iterator_base<>::_M_curr()): Remove.
+       (operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
+       Remove.
+       (operator!=(const _Local_iterator_base&, const _Local_iterator_base&)):
+       Remove.
+       * include/debug/unordered_map (unordered_map<>::_M_invalidate): Adapt.
+       (unordered_multimap<>::_M_invalidate): Adapt.
+       * include/debug/unordered_set (unordered_set<>::_M_invalidate): Adapt.
+       (unordered_multiset<>::_M_invalidate): Adapt.
+
+2020-07-29  David Edelsohn  <dje.gcc@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/lib/dg-options.exp (add_options_for_libatomic): Add
+       target powerpc-ibm-aix* and powerpc*-*-darwin*.
+       * testsuite/29_atomics/atomic_float/value_init.cc: Add options
+       for libatomic.
+
+2020-07-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h
+       (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a, true_type)):
+       Add noexcept qualification.
+       (_Hashtable(_Hashtable&&)): Fix noexcept qualification.
+       (_Hashtable(_Hashtable&&, const allocator_type&)): Add noexcept
+       qualification.
+       * include/bits/unordered_map.h
+       (unordered_map(unordered_map&&, const allocator_type&)): Add noexcept
+       qualification.
+       (unordered_multimap(unordered_multimap&&, const allocator_type&)):
+       Likewise.
+       * include/bits/unordered_set.h
+       (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
+       (unordered_multiset(unordered_multiset&&, const allocator_type&)):
+       Likewise.
+       * include/debug/unordered_map
+       (unordered_map(unordered_map&&, const allocator_type&)): Likewise.
+       (unordered_multimap(unordered_multimap&&, const allocator_type&)):
+       Likewise.
+       * include/debug/unordered_set
+       (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
+       (unordered_multiset(unordered_multiset&&, const allocator_type&)):
+       Likewise.
+       * testsuite/23_containers/unordered_map/allocator/default_init.cc:
+       New test.
+       * testsuite/23_containers/unordered_map/cons/noexcept_default_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
+       New test.
+       * testsuite/23_containers/unordered_multimap/cons/noexcept_default_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_set/allocator/default_init.cc:
+       New test.
+       * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc:
+       New test.
+       * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
+       New test.
+
+2020-07-28  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h
+       (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&,
+       const _H2&, const _Hash&, const _Equal&, const _ExtractKey&,
+       const allocator_type&, true_type)): New.
+       (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&,
+       const _H2&, const _Hash&, const _Equal&, const _ExtractKey&,
+       const allocator_type&, false_type)): New.
+       (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&,
+       const _H2&, const _Hash&, const _Equal&, const _ExtractKey&,
+       const allocator_type&)): Delegate to latters.
+       (operator=(initializer_list<value_type>)): Rehash if too small.
+       (_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Remove
+       size_t len parameter.
+       * include/bits/hashtable_policy.h (_Insert_base<>::_M_insert_range):
+       Do not try to get input range distance.
+       * testsuite/23_containers/unordered_set/cons/bucket_hint.cc: New test.
+       * testsuite/23_containers/unordered_set/modifiers/insert.cc: New test.
+
+2020-07-27  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h (_Map_base<>::at): Use
+       _Hashtable<>::find.
+       (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals):New.
+       (_Hashtable_base<>::_M_node_equals): New, use latter.
+       (_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash,
+       _RehashPolicy, false>::_M_equal): Adapt to use latter.
+       * include/bits/hashtable.h (_Hashtable<>::_M_update_bbegin): New.
+       (_Hashtable<>::_M_assign): Use latter.
+       (_Hashtable<>::_M_move_assign): Likewise.
+       (_Hashtable<>(_Hashtable<>&&)): Likewise.
+       (_Hashtable<>(_Hashtable<>&&, const allocator_type&)): Likewise.
+       (_Hashtable<>::swap): Likewise.
+       (_Hashtable<>::find): Build iterator directly from _M_find_node result.
+       (_Hashtable<>::count): Use _Hashtable<>::find.
+       (_Hashtable<>::equal_range): Likewise.
+       (_Hashtable<>::_M_erase(false_type, const key_type&)): Use
+       _M_node_equals.
+
+2020-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/floating_from_chars.cc (from_chars_impl): Ensure
+       that FE_NEAREST is used.
+       * testsuite/20_util/from_chars/4.cc: Do not use if constexpr in
+       a { target c++14 } test.
+       [!_GLIBCXX_HAVE_USELOCALE]: Disable all tests.
+       * testsuite/20_util/from_chars/5.cc [!_GLIBCXX_HAVE_USELOCALE]:
+       Likewise.
+       * testsuite/20_util/from_chars/6.cc: New test.
+
+2020-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/future (future, shared_future, promise): Add
+       static assertions to the primary template to reject array and
+       function types.
+       * testsuite/30_threads/future/requirements/lwg3458.cc: New test.
+       * testsuite/30_threads/promise/requirements/lwg3466.cc: New test.
+       * testsuite/30_threads/shared_future/requirements/lwg3458.cc: New test.
+
+2020-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (reverse_iterator): Constrain
+       converting constructor and converting assignment operator.
+       Access source iterator's data member directly instead of
+       calling base().
+       (move_iterator): Likewise.
+       * testsuite/24_iterators/move_iterator/dr3435.cc: New test.
+       * testsuite/24_iterators/reverse_iterator/dr3435.cc: New test.
+
+2020-07-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (libtool_VERSION): Bump version.
+       * config.h.in: Regenerate.
+       * config/abi/pre/gnu.ver: Add GLIBCXX_3.4.29 version and new
+       exports.
+       * config/os/gnu-linux/ldbl-extra.ver: Add _GLIBCXX_LDBL_3.4.29
+       version and new export.
+       * configure: Regenerate.
+       * configure.ac: Check for <xlocale.h> and uselocale.
+       * crossconfig.m4: Add macro or checks for uselocale.
+       * include/std/charconv (from_chars): Declare overloads for
+       float, double, and long double.
+       * src/c++17/Makefile.am: Add new file.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++17/floating_from_chars.cc: New file.
+       (from_chars): Define for float, double, and long double.
+       * testsuite/20_util/from_chars/1_c++20_neg.cc: Prune extra
+       diagnostics caused by new overloads.
+       * testsuite/20_util/from_chars/1_neg.cc: Likewise.
+       * testsuite/20_util/from_chars/2.cc: Check leading '+'.
+       * testsuite/20_util/from_chars/4.cc: New test.
+       * testsuite/20_util/from_chars/5.cc: New test.
+       * testsuite/util/testsuite_abi.cc: Add new symbol versions.
+
+2020-07-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/istream.tcc
+       (basic_istream::get(__streambuf_type&, char_type): Use unsigned
+       long long for counter and check if it would overflow _M_gcount.
+       * testsuite/27_io/basic_istream/get/char/lwg3464.cc: New test.
+       * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: New test.
+
+2020-07-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * include/std/coroutine: Mark the methods of the
+       trivial awaitables as constexpr.
+
+2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/os/aix/t-aix: Set BITS from compiler cpp macro.
+
+2020-07-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94749
+       PR libstdc++/96161
+       * include/bits/istream.tcc (basic_istream::ignore(streamsize))
+       [n == max]: Check overflow conditions on _M_gcount. Rely on
+       the fact that either EOF or the delimiter was reached.
+       [n < max]: Check _M_gcount < n before checking for EOF or
+       delimiter.
+       (basic_istream::ignore(streamsize, char_type): Likewise.
+       * src/c++98/compatibility.cc (istream::ignore(streamsize))
+       (wistream::ignore(streamsize)): Likewise.
+       * src/c++98/istream.cc (istream::ignore(streamsize, char_type))
+       (wistream::ignore(streamsize, char_type)): Likewise.
+       * testsuite/27_io/basic_istream/ignore/char/94749.cc: Check that
+       delimiter is discarded if the number of characters ignored
+       doesn't fit in streamsize.
+       * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc:
+       Likewise.
+       * testsuite/27_io/basic_istream/ignore/char/96161.cc: New test.
+       * testsuite/27_io/basic_istream/ignore/wchar_t/96161.cc: New test.
+
+2020-07-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_tree.h (_Rb_tree_impl(_Rb_tree_impl&&)): Add noexcept
+       qualification based only on _Compare one.
+       * testsuite/23_containers/map/cons/noexcept_move_construct.cc: Add
+       static asserts.
+       * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/23_containers/set/cons/noexcept_move_construct.cc: Likewise.
+
+2020-07-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/limits: Whitespace changes.
+
+2020-07-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Remove bits/int_limits.h.
+       * include/Makefile.in: Regenerate.
+       * include/bits/int_limits.h: Removed.
+       * include/bits/parse_numbers.h (_Select_int_base): Replace
+       __int_limits with __int_traits.
+       * include/bits/range_access.h (_SSize::operator()): Likewise.
+       * include/ext/numeric_traits.h (__numeric_traits_integer): Add
+       static assertion.
+       (__int_traits): New alias template.
+       * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
+       (__countr_zero, __countr_one, __popcount, __bit_ceil)
+       (__bit_floor, __bit_width) Replace __int_limits with
+       __int_traits.
+       * include/std/charconv (__to_chars_8, __from_chars_binary)
+       (__from_chars_alpha_to_num, from_chars): Likewise.
+       * include/std/memory_resource (polymorphic_allocator::allocate)
+       (polymorphic_allocator::allocate_object): Likewise.
+       * include/std/string_view (basic_string_view::_S_compare):
+       Likewise.
+       * include/std/utility (cmp_equal, cmp_less, in_range): Likewise.
+
+2020-07-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/limits: Whitespace changes.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (_Optional_payload_base, _Optional_base)
+       (optional, __optional_hash_call_base): Adjust whitespace and
+       other formatting. Remove redundant && tokens on template
+       arguments to type traits.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (make_optional): Add enable_if
+       constraints and noexcept-specifier to each overload.
+       * testsuite/20_util/optional/make_optional-2.cc: New test.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96036
+       * include/std/optional (optional): Add noexcept-specifier to
+       every constructor, assignment operator, emplace function and
+       dereference operator.
+       * testsuite/20_util/optional/assignment/noexcept.cc: New test.
+       * testsuite/20_util/optional/cons/noexcept.cc: New test.
+
+2020-07-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96063
+       * include/bits/fs_dir.h: Use consistent tag in class-head.
+       * include/bits/localefwd.h: Likewise.
+       * include/bits/regex.h: Likewise.
+       * include/bits/stl_map.h: Likewise.
+       * include/bits/stl_multimap.h: Likewise.
+       * include/bits/stl_multiset.h: Likewise.
+       * include/bits/stl_set.h: Likewise.
+       * include/std/complex: Likewise.
+       * include/std/functional: Likewise.
+       * include/std/future: Likewise.
+       * include/std/system_error: Likewise.
+       * include/std/thread: Likewise.
+       * include/std/tuple: Likewise.
+       * include/std/type_traits: Likewise.
+       * include/std/valarray: Likewise.
+
+2020-07-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_ios/conv/voidptr.cc: Add c++98_only
+       target selector.
+
+2020-07-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Add
+       c++98_only target selector.
+       * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/18_support/headers/new/synopsis_cxx98.cc: Likewise.
+       * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/23_containers/headers/array/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/random/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Likewise.
+       * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Likewise.
+       * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/30_threads/headers/future/std_c++0x_neg.cc:
+       Likewise.
+       * testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: Likewise.
+       * testsuite/30_threads/headers/thread/std_c++0x_neg.cc:
+       Likewise.
+
+2020-07-02  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/91807
+       * include/std/variant
+       (_Copy_assign_base::operator=(const _Copy_assign_base&):
+       Do the move-assignment from a temporary so that the temporary
+       is constructed with an explicit index.
+       * testsuite/20_util/variant/91807.cc: New.
+
+2020-07-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/91153
+       PR target/93224
+       * testsuite/29_atomics/atomic_float/1.cc: Use different values
+       for tests.
+       * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
+
+2020-07-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94627
+       * include/bits/regex.h (operator==, operator!=): Remove noexcept
+       equality comparisons for match_results.
+       * testsuite/28_regex/match_results/94627.cc: New test.
+
+2020-07-01  Martin Sebor  <msebor@redhat.com>
+
+       * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: Adjust
+       text of expected warning.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: Same.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: Same.
+       * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: Same.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: Same.
+
+2020-06-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       Revert:
+       2020-06-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * include/bits/basic_string.h (string(_CharT*, const _Alloc&)):
+       Add a __nonnull__ attribute.
+       * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New.
+       * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise.
+
+2020-06-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * include/bits/basic_string.h (string(_CharT*, const _Alloc&)):
+       Add a __nonnull__ attribute.
+       * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New.
+       * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise.
+
+2020-06-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/95915
+       * include/std/type_traits (is_literal_type, is_literal_type_v):
+       Deprecate in C++17.
+       * include/std/variant (_Uninitialized):
+       Adjust the condition and the comment.
+       * testsuite/20_util/is_literal_type/deprecated-1z.cc: New.
+       * testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc:
+       Adjust.
+       * testsuite/20_util/is_literal_type/requirements/typedefs.cc: Likewise.
+       * testsuite/20_util/is_literal_type/value.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/nullopt.cc:
+       Use __is_literal_type directly.
+       * testsuite/20_util/optional/nullopt.cc: Likewise.
+       * testsuite/20_util/variable_templates_for_traits.cc: Adjust.
+       * testsuite/20_util/variant/95915.cc: New.
+       * testsuite/20_util/variant/compile.cc: Add new test.
+       * testsuite/experimental/optional/constexpr/nullopt.cc:
+       Use __is_literal_type directly.
+       * testsuite/experimental/optional/nullopt.cc: Likewise.
+       * testsuite/experimental/type_traits/value.cc: Adjust.
+       * testsuite/util/testsuite_common_types.h:
+       Use __is_literal_type directly.
+
+2020-06-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/charconv (__from_chars_binary): Ignore leading zeros.
+       * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases,
+       not just 10 and 16.
+       * testsuite/20_util/from_chars/3.cc: New test.
+
+2020-06-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers.
+       * include/std/charconv (__detail::__to_chars): Avoid
+       -Wsign-compare warning.
+
+2020-06-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95851
+       * include/std/charconv (__to_chars_i): Check for zero-sized
+       buffer unconditionally.
+       * testsuite/20_util/to_chars/95851.cc: New test.
+
+2020-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/from_chars/1_c++20_neg.cc: Check enumeration
+       type.
+       * testsuite/20_util/from_chars/1_neg.cc: Likewise. Move dg-error
+       directives outside preprocessor condition.
+
+2020-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95832
+       * include/std/variant (__detail::__variant::_Build_FUN): Remove
+       partial specialization to prevent narrowing conversions to bool.
+       * testsuite/20_util/variant/compile.cc: Test non-narrowing
+       conversions to bool.
+       * testsuite/20_util/variant/run.cc: Likewise.
+
+2020-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/Makefile.in: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * python/Makefile.in: Regenerate.
+       * src/Makefile.in: Regenerate.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++98/Makefile.in: Regenerate.
+       * src/filesystem/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.am: Use -include.
+       * Makefile.in: Regenerate.
+
+2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
+       * Makefile.in: Regenerate.
+       * configure.ac (tmake_file): Substitute.
+       * configure: Regenerate.
+       * configure.host (aix*): Define tmake_file.
+       * config/os/aix/t-aix: New file.
+
+2020-06-20  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
+       Remove greedy_ops tests.
+       * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
+       Remove greedy_ops tests.
+
+2020-06-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95765
+       * include/bits/stl_algobase.h (__size_to_integer(float))
+       (__size_to_integer(double), __size_to_integer(long double))
+       (__size_to_integer(__float128)): Cast return type explicitly.
+       * include/bits/stl_uninitialized.h (__uninitialized_default_1<true>):
+       Remove unused typedef.
+
+2020-06-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_pair.h (_Index_tuple): Remove redundant
+       namespace qualification.
+       (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)):
+       Likewise.
+       * include/std/tuple (_Head_base, _Tuple_impl, tuple_size)
+       (tuple_element, __get_helper, get, __make_tuple_impl)
+       (__make_1st_indices, __tuple_concater)
+       (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)):
+       Likewise.
+       * include/std/utility (tuple_element, __is_tuple_like_impl)
+       (tuple_size, __pair_get, get): Likewise.
+
+2020-06-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (function): Define all member
+       functions inline.
+
+2020-06-19  Marc Glisse  <marc.glisse@inria.fr>
+
+       * include/bits/stl_algo.h (__includes): Simplify the code.
+
+2020-06-19  Marc Glisse  <marc.glisse@inria.fr>
+
+       * include/std/optional (optional()): Explicitly define it.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94540
+       * include/bits/stl_uninitialized.h (__uninitialized_default_1<true>):
+       Construct the first value at *__first instead of on the stack.
+       (__uninitialized_default_n_1<true>): Likewise.
+       Improve comments on several of the non-standard algorithms.
+       * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
+       New test.
+       * testsuite/23_containers/vector/cons/94540.cc: New test.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
+       Replace Value type with int so trivial code path is used.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
+       Likewise.
+
+2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_uninitialized.h (uninitialized_fill_n): Only
+       use std::fill_n when the size is an integral type.
+       (__uninitialized_default_n): Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
+       New test.
+
+2020-06-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95282
+       * include/bits/atomic_base.h (__atomic_impl::load): Use the _Val
+       alias instead of deducing _Tp as an unqualified type.
+       (__atomic_impl::exchange): Use the _Val alias to remove volatile
+       from the reinterpret_cast result type.
+
+2020-06-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/atomic (atomic): Add static assertions.
+       * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
+
+2020-06-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/94003
+       * testsuite/20_util/is_constructible/94003.cc: New test.
+
+2020-06-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
+       Update value for C++20.
+       * include/std/version (__cpp_lib_constexpr_char_traits): Likewise.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
+       Update expected value.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
+       Likewise.
+
+2020-06-15  Paul Keir  <paul.keir@uws.ac.uk>
+
+       * include/bits/char_traits.h (char_traits::move): constexpr move with
+       overlap was using copy_backward incorrectly.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
+       New test.
+
+2020-06-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/29_atomics/atomic_flag/clear/1.cc: Also test clear()
+       when the value is currently set.
+       * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc:
+       Actually check the return value.
+       * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc:
+       Likewise.
+
+2020-06-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h (atomic_flag::test): Add missing
+       const qualifiers.
+       * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
+       dg-options and verify results of test function.
+       * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
+
+2020-06-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94749
+       * include/bits/istream.tcc (basic_istream::ignore(streamsize, CharT)):
+       Only discard an extra character if we didn't already reach the
+       maximum number.
+       * src/c++98/istream.cc (istream::ignore(streamsiz, char))
+       (wistream::ignore(streamsize, wchar_t)): Likewise.
+       * testsuite/27_io/basic_istream/ignore/char/94749.cc: New test.
+       * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: New test.
+
+2020-06-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95578
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn):
+       Also check that the iterator and sentinel have the same type before
+       applying the unwrapping optimization for __normal_iterator.
+       Split the check into two, one for the first iterator/sentinel
+       pair and another for second iterator/sentinel pair.  Remove uses
+       of __niter_base, and remove uses of std::move on a
+       __normal_iterator.
+       * include/bits/ranges_algobase.h (__equal_fn): Likewise.
+       (__copy_or_move): Likewise.  Perform similar adjustments for
+       the reverse_iterator and move_iterator optimizations.  Inline
+       the checks into the if-constexprs, and use using-declarations to
+       make them less visually noisy.  Remove uses of __niter_wrap.
+       (__copy_or_move_backward): Likewise.
+       * testsuite/25_algorithms/copy/95578.cc: New test.
+       * testsuite/25_algorithms/copy_backward/95578.cc: New test.
+       * testsuite/25_algorithms/equal/95578.cc: New test.
+       * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test.
+       * testsuite/25_algorithms/move/95578.cc: New test.
+       * testsuite/25_algorithms/move_backward/95578.cc: New test.
+
+2020-06-10  François Dumont  <fdumont@gcc.gnu.org>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/deque.tcc (__lex_cmp_dit): New.
+       (__lexicographical_compare_aux1): Define overloads for deque
+       iterators.
+       * include/bits/stl_algobase.h (__lexicographical_compare::__3way):
+       New static member function.
+       (__lexicographical_compare<true>::__3way): Likewise.
+       (__lexicographical_compare<true>::__lc): Use __3way.
+       (__lexicographical_compare_aux): Rename to
+       __lexicographical_compare_aux1 and declare overloads for deque
+       iterators.
+       (__lexicographical_compare_aux): Define new forwarding function
+       that calls __lexicographical_compare_aux1 and declare new overloads
+       for safe iterators.
+       (lexicographical_compare): Do not use __niter_base on
+       parameters.
+       * include/debug/safe_iterator.tcc
+       (__lexicographical_compare_aux): Define overloads for safe
+       iterators.
+       * testsuite/25_algorithms/lexicographical_compare/1.cc: Add
+       checks with random access iterators.
+       * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc:
+       New test.
+
+2020-06-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (move_iterator::operator=): Define.
+       * testsuite/24_iterators/move_iterator/dr3265.cc: New test.
+
+2020-06-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (bad_optional_access): Define default
+       constructor and destructor as defaulted.
+       * testsuite/20_util/optional/bad_access.cc: New test.
+
+2020-06-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error
+       line number.
+       * testsuite/20_util/default_delete/void_neg.cc: Likewise.
+
+2020-06-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/unique_ptr.h (operator<<): Define for C++20.
+       * testsuite/20_util/unique_ptr/io/lwg2948.cc: New test.
+
+2020-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref)
+       (__detail::__cat, __detail::__diff): Move to class scope in the
+       relevant __iterator_traits specializations.
+       (__iterator_traits<>): Use nested class templates instead of ones from
+       namespace __detail.
+       * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to
+       class scope in iterator_traits<common_iterator<I, S>>.
+       (iterator_traits<common_iterator<I, S>>): Use nested class template
+       instead of __detail::__common_iter_ptr.
+
+2020-06-04  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_algo.h (__copy_n_a): Move to ...
+       * include/bits/stl_algobase.h (__copy_n_a): ...here. Add __strict
+       parameter.
+       (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)):
+       Declare.
+       (__niter_base(const _Safe_iterator<_Ite, _Seq,
+       random_access_iterator_tag>&)): Declare.
+       (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>,
+       _Deque_iterator<>)): Declare.
+       * include/bits/deque.tcc
+       (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>,
+       _Deque_iterator<>)): New.
+       (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)):
+       New.
+       * include/bits/streambuf_iterator.h
+       (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*, bool)): Adapt.
+       * include/debug/safe_iterator.tcc (__niter_base): New.
+       * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
+       (test03): New.
+       * testsuite/25_algorithms/copy/streambuf_iterators/char/debug/deque_neg.cc:
+       New test.
+       * testsuite/25_algorithms/copy_n/debug/istreambuf_ite_deque_neg.cc:
+       New test.
+       * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: New test.
+       * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc:
+       New test.
+
+2020-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_algobase.h (__copy_n_fn): Only call
+       ranges::copy for positive values.
+       * include/bits/stl_algo.h (copy_n): Convert Size argument to an
+       integral type and only call __copy_n for positive values.
+       * testsuite/util/testsuite_iterators.h
+       (random_access_iterator_wrapper::operator+=): Fix range check for
+       negative values.
+       (output_container, input_container, forward_container)
+       (bidirectional_container, random_access_container): New alias
+       templates.
+       * testsuite/25_algorithms/copy_n/5.cc: New test.
+
+2020-06-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90102
+       * include/debug/deque (deque(const _Base&)): Replace parameter
+       with a struct that wraps a const _Base&.
+       * include/debug/forward_list (forward_list(_Base_ref)): New
+       constructor.
+       * include/debug/list (list(const _Base&)): Replace parameter
+       with a struct that wraps a const _Base&.
+       * include/debug/map.h (map(const _Base&)): Likewise.
+       * include/debug/multimap.h (multimap(const _Base&)): Likewise.
+       * include/debug/multiset.h (multiset(const _Base&)): Likewise.
+       * include/debug/set.h (set(const _Base&)): Likewise.
+       * include/debug/unordered_map (unordered_map(const _Base&))
+       (unordered_multimap(const _Base&)): Likewise.
+       * include/debug/unordered_set (unordered_set(const _Base&))
+       (unordered_multiset(const _Base&)): Likewise.
+       * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
+       Adjust dg-error line number.
+       * include/debug/vector (vector(const _Base&)): Likewise.
+       * testsuite/23_containers/deque/debug/90102.cc: New test.
+       * testsuite/23_containers/forward_list/debug/90102.cc: New test.
+       * testsuite/23_containers/list/debug/90102.cc: New test.
+       * testsuite/23_containers/map/debug/90102.cc: New test.
+       * testsuite/23_containers/multimap/debug/90102.cc: New test.
+       * testsuite/23_containers/multiset/debug/90102.cc: New test.
+       * testsuite/23_containers/set/debug/90102.cc: New test.
+       * testsuite/23_containers/unordered_map/debug/90102.cc: New test.
+       * testsuite/23_containers/unordered_multimap/debug/90102.cc: New test.
+       * testsuite/23_containers/unordered_multiset/debug/90102.cc: New test.
+       * testsuite/23_containers/unordered_set/debug/90102.cc: New test.
+       * testsuite/23_containers/vector/debug/90102.cc: New test.
+
+2020-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95392
+       * include/bits/fs_path.h (path::_S_to_string): Move to
+       namespace-scope and rename to ...
+       (__detail::__string_from_range): ... this.
+       [WINDOWS] (__detail::__wstr_from_utf8): New function template to
+       convert a char sequence containing UTF-8 to wstring.
+       (path::_S_convert(Iter, Iter)): Adjust call to _S_to_string.
+       (path::_S_convert_loc(Iter, Iter, const locale&)): Likewise.
+       (u8path(InputIterator, InputIterator)) [WINDOWS]: Use
+       __string_from_range to obtain a contiguous range and
+       __wstr_from_utf8 to obtain a wide string.
+       (u8path(const Source&)) [WINDOWS]: Use __effective_range to
+       obtain a contiguous range and __wstr_from_utf8 to obtain a wide
+       string.
+       (path::_S_convert(const _EcharT*, const _EcharT)) [WINDOWS]:
+       Use __wstr_from_utf8.
+
+2020-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_iterators.h:
+       (input_iterator_wrapper::operator++(int)): Return proxy object.
+
+2020-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/evolution.xml: Document deprecation of
+       __is_nullptr_t and removal of std::allocator members.
+       * doc/html/manual/api.html: Regenerate.
+
+2020-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/containers.xml: Replace <xref> with <link>.
+       * doc/xml/manual/evolution.xml: Likewise.
+       * doc/html/manual/api.html: Regenerate.
+       * doc/html/manual/containers.html: Regenerate.
+
+2020-06-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/faq.xml: Adjust Valgrind reference and remove another.
+       * doc/html/faq.html: Regenerate.
+
+2020-06-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/policy_data_structures_biblio.xml: Remove
+       stray change.
+
+2020-06-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/policy_data_structures_biblio.xml: Switch
+       www.cs.princeton.edu to https.
+       * doc/html/manual/policy_data_structures.html: Regenerate.
+
+2020-05-31  Douglas B Rupp  <douglas.b.rupp@gmail.com>
+
+       * crossconfig.m4 (<*-vxworks>): Check for more math decls.
+       * configure: Rebuild.
+
+2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/95413
+       * configure: Regenerated.
+
+2020-05-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/95079
+       * include/bits/hashtable_policy.h (_Insert_base<>::try_emplace): New.
+       * include/bits/unordered_map.h (unordered_map<>::try_emplace): Adapt.
+       (unordered_map<>::insert_or_assign): Adapt.
+
+2020-05-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95282
+       * include/bits/atomic_base.h (__atomic_impl::load): Add
+       cv-qualifiers to parameter so that _Tp is deduced as the
+       unqualified type.
+       * testsuite/29_atomics/atomic_float/95282.cc: New test.
+
+2020-05-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95322
+       * include/std/ranges (transform_view::_Sentinel): Allow hidden
+       friends to work with _Iterator<true> and _Iterator<false>.
+       (join_view::_Sentinel): Likewise.
+       * testsuite/std/ranges/adaptors/95322.cc: New test.
+
+2020-05-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94354
+       * include/bits/stl_iterator.h (reverse_iterator): Fix comparison
+       operators to use the correct operations on the underlying
+       iterators.
+       * testsuite/24_iterators/reverse_iterator/rel_ops.cc: New test.
+
+2020-05-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/comparisons/categories/zero_neg.cc: New test.
+
+2020-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95322
+       * include/bits/stl_iterator.h (__detail::_Common_iter_proxy):
+       Remove and instead define it ...
+       (common_iterator::_Proxy): ... here.
+       (common_iterator::operator->): Use it.
+       * testsuite/24_iterators/common_iterator/2.cc: New test.
+       * testsuite/std/ranges/adaptors/95322.cc: New test.
+
+2020-05-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/93978
+       * testsuite/std/ranges/adaptors/93978.cc: Add -Wall to
+       dg-additional-options.  Avoid unused-but-set-variable warning.
+
+2020-05-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95289
+       * include/debug/helper_functions.h (__get_distance): Only declare
+       as a constexpr function for C++14 and up.
+       * testsuite/25_algorithms/copy/debug/95289.cc: New test.
+
+       * include/bits/fs_path.h (__detail::_S_range_begin)
+       (__detail::_S_range_end, path::_S_string_from_iter): Replace with
+       overloaded function template __detail::__effective_range.
+       (__detail::__effective_range): New overloaded function template to
+       create a basic_string or basic_string_view for an effective range.
+       (__detail::__value_type_is_char): Use __detail::__effective_range.
+       Do not use remove_const on value type.
+       (__detail::__value_type_is_char_or_char8_t): Likewise.
+       (path::path(const Source&, format))
+       (path::path(const Source&, const locale&))
+       (path::operator/=(const Source&), path::append(const Source&))
+       (path::concat(const Source&)): Use __detail::__effective_range.
+       (path::_S_to_string(InputIterator, InputIterator)): New function
+       template to create a string view if possible, or string otherwise.
+       (path::_S_convert): Add overloads that convert a string returned
+       by __detail::__effective_range. Use if-constexpr to inline conversion
+       logic from all overloads of _Cvt::_S_convert.
+       (path::_S_convert_loc): Add overload that converts a string. Use
+       _S_to_string to avoid allocation when possible.
+       (path::_Cvt): Remove.
+       (path::operator+=(CharT)): Remove indirection through path::concat.
+       * include/experimental/bits/fs_path.h (path::_S_convert_loc): Add
+       overload for non-const pointers, to avoid constructing a std::string.
+       * src/c++17/fs_path.cc (path::_S_convert_loc): Replace conditional
+       compilation with call to _S_convert.
+
+       * include/bits/fs_path.h (__detail::_S_range_begin)
+       (__detail::_S_range_end): Remove unintentional static specifiers.
+       * include/experimental/bits/fs_path.h (__detail::_S_range_begin)
+       (__detail::_S_range_end): Likewise.
+
+       * include/bits/fs_path.h (filesystem::__detail::__is_encoded_char):
+       Replace alias template with variable template. Don't remove const.
+       (filesystem::__detail::__is_path_src): Replace overloaded function
+       template with variable template and specializations.
+       (filesystem::__detail::__is_path_iter_src): Replace alias template
+       with class template.
+       (filesystem::__detail::_Path): Use __is_path_src. Remove support for
+       iterator pairs.
+       (filesystem::__detail::_Path2): New alias template for checking
+       InputIterator requirements.
+       (filesystem::__detail::__constructible_from): Remove.
+       (filesystem::path): Replace _Path<Iter, Iter> with _Path2<Iter>.
+       * testsuite/27_io/filesystem/path/construct/80762.cc: Check with two
+       constructor arguments of void and void* types.
+
+2020-05-21  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/Makefile.am: Remove dup target_triplet and set tool,
+       allowing runtest to work without arguments.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-05-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93983
+       * include/bits/iterator_concepts.h (__detail::__cpp17_iterator):
+       Reorder constraints to avoid recursion when constructors use
+       iterator_traits (LWG 3420).
+       * testsuite/24_iterators/customization_points/lwg3420.cc: New test.
+
+       * include/experimental/socket (basic_socket::is_open()
+       (basic_socket_acceptor::is_open()): Use _GLIBCXX_NODISCARD macro.
+
+       * include/experimental/bits/net.h (__endpoint, __protocol)
+       (__acceptable_protocol, __inet_protocol): New concepts.
+       (__detail::__is_endpoint): Move trait from <experimental/socket>.
+       (__is_protocol, __is_acceptable_protocol, __is_inet_protocol): New
+       traits.
+       (__endpoint, __protocol, __acceptable_protocol): New variable
+       templates.
+       * include/experimental/socket (__is_endpoint): Move to net.h header.
+       (basic_socket, basic_socket_acceptor): Check requirements.
+
+       * include/experimental/executor (use_future_t::use_future_t()): Fix
+       incorrect noexcept-specifier.
+       * include/experimental/internet (basic_resolver_results): Adjust
+       whitespace.
+       * include/experimental/socket (__basic_socket_impl::release): Add
+       member function.
+       (basic_socket(io_context&, const endpoint_type&)): Fix argument to
+       target constructor.
+       (basic_socket::release(), basic_socket::release(error_code&)): Add
+       missing member functions.
+       (basic_socket::is_open()): Add nodiscard attribute.
+       (basic_socket::close(error_code&)): Pass argument to base function.
+       (basic_socket_acceptor::release())
+       (basic_socket_acceptor::release(error_code&)): Add missing member
+       functions.
+       (basic_socket_acceptor::is_open()): Add nodiscard attribute.
+       (basic_socket_streambuf::error()): Add noexcept.
+       (basic_socket_iostream::error()): Likewise.
+       * testsuite/experimental/net/socket/basic_socket.cc: New test.
+
+       * include/experimental/buffer: Replace typedefs with
+       alias-declarations.
+       * include/experimental/executor: Likewise.
+       * include/experimental/internet: Likewise.
+       * include/experimental/socket: Likewise.
+       * include/experimental/timer: Likewise.
+
+2020-05-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94087
+       * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be
+       passed in.
+       (__x86_rdseed_rdrand): New function that uses rdseed with rdrand
+       fallback.
+       (random_device::_M_init): Use __x86_rdseed_rdrand when both
+       instructions are available.
+       * testsuite/26_numerics/random/random_device/94087.cc: New test.
+
+2020-05-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/66439
+       * testsuite/20_util/pair/astuple/get_neg.cc: Prune "type/value
+       mismatch" messages.
+       * testsuite/20_util/tuple/element_access/get_neg.cc: Likewise.
+
+2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/95147
+       * configure: Regenerated.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2020-05-13  Alexandre Oliva <oliva@adacore.com>
+
+       PR libstdc++/77691
+       * include/experimental/memory_resource
+       (__resource_adaptor_imp::do_allocate): Handle max_align_t on
+       x86-vxworks as on x86-solaris.
+       (__resource_adaptor_imp::do_deallocate): Likewise.
+       * testsuite/experimental/memory_resource/new_delete_resource.cc:
+       Drop xfail.
+       (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris.
+       (test03): Drop max-align test for char-aligned alloc.
+
+2020-05-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * include/bits/atomic_base.h (atomic_flag): Implement test member
+       function.
+       * include/std/version: Define __cpp_lib_atomic_flag_test.
+       * testsuite/29_atomics/atomic_flag/test/explicit.cc: New file.
+       * testsuite/29_atomics/atomic_flag/test/implicit.cc: New file.
+
+2020-05-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94971 (partial)
+       * include/bits/ranges_algo.h (ranges::__sample_fn): Qualify
+       std::sample using macro to work in parallel mode.
+       (__sort_fn): Likewise for std::sort.
+       (ranges::__nth_element_fn): Likewise for std::nth_element.
+       * include/bits/stl_algobase.h (lexicographical_compare_three_way):
+       Likewise for std::__min_cmp.
+       * include/parallel/algobase.h (lexicographical_compare_three_way):
+       Add to namespace std::__parallel.
+
+       PR c/92472
+       * include/parallel/multiway_merge.h (_GuardedIterator::operator*)
+       (_GuardedIterator::operator _RAIter, _UnguardedIterator::operator*)
+       (_UnguardedIterator::operator _RAIter): Add const qualifier.
+       (operator<(_GuardedIterator&, _GuardedIterator&)
+       (operator<=(_GuardedIterator&, _GuardedIterator&)
+       (operator<(_UnguardedIterator&, _UnguardedIterator&)
+       (operator<=(_UnguardedIterator&, _UnguardedIterator&): Change
+       parameters to const references.
+
+2020-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
+
+2020-05-06  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_algobase.h (struct _Bit_iterator): New declaration.
+       (std::__fill_a1(_Bit_iterator, _Bit_iterator, const bool&)): Likewise.
+       * include/bits/stl_bvector.h (__fill_bvector): Move outside
+       _GLIBCXX_STD_C namespace.
+       (fill(_Bit_iterator, _Bit_iterator, const bool&)): Likewise and rename
+       into...
+       (__fill_a1): ...this.
+       * testsuite/25_algorithms/fill/bvector/1.cc: New.
+
+2020-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
+
+2020-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+       * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
+       Likewise.
+       * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+       * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+       Likewise.
+
+2020-05-06  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2020-05-05  Martin Liska  <mliska@suse.cz>
+       PR c/92472
+       * include/parallel/multiway_merge.h:
+       Use const for _Compare template argument.
+
+2020-05-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/abi.xml (abi.versioning.history): Document library
+       versions for GCC 9.[123] and 10.1 releases.
+       * doc/html/*: Regenerate.
+
+2020-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+       * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2020-05-05  Martin Liska  <mliska@suse.cz>
+
+       PR c/92472
+       * include/parallel/multiway_merge.h:
+       Use const for _Compare template argument.
+
+2020-05-04  Fangrui Song  <maskray@google.com>
+
+       * libsupc++/cxxabi.h (__cxa_finalize): Fix return type.
+
+2020-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/faq.xml: Use working link for SGI STL FAQ.
+       * doc/html/*: Regenerate.
+
+       PR libstdc++/94906
+       * src/c++17/memory_resource.cc
+       (monotonic_buffer_resource::_Chunk::release): Use size_t for shift
+       operands.
+
+2020-05-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR libstdc++/94747
+       * libsupc++/dyncast.cc (__dynamic_cast): Cast offsetof to
+       ptrdiff_t before negation, to show intent more clearly.
+
+2020-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94936
+       * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools):
+       Add comment about single-threaded behaviour.
+       (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist
+       class member access out of loop.
+       (synchronized_pool_resource::synchronized_pool_resource())
+       (synchronized_pool_resource::~synchronized_pool_resource())
+       (synchronized_pool_resource::release()): Check __gthread_active_p
+       before creating and/or deleting the thread-specific data key.
+       (synchronized_pool_resource::_M_thread_specific_pools()): Adjust
+       assertions.
+       (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast
+       path for single-threaded case.
+       (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)):
+       Likewise. Return if unable to find a pool that owns the allocation.
+       * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
+       New test.
+       * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New
+       test.
+       * testsuite/20_util/synchronized_pool_resource/release_single.cc: New
+       test.
+
+2020-05-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94933
+       * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types
+       usable in constant expressions.
+       * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and
+       non-scalars.
+
+2020-05-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94901
+       * testsuite/17_intro/badnames.cc: Test values between _E9 and _E24 too.
+
+2020-05-01  Jonathan Wakely  <jwakely@redhat.com>
+           Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/92894
+       * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove):
+       Add trait to determine return type and an alias for it.
+       (ranges::__cust_imove::_IMove::operator()): Use __result instead of
+       deduced return type.
+       (iter_rvalue_reference_t): Use _IMove::__type instead of checking
+       the result of ranges::iter_move.
+       (__detail::__indirectly_readable_impl): Use iter_rvalue_reference_t
+       instead of checking the result of ranges::iter_move.
+       * testsuite/24_iterators/customization_points/92894.cc: New test.
+       * testsuite/24_iterators/indirect_callable/92894.cc: New test.
+
+2020-05-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94901
+       * include/std/type_traits (__is_complete_or_unbounded): Replace
+       BADNAME _T with _Tp.
+       * testsuite/17_intro/badnames.cc: New test.
+
+2020-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/89510
+       * include/bits/alloc_traits.h (allocator_traits::_S_construct)
+       (allocator_traits::_S_destroy)
+       (allocator_traits<allocator<T>>::construct): Use traits in
+       noexcept-specifiers.
+       * include/bits/allocator.h (allocator<void>::construct)
+       (allocator<void>::destroy): Likewise.
+       * include/ext/malloc_allocator.h (malloc_allocator::construct)
+       (malloc_allocator::destroy): Likewise.
+       * include/ext/new_allocator.h (new_allocator::construct)
+       (new_allocator::destroy): Likewise.
+       * testsuite/20_util/allocator/89510.cc: New test.
+       * testsuite/ext/malloc_allocator/89510.cc: New test.
+       * testsuite/ext/new_allocator/89510.cc: New test.
+
+2020-04-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94854
+       * include/bits/basic_string.tcc: Update comment about explicit
+       instantiations.
+
+2020-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91480
+       * include/bits/allocator.h (__cpp_lib_allocator_is_always_equal):
+       Remove non-standard macro.
+       * include/bits/stl_iterator.h (__cpp_lib_constexpr_iterator): Define
+       to indicate P1032R1 support.
+       * include/bits/stl_pair.h (__cpp_lib_constexpr_utility): Likewise.
+       * include/std/string_view (__cpp_lib_constexpr_string_view): Likewise.
+       * include/std/tuple (__cpp_lib_constexpr_tuple): Likewise.
+       * include/std/version (__cpp_lib_allocator_is_always_equal): Remove.
+       (__cpp_lib_constexpr_iterator, __cpp_lib_constexpr_string_view)
+       (__cpp_lib_constexpr_tuple, __cpp_lib_constexpr_utility): Define.
+       * testsuite/20_util/function_objects/constexpr_searcher.cc: Check
+       feature test macro.
+       * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/
+       constexpr.cc: Likewise.
+       * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
+
+       PR libstdc++/94831
+       * include/bits/alloc_traits.h (_S_construct): Restore placement
+       new-expression for C++11/14/17 and call std::construct_at directly
+       for C++20.
+       * include/bits/stl_construct.h (_Construct): Revert to non-constexpr
+       function returning void.
+       * testsuite/20_util/specialized_algorithms/
+       uninitialized_value_construct/94831.cc: New test.
+       * testsuite/23_containers/vector/cons/94831.cc: New test.
+
+2020-04-28  Patrick Palka  <ppalka@redhat.com>
+
+       LWG 3433 subrange::advance(n) has UB when n < 0
+       * include/std/ranges (subrange::prev): Fix typo.
+       (subrange::advance): Handle a negative argument as per the proposed
+       resolution of LWG 3433.
+       * testsuite/std/ranges/subrange/lwg3433.cc: New test.
+
+2020-04-28  Jonathan Wakely  <jwakely@redhat.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/94759
+       * include/std/coroutine: Implement handing for non-
+       class coroutine return types.
+
+2020-04-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/executor (service_already_exists): Make default
+       constructor public (LWG 3414).
+       * testsuite/experimental/net/execution_context/make_service.cc: Check
+       the service_already_exists can be default constructed.
+
+2020-04-24  Kamlesh Kumar  <kamleshbhalui@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90415
+       PR libstdc++/92156
+       * include/std/any (any): Rename template parameters for consistency
+       with the standard.
+       (any::_Decay): Rename to _Decay_if_not_any.
+       (any::any(T&&):: Remove is_constructible from constraints. Remove
+       non-standard overload.
+       (any::any(in_place_type_t<T>, Args&&...))
+       (any::any(in_place_type_t<T>, initializer_list<U>, Args&&...))
+       (any::emplace(Args&&...))
+       (any::emplace(initializer_list<U>, Args&&...)):
+       Use decay_t instead of _Decay.
+       * testsuite/20_util/any/cons/90415.cc: New test.
+       * testsuite/20_util/any/cons/92156.cc: New Test.
+       * testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives
+       more robust.
+       * testsuite/20_util/any/modifiers/92156.cc: New test.
+
+2020-04-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml: Update C++20 status table.
+       * doc/html/*: Regenerate.
+
+       * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Revert
+       value for C++17 to 201803L because P0858R0 is supported for C++17.
+       * include/std/version (__cpp_lib_array_constexpr): Likewise.
+       * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
+       Check for value corresponding to P0031R0 features being tested.
+       * testsuite/23_containers/array/requirements/constexpr_iter.cc:
+       Check for value corresponding to P0858R0 features being tested.
+
+       * include/std/version (__cpp_lib_three_way_comparison): Define for
+       freestanding builds.
+
+2020-04-23  Thomas Rodgers  <rodgert@appliantology.com>
+
+       * include/experimental/net/executor (system_context): Mark
+       system_context::system_context() = delete.
+       * testsuite/experimental/net/executor/1.cc: Add new
+       test to check system_context is not default constructible.
+
+2020-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * include/std/coroutine: Update the inline namespace to __n4861.
+       Add the __cpp_lib_coroutine define, set to 201902L.
+       * include/std/version: Add __cpp_lib_coroutine, set to 201902L.
+
+2020-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/execution (__cpp_lib_execution): Define to indicate
+       support for P0024R2 and P1001R2.
+       * include/std/version (__cpp_lib_execution): Define.
+       * testsuite/25_algorithms/pstl/feature_test.cc: Only test macro
+       defined by <algorithm>, move other tests to new tests ...
+       * testsuite/25_algorithms/pstl/feature_test-2.cc: New test.
+       * testsuite/25_algorithms/pstl/feature_test-3.cc: New test.
+       * testsuite/25_algorithms/pstl/feature_test-4.cc: New test.
+       * testsuite/25_algorithms/pstl/feature_test-5.cc: New test.
+
+       * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define
+       different values for C++17 and C++20, to indicate different feature
+       sets. Update value for C++20 to indicate P1032R1 support.
+       * include/std/version (__cpp_lib_array_constexpr): Likewise.
+       * testsuite/23_containers/array/comparison_operators/constexpr.cc:
+       Check feature test macro.
+       * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
+       New test.
+       * testsuite/23_containers/array/requirements/constexpr_fill.cc: Check
+       feature test macro.
+       * testsuite/23_containers/array/requirements/constexpr_iter.cc: Test
+       in C++17 mode and check feature test macro.
+
+       * include/std/utility (__cpp_lib_constexpr_algorithms): Do not define
+       here.
+       * testsuite/20_util/exchange/constexpr.cc: Do not expect macro to be
+       defined by <utility>.
+
+       * include/std/functional (__cpp_lib_concepts): Update macro value to
+       indicate P1964R2 support.
+       * include/std/version (__cpp_lib_concepts): Likewise.
+       * testsuite/std/concepts/1.cc: Adjust expected value.
+       * testsuite/std/concepts/2.cc: Likewise.
+
+       * include/std/functional (__cpp_lib_constexpr_invoke): Rename to
+       __cpp_lib_constexpr_functional.
+       * include/std/version (__cpp_lib_constexpr_invoke): Likewise.
+       * testsuite/20_util/function_objects/invoke/constexpr.cc: Adjust.
+
+       * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define to
+       indicate P1006R1 support.
+       (__cpp_lib_to_address): Define to indicate P0653R2 support.
+       * include/bits/range_access.h (__cpp_lib_ssize): Define to indicate
+       P1227R2 support.
+       * include/bits/ranges_algo.h (__cpp_lib_shift): Define to indicate
+       P0769R2 support.
+       * include/std/atomic (__cpp_lib_atomic_float): Define to indicate
+       P0020R6 support.
+       * include/std/memory (__cpp_lib_assume_aligned): Define to indicate
+       P1007R3 support.
+       * include/std/memory_resource (__cpp_lib_polymorphic_allocator):
+       Define to indicate P0339R6 support.
+       * include/std/string_view (__cpp_lib_starts_ends_with): Define to
+       indicate P0457R2 support.
+       * include/std/type_traits (__cpp_lib_is_nothrow_convertible): Define
+       to indicate P0758R1 support.
+       (__cpp_lib_remove_cvref): Define to indicate P0550R2 support.
+       (__cpp_lib_type_identity): Define to indicate P0887R1 support.
+       * include/std/version (__cpp_lib_atomic_float)
+       (__cpp_lib_is_nothrow_convertible, __cpp_lib_remove_cvref)
+       (__cpp_lib_type_identity, __cpp_lib_assume_aligned)
+       (__cpp_lib_constexpr_memory, __cpp_lib_polymorphic_allocator)
+       (__cpp_lib_shift, __cpp_lib_ssize, __cpp_lib_starts_ends_with)
+       (__cpp_lib_to_address): Define.
+       * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
+
+       * include/bits/stl_map.h (__cpp_lib_map_insertion): Remove old
+       macro.
+       * include/bits/unordered_map.h (__cpp_lib_unordered_map_insertion):
+       Likewise.
+       * include/std/version (__cpp_lib_map_insertion)
+       (__cpp_lib_unordered_map_insertion): Remove.
+
+       * include/std/condition_variable (__cpp_lib_jthread): Remove
+       redundant definition.
+       * include/std/stop_token (__cpp_lib_jthread): Update macro value to
+       indicate P1869R1 support.
+       * include/std/version (__cpp_lib_jthread): Update value.
+       * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Check
+       for updated macro value.
+       * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
+       Likewise.
+       * testsuite/30_threads/jthread/1.cc: Likewise.
+       * testsuite/30_threads/jthread/2.cc: Likewise.
+       * testsuite/30_threads/stop_token/1.cc: Likewise.
+       * testsuite/30_threads/stop_token/2.cc: Likewise.
+
+       * testsuite/21_strings/basic_string/erasure.cc: Check for
+       __cpp_lib_erase_if macro.
+       * testsuite/23_containers/deque/erasure.cc: Add header name to #error
+       messages.
+       * testsuite/23_containers/forward_list/erasure.cc: Likewise.
+       * testsuite/23_containers/list/erasure.cc: Likewise.
+       * testsuite/23_containers/map/erasure.cc: Likewise.
+       * testsuite/23_containers/set/erasure.cc: Likewise.
+       * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
+       * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
+       * testsuite/23_containers/vector/erasure.cc: Likewise.
+
+2020-04-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (__normal_iterator): Use synth-three-way
+       to define operator<=>.
+       * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: New test.
+
+       * doc/Makefile.am (xml_sources_manual): Add missing XML files.
+       * doc/Makefile.in: Regenerate.
+       * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
+       of "this page".
+       * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
+       to the C++11 status table.
+       * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
+       proposals with table matching contents of the C++14 standard.
+       * doc/xml/manual/status_cxx2017.xml: Add table matching contents of
+       the C++17 standard.
+       * doc/html/*: Regenerate.
+
+       PR c++/94149
+       * include/std/type_traits (__is_nt_constructible_impl): Add partial
+       specializations for bounded arrays with non-empty initializers.
+       * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: New test.
+
+2020-04-20  Thomas Rodgers  <trodgers@redhat.com>
+
+       * testsuite/lib/libstdc++.exp: Add additional_flags=
+       -DTBB_SUPRESS_DEPRECATED_MESSAGES=1 to suppress warnings when
+       compiling with a newer Thread Building Blocks.
+
+2020-04-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
+
+       * testsuite/20_util/is_constructible/51185.cc: Make test class a
+       non-aggregate so that the test verifies the same thing in all -std
+       modes.
+       * testsuite/20_util/is_constructible/value-2.cc: Adjust expected
+       results for some types when paren-init for aggregates is supported.
+
+       * include/std/version (__cpp_lib_three_way_comparison): Update value.
+       * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
+       (__detail::__synth3way): Add noexcept-specifier.
+
+       * include/bits/stl_map.h (map): Define operator<=> and remove
+       operator< for C++20.
+       * include/bits/stl_multimap.h (multimap): Likewise.
+       * include/bits/stl_multiset.h (multiset): Likewise.
+       * include/bits/stl_set.h (set): Likewise.
+       * include/bits/stl_tree.h (_Rb_tree): Likewise.
+       (_Rb_tree_iterator, _Rb_tree_const_iterator): Remove redundant
+       operator!= for C++20.
+       * include/debug/map.h (__gnu_debug::map): Define operator<=> for C++20.
+       * include/debug/multimap.h (__gnu_debug::multimap): Likewise.
+       * include/debug/multiset.h (__gnu_debug::multiset): Likewise.
+       * include/debug/set.h (__gnu_debug::set): Likewise.
+       * testsuite/23_containers/map/operators/cmp_c++20.cc: New test.
+       * testsuite/23_containers/multimap/operators/cmp_c++20.cc: New test.
+       * testsuite/23_containers/multiset/operators/cmp_c++20.cc: New test.
+       * testsuite/23_containers/set/operators/cmp_c++20.cc: New test.
+
+2020-04-20  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose.
+
+2020-04-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h (queue): Define operator<=> for C++20.
+       * include/bits/stl_stack.h (stack): Likewise.
+       * testsuite/23_containers/queue/cmp_c++20.cc: New test.
+       * testsuite/23_containers/stack/cmp_c++20.cc: New test.
+
+       * include/bits/unordered_map.h (unordered_map, unordered_multimap):
+       Remove redundant operator!= for C++20.
+       * include/bits/unordered_set.h (unordered_set, unordered_multiset):
+       Likewise.
+       * include/debug/unordered_map (unordered_map, unordered_multimap):
+       Likewise.
+       * include/debug/unordered_set (unordered_set, unordered_multiset):
+       Likewise.
+
+       PR other/94629
+       * include/debug/formatter.h (_Error_formatter::_Parameter): Fix
+       redundant assignment in constructor.
+
+2020-04-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (duration, time_point): Define operator<=> and
+       remove redundant operator!= for C++20.
+       * testsuite/20_util/duration/comparison_operators/three_way.cc: New
+       test.
+       * testsuite/20_util/time_point/comparison_operators/three_way.cc: New
+       test.
+
+       * testsuite/util/native_type/native_priority_queue.hpp: Use
+       allocator_traits to rebind allocator.
+
+2020-04-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/forward_list.h (forward_list): Define operator<=> and
+       remove redundant comparison operators for C++20.
+       * include/bits/stl_bvector.h (vector<bool, Alloc>): Likewise.
+       * include/bits/stl_deque.h (deque): Likewise.
+       * include/bits/stl_iterator.h (__normal_iterator): Likewise.
+       * include/bits/stl_list.h (list): Likewise.
+       * include/bits/stl_vector.h (vector): Likewise.
+       * include/debug/deque (__gnu_debug::deque): Likewise.
+       * include/debug/forward_list (__gnu_debug::forward_list): Likewise.
+       * include/debug/list (__gnu_debug::list): Likewise.
+       * include/debug/safe_iterator.h (__gnu_debug::_Safe_iterator):
+       Likewise.
+       * include/debug/vector (__gnu_debug::vector): Likewise.
+       * include/ext/pointer.h (__gnu_cxx::_Pointer_adapter): Define
+       operator<=> for C++20.
+       * testsuite/23_containers/deque/operators/cmp_c++20.cc: New test.
+       * testsuite/23_containers/forward_list/cmp_c++20.cc: New test.
+       * testsuite/23_containers/list/cmp_c++20.cc: New test.
+       * testsuite/23_containers/vector/bool/cmp_c++20.cc: New test.
+       * testsuite/23_containers/vector/cmp_c++20.cc: New test.
+
+       * include/bits/basic_string.h (basic_string): Define operator<=> and
+       remove redundant comparison operators for C++20.
+       * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits):
+       Add comparison_category members.
+       (__detail::__char_traits_cmp_cat): New helper to get comparison
+       category from char traits class.
+       * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not
+       define for C++20.
+       (sub_match): Define operator<=> and remove redundant comparison
+       operators for C++20.
+       (match_results): Remove redundant operator!= for C++20.
+       * include/std/string_view (basic_string_view): Define operator<=> and
+       remove redundant comparison operators for C++20.
+       * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New
+       test.
+       * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/
+       constexpr.cc: Initialize variable.
+       * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
+       constexpr.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add
+       dg-do directive and remove comments showing incorrect signatures.
+       * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
+       New test.
+       * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
+       New test.
+       * testsuite/28_regex/sub_match/compare_c++20.cc: New test.
+
+2020-04-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove
+       name of unused parameter.
+
+2020-04-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_dir.h (file_status): Define operator== for C++20.
+       (directory_entry): Define operator<=> and remove redundant comparison
+       operators for C++20.
+       * include/bits/fs_fwd.h (space_info): Define operator== for C++20.
+       * include/bits/fs_path.h (path): Define operator<=> and remove
+       redundant comparison operators for C++20.
+       * testsuite/27_io/filesystem/path/compare/compare.cc: Fix comment.
+       * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
+
+       * include/bits/allocator.h (operator!=): Do not define for C++20.
+       * include/bits/locale_classes.h (operator!=): Likewise.
+       * include/bits/std_function.h (operator==(nullptr_t, const function&))
+       (operator!=(const function&, nullptr_t))
+       (operator!=(nullptr_t, const function&)): Likewise.
+       * include/ext/bitmap_allocator.h (operator!=): Likewise.
+       * include/ext/debug_allocator.h (operator!=): Likewise.
+       * include/ext/extptr_allocator.h (operator!=): Likewise.
+       * include/ext/malloc_allocator.h (operator!=): Likewise.
+       * include/ext/mt_allocator.h (operator!=): Likewise.
+       * include/ext/new_allocator.h (operator!=): Likewise.
+       * include/ext/pool_allocator.h (operator!=): Likewise.
+       * include/ext/throw_allocator.h (operator!=): Likewise.
+       * include/std/bitset (bitset::operator!=): Likewise.
+       * include/std/memory_resource (operator!=): Likewise.
+       * include/std/scoped_allocator (operator!=): Likewise.
+
+       * include/std/typeindex (operator<=>): Define for C++20.
+       * testsuite/20_util/typeindex/comparison_operators_c++20.cc: New test.
+
+2020-04-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (compare_three_way): Fix constraint so that
+       BUILTIN-PTR-THREE-WAY does not require three_way_comparable_with.
+       * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc:
+       New test.
+
+       PR libstdc++/94562
+       * include/bits/shared_ptr.h (operator<=>): Define for C++20.
+       * include/bits/shared_ptr_base.h (operator<=>): Likewise.
+       * include/bits/unique_ptr.h (operator<=>): Add inline specifier.
+       * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: New test.
+       * testsuite/20_util/shared_ptr/comparison/less.cc: Do not expect
+       std::less<A*> to be used when comparing std::shared_ptr<A> objects in
+       C++20.
+
+       PR libstdc++/94565
+       * libsupc++/compare (__unspec): Add noexcept-specifier to constructor.
+       * testsuite/18_support/comparisons/categories/94565.cc: New test.
+
+2020-04-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * include/std/coroutine: Update coroutines builtin define,
+       per n4861.
+
+2020-04-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (compare_three_way): Fix noexcept-specifier.
+       (strong_order, weak_order, partial_order): Replace uses of <=> with
+       compare_three_way function object (LWG 3324).
+       * testsuite/18_support/comparisons/algorithms/partial_order.cc: Add
+       equality operator so that X satisfies three_way_comparable.
+       * testsuite/18_support/comparisons/algorithms/strong_order.cc:
+       Likewise.
+       * testsuite/18_support/comparisons/algorithms/weak_order.cc: Likewise.
+
+       * include/bits/unique_ptr.h (operator<=>): Define for C++20.
+       * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
+       * testsuite/20_util/default_delete/void_neg.cc: Likewise.
+       * testsuite/20_util/unique_ptr/comparison/compare.cc: New test.
+       * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: New test.
+
+2020-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/slice_array.h (operator==(const slice&, const slice&)):
+       Define for C++20.
+       * include/std/complex (operator==(const T&, const complex<T>&))
+       (operator!=(const complex<T>&, const complex<T>&))
+       (operator!=(const complex<T>&, const T&))
+       (operator!=(const T&, const complex<T>&)): Do not declare for C++20.
+       * testsuite/26_numerics/slice/compare.cc: New test.
+
+       * include/std/charconv (to_chars_result, from_chars_result): Add
+       defaulted equality comparisons for C++20.
+       * testsuite/20_util/from_chars/compare.cc: New test.
+       * testsuite/20_util/to_chars/compare.cc: New test.
+
+2020-04-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94520
+       * include/std/charconv (__integer_to_chars_result_type)
+       (__integer_from_chars_result_type): Use __or_ instead of __or_v_ to
+       allow use in C++14.
+       * testsuite/20_util/from_chars/1.cc: Run test as C++14 and replace
+       use of std::string_view with std::string.
+       * testsuite/20_util/from_chars/2.cc: Likewise.
+       * testsuite/20_util/to_chars/1.cc: Likewise.
+       * testsuite/20_util/to_chars/2.cc: Likewise.
+
+2020-04-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94498
+       * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Make it
+       usable in constant expressions for C++20.
+       (__gnu_cxx::char_traits::copy, __gnu_cxx::char_traits::assign): Add
+       _GLIBCXX20_CONSTEXPR.
+       (std::char_traits<char>, std::char_traits<wchar_t>)
+       (std::char_traits<char8_t>): Make move, copy and assign usable in
+       constant expressions for C++20.
+       (std::char_traits<char16_t>, std::char_traits<char32_t>): Make move
+       and copy usable in constant expressions for C++20.
+       * include/std/string_view (basic_string_view::copy): Add
+       _GLIBCXX20_CONSTEXPR.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/
+       constexpr.cc: New test.
+       * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
+       constexpr.cc: New test.
+
+2020-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/appendix_contributing.xml: Refer to Git
+       documentation instead of Subversion.  Switch to https.
+       * doc/html/manual/appendix_contributing.html: Regenerate.
+
+2020-04-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93960
+       * include/bits/ptr_traits.h (__to_address): Add special case for debug
+       iterators, to avoid dereferenceable check.
+       * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
+       * testsuite/20_util/to_address/debug.cc: New test.
+
+2020-04-01  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * testsuite/experimental/net/execution_context/use_service.cc:
+       Require pthread and gthreads.
+
+2020-04-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/appendix_free.xml: Move "free books" list from
+       fsf.org to gnu.org.
+       * doc/html/manual/appendix_free.html: Regenerate.
+
+2020-03-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       Library-side tests for parenthesized aggregate init
+
+       PR c++/92878
+       PR c++/92947
+
+       * testsuite/20_util/allocator_traits/members/92878_92947.cc: New.
+       * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
+       * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
+       * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
+       * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise.
+       * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
+       * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
+       * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
+       Likewise.
+       * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise.
+       * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
+       * testsuite/20_util/variant/92878_92947.cc: Likewise.
+       * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/priority_queue/92878_92947.cc: Likewise.
+       * testsuite/23_containers/queue/92878_92947.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/stack/92878_92947.cc: Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
+       Likewise.
+       * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
+       Likewise.
+
+2020-03-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/is_constructible/value-2.cc: Fix test to account
+       for changes due to parenthesized aggregate-initialization in C++20.
+       * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash
+       with std::chrono::sys_time in C++20.
+
+       * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause
+       to constrain C++20 versions of comparison operators. Fix backwards
+       logic of relational operators.
+       (move_iterator): Use requires-clause to constrain comparison operators
+       in C++20. Do not declare non-standard same-type overloads for C++20.
+       * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check result
+       of comparisons and check using greedy_ops type.
+       * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: Likewise.
+       * testsuite/24_iterators/move_iterator/greedy_ops.cc: Remove redundant
+       main function from compile-only test.
+       * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Likewise.
+
+2020-03-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_cmp.h (__cpp_lib_ranges): Define.
+       * include/bits/stl_iterator.h: Check value of __cpp_concepts so that
+       C++20 concepts are required.
+       * include/bits/stl_iterator_base_types.h: Likewise.
+       * include/std/concepts: Likewise.
+       * include/std/version: Likewise.
+       * testsuite/std/ranges/headers/ranges/synopsis.cc: Check feature test
+       macro.
+
+       * include/bits/stl_iterator.h (reverse_iterator::iterator_concept)
+       (reverse_iterator::iterator_category): Define for C++20.
+       (reverse_iterator): Define comparison operators correctly for C++20.
+       (__normal_iterator): Add constraints to comparison operators for C++20.
+       (move_iterator::operator++(int)) [__cpp_lib_concepts]: Define new
+       overload for input iterators.
+       (move_iterator): Add constraints to comparison operators for C++20.
+       Define operator<=> for C++20.
+       * testsuite/24_iterators/move_iterator/input_iterator.cc: New test.
+       * testsuite/24_iterators/move_iterator/move_only.cc: New test.
+       * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: New test.
+       * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: New test.
+
+       * include/bits/iterator_concepts.h (__detail::__decay_copy)
+       (__detail::__member_begin, __detail::__adl_begin): Move here from
+       <bits/range_access.h>.
+       (__detail::__ranges_begin, __detail::__range_iter_t): Define.
+       * bits/range_access.h (__cust_access::__decay_copy)
+       (__cust_access::__member_begin, __cust_access::__adl_begin): Move to
+       <bits/iterator_concepts.h>.
+       (ranges::iterator_t): Use __detail::__range_iter_t.
+       * include/bits/stl_iterator.h (back_insert_iterator): Simplify
+       conditional compilation. Add _GLIBCXX20_CONSTEXPR to all members.
+       (front_insert_iterator): Likewise.
+       (insert_iterator): Implement changes from P0896R4 for C++20.
+       * testsuite/24_iterators/back_insert_iterator/constexpr.cc: New test.
+       * testsuite/24_iterators/front_insert_iterator/constexpr.cc: New test.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Adjust
+       for inclusion in synopsis_c++20.cc which expects different signatures
+       for some function templates.
+       * testsuite/24_iterators/insert_iterator/constexpr.cc: New test.
+
+       * include/std/type_traits (__is_array_convertible): Move definition
+       to immediately after is_convertible.
+
+2020-03-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (chrono::days, chrono::weeks, chrono::years)
+       (chrono::months, chrono::sys_days, chrono::local_t)
+       (chrono::local_time, chrono::local_seconds, chrono::local_days):
+       Define for C++20.
+       (chrono::time_point): Add missing static assert.
+       * testsuite/20_util/time_point/requirements/duration_neg.cc: New test.
+       * testsuite/std/time/clock/file/overview.cc: New test.
+       * testsuite/std/time/clock/file/members.cc: New test.
+       * testsuite/std/time/syn_c++20.cc: New test.
+
+2020-03-25  Mike Crowe  <mac@mcrowe.com>
+
+       * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
+       test.
+       * testsuite/30_threads/shared_timed_mutex/try_lock_until/2.cc: New
+       test.
+
+2020-03-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_fwd.h (filesystem::__file_clock): Move to ...
+       * include/std/chrono (filesystem::__file_clock): Here.
+       (filesystem::__file_clock::from_sys, filesystem::__file_clock::to_sys):
+       Define public member functions for C++20.
+       (is_clock, is_clock_v): Define traits for C++20.
+       * include/std/condition_variable (condition_variable::wait_until): Add
+       check for valid clock.
+       * include/std/future (_State_baseV2::wait_until): Likewise.
+       * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Likewise.
+       * include/std/shared_mutex (shared_timed_mutex::try_lock_shared_until):
+       Likewise.
+       * include/std/thread (this_thread::sleep_until): Likewise.
+       * testsuite/30_threads/condition_variable/members/2.cc: Qualify
+       slow_clock with new namespace.
+       * testsuite/30_threads/condition_variable/members/clock_neg.cc: New
+       test.
+       * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
+       New test.
+       * testsuite/30_threads/future/members/clock_neg.cc: New test.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
+       Qualify slow_clock with new namespace.
+       * testsuite/30_threads/recursive_timed_mutex/try_lock_until/
+       clock_neg.cc: New test.
+       * testsuite/30_threads/shared_future/members/clock_neg.cc: New
+       test.
+       * testsuite/30_threads/shared_lock/locking/clock_neg.cc: New test.
+       * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
+       New test.
+       * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Qualify
+       slow_clock with new namespace.
+       * testsuite/30_threads/timed_mutex/try_lock_until/4.cc: Likewise.
+       * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: New
+       test.
+       * testsuite/30_threads/unique_lock/locking/clock_neg.cc: New test.
+       * testsuite/std/time/traits/is_clock.cc: New test.
+       * testsuite/util/slow_clock.h (slow_clock): Move to __gnu_test
+       namespace.
+
+2020-03-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93245
+       * include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()):
+       * testsuite/experimental/filesystem/path/generic/generic_string.cc:
+       Improve test coverage.
+
+       PR libstdc++/94242
+       * include/bits/fs_path.h (path::_S_str_convert): Replace first
+       parameter with basic_string_view so that strings with different
+       allocators can be accepted.
+       (path::generic_string<C,T,A>()): Use basic_string object that uses the
+       right allocator type.
+       * testsuite/27_io/filesystem/path/generic/94242.cc: New test.
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve
+       test coverage.
+
+2020-03-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94033
+       * include/std/type_traits (__is_nt_default_constructible_atom): Remove.
+       (__is_nt_default_constructible_impl): Remove.
+       (__is_nothrow_default_constructible_impl): Remove.
+       (__is_nt_constructible_impl): Add bool template parameter. Adjust
+       partial specializations.
+       (__is_nothrow_constructible_impl): Replace class template with alias
+       template.
+       (is_nothrow_default_constructible): Derive from alias template
+       __is_nothrow_constructible_impl instead of
+       __is_nothrow_default_constructible_impl.
+       * testsuite/20_util/is_nothrow_constructible/94003.cc: New test.
+
+       * include/std/stop_token (stop_token::_Stop_state_ref): Define
+       comparison operators explicitly if the compiler won't synthesize them.
+
+       * include/bits/stl_algobase.h (__lexicographical_compare_aux): Check
+       __cpp_lib_concepts before using iter_reference_t.
+       * include/bits/stream_iterator.h (istream_iterator): Check
+       __cpp_lib_concepts before using default_sentinel_t.
+       * include/bits/streambuf_iterator.h (istreambuf_iterator): Likewise.
+
+       PR libstdc++/94203
+       * include/experimental/executor (executor::executor(Executor)): Call
+       make_shared directly instead of _M_create. Create _Tgt1 object.
+       (executor::executor(allocator_arg_t, const ProtoAlloc&, Executor)):
+       Call allocate_shared directly instead of _M_create. Create _Tgt2
+       object.
+       (executor::target_type): Add cast needed for new _Tgt interface.
+       (executor::target): Define when RTTI is disabled. Use _Tgt::_M_func.
+       (executor::_Tgt): Define the same interface whether RTTI is enabled or
+       not.
+       (executor::_Tgt::target_type, executor::_Tgt::target): Do not use
+       std::type_info in the interface.
+       (executor::_Tgt::_M_func): Add data member.
+       (executor::_TgtImpl): Replace with _Tgt1 and _Tgt2 class templates.
+       (executor::_Tgt1::_S_func): Define function to access target without
+       depending on RTTI.
+       (executor::_M_create): Remove.
+       (operator==, operator!=): Simplify comparisons for executor.
+       * include/experimental/socket (is_error_code_enum<socket_errc>):
+       Define specialization before use.
+       * testsuite/experimental/net/executor/1.cc: New test.
+
+2020-03-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94199
+       * include/experimental/executor (service_already_exists): Add default
+       constructor. Declare make_service to be a friend.
+       * testsuite/experimental/net/execution_context/make_service.cc: New
+       test.
+
+2020-03-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Do not pass
+       a null pointer to functions with nonnull(1) attribute.
+
+2020-03-11  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (split_view::_OuterIter::_OuterIter): Typo fix,
+       'address' -> 'std::__addressof'.
+       * testsuite/std/ranges/adaptors/split.cc: Test taking the split_view of
+       a non-forward input_range.
+       * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Make
+       default constructor protected instead of deleted, like with
+       input_iterator_wrapper.
+       (test_range::iterator): Add comment explaining that this type is used
+       only when the underlying wrapper is input_iterator_wrapper or
+       output_iterator_wrapper.  Remove delegating defaulted constructor so
+       that the inherited default constructor is used instead.
+
+       LWG 3286 ranges::size is not required to be valid after a call to
+       ranges::begin on an input range
+       * include/std/ranges (subrange::subrange): Split single-argument
+       constructor into two, one constrained by _S_store_size and another by
+       !_S_store_size.
+       (take_view::begin): Call size() before calling ranges::begin(_M_base).
+       * testsuite/std/ranges/adaptors/lwg3286.cc: New test.
+       * testsuite/std/ranges/subrange/lwg3286.cc: New test.
+
+2020-03-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (split_view::_OuterIter::__at_end): Use __current
+       instead of _M_current.
+       (split_view::_OuterIter::operator++): Likewise.
+
+       * include/std/ranges (transform_view::_Iterator::__iter_move): Remove.
+       (transform_view::_Iterator::operator*): Add noexcept-specifier.
+       (transform_view::_Iterator::iter_move): Inline __iter_move body here.
+       (split_view::_OuterIter::__current): Add noexcept.
+       (split_view::_InnerIter::__iter_swap): Remove.
+       (split_view::_InnerIter::__iter_move): Remove.
+       (split_view::_InnerIter::_M_i_current): New accessors.
+       (split_view::_InnerIter::__at_end): Use _M_i_current().
+       (split_view::_InnerIter::operator*): Likewise.
+       (split_view::_InnerIter::operator++): Likewise.
+       (iter_move(const _InnerIter&)): Likewise.
+       (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise.
+       * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier
+       for iter_move and iter_swap on split_view's inner iterator.
+
+       PR c++/94117
+       * include/std/ranges (ranges::transform_view::_Iterator::iter_move):
+       Change expression in noexcept-specifier to match function body.
+
+       * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add
+       comment explaining multiple dg-do directives.
+       * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive
+       so test is run as well as compiled.
+
+2020-03-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94063
+       * src/c++17/fs_path.cc (path::operator+=(const path&)): Add kluge to
+       handle concatenations that change the type of the first component.
+       (path::operator+=(basic_string_view<value_type>)): Likewise.
+       * testsuite/27_io/filesystem/path/concat/94063.cc: New test.
+
+2020-03-06  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (join_view::_Sentinel<_Const>): Befriend
+       join_view::_Sentinel<!_Const>.
+       * testsuite/std/ranges/adaptors/join.cc: Augment test.
+
+       PR libstdc++/93978
+       * include/bits/range_access.h (__cust_access::_Empty::operator()):
+       Declare return type to be bool instead of auto.
+       * testsuite/std/ranges/adaptors/93978.cc: New test.
+
+2020-03-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94069
+       * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
+       (__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
+       second argument to __glibcxx_rwlock_init.
+       * testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
+
+       PR libstdc++/93244
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust
+       test to not fail due to PR 94063.
+       * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
+
+2020-03-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it
+       would match ENOSYS.
+
+2020-03-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
+       * testsuite/27_io/filesystem/operations/copy.cc: Fix typo.
+       * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/file_size.cc: Use correct type
+       for return value, and in comparison.
+       * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
+
+       PR libstdc++/94051
+       * include/std/string_view: Include <bits/ostream_insert.h>.
+       * testsuite/21_strings/basic_string_view/inserters/94051.cc: New test.
+
+2020-03-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cpp_type_traits.h (__memcpyable): Fix comment.
+
+2020-03-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/94017
+       * include/bits/ranges_algobase.h (__fill_n_fn::operator()): Refine
+       condition for when to use memset, making sure to additionally check that
+       the output pointer's value type is a non-volatile byte type.  Instead of
+       requiring that the fill type is a byte type, just require that it's an
+       integral type.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
+       New test.
+       * testsuite/25_algorithms/fill/94013.cc: Uncomment part of test that was
+       blocked by PR 94017.
+       * testsuite/25_algorithms/fill/94017.cc: New test.
+       * testsuite/25_algorithms/fill_n/94017.cc: New test.
+
+       LWG 3355 The memory algorithms should support move-only input iterators
+       introduced by P1207
+       * include/bits/ranges_uninitialized.h
+       (__uninitialized_copy_fn::operator()): Use std::move to avoid attempting
+       to copy __ifirst, which could be a move-only input iterator.  Use
+       operator- instead of ranges::distance to compute distance from a sized
+       sentinel.
+       (__uninitialized_copy_n_fn::operator()): Likewise.
+       (__uninitialized_move_fn::operator()): Likewise.
+       (__uninitialized_move_n_fn::operator()): Likewise.
+       (__uninitialized_destroy_fn::operator()): Use std::move to avoid
+       attempting to copy __first.
+       (__uninitialized_destroy_n_fn::operator()): Likewise.
+       * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
+       Augment test.
+       * .../specialized_algorithms/uninitialized_copy/constrained.cc:
+       Likewise.
+       * .../specialized_algorithms/uninitialized_move/constrained.cc:
+       Likewise.
+
+       * testsuite/util/testsuite_iterators.h (test_range::get_iterator): Make
+       protected instead of private.
+       (test_sized_range_sized_sent): New.
+
+       * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_nocopy):
+       New testsuite iterator.
+       * testsuite/24_iterators/counted_iterator/lwg3389.cc: use it.
+       * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
+
+       * include/bits/ranges_uninitialized.h
+       (uninitialized_copy_fn::operator()): Pass a reference type as the first
+       argument to is_nothrow_assignable_v.
+       (uninitialized_copy_fn::operator()): Likewise.
+       (uninitialized_move_fn::operator()): Likewise.  Return an in_out_result
+       with the input iterator stripped of its move_iterator.
+       (uninitialized_move_n_fn::operator()): Likewise.
+       (uninitialized_fill_fn::operator()): Pass a reference type as the first
+       argument to is_nothrow_assignable_v.
+       (uninitialized_fill_n_fn::operator()): Likewise.
+
+2020-03-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94013
+       * include/bits/cpp_type_traits.h (__memcpyable, __memcmpable): New
+       traits to control when to use memmove and memcmp optimizations.
+       (__is_nonvolatile_trivially_copyable): New helper trait.
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn): Do not
+       use memcmp optimization with volatile data.
+       * include/bits/ranges_algobase.h (__equal_fn): Use __memcmpable.
+       (__copy_or_move, __copy_or_move_backward): Use __memcpyable.
+       * include/bits/stl_algobase.h (__copy_move_a2): Use __memcpyable.
+       (__copy_move_backward_a2): Likewise.
+       (__equal_aux1): Use __memcmpable.
+       (__lexicographical_compare_aux): Do not use memcmp optimization with
+       volatile data.
+       * testsuite/25_algorithms/copy/94013.cc: New test.
+       * testsuite/25_algorithms/copy_backward/94013.cc: New test.
+       * testsuite/25_algorithms/equal/94013.cc: New test.
+       * testsuite/25_algorithms/fill/94013.cc: New test.
+       * testsuite/25_algorithms/lexicographical_compare/94013.cc: New test.
+       * testsuite/25_algorithms/move/94013.cc: New test.
+       * testsuite/25_algorithms/move_backward/94013.cc: New test.
+
+       * include/bits/stl_algobase.h (lexicographical_compare_three_way):
+       Avoid redundant iterator comparisons (LWG 3410).
+
+2020-03-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93972
+       * include/bits/stl_algobase.h (__memcmp): Allow pointer types to
+       differ.
+       * testsuite/25_algorithms/lexicographical_compare/uchar.cc: New test.
+
+       * include/std/ranges (__detail::__maybe_empty_t): Rename to
+       __maybe_present_t.
+       (__adaptor::_RangeAdaptor, join_view, split_view): Use new name.
+
+       * include/bits/ranges_algo.h (shift_right): Add 'typename' to
+       dependent type.
+
+2020-03-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
+
+2020-02-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*.
+       * testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
+       * testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
+       * testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
+       * testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
+
+       * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
+       Add libatomic option.
+       * testsuite/30_threads/jthread/jthread.cc: Likewise.
+
+2020-02-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_algo.h
+       (__find_if, __count_if, __is_permutation, std::is_permutation): Move...
+       * include/bits/stl_algobase.h: ...here.
+       * include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include.
+
+2020-02-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic
+       option.
+       * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
+       Likewise.
+       * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
+       Likewise.
+
+       PR libstdc++/92906
+       * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
+
+2020-02-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/93972
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
+       Fix condition for when to use memcmp, making it consistent with the
+       corresponding condition used in std::lexicographical_compare.
+       * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
+
+       * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for
+       functions introduced in C++11, C++17 and C++2a.  Add 'constexpr' to
+       existing signatures for C++2a.
+
+2020-02-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run
+       test instead of just compiling it.
+
+2020-02-28  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false
+       whenever the underlying range models common_range.
+
+       * include/std/ranges (__detail::_CachedPosition): New struct.
+       (views::filter_view::_S_needs_cached_begin): New member variable.
+       (views::filter_view::_M_cached_begin): New member variable.
+       (views::filter_view::begin): Use _M_cached_begin to cache its
+       result.
+       (views::drop_view::_S_needs_cached_begin): New static member variable.
+       (views::drop_view::_M_cached_begin): New member variable.
+       (views::drop_view::begin): Use _M_cached_begin to cache its result
+       when _S_needs_cached_begin.
+       (views::drop_while_view::_M_cached_begin): New member variable.
+       (views::drop_while_view::begin): Use _M_cached_begin to cache its
+       result.
+       (views::reverse_view::_S_needs_cached_begin): New static member
+       variable.
+       (views::reverse_view::_M_cached_begin): New member variable.
+       (views::reverse_view::begin): Use _M_cached_begin to cache its result
+       when _S_needs_cached_begin.
+       * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that
+       drop_view::begin caches its result.
+       * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check
+       that drop_while_view::begin caches its result.
+       * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that
+       filter_view::begin caches its result.
+       * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that
+       reverse_view::begin caches its result.
+
+2020-02-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for
+       filesystems that silently truncate timestamps.
+       * testsuite/experimental/filesystem/operations/last_write_time.cc:
+       Likewise.
+
+       * testsuite/21_strings/basic_string/cons/char/1.cc: Disable
+       -Wstringop-overflow warnings.
+
+2020-02-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp (v3_target_compile): Add
+       -fdiagnostics-urls=never to options.
+
+2020-02-27  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (transform_view::_Iterator<_Const>): Befriend
+       _Iterator<!_Const>.
+       (transform_view::_Sentinel<_Const>): Befriend _Sentinel<!_Const>.
+       (take_view::_Sentinel<_Const>): Likewise.
+       (take_while_view::_Sentinel<_Const>): Likewise.
+       (split_view::_OuterIter<_Const>): Befriend _OuterIter<!_Const>.
+       * testsuite/std/ranges/adaptors/split.cc: Augment test.
+       * testsuite/std/ranges/adaptors/take.cc: Augment test.
+       * testsuite/std/ranges/adaptors/take_while.cc: Augment test.
+       * testsuite/std/ranges/adaptors/transform.cc: Augment test.
+
+       * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the
+       base() of a vector<>::iterator is a pointer.
+       * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise.
+       * testsuite/25_algorithms/move/constrained.cc: Likewise.
+       * testsuite/25_algorithms/move_backward/constrained.cc: Likewise.
+       * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data()
+       instead of &foo[0].
+       * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
+       * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise.
+       * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
+       * testsuite/25_algorithms/sort/constrained.cc: Likewise.
+       * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
+
+2020-02-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/debug/array (operator<=>): Define for C++20.
+       * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
+       Adjust dg-error line numbers.
+       * testsuite/23_containers/array/tuple_interface/
+       tuple_element_debug_neg.cc: Likewise.
+
+       * testsuite/23_containers/span/back_assert_neg.cc: Add #undef before
+       defining _GLIBCXX_ASSERTIONS.
+       * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_2_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_3_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_4_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_5_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_6_assert_neg.cc: Likewise.
+       * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
+
+       * include/debug/string (__gnu_debug::basic_string::insert): Fix for
+       C++98 where the member function of the base class returns void.
+
+       * testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add
+       equality comparisons that support value-initialized iterators.
+
+       * include/bits/boost_concept_check.h (__function_requires): Add
+       _GLIBCXX14_CONSTEXPR.
+       * testsuite/25_algorithms/min/concept_checks.cc: New test.
+
+2020-02-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/93936
+       * include/std/ranges (split_view::_InnerIter::operator==): Compare
+       the operands' _M_i rather than their _M_i.current().
+       * testsuite/std/ranges/adaptors/split.cc: Augment test.
+
+       P1645R1 constexpr for <numeric> algorithms
+       * include/bits/stl_numeric.h (iota, accumulate, inner_product,
+       partial_sum, adjacent_difference): Make conditionally constexpr for
+       C++20.
+       * include/std/numeric (__cpp_lib_constexpr_numeric): Define this feature
+       test macro.
+       (reduce, transform_reduce, exclusive_scan, inclusive_scan,
+       transform_exclusive_scan, transform_inclusive_scan): Make conditionally
+       constexpr for C++20.
+       * include/std/version (__cpp_lib_constexpr_numeric): Define.
+       * testsuite/26_numerics/accumulate/constexpr.cc: New test.
+       * testsuite/26_numerics/adjacent_difference/constexpr.cc: Likewise.
+       * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
+       * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
+       * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
+       * testsuite/26_numerics/iota/constexpr.cc: Likewise.
+       * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
+       * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
+       * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: Likewise.
+       * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: Likewise.
+       * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
+
+2020-02-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn): Declare
+       variables in smaller scope and avoid calling ranges::distance when we
+       know they are pointers. Remove statically-unreachable use of
+       __builtin_unreachable().
+       * include/bits/stl_algobase.h (__lexicographical_compare::__lc):
+       Define inline.
+
+       * include/std/ranges (__detail::__maybe_empty_t): Define new helper
+       alias.
+       (__detail::__maybe_const_t): Likewise.
+       (__adaptor::_RangeAdaptor): Use __maybe_empty_t.
+       (transform_view, take_view, take_while_view, elements_view): Use
+       __maybe_const_t.
+       (join_view, split_view): Use both.
+
+2020-02-25  Patrick Palka  <ppalka@redhat.com>
+
+       LWG 3397 basic_istream_view::iterator should not provide
+       iterator_category
+       * include/std/ranges (basic_istream_view:_Iterator::iterator_category):
+       Rename to ...
+       (basic_istream_view:_Iterator::iterator_concept): ... this.
+       * testsuite/std/ranges/istream_view.cc: Augment test.
+
+       LWG 3325 Constrain return type of transformation function for
+       transform_view
+       * include/std/ranges (transform_view): Constrain the return type of the
+       transformation function as per LWG 3325.
+       * testsuite/std/ranges/adaptors/lwg3325_neg.cc: New test.
+
+       LWG 3313 join_view::_Iterator::operator-- is incorrectly constrained
+       * include/std/ranges (join_view::_Iterator::operator--): Require that
+       range_reference_t<_Base> models common_range.
+       * testsuite/std/ranges/adaptors/lwg3313_neg.cc: New test.
+
+       LWG 3301 transform_view::_Iterator has incorrect iterator_category
+       * include/std/ranges (transform_view::_Iterator::_S_iter_cat): Adjust
+       determination of iterator_category as per LWG 3301.
+       * testsuite/std/ranges/adaptors/transform.cc: Augment test.
+
+       LWG 3292 iota_view is under-constrained
+       * include/std/ranges (iota_view): Require that _Winc models semiregular
+         as per LWG 3292.
+       * testsuite/std/ranges/iota/lwg3292_neg.cc: New test.
+
+2020-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_algobase.h (__copy_or_move): Do not use memmove
+       during constant evaluation. Call __builtin_memmove directly instead of
+       __memmove.
+       (__copy_or_move_backward): Likewise.
+       * include/bits/stl_algobase.h (__memmove): Remove.
+       (__copy_move<M, true, random_access_iterator_tag>::__copy_m)
+       (__copy_move_backward<M, true, random_access_iterator_tag>::__copy_m):
+       Use __builtin_memmove directly instead of __memmove.
+       (__copy_move_a2): Do not use memmove during constant evaluation.
+       (__copy_move_backward_a2): Use _IsMove constant to select correct
+       __copy_move_backward specialization.
+       * testsuite/25_algorithms/copy_backward/constexpr.cc: Check for copies
+       begin turned into moves during constant evaluation.
+
+       * testsuite/25_algorithms/move_backward/93872.cc: Add test left out of
+       previous commit.
+
+       PR libstdc++/93872
+       * include/bits/stl_algobase.h (__memmove): Cast away const before
+       doing move assignment.
+       * testsuite/25_algorithms/move/93872.cc: New test.
+       * testsuite/25_algorithms/move_backward/93872.cc: New test.
+
+2020-02-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/93884
+       * include/bits/ranges_algobase.h (__copy_or_move,
+       __copy_or_move_backward): Don't inspect the iter_value_t of the output
+       iterator, instead inspect its iterator_traits directly.
+       * include/bits/stl_iterator.h (back_insert_iterator::container):
+       Conditionally initialize.
+       (back_insert_iterator::difference_type): Conditionally define.
+       (back_insert_iterator::back_insert_iterator): Conditionally define this
+       default constructor.
+       (front_insert_iterator::container): Conditionally initialize.
+       (front_insert_iterator::difference_type): Conditionally define.
+       (front_insert_iterator::front_insert_iterator): Conditionally define
+       this default constructor.
+       * 24_iterators/back_insert_iterator/pr93884.cc: New test.
+       * 24_iterators/front_insert_iterator/pr93884.cc: New test.
+
+       P0769R2 Add shift to <algorithm>
+       * include/bits/ranges_algo.h (shift_left, shift_right): New.
+       * testsuite/25_algorithms/shift_left/1.cc: New test.
+       * testsuite/25_algorithms/shift_right/1.cc: New test.
+
+2020-02-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
+       Make noexcept-specifier conditional.
+       * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: Check
+       noexcept-specifier.
+
+       * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
+       Add constructor.
+       (operator==(istream_iterator, default_sentinel_t)): Add operator.
+       (ostream_iterator::difference_type): Define to ptrdiff_t for C++20.
+       * include/bits/streambuf_iterator.h
+       (istreambuf_iterator(default_sentinel_t)): Add constructor.
+       (operator==(istreambuf_iterator, default_sentinel_t)): Add operator.
+       * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
+       New test.
+       * testsuite/24_iterators/istream_iterator/sentinel.cc: New test.
+       * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
+       New test.
+       * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
+
+       * include/std/ranges (__deep_const_range, __enable_view_impl): Remove.
+       (ranges::enable_view): Simplify (LWG 3326).
+       * include/bits/range_access.h (ranges::enable_view): Declare.
+       * include/bits/regex.h (__enable_view_impl): Remove partial
+       specialization.
+       * include/bits/stl_multiset.h (__enable_view_impl): Likewise.
+       * include/bits/stl_set.h (__enable_view_impl): Likewise.
+       * include/bits/unordered_set.h (__enable_view_impl): Likewise.
+       * include/debug/multiset.h (__enable_view_impl): Likewise.
+       * include/debug/set.h (__enable_view_impl): Likewise.
+       * include/debug/unordered_set (__enable_view_impl): Likewise.
+       * include/experimental/string_view (ranges::enable_view): Define
+       partial specialization.
+       * include/std/span (ranges::enable_view): Likewise.
+       * include/std/string_view (ranges::enable_view): Likewise.
+       * testsuite/std/ranges/view.cc: Check satisfaction of updated concept.
+
+2020-02-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (operator<=>(optional<T>, optional<U>))
+       (operator<=>(optional<T>, nullopt), operator<=>(optional<T>, U)):
+       Define for C++20.
+       * include/std/tuple (__tuple_cmp): New helper function for <=>.
+       (operator<=>(tuple<T...>, tuple<U>...)): Define for C++20.
+       * include/std/variant (operator<=>(variant<T...>, variant<T...>))
+       (operator<=>(monostate, monostate)): Define for C++20.
+       * testsuite/20_util/optional/relops/three_way.cc: New test.
+       * testsuite/20_util/tuple/comparison_operators/three_way.cc: New test.
+       * testsuite/20_util/variant/89851.cc: Move to ...
+       * testsuite/20_util/variant/relops/89851.cc: ... here.
+       * testsuite/20_util/variant/90008.cc: Move to ...
+       * testsuite/20_util/variant/relops/90008.cc: ... here.
+       * testsuite/20_util/variant/relops/three_way.cc: New test.
+
+2020-02-20  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (views::__adaptor::__maybe_refwrap): New utility
+       function.
+       (views::__adaptor::_RangeAdaptor::operator()): Add comments.  Use
+       __maybe_refwrap to capture lvalue references by reference, and then use
+       unwrap_reference_t to forward the by-reference captures as references.
+       * testsuite/std/ranges/adaptors/split.cc: Augment test.
+       * testsuite/std/ranges/adaptors/split_neg.cc: New test.
+
+       * include/std/ranges (iota_view): Forward declare _Sentinel.
+       (iota_view::_Iterator): Befriend _Sentinel.
+       (iota_view::_Sentinel::_M_equal): New member function.
+       (iota_view::_Sentinel::operator==): Use it.
+       (views::_Iota::operator()): Forward __f using the correct type.
+       * testsuite/std/ranges/access/ssize.cc (test06): Don't call views::iota
+       with integers of different signedness, to appease iota_view's deduction
+       guide.
+       * testsuite/std/ranges/iota/iota_view.cc: Augment test.
+
+2020-02-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (ranges::begin): Reject array of
+       incomplete type.
+       (ranges::end, ranges::size): Require arrays to be bounded.
+       (ranges::data): Require lvalue or borrowed_range.
+       (ranges::iterator_t): Remove constraint.
+       * testsuite/std/ranges/access/begin.cc: Do not check array of
+       incomplete type.
+       * testsuite/std/ranges/access/begin_neg.cc: New test.
+       * testsuite/std/ranges/access/end_neg.cc: Adjust expected error.
+       * testsuite/std/ranges/access/size_neg.cc: Adjust expected error.
+       * testsuite/std/ranges/access/ssize.cc: Do not check array of
+       incomplete type.
+
+       * include/std/system_error (error_category::operator<=>)
+       (operator<=>(const error_code&, const error_code&))
+       (operator<=>(const error_condition&, const error_condition&)): Define
+       for C++20.
+       * testsuite/19_diagnostics/error_category/operators/less.cc: New test.
+       * testsuite/19_diagnostics/error_category/operators/three_way.cc: New
+       test.
+       * testsuite/19_diagnostics/error_code/operators/equal.cc: Remove
+       incorrect comment.
+       * testsuite/19_diagnostics/error_code/operators/less.cc: New test.
+       * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Remove
+       incorrect comment.
+       * testsuite/19_diagnostics/error_code/operators/three_way.cc: New test.
+       * testsuite/19_diagnostics/error_condition/operators/equal.cc: Remove
+       incorrect comment.
+       * testsuite/19_diagnostics/error_condition/operators/less.cc: New test.
+       * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
+       Remove incorrect comment.
+       * testsuite/19_diagnostics/error_condition/operators/three_way.cc: New
+       test.
+
+       * libsupc++/typeinfo (type_info::operator!=): Remove for C++20.
+
+       * include/std/thread (thread::id::operator<=>): Define for C++20.
+       * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of
+       functions in namespace std.
+       * testsuite/30_threads/thread/id/operators_c++20.cc: New test.
+
+2020-02-19  Patrick Palka  <ppalka@redhat.com>
+
+       * testsuite/std/ranges/adaptors/split.cc (test03): Don't include the
+       null terminator of the underlying string as part of the test_range.
+       (main): Call test03.
+
+2020-02-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (common_iterator): Add copyable<I>
+       requirement (LWG 3385).
+       * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust
+       expected declaration.
+
+       * include/std/ranges (take_while_view, drop_view, drop_while_view)
+       (elements_view:_Iterator): Initialize data members (LWG 3364).
+
+       * libsupc++/compare (three_way_comparable): Remove always-false check
+       that should have been removed with weak_equality (P1959R0).
+       (three_way_comparable_with): Likewise. Reorder requirements (LWG 3360).
+
+       * include/std/concepts (__detail::__partially_ordered_with): Move here
+       from <compare>.
+       (totally_ordered, totally_ordered_with): Use __partially_ordered_with
+       to simplify definition (LWG 3331).
+       * libsupc++/compare (__detail::__partially_ordered_with): Move to
+       <concepts>.
+
+       * include/std/concepts (totally_ordered_with): Remove redundant
+       requirement (LWG 3329).
+
+       * include/std/ranges (__detail::__convertible_to_non_slicing): New
+       helper concept.
+       (__detail::__pair_like_convertible_to): Remove.
+       (__detail::__pair_like_convertible_from): Add requirements for
+       non-slicing conversions.
+       (subrange): Constrain constructors with __convertible_to_non_slicing.
+       Remove constructors from pair-like types. Add new deduction guide.
+       * testsuite/std/ranges/subrange/lwg3282_neg.cc: New test.
+
+       * include/bits/iterator_concepts.h (iter_move): Add declaration to
+       prevent unqualified lookup finding a suitable declaration (LWG 3247).
+
+       * include/std/memory_resource (polymorphic_allocator::allocate)
+       (polymorphic_allocator::allocate_object): Change type of exception to
+       bad_array_new_length (LWG 3237).
+       * testsuite/20_util/polymorphic_allocator/lwg3237.cc: New test.
+
+       * include/std/type_traits (__cpp_lib_unwrap_ref): Define (LWG 3348).
+       * include/std/version (__cpp_lib_unwrap_ref): Likewise.
+       * testsuite/20_util/unwrap_reference/1.cc: Check macro.
+       * testsuite/20_util/unwrap_reference/3.cc: New test.
+
+       * include/std/numeric (midpoint(T8, T*)): Do not check for complete
+       type during overload resolution, use static assert instead (LWG 3200).
+       * testsuite/26_numerics/midpoint/pointer.cc: Do not test with
+       incomplete type.
+       * testsuite/26_numerics/midpoint/pointer_neg.cc: New test.
+
+       * include/std/span (span(T (&)[N])): Use non-deduced context to
+       prevent first parameter from interfering with class template argument
+       deduction (LWG 3369).
+       * testsuite/23_containers/span/deduction.cc: Add missing 'const'.
+       * testsuite/23_containers/span/lwg3255.cc: Check for construction from
+       rvalues.
+
+       * include/std/span (span::const_iterator, span::const_reverse_iterator)
+       (span::cbegin(), span::cend(), span::crbegin(), span::crend()):
+       Remove (LWG 3320).
+       * testsuite/23_containers/span/everything.cc: Replace uses of cbegin
+       and cend.
+       * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+       constrained.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/
+       uninitialized_default_construct/constrained.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill/
+       constrained.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_move/
+       constrained.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/
+       uninitialized_value_construct/constrained.cc: Likewise.
+
+       * include/bits/range_access.h (range_size_t): Define alias template.
+       * include/std/ranges (all_view): Rename to views::all_t (LWG 3335).
+       * testsuite/std/ranges/adaptors/filter.cc: Adjust to new name.
+
+       * include/std/ranges (filter_view, transform_view, take_view)
+       (join_view, split_view, reverse_view): Remove commented-out converting
+       constructors (LWG 3280).
+
+       * include/std/memory (uninitialized_construct_using_allocator): Use
+       std::construct_at (LWG 3321).
+
+       * include/std/memory_resource (polymorphic_allocator::allocate_bytes)
+       (polymorphic_allocator::allocate_object)
+       (polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304).
+
+       LWG 3379. "safe" in several library names is misleading
+       * include/bits/range_access.h (enable_safe_range): Rename to
+       enable_borrowed_range.
+       (__detail::__maybe_safe_range): Rename to __maybe_borrowed_range.
+       (safe_range): Rename to borrowed_range.
+       * include/bits/ranges_algo.h: Adjust to use new names.
+       * include/bits/ranges_algobase.h: Likewise.
+       * include/bits/ranges_uninitialized.h: Likewise.
+       * include/std/ranges: Likewise.
+       (safe_iterator_t): Rename to borrowed_iterator_t.
+       (safe_subrange_t): Rename to borrowed_subrange_t.
+       * include/std/span: Adjust to use new names.
+       * include/std/string_view: Likewise.
+       * include/experimental/string_view: Likewise.
+       * testsuite/std/ranges/access/begin.cc: Likewise.
+       * testsuite/std/ranges/access/cbegin.cc: Likewise.
+       * testsuite/std/ranges/access/cdata.cc: Likewise.
+       * testsuite/std/ranges/access/cend.cc: Likewise.
+       * testsuite/std/ranges/access/crbegin.cc: Likewise.
+       * testsuite/std/ranges/access/crend.cc: Likewise.
+       * testsuite/std/ranges/access/data.cc: Likewise.
+       * testsuite/std/ranges/access/end.cc: Likewise.
+       * testsuite/std/ranges/access/rbegin.cc: Likewise.
+       * testsuite/std/ranges/access/rend.cc: Likewise.
+       * testsuite/std/ranges/safe_range.cc: Likewise.
+       * testsuite/std/ranges/safe_range_types.cc: Likewise.
+       * testsuite/util/testsuite_iterators.h: Likewise.
+
+       * include/std/ranges (tuple_element<0, const subrange<I, S, K>>)
+       (tuple_element<1, const subrange<I, S, K>>): Add partial
+       specializations (LWG 3398).
+       * testsuite/std/ranges/subrange/tuple_like.cc: New test.
+
+       * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
+       (__adjacent_find_fn, __remove_if_fn, __remove_copy_if_fn)
+       (__unique_fn, __unique_copy_fn): Remove redundant conversions to bool.
+
+2020-02-18  Patrick Palka  <ppalka@redhat.com>
+
+       P1983R0 Wording for GB301, US296, US292, US291, and US283
+       * include/std/ranges (filter_view::pred): New member function.
+       (join_view::_Iterator::_Iterator): Remove now-redundant comment since
+       P1983R0 fixes the highlighted issue in the same way.
+       (join_view::_Iterator<_Const>): Add friend
+       join_view::_Iterator<!_Const>.
+       (join_view::_M_inner): Remove mutable specifier, effectively reverting
+       the proposed wording changes of P3278.
+       (join_view::begin): Refine the condition for when to return a const
+       iterator.
+       (split_view::_OuterIter::_OuterIter): Adjust constraints.
+       * testsuite/std/ranges/adaptors/filter.cc: Test that filter_view::pred
+       exists and works.
+
+2020-02-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93818
+       * include/std/ranges (_RangeAdaptor): Add deduction guide.
+       (filter_view::_Iterator): Add alias _Vp_iter and use in place of
+       iterator_t<_Vp>.
+       (filter_view::_Iterator::_S_iter_cat()): Add 'typename'.
+       (transform_view::_Iterator): Add alias _Base_iter and use in place of
+       iterator_t<_Base>.
+       (transform_view::_Iterator::_S_iter_cat()): Add 'typename'.
+       (join_view::_Iterator): Add _Outer_iter and _Inner_iter aliases.
+       (join_view::_Iterator::_S_iter_cat()): Add 'typename'.
+       (split_view::_InnerIter::_S_iter_cat()): Likewise.
+
+       * testsuite/20_util/integer_comparisons/equal.cc: Fix invalid
+       assumption that long is wider than int.
+       * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise.
+       * testsuite/20_util/integer_comparisons/less.cc: Likewise.
+       * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
+       * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
+
+       P1976R2 Fixed-size span construction from dynamic range
+       * include/std/span (__cpp_lib_span): Update value.
+       (span(It, size_type), span(It, End)): Make conditionally explicit. Add
+       assertion.
+       (span(R&&), span(const span<OType, OExtent>&)): Likewise and relax
+       constraints.
+       (span::first<Count>(), span::last<Count>()): Use explicit type in
+       return statement.
+       (as_bytes, as_writable_bytes): Likewise.
+       * include/std/version (__cpp_lib_span): Update value.
+       * testsuite/23_containers/span/1.cc: Check new value.
+       * testsuite/23_containers/span/2.cc: Check new value.
+       * testsuite/23_containers/span/explicit.cc: New test.
+
+       * include/std/span (span::__is_compatible_array): Simplify alias
+       template by using requires-clause.
+       (span::__is_compatible_ref): New alias template for constraining
+       constructors.
+       (span::__is_compatible_iterator, span::__is_compatible_range): Remove.
+       (span(It, size_type), span(It, End)): Use __is_compatible_ref.
+       (span(T(&)[N], span(array<T, N>&), span(const array<T, N>&)): Remove
+       redundant parentheses.
+       (span(R&&)): Add missing constraints.
+
+       * include/std/span (span): Reorder members and rename template
+       parameters to match declarations in the C++2a working paper.
+
+       P2116R0 Remove tuple-like protocol support from fixed-extent span
+       * include/std/span (get, tuple_size, tuple_element): Remove.
+       * testsuite/23_containers/span/everything.cc: Remove checks for
+       tuple-like API.
+       * testsuite/23_containers/span/get_neg.cc: Remove.
+       * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove.
+       * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove.
+       * testsuite/23_containers/span/tuple_size_neg.cc: Remove.
+
+2020-02-17  Patrick Palka  <ppalka@redhat.com>
+
+       P2106R0 Alternative wording for GB315 and GB316
+       * include/bits/ranges_algo.h (in_fun_result): New.
+       (for_each_result, for_each_n_result): Change into an alias of
+       in_fun_result.
+       (in_in_result): New.
+       (mismatch_result): Change into an alias of in_in_result.
+       (copy_if_result): Change into an alias of in_out_result.
+       (swap_ranges_result): Change into an alias of in_in_result.
+       (unary_transform_result): Change into an alias of in_out_result.
+       (in_in_out_result): New.
+       (binary_transform_result): Change into an alias of in_in_out_result.
+       (replace_copy_result, replace_copy_if_result, remove_copy_if_result,
+       remove_copy_result, unique_copy_result, reverse_copy_result,
+       rotate_copy_result, partial_sort_copy_result): Change into an alias of
+       in_out_result.
+       (in_out_out_result): New.
+       (partition_copy_result, merge_result): Change into an alias of
+       in_out_out_result.
+       (set_union_result, set_intersection_result): Change into an alias of
+       in_in_out_result.
+       (set_difference_result): Change into an alias of in_out_result.
+       (set_symmetric_difference): Change into an alias of in_in_out_result.
+       (min_max_result): New.
+       (minmax_result, minmax_element_result): Change into an alias of
+       min_max_result.
+       (in_found_result): New.
+       (next_permutation_result, prev_permutation_result): Change into an alias
+       of in_found_result.
+       (__next_permutation_fn::operator(), __prev_permutation_fn::operator()):
+       Adjust following changes to next_permutation_result and
+       prev_permutation_result.
+       * include/bits/ranges_algobase.h (in_out_result): New.
+       (copy_result, move_result, move_backward_result, copy_backward_result,
+       copy_n_result): Change into an alias of in_out_result.
+       * include/bits/ranges_uninitialized.h (uninitialized_copy_result,
+       uninitialized_copy_n_result, uninitialized_move_result,
+       uninitialized_move_n_result): Likewise.
+       * testsuite/25_algorithms/next_permutation/constrained.cc: Adjust uses of
+       structured bindings.
+       * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise.
+
+       P1243R4 Rangify new algorithms
+       * include/bits/ranges_algo.h (for_each_n_result, __for_each_n_fn,
+       for_each_n, __sample_fn, sample, __clamp_fn, clamp): New.
+       * testsuite/25_algorithms/clamp/constrained.cc: New test.
+       * testsuite/25_algorithms/for_each/constrained.cc: Augment test.
+       * testsuite/25_algorithms/sample/constrained.cc: New test.
+
+2020-02-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       P1964R2 Wording for boolean-testable
+       * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
+       (__adjacent_find_fn): Cast result of predicate to bool.
+       * include/std/concepts (__boolean): Remove.
+       (__detail::__boolean_testable_impl, __detail::__boolean_testable): Add
+       new helper concepts.
+       (__detail::__weakly_eq_cmp_with, totally_ordered, totally_ordered_with)
+       (predicate): Use __boolean_testable instead of boolean.
+       * libsupc++/compare (__detail::__partially_ordered, _Synth3way):
+       Likewise.
+
+       P1970R2 Consistency for size() functions: Add ranges::ssize
+       * include/bits/range_access.h (_SSize, ssize): Define for C++20.
+       * testsuite/std/ranges/access/ssize.cc: New test.
+
+       P1956R1 On the names of low-level bit manipulation functions
+       * include/bits/hashtable_policy.h: Update comment.
+       * include/std/bit (__ispow2, __ceil2, __floor2, __log2p1): Rename.
+       (ispow2, ceil2, floor2, log2p1): Likewise.
+       (__cpp_lib_int_pow2): Add feature test macro.
+       * include/std/charconv (__to_chars_len_2): Adjust use of __log2p1.
+       * include/std/memory (assume_aligned): Adjust use of ispow2.
+       * include/std/version (__cpp_lib_int_pow2): Add.
+       * libsupc++/new_opa.cc: Adjust use of __ispow2.
+       * src/c++17/memory_resource.cc: Likewise, and for __ceil2 and __log2p1.
+       * testsuite/17_intro/freestanding.cc: Adjust use of ispow2.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: ... here.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: ... here.
+       * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: ... here.
+       * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: ... here.
+       * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: ... here.
+
+       * include/std/charconv: Add comment.
+
+       PR libstdc++/92546 (partial)
+       * include/bits/random.h (uniform_random_bit_generator): Move definition
+       to <bits/uniform_int_dist.h>.
+       * include/bits/ranges_algo.h: Include <bits/uniform_int_dist.h> instead
+       of <bits/random.h>.
+       * include/bits/ranges_algobase.h: Do not include <cmath>.
+       * include/bits/uniform_int_dist.h (uniform_random_bit_generator):
+       Move here.
+       * include/std/ranges: Do not include <limits>.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
+
+       PR libstdc++/92546 (partial)
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/int_limits.h: New header.
+       * include/bits/parse_numbers.h (__select_int::_Select_int): Replace
+       numeric_limits with __detail::__int_limits.
+       * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
+       (__countr_zero, __countr_one, __popcount, __ceil2, __floor2, __log2p1):
+       Likewise.
+       * include/std/charconv (__to_chars_8, __from_chars_binary)
+       (__from_chars_alpha_to_num, from_chars): Likewise.
+       * include/std/memory_resource (polymorphic_allocator::allocate)
+       (polymorphic_allocator::allocate_object): Likewise.
+       * include/std/string_view (basic_string_view::_S_compare): Likewise.
+       * include/std/utility (in_range): Likewise.
+       * testsuite/20_util/integer_comparisons/in_range_neg.cc: Adjust for
+       extra error about incomplete type __int_limits<bool>.
+       * testsuite/26_numerics/bit/bit.count/countl_one.cc: Include <limits>.
+       * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
+
+       * python/libstdcxx/v6/printers.py (StdCmpCatPrinter.to_string): Update
+       value for partial_ordering::unordered.
+
+       * include/bits/iterator_concepts.h (indirectly_copyable_storable): Add
+       const-qualified expression variations.
+       * include/std/concepts (copyable): Likewise.
+
+       * include/std/type_traits (__is_standard_integer): New helper trait.
+       * include/std/utility (cmp_equal, cmp_not_equal, cmp_less, cmp_greater)
+       (cmp_less_equal, cmp_greater_equal, in_range): Define for C++20.
+       * include/std/version (__cpp_lib_integer_comparison_functions): Define.
+       * testsuite/20_util/integer_comparisons/1.cc: New test.
+       * testsuite/20_util/integer_comparisons/2.cc: New test.
+       * testsuite/20_util/integer_comparisons/equal.cc: New test.
+       * testsuite/20_util/integer_comparisons/equal_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/greater_equal.cc: New test.
+       * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/greater_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/in_range.cc: New test.
+       * testsuite/20_util/integer_comparisons/in_range_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/less.cc: New test.
+       * testsuite/20_util/integer_comparisons/less_equal.cc: New test.
+       * testsuite/20_util/integer_comparisons/less_equal_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/less_neg.cc: New test.
+       * testsuite/20_util/integer_comparisons/not_equal.cc: New test.
+       * testsuite/20_util/integer_comparisons/not_equal_neg.cc: New test.
+
+2020-02-16  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
+       Move code after an early exit constexpr if to under an else branch.
+       * include/bits/ranges_algobase.h (__equal_fn::operator()): Likewise.
+
+2020-02-15  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_algo.h: Adjust whitespace and formatting.
+       * include/bits/ranges_algobase.h: Likewise.
+       * include/bits/ranges_uninitialized.h: Likewise.
+
+       * include/bits/ranges_algo.h: (adjacent_find, all_of, any_of,
+       binary_search, copy_if, count, count_if, equal_range, find, find_end,
+       find_first_of, find_if, find_if_not, for_each, generate, generate_n,
+       includes, inplace_merge, is_heap, is_heap_until, is_partitioned,
+       is_permutation, is_sorted, is_sorted_until, lexicographical_compare,
+       lower_bound, make_heap, max, max_element, merge, min, min_element,
+       minmax, minmax_element, mismatch, next_permutation, none_of,
+       nth_element, partial_sort, partial_sort_copy, partition, partition_copy,
+       partition_point, pop_heap, prev_permutation, push_heap, remove,
+       remove_copy, remove_copy_if, remove_if, replace, replace_copy,
+       replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy,
+       search, search_n, set_difference, set_intersection,
+       set_symmetric_difference, set_union, shuffle, sort, sort_heap,
+       stable_partition, stable_sort, swap_ranges, transform, unique,
+       unique_copy, upper_bound): Convert into function objects.
+       * include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n,
+       fill, move_backward, copy_backward): Likewise.
+       * include/bits/ranges_uninitialized.h (uninitialized_default_construct,
+       uninitialized_default_construct_n, uninitialized_value_construct,
+       uninitialized_value_construct_n, uninitialized_copy,
+       uninitialized_copy_n, uninitialized_move, uninitialized_move_n,
+       uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at,
+       destroy, destroy_n): Likewise.
+
+       * include/bits/ranges_algo.h (ranges::__find_end): Fold into ...
+       (ranges::find_end): ... here.
+       (ranges::__lexicographical_compare): Fold into ...
+       (ranges::lexicographical_compare): ... here.
+       * include/bits/ranges_algobase.h (ranges::__equal): Fold into ...
+       (ranges::equal): ... here.
+
+2020-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L.
+       * include/std/deque: Likewise.
+       * include/std/forward_list: Likewise.
+       * include/std/list: Likewise.
+       * include/std/string: Likewise.
+       * include/std/vector: Likewise.
+       * include/std/version: Likewise.
+       * testsuite/23_containers/deque/erasure.cc: Test for new value.
+       * testsuite/23_containers/forward_list/erasure.cc: Likewise.
+       * testsuite/23_containers/list/erasure.cc: Likewise.
+       * testsuite/23_containers/map/erasure.cc: Likewise.
+       * testsuite/23_containers/set/erasure.cc: Likewise.
+       * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
+       * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
+       * testsuite/23_containers/vector/erasure.cc: Likewise.
+
+2020-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (uniform_random_bit_generator): Require min()
+       and max() to be constant expressions and min() to be less than max().
+       * testsuite/26_numerics/random/concept.cc: Check additional cases.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
+
+2020-02-13  Patrick Palka  <ppalka@redhat.com>
+
+       * include/Makefile.am: Add <bits/ranges_uninitialized.h>.
+       * include/Makefile.in: Regenerate.
+       * include/bits/ranges_uninitialized.h: New header.
+       * include/std/memory: Include it.
+       * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New
+       test.
+       * .../uninitialized_copy/constrained.cc: New test.
+       * .../uninitialized_default_construct/constrained.cc: New test.
+       * .../uninitialized_fill/constrained.cc: New test.
+       * .../uninitialized_move/constrained.cc: New test.
+       * .../uninitialized_value_construct/constrained.cc: New test.
+
+       * include/Makefile.am: Add bits/ranges_algobase.h
+       * include/Makefile.in: Regenerate.
+       * bits/ranges_algo.h: Include <bits/ranges_algobase.h> and refactor
+       existing #includes.
+       (__detail::__is_normal_iterator, __detail::is_reverse_iterator,
+       __detail::__is_move_iterator, copy_result, move_result,
+       __equal, equal, copy_result, move_result, move_backward_result,
+       copy_backward_result, __copy_or_move_backward, __copy_or_move, copy,
+       move, copy_backward, move_backward, copy_n_result, copy_n, fill_n,
+       fill): Split out into ...
+       * bits/range_algobase.h: ... this new header.
+
+2020-02-12  Patrick Palka  <ppalka@redhat.com>
+
+       LWG 3389 and LWG 3390
+       * include/bits/stl_iterator.h (move_move_iterator): Use std::move when
+       constructing the move_iterator with __i.
+       (counted_iterator::counted_iterator): Use std::move when initializing
+       M_current with __i.
+       * testsuite/24_iterators/counted_iterator/lwg3389.cc: New test.
+       * testsuite/24_iterators/move_iterator/lwg3390.cc: New test.
+
+2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libstdc++/79193
+       PR libstdc++/88999
+
+       * configure: Regenerated.
+
+2020-02-12  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h
+       (_Hashtable<>(_Hashtable&&, std::allocator_type&)): Add
+       missing std namespace qualification to forward call.
+
+2020-02-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Fix
+       comment.
+       * testsuite/20_util/function_objects/range.cmp/less.ccL Likewise.
+
+       * include/std/ranges: Fix non-ASCII characters in comment.
+
+       * include/bits/range_cmp.h (__detail::__eq_builtin_ptr_cmp): Require
+       equality comparison to be valid and return bool.
+       (__detail::__less_builtin_ptr_cmp): Likewise for less-than comparison.
+       * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Check
+       type with ambiguous conversion to fundamental types.
+       * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise.
+
+2020-02-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t):
+       Use remove_cvref_t.
+       (readable_traits): Rename to indirectly_readable_traits.
+       (readable): Rename to indirectly_readable.
+       (writable): Rename to indirectly_writable.
+       (__detail::__iter_exchange_move): Do not use remove_reference_t.
+       (indirectly_swappable): Adjust requires expression parameter types.
+       expression.
+       * include/bits/ranges_algo.h (ranges::transform, ranges::replace)
+       (ranges::replace_if, ranges::generate_n, ranges::generate)
+       (ranges::remove): Use new name for writable.
+       * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow):
+       Use new name for readable.
+       * include/ext/pointer.h (readable_traits<_Pointer_adapter<P>>): Use
+       new name for readable_traits.
+       * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise.
+       * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for
+       new definition of indirectly_readable.
+
+       * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change
+       to take parameters of common_iterator, instead of the common_iterator
+       type itself. Fix argument for __common_iter_has_arrow constraint.
+       (iterator_traits<common_iterator<I, S>>::pointer): Adjust.
+
+2020-02-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (iota_view): Add braces to prevent -Wempty-body
+       warning.
+       (basic_istream_view::_Iterator::operator++()): Add missing return.
+
+2020-02-07  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_algo.h: Remove extraneous &&.
+
+       * include/std/ranges (ranges::__detail::__stream_extractable,
+       ranges::basic_istream_view, ranges::istream_view): Define.
+       * testsuite/std/ranges/istream_view: New test.
+
+       Implement C++20 range adaptors
+       * include/std/ranges: Include <bits/refwrap.h> and <tuple>.
+       (subrange::_S_store_size): Mark as const instead of constexpr to
+       avoid what seems to be a bug in GCC.
+       (__detail::__box): Give it defaulted copy and move constructors.
+       (ranges::views::_Single::operator()): Mark constexpr.
+       (ranges::views::_Iota::operator()): Mark constexpr.
+       (__detail::Empty): Define.
+       (ranges::views::__closure::_RangeAdaptor,
+       ranges::views::__closure::_RangeAdaptorClosure, ref_view, all_view,
+       ranges::views::all, ranges::__detail::find_if,
+       ranges::__detail::find_if_not, ranges::__detail::mismatch,
+       ranges::detail::min, filter_view, ranges::views::filter, transform_view,
+       ranges::views::transform, take_view, ranges::views::take,
+       take_while_view, ranges::views::take_while, drop_view,
+       ranges::views::drop, join_view, ranges::views::join,
+       __detail::require_constant, __detail::tiny_range, split_view,
+       ranges::views::split, ranges::views::_Counted, ranges::views::counted,
+       common_view, ranges::views::common, reverse_view,
+       ranges::views::reverse,
+       ranges::views::__detail::__is_reversible_subrange,
+       ranges::views::__detail::__is_reverse_view, reverse_view,
+       ranges::views::reverse, __detail::__has_tuple_element, elements_view,
+       ranges::views::elements, ranges::views::keys, ranges::views::values):
+       Define.
+       (views): Alias for ranges::views.
+       (tuple_size<ranges::subrange<>>, tuple_element<0, ranges::subrange>,
+       tuple_element<1, ranges::subrange>): New partial specializations.
+       * testsuite/std/ranges/adaptors/all.cc: New test.
+       * testsuite/std/ranges/adaptors/common.cc: Likewise.
+       * testsuite/std/ranges/adaptors/counted.cc: Likewise.
+       * testsuite/std/ranges/adaptors/drop.cc: Likewise.
+       * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
+       * testsuite/std/ranges/adaptors/elements.cc: Likewise.
+       * testsuite/std/ranges/adaptors/filter.cc: Likewise.
+       * testsuite/std/ranges/adaptors/join.cc: Likewise.
+       * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
+       * testsuite/std/ranges/adaptors/split.cc: Likewise.
+       * testsuite/std/ranges/adaptors/take.cc: Likewise.
+       * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
+       * testsuite/std/ranges/adaptors/transform.cc: Likewise.
+
+2020-02-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (__cmp_cat::type): Define typedef for underlying
+       type of enumerations and comparison category types.
+       (__cmp_cat::_Ord, __cmp_cat::_Ncmp): Add underlying type.
+       (__cmp_cat::_Ncmp::unordered): Change value to 2.
+       (partial_ordering::_M_value, weak_ordering::_M_value)
+       (strong_ordering::_M_value): Change type to __cmp_cat::type.
+       (partial_ordering::_M_is_ordered): Remove data member.
+       (partial_ordering): Use second bit of _M_value for unordered. Adjust
+       comparison operators.
+       (weak_ordering::operator partial_ordering): Simplify to remove
+       branches.
+       (operator<=>(unspecified, weak_ordering)): Likewise.
+       (strong_ordering::operator partial_ordering): Likewise.
+       (strong_ordering::operator weak_ordering): Likewise.
+       (operator<=>(unspecified, strong_ordering)): Likewise.
+       * testsuite/18_support/comparisons/categories/partialord.cc: New test.
+       * testsuite/18_support/comparisons/categories/strongord.cc: New test.
+       * testsuite/18_support/comparisons/categories/weakord.cc: New test.
+
+       * include/std/ranges (iota_view::_Iterator): Fix typo in name of
+       __cpp_lib_three_way_comparison macro and use deduced return type for
+       operator<=>.
+       * testsuite/std/ranges/iota/iterator.cc: New test.
+
+2020-02-07  Patrick Palka  <ppalka@redhat.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       Implement C++20 constrained algorithms
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/std/algorithm: Include <bits/ranges_algo.h>.
+       * include/bits/ranges_algo.h: New file.
+       * testsuite/25_algorithms/adjacent_find/constrained.cc: New test.
+       * testsuite/25_algorithms/all_of/constrained.cc: New test.
+       * testsuite/25_algorithms/any_of/constrained.cc: New test.
+       * testsuite/25_algorithms/binary_search/constrained.cc: New test.
+       * testsuite/25_algorithms/copy/constrained.cc: New test.
+       * testsuite/25_algorithms/copy_backward/constrained.cc: New test.
+       * testsuite/25_algorithms/copy_if/constrained.cc: New test.
+       * testsuite/25_algorithms/copy_n/constrained.cc: New test.
+       * testsuite/25_algorithms/count/constrained.cc: New test.
+       * testsuite/25_algorithms/count_if/constrained.cc: New test.
+       * testsuite/25_algorithms/equal/constrained.cc: New test.
+       * testsuite/25_algorithms/equal_range/constrained.cc: New test.
+       * testsuite/25_algorithms/fill/constrained.cc: New test.
+       * testsuite/25_algorithms/fill_n/constrained.cc: New test.
+       * testsuite/25_algorithms/find/constrained.cc: New test.
+       * testsuite/25_algorithms/find_end/constrained.cc: New test.
+       * testsuite/25_algorithms/find_first_of/constrained.cc: New test.
+       * testsuite/25_algorithms/find_if/constrained.cc: New test.
+       * testsuite/25_algorithms/find_if_not/constrained.cc: New test.
+       * testsuite/25_algorithms/for_each/constrained.cc: New test.
+       * testsuite/25_algorithms/generate/constrained.cc: New test.
+       * testsuite/25_algorithms/generate_n/constrained.cc: New test.
+       * testsuite/25_algorithms/heap/constrained.cc: New test.
+       * testsuite/25_algorithms/includes/constrained.cc: New test.
+       * testsuite/25_algorithms/inplace_merge/constrained.cc: New test.
+       * testsuite/25_algorithms/is_partitioned/constrained.cc: New test.
+       * testsuite/25_algorithms/is_permutation/constrained.cc: New test.
+       * testsuite/25_algorithms/is_sorted/constrained.cc: New test.
+       * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test.
+       * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New
+       test.
+       * testsuite/25_algorithms/lower_bound/constrained.cc: New test.
+       * testsuite/25_algorithms/max/constrained.cc: New test.
+       * testsuite/25_algorithms/max_element/constrained.cc: New test.
+       * testsuite/25_algorithms/merge/constrained.cc: New test.
+       * testsuite/25_algorithms/min/constrained.cc: New test.
+       * testsuite/25_algorithms/min_element/constrained.cc: New test.
+       * testsuite/25_algorithms/minmax/constrained.cc: New test.
+       * testsuite/25_algorithms/minmax_element/constrained.cc: New test.
+       * testsuite/25_algorithms/mismatch/constrained.cc: New test.
+       * testsuite/25_algorithms/move/constrained.cc: New test.
+       * testsuite/25_algorithms/move_backward/constrained.cc: New test.
+       * testsuite/25_algorithms/next_permutation/constrained.cc: New test.
+       * testsuite/25_algorithms/none_of/constrained.cc: New test.
+       * testsuite/25_algorithms/nth_element/constrained.cc: New test.
+       * testsuite/25_algorithms/partial_sort/constrained.cc: New test.
+       * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/partition/constrained.cc: New test.
+       * testsuite/25_algorithms/partition_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/partition_point/constrained.cc: New test.
+       * testsuite/25_algorithms/prev_permutation/constrained.cc: New test.
+       * testsuite/25_algorithms/remove/constrained.cc: New test.
+       * testsuite/25_algorithms/remove_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test.
+       * testsuite/25_algorithms/remove_if/constrained.cc: New test.
+       * testsuite/25_algorithms/replace/constrained.cc: New test.
+       * testsuite/25_algorithms/replace_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test.
+       * testsuite/25_algorithms/replace_if/constrained.cc: New test.
+       * testsuite/25_algorithms/reverse/constrained.cc: New test.
+       * testsuite/25_algorithms/reverse_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/rotate/constrained.cc: New test.
+       * testsuite/25_algorithms/rotate_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/search/constrained.cc: New test.
+       * testsuite/25_algorithms/search_n/constrained.cc: New test.
+       * testsuite/25_algorithms/set_difference/constrained.cc: New test.
+       * testsuite/25_algorithms/set_intersection/constrained.cc: New test.
+       * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New
+       test.
+       * testsuite/25_algorithms/set_union/constrained.cc: New test.
+       * testsuite/25_algorithms/shuffle/constrained.cc: New test.
+       * testsuite/25_algorithms/sort/constrained.cc: New test.
+       * testsuite/25_algorithms/stable_partition/constrained.cc: New test.
+       * testsuite/25_algorithms/stable_sort/constrained.cc: New test.
+       * testsuite/25_algorithms/swap_ranges/constrained.cc: New test.
+       * testsuite/25_algorithms/transform/constrained.cc: New test.
+       * testsuite/25_algorithms/unique/constrained.cc: New test.
+       * testsuite/25_algorithms/unique_copy/constrained.cc: New test.
+       * testsuite/25_algorithms/upper_bound/constrained.cc: New test.
+
+2020-02-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR
+       number in comment. Fix indentation.
+
+       * include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove
+       redundant _GLIBCXX20_CONSTEXPR.
+
+       * include/std/ranges (viewable_range): Replace decay_t with
+       remove_cvref_t (LWG 3375).
+
+2020-02-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (iter_reference_t)
+       (iter_rvalue_reference_t, iter_common_reference_t, indirect_result_t):
+       Remove workarounds for PR c++/67704.
+       * testsuite/24_iterators/aliases.cc: New test.
+
+2020-02-05  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_iterator.h (move_iterator::move_iterator): Move __i
+       when initializing _M_current.
+       (move_iterator::base): Split into two overloads differing in
+       ref-qualifiers as in P1207R4 for C++20.
+
+2020-02-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Un-define after
+       use.
+
+       PR libstdc++/93562
+       * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
+       (unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
+       * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
+
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * configure: Regenerate.
+
+2020-01-31  Patrick Palka  <ppalka@redhat.com>
+
+       * testsuite/24_iterators/range_operations/distance.cc: Do not assume
+       test_range::end() returns the same type as test_range::begin().
+       * testsuite/24_iterators/range_operations/next.cc: Likewise.
+       * testsuite/24_iterators/range_operations/prev.cc: Likewise.
+       * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end):
+       Always return a sentinel<I>.
+
+2020-01-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92895
+       * include/std/stop_token (stop_token::stop_possible()): Call new
+       _M_stop_possible() function.
+       (stop_token::stop_requested()): Do not use stop_possible().
+       (stop_token::binary_semaphore): New class, as temporary stand-in for
+       std::binary_semaphore.
+       (stop_token::_Stop_cb::_M_callback): Add noexcept to type.
+       (stop_token::_Stop_cb::_M_destroyed, stop_token::_Stop_cb::_M_done):
+       New data members for symchronization with stop_callback destruction.
+       (stop_token::_Stop_cb::_Stop_cb): Make non-template.
+       (stop_token::_Stop_cb::_M_linked, stop_token::_Stop_cb::_S_execute):
+       Remove.
+       (stop_token::_Stop_cb::_M_run): New member function.
+       (stop_token::_Stop_state::_M_stopped, stop_token::_Stop_state::_M_mtx):
+       Remove.
+       (stop_token::_Stop_state::_M_owners): New data member to track
+       reference count for ownership.
+       (stop_token::_Stop_state::_M_value): New data member combining a
+       spinlock, the stop requested flag, and the reference count for
+       associated stop_source objects.
+       (stop_token::_Stop_state::_M_requester): New data member for
+       synchronization with stop_callback destruction.
+       (stop_token::_Stop_state::_M_stop_possible()): New member function.
+       (stop_token::_Stop_state::_M_stop_requested()): Inspect relevant bit
+       of _M_value.
+       (stop_token::_Stop_state::_M_add_owner)
+       (stop_token::_Stop_state::_M_release_ownership)
+       (stop_token::_Stop_state::_M_add_ssrc)
+       (stop_token::_Stop_state::_M_sub_ssrc): New member functions for
+       updating reference counts.
+       (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
+       (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
+       (stop_token::_Stop_state::_M_try_lock)
+       (stop_token::_Stop_state::_M_try_lock_and_stop)
+       (stop_token::_Stop_state::_M_do_try_lock): New member functions for
+       managing spinlock.
+       (stop_token::_Stop_state::_M_request_stop): Use atomic operations to
+       read and update state. Release lock while running callbacks. Use new
+       data members to synchronize with callback destruction.
+       (stop_token::_Stop_state::_M_remove_callback): Likewise.
+       (stop_token::_Stop_state::_M_register_callback): Use atomic operations
+       to read and update state.
+       (stop_token::_Stop_state_ref): Handle type to manage _Stop_state,
+       replacing shared_ptr.
+       (stop_source::stop_source(const stop_source&)): Update reference count.
+       (stop_source::operator=(const stop_source&)): Likewise.
+       (stop_source::~stop_source()): Likewise.
+       (stop_source::stop_source(stop_source&&)): Define as defaulted.
+       (stop_source::operator=(stop_source&&)): Establish postcondition on
+       parameter.
+       (stop_callback): Enforce preconditions on template parameter. Replace
+       base class with data member of new _Cb_impl type.
+       (stop_callback::stop_callback(const stop_token&, Cb&&))
+       (stop_callback::stop_callback(stop_token&&, Cb&&)): Fix TOCTTOU race.
+       (stop_callback::_Cb_impl): New type wrapping _Callback member and
+       defining the _S_execute member function.
+       * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: New
+       test.
+       * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: New test.
+       * testsuite/30_threads/stop_token/stop_callback/destroy.cc: New test.
+       * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
+       New test.
+       * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: New
+       test.
+       * testsuite/30_threads/stop_token/stop_callback/invoke.cc: New test.
+       * testsuite/30_threads/stop_token/stop_source/assign.cc: New test.
+       * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: New
+       test.
+
+       * libsupc++/compare (__detail::__3way_builtin_ptr_cmp): Use
+       three_way_comparable_with.
+       (__detail::__3way_cmp_with): Remove workaround for fixed bug.
+       (compare_three_way::operator()): Remove redundant constraint from
+       requires-clause.
+       (__detail::_Synth3way::operator()): Use three_way_comparable_with
+       instead of workaround.
+       * testsuite/18_support/comparisons/object/93479.cc: Prune extra
+       output due to simplified constraints on compare_three_way::operator().
+
+       PR libstdc++/93479
+       * libsupc++/compare (__3way_builtin_ptr_cmp): Require <=> to be valid.
+       * testsuite/18_support/comparisons/object/93479.cc: New test.
+
+       * testsuite/std/ranges/access/end.cc: Do not assume test_range::end()
+       returns the same type as test_range::begin(). Add comments.
+       * testsuite/std/ranges/access/rbegin.cc: Likewise.
+       * testsuite/std/ranges/access/rend.cc: Likewise.
+       * testsuite/std/ranges/range.cc: Do not assume the sentinel for
+       test_range is the same as its iterator type.
+       * testsuite/util/testsuite_iterators.h (test_range::sentinel): Add
+       operator- overloads to satisfy sized_sentinel_for when the iterator
+       satisfies random_access_iterator.
+
+2020-01-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93470
+       * include/bits/refwrap.h (reference_wrapper::operator()): Restrict
+       static assertion to object types.
+
+       PR libstdc++/93325
+       * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
+       clock_gettime instead of explicit glibc version check.
+       * configure: Regenerate.
+
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+       PR libstdc++/93478
+       * include/std/atomic: Fix typo.
+       * include/std/optional: Likewise.
+
+2020-01-27  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * configure: Regenerate.
+
+2020-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93426
+       * include/std/span (span): Fix deduction guide.
+       * testsuite/23_containers/span/deduction.cc: New test.
+
+2020-01-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type.
+       (__cmp_cat::_Ord::equivalent): Add enumerator.
+       (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less
+       and greater.
+       (partial_ordering, weak_ordering, strong_ordering): Remove
+       constructors taking __cmp_cat::_Eq parameters. Use renamed
+       enumerators.
+
+2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
+
+       * acinclude.m4: Handle `--with-toolexeclibdir='.
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+       * doc/Makefile.in: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * python/Makefile.in: Regenerate.
+       * src/Makefile.in: Regenerate.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++98/Makefile.in: Regenerate.
+       * src/filesystem/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-01-23  Alexandre Oliva <oliva@adacore.com>
+
+       * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros.
+       * configure: Rebuild.
+
+       * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t.
+
+2020-01-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91947
+       * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
+       rule.
+       * include/Makefile.in: Regenerate.
+
+2020-01-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/faq.xml: Fix grammar.
+       * doc/xml/manual/appendix_contributing.xml: Improve instructions.
+       * doc/xml/manual/spine.xml: Update copyright years.
+       * doc/html/*: Regenerate.
+
+2020-01-19  Eric S. Raymond <esr@thyrsus.com>
+
+       * doc/xml/faq.xml: Update for SVN -> Git transition.
+       * doc/xml/manual/appendix_contributing.xml: Likewise.
+       * doc/xml/manual/status_cxx1998.xml: Likewise.
+       * doc/xml/manual/status_cxx2011.xml: Likewise.
+       * doc/xml/manual/status_cxx2014.xml: Likewise.
+       * doc/xml/manual/status_cxx2017.xml: Likewise.
+       * doc/xml/manual/status_cxx2020.xml: Likewise.
+       * doc/xml/manual/status_cxxtr1.xml: Likewise.
+       * doc/xml/manual/status_cxxtr24733.xml: Likewise.
+
+2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * include/Makefile.am: Add coroutine to the std set.
+       * include/Makefile.in: Regenerated.
+       * include/std/coroutine: New file.
+
+2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92376
+       * include/bits/c++config: Only do PSTL config when the header is
+       present, to fix freestanding.
+       * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
+       functions if they were detected by configure.
+
+2020-01-16  Kai-Uwe Eckhardt  <kuehro@gmx.de>
+           Matthew Bauer  <mjbauer95@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       PR bootstrap/64271 (partial)
+       * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type
+       to unsigned short.
+       (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit)
+       (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync
+       definitions with NetBSD upstream.
+       (ctype_base::blank): Use _CTYPE_BL.
+       * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove
+       Declaration.
+       (ctype<char>::classic_table): Use _C_ctype_tab_ instead of _C_ctype_.
+       (ctype<char>::do_toupper, ctype<char>::do_tolower): Cast char
+       parameters to unsigned char.
+       * config/os/bsd/netbsd/ctype_inline.h (ctype<char>::is): Likewise.
+
+2020-01-16  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/91263
+       * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend.
+       * include/bits/hashtable_policy.h: Include <bits/stl_algo.h>.
+       (_Equality_base): Remove.
+       (_Equality<>::_M_equal): Review implementation. Use
+       std::is_permutation.
+       * testsuite/23_containers/unordered_multiset/operators/1.cc
+       (Hash, Equal, test02, test03): New.
+       * testsuite/23_containers/unordered_set/operators/1.cc
+       (Hash, Equal, test02, test03): New.
+
+2020-01-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93267
+       * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type):
+       Move here from <bits/range_access.h> and define using __int128 when
+       available.
+       (__is_integer_like, __is_signed_integer_like): Move here from
+       <bits/range_access.h>.
+       (weakly_incrementable): Use __is_signed_integer_like.
+       * include/bits/range_access.h (__max_diff_type, __max_size_type)
+       (__is_integer_like, __is_signed_integer_like): Move to
+       <bits/iterator_concepts.h>.
+       (__make_unsigned_like_t): Move here from <ranges>.
+       * include/std/ranges (__make_unsigned_like_t): Move to
+       <bits/range_access.h>.
+       (iota_view): Replace using-directive with using-declarations.
+       * testsuite/std/ranges/iota/93267.cc: New test.
+       * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory.
+
+2020-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93244
+       * include/bits/fs_path.h (path::generic_string<C,A>)
+       [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash.
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check
+       root-dir is converted to forward slash in generic pathname.
+       * testsuite/27_io/filesystem/path/generic/utf.cc: New test.
+       * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test.
+
+       PR libstdc++/58605
+       * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
+       Define.
+       (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
+       (__atomic_float): Add default member initializer for C++20.
+       * include/std/atomic (atomic): Likewise.
+       (atomic::atomic()): Remove noexcept-specifier on default constructor.
+       * include/std/version (__cpp_lib_atomic_value_initialization): Define.
+       * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
+       number.
+       * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
+       * testsuite/29_atomics/atomic/cons/value_init.cc: New test.
+       * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
+       * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
+       expected result for is_trivially_default_constructible.
+       * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/value_init.cc: New test.
+       * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/cons/value_init.cc
+       * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
+       expected results for is_trivially_default_constructible.
+       * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
+       new test generator.
+
+2020-01-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_iterators.h: Improve comment.
+
+       * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11
+       initialization syntax.
+
+       PR libstdc++/92285
+       * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type
+       of base class independent of __cplusplus value.
+       [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the
+       type defined in the base class
+       * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test.
+       * testsuite/24_iterators/istreambuf_iterator/requirements/
+       base_classes.cc: Adjust expected base class for C++98.
+
+2020-01-09  Olivier Hainque  <hainque@adacore.com>
+
+       * doc/xml/manual/appendix_contributing.xml: Document _C2
+       as a reserved identifier, by VxWorks.
+       * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2.
+       * include/bits/stl_multimap.h: Likewise.
+
+2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
+       (_ExtPtr_allocator::operator!=): Add missing const qualifiers.
+       * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
+       partial specialization to disambiguate the two constrained
+       specializations.
+
+       * include/experimental/type_traits (experimental::is_pod_v): Disable
+       -Wdeprecated-declarations warnings around reference to std::is_pod.
+       * include/std/type_traits (is_pod_v): Likewise.
+       * testsuite/18_support/max_align_t/requirements/2.cc: Also check
+       is_standard_layout and is_trivial. Do not check is_pod for C++20.
+       * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
+       Add -Wno-deprecated for C++20.
+       * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
+       * testsuite/20_util/is_pod/value.cc: Likewise.
+       * testsuite/experimental/type_traits/value.cc: Likewise.
+
+2020-01-09  JeanHeyd "ThePhD" Meneide  <phdofthehouse@gmail.com>
+
+       * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro.
+       * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20.
+       * testuite/20_util/is_pod/deprecated-2a.cc: New test.
+
+2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93205
+       * include/bits/random.h (operator>>): Check stream operation succeeds.
+       * include/bits/random.tcc (operator<<): Remove redundant __ostream_type
+       typedefs.
+       (operator>>): Remove redundant __istream_type typedefs. Check stream
+       operations succeed.
+       (__extract_params): New function to fill a vector from a stream.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
+
+       PR libstdc++/93208
+       * config/abi/pre/gnu.ver: Add new exports.
+       * include/std/memory_resource (memory_resource::~memory_resource()):
+       Do not define inline.
+       (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
+       * src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
+       Define.
+       (monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
+       * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
+
+2020-01-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/92124
+       * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New
+       template alias.
+       (_Hashtable<>::__fwd_value_for): New.
+       (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template
+       parameter.
+       (_Hashtable<>::_M_assign<>): Add _Ht template parameter.
+       (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt.
+       (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept
+       with std::move.
+       (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt.
+       (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)):
+       Adapt.
+       (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)):
+       Adapt.
+       * testsuite/23_containers/unordered_set/92124.cc: New.
+
+2020-01-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93201
+       * src/c++17/fs_ops.cc (do_remove_all): New function implementing more
+       detailed error reporting for remove_all. Check result of recursive
+       call before incrementing iterator.
+       (remove_all(const path&), remove_all(const path&, error_code&)): Use
+       do_remove_all.
+       * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check
+       result of recursive call before incrementing iterator.
+       * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
+       are reported correctly.
+       * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
+
+2020-01-07  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/std/condition_variable
+       (condition_variable_any::wait_on): Rename to match current draft
+       standard.
+       (condition_variable_any::wait_on_until): Likewise.
+       (condition_variable_any::wait_on_for): Likewise.
+       * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
+       Adjust tests to account for renamed methods.
+
+2020-01-07  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/92124
+       * include/bits/stl_tree.h
+       (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace
+       std::move_if_noexcept by std::move.
+       * testsuite/23_containers/map/92124.cc: New.
+       * testsuite/23_containers/set/92124.cc: New.
+
+2020-01-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
+       (stop_source): Likewise (LWG 3362).
+       * testsuite/30_threads/stop_token/stop_source.cc: Test equality
+       comparisons.
+
+       * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
+       (lexicographical_compare_three_way): Do not depend on
+       __cpp_lib_concepts.
+       * include/std/version (__cpp_lib_three_way_comparison): Only define
+       when __cpp_lib_concepts is defined.
+       * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
+
+2020-01-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_algobase.h (lexicographical_compare_three_way):
+       Only define four-argument overload when __cpp_lib_concepts is defined.
+
+2020-01-01  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+\f
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.