+2021-09-17 Martin Sebor <msebor@redhat.com>
+
+ * Makefile.in (OBJS): Add gimple-predicate-analysis.o.
+ * tree-ssa-uninit.c (max_phi_args): Move to gimple-predicate-analysis.
+ (MASK_SET_BIT, MASK_TEST_BIT, MASK_EMPTY): Same.
+ (check_defs): Add comment.
+ (can_skip_redundant_opnd): Update comment.
+ (compute_uninit_opnds_pos): Adjust to namespace change.
+ (find_pdom): Move to gimple-predicate-analysis.cc.
+ (find_dom): Same.
+ (struct uninit_undef_val_t): New.
+ (is_non_loop_exit_postdominating): Move to gimple-predicate-analysis.cc.
+ (find_control_equiv_block): Same.
+ (MAX_NUM_CHAINS, MAX_CHAIN_LEN, MAX_POSTDOM_CHECK): Same.
+ (MAX_SWITCH_CASES): Same.
+ (compute_control_dep_chain): Same.
+ (find_uninit_use): Use predicate analyzer.
+ (struct pred_info): Move to gimple-predicate-analysis.
+ (convert_control_dep_chain_into_preds): Same.
+ (find_predicates): Same.
+ (collect_phi_def_edges): Same.
+ (warn_uninitialized_phi): Use predicate analyzer.
+ (find_def_preds): Move to gimple-predicate-analysis.
+ (dump_pred_info): Same.
+ (dump_pred_chain): Same.
+ (dump_predicates): Same.
+ (destroy_predicate_vecs): Remove.
+ (execute_late_warn_uninitialized): New.
+ (get_cmp_code): Move to gimple-predicate-analysis.
+ (is_value_included_in): Same.
+ (value_sat_pred_p): Same.
+ (find_matching_predicate_in_rest_chains): Same.
+ (is_use_properly_guarded): Same.
+ (prune_uninit_phi_opnds): Same.
+ (find_var_cmp_const): Same.
+ (use_pred_not_overlap_with_undef_path_pred): Same.
+ (pred_equal_p): Same.
+ (is_neq_relop_p): Same.
+ (is_neq_zero_form_p): Same.
+ (pred_expr_equal_p): Same.
+ (is_pred_expr_subset_of): Same.
+ (is_pred_chain_subset_of): Same.
+ (is_included_in): Same.
+ (is_superset_of): Same.
+ (pred_neg_p): Same.
+ (simplify_pred): Same.
+ (simplify_preds_2): Same.
+ (simplify_preds_3): Same.
+ (simplify_preds_4): Same.
+ (simplify_preds): Same.
+ (push_pred): Same.
+ (push_to_worklist): Same.
+ (get_pred_info_from_cmp): Same.
+ (is_degenerated_phi): Same.
+ (normalize_one_pred_1): Same.
+ (normalize_one_pred): Same.
+ (normalize_one_pred_chain): Same.
+ (normalize_preds): Same.
+ (can_one_predicate_be_invalidated_p): Same.
+ (can_chain_union_be_invalidated_p): Same.
+ (uninit_uses_cannot_happen): Same.
+ (pass_late_warn_uninitialized::execute): Define.
+ * gimple-predicate-analysis.cc: New file.
+ * gimple-predicate-analysis.h: New file.
+
+2021-09-17 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn.c (gimple.h): Include.
+ (gcn_fork_join): Emit barrier for worker-level joins.
+ * omp-oacc-neuter-broadcast.cc (find_local_vars_to_propagate): Add
+ writes_gang_private bitmap parameter. Set bit for blocks
+ containing gang-private variable writes.
+ (worker_single_simple): Don't emit barrier after predicated block.
+ (worker_single_copy): Don't emit barrier if we're not broadcasting
+ anything and the block contains no gang-private writes.
+ (neuter_worker_single): Don't predicate blocks that only contain
+ NOPs or internal marker functions. Pass has_gang_private_write
+ argument to worker_single_copy.
+ (oacc_do_neutering): Add writes_gang_private bitmap handling.
+
+2021-09-17 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn-protos.h
+ (gcn_goacc_create_worker_broadcast_record): Update prototype.
+ * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Use
+ preallocated block of LDS memory. Do not cache/share decls for
+ reduction temporaries between invocations.
+ (gcn_goacc_reduction_teardown): Unshare VAR on second use.
+ (gcn_goacc_create_worker_broadcast_record): Add OFFSET parameter
+ and return temporary LDS space at that offset. Return pointer in
+ "sender" case.
+ * config/gcn/gcn.c (acc_lds_size, gang_private_hwm, lds_allocs):
+ New global vars.
+ (ACC_LDS_SIZE): Define as acc_lds_size.
+ (gcn_init_machine_status): Don't initialise lds_allocated,
+ lds_allocs, reduc_decls fields of machine function struct.
+ (gcn_option_override): Handle default size for gang-private
+ variables and -mgang-private-size option.
+ (gcn_expand_prologue): Use LDS_SIZE instead of LDS_SIZE-1 when
+ initialising M0_REG.
+ (gcn_shared_mem_layout): New function.
+ (gcn_print_lds_decl): Update comment. Use global lds_allocs map and
+ gang_private_hwm variable.
+ (TARGET_GOACC_SHARED_MEM_LAYOUT): Define target hook.
+ * config/gcn/gcn.h (machine_function): Remove lds_allocated,
+ lds_allocs, reduc_decls. Add reduction_base, reduction_limit.
+ * config/gcn/gcn.opt (gang_private_size_opt): New global.
+ (mgang-private-size=): New option.
+ * doc/tm.texi.in (TARGET_GOACC_SHARED_MEM_LAYOUT): Place
+ documentation hook.
+ * doc/tm.texi: Regenerate.
+ * omp-oacc-neuter-broadcast.cc (targhooks.h, diagnostic-core.h):
+ Add includes.
+ (build_sender_ref): Handle sender_decl being pointer.
+ (worker_single_copy): Add PLACEMENT and ISOLATE_BROADCASTS
+ parameters. Pass placement argument to
+ create_worker_broadcast_record hook invocations. Handle
+ sender_decl being pointer and isolate_broadcasts inserting extra
+ barriers.
+ (blk_offset_map_t): Add typedef.
+ (neuter_worker_single): Add BLK_OFFSET_MAP parameter. Pass
+ preallocated range to worker_single_copy call.
+ (dfs_broadcast_reachable_1): New function.
+ (idx_decl_pair_t, used_range_vec_t): New typedefs.
+ (sort_size_descending): New function.
+ (addr_range): New class.
+ (splay_tree_compare_addr_range, splay_tree_free_key)
+ (first_fit_range, merge_ranges_1, merge_ranges): New functions.
+ (execute_omp_oacc_neuter_broadcast): Rename to...
+ (oacc_do_neutering): ... this. Add BOUNDS_LO, BOUNDS_HI
+ parameters. Arrange layout of shared memory for broadcast
+ operations.
+ (execute_omp_oacc_neuter_broadcast): New function.
+ (pass_omp_oacc_neuter_broadcast::gate): Remove num_workers==1
+ handling from here. Enable pass for all OpenACC routines in order
+ to call shared memory-layout hook.
+ * target.def (create_worker_broadcast_record): Add OFFSET
+ parameter.
+ (shared_mem_layout): New hook.
+
+2021-09-17 Julian Brown <julian@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+
+ * omp-oacc-neuter-broadcast.cc
+ (pass_omp_oacc_neuter_broadcast::gate): Disable if num_workers is
+ 1.
+ (execute_omp_oacc_neuter_broadcast): Adjust.
+
+2021-09-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * value-relation.cc (class equiv_chain): Move to header file.
+ (path_oracle::path_oracle): New.
+ (path_oracle::~path_oracle): New.
+ (path_oracle::register_relation): New.
+ (path_oracle::query_relation): New.
+ (path_oracle::reset_path): New.
+ (path_oracle::dump): New.
+ * value-relation.h (class equiv_chain): Move to here.
+ (class path_oracle): New.
+
+2021-09-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Create a DOM
+ based oracle.
+ * gimple-range-fold.cc (fur_depend::register_relation): Use
+ register_stmt/edge routines.
+ * value-relation.cc (equiv_chain::find): Relocate from equiv_oracle.
+ (equiv_oracle::equiv_oracle): Create self equivalence cache.
+ (equiv_oracle::~equiv_oracle): Release same.
+ (equiv_oracle::equiv_set): Return entry from self equiv cache if there
+ are no equivalences.
+ (equiv_oracle::find_equiv_block): Move list find to equiv_chain.
+ (equiv_oracle::register_relation): Rename from register_equiv.
+ (relation_chain_head::find_relation): Relocate from dom_oracle.
+ (relation_oracle::register_stmt): New.
+ (relation_oracle::register_edge): New.
+ (dom_oracle::*): Rename from relation_oracle.
+ (dom_oracle::register_relation): Adjust to call equiv_oracle.
+ (dom_oracle::set_one_relation): Split from register_relation.
+ (dom_oracle::register_transitives): Consolidate 2 methods.
+ (dom_oracle::find_relation_block): Move core to relation_chain.
+ (dom_oracle::query_relation): Rename from find_relation_dom and adjust.
+ * value-relation.h (class relation_oracle): New pure virtual base.
+ (class equiv_oracle): Inherit from relation_oracle and adjust.
+ (class dom_oracle): Rename from old relation_oracle and adjust.
+
+2021-09-17 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/102200
+ * pointer-query.cc (access_ref::inform_access): Handle MIN/MAX_EXPR.
+ (handle_min_max_size): Change argument. Store original SSA_NAME for
+ operands to potentially distinct (sub)objects.
+ (compute_objsize_r): Adjust call to the above.
+
+2021-09-17 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000-builtins.h): New include.
+ (rs6000_new_builtin_vectorized_function): New function.
+ (rs6000_new_builtin_md_vectorized_function): Likewise.
+ (rs6000_builtin_vectorized_function): Call
+ rs6000_new_builtin_vectorized_function.
+ (rs6000_builtin_md_vectorized_function): Call
+ rs6000_new_builtin_md_vectorized_function.
+
+2021-09-17 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin-new.def (ASSEMBLE_ACC): Add mmaint flag.
+ (ASSEMBLE_PAIR): Likewise.
+ (BUILD_ACC): Likewise.
+ (DISASSEMBLE_ACC): Likewise.
+ (DISASSEMBLE_PAIR): Likewise.
+ (PMXVBF16GER2): Likewise.
+ (PMXVBF16GER2NN): Likewise.
+ (PMXVBF16GER2NP): Likewise.
+ (PMXVBF16GER2PN): Likewise.
+ (PMXVBF16GER2PP): Likewise.
+ (PMXVF16GER2): Likewise.
+ (PMXVF16GER2NN): Likewise.
+ (PMXVF16GER2NP): Likewise.
+ (PMXVF16GER2PN): Likewise.
+ (PMXVF16GER2PP): Likewise.
+ (PMXVF32GER): Likewise.
+ (PMXVF32GERNN): Likewise.
+ (PMXVF32GERNP): Likewise.
+ (PMXVF32GERPN): Likewise.
+ (PMXVF32GERPP): Likewise.
+ (PMXVF64GER): Likewise.
+ (PMXVF64GERNN): Likewise.
+ (PMXVF64GERNP): Likewise.
+ (PMXVF64GERPN): Likewise.
+ (PMXVF64GERPP): Likewise.
+ (PMXVI16GER2): Likewise.
+ (PMXVI16GER2PP): Likewise.
+ (PMXVI16GER2S): Likewise.
+ (PMXVI16GER2SPP): Likewise.
+ (PMXVI4GER8): Likewise.
+ (PMXVI4GER8PP): Likewise.
+ (PMXVI8GER4): Likewise.
+ (PMXVI8GER4PP): Likewise.
+ (PMXVI8GER4SPP): Likewise.
+ (XVBF16GER2): Likewise.
+ (XVBF16GER2NN): Likewise.
+ (XVBF16GER2NP): Likewise.
+ (XVBF16GER2PN): Likewise.
+ (XVBF16GER2PP): Likewise.
+ (XVF16GER2): Likewise.
+ (XVF16GER2NN): Likewise.
+ (XVF16GER2NP): Likewise.
+ (XVF16GER2PN): Likewise.
+ (XVF16GER2PP): Likewise.
+ (XVF32GER): Likewise.
+ (XVF32GERNN): Likewise.
+ (XVF32GERNP): Likewise.
+ (XVF32GERPN): Likewise.
+ (XVF32GERPP): Likewise.
+ (XVF64GER): Likewise.
+ (XVF64GERNN): Likewise.
+ (XVF64GERNP): Likewise.
+ (XVF64GERPN): Likewise.
+ (XVF64GERPP): Likewise.
+ (XVI16GER2): Likewise.
+ (XVI16GER2PP): Likewise.
+ (XVI16GER2S): Likewise.
+ (XVI16GER2SPP): Likewise.
+ (XVI4GER8): Likewise.
+ (XVI4GER8PP): Likewise.
+ (XVI8GER4): Likewise.
+ (XVI8GER4PP): Likewise.
+ (XVI8GER4SPP): Likewise.
+ (XXMFACC): Likewise.
+ (XXMTACC): Likewise.
+ (XXSETACCZ): Likewise.
+ (ASSEMBLE_PAIR_V): Likewise.
+ (BUILD_PAIR): Likewise.
+ (DISASSEMBLE_PAIR_V): Likewise.
+ (LXVP): New.
+ (STXVP): New.
+ * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_mma_builtin):
+ Handle RS6000_BIF_LXVP and RS6000_BIF_STXVP.
+ * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add ismmaint.
+ (parse_bif_attrs): Handle ismmaint.
+ (write_decls): Add bif_mmaint_bit and bif_is_mmaint.
+ (write_bif_static_init): Handle ismmaint.
+
+2021-09-17 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): New
+ forward decl.
+ (rs6000_gimple_fold_builtin): Call rs6000_gimple_fold_new_builtin.
+ (rs6000_new_builtin_valid_without_lhs): New function.
+ (rs6000_gimple_fold_new_mma_builtin): Likewise.
+ (rs6000_gimple_fold_new_builtin): Likewise.
+
+2021-09-17 Thomas Schwinge <thomas@codesourcery.com>
+
+ * hash-table.h (hash_table<Descriptor, Lazy, Allocator>::expand):
+ Destruct stale Value objects.
+ * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor_expand):
+ Update.
+
+2021-09-17 Roger Sayle <roger@nextmovesoftware.com>
+
+ PR c/102245
+ * match.pd (shift optimizations): Disable recent sign-changing
+ optimization for shifts by zero, these will be folded later.
+
+2021-09-17 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin-new.def (__builtin_mffsl): Move from
+ [power9] to [always].
+
+2021-09-17 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Do not frob
+ stmt_info for SLP.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ * config/i386/i386-features.c (remove_partial_avx_dependency):
+ Also check TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY and
+ and TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY before generating
+ vxorps.
+ * config/i386/i386.h (TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY):
+ New.
+ (TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise.
+ * config/i386/i386.md (SSE FP to FP splitters): Replace
+ TARGET_SSE_PARTIAL_REG_DEPENDENCY with
+ TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY.
+ (SSE INT to FP splitter): Replace TARGET_SSE_PARTIAL_REG_DEPENDENCY
+ with TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY.
+ * config/i386/x86-tune.def
+ (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): New.
+ (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/101900
+ * config/i386/i386-features.c (remove_partial_avx_dependency):
+ Check TARGET_USE_VECTOR_FP_CONVERTS and TARGET_USE_VECTOR_CONVERTS
+ before generating vxorps.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ * config/i386/i386-options.c (processor_cost_table): Use
+ tremont_cost for Tremont.
+ * config/i386/x86-tune-costs.h (tremont_memcpy): New.
+ (tremont_memset): Likewise.
+ (tremont_cost): Likewise.
+ * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
+ Enable for Tremont.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ * common/config/i386/i386-common.c: Use Haswell scheduling model
+ for Tremont.
+ * config/i386/i386.c (ix86_sched_init_global): Prepare for Tremont
+ scheduling pass.
+ * config/i386/x86-tune-sched.c (ix86_issue_rate): Change Tremont
+ issue rate to 4.
+ (ix86_adjust_cost): Handle Tremont.
+ * config/i386/x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY):
+ Enable for Tremont.
+ (X86_TUNE_USE_LEAVE): Likewise.
+ (X86_TUNE_PUSH_MEMORY): Likewise.
+ (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Likewise.
+ (X86_TUNE_USE_CLTD): Likewise.
+ (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Likewise.
+ (X86_TUNE_AVOID_MFENCE): Likewise.
+ (X86_TUNE_SSE_TYPELESS_STORES): Likewise.
+ (X86_TUNE_SSE_LOAD0_BY_PXOR): Likewise.
+ (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Disable for Tremont.
+ (X86_TUNE_FOUR_JUMP_LIMIT): Likewise.
+ (X86_TUNE_OPT_AGU): Likewise.
+ (X86_TUNE_AVOID_LEA_FOR_ADDR): Likewise.
+ (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Likewise.
+ (X86_TUNE_EXPAND_ABS): Likewise.
+ (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Likewise.
+ (X86_TUNE_SLOW_PSHUFB): Likewise.
+
+2021-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/102306
+ * combine.c (try_combine): Abort the combination if we are about to
+ duplicate volatile references.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm_undefined_ph):
+ New intrinsic.
+ (_mm256_undefined_ph): Likewise.
+ (_mm512_undefined_ph): Likewise.
+ (_mm_cvtsh_h): Likewise.
+ (_mm256_cvtsh_h): Likewise.
+ (_mm512_cvtsh_h): Likewise.
+ (_mm512_castph_ps): Likewise.
+ (_mm512_castph_pd): Likewise.
+ (_mm512_castph_si512): Likewise.
+ (_mm512_castph512_ph128): Likewise.
+ (_mm512_castph512_ph256): Likewise.
+ (_mm512_castph128_ph512): Likewise.
+ (_mm512_castph256_ph512): Likewise.
+ (_mm512_zextph128_ph512): Likewise.
+ (_mm512_zextph256_ph512): Likewise.
+ (_mm512_castps_ph): Likewise.
+ (_mm512_castpd_ph): Likewise.
+ (_mm512_castsi512_ph): Likewise.
+ * config/i386/avx512fp16vlintrin.h (_mm_castph_ps):
+ New intrinsic.
+ (_mm256_castph_ps): Likewise.
+ (_mm_castph_pd): Likewise.
+ (_mm256_castph_pd): Likewise.
+ (_mm_castph_si128): Likewise.
+ (_mm256_castph_si256): Likewise.
+ (_mm_castps_ph): Likewise.
+ (_mm256_castps_ph): Likewise.
+ (_mm_castpd_ph): Likewise.
+ (_mm256_castpd_ph): Likewise.
+ (_mm_castsi128_ph): Likewise.
+ (_mm256_castsi256_ph): Likewise.
+ (_mm256_castph256_ph128): Likewise.
+ (_mm256_castph128_ph256): Likewise.
+ (_mm256_zextph128_ph256): Likewise.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm_cvtsh_ss):
+ New intrinsic.
+ (_mm_mask_cvtsh_ss): Likewise.
+ (_mm_maskz_cvtsh_ss): Likewise.
+ (_mm_cvtsh_sd): Likewise.
+ (_mm_mask_cvtsh_sd): Likewise.
+ (_mm_maskz_cvtsh_sd): Likewise.
+ (_mm_cvt_roundsh_ss): Likewise.
+ (_mm_mask_cvt_roundsh_ss): Likewise.
+ (_mm_maskz_cvt_roundsh_ss): Likewise.
+ (_mm_cvt_roundsh_sd): Likewise.
+ (_mm_mask_cvt_roundsh_sd): Likewise.
+ (_mm_maskz_cvt_roundsh_sd): Likewise.
+ (_mm_cvtss_sh): Likewise.
+ (_mm_mask_cvtss_sh): Likewise.
+ (_mm_maskz_cvtss_sh): Likewise.
+ (_mm_cvtsd_sh): Likewise.
+ (_mm_mask_cvtsd_sh): Likewise.
+ (_mm_maskz_cvtsd_sh): Likewise.
+ (_mm_cvt_roundss_sh): Likewise.
+ (_mm_mask_cvt_roundss_sh): Likewise.
+ (_mm_maskz_cvt_roundss_sh): Likewise.
+ (_mm_cvt_roundsd_sh): Likewise.
+ (_mm_mask_cvt_roundsd_sh): Likewise.
+ (_mm_maskz_cvt_roundsd_sh): Likewise.
+ * config/i386/i386-builtin-types.def
+ (V8HF_FTYPE_V2DF_V8HF_V8HF_UQI_INT,
+ V8HF_FTYPE_V4SF_V8HF_V8HF_UQI_INT,
+ V2DF_FTYPE_V8HF_V2DF_V2DF_UQI_INT,
+ V4SF_FTYPE_V8HF_V4SF_V4SF_UQI_INT): Add new builtin types.
+ * config/i386/i386-builtin.def: Add corrresponding new builtins.
+ * config/i386/i386-expand.c: Handle new builtin types.
+ * config/i386/sse.md (VF48_128): New mode iterator.
+ (avx512fp16_vcvtsh2<ssescalarmodesuffix><mask_scalar_name><round_saeonly_scalar_name>):
+ New.
+ (avx512fp16_vcvt<ssescalarmodesuffix>2sh<mask_scalar_name><round_scalar_name>):
+ Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm512_cvtph_pd):
+ New intrinsic.
+ (_mm512_mask_cvtph_pd): Likewise.
+ (_mm512_maskz_cvtph_pd): Likewise.
+ (_mm512_cvt_roundph_pd): Likewise.
+ (_mm512_mask_cvt_roundph_pd): Likewise.
+ (_mm512_maskz_cvt_roundph_pd): Likewise.
+ (_mm512_cvtxph_ps): Likewise.
+ (_mm512_mask_cvtxph_ps): Likewise.
+ (_mm512_maskz_cvtxph_ps): Likewise.
+ (_mm512_cvtx_roundph_ps): Likewise.
+ (_mm512_mask_cvtx_roundph_ps): Likewise.
+ (_mm512_maskz_cvtx_roundph_ps): Likewise.
+ (_mm512_cvtxps_ph): Likewise.
+ (_mm512_mask_cvtxps_ph): Likewise.
+ (_mm512_maskz_cvtxps_ph): Likewise.
+ (_mm512_cvtx_roundps_ph): Likewise.
+ (_mm512_mask_cvtx_roundps_ph): Likewise.
+ (_mm512_maskz_cvtx_roundps_ph): Likewise.
+ (_mm512_cvtpd_ph): Likewise.
+ (_mm512_mask_cvtpd_ph): Likewise.
+ (_mm512_maskz_cvtpd_ph): Likewise.
+ (_mm512_cvt_roundpd_ph): Likewise.
+ (_mm512_mask_cvt_roundpd_ph): Likewise.
+ (_mm512_maskz_cvt_roundpd_ph): Likewise.
+ * config/i386/avx512fp16vlintrin.h (_mm_cvtph_pd):
+ New intrinsic.
+ (_mm_mask_cvtph_pd): Likewise.
+ (_mm_maskz_cvtph_pd): Likewise.
+ (_mm256_cvtph_pd): Likewise.
+ (_mm256_mask_cvtph_pd): Likewise.
+ (_mm256_maskz_cvtph_pd): Likewise.
+ (_mm_cvtxph_ps): Likewise.
+ (_mm_mask_cvtxph_ps): Likewise.
+ (_mm_maskz_cvtxph_ps): Likewise.
+ (_mm256_cvtxph_ps): Likewise.
+ (_mm256_mask_cvtxph_ps): Likewise.
+ (_mm256_maskz_cvtxph_ps): Likewise.
+ (_mm_cvtxps_ph): Likewise.
+ (_mm_mask_cvtxps_ph): Likewise.
+ (_mm_maskz_cvtxps_ph): Likewise.
+ (_mm256_cvtxps_ph): Likewise.
+ (_mm256_mask_cvtxps_ph): Likewise.
+ (_mm256_maskz_cvtxps_ph): Likewise.
+ (_mm_cvtpd_ph): Likewise.
+ (_mm_mask_cvtpd_ph): Likewise.
+ (_mm_maskz_cvtpd_ph): Likewise.
+ (_mm256_cvtpd_ph): Likewise.
+ (_mm256_mask_cvtpd_ph): Likewise.
+ (_mm256_maskz_cvtpd_ph): Likewise.
+ * config/i386/i386-builtin.def: Add corresponding new builtins.
+ * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+ * config/i386/i386-expand.c: Handle new builtin types.
+ * config/i386/sse.md
+ (VF4_128_8_256): New.
+ (VF48H_AVX512VL): Ditto.
+ (ssePHmode): Add HF vector modes.
+ (castmode): Add new convertable modes.
+ (qq2phsuff): Ditto.
+ (ph2pssuffix): New.
+ (avx512fp16_vcvt<castmode>2ph_<mode><mask_name><round_name>): Ditto.
+ (avx512fp16_vcvt<castmode>2ph_<mode>): Ditto.
+ (*avx512fp16_vcvt<castmode>2ph_<mode>): Ditto.
+ (avx512fp16_vcvt<castmode>2ph_<mode>_mask): Ditto.
+ (*avx512fp16_vcvt<castmode>2ph_<mode>_mask): Ditto.
+ (*avx512fp16_vcvt<castmode>2ph_<mode>_mask_1): Ditto.
+ (avx512fp16_float_extend_ph<mode>2<mask_name><round_saeonly_name>):
+ Ditto.
+ (avx512fp16_float_extend_ph<mode>2<mask_name>): Ditto.
+ (*avx512fp16_float_extend_ph<mode>2_load<mask_name>): Ditto.
+ (avx512fp16_float_extend_phv2df2<mask_name>): Ditto.
+ (*avx512fp16_float_extend_phv2df2_load<mask_name>): Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm_cvttsh_i32):
+ New intrinsic.
+ (_mm_cvttsh_u32): Likewise.
+ (_mm_cvtt_roundsh_i32): Likewise.
+ (_mm_cvtt_roundsh_u32): Likewise.
+ (_mm_cvttsh_i64): Likewise.
+ (_mm_cvttsh_u64): Likewise.
+ (_mm_cvtt_roundsh_i64): Likewise.
+ (_mm_cvtt_roundsh_u64): Likewise.
+ * config/i386/i386-builtin.def: Add corresponding new builtins.
+ * config/i386/sse.md
+ (avx512fp16_fix<fixunssuffix>_trunc<mode>2<round_saeonly_name>):
+ New.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm512_cvttph_epi32):
+ New intrinsic.
+ (_mm512_mask_cvttph_epi32): Likewise.
+ (_mm512_maskz_cvttph_epi32): Likewise.
+ (_mm512_cvtt_roundph_epi32): Likewise.
+ (_mm512_mask_cvtt_roundph_epi32): Likewise.
+ (_mm512_maskz_cvtt_roundph_epi32): Likewise.
+ (_mm512_cvttph_epu32): Likewise.
+ (_mm512_mask_cvttph_epu32): Likewise.
+ (_mm512_maskz_cvttph_epu32): Likewise.
+ (_mm512_cvtt_roundph_epu32): Likewise.
+ (_mm512_mask_cvtt_roundph_epu32): Likewise.
+ (_mm512_maskz_cvtt_roundph_epu32): Likewise.
+ (_mm512_cvttph_epi64): Likewise.
+ (_mm512_mask_cvttph_epi64): Likewise.
+ (_mm512_maskz_cvttph_epi64): Likewise.
+ (_mm512_cvtt_roundph_epi64): Likewise.
+ (_mm512_mask_cvtt_roundph_epi64): Likewise.
+ (_mm512_maskz_cvtt_roundph_epi64): Likewise.
+ (_mm512_cvttph_epu64): Likewise.
+ (_mm512_mask_cvttph_epu64): Likewise.
+ (_mm512_maskz_cvttph_epu64): Likewise.
+ (_mm512_cvtt_roundph_epu64): Likewise.
+ (_mm512_mask_cvtt_roundph_epu64): Likewise.
+ (_mm512_maskz_cvtt_roundph_epu64): Likewise.
+ (_mm512_cvttph_epi16): Likewise.
+ (_mm512_mask_cvttph_epi16): Likewise.
+ (_mm512_maskz_cvttph_epi16): Likewise.
+ (_mm512_cvtt_roundph_epi16): Likewise.
+ (_mm512_mask_cvtt_roundph_epi16): Likewise.
+ (_mm512_maskz_cvtt_roundph_epi16): Likewise.
+ (_mm512_cvttph_epu16): Likewise.
+ (_mm512_mask_cvttph_epu16): Likewise.
+ (_mm512_maskz_cvttph_epu16): Likewise.
+ (_mm512_cvtt_roundph_epu16): Likewise.
+ (_mm512_mask_cvtt_roundph_epu16): Likewise.
+ (_mm512_maskz_cvtt_roundph_epu16): Likewise.
+ * config/i386/avx512fp16vlintrin.h (_mm_cvttph_epi32):
+ New intirnsic.
+ (_mm_mask_cvttph_epi32): Likewise.
+ (_mm_maskz_cvttph_epi32): Likewise.
+ (_mm256_cvttph_epi32): Likewise.
+ (_mm256_mask_cvttph_epi32): Likewise.
+ (_mm256_maskz_cvttph_epi32): Likewise.
+ (_mm_cvttph_epu32): Likewise.
+ (_mm_mask_cvttph_epu32): Likewise.
+ (_mm_maskz_cvttph_epu32): Likewise.
+ (_mm256_cvttph_epu32): Likewise.
+ (_mm256_mask_cvttph_epu32): Likewise.
+ (_mm256_maskz_cvttph_epu32): Likewise.
+ (_mm_cvttph_epi64): Likewise.
+ (_mm_mask_cvttph_epi64): Likewise.
+ (_mm_maskz_cvttph_epi64): Likewise.
+ (_mm256_cvttph_epi64): Likewise.
+ (_mm256_mask_cvttph_epi64): Likewise.
+ (_mm256_maskz_cvttph_epi64): Likewise.
+ (_mm_cvttph_epu64): Likewise.
+ (_mm_mask_cvttph_epu64): Likewise.
+ (_mm_maskz_cvttph_epu64): Likewise.
+ (_mm256_cvttph_epu64): Likewise.
+ (_mm256_mask_cvttph_epu64): Likewise.
+ (_mm256_maskz_cvttph_epu64): Likewise.
+ (_mm_cvttph_epi16): Likewise.
+ (_mm_mask_cvttph_epi16): Likewise.
+ (_mm_maskz_cvttph_epi16): Likewise.
+ (_mm256_cvttph_epi16): Likewise.
+ (_mm256_mask_cvttph_epi16): Likewise.
+ (_mm256_maskz_cvttph_epi16): Likewise.
+ (_mm_cvttph_epu16): Likewise.
+ (_mm_mask_cvttph_epu16): Likewise.
+ (_mm_maskz_cvttph_epu16): Likewise.
+ (_mm256_cvttph_epu16): Likewise.
+ (_mm256_mask_cvttph_epu16): Likewise.
+ (_mm256_maskz_cvttph_epu16): Likewise.
+ * config/i386/i386-builtin.def: Add new builtins.
+ * config/i386/sse.md
+ (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name><round_saeonly_name>):
+ New.
+ (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name>): Ditto.
+ (*avx512fp16_fix<fixunssuffix>_trunc<mode>2_load<mask_name>): Ditto.
+ (avx512fp16_fix<fixunssuffix>_truncv2di2<mask_name>): Ditto.
+ (avx512fp16_fix<fixunssuffix>_truncv2di2_load<mask_name>): Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/avx512fp16intrin.h (_mm_cvtsh_i32): New intrinsic.
+ (_mm_cvtsh_u32): Likewise.
+ (_mm_cvt_roundsh_i32): Likewise.
+ (_mm_cvt_roundsh_u32): Likewise.
+ (_mm_cvtsh_i64): Likewise.
+ (_mm_cvtsh_u64): Likewise.
+ (_mm_cvt_roundsh_i64): Likewise.
+ (_mm_cvt_roundsh_u64): Likewise.
+ (_mm_cvti32_sh): Likewise.
+ (_mm_cvtu32_sh): Likewise.
+ (_mm_cvt_roundi32_sh): Likewise.
+ (_mm_cvt_roundu32_sh): Likewise.
+ (_mm_cvti64_sh): Likewise.
+ (_mm_cvtu64_sh): Likewise.
+ (_mm_cvt_roundi64_sh): Likewise.
+ (_mm_cvt_roundu64_sh): Likewise.
+ * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+ * config/i386/i386-builtin.def: Add corresponding new builtins.
+ * config/i386/i386-expand.c (ix86_expand_round_builtin):
+ Handle new builtin types.
+ * config/i386/sse.md
+ (avx512fp16_vcvtsh2<sseintconvertsignprefix>si<rex64namesuffix><round_name>):
+ New define_insn.
+ (avx512fp16_vcvtsh2<sseintconvertsignprefix>si<rex64namesuffix>_2): Likewise.
+ (avx512fp16_vcvt<floatsuffix>si2sh<rex64namesuffix><round_name>): Likewise.
+
2021-09-16 Bill Schmidt <wschmidt@linux.ibm.com>
* config/rs6000/rs6000-c.c (rs6000-builtins.h): New include.
+2021-09-17 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/102366
+ * gfortran.dg/pr102366.f90: New test.
+
+2021-09-17 qing zhao <qing.zhao@oracle.com>
+
+ * gcc.target/i386/auto-init-1.c: Restrict the testing only for
+ -march=x86-64 and -mtune=generic. Add -fno-stack-protector.
+ * gcc.target/i386/auto-init-2.c: Restrict the testing only for
+ -march=x86-64 and -mtune=generic -msse.
+ * gcc.target/i386/auto-init-3.c: Likewise.
+ * gcc.target/i386/auto-init-4.c: Likewise.
+ * gcc.target/i386/auto-init-5.c: Different pattern match for lp64 and
+ ia32.
+ * gcc.target/i386/auto-init-6.c: Restrict the testing only for
+ -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector.
+ * gcc.target/i386/auto-init-7.c: Likewise.
+ * gcc.target/i386/auto-init-8.c: Restrict the testing only for
+ -march=x86-64 and -mtune=generic -msse..
+ * gcc.target/i386/auto-init-padding-1.c: Likewise.
+ * gcc.target/i386/auto-init-padding-10.c: Likewise.
+ * gcc.target/i386/auto-init-padding-11.c: Likewise.
+ * gcc.target/i386/auto-init-padding-12.c: Likewise.
+ * gcc.target/i386/auto-init-padding-2.c: Likewise.
+ * gcc.target/i386/auto-init-padding-3.c: Restrict the testing only for
+ -march=x86-64. Different pattern match for lp64 and ia32.
+ * gcc.target/i386/auto-init-padding-4.c: Restrict the testing only for
+ -march=x86-64 and -mtune-generic -msse.
+ * gcc.target/i386/auto-init-padding-5.c: Likewise.
+ * gcc.target/i386/auto-init-padding-6.c: Likewise.
+ * gcc.target/i386/auto-init-padding-7.c: Restrict the testing only for
+ -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector.
+ * gcc.target/i386/auto-init-padding-8.c: Likewise.
+ * gcc.target/i386/auto-init-padding-9.c: Restrict the testing only for
+ -march=x86-64. Different pattern match for lp64 and ia32.
+
+2021-09-17 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/102200
+ * gcc.dg/Wstringop-overflow-62.c: Adjust text of an expected note.
+ * gcc.dg/Warray-bounds-89.c: New test.
+ * gcc.dg/Wstringop-overflow-74.c: New test.
+ * gcc.dg/Wstringop-overflow-75.c: New test.
+ * gcc.dg/Wstringop-overflow-76.c: New test.
+
+2021-09-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gfortran.dg/PR100914.c: Do not include quadmath.h. Use
+ _Float128 _Complex instead of __complex128.
+ * gfortran.dg/PR100914.f90: Add -Wno-pedantic to suppress error
+ about use of _Float128.
+ * gfortran.dg/c-interop/typecodes-array-float128-c.c: Use
+ _Float128 instead of __float128.
+ * gfortran.dg/c-interop/typecodes-sanity-c.c: Likewise.
+ * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: Likewise.
+ * lib/target-supports.exp
+ (check_effective_target_fortran_real_c_float128): Update comments.
+
+2021-09-17 Roger Sayle <roger@nextmovesoftware.com>
+
+ PR c/102245
+ * gcc.dg/Wint-in-bool-context-4.c: New test case.
+
+2021-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/gomp/atomic-18.c: Expect same diagnostics in C++ as in
+ C.
+ * c-c++-common/gomp/atomic-25.c: Drop c effective target.
+ * c-c++-common/gomp/atomic-26.c: Likewise.
+ * c-c++-common/gomp/atomic-27.c: Likewise.
+ * c-c++-common/gomp/atomic-28.c: Likewise.
+ * c-c++-common/gomp/atomic-29.c: Likewise.
+ * c-c++-common/gomp/atomic-30.c: Likewise. Adjust expected diagnostics
+ for C++ when it differs from C.
+ (foo): Change return type from double to void.
+ * g++.dg/gomp/atomic-5.C: Adjust expected diagnostics wording.
+ * g++.dg/gomp/atomic-20.C: New test.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/i386/avx-covert-1.c: New file.
+ * gcc.target/i386/avx-fp-covert-1.c: Likewise.
+ * gcc.target/i386/avx-int-covert-1.c: Likewise.
+ * gcc.target/i386/sse-covert-1.c: Likewise.
+ * gcc.target/i386/sse-fp-covert-1.c: Likewise.
+ * gcc.target/i386/sse-int-covert-1.c: Likewise.
+
+2021-09-17 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/101900
+ * gcc.target/i386/pr101900-1.c: New test.
+ * gcc.target/i386/pr101900-2.c: Likewise.
+ * gcc.target/i386/pr101900-3.c: Likewise.
+
+2021-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/20210917-1.c: New test.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-typecast-1.c: New test.
+ * gcc.target/i386/avx512fp16-typecast-2.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-typecast-1.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-typecast-2.c: Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-vcvtsd2sh-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vcvtsd2sh-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2sd-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2sd-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2ss-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2ss-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtss2sh-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtss2sh-1b.c: Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx-1.c: Add test for new builtins.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * 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-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-helper.h (V512): Add DF contents.
+ (src3f): New.
+ * gcc.target/i386/avx512fp16-vcvtpd2ph-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vcvtpd2ph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtph2pd-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtph2pd-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtph2psx-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtph2psx-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtps2ph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtps2ph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtph2pd-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtph2pd-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtph2psx-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtph2psx-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtps2ph-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvtps2ph-1b.c: Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx-1.c: Add test for new builtins.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * 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-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-vcvttsh2si-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vcvttsh2si-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2si64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2si64-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2usi-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2usi-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2usi64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttsh2usi64-1b.c: Ditto.
+ * gcc.target/i386/avx-1.c: Add test for new builtins.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * 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-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-vcvttph2dq-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vcvttph2dq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2qq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2qq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2udq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2udq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2uqq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2uqq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2uw-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2uw-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2w-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvttph2w-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2dq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2dq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2qq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2qq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2udq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2udq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2uw-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2uw-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2w-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16vl-vcvttph2w-1b.c: Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx-1.c: Add test for new builtins.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * 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-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-helper.h (V512): Add int32
+ component.
+ * gcc.target/i386/avx512fp16-vcvtsh2si-1a.c: New test.
+ * gcc.target/i386/avx512fp16-vcvtsh2si-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2si64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2si64-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2usi-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2usi-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2usi64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsh2usi64-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsi2sh-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsi2sh-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsi2sh64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtsi2sh64-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtusi2sh-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtusi2sh-1b.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtusi2sh64-1a.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcvtusi2sh64-1b.c: Ditto.
+
+2021-09-17 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx-1.c: Add test for new builtins.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * 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-16 Patrick Palka <ppalka@redhat.com>
PR c++/98486