+2021-09-09 qing zhao <qing.zhao@oracle.com>
+
+ * builtins.c (expand_builtin_memset): Make external visible.
+ * builtins.h (expand_builtin_memset): Declare extern.
+ * common.opt (ftrivial-auto-var-init=): New option.
+ * doc/extend.texi: Document the uninitialized attribute.
+ * doc/invoke.texi: Document -ftrivial-auto-var-init.
+ * flag-types.h (enum auto_init_type): New enumerated type
+ auto_init_type.
+ * gimple-fold.c (clear_padding_type): Add one new parameter.
+ (clear_padding_union): Likewise.
+ (clear_padding_emit_loop): Likewise.
+ (clear_type_padding_in_mask): Likewise.
+ (gimple_fold_builtin_clear_padding): Handle this new parameter.
+ * gimplify.c (gimple_add_init_for_auto_var): New function.
+ (gimple_add_padding_init_for_auto_var): New function.
+ (is_var_need_auto_init): New function.
+ (gimplify_decl_expr): Add initialization to automatic variables per
+ users' requests.
+ (gimplify_call_expr): Add one new parameter for call to
+ __builtin_clear_padding.
+ (gimplify_init_constructor): Add padding initialization in the end.
+ * internal-fn.c (INIT_PATTERN_VALUE): New macro.
+ (expand_DEFERRED_INIT): New function.
+ * internal-fn.def (DEFERRED_INIT): New internal function.
+ * tree-cfg.c (verify_gimple_call): Verify calls to .DEFERRED_INIT.
+ * tree-sra.c (generate_subtree_deferred_init): New function.
+ (scan_function): Avoid setting cannot_scalarize_away_bitmap for
+ calls to .DEFERRED_INIT.
+ (sra_modify_deferred_init): New function.
+ (sra_modify_function_body): Handle calls to DEFERRED_INIT specially.
+ * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise.
+ * tree-ssa-uninit.c (warn_uninit): Handle calls to DEFERRED_INIT
+ specially.
+ (check_defs): Likewise.
+ (warn_uninitialized_vars): Likewise.
+ * tree-ssa.c (ssa_undefined_value_p): Likewise.
+ * tree.c (build_common_builtin_nodes): Build tree node for
+ BUILT_IN_CLEAR_PADDING when needed.
+
+2021-09-09 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (fill_always_executed_in_1): Walk
+ into all subloops.
+
+2021-09-09 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (fill_always_executed_in_1): Integrate
+ DOM walk from get_loop_body_in_dom_order using a worklist
+ approach.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * config.gcc: Add avx512fp16vlintrin.h.
+ * config/i386/avx512fp16intrin.h: (_mm512_add_ph): New intrinsic.
+ (_mm512_mask_add_ph): Likewise.
+ (_mm512_maskz_add_ph): Likewise.
+ (_mm512_sub_ph): Likewise.
+ (_mm512_mask_sub_ph): Likewise.
+ (_mm512_maskz_sub_ph): Likewise.
+ (_mm512_mul_ph): Likewise.
+ (_mm512_mask_mul_ph): Likewise.
+ (_mm512_maskz_mul_ph): Likewise.
+ (_mm512_div_ph): Likewise.
+ (_mm512_mask_div_ph): Likewise.
+ (_mm512_maskz_div_ph): Likewise.
+ (_mm512_add_round_ph): Likewise.
+ (_mm512_mask_add_round_ph): Likewise.
+ (_mm512_maskz_add_round_ph): Likewise.
+ (_mm512_sub_round_ph): Likewise.
+ (_mm512_mask_sub_round_ph): Likewise.
+ (_mm512_maskz_sub_round_ph): Likewise.
+ (_mm512_mul_round_ph): Likewise.
+ (_mm512_mask_mul_round_ph): Likewise.
+ (_mm512_maskz_mul_round_ph): Likewise.
+ (_mm512_div_round_ph): Likewise.
+ (_mm512_mask_div_round_ph): Likewise.
+ (_mm512_maskz_div_round_ph): Likewise.
+ * config/i386/avx512fp16vlintrin.h: New header.
+ * config/i386/i386-builtin-types.def (V16HF, V8HF, V32HF):
+ Add new builtin types.
+ * config/i386/i386-builtin.def: Add corresponding builtins.
+ * config/i386/i386-expand.c
+ (ix86_expand_args_builtin): Handle new builtin types.
+ (ix86_expand_round_builtin): Likewise.
+ * config/i386/immintrin.h: Include avx512fp16vlintrin.h
+ * config/i386/sse.md (VFH): New mode_iterator.
+ (VF2H): Likewise.
+ (avx512fmaskmode): Add HF vector modes.
+ (avx512fmaskhalfmode): Likewise.
+ (<plusminus_insn><mode>3<mask_name><round_name>): Adjust to for
+ HF vector modes.
+ (*<plusminus_insn><mode>3<mask_name><round_name>): Likewise.
+ (mul<mode>3<mask_name><round_name>): Likewise.
+ (*mul<mode>3<mask_name><round_name>): Likewise.
+ (div<mode>3): Likewise.
+ (<sse>_div<mode>3<mask_name><round_name>): Likewise.
+ * config/i386/subst.md (SUBST_V): Add HF vector modes.
+ (SUBST_A): Likewise.
+ (round_mode512bit_condition): Adjust for V32HFmode.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ PR target/101059
+ * config/i386/sse.md (reduc_plus_scal_<mode>): Split to ..
+ (reduc_plus_scal_v4sf): .. this, New define_expand.
+ (reduc_plus_scal_v2df): .. and this, New define_expand.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ PR target/91103
+ * config/i386/sse.md (*vec_extract<mode><ssescalarmodelower>_valign):
+ New define_insn.
+
2021-09-08 Jonathan Wakely <jwakely@redhat.com>
PR c++/60318
+2021-09-09 qing zhao <qing.zhao@oracle.com>
+
+ * c-c++-common/auto-init-1.c: New test.
+ * c-c++-common/auto-init-10.c: New test.
+ * c-c++-common/auto-init-11.c: New test.
+ * c-c++-common/auto-init-12.c: New test.
+ * c-c++-common/auto-init-13.c: New test.
+ * c-c++-common/auto-init-14.c: New test.
+ * c-c++-common/auto-init-15.c: New test.
+ * c-c++-common/auto-init-16.c: New test.
+ * c-c++-common/auto-init-2.c: New test.
+ * c-c++-common/auto-init-3.c: New test.
+ * c-c++-common/auto-init-4.c: New test.
+ * c-c++-common/auto-init-5.c: New test.
+ * c-c++-common/auto-init-6.c: New test.
+ * c-c++-common/auto-init-7.c: New test.
+ * c-c++-common/auto-init-8.c: New test.
+ * c-c++-common/auto-init-9.c: New test.
+ * c-c++-common/auto-init-esra.c: New test.
+ * c-c++-common/auto-init-padding-1.c: New test.
+ * c-c++-common/auto-init-padding-2.c: New test.
+ * c-c++-common/auto-init-padding-3.c: New test.
+ * g++.dg/auto-init-uninit-pred-1_a.C: New test.
+ * g++.dg/auto-init-uninit-pred-2_a.C: New test.
+ * g++.dg/auto-init-uninit-pred-3_a.C: New test.
+ * g++.dg/auto-init-uninit-pred-4.C: New test.
+ * gcc.dg/auto-init-sra-1.c: New test.
+ * gcc.dg/auto-init-sra-2.c: New test.
+ * gcc.dg/auto-init-uninit-1.c: New test.
+ * gcc.dg/auto-init-uninit-12.c: New test.
+ * gcc.dg/auto-init-uninit-13.c: New test.
+ * gcc.dg/auto-init-uninit-14.c: New test.
+ * gcc.dg/auto-init-uninit-15.c: New test.
+ * gcc.dg/auto-init-uninit-16.c: New test.
+ * gcc.dg/auto-init-uninit-17.c: New test.
+ * gcc.dg/auto-init-uninit-18.c: New test.
+ * gcc.dg/auto-init-uninit-19.c: New test.
+ * gcc.dg/auto-init-uninit-2.c: New test.
+ * gcc.dg/auto-init-uninit-20.c: New test.
+ * gcc.dg/auto-init-uninit-21.c: New test.
+ * gcc.dg/auto-init-uninit-22.c: New test.
+ * gcc.dg/auto-init-uninit-23.c: New test.
+ * gcc.dg/auto-init-uninit-24.c: New test.
+ * gcc.dg/auto-init-uninit-25.c: New test.
+ * gcc.dg/auto-init-uninit-26.c: New test.
+ * gcc.dg/auto-init-uninit-3.c: New test.
+ * gcc.dg/auto-init-uninit-34.c: New test.
+ * gcc.dg/auto-init-uninit-36.c: New test.
+ * gcc.dg/auto-init-uninit-37.c: New test.
+ * gcc.dg/auto-init-uninit-4.c: New test.
+ * gcc.dg/auto-init-uninit-5.c: New test.
+ * gcc.dg/auto-init-uninit-6.c: New test.
+ * gcc.dg/auto-init-uninit-8.c: New test.
+ * gcc.dg/auto-init-uninit-9.c: New test.
+ * gcc.dg/auto-init-uninit-A.c: New test.
+ * gcc.dg/auto-init-uninit-B.c: New test.
+ * gcc.dg/auto-init-uninit-C.c: New test.
+ * gcc.dg/auto-init-uninit-H.c: New test.
+ * gcc.dg/auto-init-uninit-I.c: New test.
+ * gcc.target/aarch64/auto-init-1.c: New test.
+ * gcc.target/aarch64/auto-init-2.c: New test.
+ * gcc.target/aarch64/auto-init-3.c: New test.
+ * gcc.target/aarch64/auto-init-4.c: New test.
+ * gcc.target/aarch64/auto-init-5.c: New test.
+ * gcc.target/aarch64/auto-init-6.c: New test.
+ * gcc.target/aarch64/auto-init-7.c: New test.
+ * gcc.target/aarch64/auto-init-8.c: New test.
+ * gcc.target/aarch64/auto-init-padding-1.c: New test.
+ * gcc.target/aarch64/auto-init-padding-10.c: New test.
+ * gcc.target/aarch64/auto-init-padding-11.c: New test.
+ * gcc.target/aarch64/auto-init-padding-12.c: New test.
+ * gcc.target/aarch64/auto-init-padding-2.c: New test.
+ * gcc.target/aarch64/auto-init-padding-3.c: New test.
+ * gcc.target/aarch64/auto-init-padding-4.c: New test.
+ * gcc.target/aarch64/auto-init-padding-5.c: New test.
+ * gcc.target/aarch64/auto-init-padding-6.c: New test.
+ * gcc.target/aarch64/auto-init-padding-7.c: New test.
+ * gcc.target/aarch64/auto-init-padding-8.c: New test.
+ * gcc.target/aarch64/auto-init-padding-9.c: New test.
+ * gcc.target/i386/auto-init-1.c: New test.
+ * gcc.target/i386/auto-init-2.c: New test.
+ * gcc.target/i386/auto-init-21.c: New test.
+ * gcc.target/i386/auto-init-22.c: New test.
+ * gcc.target/i386/auto-init-23.c: New test.
+ * gcc.target/i386/auto-init-24.c: New test.
+ * gcc.target/i386/auto-init-3.c: New test.
+ * gcc.target/i386/auto-init-4.c: New test.
+ * gcc.target/i386/auto-init-5.c: New test.
+ * gcc.target/i386/auto-init-6.c: New test.
+ * gcc.target/i386/auto-init-7.c: New test.
+ * gcc.target/i386/auto-init-8.c: New test.
+ * gcc.target/i386/auto-init-padding-1.c: New test.
+ * gcc.target/i386/auto-init-padding-10.c: New test.
+ * gcc.target/i386/auto-init-padding-11.c: New test.
+ * gcc.target/i386/auto-init-padding-12.c: New test.
+ * gcc.target/i386/auto-init-padding-2.c: New test.
+ * gcc.target/i386/auto-init-padding-3.c: New test.
+ * gcc.target/i386/auto-init-padding-4.c: New test.
+ * gcc.target/i386/auto-init-padding-5.c: New test.
+ * gcc.target/i386/auto-init-padding-6.c: New test.
+ * gcc.target/i386/auto-init-padding-7.c: New test.
+ * gcc.target/i386/auto-init-padding-8.c: New test.
+ * gcc.target/i386/auto-init-padding-9.c: New test.
+
+2021-09-09 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/98490
+ * gfortran.dg/bounds_check_23.f90: New test.
+
+2021-09-09 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/x86_64/abi/avx512fp16/args.h: Replace long with
+ long long.
+ (XMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+ (X87_T): Rename _ulong to _ulonglong.
+ * gcc.target/x86_64/abi/avx512fp16/defines.h (TYPE_SIZE_LONG):
+ Define to 4 if __ILP32__ is defined.
+ (TYPE_SIZE_POINTER): Likewise.
+ (TYPE_ALIGN_LONG): Likewise.
+ (TYPE_ALIGN_POINTER): Likewise.
+ * gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c
+ (main): Skip test for long if __ILP32__ is defined.
+ * gcc.target/x86_64/abi/avx512fp16/test_m64m128_returning.c
+ (do_test): Replace _long with _longlong.
+ * gcc.target/x86_64/abi/avx512fp16/test_struct_returning.c:
+ (check_300): Replace _ulong with _ulonglong.
+ * gcc.target/x86_64/abi/avx512fp16/m256h/args.h: Replace long
+ with long long.
+ (YMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+ (X87_T): Rename _ulong to _ulonglong.
+ * gcc.target/x86_64/abi/avx512fp16/m512h/args.h: Replace long
+ with long long.
+ (ZMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+ (X87_T): Rename _ulong to _ulonglong.
+
+2021-09-09 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-lim-17.c: New testcase.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-helper.h: New header file for
+ FP16 runtime test.
+ * gcc.target/i386/avx512fp16-vaddph-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vaddph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vdivph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vdivph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vmulph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vmulph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vsubph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vsubph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vaddph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vaddph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vdivph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vdivph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vmulph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vmulph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vsubph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vsubph-1b.c: Ditto.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx-1.c: Add -mavx512vl and test for new intrinsics.
+ * gcc.target/i386/avx-2.c: Add -mavx512vl.
+ * gcc.target/i386/avx512fp16-11a.c: New test.
+ * gcc.target/i386/avx512fp16-11b.c: Ditto.
+ * gcc.target/i386/avx512vlfp16-11a.c: Ditto.
+ * gcc.target/i386/avx512vlfp16-11b.c: Ditto.
+ * gcc.target/i386/sse-13.c: Add test for new builtins.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+ * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ PR target/101059
+ * gcc.target/i386/sse2-pr101059.c: New test.
+ * gcc.target/i386/sse3-pr101059.c: New test.
+
+2021-09-09 liuhongt <hongtao.liu@intel.com>
+
+ PR target/91103
+ * gcc.target/i386/pr91103-1.c: New test.
+ * gcc.target/i386/pr91103-2.c: New test.
+
2021-09-08 David Malcolm <dmalcolm@redhat.com>
PR analyzer/102225